<?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>207597</bug_id>
          
          <creation_ts>2020-02-11 16:13:14 -0800</creation_ts>
          <short_desc>ANGLE has unused bison and glmark2 code</short_desc>
          <delta_ts>2020-02-12 09:34:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1617739</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-02-11 16:13:14 -0800</bug_when>
    <thetext>ANGLE fails fatal gpl2_source_code and gpl3_source_code verifiers during build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617740</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-02-11 16:13:43 -0800</bug_when>
    <thetext>rdar://59361460</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617746</commentid>
    <comment_count>2</comment_count>
      <attachid>390457</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-02-11 16:16:04 -0800</bug_when>
    <thetext>Created attachment 390457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617747</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-02-11 16:17:25 -0800</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617753</commentid>
    <comment_count>4</comment_count>
      <attachid>390460</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-02-11 16:26:47 -0800</bug_when>
    <thetext>Created attachment 390460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617755</commentid>
    <comment_count>5</comment_count>
      <attachid>390460</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-02-11 16:27:48 -0800</bug_when>
    <thetext>Comment on attachment 390460
Patch

glmark’s README.angle says GPLv3, bnut the individual files removed in this patch have a BSD license header. What&apos;s up with that? Is it just the README that&apos;s wrong?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618048</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-02-12 09:34:11 -0800</bug_when>
    <thetext>Committed r256443: &lt;https://trac.webkit.org/changeset/256443&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390457</attachid>
            <date>2020-02-11 16:16:04 -0800</date>
            <delta_ts>2020-02-11 16:26:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207597-20200211161558.patch</filename>
            <type>text/plain</type>
            <size>744576</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZjYzZmIzZTk5ZGQ5YWI5Njg5OGU0MzUzODhkYmIyOTYxNWUzYWIxMi4uM2I0Y2YzYWE4YzJj
ZWRlY2YwNmI0NGRlZWJkN2MwOWZjYWIwMTQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTAyLTExICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KKworICAgICAgICBBTkdMRSBmYWlscyBmYXRhbCBncGwyX3NvdXJjZV9jb2RlIGFuZCBn
cGwzX3NvdXJjZV9jb2RlIHZlcmlmaWVycyBkdXJpbmcgYnVpbGQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzU5NworICAgICAgICByZGFyOi8vNTkz
NjE0NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW1vdmUgc29tZSB1bnVzZWQgZmlsZXMgdGhhdCBhcmUgR1BMIGxpY2Vuc2VkLgorCisgICAgICAg
ICogY2hhbmdlcy5kaWZmOgorICAgICAgICAqIHNyYy90ZXN0cy9wZXJmX3Rlc3RzL2dsbWFyazJC
ZW5jaG1hcmsuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHRoaXJkX3BhcnR5L2dsbWFyazIvQlVJ
TEQuZ246IFJlbW92ZWQuCisgICAgICAgICogdGhpcmRfcGFydHkvZ2xtYXJrMi9SRUFETUUuYW5n
bGU6IFJlbW92ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1iaXNvbi9SRUFETUUubWQ6IFJlbW92
ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1iaXNvbi9saW51eC9iaXNvbi5zaGExOiBSZW1vdmVk
LgorICAgICAgICAqIHRvb2xzL2ZsZXgtYmlzb24vbGludXgvZmxleC5zaGExOiBSZW1vdmVkLgor
ICAgICAgICAqIHRvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvLmdpdGF0dHJpYnV0ZXM6IFJl
bW92ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL0xJ
Q0VOU0U6IFJlbW92ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9t
NHN1Z2FyL1JFQURNRS5jaHJvbWl1bTogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJp
c29uL3RoaXJkX3BhcnR5L200c3VnYXIvZm9yZWFjaC5tNDogUmVtb3ZlZC4KKyAgICAgICAgKiB0
b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3VnYXIvbTRzdWdhci5tNDogUmVtb3ZlZC4K
KyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9MSUNFTlNF
OiBSZW1vdmVkLgorICAgICAgICAqIHRvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0
b25zL1JFQURNRS5jaHJvbWl1bTogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29u
L3RoaXJkX3BhcnR5L3NrZWxldG9ucy9iaXNvbi5tNDogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29s
cy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9jLWxpa2UubTQ6IFJlbW92ZWQuCisg
ICAgICAgICogdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvYy5tNDogUmVt
b3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy95
YWNjLmM6IFJlbW92ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1iaXNvbi91cGRhdGVfZmxleF9i
aXNvbl9iaW5hcmllcy5weTogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL3dp
bmRvd3MvYmlzb24uZXhlLnNoYTE6IFJlbW92ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1iaXNv
bi93aW5kb3dzL2ZsZXguZXhlLnNoYTE6IFJlbW92ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1i
aXNvbi93aW5kb3dzL200LmV4ZS5zaGExOiBSZW1vdmVkLgorICAgICAgICAqIHRvb2xzL2ZsZXgt
Ymlzb24vd2luZG93cy9tc3lzLTIuMC5kbGwuc2hhMTogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29s
cy9mbGV4LWJpc29uL3dpbmRvd3MvbXN5cy1pY29udi0yLmRsbC5zaGExOiBSZW1vdmVkLgorICAg
ICAgICAqIHRvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9tc3lzLWludGwtOC5kbGwuc2hhMTogUmVt
b3ZlZC4KKwogMjAyMC0wMi0wOSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmUtZW5hYmxlIExUTyBmb3IgQVJNIGJ1aWxkcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvY2hhbmdlcy5kaWZmIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
Y2hhbmdlcy5kaWZmCmluZGV4IDc4NzMwYzg4MzZjN2ZiYzI2N2ZlZmFjMWJjMzZmM2U5YjA4YzY5
MWMuLjY4NzViZTgwNDRkZjE5NTljOWYyOTBkZmJlODMyZDBmY2E1OWMyNTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2NoYW5nZXMuZGlmZgorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9jaGFuZ2VzLmRpZmYKQEAgLTEzOCwzICsxMzgsOTc3MyBAQCBpbmRleCBjYjQ4
MmQwNWIuLjZjZWY3ZDNkZCAxMDA2NDQKICAgICAgICAgIG1Td2FwTGF5ZXIgPSBuaWw7CiAgICAg
IH0KICAKK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVy
Zl90ZXN0cy9nbG1hcmsyQmVuY2htYXJrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy90ZXN0cy9wZXJmX3Rlc3RzL2dsbWFyazJCZW5jaG1hcmsuY3BwCitkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKK2luZGV4IDE3NGZjYzY3MzVhLi4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVzdHMvZ2xtYXJrMkJlbmNobWFyay5jcHAK
KysrKyAvZGV2L251bGwKK0BAIC0xLDI4NSArMCwwIEBACistLy8KKy0vLyBDb3B5cmlnaHQgMjAx
OSBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLS8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKKy0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLS8vCistLy8gZ2xt
YXJrMkJlbmNobWFyazoKKy0vLyAgIFJ1bnMgdGhlIGdsbWFyazIgYmVuY2htYXJrLgorLS8vCist
CistI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CistCistI2luY2x1ZGUgPHN0ZGlvLmg+CistI2lu
Y2x1ZGUgPHNzdHJlYW0+CistCistI2luY2x1ZGUgIi4uL3BlcmZfdGVzdHMvdGhpcmRfcGFydHkv
cGVyZi9wZXJmX3Jlc3VsdF9yZXBvcnRlci5oIgorLSNpbmNsdWRlICJBTkdMRVBlcmZUZXN0QXJn
cy5oIgorLSNpbmNsdWRlICJjb21tb24vcGxhdGZvcm0uaCIKKy0jaW5jbHVkZSAiY29tbW9uL3N5
c3RlbV91dGlscy5oIgorLSNpbmNsdWRlICJ0ZXN0X3V0aWxzL2FuZ2xlX3Rlc3RfY29uZmlncy5o
IgorLSNpbmNsdWRlICJ0ZXN0X3V0aWxzL2FuZ2xlX3Rlc3RfaW5zdGFudGlhdGUuaCIKKy0jaW5j
bHVkZSAidXRpbC90ZXN0X3V0aWxzLmgiCistCistdXNpbmcgbmFtZXNwYWNlIGFuZ2xlOworLQor
LW5hbWVzcGFjZQorLXsKKy0KKy1zdHJ1Y3QgQmVuY2htYXJrSW5mbworLXsKKy0gICAgY29uc3Qg
Y2hhciAqZ2xtYXJrMkNvbmZpZzsKKy0gICAgY29uc3QgY2hhciAqbmFtZTsKKy19OworLQorLS8v
IEVhY2ggZ2xtYXJrMiBzY2VuZSBpcyBpbmRpdmlkdWFsbHkgYmVuY2htYXJrZWQuICBJZiBnbG1h
cmsyIGlzIHJ1biB3aXRob3V0IGEgc3BlY2lmaWMgYmVuY2htYXJrLAorLS8vIGl0IGNhbiBwcm9k
dWNlIGFuIGFnZ3JlZ2F0ZSBzY29yZSwgd2hpY2ggaXMgbm90IGludGVyZXN0aW5nIGF0IHRoZSBt
b21lbnQuICBBZGRpbmcgYW4gZW1wdHkKKy0vLyBzdHJpbmcgKCIiKSB0byB0aGlzIGxpc3Qgd2ls
bCBlbmFibGUgYSB0ZXN0IHdoZXJlIGdsbWFyazIgaXMgcnVuIHdpdGggdGhlIGRlZmF1bHQgc2Nl
bmVzIGFuZCB0aGUKKy0vLyBzY29yZSBmb3IgZWFjaCB0ZXN0IGFzIHdlbGwgYXMgdGhlIG92ZXJh
bGwgc2NvcmUgaXMgb3V0cHV0LgorLWNvbnN0ZXhwciBCZW5jaG1hcmtJbmZvIGtCZW5jaG1hcmtz
W10gPSB7CistICAgIHsiYnVpbGQ6dXNlLXZibz1mYWxzZSIsICJidWlsZCJ9LAorLSAgICB7ImJ1
aWxkOnVzZS12Ym89dHJ1ZSIsICJidWlsZF92Ym8ifSwKKy0gICAgeyJ0ZXh0dXJlOnRleHR1cmUt
ZmlsdGVyPW5lYXJlc3QiLCAidGV4dHVyZV9uZWFyZXN0In0sCistICAgIHsidGV4dHVyZTp0ZXh0
dXJlLWZpbHRlcj1saW5lYXIiLCAidGV4dHVyZV9saW5lYXIifSwKKy0gICAgeyJ0ZXh0dXJlOnRl
eHR1cmUtZmlsdGVyPW1pcG1hcCIsICJ0ZXh0dXJlX21pcG1hcCJ9LAorLSAgICB7InNoYWRpbmc6
c2hhZGluZz1nb3VyYXVkIiwgInNoYWRpbmdfZ291cmF1ZCJ9LAorLSAgICB7InNoYWRpbmc6c2hh
ZGluZz1ibGlubi1waG9uZy1pbmYiLCAic2hhZGluZ19ibGlubl9waG9uZyJ9LAorLSAgICB7InNo
YWRpbmc6c2hhZGluZz1waG9uZyIsICJzaGFkaW5nX3Bob25nIn0sCistICAgIHsic2hhZGluZzpz
aGFkaW5nPWNlbCIsICJzaGFkaW5nX2NlbCJ9LAorLSAgICB7ImJ1bXA6YnVtcC1yZW5kZXI9aGln
aC1wb2x5IiwgImJ1bXBfaGlnaF9wb2x5In0sCistICAgIHsiYnVtcDpidW1wLXJlbmRlcj1ub3Jt
YWxzIiwgImJ1bXBfbm9ybWFscyJ9LAorLSAgICB7ImJ1bXA6YnVtcC1yZW5kZXI9aGVpZ2h0Iiwg
ImJ1bXBfaGVpZ2h0In0sCistICAgIHsiZWZmZWN0MmQ6a2VybmVsPTAsMSwwOzEsLTQsMTswLDEs
MDsiLCAiZWZmZWN0MmRfZWRnZSJ9LAorLSAgICB7ImVmZmVjdDJkOmtlcm5lbD0xLDEsMSwxLDE7
MSwxLDEsMSwxOzEsMSwxLDEsMTsiLCAiZWZmZWN0MmRfYmx1ciJ9LAorLSAgICB7InB1bHNhcjps
aWdodD1mYWxzZTpxdWFkcz01OnRleHR1cmU9ZmFsc2UiLCAicHVsc2FyIn0sCistICAgIHsiZGVz
a3RvcDpibHVyLXJhZGl1cz01OmVmZmVjdD1ibHVyOnBhc3Nlcz0xOnNlcGFyYWJsZT10cnVlOndp
bmRvd3M9NCIsICJkZXNrdG9wX2JsdXIifSwKKy0gICAgeyJkZXNrdG9wOmVmZmVjdD1zaGFkb3c6
d2luZG93cz00IiwgImRlc2t0b3Bfc2hhZG93In0sCistICAgIHsiYnVmZmVyOmNvbHVtbnM9MjAw
OmludGVybGVhdmU9ZmFsc2U6dXBkYXRlLWRpc3BlcnNpb249MC45OnVwZGF0ZS1mcmFjdGlvbj0w
LjU6dXBkYXRlLW1ldGhvZD0iCistICAgICAibWFwIiwKKy0gICAgICJidWZmZXJfbWFwIn0sCist
ICAgIHsiYnVmZmVyOmNvbHVtbnM9MjAwOmludGVybGVhdmU9ZmFsc2U6dXBkYXRlLWRpc3BlcnNp
b249MC45OnVwZGF0ZS1mcmFjdGlvbj0wLjU6dXBkYXRlLW1ldGhvZD0iCistICAgICAic3ViZGF0
YSIsCistICAgICAiYnVmZmVyX3N1YmRhdGEifSwKKy0gICAgeyJidWZmZXI6Y29sdW1ucz0yMDA6
aW50ZXJsZWF2ZT10cnVlOnVwZGF0ZS1kaXNwZXJzaW9uPTAuOTp1cGRhdGUtZnJhY3Rpb249MC41
OnVwZGF0ZS1tZXRob2Q9IgorLSAgICAgIm1hcCIsCistICAgICAiYnVmZmVyX21hcF9pbnRlcmxl
YXZlIn0sCistICAgIHsiaWRlYXM6c3BlZWQ9ZHVyYXRpb24iLCAiaWRlYXMifSwKKy0gICAgeyJq
ZWxseWZpc2giLCAiamVsbHlmaXNoIn0sCistICAgIHsidGVycmFpbiIsICJ0ZXJyYWluIn0sCist
ICAgIHsic2hhZG93IiwgInNoYWRvdyJ9LAorLSAgICB7InJlZnJhY3QiLCAicmVmcmFjdCJ9LAor
LSAgICB7ImNvbmRpdGlvbmFsczpmcmFnbWVudC1zdGVwcz0wOnZlcnRleC1zdGVwcz0wIiwgImNv
bmRpdGlvbmFscyJ9LAorLSAgICB7ImNvbmRpdGlvbmFsczpmcmFnbWVudC1zdGVwcz01OnZlcnRl
eC1zdGVwcz0wIiwgImNvbmRpdGlvbmFsc19mcmFnbWVudCJ9LAorLSAgICB7ImNvbmRpdGlvbmFs
czpmcmFnbWVudC1zdGVwcz0wOnZlcnRleC1zdGVwcz01IiwgImNvbmRpdGlvbmFsc192ZXJ0ZXgi
fSwKKy0gICAgeyJmdW5jdGlvbjpmcmFnbWVudC1jb21wbGV4aXR5PWxvdzpmcmFnbWVudC1zdGVw
cz01IiwgImZ1bmN0aW9uIn0sCistICAgIHsiZnVuY3Rpb246ZnJhZ21lbnQtY29tcGxleGl0eT1t
ZWRpdW06ZnJhZ21lbnQtc3RlcHM9NSIsICJmdW5jdGlvbl9jb21wbGV4In0sCistICAgIHsibG9v
cDpmcmFnbWVudC1sb29wPWZhbHNlOmZyYWdtZW50LXN0ZXBzPTU6dmVydGV4LXN0ZXBzPTUiLCAi
bG9vcF9ub19mc2xvb3AifSwKKy0gICAgeyJsb29wOmZyYWdtZW50LXN0ZXBzPTU6ZnJhZ21lbnQt
dW5pZm9ybT1mYWxzZTp2ZXJ0ZXgtc3RlcHM9NSIsICJsb29wX25vX3VuaWZvcm0ifSwKKy0gICAg
eyJsb29wOmZyYWdtZW50LXN0ZXBzPTU6ZnJhZ21lbnQtdW5pZm9ybT10cnVlOnZlcnRleC1zdGVw
cz01IiwgImxvb3AifSwKKy19OworLQorLXVzaW5nIEdMTWFyazJCZW5jaG1hcmtUZXN0UGFyYW1z
ID0gc3RkOjp0dXBsZTxQbGF0Zm9ybVBhcmFtZXRlcnMsIHNpemVfdD47Cistc3RkOjpzdHJpbmcg
R0xNYXJrMkJlbmNobWFya1ByaW50KAorLSAgICBjb25zdCA6OnRlc3Rpbmc6OlRlc3RQYXJhbUlu
Zm88R0xNYXJrMkJlbmNobWFya1Rlc3RQYXJhbXM+ICZwYXJhbXNJbmZvKQorLXsKKy0gICAgY29u
c3QgR0xNYXJrMkJlbmNobWFya1Rlc3RQYXJhbXMgJnBhcmFtcyA9IHBhcmFtc0luZm8ucGFyYW07
CistICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBvdXQ7CistCistICAgIG91dCA8PCBzdGQ6OmdldDww
PihwYXJhbXMpIDw8ICdfJzsKKy0gICAgb3V0IDw8IGtCZW5jaG1hcmtzW3N0ZDo6Z2V0PDE+KHBh
cmFtcyldLm5hbWU7CistCistICAgIHJldHVybiBvdXQuc3RyKCk7CistfQorLQorLWNsYXNzIEdM
TWFyazJCZW5jaG1hcmsgOiBwdWJsaWMgdGVzdGluZzo6VGVzdFdpdGhQYXJhbTxHTE1hcmsyQmVu
Y2htYXJrVGVzdFBhcmFtcz4KKy17CistICBwdWJsaWM6CistICAgIEdMTWFyazJCZW5jaG1hcmso
KQorLSAgICB7CistICAgICAgICBzd2l0Y2ggKHN0ZDo6Z2V0PDA+KEdldFBhcmFtKCkpLmdldFJl
bmRlcmVyKCkpCistICAgICAgICB7CistICAgICAgICAgICAgY2FzZSBFR0xfUExBVEZPUk1fQU5H
TEVfVFlQRV9EM0QxMV9BTkdMRToKKy0gICAgICAgICAgICAgICAgbUJhY2tlbmQgPSAiZDNkMTEi
OworLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgICAgICBjYXNlIEVHTF9QTEFURk9S
TV9BTkdMRV9UWVBFX09QRU5HTEVTX0FOR0xFOgorLSAgICAgICAgICAgICAgICBtQmFja2VuZCA9
ICJnbCI7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgICAgIGNhc2UgRUdMX1BM
QVRGT1JNX0FOR0xFX1RZUEVfVlVMS0FOX0FOR0xFOgorLSAgICAgICAgICAgICAgICBtQmFja2Vu
ZCA9ICJ2dWxrYW4iOworLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgICAgICBkZWZh
dWx0OgorLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgIH0KKy0gICAgICAgIHN0ZDo6
c3RyaW5nIHN0b3J5ID0ga0JlbmNobWFya3Nbc3RkOjpnZXQ8MT4oR2V0UGFyYW0oKSldLm5hbWU7
CistICAgICAgICBtUmVwb3J0ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPHBlcmZfdGVzdDo6UGVyZlJl
c3VsdFJlcG9ydGVyPigiZ2xtYXJrMl8iICsgbUJhY2tlbmQsIHN0b3J5KTsKKy0gICAgICAgIG1S
ZXBvcnRlci0+UmVnaXN0ZXJJbXBvcnRhbnRNZXRyaWMoIi5mcHMiLCAiZnBzIik7CistICAgICAg
ICBtUmVwb3J0ZXItPlJlZ2lzdGVySW1wb3J0YW50TWV0cmljKCIuc2NvcmUiLCAic2NvcmUiKTsK
Ky0gICAgfQorLQorLSAgICB2b2lkIHJ1bigpCistICAgIHsKKy0gICAgICAgIC8vIE9ubHkgc3Vw
cG9ydGVkIG9uIExpbnV4IGFuZCBXaW5kb3dzIGF0IHRoZSBtb21lbnQuCistICAgICAgICBpZiAo
IUlzTGludXgoKSAmJiAhSXNXaW5kb3dzKCkpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0
dXJuOworLSAgICAgICAgfQorLQorLSAgICAgICAgY29uc3QgQmVuY2htYXJrSW5mbyBiZW5jaG1h
cmtJbmZvID0ga0JlbmNobWFya3Nbc3RkOjpnZXQ8MT4oR2V0UGFyYW0oKSldOworLSAgICAgICAg
Y29uc3QgY2hhciAqYmVuY2htYXJrICAgICAgICAgICAgID0gYmVuY2htYXJrSW5mby5nbG1hcmsy
Q29uZmlnOworLSAgICAgICAgY29uc3QgY2hhciAqYmVuY2htYXJrTmFtZSAgICAgICAgID0gYmVu
Y2htYXJrSW5mby5uYW1lOworLSAgICAgICAgYm9vbCBjb21wbGV0ZVJ1biAgICAgICAgICAgICAg
ICAgID0gYmVuY2htYXJrID09IG51bGxwdHIgfHwgYmVuY2htYXJrWzBdID09ICdcMCc7CistCist
ICAgICAgICBPcHRpb25hbDxzdGQ6OnN0cmluZz4gY3dkID0gR2V0Q1dEKCk7CistCistICAgICAg
ICAvLyBTZXQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgdG8gdGhlIGV4ZWN1dGFibGUn
cywgYXMgdGhlIGRhdGEgcGF0aCBvZiBnbG1hcmsyIGlzCistICAgICAgICAvLyBzZXQgcmVsYXRp
dmUgdG8gdGhhdCBwYXRoLgorLSAgICAgICAgc3RkOjpzdHJpbmcgZXhlY3V0YWJsZURpciA9IEdl
dEV4ZWN1dGFibGVEaXJlY3RvcnkoKTsKKy0gICAgICAgIFNldENXRChleGVjdXRhYmxlRGlyLmNf
c3RyKCkpOworLSAgICAgICAgU2V0RW52aXJvbm1lbnRWYXIoIkFOR0xFX0RFRkFVTFRfUExBVEZP
Uk0iLCBtQmFja2VuZC5jX3N0cigpKTsKKy0KKy0gICAgICAgIHN0ZDo6dmVjdG9yPGNvbnN0IGNo
YXIgKj4gYXJncyA9IHsKKy0gICAgICAgICAgICAiZ2xtYXJrMl9hbmdsZSIsCistICAgICAgICB9
OworLSAgICAgICAgaWYgKE9uZUZyYW1lKCkpCistICAgICAgICB7CistICAgICAgICAgICAgYXJn
cy5wdXNoX2JhY2soIi0tdmFsaWRhdGUiKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGlmICghY29t
cGxldGVSdW4pCistICAgICAgICB7CistICAgICAgICAgICAgYXJncy5wdXNoX2JhY2soIi0tYmVu
Y2htYXJrIik7CistICAgICAgICAgICAgYXJncy5wdXNoX2JhY2soYmVuY2htYXJrKTsKKy0gICAg
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJ1bm5pbmcgYmVuY2htYXJrOiAlc1xuIiwgYmVuY2ht
YXJrKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGFyZ3MucHVzaF9iYWNrKG51bGxwdHIpOworLQor
LSAgICAgICAgUHJvY2Vzc0hhbmRsZSBwcm9jZXNzKGFyZ3MsIHRydWUsIGZhbHNlKTsKKy0gICAg
ICAgIEFTU0VSVF9UUlVFKHByb2Nlc3MgJiYgcHJvY2Vzcy0+c3RhcnRlZCgpKTsKKy0gICAgICAg
IEFTU0VSVF9UUlVFKHByb2Nlc3MtPmZpbmlzaCgpKTsKKy0KKy0gICAgICAgIC8vIFJlc3RvcmUg
dGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgZm9yIHRoZSBuZXh0IHRlc3RzLgorLSAgICAg
ICAgaWYgKGN3ZC52YWxpZCgpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIFNldENXRChjd2Qu
dmFsdWUoKS5jX3N0cigpKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIEFTU0VSVF9FUShFWElU
X1NVQ0NFU1MsIHByb2Nlc3MtPmdldEV4aXRDb2RlKCkpOworLQorLSAgICAgICAgaWYgKCFPbmVG
cmFtZSgpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHN0ZDo6c3RyaW5nIG91dHB1dCA9IHBy
b2Nlc3MtPmdldFN0ZG91dCgpOworLSAgICAgICAgICAgIHBhcnNlT3V0cHV0KG91dHB1dCwgYmVu
Y2htYXJrTmFtZSwgY29tcGxldGVSdW4pOworLSAgICAgICAgfQorLSAgICB9CistCistICBwcml2
YXRlOgorLSAgICB2b2lkIHBhcnNlT3V0cHV0KGNvbnN0IHN0ZDo6c3RyaW5nICZvdXRwdXQsIGNv
bnN0IGNoYXIgKmJlbmNobWFya05hbWUsIGJvb2wgY29tcGxldGVSdW4pCistICAgIHsKKy0gICAg
ICAgIC8vIE91dHB1dCBpcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKKy0gICAgICAgIC8vCist
ICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CistICAgICAgICAvLyAgICAgZ2xtYXJrMiAyMDE3LjA3CistICAgICAgICAvLyA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist
ICAgICAgICAvLyAgICAgT3BlbkdMIEluZm9ybWF0aW9uCistICAgICAgICAvLyAgICAgR0xfVkVO
RE9SOiAgICAgLi4uCistICAgICAgICAvLyAgICAgR0xfUkVOREVSRVI6ICAgLi4uCistICAgICAg
ICAvLyAgICAgR0xfVkVSU0lPTjogICAgLi4uCistICAgICAgICAvLyA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistICAgICAgICAvLyBbdGVz
dF0gY29uZmlnOiBGUFM6IHVpbnQgRnJhbWVUaW1lOiBmbG9hdCBtcworLSAgICAgICAgLy8gW3Rl
c3RdIGNvbmZpZzogTm90IFN1cHBvcnRlZAorLSAgICAgICAgLy8gLi4uCistICAgICAgICAvLyA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist
ICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xtYXJrMiBTY29y
ZTogdWludAorLSAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQorLSAgICAgICAgLy8KKy0gICAgICAgIC8vIFRoaXMgZnVuY3Rp
b24gc2tpcHMgdGhlIGhlYWRlciwgcHJpbnRzIG9uZSBsaW5lIGZvciBlYWNoIHRlc3QvY29uZmln
IGxpbmUgd2hlcmUgdGhlcmUncworLSAgICAgICAgLy8gYW4gRlBTIHZhbHVlLCBhbmQgZmluYWxs
eSBwcmludHMgdGhlIG92ZXJhbGwgc2NvcmUuCistICAgICAgICBzdGQ6OmlzdHJpbmdzdHJlYW0g
Z2xtYXJrMk91dHB1dChvdXRwdXQpOworLSAgICAgICAgc3RkOjpzdHJpbmcgbGluZTsKKy0KKy0g
ICAgICAgIC8vIEV4cGVjdCA9PT09IGF0IHRoZSB0b3Agb2YgdGhlIGhlYWRlcgorLSAgICAgICAg
c3RkOjpnZXRsaW5lKGdsbWFyazJPdXRwdXQsIGxpbmUpOworLSAgICAgICAgQVNTRVJUX0VRKCc9
JywgbGluZVswXSk7CistCistICAgICAgICAvLyBTa2lwIG9uZSBsaW5lCistICAgICAgICBzdGQ6
OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSk7CistCistICAgICAgICAvLyBFeHBlY3QgPT09
PSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBoZWFkZXIKKy0gICAgICAgIHN0ZDo6Z2V0bGluZShnbG1h
cmsyT3V0cHV0LCBsaW5lKTsKKy0gICAgICAgIEFTU0VSVF9FUSgnPScsIGxpbmVbMF0pOworLQor
LSAgICAgICAgLy8gU2tpcCBmb3VyIGxpbmVzCistICAgICAgICBzdGQ6OmdldGxpbmUoZ2xtYXJr
Mk91dHB1dCwgbGluZSk7CistICAgICAgICBzdGQ6OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGlu
ZSk7CistICAgICAgICBzdGQ6OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSk7CistICAgICAg
ICBzdGQ6OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSk7CistCistICAgICAgICAvLyBUaGUg
Zm91cnRoIGxpbmUgaXMgdGhlIEdMX1ZFUlNJT04uICBFeHBlY3QgaXQgdG8gaW5jbHVkZSBBTkdM
RSwgb3RoZXJ3aXNlIHdlIGFyZSBub3QKKy0gICAgICAgIC8vIHJ1bm5pbmcgYWdhaW5zdCBBTkdM
RS4KKy0gICAgICAgIEFTU0VSVF9ORShsaW5lLmZpbmQoIkFOR0xFIiksIHN0ZDo6c3RyaW5nOjpu
cG9zKTsKKy0KKy0gICAgICAgIC8vIEV4cGVjdCA9PT09IGF0IHRoZSBib3R0b20gb2YgdGhlIGhl
YWRlcgorLSAgICAgICAgc3RkOjpnZXRsaW5lKGdsbWFyazJPdXRwdXQsIGxpbmUpOworLSAgICAg
ICAgQVNTRVJUX0VRKCc9JywgbGluZVswXSk7CistCistICAgICAgICAvLyBSZWFkIGNvbmZpZ3Mg
dW50aWwgdGhlIHRvcCBvZiB0aGUgZm9vdGVyIGlzIHJlYWNoZWQKKy0gICAgICAgIHdoaWxlIChz
dGQ6OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSkgJiYgbGluZVswXSAhPSAnPScpCistICAg
ICAgICB7CistICAgICAgICAgICAgLy8gUGFyc2UgdGhlIGxpbmUKKy0gICAgICAgICAgICBzdGQ6
OmlzdHJpbmdzdHJlYW0gbGluKGxpbmUpOworLQorLSAgICAgICAgICAgIHN0ZDo6c3RyaW5nIHRl
c3ROYW1lLCB0ZXN0Q29uZmlnOworLSAgICAgICAgICAgIGxpbiA+PiB0ZXN0TmFtZSA+PiB0ZXN0
Q29uZmlnOworLSAgICAgICAgICAgIEVYUEVDVF9UUlVFKGxpbik7CistCistICAgICAgICAgICAg
c3RkOjpzdHJpbmcgZnBzVGFnLCBmcmFtZXRpbWVUYWc7CistICAgICAgICAgICAgc2l6ZV90IGZw
czsKKy0gICAgICAgICAgICBmbG9hdCBmcmFtZXRpbWU7CistCistICAgICAgICAgICAgbGluID4+
IGZwc1RhZyA+PiBmcHMgPj4gZnJhbWV0aW1lVGFnID4+IGZyYW1ldGltZTsKKy0KKy0gICAgICAg
ICAgICAvLyBJZiB0aGUgbGluZSBpcyBub3QgaW4gYEZQUzogdWludCBGcmFtZVRpbWU6IEZsb2F0
IG1zYCBmb3JtYXQsIHRoZSB0ZXN0IGlzIG5vdAorLSAgICAgICAgICAgIC8vIHN1cHBvcnRlZC4g
IEl0IHdpbGwgYmUgc2tpcHBlZC4KKy0gICAgICAgICAgICBpZiAoIWxpbikKKy0gICAgICAgICAg
ICB7CistICAgICAgICAgICAgICAgIGNvbnRpbnVlOworLSAgICAgICAgICAgIH0KKy0KKy0gICAg
ICAgICAgICBFWFBFQ1RfRVEoIkZQUzoiLCBmcHNUYWcpOworLSAgICAgICAgICAgIEVYUEVDVF9F
USgiRnJhbWVUaW1lOiIsIGZyYW1ldGltZVRhZyk7CistCistICAgICAgICAgICAgaWYgKCFjb21w
bGV0ZVJ1bikKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIG1SZXBvcnRlci0+QWRk
UmVzdWx0KCIuZnBzIiwgZnBzKTsKKy0gICAgICAgICAgICB9CistICAgICAgICB9CistCistICAg
ICAgICAvLyBHZXQgdGhlIHNjb3JlIGxpbmU6IGBnbG1hcmsyIFNjb3JlOiB1aW50YAorLSAgICAg
ICAgc3RkOjpzdHJpbmcgZ2xtYXJrMlRhZywgc2NvcmVUYWc7CistICAgICAgICBzaXplX3Qgc2Nv
cmU7CistICAgICAgICBnbG1hcmsyT3V0cHV0ID4+IGdsbWFyazJUYWcgPj4gc2NvcmVUYWcgPj4g
c2NvcmU7CistICAgICAgICBFWFBFQ1RfVFJVRShnbG1hcmsyT3V0cHV0KTsKKy0gICAgICAgIEVY
UEVDVF9FUSgiZ2xtYXJrMiIsIGdsbWFyazJUYWcpOworLSAgICAgICAgRVhQRUNUX0VRKCJTY29y
ZToiLCBzY29yZVRhZyk7CistCistICAgICAgICBpZiAoY29tcGxldGVSdW4pCistICAgICAgICB7
CistICAgICAgICAgICAgbVJlcG9ydGVyLT5BZGRSZXN1bHQoIi5zY29yZSIsIHNjb3JlKTsKKy0g
ICAgICAgIH0KKy0gICAgfQorLQorLSAgICBzdGQ6OnN0cmluZyBtQmFja2VuZCA9ICJpbnZhbGlk
IjsKKy0gICAgc3RkOjp1bmlxdWVfcHRyPHBlcmZfdGVzdDo6UGVyZlJlc3VsdFJlcG9ydGVyPiBt
UmVwb3J0ZXI7CistfTsKKy0KKy1URVNUX1AoR0xNYXJrMkJlbmNobWFyaywgUnVuKQorLXsKKy0g
ICAgcnVuKCk7CistfQorLQorLUFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfQ09NQklORV8xKEdMTWFy
azJCZW5jaG1hcmssCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xNYXJrMkJl
bmNobWFya1ByaW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rpbmc6
OlJhbmdlKHN0YXRpY19jYXN0PHNpemVfdD4oMCksIEFycmF5U2l6ZShrQmVuY2htYXJrcykpLAor
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVTMl9EM0QxMSgpLAorLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEVTMl9PUEVOR0xFUygpLAorLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVTMl9WVUxLQU4oKSk7CistCistfSAgLy8gbmFtZXNwYWNlCitk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9C
VUlMRC5nbiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3RoaXJkX3BhcnR5L2dsbWFyazIvQlVJ
TEQuZ24KK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMjVhZTEzMzk4NmEuLjAwMDAw
MDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90aGlyZF9wYXJ0eS9nbG1hcmsy
L0JVSUxELmduCisrKysgL2Rldi9udWxsCitAQCAtMSw0MjMgKzAsMCBAQAorLSMgQ29weXJpZ2h0
IDIwMTkgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy0j
IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vu
c2UgdGhhdCBjYW4gYmUKKy0jIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCistIworLSMgQnVp
bGQgaW50ZWdyYXRpb24gZm9yIGdsbWFyazIuCistCistaW1wb3J0KCIuLi8uLi9nbmkvYW5nbGUu
Z25pIikKKy0KKy1fZ2xtYXJrMl9nbGFkX2NvbW1vbl9zb3VyY2VzID0gWworLSAgInNyYy9zcmMv
Z2xhZC9pbmNsdWRlL2dsYWQvZWdsLmgiLAorLSAgInNyYy9zcmMvZ2xhZC9pbmNsdWRlL2dsYWQv
d2dsLmgiLAorLSAgInNyYy9zcmMvZ2xhZC9zcmMvZWdsLmMiLAorLV0KKy0KKy1pZiAoaXNfd2lu
KSB7CistICBfZ2xtYXJrMl9nbGFkX2NvbW1vbl9zb3VyY2VzICs9IFsgInNyYy9zcmMvZ2xhZC9z
cmMvd2dsLmMiIF0KKy19CistCistY29uZmlnKCJnbG1hcmsyX2dsYWRfY29uZmlnIikgeworLSAg
aW5jbHVkZV9kaXJzID0gWyAic3JjL3NyYy9nbGFkL2luY2x1ZGUiIF0KKy19CistCistc291cmNl
X3NldCgiZ2xtYXJrMl9nbGFkX2dsZXMiKSB7CistICBzb3VyY2VzID0gX2dsbWFyazJfZ2xhZF9j
b21tb25fc291cmNlcyArIFsKKy0gICAgICAgICAgICAgICJzcmMvc3JjL2dsYWQvaW5jbHVkZS9n
bGFkL2dsZXMyLmgiLAorLSAgICAgICAgICAgICAgInNyYy9zcmMvZ2xhZC9zcmMvZ2xlczIuYyIs
CistICAgICAgICAgICAgXQorLSAgcHVibGljX2NvbmZpZ3MgPSBbICI6Z2xtYXJrMl9nbGFkX2Nv
bmZpZyIgXQorLX0KKy0KKy1zb3VyY2Vfc2V0KCJnbG1hcmsyX2dsYWRfZ2wiKSB7CistICBzb3Vy
Y2VzID0gX2dsbWFyazJfZ2xhZF9jb21tb25fc291cmNlcyArIFsKKy0gICAgICAgICAgICAgICJz
cmMvc3JjL2dsYWQvaW5jbHVkZS9nbGFkL2dsLmgiLAorLSAgICAgICAgICAgICAgInNyYy9zcmMv
Z2xhZC9zcmMvZ2wuYyIsCistICAgICAgICAgICAgXQorLSAgcHVibGljX2NvbmZpZ3MgPSBbICI6
Z2xtYXJrMl9nbGFkX2NvbmZpZyIgXQorLX0KKy0KKy1nbG1hcmtfZGF0YV9wYXRoID0gIiR7YW5n
bGVfcm9vdH0vdGhpcmRfcGFydHkvZ2xtYXJrMi9zcmMvZGF0YSIKKy1yYXdfZ2xtYXJrX2RhdGFf
cGF0aCA9IHJlYmFzZV9wYXRoKGdsbWFya19kYXRhX3BhdGgsIHJvb3RfYnVpbGRfZGlyKQorLQor
LWNvbmZpZygiZ2xtYXJrMl9jb21tb25fY29uZmlnIikgeworLSAgZGVmaW5lcyA9IFsgIkdMTUFS
S19EQVRBX1BBVEg9XCIke3Jhd19nbG1hcmtfZGF0YV9wYXRofVwiIiBdCistICBpbmNsdWRlX2Rp
cnMgPSBbICJzcmMvc3JjIiBdCistICBpZiAoaXNfd2luKSB7CistICAgIGluY2x1ZGVfZGlycyAr
PSBbICJzcmMvc3JjL2luY2x1ZGUiIF0KKy0KKy0gICAgIyBNX1BJIGlzIG5vbnN0YW5kYXJkLgor
LSAgICBkZWZpbmVzICs9IFsgIl9VU0VfTUFUSF9ERUZJTkVTIiBdCistCistICAgIGlmICghaXNf
Y2xhbmcpIHsKKy0gICAgICBjZmxhZ3MgPSBbCistICAgICAgICAjIE1TVkMgd2FybnMgYWJvdXQg
dGhlIGNvcHlyaWdodCBjaGFyYWN0ZXIgYmVpbmcgaWxsZWdhbC4KKy0gICAgICAgICIvd2Q0ODI4
IiwKKy0KKy0gICAgICAgICMgQSB3YXJuaW5nIGdlbmVyYXRlZCBpbiBzY2VuZS1lZmZlY3QtMmQg
aW4gdmVjMjo6Y2FsY19vZmZzZXQKKy0gICAgICAgICIvd2Q0MTQ2IiwKKy0gICAgICBdCistICAg
IH0KKy0gIH0KKy19CistCistY29uZmlnKCJnbG1hcmsyX2dsZXNfY29uZmlnIikgeworLSAgZGVm
aW5lcyA9IFsgIkdMTUFSSzJfVVNFX0dMRVN2MiIgXQorLX0KKy0KKy1jb25maWcoImdsbWFyazJf
Z2xfY29uZmlnIikgeworLSAgZGVmaW5lcyA9IFsgIkdMTUFSSzJfVVNFX0dMIiBdCistfQorLQor
LWdyb3VwKCJnbG1hcmsyX2dsZXMiKSB7CistICBwdWJsaWNfY29uZmlncyA9IFsKKy0gICAgIjpn
bG1hcmsyX2NvbW1vbl9jb25maWciLAorLSAgICAiOmdsbWFyazJfZ2xlc19jb25maWciLAorLSAg
XQorLSAgcHVibGljX2RlcHMgPSBbCistICAgICI6Z2xtYXJrMl9nbGFkX2dsZXMiLAorLSAgXQor
LX0KKy0KKy1ncm91cCgiZ2xtYXJrMl9nbCIpIHsKKy0gIHB1YmxpY19jb25maWdzID0gWworLSAg
ICAiOmdsbWFyazJfY29tbW9uX2NvbmZpZyIsCistICAgICI6Z2xtYXJrMl9nbF9jb25maWciLAor
LSAgXQorLSAgcHVibGljX2RlcHMgPSBbCistICAgICI6Z2xtYXJrMl9nbGFkX2dsIiwKKy0gIF0K
Ky19CistCistIyBTdXBwbGllcyBjb21wYXRpYmxlIGhlYWRlcnMgb24gV2luMzIuCistY29uZmln
KCJnbG1hcmsyX2hlYWRlcnNfY29uZmlnIikgeworLSAgaWYgKGlzX3dpbikgeworLSAgICBpZiAo
aXNfY2xhbmcpIHsKKy0gICAgICBjZmxhZ3MgPSBbCistICAgICAgICAiLVduby11bnVzZWQtZnVu
Y3Rpb24iLAorLSAgICAgICAgIi1Xbm8td3JpdGFibGUtc3RyaW5ncyIsCistICAgICAgICAiLVdu
by1leHRyYS10b2tlbnMiLAorLSAgICAgIF0KKy0gICAgfQorLSAgfQorLX0KKy0KKy1zb3VyY2Vf
c2V0KCJnbG1hcmsyX2hlYWRlcnMiKSB7CistICBzb3VyY2VzID0gWworLSAgICAic3JjL3NyYy9j
YW52YXMuaCIsCistICAgICJzcmMvc3JjL2dsLWhlYWRlcnMuaCIsCistICAgICJzcmMvc3JjL2ds
LXN0YXRlLWVnbC5oIiwKKy0gICAgInNyYy9zcmMvZ2wtc3RhdGUuaCIsCistICAgICJzcmMvc3Jj
L2dsLXZpc3VhbC1jb25maWcuaCIsCistICAgICJzcmMvc3JjL21lc2guaCIsCistICAgICJzcmMv
c3JjL29wdGlvbnMuaCIsCistICAgICJzcmMvc3JjL3NjZW5lLmgiLAorLSAgICAic3JjL3NyYy9z
aGFyZWQtbGlicmFyeS5oIiwKKy0gICAgInNyYy9zcmMvdGV4dHVyZS5oIiwKKy0gIF0KKy0KKy0g
IGlmIChpc19saW51eCkgeworLSAgICBzb3VyY2VzICs9IFsgInNyYy9zcmMvZ2wtc3RhdGUtZ2x4
LmgiIF0KKy0gIH0KKy0gIGlmIChpc193aW4pIHsKKy0gICAgc291cmNlcyArPSBbCistICAgICAg
InNyYy9zcmMvZ2wtc3RhdGUtd2dsLmgiLAorLSAgICAgICJzcmMvc3JjL2luY2x1ZGUvZGlyZW50
LmgiLAorLSAgICAgICJzcmMvc3JjL2luY2x1ZGUvZ2V0b3B0LmgiLAorLSAgICAgICJzcmMvc3Jj
L2luY2x1ZGUvc3lzL3RpbWUuaCIsCistICAgIF0KKy0gIH0KKy0gIHB1YmxpY19jb25maWdzID0g
WyAiOmdsbWFyazJfaGVhZGVyc19jb25maWciIF0KKy0gIGluY2x1ZGVfZGlycyA9IFsgInNyYy9z
cmMiIF0KKy19CistCistY29uZmlnKCJnbG1hcmsyX2xpYm1hdHJpeF9jb25maWciKSB7CistICBp
bmNsdWRlX2RpcnMgPSBbICJzcmMvc3JjL2xpYm1hdHJpeCIgXQorLX0KKy0KKy10ZW1wbGF0ZSgi
Z2xtYXJrMl9saWJtYXRyaXgiKSB7CistICBzb3VyY2Vfc2V0KHRhcmdldF9uYW1lKSB7CistICAg
IGZvcndhcmRfdmFyaWFibGVzX2Zyb20oaW52b2tlciwgIioiKQorLSAgICBzb3VyY2VzID0gWwor
LSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9nbC1pZi5oIiwKKy0gICAgICAic3JjL3NyYy9saWJt
YXRyaXgvbG9nLmNjIiwKKy0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvbG9nLmgiLAorLSAgICAg
ICJzcmMvc3JjL2xpYm1hdHJpeC9tYXQuY2MiLAorLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9t
YXQuaCIsCistICAgICAgInNyYy9zcmMvbGlibWF0cml4L3Byb2dyYW0uY2MiLAorLSAgICAgICJz
cmMvc3JjL2xpYm1hdHJpeC9wcm9ncmFtLmgiLAorLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9z
aGFkZXItc291cmNlLmNjIiwKKy0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvc2hhZGVyLXNvdXJj
ZS5oIiwKKy0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvc3RhY2suaCIsCistICAgICAgInNyYy9z
cmMvbGlibWF0cml4L3V0aWwuY2MiLAorLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC91dGlsLmgi
LAorLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC92ZWMuaCIsCistICAgIF0KKy0KKy0gICAgaWYg
KGlzX2NsYW5nKSB7CistICAgICAgY2ZsYWdzX2NjID0gWyAiLVduby1pbXBsaWNpdC1mYWxsdGhy
b3VnaCIgXQorLSAgICB9CistICAgIHB1YmxpY19kZXBzID0gWworLSAgICAgICI6Z2xtYXJrMl9o
ZWFkZXJzIiwKKy0gICAgXQorLSAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpnbG1hcmsyX2xpYm1h
dHJpeF9jb25maWciIF0KKy0gIH0KKy19CistCistZ2xtYXJrMl9saWJtYXRyaXgoImdsbWFyazJf
bGlibWF0cml4X2dsZXMiKSB7CistICBkZXBzID0gWworLSAgICAiOmdsbWFyazJfZ2xlcyIsCist
ICBdCistfQorLQorLWdsbWFyazJfbGlibWF0cml4KCJnbG1hcmsyX2xpYm1hdHJpeF9nbCIpIHsK
Ky0gIGRlcHMgPSBbCistICAgICI6Z2xtYXJrMl9nbCIsCistICBdCistfQorLQorLWNvbmZpZygi
Z2xtYXJrMl9zY2VuZV9pZGVhc19jb25maWciKSB7CistICBpbmNsdWRlX2RpcnMgPSBbICJzcmMv
c3JjL3NjZW5lLWlkZWFzIiBdCistfQorLQorLXRlbXBsYXRlKCJnbG1hcmsyX3NjZW5lX2lkZWFz
IikgeworLSAgc291cmNlX3NldCh0YXJnZXRfbmFtZSkgeworLSAgICBmb3J3YXJkX3ZhcmlhYmxl
c19mcm9tKGludm9rZXIsICIqIikKKy0gICAgc291cmNlcyA9IFsKKy0gICAgICAic3JjL3NyYy9z
Y2VuZS1pZGVhcy9hLmNjIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9jaGFyYWN0ZXJz
LmgiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2QuY2MiLAorLSAgICAgICJzcmMvc3Jj
L3NjZW5lLWlkZWFzL2UuY2MiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2kuY2MiLAor
LSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2xhbXAuY2MiLAorLSAgICAgICJzcmMvc3JjL3Nj
ZW5lLWlkZWFzL2xhbXAuaCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvbG9nby5jYyIs
CistICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvbG9nby5oIiwKKy0gICAgICAic3JjL3NyYy9z
Y2VuZS1pZGVhcy9tLmNjIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9uLmNjIiwKKy0g
ICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9vLmNjIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1p
ZGVhcy9zLmNjIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9zcGxpbmVzLmNjIiwKKy0g
ICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9zcGxpbmVzLmgiLAorLSAgICAgICJzcmMvc3JjL3Nj
ZW5lLWlkZWFzL3QuY2MiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL3RhYmxlLmNjIiwK
Ky0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy90YWJsZS5oIiwKKy0gICAgXQorLSAgICBwdWJs
aWNfY29uZmlncyA9IFsgIjpnbG1hcmsyX3NjZW5lX2lkZWFzX2NvbmZpZyIgXQorLSAgfQorLX0K
Ky0KKy1nbG1hcmsyX3NjZW5lX2lkZWFzKCJnbG1hcmsyX3NjZW5lX2lkZWFzX2dsZXMiKSB7Cist
ICBkZXBzID0gWworLSAgICAiOmdsbWFyazJfZ2xlcyIsCistICAgICI6Z2xtYXJrMl9saWJtYXRy
aXhfZ2xlcyIsCistICBdCistfQorLQorLWdsbWFyazJfc2NlbmVfaWRlYXMoImdsbWFyazJfc2Nl
bmVfaWRlYXNfZ2wiKSB7CistICBkZXBzID0gWworLSAgICAiOmdsbWFyazJfZ2wiLAorLSAgICAi
OmdsbWFyazJfbGlibWF0cml4X2dsIiwKKy0gIF0KKy19CistCistY29uZmlnKCJnbG1hcmsyX3Nj
ZW5lX3RlcnJhaW5fY29uZmlnIikgeworLSAgaW5jbHVkZV9kaXJzID0gWyAic3JjL3NyYy9zY2Vu
ZS10ZXJyYWluIiBdCistfQorLQorLXRlbXBsYXRlKCJnbG1hcmsyX3NjZW5lX3RlcnJhaW4iKSB7
CistICBzb3VyY2Vfc2V0KHRhcmdldF9uYW1lKSB7CistICAgIGZvcndhcmRfdmFyaWFibGVzX2Zy
b20oaW52b2tlciwgIioiKQorLSAgICBzb3VyY2VzID0gWworLSAgICAgICJzcmMvc3JjL3NjZW5l
LXRlcnJhaW4vYmFzZS1yZW5kZXJlci5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJh
aW4vYmx1ci1yZW5kZXJlci5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vY29w
eS1yZW5kZXJlci5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vbHVtaW5hbmNl
LXJlbmRlcmVyLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi9ub3JtYWwtZnJv
bS1oZWlnaHQtcmVuZGVyZXIuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL292
ZXJsYXktcmVuZGVyZXIuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL3JlbmRl
cmVyLWNoYWluLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi9yZW5kZXJlci5o
IiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL3NpbXBsZXgtbm9pc2UtcmVuZGVyZXIu
Y3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL3RlcnJhaW4tcmVuZGVyZXIuY3Bw
IiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL3RleHR1cmUtcmVuZGVyZXIuY3BwIiwK
Ky0gICAgXQorLQorLSAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpnbG1hcmsyX3NjZW5lX3RlcnJh
aW5fY29uZmlnIiBdCistICB9CistfQorLQorLWdsbWFyazJfc2NlbmVfdGVycmFpbigiZ2xtYXJr
Ml9zY2VuZV90ZXJyYWluX2dsZXMiKSB7CistICBkZXBzID0gWworLSAgICAiOmdsbWFyazJfZ2xl
cyIsCistICAgICI6Z2xtYXJrMl9saWJtYXRyaXhfZ2xlcyIsCistICBdCistfQorLQorLWdsbWFy
azJfc2NlbmVfdGVycmFpbigiZ2xtYXJrMl9zY2VuZV90ZXJyYWluX2dsIikgeworLSAgZGVwcyA9
IFsKKy0gICAgIjpnbG1hcmsyX2dsIiwKKy0gICAgIjpnbG1hcmsyX2xpYm1hdHJpeF9nbCIsCist
ICBdCistfQorLQorLXRlbXBsYXRlKCJnbG1hcmsyX2NvbW1vbiIpIHsKKy0gIHNvdXJjZV9zZXQo
dGFyZ2V0X25hbWUpIHsKKy0gICAgZm9yd2FyZF92YXJpYWJsZXNfZnJvbShpbnZva2VyLCAiKiIp
CistICAgIHNvdXJjZXMgPSBbCistICAgICAgInNyYy9zcmMvYmVuY2htYXJrLWNvbGxlY3Rpb24u
Y3BwIiwKKy0gICAgICAic3JjL3NyYy9iZW5jaG1hcmstY29sbGVjdGlvbi5oIiwKKy0gICAgICAi
c3JjL3NyYy9iZW5jaG1hcmsuY3BwIiwKKy0gICAgICAic3JjL3NyYy9iZW5jaG1hcmsuaCIsCist
ICAgICAgInNyYy9zcmMvZGVmYXVsdC1iZW5jaG1hcmtzLmgiLAorLSAgICAgICJzcmMvc3JjL2ds
LWhlYWRlcnMuY3BwIiwKKy0gICAgICAic3JjL3NyYy9nbC12aXN1YWwtY29uZmlnLmNwcCIsCist
ICAgICAgInNyYy9zcmMvZ2wtdmlzdWFsLWNvbmZpZy5oIiwKKy0gICAgICAic3JjL3NyYy9pbWFn
ZS1yZWFkZXIuY3BwIiwKKy0gICAgICAic3JjL3NyYy9pbWFnZS1yZWFkZXIuaCIsCistICAgICAg
InNyYy9zcmMvbWFpbi1sb29wLmNwcCIsCistICAgICAgInNyYy9zcmMvbWFpbi1sb29wLmgiLAor
LSAgICAgICJzcmMvc3JjL21lc2guY3BwIiwKKy0gICAgICAic3JjL3NyYy9tb2RlbC5jcHAiLAor
LSAgICAgICJzcmMvc3JjL21vZGVsLmgiLAorLSAgICAgICJzcmMvc3JjL25hdGl2ZS1zdGF0ZS5o
IiwKKy0gICAgICAic3JjL3NyYy9vcHRpb25zLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUt
YnVmZmVyLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtYnVpbGQuY3BwIiwKKy0gICAgICAi
c3JjL3NyYy9zY2VuZS1idW1wLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtY2xlYXIuY3Bw
IiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1jb2xsZWN0aW9uLmgiLAorLSAgICAgICJzcmMvc3Jj
L3NjZW5lLWNvbmRpdGlvbmFscy5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWRlZmF1bHQt
b3B0aW9ucy5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWRlc2t0b3AuY3BwIiwKKy0gICAg
ICAic3JjL3NyYy9zY2VuZS1lZmZlY3QtMmQuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1m
dW5jdGlvbi5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWdyaWQuY3BwIiwKKy0gICAgICAi
c3JjL3NyYy9zY2VuZS1pZGVhcy5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWplbGx5Zmlz
aC5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWplbGx5ZmlzaC5oIiwKKy0gICAgICAic3Jj
L3NyYy9zY2VuZS1sb29wLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtcHVsc2FyLmNwcCIs
CistICAgICAgInNyYy9zcmMvc2NlbmUtcmVmcmFjdC5jcHAiLAorLSAgICAgICJzcmMvc3JjL3Nj
ZW5lLXJlZnJhY3QuaCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtc2hhZGluZy5jcHAiLAorLSAg
ICAgICJzcmMvc3JjL3NjZW5lLXNoYWRvdy5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLXRl
cnJhaW4uY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS10ZXh0dXJlLmNwcCIsCistICAgICAg
InNyYy9zcmMvc2NlbmUuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zaGFyZWQtbGlicmFyeS5jcHAi
LAorLSAgICAgICJzcmMvc3JjL3RleHQtcmVuZGVyZXIuY3BwIiwKKy0gICAgICAic3JjL3NyYy90
ZXh0LXJlbmRlcmVyLmgiLAorLSAgICAgICJzcmMvc3JjL3RleHR1cmUuY3BwIiwKKy0gICAgXQor
LQorLSAgICBwdWJsaWNfZGVwcyArPSBbCistICAgICAgIjpnbG1hcmsyX2hlYWRlcnMiLAorLSAg
ICAgICIke2FuZ2xlX2xpYnBuZ19kaXJ9OmxpYnBuZyIsCistICAgICAgIiR7YW5nbGVfcm9vdH0v
dGhpcmRfcGFydHk6anBlZyIsCistICAgIF0KKy0gIH0KKy19CistCistZ2xtYXJrMl9jb21tb24o
ImdsbWFyazJfY29tbW9uX2dsZXMiKSB7CistICBwdWJsaWNfZGVwcyA9IFsKKy0gICAgIjpnbG1h
cmsyX2dsZXMiLAorLSAgICAiOmdsbWFyazJfbGlibWF0cml4X2dsZXMiLAorLSAgICAiOmdsbWFy
azJfc2NlbmVfaWRlYXNfZ2xlcyIsCistICAgICI6Z2xtYXJrMl9zY2VuZV90ZXJyYWluX2dsZXMi
LAorLSAgXQorLX0KKy0KKy1nbG1hcmsyX2NvbW1vbigiZ2xtYXJrMl9jb21tb25fZ2wiKSB7Cist
ICBwdWJsaWNfZGVwcyA9IFsKKy0gICAgIjpnbG1hcmsyX2dsIiwKKy0gICAgIjpnbG1hcmsyX2xp
Ym1hdHJpeF9nbCIsCistICAgICI6Z2xtYXJrMl9zY2VuZV9pZGVhc19nbCIsCistICAgICI6Z2xt
YXJrMl9zY2VuZV90ZXJyYWluX2dsIiwKKy0gIF0KKy19CistCistZ2xtYXJrMl92ZXJzaW9uID0g
IjIwMTcuMDciCistCistdGVtcGxhdGUoImdsbWFyazJfZXhlIikgeworLSAgZXhlY3V0YWJsZSh0
YXJnZXRfbmFtZSkgeworLSAgICBmb3J3YXJkX3ZhcmlhYmxlc19mcm9tKGludm9rZXIsICIqIikK
Ky0gICAgc291cmNlcyArPSBbCistICAgICAgInNyYy9zcmMvY2FudmFzLWdlbmVyaWMuY3BwIiwK
Ky0gICAgICAic3JjL3NyYy9jYW52YXMtZ2VuZXJpYy5oIiwKKy0gICAgICAic3JjL3NyYy9tYWlu
LmNwcCIsCistICAgIF0KKy0gICAgZGF0YSA9IFsKKy0gICAgICAic3JjL2RhdGEvIiwKKy0gICAg
XQorLQorLSAgICBkZWZpbmVzICs9IFsgIkdMTUFSS19WRVJTSU9OPVwiJHtnbG1hcmsyX3ZlcnNp
b259XCIiIF0KKy0KKy0gICAgaWYgKGlzX3dpbikgeworLSAgICAgIGRlZmluZXMgKz0gWyAiR0xN
QVJLMl9VU0VfV0lOMzIiIF0KKy0gICAgICBzb3VyY2VzICs9IFsKKy0gICAgICAgICJzcmMvc3Jj
L25hdGl2ZS1zdGF0ZS13aW4zMi5jcHAiLAorLSAgICAgICAgInNyYy9zcmMvbmF0aXZlLXN0YXRl
LXdpbjMyLmgiLAorLSAgICAgIF0KKy0gICAgfQorLSAgICBpZiAoaXNfbGludXgpIHsKKy0gICAg
ICBkZWZpbmVzICs9IFsgIkdMTUFSSzJfVVNFX1gxMSIgXQorLSAgICAgIHNvdXJjZXMgKz0gWwor
LSAgICAgICAgInNyYy9zcmMvbmF0aXZlLXN0YXRlLXgxMS5jcHAiLAorLSAgICAgICAgInNyYy9z
cmMvbmF0aXZlLXN0YXRlLXgxMS5oIiwKKy0gICAgICBdCistICAgICAgbGlicyA9IFsgIlgxMSIg
XQorLSAgICB9CistICB9CistfQorLQorLWdsbWFyazJfZXhlKCJnbG1hcmsyX2FuZ2xlIikgewor
LSAgc291cmNlcyA9IFsKKy0gICAgInNyYy9zcmMvZ2wtc3RhdGUtZWdsLmNwcCIsCistICBdCist
ICBkZXBzID0gWworLSAgICAiOmdsbWFyazJfY29tbW9uX2dsZXMiLAorLSAgXQorLSAgZGF0YV9k
ZXBzID0gWworLSAgICAiJHthbmdsZV9yb290fTpsaWJFR0wiLAorLSAgICAiJHthbmdsZV9yb290
fTpsaWJHTEVTdjIiLAorLSAgXQorLQorLSAgZGVmaW5lcyA9IFsKKy0gICAgIkVHTF9FR0xfUFJP
VE9UWVBFUz0xIiwKKy0gICAgIkdMTUFSSzJfVVNFX0VHTCIsCistICBdCistCistICBpZiAoaXNf
bGludXggJiYgIWlzX2NvbXBvbmVudF9idWlsZCkgeworLSAgICAjIFNldCBycGF0aCB0byBmaW5k
IHNoYXJlZCBsaWJzIGluIGEgbm9uLWNvbXBvbmVudCBidWlsZC4KKy0gICAgcHVibGljX2NvbmZp
Z3MgPSBbICIvL2J1aWxkL2NvbmZpZy9nY2M6cnBhdGhfZm9yX2J1aWx0X3NoYXJlZF9saWJyYXJp
ZXMiIF0KKy0gIH0KKy19CistCistaWYgKGlzX2xpbnV4KSB7CistICBnbG1hcmsyX2V4ZSgiZ2xt
YXJrMl9nbHgiKSB7CistICAgIHNvdXJjZXMgPSBbCistICAgICAgInNyYy9zcmMvZ2wtc3RhdGUt
Z2x4LmNwcCIsCistICAgICAgInNyYy9zcmMvZ2xhZC9pbmNsdWRlL2dsYWQvZ2x4LmgiLAorLSAg
ICAgICJzcmMvc3JjL2dsYWQvc3JjL2dseC5jIiwKKy0gICAgXQorLSAgICBkZXBzID0gWworLSAg
ICAgICI6Z2xtYXJrMl9jb21tb25fZ2wiLAorLSAgICBdCistCistICAgIGRlZmluZXMgPSBbICJH
TE1BUksyX1VTRV9HTFgiIF0KKy0gIH0KKy19CistCistIyBvcGVuZ2wzMi5saWIvb3BlbmdsMzIu
ZGxsIGFyZSBub3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MgQVJNNjQuCistaWYgKGlzX3dpbiAmJiB0
YXJnZXRfY3B1ICE9ICJhcm02NCIpIHsKKy0gIGdsbWFyazJfZXhlKCJnbG1hcmsyX3dnbCIpIHsK
Ky0gICAgc291cmNlcyA9IFsKKy0gICAgICAic3JjL3NyYy9nbC1zdGF0ZS13Z2wuY3BwIiwKKy0g
ICAgXQorLSAgICBkZXBzID0gWworLSAgICAgICI6Z2xtYXJrMl9jb21tb25fZ2wiLAorLSAgICBd
CistCistICAgIGxpYnMgPSBbICJvcGVuZ2wzMi5saWIiIF0KKy0gICAgZGVmaW5lcyA9IFsgIkdM
TUFSSzJfVVNFX1dHTCIgXQorLSAgfQorLX0KK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS90aGlyZF9wYXJ0eS9nbG1hcmsyL1JFQURNRS5hbmdsZSBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3RoaXJkX3BhcnR5L2dsbWFyazIvUkVBRE1FLmFuZ2xlCitkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKK2luZGV4IGEyYjYzNzFmZWQ4Li4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9SRUFETUUuYW5nbGUKKysrKyAv
ZGV2L251bGwKK0BAIC0xLDEyICswLDAgQEAKKy1OYW1lOiBnbG1hcmsyCistU2hvcnQgTmFtZTog
Z2xtYXJrMgorLVVSTDogaHR0cHM6Ly9naXRodWIuY29tL2dsbWFyazIvZ2xtYXJrMgorLVNlY3Vy
aXR5IENyaXRpY2FsOiBubworLUxpY2Vuc2U6IEdQTCB2MworLUxpY2Vuc2UgRmlsZTogTk9UX1NI
SVBQRUQKKy0KKy1EZXNjcmlwdGlvbjoKKy1nbG1hcmsyIGlzIGFuIE9wZW5HTCAyLjAgYW5kIEVT
IDIuMCBiZW5jaG1hcmsuCistCistZ2xtYXJrMiBpcyBkZXZlbG9wZWQgYnkgQWxleGFuZHJvcyBG
cmFudHppcyBhbmQgSmVzc2UgQmFya2VyIGJhc2VkIG9uIHRoZQorLW9yaWdpbmFsIGdsbWFyayBi
ZW5jaG1hcmsgYnkgQmVuIFNtaXRoLgorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3Rvb2xzL2ZsZXgtYmlzb24vUkVBRE1FLm1kIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
dG9vbHMvZmxleC1iaXNvbi9SRUFETUUubWQKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5k
ZXggOGRmZTEyNjI2NjAuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS90b29scy9mbGV4LWJpc29uL1JFQURNRS5tZAorKysrIC9kZXYvbnVsbAorQEAgLTEsMTI5ICsw
LDAgQEAKKy0jIGZsZXggYW5kIGJpc29uIGJpbmFyaWVzCistCistVGhpcyBmb2xkZXIgY29udGFp
bnMgdGhlIGZsZXggYW5kIGJpc29uIGJpbmFyaWVzLiBXZSB1c2UgdGhlc2UgYmluYXJpZXMgdG8K
Ky1nZW5lcmF0ZSB0aGUgQU5HTEUgdHJhbnNsYXRvcidzIGxleGVyIGFuZCBwYXJzZXIuCistCist
VXNlIHRoZSBzY3JpcHQgW2B1cGRhdGVfZmxleF9iaXNvbl9iaW5hcmllcy5weWBdKHVwZGF0ZV9m
bGV4X2Jpc29uX2JpbmFyaWVzLnB5KQorLXRvIHVwZGF0ZSB0aGUgdmVyc2lvbnMgb2YgdGhlc2Ug
YmluYXJpZXMgaW4gY2xvdWQgc3RvcmFnZS4gSXQgbXVzdCBiZSBydW4gb24KKy1MaW51eCBvciBX
aW5kb3dzLiBJdCB3aWxsIHVwZGF0ZSB0aGUgU0hBcyBmb3IgeW91ciBwbGF0Zm9ybS4gQWZ0ZXIg
cnVubmluZyB0aGUKKy1zY3JpcHQgcnVuIGBnaXQgY29tbWl0YCBhbmQgdGhlbiBgZ2l0IGNsIHVw
bG9hZGAgdG8gY29kZSByZXZpZXcgdXNpbmcgdGhlIG5vcm1hbAorLXJldmlldyBwcm9jZXNzLiBZ
b3Ugd2lsbCBhbHNvIHdhbnQgdG8gcnVuCistW2BzY3JpcHRzL3J1bl9jb2RlX2dlbmVyYXRpb24u
cHlgXSguLi8uLi9zY3JpcHRzL3J1bl9jb2RlX2dlbmVyYXRpb24ucHkpIHRvCistdXBkYXRlIHRo
ZSBnZW5lcmF0ZWQgZmlsZXMuCistCistUGxlYXNlIHVwZGF0ZSBib3RoIFdpbmRvd3MgYW5kIExp
bnV4IGJpbmFyaWVzIGF0IHRoZSBzYW1lIHRpbWUuIFVzZSB0d28gQ0xzLiBPbmUKKy1mb3IgZWFj
aCBwbGF0Zm9ybS4gTm90ZSB0aGF0IHdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IE1hYyBmb3Ig
Z2VuZXJhdGluZyB0aGUKKy1sZXhlciBhbmQgcGFyc2VyIGZpbGVzLiBJZiB3ZSBkbyB3ZSBzaG91
bGQgYWRkIGEgZmxleC9iaXNvbiBkb3dubG9hZCBmb3IgTWFjIGFzCistd2VsbC4KKy0KKy1Db250
YWN0IGptYWRpbGwgb3Igc3lvdXNzZWZpIGZvciBhbnkgaGVscCB3aXRoIHVwZGF0aW5nIHRoZSBi
aW5hcmllcy4KKy0KKy0jIyBVcGRhdGluZyBmbGV4IGFuZCBiaXNvbiBiaW5hcmllcworLQorLVRo
aXMgaXMgZXhwZWN0ZWQgdG8gYmUgYSByYXJlIG9wZXJhdGlvbiwgYW5kIGlzIGN1cnJlbnRseSBk
b25lIGJhc2VkIG9uIHRoZQorLWZvbGxvd2luZyBpbnN0cnVjdGlvbnMuICBOb3RlOiBnZXQgdGhl
IGJpbmFyaWVzIGZpcnN0IG9uIHdpbmRvd3MsIGFzIG9ubHkgYQorLXNpbmdsZSBvcHRpb24gaXMg
YXZhaWxhYmxlLCB0aGVuIGJ1aWxkIHRoZSBiaW5hcmllcyBmb3IgdGhlIHNhbWUgdmVyc2lvbiBv
bgorLUxpbnV4LgorLQorLSMjIyBPbiBXaW5kb3dzCistCistSW5zdGFsbCBNU3lzMiAoeDg2XzY0
KSBmcm9tIGh0dHA6Ly93d3cubXN5czIub3JnLyBvbiBXaW5kb3dzLiAgYGZsZXhgIHNob3VsZAor
LWFscmVhZHkgYmUgaW5zdGFsbGVkLiAgSW5zdGFsbCBiaXNvbjoKKy0KKy1gYGAKKy0kIHBhY21h
biAtUyBiaXNvbgorLWBgYAorLQorLU5vdGUgdGhlIHZlcnNpb25zIG9mIGZsZXggYW5kIGJpc29u
IHNvIHRoZSBzYW1lIHZlcnNpb25zIGNhbiBiZSBidWlsZCBvbiBMaW51eC4KKy1Gb3IgZXhhbXBs
ZToKKy0KKy1gYGAKKy0kIGZsZXggLS12ZXJzaW9uCistZmxleCAyLjYuNAorLQorLSQgYmlzb24g
LS12ZXJzaW9uCistYmlzb24gKEdOVSBCaXNvbikgMy4zLjIKKy1gYGAKKy0KKy1UaGUgb25seSBk
ZXBlbmRlbmNpZXMgZnJvbSBNU3lzMiBzaG91bGQgYmUgdGhlIGZvbGxvd2luZzoKKy0KKy1gYGAK
Ky1tc3lzLWludGwtOC5kbGwKKy1tc3lzLWljb252LTIuZGxsCistbXN5cy0yLjAuZGxsCistYGBg
CistCistVGhpcyBjYW4gYmUgdmVyaWZpZWQgd2l0aDoKKy0KKy1gYGAKKy0kIGxkZCAvdXNyL2Jp
bi9mbGV4CistJCBsZGQgL3Vzci9iaW4vYmlzb24KKy1gYGAKKy0KKy1BZGRpdGlvbmFsbHksIHdl
IG5lZWQgdGhlIGJpbmFyeSBmb3IgbTQgYXQgYC91c3IvYmluL200YC4KKy0KKy1Db3B5IGFsbCB0
aGVzZSA1IGZpbGVzIHRvIHRoaXMgZGlyZWN0b3J5OgorLQorLWBgYAorLSQgY2QgYW5nbGUvCist
JCBjcCAvdXNyL2Jpbi9mbGV4LmV4ZSBcCistICAgICAvdXNyL2Jpbi9iaXNvbi5leGUgXAorLSAg
ICAgL3Vzci9iaW4vbTQuZXhlIFwKKy0gICAgIC91c3IvYmluL21zeXMtaW50bC04LmRsbCBcCist
ICAgICAvdXNyL2Jpbi9tc3lzLWljb252LTIuZGxsIFwKKy0gICAgIC91c3IvYmluL21zeXMtMi4w
LmRsbCBcCistICAgICB0b29scy9mbGV4LWJpc29uL3dpbmRvd3MvCistYGBgCistCistVXBsb2Fk
IHRoZSBiaW5hcmllczoKKy0KKy1gYGAKKy0kIGNkIGFuZ2xlLworLSQgcHl0aG9uIHRvb2xzL2Zs
ZXgtYmlzb24vdXBkYXRlX2ZsZXhfYmlzb25fYmluYXJpZXMucHkKKy1gYGAKKy0KKy0jIyMgT24g
TGludXgKKy0KKy1gYGAKKy0jIEdldCB0aGUgc291cmNlIG9mIGZsZXgKKy0kIGdpdCBjbG9uZSBo
dHRwczovL2dpdGh1Yi5jb20vd2VzdGVzL2ZsZXguZ2l0CistJCBjZCBmbGV4LworLSMgQ2hlY2tv
dXQgdGhlIHNhbWUgdmVyc2lvbiBhcyBtc3lzMiBvbiB3aW5kb3dzCistJCBnaXQgY2hlY2tvdXQg
djIuNi40CistIyBCdWlsZAorLSQgYXV0b3JlY29uZiAtaQorLSQgbWtkaXIgYnVpbGQgJiYgY2Qg
YnVpbGQKKy0kIC4uL2NvbmZpZ3VyZSBDRkxBR1M9Ii1PMiAtRF9HTlVfU09VUkNFIgorLSQgbWFr
ZSAtagorLWBgYAorLQorLWBgYAorLSMgR2V0IHRoZSBzb3VyY2Ugb2YgYmlzb24KKy0kIGN1cmwg
aHR0cDovL2Z0cC5nbnUub3JnL2dudS9iaXNvbi9iaXNvbi0zLjMuMi50YXIueHogfCB0YXIgLXhK
CistJCBjZCBiaXNvbi0zLjMuMgorLSMgQnVpbGQKKy0kIG1rZGlyIGJ1aWxkICYmIGNkIGJ1aWxk
CistJCAuLi9jb25maWd1cmUgQ0ZMQUdTPSItTzIiCistJCBtYWtlIC1qCistYGBgCistCistTm90
ZTogQmlzb24ncyBbaG9tZSBwYWdlXVtCaXNvbl0gbGlzdHMgZnRwIHNlcnZlciBhbmQgb3RoZXIg
bWlycm9ycy4gIElmIHRoZQorLWFib3ZlIGxpbmsgaXMgYnJva2VuLCByZXBsYWNlIHdpdGggYSBt
aXJyb3IuCistCistQ29weSB0aGUgMiBleGVjdXRhYmxlcyB0byB0aGlzIGRpcmVjdG9yeToKKy0K
Ky1gYGAKKy0kIGNkIGFuZ2xlLworLSQgY3AgL3BhdGgvdG8vZmxleC9idWlsZC9zcmMvZmxleCBc
CistICAgICAvcGF0aC90by9iaXNvbi9idWlsZC9zcmMvYmlzb24gXAorLSAgICAgdG9vbHMvZmxl
eC1iaXNvbi9saW51eC8KKy1gYGAKKy0KKy1VcGxvYWQgdGhlIGJpbmFyaWVzOgorLQorLWBgYAor
LSQgY2QgYW5nbGUvCistJCBweXRob24gdG9vbHMvZmxleC1iaXNvbi91cGRhdGVfZmxleF9iaXNv
bl9iaW5hcmllcy5weQorLWBgYAorLQorLVtCaXNvbl06IGh0dHBzOi8vd3d3LmdudS5vcmcvc29m
dHdhcmUvYmlzb24vCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi9saW51eC9iaXNvbi5zaGExIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9v
bHMvZmxleC1iaXNvbi9saW51eC9iaXNvbi5zaGExCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
K2luZGV4IGM5M2Q5MmRlNDE5Li4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvdG9vbHMvZmxleC1iaXNvbi9saW51eC9iaXNvbi5zaGExCisrKysgL2Rldi9udWxsCitA
QCAtMSArMCwwIEBACistZTYyOGI3M2NkMGE3NjdkOTNlMWY5NGI1YTg2Y2U1MWNhODNjOTlkNQor
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi9saW51eC9mbGV4LnNoYTEgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL2xpbnV4L2ZsZXguc2hhMQorZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CitpbmRleCBkMzQwMDQ3Y2ExMi4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vbGludXgvZmxleC5zaGExCisrKysg
L2Rldi9udWxsCitAQCAtMSArMCwwIEBACistZTgzMGU2YzA1MDhkOTY4NTg3NmU3NzMwNGJiZTdj
NGExMjJjMDhlOAorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS8uZ2l0YXR0
cmlidXRlcyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRf
cGFydHkvLmdpdGF0dHJpYnV0ZXMKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDY4
OGM4YTE0OTEuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29s
cy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5Ly5naXRhdHRyaWJ1dGVzCisrKysgL2Rldi9udWxsCitA
QCAtMSArMCwwIEBACistKiAgICAgICAgICAgICAgICAgICAgZW9sPWxmCitkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1
Z2FyL0xJQ0VOU0UgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3Ro
aXJkX3BhcnR5L200c3VnYXIvTElDRU5TRQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl
eCBkNTExOTA1YzE2NC4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9MSUNFTlNFCisrKysgL2Rldi9u
dWxsCitAQCAtMSwzMzkgKzAsMCBAQAorLQkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNF
CistCQkgICAgICAgVmVyc2lvbiAyLCBKdW5lIDE5OTEKKy0KKy0gQ29weXJpZ2h0IChDKSAxOTg5
LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKy0gNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorLSBFdmVyeW9uZSBp
cyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKy0gb2Yg
dGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCist
CistCQkJICAgIFByZWFtYmxlCistCistICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUg
YXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCistZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hh
bmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKy1MaWNlbnNlIGlz
IGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBm
cmVlCistc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxs
IGl0cyB1c2Vycy4gIFRoaXMKKy1HZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gbW9z
dCBvZiB0aGUgRnJlZSBTb2Z0d2FyZQorLUZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55
IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8KKy11c2luZyBpdC4gIChTb21l
IG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5Cist
dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpbnN0ZWFkLikgIFlvdSBjYW4g
YXBwbHkgaXQgdG8KKy15b3VyIHByb2dyYW1zLCB0b28uCistCistICBXaGVuIHdlIHNwZWFrIG9m
IGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CistcHJpY2Uu
ICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0
aGF0IHlvdQorLWhhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBz
b2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3IKKy10aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0
IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQKKy1pZiB5b3Ugd2FudCBpdCwg
dGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAorLWlu
IG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRoZXNlIHRo
aW5ncy4KKy0KKy0gIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0
cmljdGlvbnMgdGhhdCBmb3JiaWQKKy1hbnlvbmUgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9y
IHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuCistVGhlc2UgcmVzdHJpY3Rpb25z
IHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UKKy1k
aXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCist
CistICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9n
cmFtLCB3aGV0aGVyCistZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVj
aXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0CisteW91IGhhdmUuICBZb3UgbXVzdCBtYWtlIHN1
cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUKKy1zb3VyY2UgY29kZS4g
IEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyCist
cmlnaHRzLgorLQorLSAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczogKDEp
IGNvcHlyaWdodCB0aGUgc29mdHdhcmUsIGFuZAorLSgyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNl
IHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCistZGlzdHJpYnV0ZSBh
bmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4KKy0KKy0gIEFsc28sIGZvciBlYWNoIGF1dGhvcidz
IHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCistdGhhdCBldmVy
eW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUK
Ky1zb2Z0d2FyZS4gIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2Ug
YW5kIHBhc3NlZCBvbiwgd2UKKy13YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0
IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbworLXRoYXQgYW55IHByb2JsZW1zIGlu
dHJvZHVjZWQgYnkgb3RoZXJzIHdpbGwgbm90IHJlZmxlY3Qgb24gdGhlIG9yaWdpbmFsCistYXV0
aG9ycycgcmVwdXRhdGlvbnMuCistCistICBGaW5hbGx5LCBhbnkgZnJlZSBwcm9ncmFtIGlzIHRo
cmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZQorLXBhdGVudHMuICBXZSB3aXNoIHRvIGF2
b2lkIHRoZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUKKy1wcm9ncmFtIHdp
bGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcg
dGhlCistcHJvZ3JhbSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgd2UgaGF2ZSBtYWRl
IGl0IGNsZWFyIHRoYXQgYW55CistcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yIGV2ZXJ5b25l
J3MgZnJlZSB1c2Ugb3Igbm90IGxpY2Vuc2VkIGF0IGFsbC4KKy0KKy0gIFRoZSBwcmVjaXNlIHRl
cm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCistbW9kaWZp
Y2F0aW9uIGZvbGxvdy4KKy0KKy0JCSAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorLSAg
IFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElG
SUNBVElPTgorLQorLSAgMC4gVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IHByb2dyYW0gb3Ig
b3RoZXIgd29yayB3aGljaCBjb250YWlucworLWEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJp
Z2h0IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkCistdW5kZXIgdGhlIHRlcm1z
IG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LAor
LXJlZmVycyB0byBhbnkgc3VjaCBwcm9ncmFtIG9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9u
IHRoZSBQcm9ncmFtIgorLW1lYW5zIGVpdGhlciB0aGUgUHJvZ3JhbSBvciBhbnkgZGVyaXZhdGl2
ZSB3b3JrIHVuZGVyIGNvcHlyaWdodCBsYXc6CistdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250
YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKKy1laXRoZXIgdmVyYmF0aW0g
b3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhlcgorLWxh
bmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3aXRob3V0IGxp
bWl0YXRpb24gaW4KKy10aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlz
IGFkZHJlc3NlZCBhcyAieW91Ii4KKy0KKy1BY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywg
ZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAorLWNvdmVyZWQgYnkgdGhpcyBM
aWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKKy1ydW5uaW5n
IHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQ
cm9ncmFtCistaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29y
ayBiYXNlZCBvbiB0aGUKKy1Qcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRl
IGJ5IHJ1bm5pbmcgdGhlIFByb2dyYW0pLgorLVdoZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMg
b24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLgorLQorLSAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0
cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCistc291cmNlIGNvZGUgYXMg
eW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91CistY29uc3Bp
Y3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3By
aWF0ZQorLWNvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAg
aW50YWN0IGFsbCB0aGUKKy1ub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0
byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7CistYW5kIGdpdmUgYW55IG90aGVyIHJlY2lw
aWVudHMgb2YgdGhlIFByb2dyYW0gYSBjb3B5IG9mIHRoaXMgTGljZW5zZQorLWFsb25nIHdpdGgg
dGhlIFByb2dyYW0uCistCistWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBh
Y3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5kCisteW91IG1heSBhdCB5b3VyIG9wdGlvbiBv
ZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KKy0KKy0gIDIu
IFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55
IHBvcnRpb24KKy1vZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3Jh
bSwgYW5kIGNvcHkgYW5kCistZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1
bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCistYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFs
c28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKKy0KKy0gICAgYSkgWW91IG11c3QgY2F1
c2UgdGhlIG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCistICAgIHN0
YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBjaGFu
Z2UuCistCistICAgIGIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1
dGUgb3IgcHVibGlzaCwgdGhhdCBpbgorLSAgICB3aG9sZSBvciBpbiBwYXJ0IGNvbnRhaW5zIG9y
IGlzIGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSBvciBhbnkKKy0gICAgcGFydCB0aGVyZW9mLCB0
byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJnZSB0byBhbGwgdGhpcmQKKy0gICAg
cGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorLQorLSAgICBjKSBJZiB0
aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5
CistICAgIHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcg
Zm9yIHN1Y2gKKy0gICAgaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwg
dG8gcHJpbnQgb3IgZGlzcGxheSBhbgorLSAgICBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFw
cHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKKy0gICAgbm90aWNlIHRoYXQgdGhlcmUg
aXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlCistICAgIGEg
d2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5k
ZXIKKy0gICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZp
ZXcgYSBjb3B5IG9mIHRoaXMKKy0gICAgTGljZW5zZS4gIChFeGNlcHRpb246IGlmIHRoZSBQcm9n
cmFtIGl0c2VsZiBpcyBpbnRlcmFjdGl2ZSBidXQKKy0gICAgZG9lcyBub3Qgbm9ybWFsbHkgcHJp
bnQgc3VjaCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbgorLSAgICB0aGUgUHJv
Z3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikKKy0KKy1UaGVz
ZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElm
CistaWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJv
bSB0aGUgUHJvZ3JhbSwKKy1hbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVu
ZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KKy10aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5z
ZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCistc2VjdGlvbnMgd2hlbiB5
b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CistZGlz
dHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3
b3JrIGJhc2VkCistb24gdGhlIFByb2dyYW0sIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xl
IG11c3QgYmUgb24gdGhlIHRlcm1zIG9mCistdGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9u
cyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKKy1lbnRpcmUgd2hvbGUsIGFuZCB0
aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCist
CistVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJp
Z2h0cyBvciBjb250ZXN0CisteW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5
IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCistZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNv
bnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCistY29sbGVjdGl2ZSB3b3Jr
cyBiYXNlZCBvbiB0aGUgUHJvZ3JhbS4KKy0KKy1JbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlv
biBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBQcm9ncmFtCistd2l0aCB0aGUgUHJv
Z3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9m
CistYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90
aGVyIHdvcmsgdW5kZXIKKy10aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgorLQorLSAgMy4gWW91
IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhIHdvcmsgYmFzZWQgb24g
aXQsCistdW5kZXIgU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0g
dW5kZXIgdGhlIHRlcm1zIG9mCistU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0
IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgorLQorLSAgICBhKSBBY2NvbXBhbnkg
aXQgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlCistICAg
IHNvdXJjZSBjb2RlLCB3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBv
ZiBTZWN0aW9ucworLSAgICAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVz
ZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKy0KKy0gICAgYikgQWNjb21wYW55IGl0
IHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKKy0gICAgeWVh
cnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlv
dXIKKy0gICAgY29zdCBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgc291cmNlIGRpc3RyaWJ1dGlv
biwgYSBjb21wbGV0ZQorLSAgICBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3Bv
bmRpbmcgc291cmNlIGNvZGUsIHRvIGJlCistICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJt
cyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtCistICAgIGN1c3RvbWFyaWx5
IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKy0KKy0gICAgYykgQWNjb21wYW55
IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKKy0g
ICAgdG8gZGlzdHJpYnV0ZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLiAgKFRoaXMgYWx0ZXJu
YXRpdmUgaXMKKy0gICAgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlv
biBhbmQgb25seSBpZiB5b3UKKy0gICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNv
ZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHdpdGggc3VjaAorLSAgICBhbiBvZmZlciwgaW4gYWNjb3Jk
IHdpdGggU3Vic2VjdGlvbiBiIGFib3ZlLikKKy0KKy1UaGUgc291cmNlIGNvZGUgZm9yIGEgd29y
ayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCistbWFraW5nIG1vZGlm
aWNhdGlvbnMgdG8gaXQuICBGb3IgYW4gZXhlY3V0YWJsZSB3b3JrLCBjb21wbGV0ZSBzb3VyY2UK
Ky1jb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRh
aW5zLCBwbHVzIGFueQorLWFzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBs
dXMgdGhlIHNjcmlwdHMgdXNlZCB0bworLWNvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxh
dGlvbiBvZiB0aGUgZXhlY3V0YWJsZS4gIEhvd2V2ZXIsIGFzIGEKKy1zcGVjaWFsIGV4Y2VwdGlv
biwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUKKy1hbnl0aGlu
ZyB0aGF0IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFy
eQorLWZvcm0pIHdpdGggdGhlIG1ham9yIGNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFu
ZCBzbyBvbikgb2YgdGhlCistb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJs
ZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKKy1pdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4
ZWN1dGFibGUuCistCistSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUgb3Igb2JqZWN0IGNv
ZGUgaXMgbWFkZSBieSBvZmZlcmluZworLWFjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVk
IHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKKy1hY2Nlc3MgdG8gY29weSB0aGUgc291
cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBjb3VudHMgYXMKKy1kaXN0cmlidXRpb24gb2Yg
dGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKKy1jb21w
ZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgorLQor
LSAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRl
IHRoZSBQcm9ncmFtCistZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExp
Y2Vuc2UuICBBbnkgYXR0ZW1wdAorLW90aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vu
c2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcworLXZvaWQsIGFuZCB3aWxsIGF1dG9tYXRp
Y2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KKy1Ib3dldmVy
LCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywgb3IgcmlnaHRzLCBmcm9tIHlvdSB1
bmRlcgorLXRoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0
ZWQgc28gbG9uZyBhcyBzdWNoCistcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgor
LQorLSAgNS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2lu
Y2UgeW91IGhhdmUgbm90Cistc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50
cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKKy1kaXN0cmlidXRlIHRoZSBQcm9ncmFtIG9y
IGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKKy1wcm9oaWJpdGVkIGJ5
IGxhdyBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5Cist
bW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQg
b24gdGhlCistUHJvZ3JhbSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBM
aWNlbnNlIHRvIGRvIHNvLCBhbmQKKy1hbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBj
b3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nCistdGhlIFByb2dyYW0gb3Igd29ya3Mg
YmFzZWQgb24gaXQuCistCistICA2LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJv
Z3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCistUHJvZ3JhbSksIHRoZSByZWNpcGllbnQg
YXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKKy1vcmlnaW5hbCBsaWNl
bnNvciB0byBjb3B5LCBkaXN0cmlidXRlIG9yIG1vZGlmeSB0aGUgUHJvZ3JhbSBzdWJqZWN0IHRv
CistdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1
cnRoZXIKKy1yZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSBy
aWdodHMgZ3JhbnRlZCBoZXJlaW4uCistWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9y
Y2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgdG8KKy10aGlzIExpY2Vuc2UuCistCist
ICA3LiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRp
b24gb2YgcGF0ZW50CistaW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3Qg
bGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwKKy1jb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlv
dSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCistb3RoZXJ3aXNlKSB0aGF0
IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAor
LWV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3Ug
Y2Fubm90CistZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIg
b2JsaWdhdGlvbnMgdW5kZXIgdGhpcworLUxpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQg
b2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKKy1tYXkgbm90IGRpc3RyaWJ1
dGUgdGhlIFByb2dyYW0gYXQgYWxsLiAgRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50CistbGljZW5z
ZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJv
Z3JhbSBieQorLWFsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJl
Y3RseSB0aHJvdWdoIHlvdSwgdGhlbgorLXRoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBi
b3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8KKy1yZWZyYWluIGVudGlyZWx5IGZy
b20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgorLQorLUlmIGFueSBwb3J0aW9uIG9mIHRo
aXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlcgorLWFueSBw
YXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50
ZW5kZWQgdG8KKy1hcHBseSBhbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0
byBhcHBseSBpbiBvdGhlcgorLWNpcmN1bXN0YW5jZXMuCistCistSXQgaXMgbm90IHRoZSBwdXJw
b3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQorLXBhdGVu
dHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkg
b2YgYW55Cistc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBv
ZiBwcm90ZWN0aW5nIHRoZQorLWludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmli
dXRpb24gc3lzdGVtLCB3aGljaCBpcworLWltcGxlbWVudGVkIGJ5IHB1YmxpYyBsaWNlbnNlIHBy
YWN0aWNlcy4gIE1hbnkgcGVvcGxlIGhhdmUgbWFkZQorLWdlbmVyb3VzIGNvbnRyaWJ1dGlvbnMg
dG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKKy10aHJvdWdoIHRoYXQg
c3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdAorLXN5
c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hl
IGlzIHdpbGxpbmcKKy10byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5
c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKKy1pbXBvc2UgdGhhdCBjaG9pY2UuCistCistVGhp
cyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJl
bGlldmVkIHRvCistYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2Uu
CistCistICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0g
aXMgcmVzdHJpY3RlZCBpbgorLWNlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9y
IGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQorLW9yaWdpbmFsIGNvcHlyaWdodCBob2xk
ZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UKKy1tYXkgYWRkIGFu
IGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcK
Ky10aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5
IGluIG9yIGFtb25nCistY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNl
LCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCistdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRl
biBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCistCistICA5LiBUaGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucworLW9m
IHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcg
dmVyc2lvbnMgd2lsbAorLWJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNp
b24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bworLWFkZHJlc3MgbmV3IHByb2JsZW1zIG9y
IGNvbmNlcm5zLgorLQorLUVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZl
cnNpb24gbnVtYmVyLiAgSWYgdGhlIFByb2dyYW0KKy1zcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJl
ciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQgImFueQorLWxhdGVyIHZl
cnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNv
bmRpdGlvbnMKKy1laXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9u
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorLVNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgUHJv
Z3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YKKy10aGlzIExpY2Vuc2Us
IHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlCistRm91bmRhdGlvbi4KKy0KKy0gIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0
ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKKy1wcm9ncmFtcyB3aG9zZSBk
aXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgZGlmZmVyZW50LCB3cml0ZSB0byB0aGUgYXV0aG9y
CistdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdo
dGVkIGJ5IHRoZSBGcmVlCistU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzCistbWFrZSBleGNlcHRpb25zIGZvciB0
aGlzLiAgT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMKKy1vZiBw
cmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUg
c29mdHdhcmUgYW5kCistb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0
d2FyZSBnZW5lcmFsbHkuCistCistCQkJICAgIE5PIFdBUlJBTlRZCistCistICAxMS4gQkVDQVVT
RSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8gV0FS
UkFOVFkKKy1GT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJ
Q0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4KKy1PVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTCistUFJPVklERSBUSEUgUFJP
R1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNT
RUQKKy1PUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRgorLU1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMKKy1UTyBUSEUgUVVBTElUWSBBTkQg
UEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0gSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFCistUFJP
R1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FS
WSBTRVJWSUNJTkcsCistUkVQQUlSIE9SIENPUlJFQ1RJT04uCistCistICAxMi4gSU4gTk8gRVZF
TlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklU
SU5HCistV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBN
QVkgTU9ESUZZIEFORC9PUgorLVJFRElTVFJJQlVURSBUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQg
QUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsCistSU5DTFVESU5HIEFOWSBHRU5F
UkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5H
CistT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRAorLVRPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRF
UkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWQorLVlPVSBPUiBUSElSRCBQQVJU
SUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVS
CistUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVO
IEFEVklTRUQgT0YgVEhFCistUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLgorLQorLQkJICAg
ICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKy0KKy0JICAgIEhvdyB0byBBcHBseSBUaGVz
ZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcworLQorLSAgSWYgeW91IGRldmVsb3AgYSBuZXcg
cHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAorLXBvc3NpYmxl
IHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1h
a2UgaXQKKy1mcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5k
IGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KKy0KKy0gIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZv
bGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CistdG8gYXR0YWNo
IHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVs
eQorLWNvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3Vs
ZCBoYXZlIGF0IGxlYXN0CistdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3
aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCistCistICAgIDxvbmUgbGluZSB0byBnaXZl
IHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+Cist
ICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+CistCistICAgIFRoaXMg
cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
bW9kaWZ5CistICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCistICAgIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistCistICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLSAgICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSAg
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlCistICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CistCistICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCistICAgIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCistICAgIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCist
CistQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9u
aWMgYW5kIHBhcGVyIG1haWwuCistCistSWYgdGhlIHByb2dyYW0gaXMgaW50ZXJhY3RpdmUsIG1h
a2UgaXQgb3V0cHV0IGEgc2hvcnQgbm90aWNlIGxpa2UgdGhpcworLXdoZW4gaXQgc3RhcnRzIGlu
IGFuIGludGVyYWN0aXZlIG1vZGU6CistCistICAgIEdub21vdmlzaW9uIHZlcnNpb24gNjksIENv
cHlyaWdodCAoQykgeWVhciBuYW1lIG9mIGF1dGhvcgorLSAgICBHbm9tb3Zpc2lvbiBjb21lcyB3
aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCist
ICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3Ry
aWJ1dGUgaXQKKy0gICAgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zOyB0eXBlIGBzaG93IGMnIGZv
ciBkZXRhaWxzLgorLQorLVRoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBz
aG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQorLXBhcnRzIG9mIHRoZSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUgY29tbWFuZHMgeW91IHVzZSBtYXkKKy1i
ZSBjYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYHNob3cgdycgYW5kIGBzaG93IGMnOyB0aGV5
IGNvdWxkIGV2ZW4gYmUKKy1tb3VzZS1jbGlja3Mgb3IgbWVudSBpdGVtcy0td2hhdGV2ZXIgc3Vp
dHMgeW91ciBwcm9ncmFtLgorLQorLVlvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAo
aWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCistc2Nob29sLCBpZiBhbnksIHRv
IHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYKKy1uZWNl
c3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CistCistICBZb3lvZHlu
ZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBw
cm9ncmFtCistICBgR25vbW92aXNpb24nICh3aGljaCBtYWtlcyBwYXNzZXMgYXQgY29tcGlsZXJz
KSB3cml0dGVuIGJ5IEphbWVzIEhhY2tlci4KKy0KKy0gIDxzaWduYXR1cmUgb2YgVHkgQ29vbj4s
IDEgQXByaWwgMTk4OQorLSAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKKy0KKy1UaGlzIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBw
cm9ncmFtIGludG8KKy1wcm9wcmlldGFyeSBwcm9ncmFtcy4gIElmIHlvdXIgcHJvZ3JhbSBpcyBh
IHN1YnJvdXRpbmUgbGlicmFyeSwgeW91IG1heQorLWNvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRv
IHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoIHRoZQorLWxpYnJh
cnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBH
ZW5lcmFsCistUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCitkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0
eS9tNHN1Z2FyL1JFQURNRS5jaHJvbWl1bSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xz
L2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9SRUFETUUuY2hyb21pdW0KK2RlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYzYwYTVmZDRmZGMuLjAwMDAwMDAwMDAwCistLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3Vn
YXIvUkVBRE1FLmNocm9taXVtCisrKysgL2Rldi9udWxsCitAQCAtMSwxMSArMCwwIEBACistTmFt
ZTogQXV0b2NvbmYgTTQgbWFjcm9zIHVzZWQgYnkgQmlzb24KKy1TaG9ydCBOYW1lOiBtNHN1Z2Fy
CistVVJMOiBodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9jb25mLworLVZlcnNpb246
IHVua25vd24KKy1MaWNlbnNlOiBHUEwKKy1MaWNlbnNlIEZpbGU6IExJQ0VOU0UKKy1TZWN1cml0
eSBjcml0aWNhbDogbm8KKy0KKy1EZXNjcmlwdGlvbjoKKy1CaXNvbiB1c2VzIE00IHRvIGdlbmVy
YXRlIGl0cyBvdXRwdXQsIGFuZCB1c2VzIHRoZSB1dGlsaXR5IE00IG1hY3JvcyBpbiB0aGlzCist
ZGlyZWN0b3J5LgorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2Zs
ZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9mb3JlYWNoLm00IGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL2ZvcmVhY2gubTQK
K2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNzA5M2QwZmNjNGUuLjAwMDAwMDAwMDAw
CistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3Bh
cnR5L200c3VnYXIvZm9yZWFjaC5tNAorKysrIC9kZXYvbnVsbAorQEAgLTEsMzYyICswLDAgQEAK
Ky0jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0g
QXV0b2NvbmYgLSotCistIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBBdXRvY29uZi4KKy0jIGZvcmVh
Y2gtYmFzZWQgcmVwbGFjZW1lbnRzIGZvciByZWN1cnNpdmUgZnVuY3Rpb25zLgorLSMgU3BlZWRz
IHVwIEdOVSBNNCAxLjQueCBieSBhdm9pZGluZyBxdWFkcmF0aWMgJEAgcmVjdXJzaW9uLCBidXQg
cGVuYWxpemVzCistIyBHTlUgTTQgMS42IGJ5IHJlcXVpcmluZyBtb3JlIG1lbW9yeSBhbmQgbWFj
cm8gZXhwYW5zaW9ucy4KKy0jCistIyBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxNyBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4KKy0KKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEF1dG9jb25m
LiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUKKy0jIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQorLSMgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKy0jIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKy0jIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistIworLSMgVGhpcyBwcm9ncmFtIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistIyBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
LSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZQorLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
Ky0jCistIyBVbmRlciBTZWN0aW9uIDcgb2YgR1BMIHZlcnNpb24gMywgeW91IGFyZSBncmFudGVk
IGFkZGl0aW9uYWwKKy0jIHBlcm1pc3Npb25zIGRlc2NyaWJlZCBpbiB0aGUgQXV0b2NvbmYgQ29u
ZmlndXJlIFNjcmlwdCBFeGNlcHRpb24sCistIyB2ZXJzaW9uIDMuMCwgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCistIworLSMgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0jIGFuZCBh
IGNvcHkgb2YgdGhlIEF1dG9jb25mIENvbmZpZ3VyZSBTY3JpcHQgRXhjZXB0aW9uIGFsb25nIHdp
dGgKKy0jIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlcyBDT1BZSU5HdjMgYW5kIENPUFlJTkcu
RVhDRVBUSU9OCistIyByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251
Lm9yZy9saWNlbnNlcy8+LgorLQorLSMgV3JpdHRlbiBieSBFcmljIEJsYWtlLgorLQorLSMgSW4g
TTQgMS40LngsIGV2ZXJ5IGJ5dGUgb2YgJEAgaXMgcmVzY2FubmVkLiAgVGhpcyBtZWFucyB0aGF0
IGFuCistIyBhbGdvcml0aG0gb24gbiBhcmd1bWVudHMgdGhhdCByZWN1cnNlcyB3aXRoIG9uZSBs
ZXNzIGFyZ3VtZW50IGVhY2gKKy0jIGl0ZXJhdGlvbiB3aWxsIHNjYW4gbiAqIChuICsgMSkgLyAy
IGFyZ3VtZW50cywgZm9yIE8obl4yKSB0aW1lLiAgSW4KKy0jIE00IDEuNiwgdGhpcyB3YXMgZml4
ZWQgc28gdGhhdCAkQCBpcyBvbmx5IHNjYW5uZWQgb25jZSwgdGhlbgorLSMgYmFjay1yZWZlcmVu
Y2VzIGFyZSBtYWRlIHRvIGluZm9ybWF0aW9uIHN0b3JlZCBhYm91dCB0aGUgc2Nhbi4KKy0jIFRo
dXMsIG4gaXRlcmF0aW9ucyBuZWVkIG9ubHkgc2NhbiBuIGFyZ3VtZW50cywgZm9yIE8obikgdGlt
ZS4KKy0jIEFkZGl0aW9uYWxseSwgaW4gTTQgMS40LngsIHJlY3Vyc2l2ZSBhbGdvcml0aG1zIGRp
ZCBub3QgY2xlYW4gdXAKKy0jIG1lbW9yeSB2ZXJ5IHdlbGwsIHJlcXVpcmluZyBPKG5eMikgbWVt
b3J5IHJhdGhlciB0aGFuIE8obikgZm9yIG4KKy0jIGl0ZXJhdGlvbnMuCistIworLSMgVGhpcyBm
aWxlIGlzIGRlc2lnbmVkIHRvIG92ZXJjb21lIHRoZSBxdWFkcmF0aWMgbmF0dXJlIG9mICRACist
IyByZWN1cnNpb24gYnkgd3JpdGluZyBhIHZhcmlhbnQgb2YgbTRfZm9yZWFjaCB0aGF0IHVzZXMg
bTRfZm9yIHJhdGhlcgorLSMgdGhhbiAkQCByZWN1cnNpb24gdG8gb3BlcmF0ZSBvbiB0aGUgbGlz
dC4gIFRoaXMgaW52b2x2ZXMgbW9yZSBtYWNybworLSMgZXhwYW5zaW9ucywgYnV0IGF2b2lkcyB0
aGUgbmVlZCB0byByZXNjYW4gYSBxdWFkcmF0aWMgbnVtYmVyIG9mCistIyBhcmd1bWVudHMsIG1h
a2luZyB0aGVzZSByZXBsYWNlbWVudHMgdmVyeSBhdHRyYWN0aXZlIGZvciBNNCAxLjQueC4KKy0j
IE9uIHRoZSBvdGhlciBoYW5kLCBpbiBhbnkgdmVyc2lvbiBvZiBNNCwgZXhwYW5kaW5nIGFkZGl0
aW9uYWwgbWFjcm9zCistIyBjb3N0cyBhZGRpdGlvbmFsIHRpbWU7IHRoZXJlZm9yZSwgaW4gTTQg
MS42LCB3aGVyZSAkQCByZWN1cnNpb24gdXNlcworLSMgZmV3ZXIgbWFjcm9zLCB0aGVzZSByZXBs
YWNlbWVudHMgYWN0dWFsbHkgcGVzc2ltaXplIHBlcmZvcm1hbmNlLgorLSMgQWRkaXRpb25hbGx5
LCB0aGUgdXNlIG9mICQxMCB0byBtZWFuIHRoZSB0ZW50aCBhcmd1bWVudCB2aW9sYXRlcworLSMg
UE9TSVg7IGFsdGhvdWdoIGFsbCB2ZXJzaW9ucyBvZiBtNCAxLjQueCBzdXBwb3J0IHRoaXMgbWVh
bmluZywgYQorLSMgZnV0dXJlIG00IHZlcnNpb24gbWF5IHN3aXRjaCB0byB0YWtlIGl0IGFzIHRo
ZSBmaXJzdCBhcmd1bWVudAorLSMgY29uY2F0ZW5hdGVkIHdpdGggYSBsaXRlcmFsIDAsIHNvIHRo
ZSBpbXBsZW1lbnRhdGlvbnMgaW4gdGhpcyBmaWxlCistIyBhcmUgbm90IGZ1dHVyZS1wcm9vZi4g
IFRodXMsIHRoaXMgZmlsZSBpcyBjb25kaXRpb25hbGx5IGluY2x1ZGVkIGFzCistIyBwYXJ0IG9m
IG00X2luaXQoKSwgb25seSB3aGVuIGl0IGlzIGRldGVjdGVkIHRoYXQgTTQgcHJvYmFibHkgaGFz
CistIyBxdWFkcmF0aWMgYmVoYXZpb3IgKGllLiBpdCBsYWNrcyB0aGUgbWFjcm8gX19tNF92ZXJz
aW9uX18pLgorLSMKKy0jIFBsZWFzZSBrZWVwIHRoaXMgZmlsZSBpbiBzeW5jIHdpdGggbTRzdWdh
ci5tNC4KKy0KKy0jIF9tNF9mb3JlYWNoKFBSRSwgUE9TVCwgSUdOT1JFRCwgQVJHLi4uKQorLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBGb3JtIHRoZSBjb21t
b24gYmFzaXMgb2YgdGhlIG00X2ZvcmVhY2ggYW5kIG00X21hcCBtYWNyb3MuICBGb3IgZWFjaAor
LSMgQVJHLCBleHBhbmQgUFJFW0FSR11QT1NUW10uICBUaGUgSUdOT1JFRCBhcmd1bWVudCBtYWtl
cyByZWN1cnNpb24KKy0jIGVhc2llciwgYW5kIG11c3QgYmUgc3VwcGxpZWQgcmF0aGVyIHRoYW4g
aW1wbGljaXQuCistIworLSMgVGhpcyB2ZXJzaW9uIG1pbmltaXplcyB0aGUgbnVtYmVyIG9mIHRp
bWVzIHRoYXQgJEAgaXMgZXZhbHVhdGVkIGJ5CistIyB1c2luZyBtNF9mb3IgdG8gZ2VuZXJhdGUg
YSBib2lsZXJwbGF0ZSBpbnRvIF9tNF9mIHRoZW4gcGFzc2luZyAkQCB0bworLSMgdGhhdCB0ZW1w
b3JhcnkgbWFjcm8uICBUaHVzLCB0aGUgcmVjdXJzaW9uIGlzIGRvbmUgaW4gbTRfZm9yIHdpdGhv
dXQKKy0jIHJlcGFyc2luZyBhbnkgdXNlciBpbnB1dCwgYW5kIGlzIG5vdCBxdWFkcmF0aWMuICBG
b3IgYW4gaWRlYSBvZiBob3cKKy0jIHRoaXMgd29ya3MsIG5vdGUgdGhhdCBtNF9mb3JlYWNoKGks
WzEsMl0sW2ldKSBjYWxscworLSMgICBfbTRfZm9yZWFjaChbbTRfZGVmaW5lKFtpXSxdLFspaV0s
W10sWzFdLFsyXSkKKy0jIHdoaWNoIGRlZmluZXMgX200X2Y6CistIyAgICQxWyQ0XSQyW10kMVsk
NV0kMltdX200X3BvcGRlZihbX200X2ZdKQorLSMgdGhlbiBjYWxscyBfbTRfZihbbTRfZGVmaW5l
KFtpXSxdLFspaV0sW10sWzFdLFsyXSkgZm9yIGEgbmV0IHJlc3VsdDoKKy0jICAgbTRfZGVmaW5l
KFtpXSxbMV0paVtdbTRfZGVmaW5lKFtpXSxbMl0paVtdX200X3BvcGRlZihbX200X2ZdKS4KKy1t
NF9kZWZpbmUoW19tNF9mb3JlYWNoXSwKKy1bbTRfaWYoWyQjXSwgWzNdLCBbXSwKKy0gICAgICAg
W200X3B1c2hkZWYoW19tNF9mXSwgX200X2ZvcihbNF0sIFskI10sIFsxXSwKKy0gICBbJDBfKFsx
XSwgWzJdLF0sIFspXSlbX200X3BvcGRlZihbX200X2ZdKV0pX200X2YoJEApXSldKQorLQorLW00
X2RlZmluZShbX200X2ZvcmVhY2hfXSwKKy1bWyQkMVskJDNdJCQyW11dXSkKKy0KKy0jIG00X2Nh
c2UoU1dJVENILCBWQUwxLCBJRi1WQUwxLCBWQUwyLCBJRi1WQUwyLCAuLi4sIERFRkFVTFQpCist
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgRmluZCB0aGUgZmlyc3QgVkFMIHRoYXQgU1dJVENIIG1hdGNoZXMsIGFuZCBleHBh
bmQgdGhlIGNvcnJlc3BvbmRpbmcKKy0jIElGLVZBTC4gIElmIHRoZXJlIGFyZSBubyBtYXRjaGVz
LCBleHBhbmQgREVGQVVMVC4KKy0jCistIyBVc2UgbTRfZm9yIHRvIGNyZWF0ZSBhIHRlbXBvcmFy
eSBtYWNybyBpbiB0ZXJtcyBvZiBhIGJvaWxlcnBsYXRlCistIyBtNF9pZiB3aXRoIGZpbmFsIGNs
ZWFudXAuICBJZiAkIyBpcyBldmVuLCB3ZSBoYXZlIERFRkFVTFQ7IGlmIGl0IGlzCistIyBvZGQs
IHRoZW4gcm91bmRpbmcgdGhlIGxhc3QgJCMgdXAgaW4gdGhlIHRlbXBvcmFyeSBtYWNybyBpcwor
LSMgaGFybWxlc3MuICBGb3IgZXhhbXBsZSwgYm90aCBtNF9jYXNlKDEsMiwzLDQsNSkgYW5kCist
IyBtNF9jYXNlKDEsMiwzLDQsNSw2KSByZXN1bHQgaW4gdGhlIGludGVybWVkaWF0ZSBfbTRfY2Fz
ZSBiZWluZworLSMgICBtNF9pZihbJDFdLFskMl0sWyQzXSxbJDFdLFskNF0sWyQ1XSxfbTRfcG9w
ZGVmKFtfbTRfY2FzZV0pWyQ2XSkKKy1tNF9kZWZpbmUoW200X2Nhc2VdLAorLVttNF9pZihtNF9l
dmFsKFskIyA8PSAyXSksIFsxXSwgWyQyXSwKKy1bbTRfcHVzaGRlZihbXyQwXSwgW200X2lmKF1f
bTRfZm9yKFsyXSwgbTRfZXZhbChbKCQjIC0gMSkgLyAyICogMl0pLCBbMl0sCistICAgICBbXyQw
XyhdLCBbKV0pW19tNF9wb3BkZWYoCistCSBbXyQwXSldbTRfZHF1b3RlKCRtNF9ldmFsKFsoJCMg
KyAxKSAmIH4xXSkpWyldKV8kMCgkQCldKV0pCistCistbTRfZGVmaW5lKFtfbTRfY2FzZV9dLAor
LVskMF8oWzFdLCBbJDFdLCBtNF9pbmNyKFskMV0pKV0pCistCistbTRfZGVmaW5lKFtfbTRfY2Fz
ZV9fXSwKKy1bW1skJDFdLFskJDJdLFskJDNdLF1dKQorLQorLSMgbTRfYm1hdGNoKFNXSVRDSCwg
UkUxLCBWQUwxLCBSRTIsIFZBTDIsIC4uLiwgREVGQVVMVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBtNCBlcXVpdmFsZW50IG9m
CistIworLSMgaWYgKFNXSVRDSCA9fiBSRTEpCistIyAgIFZBTDE7CistIyBlbGlmIChTV0lUQ0gg
PX4gUkUyKQorLSMgICBWQUwyOworLSMgZWxpZiAuLi4KKy0jICAgLi4uCistIyBlbHNlCistIyAg
IERFRkFVTFQKKy0jCistIyBXZSBidWlsZCB0aGUgdGVtcG9yYXJ5IG1hY3JvIF9tNF9iOgorLSMg
ICBtNF9kZWZpbmUoW19tNF9iXSwgX200X2RlZm4oW19tNF9ibWF0Y2hdKSlfbTRfYihbJDFdLCBb
JDJdLCBbJDNdKS4uLgorLSMgICBfbTRfYihbJDFdLCBbJG0tMV0sIFskbV0pX200X2IoW10sIFtd
LCBbJG0rMV1fbTRfcG9wZGVmKFtfbTRfYl0pKQorLSMgdGhlbiBpbnZva2UgbTRfdW5xdW90ZShf
bTRfYigkQCkpLCBmb3IgY29uY2F0ZW5hdGlvbiB3aXRoIGxhdGVyIHRleHQuCistbTRfZGVmaW5l
KFttNF9ibWF0Y2hdLAorLVttNF9pZihbJCNdLCAwLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFy
Z3VtZW50czogJCNdKV0sCistICAgICAgIFskI10sIDEsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcg
YXJndW1lbnRzOiAkIzogJDFdKV0sCistICAgICAgIFskI10sIDIsIFskMl0sCistICAgICAgIFtt
NF9wdXNoZGVmKFtfbTRfYl0sIFttNF9kZWZpbmUoW19tNF9iXSwKKy0gIF9tNF9kZWZuKFtfJDBd
KSldX200X2ZvcihbM10sIG00X2V2YWwoWygkIyArIDEpIC8gMiAqIDIgLSAxXSksCistICBbMl0s
IFtfJDBfKF0sIFspXSlbX200X2IoW10sIFtdLF1tNF9kcXVvdGUoWyRdbTRfZXZhbCgKKy0gIFso
JCMgKyAxKSAvIDIgKiAyXSkpW19tNF9wb3BkZWYoW19tNF9iXSkpXSltNF91bnF1b3RlKF9tNF9i
KCRAKSldKV0pCistCistbTRfZGVmaW5lKFtfbTRfYm1hdGNoXSwKKy1bbTRfaWYobTRfYnJlZ2V4
cChbJDFdLCBbJDJdKSwgWy0xXSwgW10sIFtbJDNdbTRfZGVmaW5lKFskMF0pXSldKQorLQorLW00
X2RlZmluZShbX200X2JtYXRjaF9dLAorLVskMF8oWzFdLCBtNF9kZWNyKFskMV0pLCBbJDFdKV0p
CistCistbTRfZGVmaW5lKFtfbTRfYm1hdGNoX19dLAorLVtbX200X2IoWyQkMV0sIFskJDJdLCBb
JCQzXSldXSkKKy0KKy0KKy0jIG00X2NvbmQoVEVTVDEsIFZBTDEsIElGLVZBTDEsIFRFU1QyLCBW
QUwyLCBJRi1WQUwyLCAuLi4sIFtERUZBVUxUXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNpbWlsYXIg
dG8gbTRfaWYsIGV4Y2VwdCB0aGF0IGVhY2ggVEVTVCBpcyBleHBhbmRlZCB3aGVuIGVuY291bnRl
cmVkLgorLSMgSWYgdGhlIGV4cGFuc2lvbiBvZiBURVNUbiBtYXRjaGVzIHRoZSBzdHJpbmcgVkFM
biwgdGhlIHJlc3VsdCBpcyBJRi1WQUxuLgorLSMgVGhlIHJlc3VsdCBpcyBERUZBVUxUIGlmIG5v
IHRlc3RzIHBhc3NlZC4gIFRoaXMgbWFjcm8gYWxsb3dzCistIyBzaG9ydC1jaXJjdWl0aW5nIG9m
IGV4cGVuc2l2ZSB0ZXN0cywgd2hlcmUgaXQgcGF5cyB0byBhcnJhbmdlIHF1aWNrCistIyBmaWx0
ZXIgdGVzdHMgdG8gcnVuIGZpcnN0LgorLSMKKy0jIG00X2NvbmQgYWxyZWFkeSBndWFyYW50ZWVz
IGVpdGhlciAzKm4gb3IgMypuICsgMSBhcmd1bWVudHMsIDEgPD0gbi4KKy0jIFdlIG9ubHkgaGF2
ZSB0byBzcGVlZCB1cCBfbTRfY29uZCwgYnkgYnVpbGRpbmcgdGhlIHRlbXBvcmFyeSBfbTRfYzoK
Ky0jICAgbTRfZGVmaW5lKFtfbTRfY10sIF9tNF9kZWZuKFttNF91bnF1b3RlXSkpX200X2MoW200
X2lmKCgkMSksIFsoJDIpXSwKKy0jICAgW1skM11tNF9kZWZpbmUoW19tNF9jXSldKV0pX200X2Mo
W200X2lmKCgkNCksIFsoJDUpXSwKKy0jICAgW1skNl1tNF9kZWZpbmUoW19tNF9jXSldKV0pLi4u
X200X2MoW200X2lmKCgkbS0yKSwgWygkbS0xKV0sCistIyAgIFtbJG1dbTRfZGVmaW5lKFtfbTRf
Y10pXSldKV9tNF9jKFtbJG0rMV1dX200X3BvcGRlZihbX200X2NdKSkKKy0jIFdlIGludm9rZSBt
NF91bnF1b3RlKF9tNF9jKCRAKSksIGZvciBjb25jYXRlbmF0aW9uIHdpdGggbGF0ZXIgdGV4dC4K
Ky1tNF9kZWZpbmUoW19tNF9jb25kXSwKKy1bbTRfcHVzaGRlZihbX200X2NdLCBbbTRfZGVmaW5l
KFtfbTRfY10sCistICBfbTRfZGVmbihbbTRfdW5xdW90ZV0pKV1fbTRfZm9yKFsyXSwgbTRfZXZh
bChbJCMgLyAzICogMyAtIDFdKSwgWzNdLAorLSAgWyQwXyhdLCBbKV0pW19tNF9jKF1tNF9kcXVv
dGUobTRfZHF1b3RlKAorLSAgWyRdbTRfZXZhbChbJCMgLyAzICogMyArIDFdKSkpW19tNF9wb3Bk
ZWYoW19tNF9jXSkpXSltNF91bnF1b3RlKF9tNF9jKCRAKSldKQorLQorLW00X2RlZmluZShbX200
X2NvbmRfXSwKKy1bJDBfKG00X2RlY3IoWyQxXSksIFskMV0sIG00X2luY3IoWyQxXSkpXSkKKy0K
Ky1tNF9kZWZpbmUoW19tNF9jb25kX19dLAorLVtbX200X2MoW200X2lmKCgkJDEpLCBbKCQkMild
LCBbWyQkM11tNF9kZWZpbmUoW19tNF9jXSldKV0pXV0pCistCistIyBtNF9icGF0c3Vic3RzKFNU
UklORywgUkUxLCBTVUJTVDEsIFJFMiwgU1VCU1QyLCAuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBtNCBlcXVpdmFsZW50IG9m
CistIworLSMgICAkXyA9IFNUUklORzsKKy0jICAgcy9SRTEvU1VCU1QxL2c7CistIyAgIHMvUkUy
L1NVQlNUMi9nOworLSMgICAuLi4KKy0jCistIyBtNF9icGF0c3Vic3RzIGFscmVhZHkgdmFsaWRh
dGVkIGFuIG9kZCBudW1iZXIgb2YgYXJndW1lbnRzOyB3ZSBvbmx5CistIyBuZWVkIHRvIHNwZWVk
IHVwIF9tNF9icGF0c3Vic3RzLiAgVG8gYXZvaWQgbmVzdGluZywgd2UgYnVpbGQgdGhlCistIyB0
ZW1wb3JhcnkgX200X3A6CistIyAgIG00X2RlZmluZShbX200X3BdLCBbJDFdKW00X2RlZmluZShb
X200X3BdLAorLSMgICBtNF9icGF0c3Vic3QobTRfZHF1b3RlKF9tNF9kZWZuKFtfbTRfcF0pKSwg
WyQyXSwgWyQzXSkpbTRfZGVmaW5lKFtfbTRfcF0sCistIyAgIG00X2JwYXRzdWJzdChtNF9kcXVv
dGUoX200X2RlZm4oW19tNF9wXSkpLCBbJDRdLCBbJDVdKSltNF9kZWZpbmUoW19tNF9wXSwuLi4K
Ky0jICAgbTRfYnBhdHN1YnN0KG00X2RxdW90ZShfbTRfZGVmbihbX200X3BdKSksIFskbS0xXSwg
WyRtXSkpbTRfdW5xdW90ZSgKKy0jICAgX200X2RlZm4oW19tNF9wXSlfbTRfcG9wZGVmKFtfbTRf
cF0pKQorLW00X2RlZmluZShbX200X2JwYXRzdWJzdHNdLAorLVttNF9wdXNoZGVmKFtfbTRfcF0s
IFttNF9kZWZpbmUoW19tNF9wXSwKKy0gIF1tNF9kcXVvdGUoWyRdMSlbKV1fbTRfZm9yKFszXSwg
WyQjXSwgWzJdLCBbJDBfKF0sCistICBbKV0pW200X3VucXVvdGUoX200X2RlZm4oW19tNF9wXSlf
bTRfcG9wZGVmKFtfbTRfcF0pKV0pX200X3AoJEApXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9icGF0
c3Vic3RzX10sCistWyQwXyhtNF9kZWNyKFskMV0pLCBbJDFdKV0pCistCistbTRfZGVmaW5lKFtf
bTRfYnBhdHN1YnN0c19fXSwKKy1bW200X2RlZmluZShbX200X3BdLAorLW00X2JwYXRzdWJzdCht
NF9kcXVvdGUoX200X2RlZm4oW19tNF9wXSkpLCBbJCQxXSwgWyQkMl0pKV1dKQorLQorLSMgbTRf
c2hpZnRuKE4sIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm5zIC4uLiBzaGlm
dGVkIE4gdGltZXMuICBVc2VmdWwgZm9yIHJlY3Vyc2l2ZSAidmFyYXJncyIgY29uc3RydWN0cy4K
Ky0jCistIyBtNF9zaGlmdG4gYWxyZWFkeSB2YWxpZGF0ZWQgYXJndW1lbnRzOyB3ZSBvbmx5IG5l
ZWQgdG8gc3BlZWQgdXAKKy0jIF9tNF9zaGlmdG4uICBJZiBOIGlzIDMsIHRoZW4gd2UgYnVpbGQg
dGhlIHRlbXBvcmFyeSBfbTRfcywgZGVmaW5lZCBhcworLSMgICAsWyQ1XSxbJDZdLC4uLixbJG1d
X200X3BvcGRlZihbX200X3NdKQorLSMgYmVmb3JlIGNhbGxpbmcgbTRfc2hpZnQoX200X3MoJEAp
KS4KKy1tNF9kZWZpbmUoW19tNF9zaGlmdG5dLAorLVttNF9pZihtNF9pbmNyKFskMV0pLCBbJCNd
LCBbXSwgW200X3B1c2hkZWYoW19tNF9zXSwKKy0gIF9tNF9mb3IobTRfZXZhbChbJDEgKyAyXSks
IFskI10sIFsxXSwKKy0gIFtbLF1tNF9kcXVvdGUoJF0sIFspXSlbX200X3BvcGRlZihbX200X3Nd
KV0pbTRfc2hpZnQoX200X3MoJEApKV0pXSkKKy0KKy0jIG00X2RvKFNUUklORywgLi4uKQorLSMg
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBUaGlzIG1hY3JvIGludm9rZXMgYWxsIGl0cyBhcmd1bWVu
dHMgKGluIHNlcXVlbmNlLCBvZiBjb3Vyc2UpLiAgSXQgaXMKKy0jIHVzZWZ1bCBmb3IgbWFraW5n
IHlvdXIgbWFjcm9zIG1vcmUgc3RydWN0dXJlZCBhbmQgcmVhZGFibGUgYnkgZHJvcHBpbmcKKy0j
IHVubmVjZXNzYXJ5IGRubCdzIGFuZCBoYXZlIHRoZSBtYWNyb3MgaW5kZW50ZWQgcHJvcGVybHku
CistIworLSMgSGVyZSwgd2UgdXNlIHRoZSB0ZW1wb3JhcnkgbWFjcm8gX200X2RvLCBkZWZpbmVk
IGFzCistIyAgICQxW10kMltdLi4uW10kbltdX200X3BvcGRlZihbX200X2RvXSkKKy1tNF9kZWZp
bmUoW200X2RvXSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbXSwKKy0gICAgICAgW200X3B1c2hkZWYo
W18kMF0sIF9tNF9mb3IoWzFdLCBbJCNdLCBbMV0sCistCQkgICBbJF0sIFtbW11dXSlbX200X3Bv
cGRlZihbXyQwXSldKV8kMCgkQCldKV0pCistCistIyBtNF9kcXVvdGVfZWx0KEFSR1MpCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm4gQVJHUyBhcyBhbiB1bnF1b3RlZCBsaXN0IG9m
IGRvdWJsZS1xdW90ZWQgYXJndW1lbnRzLgorLSMKKy0jIF9tNF9mb3JlYWNoIHRvIHRoZSByZXNj
dWUuCistbTRfZGVmaW5lKFttNF9kcXVvdGVfZWx0XSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbXSwg
W1tbJDFdXV9tNF9mb3JlYWNoKFssbTRfZHF1b3RlKF0sIFspXSwgJEApXSldKQorLQorLSMgbTRf
cmV2ZXJzZShBUkdTKQorLSMgLS0tLS0tLS0tLS0tLS0tLQorLSMgT3V0cHV0IEFSR1MgaW4gcmV2
ZXJzZSBvcmRlci4KKy0jCistIyBJbnZva2UgX200X3IoJEApIHdpdGggdGhlIHRlbXBvcmFyeSBf
bTRfciBidWlsdCBhcworLSMgICBbJG1dLCBbJG0tMV0sIC4uLiwgWyQyXSwgWyQxXV9tNF9wb3Bk
ZWYoW19tNF9yXSkKKy1tNF9kZWZpbmUoW200X3JldmVyc2VdLAorLVttNF9pZihbJCNdLCBbMF0s
IFtdLCBbJCNdLCBbMV0sIFtbJDFdXSwKKy1bbTRfcHVzaGRlZihbX200X3JdLCBbWyQkI11dX200
X2ZvcihtNF9kZWNyKFskI10pLCBbMV0sIFstMV0sCistICAgIFtbLCBdbTRfZHF1b3RlKCRdLCBb
KV0pW19tNF9wb3BkZWYoW19tNF9yXSldKV9tNF9yKCRAKV0pXSkKKy0KKy0KKy0jIG00X21hcF9h
cmdzX3BhaXIoRVhQUkVTU0lPTiwgW0VORC1FWFBSID0gRVhQUkVTU0lPTl0sIEFSRy4uLikKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIFBlcmZvcm0gYSBwYWlyd2lzZSBncm91cGluZyBvZiBjb25zZWN1dGl2ZSBBUkdz
LCBieSBleHBhbmRpbmcKKy0jIEVYUFJFU1NJT04oW0FSRzFdLCBbQVJHMl0pLiAgSWYgdGhlcmUg
YXJlIGFuIG9kZCBudW1iZXIgb2YgQVJHcywgdGhlCistIyBmaW5hbCBhcmd1bWVudCBpcyBleHBh
bmRlZCB3aXRoIEVORC1FWFBSKFtBUkduXSkuCistIworLSMgQnVpbGQgdGhlIHRlbXBvcmFyeSBt
YWNybyBfbTRfbWFwX2FyZ3NfcGFpciwgd2l0aCB0aGUgJDIoWyRtKzFdKQorLSMgb25seSBvdXRw
dXQgaWYgJCMgaXMgb2RkOgorLSMgICAkMShbJDNdLCBbJDRdKVtdJDEoWyQ1XSwgWyQ2XSlbXS4u
LiQxKFskbS0xXSwKKy0jICAgWyRtXSlbXW00X2RlZmF1bHQoWyQyXSwgWyQxXSkoWyRtKzFdKVtd
X200X3BvcGRlZihbX200X21hcF9hcmdzX3BhaXJdKQorLW00X2RlZmluZShbbTRfbWFwX2FyZ3Nf
cGFpcl0sCistW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVu
dHM6ICQjXSldLAorLSAgICAgICBbJCNdLCBbMV0sIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJn
dW1lbnRzOiAkIzogJDFdKV0sCistICAgICAgIFskI10sIFsyXSwgW10sCistICAgICAgIFskI10s
IFszXSwgW200X2RlZmF1bHQoWyQyXSwgWyQxXSkoWyQzXSlbXV0sCistICAgICAgIFttNF9wdXNo
ZGVmKFtfJDBdLCBfbTRfZm9yKFszXSwKKy0gICBtNF9ldmFsKFskIyAvIDIgKiAyIC0gMV0pLCBb
Ml0sIFtfJDBfKF0sIFspXSlfJDBfZW5kKAorLSAgIFsxXSwgWzJdLCBbJCNdKVtfbTRfcG9wZGVm
KFtfJDBdKV0pXyQwKCRAKV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9tYXBfYXJnc19wYWlyX10s
CistWyQwXyhbMV0sIFskMV0sIG00X2luY3IoWyQxXSkpXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9t
YXBfYXJnc19wYWlyX19dLAorLVtbJCQxKFskJDJdLCBbJCQzXSlbXV1dKQorLQorLW00X2RlZmlu
ZShbX200X21hcF9hcmdzX3BhaXJfZW5kXSwKKy1bbTRfaWYobTRfZXZhbChbJDMgJiAxXSksIFsx
XSwgW1ttNF9kZWZhdWx0KFskJDJdLCBbJCQxXSkoWyQkM10pW11dXSldKQorLQorLSMgbTRfam9p
bihTRVAsIEFSRzEsIEFSRzIuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0j
IFByb2R1Y2UgQVJHMVNFUEFSRzIuLi5TRVBBUkduLiAgQXZvaWQgYmFjay10by1iYWNrIFNFUCB3
aGVuIGEgZ2l2ZW4gQVJHCistIyBpcyB0aGUgZW1wdHkgc3RyaW5nLiAgTm8gZXhwYW5zaW9uIGlz
IHBlcmZvcm1lZCBvbiBTRVAgb3IgQVJHcy4KKy0jCistIyBVc2UgYSBzZWxmLW1vZGlmeWluZyBz
ZXBhcmF0b3IsIHNpbmNlIHdlIGRvbid0IGtub3cgaG93IG1hbnkKKy0jIGFyZ3VtZW50cyBtaWdo
dCBiZSBza2lwcGVkIGJlZm9yZSBhIHNlcGFyYXRvciBpcyBmaXJzdCBwcmludGVkLCBidXQKKy0j
IGJlIGNhcmVmdWwgaWYgdGhlIHNlcGFyYXRvciBjb250YWlucyAkLiAgX200X2ZvcmVhY2ggdG8g
dGhlIHJlc2N1ZS4KKy1tNF9kZWZpbmUoW200X2pvaW5dLAorLVttNF9wdXNoZGVmKFtfbTRfc2Vw
XSwgW200X2RlZmluZShbX200X3NlcF0sIF9tNF9kZWZuKFttNF9lY2hvXSkpXSldZG5sCistW19t
NF9mb3JlYWNoKFtfJDAoWyQxXSxdLCBbKV0sICRAKV9tNF9wb3BkZWYoW19tNF9zZXBdKV0pCist
CistbTRfZGVmaW5lKFtfbTRfam9pbl0sCistW200X2lmKFskMl0sIFtdLCBbXSwgW19tNF9zZXAo
WyQxXSlbJDJdXSldKQorLQorLSMgbTRfam9pbmFsbChTRVAsIEFSRzEsIEFSRzIuLi4pCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFByb2R1Y2UgQVJHMVNFUEFSRzIuLi5T
RVBBUkduLiAgQW4gZW1wdHkgQVJHIHJlc3VsdHMgaW4gYmFjay10by1iYWNrIFNFUC4KKy0jIE5v
IGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQgb24gU0VQIG9yIEFSR3MuCistIworLSMgQSBiaXQgZWFz
aWVyIHRoYW4gbTRfam9pbi4gIF9tNF9mb3JlYWNoIHRvIHRoZSByZXNjdWUuCistbTRfZGVmaW5l
KFttNF9qb2luYWxsXSwKKy1bWyQyXW00X2lmKG00X2V2YWwoWyQjIDw9IDJdKSwgWzFdLCBbXSwK
Ky0JICAgW19tNF9mb3JlYWNoKFskMV0sIFtdLCBtNF9zaGlmdCgkQCkpXSldKQorLQorLSMgbTRf
bGlzdF9jbXAoQSwgQikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tCistIyBDb21wYXJlIHRoZSB0d28g
bGlzdHMgb2YgaW50ZWdlciBleHByZXNzaW9ucyBBIGFuZCBCLgorLSMKKy0jIG00X2xpc3RfY21w
IHRha2VzIGNhcmUgb2YgYW55IHNpZGUgZWZmZWN0czsgd2Ugb25seSBvdmVycmlkZQorLSMgX200
X2xpc3RfY21wX3Jhdywgd2hlcmUgd2UgY2FuIHNhZmVseSBleHBhbmQgbGlzdHMgbXVsdGlwbGUg
dGltZXMuCistIyBGaXJzdCwgaW5zZXJ0IHBhZGRpbmcgc28gdGhhdCBib3RoIGxpc3RzIGFyZSB0
aGUgc2FtZSBsZW5ndGg7IHRoZQorLSMgdHJhaWxpbmcgKzAgaXMgbmVjZXNzYXJ5IHRvIGhhbmRs
ZSBhIG1pc3NpbmcgbGlzdC4gIE5leHQsIGNyZWF0ZSBhCistIyB0ZW1wb3JhcnkgbWFjcm8gdG8g
cGVyZm9ybSBwYWlyd2lzZSBjb21wYXJpc29ucyB1bnRpbCBhbiBpbmVxdWFsaXR5CistIyBpcyBm
b3VuZC4gIEZvciBleGFtcGxlLCBtNF9saXN0X2NtcChbMV0sIFsxLDJdKSBjcmVhdGVzIF9tNF9j
bXAgYXMKKy0jICAgbTRfaWYobTRfZXZhbChbKCQxKSAhPSAoJDMpXSksIFsxXSwgW200X2NtcChb
JDFdLCBbJDNdKV0sCistIyAgICAgICAgIG00X2V2YWwoWygkMikgIT0gKCQ0KV0pLCBbMV0sIFtt
NF9jbXAoWyQyXSwgWyQ0XSldLAorLSMgICAgICAgICBbMF1fbTRfcG9wZGVmKFtfbTRfY21wXSkp
CistIyB0aGVuIGNhbGxzIF9tNF9jbXAoWzErMF0sIFswKjJdLCBbMV0sIFsyKzBdKQorLW00X2Rl
ZmluZShbX200X2xpc3RfY21wX3Jhd10sCistW200X2lmKFskMV0sIFskMl0sIDAsCistICAgICAg
IFtfbTRfbGlzdF9jbXAoJDErMF9tNF9saXN0X3BhZChtNF9jb3VudCgkMSksIG00X2NvdW50KCQy
KSksCistCQkgICAgICQyKzBfbTRfbGlzdF9wYWQobTRfY291bnQoJDIpLCBtNF9jb3VudCgkMSkp
KV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9saXN0X3BhZF0sCistW200X2lmKG00X2V2YWwoJDEg
PCAkMiksIFsxXSwKKy0gICAgICAgW19tNF9mb3IobTRfaW5jcihbJDFdKSwgWyQyXSwgWzFdLCBb
LDAqXSldKV0pCistCistbTRfZGVmaW5lKFtfbTRfbGlzdF9jbXBdLAorLVttNF9wdXNoZGVmKFtf
bTRfY21wXSwgW200X2lmKF1fbTRfZm9yKAorLSAgIFsxXSwgbTRfZXZhbChbJCMgPj4gMV0pLCBb
MV0sIFskMF8oXSwgWyxdbTRfZXZhbChbJCMgPj4gMV0pWyldKVsKKy0gICAgICBbMF1fbTRfcG9w
ZGVmKFtfbTRfY21wXSkpXSlfbTRfY21wKCRAKV0pCistCistbTRfZGVmaW5lKFtfbTRfbGlzdF9j
bXBfXSwKKy1bJDBfKFskMV0sIG00X2V2YWwoWyQxICsgJDJdKSldKQorLQorLW00X2RlZmluZShb
X200X2xpc3RfY21wX19dLAorLVtbbTRfZXZhbChbKCQkMSkgIT0gKCQkMildKSwgWzFdLCBbbTRf
Y21wKFskJDFdLCBbJCQyXSldLAorLV1dKQorLQorLSMgbTRfbWF4KEVYUFIsIC4uLikKKy0jIG00
X21pbihFWFBSLCAuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLQorLSMgUmV0dXJuIHRoZSBkZWNp
bWFsIHZhbHVlIG9mIHRoZSBtYXhpbXVtIChvciBtaW5pbXVtKSBpbiBhIHNlcmllcyBvZgorLSMg
aW50ZWdlciBleHByZXNzaW9ucy4KKy0jCistIyBfbTRfZm9yZWFjaCB0byB0aGUgcmVzY3VlOyB3
ZSBvbmx5IG5lZWQgdG8gcmVwbGFjZSBfbTRfbWlubWF4LiAgSGVyZSwKKy0jIHdlIG5lZWQgYSB0
ZW1wb3JhcnkgbWFjcm8gdG8gdHJhY2sgdGhlIGJlc3QgYW5zd2VyIHNvIGZhciwgc28gdGhhdAor
LSMgdGhlIGZvcmVhY2ggZXhwcmVzc2lvbiBpcyB0cmFjdGFibGUuCistbTRfZGVmaW5lKFtfbTRf
bWlubWF4XSwKKy1bbTRfcHVzaGRlZihbX200X2Jlc3RdLCBtNF9ldmFsKFskMl0pKV9tNF9mb3Jl
YWNoKAorLSAgW200X2RlZmluZShbX200X2Jlc3RdLCAkMShfbTRfYmVzdCxdLCBbKSldLCBtNF9z
aGlmdCgkQCkpXWRubAorLVtfbTRfYmVzdFtdX200X3BvcGRlZihbX200X2Jlc3RdKV0pCistCist
IyBtNF9zZXRfYWRkX2FsbChTRVQsIFZBTFVFLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIEFkZCBlYWNoIFZBTFVFIGludG8gU0VULiAgVGhpcyBpcyBPKG4pIGluIHRo
ZSBudW1iZXIgb2YgVkFMVUVzLCBhbmQKKy0jIGNhbiBiZSBmYXN0ZXIgdGhhbiBjYWxsaW5nIG00
X3NldF9hZGQgZm9yIGVhY2ggVkFMVUUuCistIworLSMgX200X2ZvcmVhY2ggdG8gdGhlIHJlc2N1
ZS4gIElmIG5vIGRlbGV0aW9ucyBoYXZlIG9jY3VycmVkLCB0aGVuCistIyBhdm9pZCB0aGUgc3Bl
ZWQgcGVuYWx0eSBvZiBtNF9zZXRfYWRkLgorLW00X2RlZmluZShbbTRfc2V0X2FkZF9hbGxdLAor
LVttNF9pZihbJCNdLCBbMF0sIFtdLCBbJCNdLCBbMV0sIFtdLAorLSAgICAgICBbbTRfZGVmaW5l
KFtfbTRfc2V0X3NpemUoJDEpXSwgbTRfZXZhbChtNF9zZXRfc2l6ZShbJDFdKQorLQkgICsgbTRf
bGVuKF9tNF9mb3JlYWNoKG00X2lmZGVmKFtfbTRfc2V0X2NsZWFudXAoJDEpXSwKKy0gIFtbbTRf
c2V0X2FkZF1dLCBbW18kMF1dKVsoWyQxXSxdLCBbKV0sICRAKSkpKV0pXSkKKy0KKy1tNF9kZWZp
bmUoW19tNF9zZXRfYWRkX2FsbF0sCistW200X2lmZGVmKFtfbTRfc2V0KFskMV0sJDIpXSwgW10s
CistCSAgW200X2RlZmluZShbX200X3NldChbJDFdLCQyKV0sCistCQkgICAgIFsxXSltNF9wdXNo
ZGVmKFtfbTRfc2V0KFskMV0pXSwgWyQyXSktXSldKQorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9tNHN1Z2Fy
Lm00IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0
eS9tNHN1Z2FyL200c3VnYXIubTQKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYmJk
Njk1ODM2YTIuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29s
cy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3VnYXIvbTRzdWdhci5tNAorKysrIC9kZXYvbnVs
bAorQEAgLTEsMzMwOCArMCwwIEBACistZGl2ZXJ0KC0xKSMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KKy0jIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIEF1dG9jb25mLgorLSMgQmFzZSBNNCBsYXllci4KKy0jIFJlcXVpcmVzIEdO
VSBNNC4KKy0jCistIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4KKy0KKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEF1dG9jb25mLiAgVGhpcyBw
cm9ncmFtIGlzIGZyZWUKKy0jIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQorLSMgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKy0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKy0jIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCistIworLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistIyBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSMgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor
LSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyBV
bmRlciBTZWN0aW9uIDcgb2YgR1BMIHZlcnNpb24gMywgeW91IGFyZSBncmFudGVkIGFkZGl0aW9u
YWwKKy0jIHBlcm1pc3Npb25zIGRlc2NyaWJlZCBpbiB0aGUgQXV0b2NvbmYgQ29uZmlndXJlIFNj
cmlwdCBFeGNlcHRpb24sCistIyB2ZXJzaW9uIDMuMCwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24uCistIworLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0jIGFuZCBhIGNvcHkgb2Yg
dGhlIEF1dG9jb25mIENvbmZpZ3VyZSBTY3JpcHQgRXhjZXB0aW9uIGFsb25nIHdpdGgKKy0jIHRo
aXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlcyBDT1BZSU5HdjMgYW5kIENPUFlJTkcuRVhDRVBUSU9O
CistIyByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNl
bnNlcy8+LgorLQorLSMgV3JpdHRlbiBieSBBa2ltIERlbWFpbGxlLgorLQorLSMgU2V0IHRoZSBx
dW90ZXMsIHdoYXRldmVyIHRoZSBjdXJyZW50IHF1b3Rpbmcgc3lzdGVtLgorLWNoYW5nZXF1b3Rl
KCkKKy1jaGFuZ2VxdW90ZShbLCBdKQorLQorLSMgU29tZSBvbGQgbTQncyBkb24ndCBzdXBwb3J0
IG00ZXhpdC4gIEJ1dCB0aGV5IHByb3ZpZGUKKy0jIGVxdWl2YWxlbnQgZnVuY3Rpb25hbGl0eSBi
eSBjb3JlIGR1bXBpbmcgYmVjYXVzZSBvZiB0aGUKKy0jIGxvbmcgbWFjcm9zIHdlIGRlZmluZS4K
Ky1pZmRlZihbX19nbnVfX10sICwKKy1bZXJycHJpbnQoTTRzdWdhciByZXF1aXJlcyBHTlUgTTQu
IEluc3RhbGwgaXQgYmVmb3JlIGluc3RhbGxpbmcgTTRzdWdhciBvcgorLXNldCB0aGUgTTQgZW52
aXJvbm1lbnQgdmFyaWFibGUgdG8gaXRzIGFic29sdXRlIGZpbGUgbmFtZS4pCistbTRleGl0KDIp
XSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgMS4g
U2ltdWxhdGUgLS1wcmVmaXgtYnVpbHRpbnMuICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMKKy0KKy0jIG00X2RlZmluZQorLSMgbTRfZGVmbgorLSMgbTRfdW5kZWZp
bmUKKy1kZWZpbmUoW200X2RlZmluZV0sICAgZGVmbihbZGVmaW5lXSkpCistZGVmaW5lKFttNF9k
ZWZuXSwgICAgIGRlZm4oW2RlZm5dKSkKKy1kZWZpbmUoW200X3VuZGVmaW5lXSwgZGVmbihbdW5k
ZWZpbmVdKSkKKy0KKy1tNF91bmRlZmluZShbZGVmaW5lXSkKKy1tNF91bmRlZmluZShbZGVmbl0p
CistbTRfdW5kZWZpbmUoW3VuZGVmaW5lXSkKKy0KKy0KKy0jIG00X2NvcHkoU1JDLCBEU1QpCist
IyAtLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVmaW5lIERTVCBhcyB0aGUgZGVmaW5pdGlvbiBvZiBT
UkMuCistIyBXaGF0J3MgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbjoKKy0jIDEuIG00X2NvcHkoW2Zy
b21dLCBbdG9dKQorLSMgMi4gbTRfZGVmaW5lKFt0b10sIFtmcm9tKCRAKV0pCistIyBXZWxsLCBv
YnZpb3VzbHkgMSBpcyBtb3JlIGV4cGVuc2l2ZSBpbiBzcGFjZS4gIE1heWJlIDIgaXMgbW9yZSBl
eHBlbnNpdmUKKy0jIGluIHRpbWUsIGJ1dCBiZWNhdXNlIG9mIHRoZSBzcGFjZSBjb3N0IG9mIDEs
IGl0J3Mgbm90IHRoYXQgb2J2aW91cy4KKy0jIE5ldmVydGhlbGVzcywgb25lIGh1Z2UgZGlmZmVy
ZW5jZSBpcyB0aGUgaGFuZGxpbmcgb2YgYCQwJy4gIElmIGBmcm9tJworLSMgdXNlcyBgJDAnLCB0
aGVuIHdpdGggMSwgYHRvJydzIGAkMCcgaXMgYHRvJywgd2hpbGUgaXQgaXMgYGZyb20nIGluIDIu
CistIyBUaGUgdXNlciB3b3VsZCBjZXJ0YWlubHkgcHJlZmVyIHRvIHNlZSBgdG8nLgorLSMKKy0j
IFRoaXMgZGVmaW5pdGlvbiBpcyBpbiBlZmZlY3QgZHVyaW5nIG00c3VnYXIgaW5pdGlhbGl6YXRp
b24sIHdoZW4KKy0jIHRoZXJlIGFyZSBubyBwdXNoZGVmIHN0YWNrczsgbGF0ZXIgb24sIHdlIHJl
ZGVmaW5lIGl0IHRvIHNvbWV0aGluZworLSMgbW9yZSBwb3dlcmZ1bCBmb3IgYWxsIG90aGVyIGNs
aWVudHMgdG8gdXNlLgorLW00X2RlZmluZShbbTRfY29weV0sCistW200X2RlZmluZShbJDJdLCBt
NF9kZWZuKFskMV0pKV0pCistCistCistIyBtNF9yZW5hbWUoU1JDLCBEU1QpCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBSZW5hbWUgdGhlIG1hY3JvIFNSQyB0byBEU1QuCistbTRfZGVmaW5l
KFttNF9yZW5hbWVdLAorLVttNF9jb3B5KFskMV0sIFskMl0pbTRfdW5kZWZpbmUoWyQxXSldKQor
LQorLQorLSMgbTRfcmVuYW1lX200KE1BQ1JPLU5BTUUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIFJlbmFtZSBNQUNSTy1OQU1FIHRvIG00X01BQ1JPLU5BTUUuCistbTRfZGVmaW5l
KFttNF9yZW5hbWVfbTRdLAorLVttNF9yZW5hbWUoWyQxXSwgW200XyQxXSldKQorLQorLQorLSMg
bTRfY29weV91bm00KG00X01BQ1JPLU5BTUUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIENvcHkgbTRfTUFDUk8tTkFNRSB0byBNQUNSTy1OQU1FLgorLW00X2RlZmluZShbbTRf
Y29weV91bm00XSwKKy1bbTRfY29weShbJDFdLCBtNF9icGF0c3Vic3QoWyQxXSwgW15tNF9cKC4q
XCldLCBbW1wxXV0pKV0pCistCistCistIyBTb21lIG00IGludGVybmFscyBoYXZlIG5hbWVzIGNv
bGxpZGluZyB3aXRoIHRva2VucyB3ZSBtaWdodCB1c2UuCistIyBSZW5hbWUgdGhlbSBhYCBsYSBg
bTQgLS1wcmVmaXgtYnVpbHRpbnMnLiAgQ29uZGl0aW9uYWxzIGZpcnN0LCBzaW5jZQorLSMgc29t
ZSBzdWJzZXF1ZW50IHJlbmFtZXMgYXJlIGNvbmRpdGlvbmFsLgorLW00X3JlbmFtZV9tNChbaWZk
ZWZdKQorLW00X3JlbmFtZShbaWZlbHNlXSwgW200X2lmXSkKKy0KKy1tNF9yZW5hbWVfbTQoW2J1
aWx0aW5dKQorLW00X3JlbmFtZV9tNChbY2hhbmdlY29tXSkKKy1tNF9yZW5hbWVfbTQoW2NoYW5n
ZXF1b3RlXSkKKy1tNF9pZmRlZihbY2hhbmdld29yZF0sZG5sIGNvbmRpdGlvbmFsbHkgYXZhaWxh
YmxlIGluIDEuNC54CistW200X3VuZGVmaW5lKFtjaGFuZ2V3b3JkXSldKQorLW00X3JlbmFtZV9t
NChbZGVidWdmaWxlXSkKKy1tNF9yZW5hbWVfbTQoW2RlYnVnbW9kZV0pCistbTRfcmVuYW1lX200
KFtkZWNyXSkKKy1tNF9yZW5hbWVfbTQoW2Rpdm51bV0pCistbTRfcmVuYW1lX200KFtkdW1wZGVm
XSkKKy1tNF9yZW5hbWVfbTQoW2VycnByaW50XSkKKy1tNF9yZW5hbWVfbTQoW2VzeXNjbWRdKQor
LW00X3JlbmFtZV9tNChbZXZhbF0pCistbTRfcmVuYW1lX200KFtmb3JtYXRdKQorLW00X3VuZGVm
aW5lKFtpbmNsdWRlXSkKKy1tNF9yZW5hbWVfbTQoW2luY3JdKQorLW00X3JlbmFtZV9tNChbaW5k
ZXhdKQorLW00X3JlbmFtZV9tNChbaW5kaXJdKQorLW00X3JlbmFtZV9tNChbbGVuXSkKKy1tNF9y
ZW5hbWUoW200ZXhpdF0sIFttNF9leGl0XSkKKy1tNF91bmRlZmluZShbbTR3cmFwXSkKKy1tNF9p
ZmRlZihbbWtzdGVtcF0sZG5sIGFkZGVkIGluIE00IDEuNC44CistW200X3JlbmFtZV9tNChbbWtz
dGVtcF0pCistbTRfY29weShbbTRfbWtzdGVtcF0sIFttNF9tYWtldGVtcF0pCistbTRfdW5kZWZp
bmUoW21ha2V0ZW1wXSldLAorLVttNF9yZW5hbWVfbTQoW21ha2V0ZW1wXSkKKy1tNF9jb3B5KFtt
NF9tYWtldGVtcF0sIFttNF9ta3N0ZW1wXSldKQorLW00X3JlbmFtZShbcGF0c3Vic3RdLCBbbTRf
YnBhdHN1YnN0XSkKKy1tNF9yZW5hbWVfbTQoW3BvcGRlZl0pCistbTRfcmVuYW1lX200KFtwdXNo
ZGVmXSkKKy1tNF9yZW5hbWUoW3JlZ2V4cF0sIFttNF9icmVnZXhwXSkKKy1tNF9yZW5hbWVfbTQo
W3NoaWZ0XSkKKy1tNF91bmRlZmluZShbc2luY2x1ZGVdKQorLW00X3JlbmFtZV9tNChbc3Vic3Ry
XSkKKy1tNF9pZmRlZihbc3ltYm9sc10sZG5sIHByZXNlbnQgb25seSBpbiBhbHBoYS1xdWFsaXR5
IDEuNG8KKy1bbTRfcmVuYW1lX200KFtzeW1ib2xzXSldKQorLW00X3JlbmFtZV9tNChbc3lzY21k
XSkKKy1tNF9yZW5hbWVfbTQoW3N5c3ZhbF0pCistbTRfcmVuYW1lX200KFt0cmFjZW9mZl0pCist
bTRfcmVuYW1lX200KFt0cmFjZW9uXSkKKy1tNF9yZW5hbWVfbTQoW3RyYW5zbGl0XSkKKy0KKy0j
IF9tNF9kZWZuKEFSRykKKy0jIC0tLS0tLS0tLS0tLS0KKy0jIF9tNF9kZWZuIGlzIGZvciBpbnRl
cm5hbCB1c2Ugb25seSAtIGl0IGJ5cGFzc2VzIHRoZSB3cmFwcGVyLCBzbyBpdAorLSMgbXVzdCBv
bmx5IGJlIHVzZWQgb24gb25lIGFyZ3VtZW50IGF0IGEgdGltZSwgYW5kIG9ubHkgb24gbWFjcm9z
CistIyBrbm93biB0byBiZSBkZWZpbmVkLiAgTWFrZSBzdXJlIHRoaXMgc3RpbGwgd29ya3MgaWYg
dGhlIHVzZXIgcmVuYW1lcworLSMgbTRfZGVmbiBidXQgbm90IF9tNF9kZWZuLgorLW00X2NvcHko
W200X2RlZm5dLCBbX200X2RlZm5dKQorLQorLSMgX200X2RpdmVydF9yYXcoTlVNKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgX200X2RpdmVydF9yYXcgaXMgZm9yIGludGVybmFsIHVzZSBv
bmx5LiAgVXNlIHRoaXMgaW5zdGVhZCBvZgorLSMgbTRfYnVpbHRpbihbZGl2ZXJ0XSwgTlVNKSwg
c28gdGhhdCB0cmFjaW5nIGRpdmVyc2lvbiBmbG93IGlzIGVhc2llci4KKy1tNF9yZW5hbWUoW2Rp
dmVydF0sIFtfbTRfZGl2ZXJ0X3Jhd10pCistCistIyBfbTRfcG9wZGVmKEFSRy4uLikKKy0jIC0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgX200X3BvcGRlZiBpcyBmb3IgaW50ZXJuYWwgdXNlIG9ubHkg
LSBpdCBieXBhc3NlcyB0aGUgd3JhcHBlciwgc28gaXQKKy0jIG11c3Qgb25seSBiZSB1c2VkIG9u
IG1hY3JvcyBrbm93biB0byBiZSBkZWZpbmVkLiAgTWFrZSBzdXJlIHRoaXMKKy0jIHN0aWxsIHdv
cmtzIGlmIHRoZSB1c2VyIHJlbmFtZXMgbTRfcG9wZGVmIGJ1dCBub3QgX200X3BvcGRlZi4KKy1t
NF9jb3B5KFttNF9wb3BkZWZdLCBbX200X3BvcGRlZl0pCistCistIyBfbTRfdW5kZWZpbmUoQVJH
Li4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIF9tNF91bmRlZmluZSBpcyBmb3IgaW50
ZXJuYWwgdXNlIG9ubHkgLSBpdCBieXBhc3NlcyB0aGUgd3JhcHBlciwgc28KKy0jIGl0IG11c3Qg
b25seSBiZSB1c2VkIG9uIG1hY3JvcyBrbm93biB0byBiZSBkZWZpbmVkLiAgTWFrZSBzdXJlIHRo
aXMKKy0jIHN0aWxsIHdvcmtzIGlmIHRoZSB1c2VyIHJlbmFtZXMgbTRfdW5kZWZpbmUgYnV0IG5v
dCBfbTRfdW5kZWZpbmUuCistbTRfY29weShbbTRfdW5kZWZpbmVdLCBbX200X3VuZGVmaW5lXSkK
Ky0KKy0jIF9tNF91bmRpdmVydChOVU0uLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
X200X3VuZGl2ZXJ0IGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seSwgYW5kIHNob3VsZCBhbHdheXMg
YmUgZ2l2ZW4KKy0jIGFyZ3VtZW50cy4gIFVzZSB0aGlzIGluc3RlYWQgb2YgbTRfYnVpbHRpbihb
dW5kaXZlcnRdLCBOVU0uLi4pLCBzbworLSMgdGhhdCB0cmFjaW5nIGRpdmVyc2lvbiBmbG93IGlz
IGVhc2llci4KKy1tNF9yZW5hbWUoW3VuZGl2ZXJ0XSwgW19tNF91bmRpdmVydF0pCistCistCist
IyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIDIuIEVycm9yIG1lc3NhZ2VzLiAgIyMKKy0j
IyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyBtNF9sb2NhdGlvbgorLSMgLS0tLS0t
LS0tLS0KKy0jIE91dHB1dCB0aGUgY3VycmVudCBmaWxlLCBjb2xvbiwgYW5kIHRoZSBjdXJyZW50
IGxpbmUgbnVtYmVyLgorLW00X2RlZmluZShbbTRfbG9jYXRpb25dLAorLVtfX2ZpbGVfXzpfX2xp
bmVfX10pCistCistCistIyBtNF9lcnJwcmludG4oTVNHKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIFNhbWUgYXMgYGVycnByaW50JywgYnV0IHdpdGggdGhlIG1pc3NpbmcgZW5kIG9mIGxpbmUu
CistbTRfZGVmaW5lKFttNF9lcnJwcmludG5dLAorLVttNF9lcnJwcmludChbJDEKKy1dKV0pCist
CistCistIyBtNF93YXJuaW5nKE1TRykKKy0jIC0tLS0tLS0tLS0tLS0tLQorLSMgV2FybiB0aGUg
dXNlci4KKy1tNF9kZWZpbmUoW200X3dhcm5pbmddLAorLVttNF9lcnJwcmludG4obTRfbG9jYXRp
b25bOiB3YXJuaW5nOiAkMV0pXSkKKy0KKy0KKy0jIG00X2ZhdGFsKE1TRywgW0VYSVQtU1RBVFVT
XSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEZhdGFsIHRoZSB1c2VyLiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDopCist
bTRfZGVmaW5lKFttNF9mYXRhbF0sCistW200X2VycnByaW50bihtNF9sb2NhdGlvbls6IGVycm9y
OiAkMV0KKy1tNF9leHBhbnNpb25fc3RhY2spbTRfZXhpdChtNF9pZihbJDJdLCwgMSwgWyQyXSkp
XSkKKy0KKy0KKy0jIG00X2Fzc2VydChFWFBSRVNTSU9OLCBbRVhJVC1TVEFUVVMgPSAxXSkKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFRoaXMgbWFjcm8g
ZW5zdXJlcyB0aGF0IEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIHRydWUsIGFuZCBleGl0cyBpZgor
LSMgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gZmFsc2UuCistbTRfZGVmaW5lKFttNF9hc3NlcnRd
LAorLVttNF9pZihtNF9ldmFsKFskMV0pLCAwLAorLSAgICAgICBbbTRfZmF0YWwoW2Fzc2VydCBm
YWlsZWQ6ICQxXSwgWyQyXSldKV0pCistCistCistCistIyMgLS0tLS0tLS0tLS0tLSAjIworLSMj
IDMuIFdhcm5pbmdzLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tICMjCistCistCistIyBfbTRfd2Fy
bihDQVRFR09SWSwgTUVTU0FHRSwgW1NUQUNLLVRSQUNFXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgUmVwb3J0IGEgTUVTU0FHRSB0byB0aGUgdXNl
ciBpZiB0aGUgQ0FURUdPUlkgb2Ygd2FybmluZ3MgaXMgZW5hYmxlZC4KKy0jIFRoaXMgaXMgZm9y
IHRyYWNlcyBvbmx5LgorLSMgSWYgcHJlc2VudCwgU1RBQ0stVFJBQ0UgaXMgYSBcbi1zZXBhcmF0
ZWQgbGlzdCBvZiAiTE9DQVRJT046IE1FU1NBR0UiLAorLSMgd2hlcmUgdGhlIGxhc3QgbGluZSAo
YW5kIG5vIG90aGVyKSBlbmRzIHdpdGggInRoZSB0b3AgbGV2ZWwiLgorLSMKKy0jIFdpdGhpbiBt
NCwgdGhlIG1hY3JvIGlzIGEgbm8tb3AuICBUaGlzIG1hY3JvIHJlYWxseSBtYXR0ZXJzCistIyB3
aGVuIGF1dG9tNHRlIHBvc3QtcHJvY2Vzc2VzIHRoZSB0cmFjZSBvdXRwdXQuCistbTRfZGVmaW5l
KFtfbTRfd2Fybl0sIFtdKQorLQorLQorLSMgbTRfd2FybihDQVRFR09SWSwgTUVTU0FHRSkKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBSZXBvcnQgYSBNRVNTQUdFIHRvIHRoZSB1
c2VyIGlmIHRoZSBDQVRFR09SWSBvZiB3YXJuaW5ncyBpcyBlbmFibGVkLgorLW00X2RlZmluZShb
bTRfd2Fybl0sCistW19tNF93YXJuKFskMV0sIFskMl0sCistbTRfaWZkZWYoW19tNF9leHBhbnNp
b25fc3RhY2tdLCBbbTRfZXhwYW5zaW9uX3N0YWNrXSkpXSkKKy0KKy0KKy0KKy0jIyAtLS0tLS0t
LS0tLS0tLS0tLS0tICMjCistIyMgNC4gRmlsZSBpbmNsdXNpb24uICAjIworLSMjIC0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIFdlIGFsc28gd2FudCB0byBuZXV0cmFsaXplIGluY2x1
ZGUgKGFuZCBzaW5jbHVkZSBmb3Igc3ltbWV0cnkpLAorLSMgYnV0IHdlIHdhbnQgdG8gZXh0ZW5k
IHRoZW0gc2xpZ2h0bHk6IHdhcm4gd2hlbiBhIGZpbGUgaXMgaW5jbHVkZWQKKy0jIHNldmVyYWwg
dGltZXMuICBUaGlzIGlzLCBpbiBnZW5lcmFsLCBhIGRhbmdlcm91cyBvcGVyYXRpb24sIGJlY2F1
c2UKKy0jIHRvbyBtYW55IHBlb3BsZSBmb3JnZXQgdG8gcXVvdGUgdGhlIGZpcnN0IGFyZ3VtZW50
IG9mIG00X2RlZmluZS4KKy0jCistIyBGb3IgaW5zdGFuY2UgaW4gdGhlIGZvbGxvd2luZyBjYXNl
OgorLSMgICBtNF9kZWZpbmUoZm9vLCBbYmFyXSkKKy0jIHRoZW4gYSBzZWNvbmQgcmVhZGluZyB3
aWxsIHR1cm4gaW50bworLSMgICBtNF9kZWZpbmUoYmFyLCBbYmFyXSkKKy0jIHdoaWNoIGlzIGNl
cnRhaW5seSBub3Qgd2hhdCB3YXMgbWVhbnQuCistCistIyBtNF9pbmNsdWRlX3VuaXF1ZShGSUxF
KQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlY2xhcmUgdGhhdCB0aGUgRklMRSB3
YXMgbG9hZGluZzsgYW5kIHdhcm4gaWYgaXQgaGFzIGFscmVhZHkKKy0jIGJlZW4gaW5jbHVkZWQu
CistbTRfZGVmaW5lKFttNF9pbmNsdWRlX3VuaXF1ZV0sCistW200X2lmZGVmKFttNF9pbmNsdWRl
KCQxKV0sCistCSAgW200X3dhcm4oW3N5bnRheF0sIFtmaWxlIGAkMScgaW5jbHVkZWQgc2V2ZXJh
bCB0aW1lc10pXSlkbmwKKy1tNF9kZWZpbmUoW200X2luY2x1ZGUoJDEpXSldKQorLQorLQorLSMg
bTRfaW5jbHVkZShGSUxFKQorLSMgLS0tLS0tLS0tLS0tLS0tLQorLSMgTGlrZSB0aGUgYnVpbHRp
biBpbmNsdWRlLCBidXQgd2FybnMgYWdhaW5zdCBtdWx0aXBsZSBpbmNsdXNpb25zLgorLW00X2Rl
ZmluZShbbTRfaW5jbHVkZV0sCistW200X2luY2x1ZGVfdW5pcXVlKFskMV0pZG5sCistbTRfYnVp
bHRpbihbaW5jbHVkZV0sIFskMV0pXSkKKy0KKy0KKy0jIG00X3NpbmNsdWRlKEZJTEUpCistIyAt
LS0tLS0tLS0tLS0tLS0tLQorLSMgTGlrZSB0aGUgYnVpbHRpbiBzaW5jbHVkZSwgYnV0IHdhcm5z
IGFnYWluc3QgbXVsdGlwbGUgaW5jbHVzaW9ucy4KKy1tNF9kZWZpbmUoW200X3NpbmNsdWRlXSwK
Ky1bbTRfaW5jbHVkZV91bmlxdWUoWyQxXSlkbmwKKy1tNF9idWlsdGluKFtzaW5jbHVkZV0sIFsk
MV0pXSkKKy0KKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKKy0jIyA1LiBBZGRpdGlvbmFsIGJyYW5jaGluZyBjb25zdHJ1Y3RzLiAgIyMKKy0jIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0jIEJvdGggYG00X2lmdmFs
JyBhbmQgYG00X2lmc2V0JyB0ZXN0cyBhZ2FpbnN0IHRoZSBlbXB0eSBzdHJpbmcuICBUaGUKKy0j
IGRpZmZlcmVuY2UgaXMgdGhhdCBgbTRfaWZzZXQnIGlzIHNwZWNpYWxpemVkIG9uIG1hY3Jvcy4K
Ky0jCistIyBJbiBjYXNlIG9mIGFyZ3VtZW50cyBvZiBtYWNyb3MsIGVnLiAkMSwgaXQgbWFrZXMg
bGl0dGxlIGRpZmZlcmVuY2UuCistIyBJbiB0aGUgY2FzZSBvZiBhIG1hY3JvIGBGT08nLCB5b3Ug
ZG9uJ3Qgd2FudCB0byBjaGVjayBgbTRfaWZ2YWwoRk9PLAorLSMgVFJVRSknLCBiZWNhdXNlIGlm
IGBGT08nIGV4cGFuZHMgd2l0aCBjb21tYXMsIHRoZXJlIGlzIGEgc2hpZnRpbmcgb2YKKy0jIHRo
ZSBhcmd1bWVudHMuICBTbyB5b3Ugd2FudCB0byBydW4gYG00X2lmdmFsKFtGT09dKScsIGJ1dCB0
aGVuIHlvdSBqdXN0CistIyBjb21wYXJlIHRoZSAqc3RyaW5nKiBgRk9PJyBhZ2FpbnN0IGAnLCB3
aGljaCwgb2YgY291cnNlIGZhaWxzLgorLSMKKy0jIFNvIHlvdSB3YW50IHRoZSB2YXJpYXRpb24g
YG00X2lmc2V0JyB0aGF0IGV4cGVjdHMgYSBtYWNybyBuYW1lIGFzICQxLgorLSMgSWYgdGhpcyBt
YWNybyBpcyBib3RoIGRlZmluZWQgYW5kIGRlZmluZWQgdG8gYSBub24gZW1wdHkgdmFsdWUsIHRo
ZW4KKy0jIGl0IHJ1bnMgVFJVRSwgZXRjLgorLQorLQorLSMgbTRfaWZibGFuayhDT05ELCBbSUYt
QkxBTktdLCBbSUYtVEVYVF0pCistIyBtNF9pZm5ibGFuayhDT05ELCBbSUYtVEVYVF0sIFtJRi1C
TEFOS10pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJ
ZiBDT05EIGlzIGVtcHR5LCBvciBjb25zaXN0cyBvbmx5IG9mIGJsYW5rcyAoc3BhY2UsIHRhYiwg
bmV3bGluZSksCistIyB0aGVuIGV4cGFuZCBJRi1CTEFOSywgb3RoZXJ3aXNlIGV4cGFuZCBJRi1U
RVhULiAgVGhpcyBkaWZmZXJzIGZyb20KKy0jIG00X2lmdmFsIG9ubHkgaWYgQ09ORCBoYXMganVz
dCB3aGl0ZXNwYWNlLCBidXQgaXQgaGVscHMgb3B0aW1pemUgaW4KKy0jIHNwaXRlIG9mIHVzZXJz
IHdobyBtaXN0YWtlbmx5IGxlYXZlIHRyYWlsaW5nIHNwYWNlIGFmdGVyIHdoYXQgdGhleQorLSMg
dGhvdWdodCB3YXMgYW4gZW1wdHkgYXJndW1lbnQ6CistIyAgIG1hY3JvKAorLSMgICAgICAgICBb
XQorLSMgICAgICAgICkKKy0jCistIyBXcml0aW5nIG9uZSBtYWNybyBpbiB0ZXJtcyBvZiB0aGUg
b3RoZXIgY2F1c2VzIGV4dHJhIG92ZXJoZWFkLCBzbworLSMgd2UgaW5saW5lIGJvdGggZGVmaW5p
dGlvbnMuCistbTRfZGVmaW5lKFttNF9pZmJsYW5rXSwKKy1bbTRfaWYobTRfdHJhbnNsaXQoW1sk
MV1dLCAgWyBdWwldWworLV0pLCBbXSwgWyQyXSwgWyQzXSldKQorLQorLW00X2RlZmluZShbbTRf
aWZuYmxhbmtdLAorLVttNF9pZihtNF90cmFuc2xpdChbWyQxXV0sICBbIF1bCV1bCistXSksIFtd
LCBbJDNdLCBbJDJdKV0pCistCistCistIyBtNF9pZnZhbChDT05ELCBbSUYtVFJVRV0sIFtJRi1G
QUxTRV0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJZiBD
T05EIGlzIG5vdCB0aGUgZW1wdHkgc3RyaW5nLCBleHBhbmQgSUYtVFJVRSwgb3RoZXJ3aXNlIElG
LUZBTFNFLgorLSMgQ29tcGFyYWJsZSB0byBtNF9pZmRlZi4KKy1tNF9kZWZpbmUoW200X2lmdmFs
XSwKKy1bbTRfaWYoWyQxXSwgW10sIFskM10sIFskMl0pXSkKKy0KKy0KKy0jIG00X24oVEVYVCkK
Ky0jIC0tLS0tLS0tLS0KKy0jIElmIFRFWFQgaXMgbm90IGVtcHR5LCByZXR1cm4gVEVYVCBhbmQg
YSBuZXcgbGluZSwgb3RoZXJ3aXNlIG5vdGhpbmcuCistbTRfZGVmaW5lKFttNF9uXSwKKy1bbTRf
aWYoWyQxXSwKKy0gICAgICAgW10sIFtdLAorLQkgICBbJDEKKy1dKV0pCistCistCistIyBtNF9p
ZnZhbG4oQ09ORCwgW0lGLVRSVUVdLCBbSUYtRkFMU0VdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNhbWUgYXMgYG00X2lmdmFsJywgYnV0IGFkZCBhbiBl
eHRyYSBuZXdsaW5lIHRvIElGLVRSVUUgb3IgSUYtRkFMU0UKKy0jIHVubGVzcyB0aGF0IGFyZ3Vt
ZW50IGlzIGVtcHR5LgorLW00X2RlZmluZShbbTRfaWZ2YWxuXSwKKy1bbTRfaWYoWyQxXSwKKy0g
ICAgICAgW10sICAgW200X24oWyQzXSldLAorLQkgICAgIFttNF9uKFskMl0pXSldKQorLQorLQor
LSMgbTRfaWZzZXQoTUFDUk8sIFtJRi1UUlVFXSwgW0lGLUZBTFNFXSkKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJZiBNQUNSTyBoYXMgbm8gZGVmaW5pdGlv
biwgb3Igb2YgaXRzIGRlZmluaXRpb24gaXMgdGhlIGVtcHR5IHN0cmluZywKKy0jIGV4cGFuZCBJ
Ri1GQUxTRSwgb3RoZXJ3aXNlIElGLVRSVUUuCistbTRfZGVmaW5lKFttNF9pZnNldF0sCistW200
X2lmZGVmKFskMV0sCistCSAgW200X2lmdmFsKF9tNF9kZWZuKFskMV0pLCBbJDJdLCBbJDNdKV0s
CistCSAgWyQzXSldKQorLQorLQorLSMgbTRfaWZuZGVmKE5BTUUsIFtJRi1OT1QtREVGSU5FRF0s
IFtJRi1ERUZJTkVEXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistbTRfZGVmaW5lKFttNF9pZm5kZWZdLAorLVttNF9pZmRlZihbJDFdLCBbJDNd
LCBbJDJdKV0pCistCistCistIyBtNF9jYXNlKFNXSVRDSCwgVkFMMSwgSUYtVkFMMSwgVkFMMiwg
SUYtVkFMMiwgLi4uLCBERUZBVUxUKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIG00IGVxdWl2YWxlbnQgb2YKKy0jIHN3
aXRjaCAoU1dJVENIKQorLSMgeworLSMgICBjYXNlIFZBTDE6CistIyAgICAgSUYtVkFMMTsKKy0j
ICAgICBicmVhazsKKy0jICAgY2FzZSBWQUwyOgorLSMgICAgIElGLVZBTDI7CistIyAgICAgYnJl
YWs7CistIyAgIC4uLgorLSMgICBkZWZhdWx0OgorLSMgICAgIERFRkFVTFQ7CistIyAgICAgYnJl
YWs7CistIyB9LgorLSMgQWxsIHRoZSB2YWx1ZXMgYXJlIG9wdGlvbmFsLCBhbmQgdGhlIG1hY3Jv
IGlzIHJvYnVzdCB0byBhY3RpdmUKKy0jIHN5bWJvbHMgcHJvcGVybHkgcXVvdGVkLgorLSMKKy0j
IFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRl
IGhlcmUuCistbTRfZGVmaW5lKFttNF9jYXNlXSwKKy1bbTRfaWYoWyQjXSwgMCwgW10sCistICAg
ICAgIFskI10sIDEsIFtdLAorLSAgICAgICBbJCNdLCAyLCBbJDJdLAorLSAgICAgICBbJDFdLCBb
JDJdLCBbJDNdLAorLSAgICAgICBbJDAoWyQxXSwgbTRfc2hpZnQzKCRAKSldKV0pCistCistCist
IyBtNF9ibWF0Y2goU1dJVENILCBSRTEsIFZBTDEsIFJFMiwgVkFMMiwgLi4uLCBERUZBVUxUKQor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIG00IGVxdWl2YWxlbnQgb2YKKy0jCistIyBpZiAoU1dJVENIID1+IFJFMSkKKy0jICAgVkFM
MTsKKy0jIGVsaWYgKFNXSVRDSCA9fiBSRTIpCistIyAgIFZBTDI7CistIyBlbGlmIC4uLgorLSMg
ICAuLi4KKy0jIGVsc2UKKy0jICAgREVGQVVMVAorLSMKKy0jIEFsbCB0aGUgdmFsdWVzIGFyZSBv
cHRpb25hbCwgYW5kIHRoZSBtYWNybyBpcyByb2J1c3QgdG8gYWN0aXZlIHN5bWJvbHMKKy0jIHBy
b3Blcmx5IHF1b3RlZC4KKy0jCistIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0
aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgorLW00X2RlZmluZShbbTRfYm1hdGNoXSwKKy1b
bTRfaWYoWyQjXSwgMCwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQjXSldLAor
LSAgICAgICBbJCNdLCAxLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCM6ICQx
XSldLAorLSAgICAgICBbJCNdLCAyLCBbJDJdLAorLSAgICAgICBbbTRfaWYobTRfYnJlZ2V4cChb
JDFdLCBbJDJdKSwgLTEsIFskMChbJDFdLCBtNF9zaGlmdDMoJEApKV0sCistCSAgICAgIFskM10p
XSldKQorLQorLSMgbTRfYXJnbihOLCBBUkdTLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgRXh0cmFjdCBhcmd1bWVudCBOIChncmVhdGVyIHRoYW4gMCkgZnJvbSBBUkdTLiAgRXhhbXBs
ZToKKy0jICAgbTRfZGVmaW5lKFtiXSwgW0JdKQorLSMgICBtNF9hcmduKFsyXSwgW2FdLCBbYl0s
IFtjXSkgPT4gYgorLSMKKy0jIFJhdGhlciB0aGFuIHVzaW5nIG00X2NhcihtNF9zaGlmdG4oWyQx
XSwgJEApKSwgd2UgZXhwbG9pdCB0aGUgZmFjdCB0aGF0CistIyBHTlUgbTQgY2FuIGRpcmVjdGx5
IHJlZmVyZW5jZSBhbnkgYXJndW1lbnQsIHRocm91Z2ggYW4gaW5kaXJlY3QgbWFjcm8uCistbTRf
ZGVmaW5lKFttNF9hcmduXSwKKy1bbTRfYXNzZXJ0KFswIDwgJDFdKV1kbmwKKy1bbTRfcHVzaGRl
ZihbXyQwXSwgW19tNF9wb3BkZWYoW18kMF0pXW00X2RxdW90ZShbJF1tNF9pbmNyKFskMV0pKSlf
JDAoJEApXSkKKy0KKy0KKy0jIG00X2NhcihBUkdTLi4uKQorLSMgbTRfY2RyKEFSR1MuLi4pCist
IyAtLS0tLS0tLS0tLS0tLS0KKy0jIE1hbmlwdWxhdGUgbTQgbGlzdHMuICBtNF9jYXIgcmV0dXJu
cyB0aGUgZmlyc3QgYXJndW1lbnQuICBtNF9jZHIKKy0jIGJ1bmRsZXMgYWxsIGJ1dCB0aGUgZmly
c3QgYXJndW1lbnQgaW50byBhIHF1b3RlZCBsaXN0LiAgVGhlc2UgdHdvCistIyBtYWNyb3MgYXJl
IGdlbmVyYWxseSB1c2VkIHdpdGggbGlzdCBhcmd1bWVudHMsIHdpdGggcXVvdGluZyByZW1vdmVk
CistIyB0byBicmVhayB0aGUgbGlzdCBpbnRvIG11bHRpcGxlIG00IEFSR1MuCistbTRfZGVmaW5l
KFttNF9jYXJdLCBbWyQxXV0pCistbTRfZGVmaW5lKFttNF9jZHJdLAorLVttNF9pZihbJCNdLCAw
LCBbbTRfZmF0YWwoWyQwOiBjYW5ub3QgYmUgY2FsbGVkIHdpdGhvdXQgYXJndW1lbnRzXSldLAor
LSAgICAgICBbJCNdLCAxLCBbXSwKKy0gICAgICAgW200X2RxdW90ZShtNF9zaGlmdCgkQCkpXSld
KQorLQorLSMgX200X2NkcihBUkdTLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLQorLSMgTGlrZSBt
NF9jZHIsIGV4Y2VwdCBpbmNsdWRlIGEgbGVhZGluZyBjb21tYSB1bmxlc3Mgb25seSBvbmUgYXJn
dW1lbnQKKy0jIHJlbWFpbnMuICBXaHk/ICBCZWNhdXNlIGNvbXBhcmluZyBhIGxhcmdlIGxpc3Qg
YWdhaW5zdCBbXSBpcyBtb3JlCistIyBleHBlbnNpdmUgaW4gZXhwYW5zaW9uIHRpbWUgdGhhbiBj
b21wYXJpbmcgdGhlIG51bWJlciBvZiBhcmd1bWVudHM7IHNvCistIyBfbTRfY2RyIGNhbiBiZSB1
c2VkIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyB3aGVuIGl0IGlzIHRpbWUKKy0j
IHRvIGVuZCByZWN1cnNpb24uCistbTRfZGVmaW5lKFtfbTRfY2RyXSwKKy1bbTRfaWYoWyQjXSwg
MSwgW10sCistICAgICAgIFssIG00X2RxdW90ZShtNF9zaGlmdCgkQCkpXSldKQorLQorLQorLQor
LSMgbTRfY29uZChURVNUMSwgVkFMMSwgSUYtVkFMMSwgVEVTVDIsIFZBTDIsIElGLVZBTDIsIC4u
LiwgW0RFRkFVTFRdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgU2ltaWxhciB0byBtNF9pZiwgZXhjZXB0
IHRoYXQgZWFjaCBURVNUIGlzIGV4cGFuZGVkIHdoZW4gZW5jb3VudGVyZWQuCistIyBJZiB0aGUg
ZXhwYW5zaW9uIG9mIFRFU1RuIG1hdGNoZXMgdGhlIHN0cmluZyBWQUxuLCB0aGUgcmVzdWx0IGlz
IElGLVZBTG4uCistIyBUaGUgcmVzdWx0IGlzIERFRkFVTFQgaWYgbm8gdGVzdHMgcGFzc2VkLiAg
VGhpcyBtYWNybyBhbGxvd3MKKy0jIHNob3J0LWNpcmN1aXRpbmcgb2YgZXhwZW5zaXZlIHRlc3Rz
LCB3aGVyZSBpdCBwYXlzIHRvIGFycmFuZ2UgcXVpY2sKKy0jIGZpbHRlciB0ZXN0cyB0byBydW4g
Zmlyc3QuCistIworLSMgRm9yIGFuIGV4YW1wbGUsIGNvbnNpZGVyIGEgcHJldmlvdXMgaW1wbGVt
ZW50YXRpb24gb2YgX0FTX1FVT1RFX0lGRUxTRToKKy0jCistIyAgICBtNF9pZihtNF9pbmRleChb
JDFdLCBbXF0pLCBbLTFdLCBbJDJdLAorLSMgICAgICAgICAgbTRfZXZhbChtNF9pbmRleChbJDFd
LCBbXFxdKSA+PSAwKSwgWzFdLCBbJDJdLAorLSMgICAgICAgICAgbTRfZXZhbChtNF9pbmRleChb
JDFdLCBbXCRdKSA+PSAwKSwgWzFdLCBbJDJdLAorLSMgICAgICAgICAgbTRfZXZhbChtNF9pbmRl
eChbJDFdLCBbXGBdKSA+PSAwKSwgWzFdLCBbJDNdLAorLSMgICAgICAgICAgbTRfZXZhbChtNF9p
bmRleChbJDFdLCBbXCJdKSA+PSAwKSwgWzFdLCBbJDNdLAorLSMgICAgICAgICAgWyQyXSkKKy0j
CistIyBIZXJlLCBtNF9pbmRleCBpcyBjb21wdXRlZCA1IHRpbWVzLCBhbmQgbTRfZXZhbCA0LCBl
dmVuIGlmICQxIGNvbnRhaW5zCistIyBubyBiYWNrc2xhc2guICBJdCBpcyBtb3JlIGVmZmljaWVu
dCB0byBkbzoKKy0jCistIyAgICBtNF9jb25kKFttNF9pbmRleChbJDFdLCBbXF0pXSwgWy0xXSwg
WyQyXSwKKy0jICAgICAgICAgICAgW200X2V2YWwobTRfaW5kZXgoWyQxXSwgW1xcXSkgPj0gMCld
LCBbMV0sIFskMl0sCistIyAgICAgICAgICAgIFttNF9ldmFsKG00X2luZGV4KFskMV0sIFtcJF0p
ID49IDApXSwgWzFdLCBbJDJdLAorLSMgICAgICAgICAgICBbbTRfZXZhbChtNF9pbmRleChbJDFd
LCBbXGBdKSA+PSAwKV0sIFsxXSwgWyQzXSwKKy0jICAgICAgICAgICAgW200X2V2YWwobTRfaW5k
ZXgoWyQxXSwgW1wiXSkgPj0gMCldLCBbMV0sIFskM10sCistIyAgICAgICAgICAgIFskMl0pCist
IworLSMgSW4gdGhlIGNvbW1vbiBjYXNlIG9mICQxIHdpdGggbm8gYmFja3NsYXNoLCBvbmx5IG9u
ZSBtNF9pbmRleCBleHBhbnNpb24KKy0jIG9jY3VycywgYW5kIG00X2V2YWwgaXMgYXZvaWRlZCBh
bHRvZ2V0aGVyLgorLSMKKy0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFu
eSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCistbTRfZGVmaW5lKFttNF9jb25kXSwKKy1bbTRfaWYo
WyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiBjYW5ub3QgYmUgY2FsbGVkIHdpdGhvdXQgYXJndW1l
bnRzXSldLAorLSAgICAgICBbJCNdLCBbMV0sIFskMV0sCistICAgICAgIG00X2V2YWwoWyQjICUg
M10pLCBbMl0sIFttNF9mYXRhbChbJDA6IG1pc3NpbmcgYW4gYXJndW1lbnRdKV0sCistICAgICAg
IFtfJDAoJEApXSldKQorLQorLW00X2RlZmluZShbX200X2NvbmRdLAorLVttNF9pZigoJDEpLCBb
KCQyKV0sIFskM10sCistICAgICAgIFskI10sIFszXSwgW10sCistICAgICAgIFskI10sIFs0XSwg
WyQ0XSwKKy0gICAgICAgWyQwKG00X3NoaWZ0MygkQCkpXSldKQorLQorLQorLSMjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyA2LiBFbmhhbmNlZCB2ZXJz
aW9uIG9mIHNvbWUgcHJpbWl0aXZlcy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgbTRfYnBhdHN1YnN0cyhTVFJJTkcsIFJFMSwgU1VC
U1QxLCBSRTIsIFNVQlNUMiwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgbTQgZXF1aXZhbGVudCBvZgorLSMKKy0jICAgJF8g
PSBTVFJJTkc7CistIyAgIHMvUkUxL1NVQlNUMS9nOworLSMgICBzL1JFMi9TVUJTVDIvZzsKKy0j
ICAgLi4uCistIworLSMgQWxsIHRoZSB2YWx1ZXMgYXJlIG9wdGlvbmFsLCBhbmQgdGhlIG1hY3Jv
IGlzIHJvYnVzdCB0byBhY3RpdmUgc3ltYm9scworLSMgcHJvcGVybHkgcXVvdGVkLgorLSMKKy0j
IEkgd291bGQgaGF2ZSBsaWtlZCB0byBuYW1lIHRoaXMgbWFjcm8gYG00X2JwYXRzdWJzdCcsIHVu
Zm9ydHVuYXRlbHksCistIyBkdWUgdG8gcXVvdGF0aW9uIHByb2JsZW1zLCBJIG5lZWQgdG8gZG91
YmxlIHF1b3RlICQxIGJlbG93LCB0aGVyZWZvcmUKKy0jIHRoZSBhbmNob3JzIGFyZSBicm9rZW4g
OiggIEkgY2FuJ3QgbGV0IHVzZXJzIGJlIHRyYXBwZWQgYnkgdGhhdC4KKy0jCistIyBSZWNhbGwg
dGhhdCBtNF9zaGlmdDMgYWx3YXlzIHJlc3VsdHMgaW4gYW4gYXJndW1lbnQuICBIZW5jZSwgd2Ug
bmVlZAorLSMgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBhIGZpbmFsIGRlbGV0aW9uIHZzLiBlbmRp
bmcgcmVjdXJzaW9uLgorLSMKKy0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRo
IGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCistbTRfZGVmaW5lKFttNF9icGF0c3Vic3RzXSwK
Ky1bbTRfaWYoWyQjXSwgMCwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQjXSld
LAorLSAgICAgICBbJCNdLCAxLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCM6
ICQxXSldLAorLSAgICAgICBbJCNdLCAyLCBbbTRfdW5xdW90ZShtNF9idWlsdGluKFtwYXRzdWJz
dF0sIFtbJDFdXSwgWyQyXSkpXSwKKy0gICAgICAgWyQjXSwgMywgW200X3VucXVvdGUobTRfYnVp
bHRpbihbcGF0c3Vic3RdLCBbWyQxXV0sIFskMl0sIFskM10pKV0sCistICAgICAgIFtfJDAoJEBt
NF9pZihtNF9ldmFsKCQjICYgMSksIDAsIFssXSkpXSldKQorLW00X2RlZmluZShbX200X2JwYXRz
dWJzdHNdLAorLVttNF9pZihbJCNdLCAyLCBbJDFdLAorLSAgICAgICBbJDAobTRfYnVpbHRpbihb
cGF0c3Vic3RdLCBbWyQxXV0sIFskMl0sIFskM10pLAorLQkgICBtNF9zaGlmdDMoJEApKV0pXSkK
Ky0KKy0KKy0jIG00X2NvcHkoU1JDLCBEU1QpCistIyAtLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVm
aW5lIHRoZSBwdXNoZGVmIHN0YWNrIERTVCBhcyBhIGNvcHkgb2YgdGhlIHB1c2hkZWYgc3RhY2sg
U1JDOworLSMgZ2l2ZSBhbiBlcnJvciBpZiBEU1QgaXMgYWxyZWFkeSBkZWZpbmVkLiAgVGhpcyBp
cyBwYXJ0aWN1bGFybHkgbmljZQorLSMgZm9yIGNvcHlpbmcgc2VsZi1tb2RpZnlpbmcgcHVzaGRl
ZiBzdGFja3MsIHdoZXJlIHRoZSB0b3AgZGVmaW5pdGlvbgorLSMgaW5jbHVkZXMgb25lLXNob3Qg
aW5pdGlhbGl6YXRpb24gdGhhdCBpcyBsYXRlciBwb3BwZWQgdG8gdGhlIG5vcm1hbAorLSMgZGVm
aW5pdGlvbi4gIFRoaXMgdmVyc2lvbiBpbnRlbnRpb25hbGx5IGRvZXMgbm90aGluZyBpZiBTUkMg
aXMKKy0jIHVuZGVmaW5lZC4KKy0jCistIyBTb21lIG1hY3JvcyBzaW1wbHkgY2FuJ3QgYmUgcmVu
YW1lZCB3aXRoIHRoaXMgbWV0aG9kOiBuYW1lbHksIGFueXRoaW5nCistIyBpbnZvbHZlZCBpbiB0
aGUgaW1wbGVtZW50YXRpb24gb2YgbTRfc3RhY2tfZm9yZWFjaF9zZXAuCistbTRfZGVmaW5lKFtt
NF9jb3B5XSwKKy1bbTRfaWZkZWYoWyQyXSwgW200X2ZhdGFsKFskMDogd29uJ3Qgb3ZlcndyaXRl
IGRlZmluZWQgbWFjcm86ICQyXSldLAorLQkgIFttNF9zdGFja19mb3JlYWNoX3NlcChbJDFdLCBb
bTRfcHVzaGRlZihbJDJdLF0sIFspXSldKV1kbmwKKy1bbTRfaWZkZWYoW200X2xvY2F0aW9uKCQx
KV0sIFttNF9kZWZpbmUoW200X2xvY2F0aW9uKCQyKV0sIG00X2xvY2F0aW9uKV0pXSkKKy0KKy0K
Ky0jIG00X2NvcHlfZm9yY2UoU1JDLCBEU1QpCistIyBtNF9yZW5hbWVfZm9yY2UoU1JDLCBEU1Qp
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIG00X2NvcHkvbTRfcmVuYW1l
LCBleGNlcHQgYmxpbmRseSBvdmVyd3JpdGUgYW55IGV4aXN0aW5nIERTVC4KKy0jIE5vdGUgdGhh
dCBtNF9jb3B5X2ZvcmNlIHRvbGVyYXRlcyB1bmRlZmluZWQgU1JDLCB3aGlsZSBtNF9yZW5hbWVf
Zm9yY2UKKy0jIGRvZXMgbm90LgorLW00X2RlZmluZShbbTRfY29weV9mb3JjZV0sCistW200X2lm
ZGVmKFskMl0sIFtfbTRfdW5kZWZpbmUoWyQyXSldKW00X2NvcHkoJEApXSkKKy0KKy1tNF9kZWZp
bmUoW200X3JlbmFtZV9mb3JjZV0sCistW200X2lmZGVmKFskMl0sIFtfbTRfdW5kZWZpbmUoWyQy
XSldKW00X3JlbmFtZSgkQCldKQorLQorLQorLSMgbTRfZGVmaW5lX2RlZmF1bHQoTUFDUk8sIFZB
TFVFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSWYgTUFDUk8gaXMg
dW5kZWZpbmVkLCBzZXQgaXQgdG8gVkFMVUUuCistbTRfZGVmaW5lKFttNF9kZWZpbmVfZGVmYXVs
dF0sCistW200X2lmbmRlZihbJDFdLCBbbTRfZGVmaW5lKCRAKV0pXSkKKy0KKy0KKy0jIG00X2Rl
ZmF1bHQoRVhQMSwgRVhQMikKKy0jIG00X2RlZmF1bHRfbmJsYW5rKEVYUDEsIEVYUDIpCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgUmV0dXJucyBFWFAxIGlmIG5vdCBlbXB0
eS9ibGFuaywgb3RoZXJ3aXNlIEVYUDIuICBFeHBhbmQgdGhlIHJlc3VsdC4KKy0jCistIyBtNF9k
ZWZhdWx0IGlzIGNhbGxlZCBvbiBob3QgcGF0aHMsIHNvIGlubGluZSB0aGUgY29udGVudHMgb2Yg
bTRfaWZ2YWwsCistIyBmb3Igb25lIGxlc3Mgcm91bmQgb2YgZXhwYW5zaW9uLgorLW00X2RlZmlu
ZShbbTRfZGVmYXVsdF0sCistW200X2lmKFskMV0sIFtdLCBbJDJdLCBbJDFdKV0pCistCistbTRf
ZGVmaW5lKFttNF9kZWZhdWx0X25ibGFua10sCistW200X2lmYmxhbmsoWyQxXSwgWyQyXSwgWyQx
XSldKQorLQorLQorLSMgbTRfZGVmYXVsdF9xdW90ZWQoRVhQMSwgRVhQMikKKy0jIG00X2RlZmF1
bHRfbmJsYW5rX3F1b3RlZChFWFAxLCBFWFAyKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBSZXR1cm5zIEVYUDEgaWYgbm9uIGVtcHR5L2JsYW5rLCBvdGhlcndp
c2UgRVhQMi4gIExlYXZlIHRoZSByZXN1bHQgcXVvdGVkLgorLSMKKy0jIEZvciBjb21wYXJpc29u
OgorLSMgICBtNF9kZWZpbmUoW2FjdGl2ZV0sIFtBQ1RJVkVdKQorLSMgICBtNF9kZWZhdWx0KFth
Y3RpdmVdLCBbZGVmYXVsdF0pID0+IEFDVElWRQorLSMgICBtNF9kZWZhdWx0KFtdLCBbYWN0aXZl
XSkgPT4gQUNUSVZFCistIyAgIC1tNF9kZWZhdWx0KFsgXSwgW2FjdGl2ZV0pLSA9PiAtIC0KKy0j
ICAgLW00X2RlZmF1bHRfbmJsYW5rKFsgXSwgW2FjdGl2ZV0pLSA9PiAtQUNUSVZFLQorLSMgICBt
NF9kZWZhdWx0X3F1b3RlZChbYWN0aXZlXSwgW2RlZmF1bHRdKSA9PiBhY3RpdmUKKy0jICAgbTRf
ZGVmYXVsdF9xdW90ZWQoW10sIFthY3RpdmVdKSA9PiBhY3RpdmUKKy0jICAgLW00X2RlZmF1bHRf
cXVvdGVkKFsgXSwgW2FjdGl2ZV0pLSA9PiAtIC0KKy0jICAgLW00X2RlZmF1bHRfbmJsYW5rX3F1
b3RlZChbIF0sIFthY3RpdmVdKS0gPT4gLWFjdGl2ZS0KKy0jCistIyBtNF9kZWZhdWx0IG1hY3Jv
IGlzIGNhbGxlZCBvbiBob3QgcGF0aHMsIHNvIGlubGluZSB0aGUgY29udGVudHMgb2YgbTRfaWZ2
YWwsCistIyBmb3Igb25lIGxlc3Mgcm91bmQgb2YgZXhwYW5zaW9uLgorLW00X2RlZmluZShbbTRf
ZGVmYXVsdF9xdW90ZWRdLAorLVttNF9pZihbJDFdLCBbXSwgW1skMl1dLCBbWyQxXV0pXSkKKy0K
Ky1tNF9kZWZpbmUoW200X2RlZmF1bHRfbmJsYW5rX3F1b3RlZF0sCistW200X2lmYmxhbmsoWyQx
XSwgW1skMl1dLCBbWyQxXV0pXSkKKy0KKy0KKy0jIG00X2RlZm4oTkFNRSkKKy0jIC0tLS0tLS0t
LS0tLS0KKy0jIExpa2UgdGhlIG9yaWdpbmFsLCBleGNlcHQgZ3VhcmFudGVlIGEgd2FybmluZyB3
aGVuIHVzaW5nIHNvbWV0aGluZyB3aGljaCBpcworLSMgdW5kZWZpbmVkICh1bmxpa2UgTTQgMS40
LngpLiAgVGhpcyByZXBsYWNlbWVudCBpcyBub3QgYSBmdWxsLWZlYXR1cmVkCistIyByZXBsYWNl
bWVudDogaWYgYW55IG9mIHRoZSBkZWZpbmVkIG1hY3JvcyBjb250YWluIHVuYmFsYW5jZWQgcXVv
dGluZywgYnV0CistIyB3aGVuIHBhc3RlZCB0b2dldGhlciByZXN1bHQgaW4gYSB3ZWxsLXF1b3Rl
ZCBzdHJpbmcsIHRoZW4gb25seSBuYXRpdmUgbTQKKy0jIHN1cHBvcnQgaXMgYWJsZSB0byBnZXQg
aXQgY29ycmVjdC4gIEJ1dCB0aGF0J3Mgd2hlcmUgcXVhZHJpZ3JhcGhzIGNvbWUgaW4KKy0jIGhh
bmR5LCBpZiB5b3UgcmVhbGx5IG5lZWQgdW5iYWxhbmNlZCBxdW90ZXMgaW5zaWRlIHlvdXIgbWFj
cm9zLgorLSMKKy0jIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGZyZXF1ZW50bHksIHNvIG1pbmltaXpl
IHRoZSBhbW91bnQgb2YgYWRkaXRpb25hbAorLSMgZXhwYW5zaW9ucyBieSBza2lwcGluZyBtNF9p
Zm5kZWYuICBCZXR0ZXIgeWV0LCBpZiBfX200X3ZlcnNpb25fXyBleGlzdHMsCistIyAoYWRkZWQg
aW4gTTQgMS42KSwgdGhlbiBsZXQgbTQgZG8gdGhlIGpvYiBmb3IgdXMgKHNlZSBtNF9pbml0KS4K
Ky1tNF9kZWZpbmUoW200X2RlZm5dLAorLVttNF9pZihbJCNdLCBbMF0sIFtbJDBdXSwKKy0gICAg
ICAgWyQjXSwgWzFdLCBbbTRfaWZkZWYoWyQxXSwgW19tNF9kZWZuKFskMV0pXSwKKy0JCQkgICAg
W200X2ZhdGFsKFskMDogdW5kZWZpbmVkIG1hY3JvOiAkMV0pXSldLAorLSAgICAgICBbbTRfbWFw
X2FyZ3MoWyQwXSwgJEApXSldKQorLQorLQorLSMgbTRfZHVtcGRlZihOQU1FLi4uKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgSW4gbTQgMS40LngsIGR1bXBkZWYgd3JpdGVzIHRvIHRoZSBj
dXJyZW50IGRlYnVnZmlsZSwgcmF0aGVyIHRoYW4KKy0jIHN0ZGVyci4gIFRoaXMgaW4gdHVybiBy
b3lhbGx5IGNvbmZ1c2VzIGF1dG9tNHRlOyBzbyB3ZSBmb2xsb3cgdGhlCistIyBsZWFkIG9mIG5l
d2VyIG00IGFuZCBhbHdheXMgZHVtcCB0byBzdGRlcnIuICBVbmxpa2UgdGhlIG9yaWdpbmFsLAor
LSMgdGhpcyB2ZXJzaW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50LCBzaW5jZSB0aGVyZSBpcyBubyBj
b252ZW5pZW50IHdheQorLSMgaW4gbTQgMS40LnggdG8gZ3JhYiB0aGUgbmFtZXMgb2YgYWxsIGRl
ZmluZWQgbWFjcm9zLiAgTmV3ZXIgbTQKKy0jIGFsd2F5cyBkdW1wcyB0byBzdGRlcnIsIHJlZ2Fy
ZGxlc3Mgb2YgdGhlIGN1cnJlbnQgZGVidWdmaWxlOyBpdCBhbHNvCistIyBwcm92aWRlcyBtNHN5
bWJvbHMgYXMgYSB3YXkgdG8gZ3JhYiBhbGwgY3VycmVudCBtYWNybyBuYW1lcy4gIEJ1dAorLSMg
ZHVtcGRlZnMgaXMgbm90IGZyZXF1ZW50bHkgY2FsbGVkLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHdv
cnJ5IGFib3V0CistIyBjb25kaXRpb25hbGx5IHVzaW5nIHRoZXNlIG5ld2VyIGZlYXR1cmVzLiAg
QWxzbywgdGhpcyB2ZXJzaW9uCistIyBkb2Vzbid0IHNvcnQgbXVsdGlwbGUgYXJndW1lbnRzLgor
LSMKKy0jIElmIHdlIGRldGVjdCBtNCAxLjYgb3IgbmV3ZXIsIHRoZW4gcHJvdmlkZSBhbiBhbHRl
cm5hdGUgZGVmaW5pdGlvbiwKKy0jIGluc3RhbGxlZCBkdXJpbmcgbTRfaW5pdCwgdGhhdCBhbGxv
d3MgYnVpbHRpbnMgdGhyb3VnaC4KKy0jIFVuZm9ydHVuYXRlbHksIHRoZXJlIGlzIG5vIG5pY2Ug
d2F5IGluIG00IDEuNC54IHRvIGR1bXAgYnVpbHRpbnMuCistbTRfZGVmaW5lKFttNF9kdW1wZGVm
XSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiBtaXNzaW5nIGFyZ3VtZW50XSld
LAorLSAgICAgICBbJCNdLCBbMV0sIFttNF9pZmRlZihbJDFdLCBbbTRfZXJycHJpbnRuKAorLSAg
WyQxOgldbTRfZHF1b3RlKF9tNF9kZWZuKFskMV0pKSldLCBbbTRfZmF0YWwoWyQwOiB1bmRlZmlu
ZWQgbWFjcm86ICQxXSldKV0sCistICAgICAgIFttNF9tYXBfYXJncyhbJDBdLCAkQCldKV0pCist
CistbTRfZGVmaW5lKFtfbTRfZHVtcGRlZl0sCistW200X2lmKFskI10sIFswXSwgW200X2ZhdGFs
KFskMDogbWlzc2luZyBhcmd1bWVudF0pXSwKKy0gICAgICAgWyQjXSwgWzFdLCBbbTRfYnVpbHRp
bihbZHVtcGRlZl0sIFskMV0pXSwKKy0gICAgICAgW200X21hcF9hcmdzX3NlcChbbTRfYnVpbHRp
bihbZHVtcGRlZl0sXSwgWyldLCBbXSwgJEApXSldKQorLQorLQorLSMgbTRfZHVtcGRlZnMoTkFN
RS4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBTaW1pbGFyIHRvIGBtNF9kdW1wZGVm
KE5BTUUpJywgYnV0IGlmIE5BTUUgd2FzIG00X3B1c2hkZWYnZWQsIGRpc3BsYXkgaXRzCistIyB2
YWx1ZSBzdGFjayAobW9zdCByZWNlbnQgZGlzcGxheWVkIGZpcnN0KS4gIEFsc28sIHRoaXMgdmVy
c2lvbiBzaWxlbnRseQorLSMgaWdub3JlcyB1bmRlZmluZWQgbWFjcm9zLCByYXRoZXIgdGhhbiBl
cnJvcmluZyBvdXQuCistIworLSMgVGhpcyBtYWNybyBjaGVhdHMsIGJlY2F1c2UgaXQgcmVsaWVz
IG9uIHRoZSBjdXJyZW50IGRlZmluaXRpb24gb2YgTkFNRQorLSMgd2hpbGUgdGhlIHNlY29uZCBh
cmd1bWVudCBvZiBtNF9zdGFja19mb3JlYWNoX2xpZm8gaXMgZXZhbHVhdGVkICh3aGljaAorLSMg
d291bGQgYmUgdW5kZWZpbmVkIGFjY29yZGluZyB0byB0aGUgQVBJKS4KKy1tNF9kZWZpbmUoW200
X2R1bXBkZWZzXSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiBtaXNzaW5nIGFy
Z3VtZW50XSldLAorLSAgICAgICBbJCNdLCBbMV0sIFttNF9zdGFja19mb3JlYWNoX2xpZm8oWyQx
XSwgW200X2R1bXBkZWYoWyQxXSltNF9pZ25vcmVdKV0sCistICAgICAgIFttNF9tYXBfYXJncyhb
JDBdLCAkQCldKV0pCistCistIyBtNF9lc3lzY21kX3MoQ09NTUFORCkKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgTGlrZSBtNF9lc3lzY21kLCBleGNlcHQgc3RyaXAgYW55IHRyYWlsaW5n
IG5ld2xpbmVzLCB0aHVzIGJlaGF2aW5nCistIyBtb3JlIGxpa2Ugc2hlbGwgY29tbWFuZCBzdWJz
dGl0dXRpb24uCistbTRfZGVmaW5lKFttNF9lc3lzY21kX3NdLAorLVttNF9jaG9tcF9hbGwobTRf
ZXN5c2NtZChbJDFdKSldKQorLQorLQorLSMgbTRfcG9wZGVmKE5BTUUpCistIyAtLS0tLS0tLS0t
LS0tLS0KKy0jIExpa2UgdGhlIG9yaWdpbmFsLCBleGNlcHQgZ3VhcmFudGVlIGEgd2FybmluZyB3
aGVuIHVzaW5nIHNvbWV0aGluZyB3aGljaCBpcworLSMgdW5kZWZpbmVkICh1bmxpa2UgTTQgMS40
LngpLgorLSMKKy0jIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGZyZXF1ZW50bHksIHNvIG1pbmltaXpl
IHRoZSBhbW91bnQgb2YgYWRkaXRpb25hbAorLSMgZXhwYW5zaW9ucyBieSBza2lwcGluZyBtNF9p
Zm5kZWYuICBCZXR0ZXIgeWV0LCBpZiBfX200X3ZlcnNpb25fXyBleGlzdHMsCistIyAoYWRkZWQg
aW4gTTQgMS42KSwgdGhlbiBsZXQgbTQgZG8gdGhlIGpvYiBmb3IgdXMgKHNlZSBtNF9pbml0KS4K
Ky1tNF9kZWZpbmUoW200X3BvcGRlZl0sCistW200X2lmKFskI10sIFswXSwgW1skMF1dLAorLSAg
ICAgICBbJCNdLCBbMV0sIFttNF9pZmRlZihbJDFdLCBbX200X3BvcGRlZihbJDFdKV0sCistCQkJ
ICAgIFttNF9mYXRhbChbJDA6IHVuZGVmaW5lZCBtYWNybzogJDFdKV0pXSwKKy0gICAgICAgW200
X21hcF9hcmdzKFskMF0sICRAKV0pXSkKKy0KKy0KKy0jIG00X3NoaWZ0bihOLCAuLi4pCistIyAt
LS0tLS0tLS0tLS0tLS0tLQorLSMgUmV0dXJucyAuLi4gc2hpZnRlZCBOIHRpbWVzLiAgVXNlZnVs
IGZvciByZWN1cnNpdmUgInZhcmFyZ3MiIGNvbnN0cnVjdHMuCistIworLSMgQXV0b2NvbmYgZG9l
cyBub3QgdXNlIHRoaXMgbWFjcm8sIGJlY2F1c2UgaXQgaXMgaW5oZXJlbnRseSBzbG93ZXIgdGhh
bgorLSMgY2FsbGluZyB0aGUgY29tbW9uIGNhc2VzIG9mIG00X3NoaWZ0MiBvciBtNF9zaGlmdDMg
ZGlyZWN0bHkuICBCdXQgaXQKKy0jIG1pZ2h0IGFzIHdlbGwgYmUgZmFzdCBmb3Igb3RoZXIgY2xp
ZW50cywgc3VjaCBhcyBMaWJ0b29sLiAgT25lIHdheSB0bworLSMgZG8gdGhpcyBpcyB0byBleHBh
bmQgJEAgb25seSBvbmNlIGluIF9tNF9zaGlmdG4gKG90aGVyd2lzZSwgZm9yIGxvbmcKKy0jIGxp
c3RzLCB0aGUgZXhwYW5zaW9uIG9mIG00X2lmIHRha2VzIHR3aWNlIGFzIG11Y2ggbWVtb3J5IGFz
IHdoYXQgdGhlCistIyBsaXN0IGl0c2VsZiBvY2N1cGllcywgb25seSB0byB0aHJvdyBhd2F5IHRo
ZSB1bnVzZWQgYnJhbmNoKS4gIFRoZSBlbmQKKy0jIHJlc3VsdCBpcyBzdHJpY3RseSBlcXVpdmFs
ZW50IHRvCistIyAgIG00X2lmKFskMV0sIDEsIFttNF9zaGlmdCgsbTRfc2hpZnQobTRfc2hpZnQo
JEApKSldLAorLSMgICAgICAgICBbX200X3NoaWZ0bihtNF9kZWNyKFskMV0pLCBtNF9zaGlmdCht
NF9zaGlmdCgkQCkpKV0pCistIyBidXQgd2l0aCB0aGUgZmluYWwgYG00X3NoaWZ0KG00X3NoaWZ0
KCRAKSkpJyBzaGFyZWQgYmV0d2VlbiB0aGUgdHdvCistIyBwYXRocy4gIFRoZSBmaXJzdCBsZWcg
dXNlcyBhIG5vLW9wIG00X3NoaWZ0KCwkQCkgdG8gYmFsYW5jZSBvdXQgdGhlICgpLgorLSMKKy0j
IFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRl
IGhlcmUuCistbTRfZGVmaW5lKFttNF9zaGlmdG5dLAorLVttNF9hc3NlcnQoMCA8ICQxICYmICQx
IDwgJCMpXyQwKCRAKV0pCistCistbTRfZGVmaW5lKFtfbTRfc2hpZnRuXSwKKy1bbTRfaWYoWyQx
XSwgMSwgW200X3NoaWZ0KF0sCistICAgICAgIFskMChtNF9kZWNyKFskMV0pXSksIG00X3NoaWZ0
KG00X3NoaWZ0KCRAKSkpXSkKKy0KKy0jIG00X3NoaWZ0MiguLi4pCistIyBtNF9zaGlmdDMoLi4u
KQorLSMgLS0tLS0tLS0tLS0tLS0KKy0jIFJldHVybnMgLi4uIHNoaWZ0ZWQgdHdpY2UsIGFuZCB0
aHJlZSB0aW1lcy4gIEZhc3RlciB0aGFuIG00X3NoaWZ0bi4KKy1tNF9kZWZpbmUoW200X3NoaWZ0
Ml0sIFttNF9zaGlmdChtNF9zaGlmdCgkQCkpXSkKKy1tNF9kZWZpbmUoW200X3NoaWZ0M10sIFtt
NF9zaGlmdChtNF9zaGlmdChtNF9zaGlmdCgkQCkpKV0pCistCistIyBfbTRfc2hpZnQyKC4uLikK
Ky0jIF9tNF9zaGlmdDMoLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIG00X3NoaWZ0
MiBvciBtNF9zaGlmdDMsIGV4Y2VwdCBpbmNsdWRlIGEgbGVhZGluZyBjb21tYSB1bmxlc3Mgc2hp
ZnRpbmcKKy0jIGNvbnN1bWVzIGFsbCBhcmd1bWVudHMuICBXaHk/ICBCZWNhdXNlIGluIHJlY3Vy
c2lvbiwgaXQgaXMgbmljZSB0bworLSMgZGlzdGluZ3Vpc2ggYmV0d2VlbiAxIGVsZW1lbnQgbGVm
dCBhbmQgMCBlbGVtZW50cyBsZWZ0LCBiYXNlZCBvbiBob3cgbWFueQorLSMgYXJndW1lbnRzIHRo
aXMgc2hpZnQgZXhwYW5kcyB0by4KKy1tNF9kZWZpbmUoW19tNF9zaGlmdDJdLAorLVttNF9pZihb
JCNdLCBbMl0sIFtdLAorLSAgICAgICBbLCBtNF9zaGlmdChtNF9zaGlmdCgkQCkpXSldKQorLW00
X2RlZmluZShbX200X3NoaWZ0M10sCistW200X2lmKFskI10sIFszXSwgW10sCistICAgICAgIFss
IG00X3NoaWZ0KG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpXSldKQorLQorLQorLSMgbTRfdW5kZWZp
bmUoTkFNRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIHRoZSBvcmlnaW5hbCwgZXhj
ZXB0IGd1YXJhbnRlZSBhIHdhcm5pbmcgd2hlbiB1c2luZyBzb21ldGhpbmcgd2hpY2ggaXMKKy0j
IHVuZGVmaW5lZCAodW5saWtlIE00IDEuNC54KS4KKy0jCistIyBUaGlzIG1hY3JvIGlzIGNhbGxl
ZCBmcmVxdWVudGx5LCBzbyBtaW5pbWl6ZSB0aGUgYW1vdW50IG9mIGFkZGl0aW9uYWwKKy0jIGV4
cGFuc2lvbnMgYnkgc2tpcHBpbmcgbTRfaWZuZGVmLiAgQmV0dGVyIHlldCwgaWYgX19tNF92ZXJz
aW9uX18gZXhpc3RzLAorLSMgKGFkZGVkIGluIE00IDEuNiksIHRoZW4gbGV0IG00IGRvIHRoZSBq
b2IgZm9yIHVzIChzZWUgbTRfaW5pdCkuCistbTRfZGVmaW5lKFttNF91bmRlZmluZV0sCistW200
X2lmKFskI10sIFswXSwgW1skMF1dLAorLSAgICAgICBbJCNdLCBbMV0sIFttNF9pZmRlZihbJDFd
LCBbX200X3VuZGVmaW5lKFskMV0pXSwKKy0JCQkgICAgW200X2ZhdGFsKFskMDogdW5kZWZpbmVk
IG1hY3JvOiAkMV0pXSldLAorLSAgICAgICBbbTRfbWFwX2FyZ3MoWyQwXSwgJEApXSldKQorLQor
LSMgX200X3dyYXAoUFJFLCBQT1NUKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSGVscGVy
IG1hY3JvIGZvciBtNF93cmFwIGFuZCBtNF93cmFwX2xpZm8uICBBbGxvd3MgbmVzdGVkIGNhbGxz
IHRvCistIyBtNF93cmFwIHdpdGhpbiB3cmFwcGVkIHRleHQuICBVc2UgX200X2RlZm4gYW5kIF9t
NF9wb3BkZWYgZm9yIHNwZWVkLgorLW00X2RlZmluZShbX200X3dyYXBdLAorLVttNF9pZmRlZihb
JDBfdGV4dF0sCistCSAgW200X2RlZmluZShbJDBfdGV4dF0sIFskMV1fbTRfZGVmbihbJDBfdGV4
dF0pWyQyXSldLAorLQkgIFttNF9idWlsdGluKFttNHdyYXBdLCBbbTRfdW5xdW90ZSgKKy0gIF9t
NF9kZWZuKFskMF90ZXh0XSlfbTRfcG9wZGVmKFskMF90ZXh0XSkpXSltNF9kZWZpbmUoWyQwX3Rl
eHRdLCBbJDEkMl0pXSldKQorLQorLSMgbTRfd3JhcChURVhUKQorLSMgLS0tLS0tLS0tLS0tLQor
LSMgQXBwZW5kIFRFWFQgdG8gdGhlIGxpc3Qgb2YgaG9va3MgdG8gYmUgZXhlY3V0ZWQgYXQgdGhl
IGVuZCBvZiBpbnB1dC4KKy0jIFdoZXJlYXMgdGhlIG9yZGVyIG9mIHRoZSBvcmlnaW5hbCBtYXkg
YmUgTElGTyBpbiB0aGUgdW5kZXJseWluZyBtNCwKKy0jIHRoaXMgdmVyc2lvbiBpcyBhbHdheXMg
RklGTy4KKy1tNF9kZWZpbmUoW200X3dyYXBdLAorLVtfbTRfd3JhcChbXSwgWyQxW11dKV0pCist
CistIyBtNF93cmFwX2xpZm8oVEVYVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLQorLSMgUHJlcGVu
ZCBURVhUIHRvIHRoZSBsaXN0IG9mIGhvb2tzIHRvIGJlIGV4ZWN1dGVkIGF0IHRoZSBlbmQgb2Yg
aW5wdXQuCistIyBXaGVyZWFzIHRoZSBvcmRlciBvZiBtNF93cmFwIG1heSBiZSBGSUZPIGluIHRo
ZSB1bmRlcmx5aW5nIG00LCB0aGlzCistIyB2ZXJzaW9uIGlzIGFsd2F5cyBMSUZPLgorLW00X2Rl
ZmluZShbbTRfd3JhcF9saWZvXSwKKy1bX200X3dyYXAoWyQxW11dKV0pCistCistIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIDcuIFF1b3RpbmcgbWFuaXB1bGF0aW9uLiAgIyMK
Ky0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyBtNF9hcHBseShNQUNS
TywgTElTVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSW52b2tlIE1BQ1JPLCB3aXRo
IGFyZ3VtZW50cyBwcm92aWRlZCBmcm9tIHRoZSBxdW90ZWQgbGlzdCBvZgorLSMgY29tbWEtc2Vw
YXJhdGVkIHF1b3RlZCBhcmd1bWVudHMuICBJZiBMSVNUIGlzIGVtcHR5LCBpbnZva2UgTUFDUk8K
Ky0jIHdpdGhvdXQgYXJndW1lbnRzLiAgVGhlIGV4cGFuc2lvbiB3aWxsIG5vdCBiZSBjb25jYXRl
bmF0ZWQgd2l0aAorLSMgc3Vic2VxdWVudCB0ZXh0LgorLW00X2RlZmluZShbbTRfYXBwbHldLAor
LVttNF9pZihbJDJdLCBbXSwgWyQxXSwgWyQxKCQyKV0pW11dKQorLQorLSMgX200X2FwcGx5KE1B
Q1JPLCBMSVNUKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTGlrZSBtNF9hcHBseSwg
ZXhjZXB0IGRvIG5vdGhpbmcgaWYgTElTVCBpcyBlbXB0eS4KKy1tNF9kZWZpbmUoW19tNF9hcHBs
eV0sCistW200X2lmKFskMl0sIFtdLCBbXSwgWyQxKCQyKVtdXSldKQorLQorLQorLSMgbTRfY291
bnQoQVJHUykKKy0jIC0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm4gYSBjb3VudCBvZiBob3cgbWFu
eSBBUkdTIGFyZSBwcmVzZW50LgorLW00X2RlZmluZShbbTRfY291bnRdLCBbJCNdKQorLQorLQor
LSMgbTRfY3VycnkoTUFDUk8sIEFSRy4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist
IyBQZXJmb3JtIGFyZ3VtZW50IGN1cnJ5aW5nLiAgVGhlIGV4cGFuc2lvbiBvZiB0aGlzIG1hY3Jv
IGlzIGFub3RoZXIKKy0jIG1hY3JvIHRoYXQgdGFrZXMgZXhhY3RseSBvbmUgYXJndW1lbnQsIGFw
cGVuZHMgaXQgdG8gdGhlIGVuZCBvZiB0aGUKKy0jIG9yaWdpbmFsIEFSRyBsaXN0LCB0aGVuIGlu
dm9rZXMgTUFDUk8uICBGb3IgZXhhbXBsZToKKy0jICAgbTRfY3VycnkoW200X2N1cnJ5XSwgW200
X3JldmVyc2VdLCBbMV0pKFsyXSkoWzNdKSA9PiAzLCAyLCAxCistIyBOb3QgcXVpdGUgYXMgcHJh
Y3RpY2FsIGFzIG00X2luY3IsIGJ1dCB5b3UgY291bGQgYWxzbyBkbzoKKy0jICAgbTRfZGVmaW5l
KFthZGRdLCBbbTRfZXZhbCgoWyQxXSkgKyAoWyQyXSkpXSkKKy0jICAgbTRfZGVmaW5lKFthZGRf
b25lXSwgW200X2N1cnJ5KFthZGRdLCBbMV0pXSkKKy0jICAgYWRkX29uZSgpKFsyXSkgPT4gMwor
LW00X2RlZmluZShbbTRfY3VycnldLCBbJDEobTRfc2hpZnQoJEAsKV8kMF0pCistbTRfZGVmaW5l
KFtfbTRfY3VycnldLCAgICAgICAgICAgICAgIFtbJDFdKV0pCistCistCistIyBtNF9kbyhTVFJJ
TkcsIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLQorLSMgVGhpcyBtYWNybyBpbnZva2VzIGFs
bCBpdHMgYXJndW1lbnRzIChpbiBzZXF1ZW5jZSwgb2YgY291cnNlKS4gIEl0IGlzCistIyB1c2Vm
dWwgZm9yIG1ha2luZyB5b3VyIG1hY3JvcyBtb3JlIHN0cnVjdHVyZWQgYW5kIHJlYWRhYmxlIGJ5
IGRyb3BwaW5nCistIyB1bm5lY2Vzc2FyeSBkbmwncyBhbmQgaGF2ZSB0aGUgbWFjcm9zIGluZGVu
dGVkIHByb3Blcmx5LiAgTm8gY29uY2F0ZW5hdGlvbgorLSMgb2NjdXJzIGFmdGVyIGEgU1RSSU5H
OyB1c2UgbTRfdW5xdW90ZShtNF9qb2luKCxTVFJJTkcpKSBmb3IgdGhhdC4KKy0jCistIyBQbGVh
c2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJl
LgorLW00X2RlZmluZShbbTRfZG9dLAorLVttNF9pZihbJCNdLCAwLCBbXSwKKy0gICAgICAgWyQj
XSwgMSwgWyQxW11dLAorLSAgICAgICBbJDFbXSQwKG00X3NoaWZ0KCRAKSldKV0pCistCistCist
IyBtNF9kcXVvdGUoQVJHUykKKy0jIC0tLS0tLS0tLS0tLS0tLQorLSMgUmV0dXJuIEFSR1MgYXMg
YSBxdW90ZWQgbGlzdCBvZiBxdW90ZWQgYXJndW1lbnRzLgorLW00X2RlZmluZShbbTRfZHF1b3Rl
XSwgIFtbJEBdXSkKKy0KKy0KKy0jIG00X2RxdW90ZV9lbHQoQVJHUykKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIFJldHVybiBBUkdTIGFzIGFuIHVucXVvdGVkIGxpc3Qgb2YgZG91YmxlLXF1
b3RlZCBhcmd1bWVudHMuCistIworLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdp
dGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9kZWZpbmUoW200X2RxdW90ZV9lbHRd
LAorLVttNF9pZihbJCNdLCBbMF0sIFtdLAorLSAgICAgICBbJCNdLCBbMV0sIFtbWyQxXV1dLAor
LSAgICAgICBbW1skMV1dLCQwKG00X3NoaWZ0KCRAKSldKV0pCistCistCistIyBtNF9lY2hvKEFS
R1MpCistIyAtLS0tLS0tLS0tLS0tCistIyBSZXR1cm4gdGhlIEFSR1MsIHdpdGggdGhlIHNhbWUg
bGV2ZWwgb2YgcXVvdGluZy4gIFdoaXRlc3BhY2UgYWZ0ZXIKKy0jIHVucXVvdGVkIGNvbW1hcyBh
cmUgY29uc3VtZWQuCistbTRfZGVmaW5lKFttNF9lY2hvXSwgWyRAXSkKKy0KKy0KKy0jIG00X2V4
cGFuZChBUkcpCistIyBfbTRfZXhwYW5kKEFSRykKKy0jIC0tLS0tLS0tLS0tLS0tLQorLSMgUmV0
dXJuIHRoZSBleHBhbnNpb24gb2YgQVJHIGFzIGEgc2luZ2xlIHN0cmluZy4gIFVubGlrZQorLSMg
bTRfcXVvdGUoJDEpLCB0aGlzIHByZXNlcnZlcyB3aGl0ZXNwYWNlIGZvbGxvd2luZyBzaW5nbGUt
cXVvdGVkCistIyBjb21tYXMgdGhhdCBhcHBlYXIgd2l0aGluIEFSRy4gIEl0IGFsc28gZGVhbHMg
d2l0aCBzaGVsbCBjYXNlCistIyBzdGF0ZW1lbnRzLgorLSMKKy0jICAgbTRfZGVmaW5lKFthY3Rp
dmVdLCBbQUNULCBJVkVdKQorLSMgICBtNF9kZWZpbmUoW2FjdGl2ZTJdLCBbW0FDVCwgSVZFXV0p
CistIyAgIG00X3F1b3RlKGFjdGl2ZSwgYWN0aXZlMikKKy0jICAgPT4gQUNULElWRSxBQ1QsIElW
RQorLSMgICBtNF9leHBhbmQoW2FjdGl2ZSwgYWN0aXZlMl0pCistIyAgID0+IEFDVCwgSVZFLCBB
Q1QsIElWRQorLSMKKy0jIFVuZm9ydHVuYXRlbHksIGR1ZSB0byBsaW1pdGF0aW9ucyBpbiBtNCwg
QVJHIG11c3QgZXhwYW5kIHRvCistIyBzb21ldGhpbmcgd2l0aCBiYWxhbmNlZCBxdW90ZXMgKHVz
ZSBxdWFkcmlncmFwaHMgdG8gZ2V0IGFyb3VuZAorLSMgdGhpcyksIGFuZCBzaG91bGQgbm90IGNv
bnRhaW4gdGhlIHVubGlrZWx5IGRlbGltaXRlcnMgLT08eyggb3IKKy0jICl9Pj0tLiAgSXQgaXMg
cG9zc2libGUgdG8gaGF2ZSB1bmJhbGFuY2VkIHF1b3RlZCBgKCcgb3IgYCknLCBhcyB3ZWxsCist
IyBhcyB1bmJhbGFuY2VkIHVucXVvdGVkIGApJy4gIG00X2V4cGFuZCBjYW4gaGFuZGxlIHVudGVy
bWluYXRlZAorLSMgY29tbWVudHMgb3IgZG5sIG9uIHRoZSBmaW5hbCBsaW5lLCBhdCB0aGUgZXhw
ZW5zZSBvZiBzcGVlZDsgaXQgYWxzbworLSMgYWlkcyBpbiBkZXRlY3RpbmcgYXR0ZW1wdHMgdG8g
aW5jb3JyZWN0bHkgY2hhbmdlIHRoZSBjdXJyZW50CistIyBkaXZlcnNpb24gaW5zaWRlIEFSRy4g
IE1lYW53aGlsZSwgX200X2V4cGFuZCBpcyBmYXN0ZXIgYnV0IG11c3QgYmUKKy0jIGdpdmVuIGEg
dGVybWluYXRlZCBleHBhbnNpb24sIGFuZCBoYXMgbm8gc2FmZXR5IGNoZWNrcyBmb3IKKy0jIG1p
cy1kaXZlcnRlZCB0ZXh0LgorLSMKKy0jIEV4cGxvaXQgdGhhdCBleHRyYSB1bnF1b3RlZCAoKSB3
aWxsIGdyb3VwIHVucXVvdGVkIGNvbW1hcyBhbmQgdGhlCistIyBmb2xsb3dpbmcgd2hpdGVzcGFj
ZS4gIG00X2JwYXRzdWJzdCBjYW4ndCBoYW5kbGUgbmV3bGluZXMgaW5zaWRlICQxLAorLSMgYW5k
IG00X3N1YnN0ciBzdHJpcHMgcXVvdGluZy4gIFNvIHdlIChhYil1c2UgbTRfY2hhbmdlcXVvdGUs
IHVzaW5nCistIyB0ZW1wb3JhcnkgcXVvdGVzIHRvIHJlbW92ZSB0aGUgZGVsaW1pdGVycyB0aGF0
IGNvbnZlbmllbnRseSBpbmNsdWRlZAorLSMgdGhlIHVucXVvdGVkICgpIHRoYXQgd2VyZSBhZGRl
ZCBwcmlvciB0byB0aGUgY2hhbmdlcXVvdGUuCistIworLSMgVGhhbmtzIHRvIHNoZWxsIGNhc2Ug
c3RhdGVtZW50cywgdG9vIG1hbnkgcGVvcGxlIGFyZSBwcm9uZSB0byBwYXNzCistIyB1bmRlcnF1
b3RlZCBgKScsIHNvIHdlIHRyeSB0byBkZXRlY3QgdGhhdCBieSBwYXNzaW5nIGEgbWFya2VyIGFz
IGEKKy0jIGZvdXJ0aCBhcmd1bWVudDsgaWYgdGhlIG1hcmtlciBpcyBub3QgcHJlc2VudCwgdGhl
biB3ZSBhc3N1bWUgdGhhdAorLSMgd2UgZW5jb3VudGVyZWQgYW4gZWFybHkgYCknLCBhbmQgcmUt
ZXhwYW5kIHRoZSBmaXJzdCBhcmd1bWVudCwgYnV0CistIyB0aGlzIHRpbWUgd2l0aCBvbmUgbW9y
ZSBgKCcgaW4gdGhlIHNlY29uZCBhcmd1bWVudCBhbmQgaW4gdGhlCistIyBvcGVuLXF1b3RlIGRl
bGltaXRlci4gIFdlIG11c3QgYWxzbyBpZ25vcmUgdGhlIHNsb3AgZnJvbSB0aGUKKy0jIHByZXZp
b3VzIHRyeS4gIFRoZSBmaW5hbCBtYWNybyBpcyB0aHVzIGhhbGYgbGluZS1ub2lzZSwgaGFsZiBh
cnQuCistbTRfZGVmaW5lKFttNF9leHBhbmRdLAorLVttNF9wdXNoZGVmKFttNF9kaXZlcnRdLCBf
bTRfZGVmbihbX200X2RpdmVydF91bnNhZmVdKSldZG5sCistW200X3B1c2hkZWYoW200X2RpdmVy
dF9wdXNoXSwgX200X2RlZm4oW19tNF9kaXZlcnRfdW5zYWZlXSkpXWRubAorLVttNF9jaG9tcChf
JDAoWyQxCistXSkpX200X3BvcGRlZihbbTRfZGl2ZXJ0XSwgW200X2RpdmVydF9wdXNoXSldKQor
LQorLW00X2RlZmluZShbX200X2V4cGFuZF0sIFskMF8oWyQxXSwgWyhdLCAtPTx7KCQxKX0+PS0s
IFt9Pj0tXSldKQorLQorLW00X2RlZmluZShbX200X2V4cGFuZF9dLAorLVttNF9pZihbJDRdLCBb
fT49LV0sCistICAgICAgIFttNF9jaGFuZ2VxdW90ZShbLT08eyQyXSwgWyl9Pj0tXSkkM200X2No
YW5nZXF1b3RlKFssIF0pXSwKKy0gICAgICAgWyQwKFskMV0sIFsoJDJdLCAtPTx7KCQyJDEpfT49
LSwgW30+PS1dKW00X2lnbm9yZSQyXSldKQorLQorLQorLSMgbTRfaWdub3JlKEFSR1MpCistIyAt
LS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZHMgdG8gbm90aGluZy4gIFVzZWZ1bCBmb3IgY29uZGl0
aW9uYWxseSBpZ25vcmluZyBhbiBhcmJpdHJhcnkKKy0jIG51bWJlciBvZiBhcmd1bWVudHMgKHNl
ZSBfbTRfbGlzdF9jbXAgZm9yIGFuIGV4YW1wbGUpLgorLW00X2RlZmluZShbbTRfaWdub3JlXSkK
Ky0KKy0KKy0jIG00X21ha2VfbGlzdChBUkdTKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tCistIyBT
aW1pbGFyIHRvIG00X2RxdW90ZSwgdGhpcyBjcmVhdGVzIGEgcXVvdGVkIGxpc3Qgb2YgcXVvdGVk
IEFSR1MuICBUaGlzCistIyB2ZXJzaW9uIGlzIGxlc3MgZWZmaWNpZW50IHRoYW4gbTRfZHF1b3Rl
LCBidXQgc2VwYXJhdGVzIGVhY2ggYXJndW1lbnQKKy0jIHdpdGggYSBjb21tYSBhbmQgbmV3bGlu
ZSwgcmF0aGVyIHRoYW4ganVzdCBjb21tYSwgZm9yIHJlYWRhYmlsaXR5LgorLSMgV2hlbiBkZXZl
bG9waW5nIGFuIG00c3VnYXIgYWxnb3JpdGhtLCB5b3UgY291bGQgdGVtcG9yYXJpbHkgdXNlCist
IyAgIG00X3B1c2hkZWYoW200X2RxdW90ZV0sbTRfZGVmbihbbTRfbWFrZV9saXN0XSkpCistIyBh
cm91bmQgeW91ciBjb2RlIHRvIG1ha2UgZGVidWdnaW5nIGVhc2llci4KKy1tNF9kZWZpbmUoW200
X21ha2VfbGlzdF0sIFttNF9qb2luKFssCistXSwgbTRfZHF1b3RlX2VsdCgkQCkpXSkKKy0KKy0K
Ky0jIG00X25vcXVvdGUoU1RSSU5HKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm4g
dGhlIHJlc3VsdCBvZiBpZ25vcmluZyBhbGwgcXVvdGVzIGluIFNUUklORyBhbmQgaW52b2tpbmcg
dGhlCistIyBtYWNyb3MgaXQgY29udGFpbnMuICBBbW9uZyBvdGhlciB0aGluZ3MsIHRoaXMgaXMg
dXNlZnVsIGZvciBlbmFibGluZworLSMgbWFjcm8gaW52b2NhdGlvbnMgaW5zaWRlIHN0cmluZ3Mg
d2l0aCBbXSBibG9ja3MgKGZvciBpbnN0YW5jZSByZWdleHBzCistIyBhbmQgaGVscC1zdHJpbmdz
KS4gIE9uIHRoZSBvdGhlciBoYW5kLCBzaW5jZSBhbGwgcXVvdGVzIGFyZSBkaXNhYmxlZCwKKy0j
IGFueSBtYWNybyBleHBhbmRlZCBkdXJpbmcgdGhpcyB0aW1lIHRoYXQgcmVsaWVzIG9uIG5lc3Rl
ZCBbXSBxdW90aW5nCistIyB3aWxsIGxpa2VseSBjcmFzaCBhbmQgYnVybi4gIFRoaXMgbWFjcm8g
aXMgc2VsZG9tIHVzZWZ1bDsgY29uc2lkZXIKKy0jIG00X3VucXVvdGUgb3IgbTRfZXhwYW5kIGlu
c3RlYWQuCistbTRfZGVmaW5lKFttNF9ub3F1b3RlXSwKKy1bbTRfY2hhbmdlcXVvdGUoWy09PHso
XSxbKX0+PS1dKSQxLT08eygpfT49LW00X2NoYW5nZXF1b3RlKFssXSldKQorLQorLQorLSMgbTRf
cXVvdGUoQVJHUykKKy0jIC0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm4gQVJHUyBhcyBhIHNpbmds
ZSBhcmd1bWVudC4gIEFueSB3aGl0ZXNwYWNlIGFmdGVyIHVucXVvdGVkIGNvbW1hcworLSMgaXMg
c3RyaXBwZWQuICBUaGVyZSBpcyBhbHdheXMgb3V0cHV0LCBldmVuIHdoZW4gdGhlcmUgd2VyZSBu
byBhcmd1bWVudHMuCistIworLSMgSXQgaXMgaW1wb3J0YW50IHRvIHJlYWxpemUgdGhlIGRpZmZl
cmVuY2UgYmV0d2VlbiBgbTRfcXVvdGUoZXhwKScgYW5kCistIyBgW2V4cF0nOiBpbiB0aGUgZmly
c3QgY2FzZSB5b3Ugb2J0YWluIHRoZSBxdW90ZWQgKnJlc3VsdCogb2YgdGhlCistIyBleHBhbnNp
b24gb2YgRVhQLCB3aGlsZSBpbiB0aGUgbGF0dGVyIHlvdSBqdXN0IG9idGFpbiB0aGUgc3RyaW5n
CistIyBgZXhwJy4KKy1tNF9kZWZpbmUoW200X3F1b3RlXSwgIFtbJCpdXSkKKy0KKy0KKy0jIF9t
NF9xdW90ZShBUkdTKQorLSMgLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIG00X3F1b3RlLCBleGNl
cHQgdGhhdCB3aGVuIHRoZXJlIGFyZSBubyBhcmd1bWVudHMsIHRoZXJlIGlzIG5vCistIyBvdXRw
dXQuICBGb3IgY29uZGl0aW9uYWwgc2NlbmFyaW9zIChzdWNoIGFzIHBhc3NpbmcgX200X3F1b3Rl
IGFzIHRoZQorLSMgbWFjcm8gbmFtZSBpbiBtNF9tYXBhbGwpLCB0aGlzIGZlYXR1cmUgY2FuIGJl
IHVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbgorLSMgb25lIGFyZ3VtZW50IG9mIHRoZSBlbXB0
eSBzdHJpbmcgdnMuIG5vIGFyZ3VtZW50cy4gIEhvd2V2ZXIsIGluIHRoZQorLSMgbm9ybWFsIGNh
c2Ugd2l0aCBhcmd1bWVudHMgcHJlc2VudCwgdGhpcyBpcyBsZXNzIGVmZmljaWVudCB0aGFuIG00
X3F1b3RlLgorLW00X2RlZmluZShbX200X3F1b3RlXSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbXSwg
W1skKl1dKV0pCistCistCistIyBtNF9yZXZlcnNlKEFSR1MpCistIyAtLS0tLS0tLS0tLS0tLS0t
CistIyBPdXRwdXQgQVJHUyBpbiByZXZlcnNlIG9yZGVyLgorLSMKKy0jIFBsZWFzZSBrZWVwIGZv
cmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCistbTRfZGVm
aW5lKFttNF9yZXZlcnNlXSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbXSwgWyQjXSwgWzFdLCBbWyQx
XV0sCistICAgICAgIFskMChtNF9zaGlmdCgkQCkpLCBbJDFdXSldKQorLQorLQorLSMgbTRfdW5x
dW90ZShBUkdTKQorLSMgLS0tLS0tLS0tLS0tLS0tLQorLSMgUmVtb3ZlIG9uZSBsYXllciBvZiBx
dW90ZXMgZnJvbSBlYWNoIEFSRywgcGVyZm9ybWluZyBvbmUgbGV2ZWwgb2YKKy0jIGV4cGFuc2lv
bi4gIEZvciBvbmUgYXJndW1lbnQsIG00X3VucXVvdGUoW2FyZ10pIGlzIG1vcmUgZWZmaWNpZW50
IHRoYW4KKy0jIG00X2RvKFthcmddKSwgYnV0IGZvciBtdWx0aXBsZSBhcmd1bWVudHMsIHRoZSBk
aWZmZXJlbmNlIGlzIHRoYXQKKy0jIG00X3VucXVvdGUgc2VwYXJhdGVzIGFyZ3VtZW50cyB3aXRo
IGNvbW1hcyB3aGlsZSBtNF9kbyBjb25jYXRlbmF0ZXMuCistIyBGb2xsb3cgdGhpcyBtYWNybyB3
aXRoIFtdIGlmIGNvbmNhdGVuYXRpb24gd2l0aCBzdWJzZXF1ZW50IHRleHQgaXMKKy0jIHVuZGVz
aXJlZC4KKy1tNF9kZWZpbmUoW200X3VucXVvdGVdLCBbJCpdKQorLQorLQorLSMjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgOC4gSW1wbGVtZW50aW5nIG00IGxvb3BzLiAgIyMK
Ky0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLQorLSMgbTRfZm9yKFZBUklB
QkxFLCBGSVJTVCwgTEFTVCwgW1NURVAgPSArLy0xXSwgRVhQUkVTU0lPTikKKy0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFeHBh
bmQgRVhQUkVTU0lPTiBkZWZpbmluZyBWQVJJQUJMRSB0byBGUk9NLCBGUk9NICsgMSwgLi4uLCBU
TyB3aXRoCistIyBpbmNyZW1lbnRzIG9mIFNURVAuICBCb3RoIGxpbWl0cyBhcmUgaW5jbHVkZWQs
IGFuZCBib3VuZHMgYXJlCistIyBjaGVja2VkIGZvciBjb25zaXN0ZW5jeS4gIFRoZSBhbGdvcml0
aG0gaXMgcm9idXN0IHRvIGluZGlyZWN0CistIyBWQVJJQUJMRSBuYW1lcy4gIENoYW5naW5nIFZB
UklBQkxFIGluc2lkZSBFWFBSRVNTSU9OIHdpbGwgbm90IGltcGFjdAorLSMgdGhlIG51bWJlciBv
ZiBpdGVyYXRpb25zLgorLSMKKy0jIFVzZXMgX200X2RlZm4gZm9yIHNwZWVkLCBhbmQgYXZvaWQg
ZG5sIGluIHRoZSBtYWNybyBib2R5LiAgRmFjdG9yCistIyB0aGUgX200X2ZvciBjYWxsIHNvIHRo
YXQgRVhQUkVTU0lPTiBpcyBvbmx5IHBhcnNlZCBvbmNlLgorLW00X2RlZmluZShbbTRfZm9yXSwK
Ky1bbTRfcHVzaGRlZihbJDFdLCBtNF9ldmFsKFskMl0pKV1kbmwKKy1bbTRfY29uZChbbTRfZXZh
bCgoWyQzXSkgPiAoWyQyXSkpXSwgMSwKKy0JICAgW200X3B1c2hkZWYoW19tNF9zdGVwXSwgbTRf
ZXZhbChtNF9kZWZhdWx0X3F1b3RlZChbJDRdLAorLQkgICAgICAxKSkpbTRfYXNzZXJ0KF9tNF9z
dGVwID4gMClfJDAoX200X2RlZm4oWyQxXSksCistICBtNF9ldmFsKCgoWyQzXSkgLSAoWyQyXSkp
IC8gX200X3N0ZXAgKiBfbTRfc3RlcCArIChbJDJdKSksIF9tNF9zdGVwLF0sCistCSBbbTRfZXZh
bCgoWyQzXSkgPCAoWyQyXSkpXSwgMSwKKy0JICAgW200X3B1c2hkZWYoW19tNF9zdGVwXSwgbTRf
ZXZhbChtNF9kZWZhdWx0X3F1b3RlZChbJDRdLAorLQkgICAgICAtMSkpKW00X2Fzc2VydChfbTRf
c3RlcCA8IDApXyQwKF9tNF9kZWZuKFskMV0pLAorLSAgbTRfZXZhbCgoKFskMl0pIC0gKFskM10p
KSAvIC0oX200X3N0ZXApICogX200X3N0ZXAgKyAoWyQyXSkpLCBfbTRfc3RlcCxdLAorLQkgW200
X3B1c2hkZWYoW19tNF9zdGVwXSlfJDAoX200X2RlZm4oWyQxXSksIF9tNF9kZWZuKFskMV0pLCAw
LF0pXWRubAorLVtbbTRfZGVmaW5lKFskMV0sXSwgWykkNV0pbTRfcG9wZGVmKFtfbTRfc3RlcF0s
IFskMV0pXSkKKy0KKy0jIF9tNF9mb3IoQ09VTlQsIExBU1QsIFNURVAsIFBSRSwgUE9TVCkKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENvcmUgb2YgdGhlIGxv
b3AsIG5vIGNvbnNpc3RlbmN5IGNoZWNrcywgYWxsIGFyZ3VtZW50cyBhcmUgcGxhaW4KKy0jIG51
bWJlcnMuICBFeHBhbmQgUFJFW0NPVU5UXVBPU1QsIHRoZW4gYWx0ZXIgQ09VTlQgYnkgU1RFUCBh
bmQKKy0jIGl0ZXJhdGUgaWYgQ09VTlQgaXMgbm90IExBU1QuCistbTRfZGVmaW5lKFtfbTRfZm9y
XSwKKy1bJDRbJDFdJDVbXW00X2lmKFskMV0sIFskMl0sIFtdLAorLQkJIFskMChtNF9ldmFsKFsk
MSArICQzXSksIFskMl0sIFskM10sIFskNF0sIFskNV0pXSldKQorLQorLQorLSMgSW1wbGVtZW50
aW5nIGBmb3JlYWNoJyBsb29wcyBpbiBtNCBpcyBtdWNoIG1vcmUgdHJpY2t5IHRoYW4gaXQgbWF5
CistIyBzZWVtLiAgRm9yIGV4YW1wbGUsIHRoZSBvbGQgTTQgMS40LjQgbWFudWFsIGhhZCBhbiBp
bmNvcnJlY3QgZXhhbXBsZSwKKy0jIHdoaWNoIGxvb2tlZCBsaWtlIHRoaXMgKHdoZW4gdHJhbnNs
YXRlZCB0byBtNHN1Z2FyKToKKy0jCistIyB8ICMgZm9yZWFjaChWQVIsIChMSVNUKSwgU1RNVCkK
Ky0jIHwgbTRfZGVmaW5lKFtmb3JlYWNoXSwKKy0jIHwgICBbbTRfcHVzaGRlZihbJDFdKV9mb3Jl
YWNoKFskMV0sIFskMl0sIFskM10pbTRfcG9wZGVmKFskMV0pXSkKKy0jIHwgbTRfZGVmaW5lKFtf
YXJnMV0sIFskMV0pCistIyB8IG00X2RlZmluZShbX2ZvcmVhY2hdLAorLSMgfCAgIFttNF9pZihb
JDJdLCBbKCldLCAsCistIyB8ICAgICBbbTRfZGVmaW5lKFskMV0sIF9hcmcxJDIpJDNbXV9mb3Jl
YWNoKFskMV0sIChtNF9zaGlmdCQyKSwgWyQzXSldKV0pCistIworLSMgQnV0IHRoZW4gaWYgeW91
IHJ1bgorLSMKKy0jIHwgbTRfZGVmaW5lKGEsIDEpCistIyB8IG00X2RlZmluZShiLCAyKQorLSMg
fCBtNF9kZWZpbmUoYywgMykKKy0jIHwgZm9yZWFjaChbZl0sIFsoW2FdLCBbKGJdLCBbYyldKV0s
IFtlY2hvIGYKKy0jIHwgXSkKKy0jCistIyBpdCBnaXZlcworLSMKKy0jICA9PiBlY2hvIDEKKy0j
ICA9PiBlY2hvICgyLDMpCistIworLSMgd2hpY2ggaXMgbm90IHdoYXQgaXMgZXhwZWN0ZWQuCist
IworLSMgT2YgY291cnNlIHRoZSBwcm9ibGVtIGlzIHRoYXQgbWFueSBxdW90ZXMgYXJlIG1pc3Np
bmcuICBTbyB5b3UgYWRkCistIyBwbGVudHkgb2YgcXVvdGVzIGF0IHJhbmRvbSBwbGFjZXMsIHVu
dGlsIHlvdSByZWFjaCB0aGUgZXhwZWN0ZWQKKy0jIHJlc3VsdC4gIEFsdGVybmF0aXZlbHksIGlm
IHlvdSBhcmUgYSBxdW90aW5nIHdpemFyZCwgeW91IGRpcmVjdGx5CistIyByZWFjaCB0aGUgZm9s
bG93aW5nIGltcGxlbWVudGF0aW9uIChidXQgaWYgeW91IHJlYWxseSBkaWQsIHRoZW4KKy0jIGFw
cGx5IHRvIHRoZSBtYWludGVuYW5jZSBvZiBtNHN1Z2FyISkuCistIworLSMgfCAjIGZvcmVhY2go
VkFSLCAoTElTVCksIFNUTVQpCistIyB8IG00X2RlZmluZShbZm9yZWFjaF0sIFttNF9wdXNoZGVm
KFskMV0pX2ZvcmVhY2goJEApbTRfcG9wZGVmKFskMV0pXSkKKy0jIHwgbTRfZGVmaW5lKFtfYXJn
MV0sIFtbJDFdXSkKKy0jIHwgbTRfZGVmaW5lKFtfZm9yZWFjaF0sCistIyB8ICBbbTRfaWYoJDIs
IFsoKV0sICwKKy0jIHwgICAgW200X2RlZmluZShbJDFdLCBbX2FyZzEkMl0pJDNbXV9mb3JlYWNo
KFskMV0sIFsobTRfc2hpZnQkMildLCBbJDNdKV0pXSkKKy0jCistIyB3aGljaCB0aGlzIHRpbWUg
YW5zd2VycworLSMKKy0jICA9PiBlY2hvIGEKKy0jICA9PiBlY2hvIChiCistIyAgPT4gZWNobyBj
KQorLSMKKy0jIEJpbmdvIQorLSMKKy0jIFdlbGwsIG5vdCBxdWl0ZS4KKy0jCistIyBXaXRoIGEg
YmV0dGVyIGxvb2ssIHlvdSByZWFsaXplIHRoYXQgdGhlIHBhcmVucyBhcmUgbW9yZSBhIHBhaW4g
dGhhbgorLSMgYSBoZWxwOiBzaW5jZSBhbnl3YXkgeW91IG5lZWQgdG8gcXVvdGUgcHJvcGVybHkg
dGhlIGxpc3QsIHlvdSBlbmQgdXAKKy0jIHdpdGggYWx3YXlzIHVzaW5nIGFuIG91dGVybW9zdCBw
YWlyIG9mIHBhcmVucyBhbmQgYW4gb3V0ZXJtb3N0IHBhaXIKKy0jIG9mIHF1b3Rlcy4gIFJlamVj
dGluZyB0aGUgcGFyZW5zIGJvdGggZWFzZXMgdGhlIGltcGxlbWVudGF0aW9uLCBhbmQKKy0jIHNp
bXBsaWZpZXMgdGhlIHVzZToKKy0jCistIyB8ICMgZm9yZWFjaChWQVIsIChMSVNUKSwgU1RNVCkK
Ky0jIHwgbTRfZGVmaW5lKFtmb3JlYWNoXSwgW200X3B1c2hkZWYoWyQxXSlfZm9yZWFjaCgkQClt
NF9wb3BkZWYoWyQxXSldKQorLSMgfCBtNF9kZWZpbmUoW19hcmcxXSwgWyQxXSkKKy0jIHwgbTRf
ZGVmaW5lKFtfZm9yZWFjaF0sCistIyB8ICBbbTRfaWYoJDIsIFtdLCAsCistIyB8ICAgIFttNF9k
ZWZpbmUoWyQxXSwgW19hcmcxKCQyKV0pJDNbXV9mb3JlYWNoKFskMV0sIFttNF9zaGlmdCgkMild
LCBbJDNdKV0pXSkKKy0jCistIworLSMgTm93LCBqdXN0IHJlcGxhY2UgdGhlIGAkMicgd2l0aCBg
bTRfcXVvdGUoJDIpJyBpbiB0aGUgb3V0ZXIgYG00X2lmJworLSMgdG8gaW1wcm92ZSByb2J1c3Ru
ZXNzLCBhbmQgeW91IGNvbWUgdXAgd2l0aCBhIG5pY2UgaW1wbGVtZW50YXRpb24KKy0jIHRoYXQg
ZG9lc24ndCByZXF1aXJlIGV4dHJhIHBhcmVudGhlc2VzIGluIHRoZSB1c2VyJ3MgTElTVC4KKy0j
CistIyBCdXQgd2FpdCAtICBub3cgdGhlIGFsZ29yaXRobSBpcyBxdWFkcmF0aWMsIGJlY2F1c2Ug
ZXZlcnkgcmVjdXJzaW9uIG9mCistIyB0aGUgYWxnb3JpdGhtIGtlZXBzIHRoZSBlbnRpcmUgTElT
VCBhbmQgbWVyZWx5IGFkZHMgYW5vdGhlciBtNF9zaGlmdCB0bworLSMgdGhlIHF1b3RlZCB0ZXh0
LiAgSWYgdGhlIHVzZXIgaGFzIGEgbG90IG9mIGVsZW1lbnRzIGluIExJU1QsIHlvdSBjYW4KKy0j
IGJyaW5nIHRoZSBzeXN0ZW0gdG8gaXRzIGtuZWVzIHdpdGggdGhlIG1lbW9yeSBtNCB0aGVuIHJl
cXVpcmVzLCBvciB0cmlwCistIyB0aGUgbTQgLS1uZXN0aW5nLWxpbWl0IHJlY3Vyc2lvbiBmYWN0
b3IuICBUaGUgb25seSB3YXkgdG8gYXZvaWQKKy0jIHF1YWRyYXRpYyBncm93dGggaXMgZW5zdXJl
IG00X3NoaWZ0IGlzIGV4cGFuZGVkIHByaW9yIHRvIHRoZSByZWN1cnNpb24uCistIyBIZW5jZSB0
aGUgZGVzaWduIGJlbG93LgorLSMKKy0jIFRoZSBNNCBtYW51YWwgbm93IGluY2x1ZGVzIGEgY2hh
cHRlciBkZXZvdGVkIHRvIHRoaXMgaXNzdWUsIHdpdGgKKy0jIHRoZSBsZXNzb25zIGxlYXJuZWQg
ZnJvbSBtNHN1Z2FyLiAgQW5kIHN0aWxsLCB0aGlzIGRlc2lnbiBpcyBvbmx5CistIyBvcHRpbWFs
IGZvciBNNCAxLjY7IHNlZSBmb3JlYWNoLm00IGZvciB5ZXQgbW9yZSBjb21tZW50cyBvbiB3aHkK
Ky0jIE00IDEuNC54IHVzZXMgeWV0IGFub3RoZXIgaW1wbGVtZW50YXRpb24uCistCistCistIyBt
NF9mb3JlYWNoKFZBUklBQkxFLCBMSVNULCBFWFBSRVNTSU9OKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jCistIyBFeHBhbmQgRVhQUkVTU0lPTiBhc3NpZ25p
bmcgZWFjaCB2YWx1ZSBvZiB0aGUgTElTVCB0byBWQVJJQUJMRS4KKy0jIExJU1Qgc2hvdWxkIGhh
dmUgdGhlIGZvcm0gYGl0ZW1fMSwgaXRlbV8yLCAuLi4sIGl0ZW1fbicsIGkuZS4gdGhlCistIyB3
aG9sZSBsaXN0IG11c3QgKnF1b3RlZCouICBRdW90ZSBtZW1iZXJzIHRvbyBpZiB5b3UgZG9uJ3Qg
d2FudCB0aGVtCistIyB0byBiZSBleHBhbmRlZC4KKy0jCistIyBUaGlzIG1hY3JvIGlzIHJvYnVz
dCB0byBhY3RpdmUgc3ltYm9sczoKKy0jICAgICAgfCBtNF9kZWZpbmUoYWN0aXZlLCBbQUNULCBJ
VkVdKQorLSMgICAgICB8IG00X2ZvcmVhY2goVmFyLCBbYWN0aXZlLCBhY3RpdmVdLCBbLVZhci1d
KQorLSMgICAgID0+IC1BQ1QtLUlWRS0tQUNULS1JVkUtCistIworLSMgICAgICB8IG00X2ZvcmVh
Y2goVmFyLCBbW2FjdGl2ZV0sIFthY3RpdmVdXSwgWy1WYXItXSkKKy0jICAgICA9PiAtQUNULCBJ
VkUtLUFDVCwgSVZFLQorLSMKKy0jICAgICAgfCBtNF9mb3JlYWNoKFZhciwgW1tbYWN0aXZlXV0s
IFtbYWN0aXZlXV1dLCBbLVZhci1dKQorLSMgICAgID0+IC1hY3RpdmUtLWFjdGl2ZS0KKy0jCist
IyBUaGlzIG1hY3JvIGlzIGNhbGxlZCBmcmVxdWVudGx5LCBzbyBhdm9pZCBleHRyYSBleHBhbnNp
b25zIHN1Y2ggYXMKKy0jIG00X2lmdmFsIGFuZCBkbmwuICBBbHNvLCBzaW5jZSAkMiBtaWdodCBi
ZSBxdWl0ZSBsYXJnZSwgdHJ5IHRvIHVzZSBpdAorLSMgYXMgbGl0dGxlIGFzIHBvc3NpYmxlIGlu
IF9tNF9mb3JlYWNoOyBlYWNoIGV4dHJhIHVzZSByZXF1aXJlcyB0aGF0IG11Y2gKKy0jIG1vcmUg
bWVtb3J5IGZvciBleHBhbnNpb24uICBTbywgcmF0aGVyIHRoYW4gZGlyZWN0bHkgY29tcGFyZSAk
MiBhZ2FpbnN0CistIyBbXSBhbmQgdXNlIG00X2Nhci9tNF9jZHIgZm9yIHJlY3Vyc2lvbiwgd2Ug
aW5zdGVhZCB1bmJveCB0aGUgbGlzdCAod2hpY2gKKy0jIHJlcXVpcmVzIHN3YXBwaW5nIHRoZSBh
cmd1bWVudCBvcmRlciBpbiB0aGUgaGVscGVyKSwgaW5zZXJ0IGFuIGlnbm9yZWQKKy0jIHRoaXJk
IGFyZ3VtZW50LCBhbmQgdXNlIG00X3NoaWZ0MyB0byBkZXRlY3Qgd2hlbiByZWN1cnNpb24gaXMg
Y29tcGxldGUsCistIyBhdCB3aGljaCBwb2ludCB0aGlzIGxvb2tzIHZlcnkgbXVjaCBsaWtlIG00
X21hcF9hcmdzLgorLW00X2RlZmluZShbbTRfZm9yZWFjaF0sCistW200X2lmKFskMl0sIFtdLCBb
XSwKKy0gICAgICAgW200X3B1c2hkZWYoWyQxXSlfJDAoW200X2RlZmluZShbJDFdLF0sIFspJDNd
LCBbXSwKKy0gICQyKW00X3BvcGRlZihbJDFdKV0pXSkKKy0KKy0jIF9tNF9mb3JlYWNoKFBSRSwg
UE9TVCwgSUdOT1JFRCwgQVJHLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBGb3JtIHRoZSBjb21tb24gYmFzaXMgb2YgdGhlIG00X2ZvcmVhY2ggYW5k
IG00X21hcCBtYWNyb3MuICBGb3IgZWFjaAorLSMgQVJHLCBleHBhbmQgUFJFW0FSR11QT1NUW10u
ICBUaGUgSUdOT1JFRCBhcmd1bWVudCBtYWtlcyByZWN1cnNpb24KKy0jIGVhc2llciwgYW5kIG11
c3QgYmUgc3VwcGxpZWQgcmF0aGVyIHRoYW4gaW1wbGljaXQuCistIworLSMgUGxlYXNlIGtlZXAg
Zm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9k
ZWZpbmUoW19tNF9mb3JlYWNoXSwKKy1bbTRfaWYoWyQjXSwgWzNdLCBbXSwKKy0gICAgICAgWyQx
WyQ0XSQyW10kMChbJDFdLCBbJDJdLCBtNF9zaGlmdDMoJEApKV0pXSkKKy0KKy0KKy0jIG00X2Zv
cmVhY2hfdyhWQVJJQUJMRSwgTElTVCwgRVhQUkVTU0lPTikKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIExpa2UgbTRfZm9yZWFjaCwgYnV0IHRoZSBsaXN0
IGlzIHdoaXRlc3BhY2Ugc2VwYXJhdGVkLiAgRGVwZW5kaW5nIG9uCistIyBFWFBSRVNTSU9OLCBp
dCBtYXkgYmUgbW9yZSBlZmZpY2llbnQgdG8gdXNlIG00X21hcF9hcmdzX3cuCistIworLSMgVGhp
cyBtYWNybyBpcyByb2J1c3QgdG8gYWN0aXZlIHN5bWJvbHM6CistIyAgICBtNF9mb3JlYWNoX3co
W1Zhcl0sIFsgYWN0aXZlCistIyAgICBiCWFjdFwKKy0jICAgIGl2ZSAgXSwgWy1WYXItXSllbmQK
Ky0jICAgID0+IC1hY3RpdmUtLWItLWFjdGl2ZS1lbmQKKy0jCistIyBUaGlzIHVzZWQgdG8gdXNl
IGEgc2xvd2VyIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIG00X2ZvcmVhY2g6CistIyAgIG00X2Zv
cmVhY2goWyQxXSwgbTRfc3BsaXQobTRfbm9ybWFsaXplKFskMl0pLCBbIF0pLCBbJDNdKQorLW00
X2RlZmluZShbbTRfZm9yZWFjaF93XSwKKy1bbTRfcHVzaGRlZihbJDFdKW00X21hcF9hcmdzX3co
WyQyXSwKKy0gIFttNF9kZWZpbmUoWyQxXSxdLCBbKSQzXSltNF9wb3BkZWYoWyQxXSldKQorLQor
LQorLSMgbTRfbWFwKE1BQ1JPLCBMSVNUKQorLSMgbTRfbWFwYWxsKE1BQ1JPLCBMSVNUKQorLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSW52b2tlIE1BQ1JPKCQxKSwgTUFDUk8oJDIpIGV0
Yy4gd2hlcmUgJDEsICQyLi4uIGFyZSB0aGUgZWxlbWVudHMgb2YKKy0jIExJU1QuICAkMSwgJDIu
Li4gbXVzdCBpbiB0dXJuIGJlIGxpc3RzLCBhcHByb3ByaWF0ZSBmb3IgbTRfYXBwbHkuCistIyBJ
ZiBMSVNUIGNvbnRhaW5zIGFuIGVtcHR5IHN1Ymxpc3QsIG00X21hcCBza2lwcyB0aGUgZXhwYW5z
aW9uIG9mCistIyBNQUNSTywgd2hpbGUgbTRfbWFwYWxsIGV4cGFuZHMgTUFDUk8gd2l0aCBubyBh
cmd1bWVudHMuCistIworLSMgU2luY2UgTElTVCBtYXkgYmUgcXVpdGUgbGFyZ2UsIHdlIHdhbnQg
dG8gbWluaW1pemUgaG93IG9mdGVuIGl0CistIyBhcHBlYXJzIGluIHRoZSBleHBhbnNpb24uICBS
YXRoZXIgdGhhbiB1c2UgbTRfY2FyL200X2NkciBpdGVyYXRpb24sCistIyB3ZSB1bmJveCB0aGUg
bGlzdCwgYW5kIHVzZSBfbTRfZm9yZWFjaCBmb3IgaXRlcmF0aW9uLiAgRm9yIG00X21hcCwKKy0j
IGFuIGVtcHR5IGxpc3QgYmVoYXZlcyBsaWtlIGFuIGVtcHR5IHN1Ymxpc3QgYW5kIGdldHMgaWdu
b3JlZDsgZm9yCistIyBtNF9tYXBhbGwsIHdlIG11c3Qgc3BlY2lhbC1jYXNlIHRoZSBlbXB0eSBs
aXN0LgorLW00X2RlZmluZShbbTRfbWFwXSwKKy1bX200X2ZvcmVhY2goW19tNF9hcHBseShbJDFd
LF0sIFspXSwgW10sICQyKV0pCistCistbTRfZGVmaW5lKFttNF9tYXBhbGxdLAorLVttNF9pZihb
JDJdLCBbXSwgW10sCistICAgICAgIFtfbTRfZm9yZWFjaChbbTRfYXBwbHkoWyQxXSxdLCBbKV0s
IFtdLCAkMildKV0pCistCistCistIyBtNF9tYXBfc2VwKE1BQ1JPLCBbU0VQQVJBVE9SXSwgTElT
VCkKKy0jIG00X21hcGFsbF9zZXAoTUFDUk8sIFtTRVBBUkFUT1JdLCBMSVNUKQorLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJbnZva2UgTUFDUk8oJDEpLCBT
RVBBUkFUT1IsIE1BQ1JPKCQyKSwgLi4uLCBNQUNSTygkTikgd2hlcmUgJDEsCistIyAkMi4uLiAk
TiBhcmUgdGhlIGVsZW1lbnRzIG9mIExJU1QsIGFuZCBhcmUgaW4gdHVybiBsaXN0cyBhcHByb3By
aWF0ZQorLSMgZm9yIG00X2FwcGx5LiAgU0VQQVJBVE9SIGlzIGV4cGFuZGVkLCBpbiBvcmRlciB0
byBhbGxvdyB0aGUgY3JlYXRpb24KKy0jIG9mIGEgbGlzdCBvZiBhcmd1bWVudHMgYnkgdXNpbmcg
YSBzaW5nbGUtcXVvdGVkIGNvbW1hIGFzIHRoZQorLSMgc2VwYXJhdG9yLiAgRm9yIGVhY2ggZW1w
dHkgc3VibGlzdCwgbTRfbWFwX3NlcCBza2lwcyB0aGUgZXhwYW5zaW9uCistIyBvZiBNQUNSTyBh
bmQgU0VQQVJBVE9SLCB3aGlsZSBtNF9tYXBhbGxfc2VwIGV4cGFuZHMgTUFDUk8gd2l0aCBubwor
LSMgYXJndW1lbnRzLgorLSMKKy0jIEZvciBtNF9tYXBhbGxfc2VwLCBtZXJlbHkgZXhwYW5kIHRo
ZSBmaXJzdCBpdGVyYXRpb24gd2l0aG91dCB0aGUKKy0jIHNlcGFyYXRvciwgdGhlbiBpbmNsdWRl
IHNlcGFyYXRvciBhcyBwYXJ0IG9mIHN1YnNlcXVlbnQgcmVjdXJzaW9uOworLSMgYnV0IGF2b2lk
IGV4dHJhIGV4cGFuc2lvbiBvZiBMSVNUJ3Mgc2lkZS1lZmZlY3RzIHZpYSBhIGhlbHBlciBtYWNy
by4KKy0jIEZvciBtNF9tYXBfc2VwLCB0aGluZ3MgYXJlIHRyaWNraWVyIC0gd2UgZG9uJ3Qga25v
dyBpZiB0aGUgZmlyc3QKKy0jIGxpc3QgZWxlbWVudCBpcyBhbiBlbXB0eSBzdWJsaXN0LCBzbyB3
ZSBtdXN0IGRlZmluZSBhIHNlbGYtbW9kaWZ5aW5nCistIyBoZWxwZXIgbWFjcm8gYW5kIHVzZSB0
aGF0IGFzIHRoZSBzZXBhcmF0b3IgaW5zdGVhZC4KKy1tNF9kZWZpbmUoW200X21hcF9zZXBdLAor
LVttNF9wdXNoZGVmKFttNF9TZXBdLCBbbTRfZGVmaW5lKFttNF9TZXBdLCBfbTRfZGVmbihbbTRf
dW5xdW90ZV0pKV0pXWRubAorLVtfbTRfZm9yZWFjaChbX200X2FwcGx5KFttNF9TZXAoWyQyXSlb
XSQxXSxdLCBbKV0sIFtdLCAkMyltNF9wb3BkZWYoW200X1NlcF0pXSkKKy0KKy1tNF9kZWZpbmUo
W200X21hcGFsbF9zZXBdLAorLVttNF9pZihbJDNdLCBbXSwgW10sIFtfJDAoWyQxXSwgWyQyXSwg
JDMpXSldKQorLQorLW00X2RlZmluZShbX200X21hcGFsbF9zZXBdLAorLVttNF9hcHBseShbJDFd
LCBbJDNdKV9tNF9mb3JlYWNoKFttNF9hcHBseShbJDJbXSQxXSxdLCBbKV0sIG00X3NoaWZ0Migk
QCkpXSkKKy0KKy0jIG00X21hcF9hcmdzKEVYUFJFU1NJT04sIEFSRy4uLikKKy0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZCBFWFBSRVNTSU9OKFtBUkddKSBmb3Ig
ZWFjaCBhcmd1bWVudC4gIE1vcmUgZWZmaWNpZW50IHRoYW4KKy0jICAgbTRfZm9yZWFjaChbdmFy
XSwgW0FSRy4uLl0sIFtFWFBSRVNTSU9OKG00X2RlZm4oW3Zhcl0pKV0pCistIyBTaG9ydGhhbmQg
Zm9yIG00X21hcF9hcmdzX3NlcChbRVhQUkVTU0lPTihdLCBbKV0sIFtdLCBBUkcuLi4pLgorLW00
X2RlZmluZShbbTRfbWFwX2FyZ3NdLAorLVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbJDA6
IHRvbyBmZXcgYXJndW1lbnRzOiAkI10pXSwKKy0gICAgICAgWyQjXSwgWzFdLCBbXSwKKy0gICAg
ICAgWyQjXSwgWzJdLCBbJDEoWyQyXSlbXV0sCistICAgICAgIFtfbTRfZm9yZWFjaChbJDEoXSwg
WyldLCAkQCldKV0pCistCistCistIyBtNF9tYXBfYXJnc19wYWlyKEVYUFJFU1NJT04sIFtFTkQt
RVhQUiA9IEVYUFJFU1NJT05dLCBBUkcuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQZXJmb3JtIGEgcGFpcndp
c2UgZ3JvdXBpbmcgb2YgY29uc2VjdXRpdmUgQVJHcywgYnkgZXhwYW5kaW5nCistIyBFWFBSRVNT
SU9OKFtBUkcxXSwgW0FSRzJdKS4gIElmIHRoZXJlIGFyZSBhbiBvZGQgbnVtYmVyIG9mIEFSR3Ms
IHRoZQorLSMgZmluYWwgYXJndW1lbnQgaXMgZXhwYW5kZWQgd2l0aCBFTkQtRVhQUihbQVJHbl0p
LgorLSMKKy0jIEZvciBleGFtcGxlOgorLSMgICBtNF9kZWZpbmUoW3Nob3ddLCBbKCQqKW00X25l
d2xpbmVdKWRubAorLSMgICBtNF9tYXBfYXJnc19wYWlyKFtzaG93XSwgW10sIFthXSwgW2JdLCBb
Y10sIFtkXSwgW2VdKWRubAorLSMgICA9PiAoYSxiKQorLSMgICA9PiAoYyxkKQorLSMgICA9PiAo
ZSkKKy0jCistIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0
bWVudHMgbWFkZSBoZXJlLgorLW00X2RlZmluZShbbTRfbWFwX2FyZ3NfcGFpcl0sCistW200X2lm
KFskI10sIFswXSwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQjXSldLAorLSAg
ICAgICBbJCNdLCBbMV0sIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkIzogJDFd
KV0sCistICAgICAgIFskI10sIFsyXSwgW10sCistICAgICAgIFskI10sIFszXSwgW200X2RlZmF1
bHQoWyQyXSwgWyQxXSkoWyQzXSlbXV0sCistICAgICAgIFskI10sIFs0XSwgWyQxKFskM10sIFsk
NF0pW11dLAorLSAgICAgICBbJDEoWyQzXSwgWyQ0XSlbXSQwKFskMV0sIFskMl0sIG00X3NoaWZ0
KG00X3NoaWZ0MygkQCkpKV0pXSkKKy0KKy0KKy0jIG00X21hcF9hcmdzX3NlcChbUFJFXSwgW1BP
U1RdLCBbU0VQXSwgQVJHLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBFeHBhbmQgUFJFW0FSR11QT1NUIGZvciBlYWNoIGFyZ3VtZW50LCB3
aXRoIFNFUCBiZXR3ZWVuIGFyZ3VtZW50cy4KKy1tNF9kZWZpbmUoW200X21hcF9hcmdzX3NlcF0s
CistW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQj
XSldLAorLSAgICAgICBbJCNdLCBbMV0sIFtdLAorLSAgICAgICBbJCNdLCBbMl0sIFtdLAorLSAg
ICAgICBbJCNdLCBbM10sIFtdLAorLSAgICAgICBbJCNdLCBbNF0sIFskMVskNF0kMltdXSwKKy0g
ICAgICAgWyQxWyQ0XSQyW11fbTRfZm9yZWFjaChbJDNbXSQxXSwgWyQyXSwgbTRfc2hpZnQzKCRA
KSldKV0pCistCistCistIyBtNF9tYXBfYXJnc193KFNUUklORywgW1BSRV0sIFtQT1NUXSwgW1NF
UF0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQ
ZXJmb3JtIHRoZSBleHBhbnNpb24gb2YgUFJFW3dvcmRdUE9TVFtdIGZvciBlYWNoIHdvcmQgaW4g
U1RSSU5HCistIyBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZS4gIE1vcmUgZWZmaWNpZW50IHRoYW46
CistIyAgIG00X2ZvcmVhY2hfdyhbdmFyXSwgW1NUUklOR10sIFtQUkVbXW00X2RlZm4oW3Zhcl0p
UE9TVF0pCistIyBBZGRpdGlvbmFsbHksIGV4cGFuZCBTRVAgYmV0d2VlbiB3b3Jkcy4KKy0jCist
IyBBcyBsb25nIGFzIHdlIGhhdmUgdG8gdXNlIG00X2JwYXRzdWJzdCB0byBzcGxpdCB0aGUgc3Ry
aW5nLCB3ZSBtaWdodAorLSMgYXMgd2VsbCBtYWtlIGl0IGFsc28gYXBwbHkgUFJFIGFuZCBQT1NU
OyB0aGlzIGF2b2lkcyBpdGVyYXRpb24KKy0jIGFsdG9nZXRoZXIuICBCdXQgd2UgbXVzdCBiZSBj
YXJlZnVsIG9mIGFueSBcIGluIFBSRSBvciBQT1NULgorLSMgX200X3N0cmlwIHJldHVybnMgYSBx
dW90ZWQgc3RyaW5nLCBidXQgdGhhdCdzIG9rYXksIHNpbmNlIGl0IGFsc28KKy0jIHN1cHBsaWVz
IGFuIGVtcHR5IGxlYWRpbmcgYW5kIHRyYWlsaW5nIGFyZ3VtZW50IGR1ZSB0byBvdXIKKy0jIGlu
dGVudGlvbmFsIHdoaXRlc3BhY2UgYXJvdW5kIFNUUklORy4gIFdlIHVzZSBtNF9zdWJzdHIgdG8g
c3RyaXAgdGhlCistIyBlbXB0eSBlbGVtZW50cyBhbmQgcmVtb3ZlIHRoZSBleHRyYSBsYXllciBv
ZiBxdW90aW5nLgorLW00X2RlZmluZShbbTRfbWFwX2FyZ3Nfd10sCistW18kMChfbTRfc3BsaXQo
WyBdbTRfZmxhdHRlbihbJDFdKVsgXSwgW1sJIF0rXSwKKy0JICAgICAgIG00X2lmKG00X2luZGV4
KFskMiQzJDRdLCBbXF0pLCBbLTFdLCBbWyQzW10kNFtdJDJdXSwKKy0JCSAgICAgW200X2JwYXRz
dWJzdChbWyQzW10kNFtdJDJdXSwgW1xcXSwgW1xcXFxdKV0pKSwKKy0gICAgIG00X2xlbihbW10k
M1tdJDRdKSwgbTRfbGVuKFskNFtdJDJbXV0pKV0pCistCistbTRfZGVmaW5lKFtfbTRfbWFwX2Fy
Z3Nfd10sCistW200X3N1YnN0cihbJDFdLCBbJDJdLCBtNF9ldmFsKG00X2xlbihbJDFdKSAtIFsk
Ml0gLSBbJDNdKSldKQorLQorLQorLSMgbTRfc3RhY2tfZm9yZWFjaChNQUNSTywgRlVOQykKKy0j
IG00X3N0YWNrX2ZvcmVhY2hfbGlmbyhNQUNSTywgRlVOQykKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKy0jIFBhc3MgZWFjaCBzdGFja2VkIGRlZmluaXRpb24gb2YgTUFD
Uk8gdG8gdGhlIG9uZS1hcmd1bWVudCBtYWNybyBGVU5DLgorLSMgbTRfc3RhY2tfZm9yZWFjaCBw
cm9jZWVkcyBpbiBGSUZPIG9yZGVyLCB3aGlsZSBtNF9zdGFja19mb3JlYWNoX2xpZm8KKy0jIHBy
b2Nlc3NlcyB0aGUgdG9wbW9zdCBkZWZpbml0aW9ucyBmaXJzdC4gIEluIGFkZGl0aW9uLCBGVU5D
IHNob3VsZAorLSMgbm90IHB1c2ggb3IgcG9wIGRlZmluaXRpb25zIG9mIE1BQ1JPLCBhbmQgc2hv
dWxkIG5vdCBleHBlY3QgYW55dGhpbmcgYWJvdXQKKy0jIHRoZSBhY3RpdmUgZGVmaW5pdGlvbiBv
ZiBNQUNSTyAoaXQgd2lsbCBub3QgYmUgdGhlIHRvcG1vc3QsIGFuZCBtYXkgbm90CistIyBiZSB0
aGUgb25lIHBhc3NlZCB0byBGVU5DIGVpdGhlcikuCistIworLSMgU29tZSBtYWNyb3Mgc2ltcGx5
IGNhbid0IGJlIGV4YW1pbmVkIHdpdGggdGhpcyBtZXRob2Q6IG5hbWVseSwKKy0jIGFueXRoaW5n
IGludm9sdmVkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBfbTRfc3RhY2tfcmV2ZXJzZS4KKy1t
NF9kZWZpbmUoW200X3N0YWNrX2ZvcmVhY2hdLAorLVtfbTRfc3RhY2tfcmV2ZXJzZShbJDFdLCBb
bTRfdG1wLSQxXSldZG5sCistW19tNF9zdGFja19yZXZlcnNlKFttNF90bXAtJDFdLCBbJDFdLCBb
JDIoX200X2RlZm4oW200X3RtcC0kMV0pKV0pXSkKKy0KKy1tNF9kZWZpbmUoW200X3N0YWNrX2Zv
cmVhY2hfbGlmb10sCistW19tNF9zdGFja19yZXZlcnNlKFskMV0sIFttNF90bXAtJDFdLCBbJDIo
X200X2RlZm4oW200X3RtcC0kMV0pKV0pXWRubAorLVtfbTRfc3RhY2tfcmV2ZXJzZShbbTRfdG1w
LSQxXSwgWyQxXSldKQorLQorLSMgbTRfc3RhY2tfZm9yZWFjaF9zZXAoTUFDUk8sIFtQUkVdLCBb
UE9TVF0sIFtTRVBdKQorLSMgbTRfc3RhY2tfZm9yZWFjaF9zZXBfbGlmbyhNQUNSTywgW1BSRV0s
IFtQT1NUXSwgW1NFUF0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNpbWlsYXIgdG8gbTRfc3RhY2tfZm9yZWFjaCBhbmQgbTRf
c3RhY2tfZm9yZWFjaF9saWZvLCBpbiB0aGF0IGV2ZXJ5CistIyBkZWZpbml0aW9uIG9mIGEgcHVz
aGRlZiBzdGFjayB3aWxsIGJlIHZpc2l0ZWQuICBCdXQgcmF0aGVyIHRoYW4KKy0jIHBhc3Npbmcg
dGhlIGRlZmluaXRpb24gYXMgYSBzaW5nbGUgYXJndW1lbnQgdG8gYSBtYWNybywgdGhpcyB2YXJp
YW50CistIyBleHBhbmRzIHRoZSBjb25jYXRlbmF0aW9uIG9mIFBSRVtdZGVmaW5pdGlvbltdUE9T
VCwgYW5kIGV4cGFuZHMgU0VQCistIyBiZXR3ZWVuIGNvbnNlY3V0aXZlIGV4cGFuc2lvbnMuICBO
b3RlIHRoYXQgbTRfc3RhY2tfZm9yZWFjaChbYV0sIFtiXSkKKy0jIGlzIGVxdWl2YWxlbnQgdG8g
bTRfc3RhY2tfZm9yZWFjaF9zZXAoW2FdLCBbYihdLCBbKV0pLgorLW00X2RlZmluZShbbTRfc3Rh
Y2tfZm9yZWFjaF9zZXBdLAorLVtfbTRfc3RhY2tfcmV2ZXJzZShbJDFdLCBbbTRfdG1wLSQxXSld
ZG5sCistW19tNF9zdGFja19yZXZlcnNlKFttNF90bXAtJDFdLCBbJDFdLCBbJDJbXV9tNF9kZWZu
KFttNF90bXAtJDFdKSQzXSwgWyQ0W11dKV0pCistCistbTRfZGVmaW5lKFttNF9zdGFja19mb3Jl
YWNoX3NlcF9saWZvXSwKKy1bX200X3N0YWNrX3JldmVyc2UoWyQxXSwgW200X3RtcC0kMV0sIFsk
MltdX200X2RlZm4oW200X3RtcC0kMV0pJDNdLCBbJDRbXV0pXWRubAorLVtfbTRfc3RhY2tfcmV2
ZXJzZShbbTRfdG1wLSQxXSwgWyQxXSldKQorLQorLQorLSMgX200X3N0YWNrX3JldmVyc2UoT0xE
LCBORVcsIFtBQ1RJT05dLCBbU0VQXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBBIHJlY3Vyc2l2ZSB3b3JrZXIgZm9yIHB1c2hkZWYgc3RhY2sg
bWFuaXB1bGF0aW9uLiAgRGVzdHJ1Y3RpdmVseQorLSMgY29weSB0aGUgT0xEIHN0YWNrIGludG8g
dGhlIE5FVywgYW5kIGV4cGFuZGluZyBBQ1RJT04gZm9yIGVhY2gKKy0jIGl0ZXJhdGlvbi4gIEFm
dGVyIHRoZSBmaXJzdCBpdGVyYXRpb24sIFNFUCBpcyBwcm9tb3RlZCB0byB0aGUgZnJvbnQKKy0j
IG9mIEFDVElPTiAobm90ZSB0aGF0IFNFUCBzaG91bGQgaW5jbHVkZSBhIHRyYWlsaW5nIFtdIGlm
IGl0IGlzIHRvCistIyBhdm9pZCBpbnRlcmZlcmluZyB3aXRoIEFDVElPTikuICBUaGUgY3VycmVu
dCBkZWZpbml0aW9uIGlzIGV4YW1pbmVkCistIyBhZnRlciB0aGUgTkVXIGhhcyBiZWVuIHB1c2hl
ZCBidXQgYmVmb3JlIE9MRCBoYXMgYmVlbiBwb3BwZWQ7IHRoaXMKKy0jIG9yZGVyIGlzIGltcG9y
dGFudCwgYXMgQUNUSU9OIGlzIHBlcm1pdHRlZCB0byBvcGVyYXRlIG9uIGVpdGhlcgorLSMgX200
X2RlZm4oW09MRF0pIG9yIF9tNF9kZWZuKFtORVddKS4gIFNpbmNlIHRoZSBvcGVyYXRpb24gaXMK
Ky0jIGRlc3RydWN0aXZlLCB0aGlzIG1hY3JvIGlzIGdlbmVyYWxseSB1c2VkIHR3aWNlLCB3aXRo
IGEgdGVtcG9yYXJ5CistIyBtYWNybyBuYW1lIGhvbGRpbmcgdGhlIHN3YXBwZWQgY29weS4KKy1t
NF9kZWZpbmUoW19tNF9zdGFja19yZXZlcnNlXSwKKy1bbTRfaWZkZWYoWyQxXSwgW200X3B1c2hk
ZWYoWyQyXSwKKy0gIF9tNF9kZWZuKFskMV0pKSQzW11fbTRfcG9wZGVmKFskMV0pJDAoWyQxXSwg
WyQyXSwgWyQ0JDNdKV0pXSkKKy0KKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gIyMKKy0jIyA5LiBNb3JlIGRpdmVyc2lvbiBzdXBwb3J0LiAgIyMKKy0jIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIG00X2NsZWFyZGl2ZXJ0KERJVkVSU0lPTi1O
QU1FLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEaXNjYXJk
IGFueSB0ZXh0IGluIERJVkVSU0lPTi1OQU1FLgorLSMKKy0jIFRoaXMgd29ya3MgZXZlbiBpbnNp
ZGUgbTRfZXhwYW5kLgorLW00X2RlZmluZShbbTRfY2xlYXJkaXZlcnRdLAorLVttNF9pZihbJCNd
LCBbMF0sIFttNF9mYXRhbChbJDA6IG1pc3NpbmcgYXJndW1lbnRdKV0sCistICAgICAgIFtfbTRf
ZGl2ZXJ0X3JhdyhbLTFdKW00X3VuZGl2ZXJ0KCRAKV9tNF9kaXZlcnRfcmF3KAorLQkgX200X2Rp
dmVydChfbTRfZGVmbihbX200X2RpdmVydF9kaXZlcnNpb25dKSwgWy1dKSldKV0pCistCistCist
IyBfbTRfZGl2ZXJ0KERJVkVSU0lPTi1OQU1FIG9yIE5VTUJFUiwgW05PV0FSTl0pCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJZiBESVZFUlNJ
T04tTkFNRSBpcyB0aGUgbmFtZSBvZiBhIGRpdmVyc2lvbiwgcmV0dXJuIGl0cyBudW1iZXIsCist
IyBvdGhlcndpc2UgaWYgaXQgaXMgYSBOVU1CRVIgcmV0dXJuIGl0LiAgSXNzdWUgYSB3YXJuaW5n
IGFib3V0CistIyB0aGUgdXNlIG9mIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBuYW1lLCB1bmxlc3Mg
Tk9XQVJOIGlzIHByb3ZpZGVkLgorLW00X2RlZmluZShbX200X2RpdmVydF0sCistW200X2lmZGVm
KFtfbTRfZGl2ZXJ0KCQxKV0sCistCSAgW200X2luZGlyKFtfbTRfZGl2ZXJ0KCQxKV0pXSwKKy0J
ICBbbTRfaWYoWyQyXSwgW10sIFttNF93YXJuKFtzeW50YXhdLAorLQkgICAgIFtwcmVmZXIgbmFt
ZWQgZGl2ZXJzaW9uc10pXSkkMV0pXSkKKy0KKy0jIEtJTEwgaXMgb25seSB1c2VkIHRvIHN1cHBy
ZXNzIG91dHB1dC4KKy1tNF9kZWZpbmUoW19tNF9kaXZlcnQoS0lMTCldLCAgICAgICAgICAgLTEp
CistCistIyBUaGUgZW1wdHkgZGl2ZXJzaW9uIG5hbWUgaXMgYSBzeW5vbnltIGZvciAwLgorLW00
X2RlZmluZShbX200X2RpdmVydCgpXSwgICAgICAgICAgICAgICAgMCkKKy0KKy0KKy0jIG00X2Rp
dmVydF9zdGFjaworLSMgLS0tLS0tLS0tLS0tLS0tCistIyBQcmludCB0aGUgZGl2ZXJzaW9uIHN0
YWNrLCBpZiBpdCdzIG5vbmVtcHR5LiAgVGhlIGNhbGxlciBpcworLSMgcmVzcG9uc2libGUgZm9y
IGFueSBsZWFkaW5nIG9yIHRyYWlsaW5nIG5ld2xpbmUuCistbTRfZGVmaW5lKFttNF9kaXZlcnRf
c3RhY2tdLAorLVttNF9zdGFja19mb3JlYWNoX3NlcF9saWZvKFtfbTRfZGl2ZXJ0X3N0YWNrXSwg
W10sIFtdLCBbCistXSldKQorLQorLQorLSMgbTRfZGl2ZXJ0X3N0YWNrX3B1c2goTUFDUk8tTkFN
RSwgRElWRVJTSU9OLU5BTUUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIEZvcm0gYW4gZW50cnkgb2YgdGhlIGRpdmVyc2lvbiBzdGFjayBm
cm9tIGNhbGxlciBNQUNSTy1OQU1FIGFuZAorLSMgZW50ZXJpbmcgRElWRVJTSU9OLU5BTUUgYW5k
IHB1c2ggaXQuCistbTRfZGVmaW5lKFttNF9kaXZlcnRfc3RhY2tfcHVzaF0sCistW200X3B1c2hk
ZWYoW19tNF9kaXZlcnRfc3RhY2tdLCBtNF9sb2NhdGlvbls6ICQxOiAkMl0pXSkKKy0KKy0KKy0j
IG00X2RpdmVydChESVZFUlNJT04tTkFNRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIENoYW5nZSB0aGUgZGl2ZXJzaW9uIHN0cmVhbSB0byBESVZFUlNJT04tTkFNRS4KKy1tNF9k
ZWZpbmUoW200X2RpdmVydF0sCistW200X3BvcGRlZihbX200X2RpdmVydF9zdGFja10pXWRubAor
LVttNF9kZWZpbmUoW19tNF9kaXZlcnRfZGl2ZXJzaW9uXSwgWyQxXSldZG5sCistW200X2RpdmVy
dF9zdGFja19wdXNoKFskMF0sIFskMV0pXWRubAorLVtfbTRfZGl2ZXJ0X3JhdyhfbTRfZGl2ZXJ0
KFskMV0pKV0pCistCistCistIyBtNF9kaXZlcnRfcHVzaChESVZFUlNJT04tTkFNRSwgW05PV0FS
Tl0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBDaGFu
Z2UgdGhlIGRpdmVyc2lvbiBzdHJlYW0gdG8gRElWRVJTSU9OLU5BTUUsIHdoaWxlIHN0YWNraW5n
IG9sZCB2YWx1ZXMuCistIyBGb3IgaW50ZXJuYWwgdXNlIG9ubHk6IGlmIE5PV0FSTiBpcyBub3Qg
ZW1wdHksIERJVkVSU0lPTi1OQU1FIGNhbiBiZSBhCistIyBudW1iZXIgaW5zdGVhZCBvZiBhIG5h
bWUuCistbTRfZGVmaW5lKFttNF9kaXZlcnRfcHVzaF0sCistW200X2RpdmVydF9zdGFja19wdXNo
KFskMF0sIFskMV0pXWRubAorLVttNF9wdXNoZGVmKFtfbTRfZGl2ZXJ0X2RpdmVyc2lvbl0sIFsk
MV0pXWRubAorLVtfbTRfZGl2ZXJ0X3JhdyhfbTRfZGl2ZXJ0KFskMV0sIFskMl0pKV0pCistCist
CistIyBtNF9kaXZlcnRfcG9wKFtESVZFUlNJT04tTkFNRV0pCistIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBDaGFuZ2UgdGhlIGRpdmVyc2lvbiBzdHJlYW0gdG8gaXRzIHBy
ZXZpb3VzIHZhbHVlLCB1bnN0YWNraW5nIGl0LgorLSMgSWYgc3BlY2lmaWVkLCB2ZXJpZnkgd2Ug
bGVmdCBESVZFUlNJT04tTkFNRS4KKy0jIFdoZW4gd2UgcG9wIHRoZSBsYXN0IHZhbHVlIGZyb20g
dGhlIHN0YWNrLCB3ZSBkaXZlcnQgdG8gLTEuCistbTRfZGVmaW5lKFttNF9kaXZlcnRfcG9wXSwK
Ky1bbTRfaWYoWyQxXSwgW10sIFtdLAorLSAgICAgICBbJDFdLCBfbTRfZGVmbihbX200X2RpdmVy
dF9kaXZlcnNpb25dKSwgW10sCistICAgICAgIFttNF9mYXRhbChbJDAoJDEpOiBkaXZlcnNpb24g
bWlzbWF0Y2g6CistXW00X2RpdmVydF9zdGFjayldKV1kbmwKKy1bX200X3BvcGRlZihbX200X2Rp
dmVydF9zdGFja10sIFtfbTRfZGl2ZXJ0X2RpdmVyc2lvbl0pXWRubAorLVttNF9pZmRlZihbX200
X2RpdmVydF9kaXZlcnNpb25dLCBbXSwKKy0JICAgW200X2ZhdGFsKFt0b28gbWFueSBtNF9kaXZl
cnRfcG9wXSldKV1kbmwKKy1bX200X2RpdmVydF9yYXcoX200X2RpdmVydChfbTRfZGVmbihbX200
X2RpdmVydF9kaXZlcnNpb25dKSwgWy1dKSldKQorLQorLQorLSMgbTRfZGl2ZXJ0X3RleHQoRElW
RVJTSU9OLU5BTUUsIENPTlRFTlQpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIE91dHB1dCBDT05URU5UIGludG8gRElWRVJTSU9OLU5BTUUgKHdoaWNoIG1h
eSBiZSBhIG51bWJlciBhY3R1YWxseSkuCistIyBBbiBlbmQgb2YgbGluZSBpcyBhcHBlbmRlZCBm
b3IgZnJlZSB0byBDT05URU5ULgorLW00X2RlZmluZShbbTRfZGl2ZXJ0X3RleHRdLAorLVttNF9k
aXZlcnRfcHVzaChbJDFdKSQyCistbTRfZGl2ZXJ0X3BvcChbJDFdKV0pCistCistCistIyBtNF9k
aXZlcnRfb25jZShESVZFUlNJT04tTkFNRSwgQ09OVEVOVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgT3V0cHV0IENPTlRFTlQgaW50byBESVZFUlNJT04t
TkFNRSBvbmNlLCBpZiBub3QgYWxyZWFkeSB0aGVyZS4KKy0jIEFuIGVuZCBvZiBsaW5lIGlzIGFw
cGVuZGVkIGZvciBmcmVlIHRvIENPTlRFTlQuCistbTRfZGVmaW5lKFttNF9kaXZlcnRfb25jZV0s
CistW200X2V4cGFuZF9vbmNlKFttNF9kaXZlcnRfdGV4dChbJDFdLCBbJDJdKV0pXSkKKy0KKy0K
Ky0jIF9tNF9kaXZlcnRfdW5zYWZlKERJVkVSU0lPTi1OQU1FKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBJc3N1ZSBhIHdhcm5pbmcgdGhhdCB0aGUgYXR0ZW1wdCB0
byBjaGFuZ2UgdGhlIGN1cnJlbnQgZGl2ZXJzaW9uIHRvCistIyBESVZFUlNJT04tTkFNRSBpcyB1
bnNhZmUsIGJlY2F1c2UgdGhpcyBtYWNybyBpcyBiZWluZyBleHBhbmRlZAorLSMgZHVyaW5nIGFy
Z3VtZW50IGNvbGxlY3Rpb24gb2YgbTRfZXhwYW5kLgorLW00X2RlZmluZShbX200X2RpdmVydF91
bnNhZmVdLAorLVttNF9mYXRhbChbJDA6IGNhbm5vdCBjaGFuZ2UgZGl2ZXJzaW9uIHRvIGAkMScg
aW5zaWRlIG00X2V4cGFuZF0pXSkKKy0KKy0KKy0jIG00X3VuZGl2ZXJ0KERJVkVSU0lPTi1OQU1F
Li4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBVbmRpdmVydCBESVZF
UlNJT04tTkFNRS4gIFVubGlrZSB0aGUgTTQgdmVyc2lvbiwgdGhpcyByZXF1aXJlcyBhdAorLSMg
bGVhc3Qgb25lIERJVkVSU0lPTi1OQU1FOyBhbHNvLCBkdWUgdG8gc3VwcG9ydCBmb3IgbmFtZWQg
ZGl2ZXJzaW9ucywKKy0jIHRoaXMgc2hvdWxkIG5vdCBiZSB1c2VkIHRvIHVuZGl2ZXJ0IGZpbGVz
LgorLW00X2RlZmluZShbbTRfdW5kaXZlcnRdLAorLVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRh
bChbJDA6IG1pc3NpbmcgYXJndW1lbnRdKV0sCistICAgICAgIFskI10sIFsxXSwgW19tNF91bmRp
dmVydChfbTRfZGl2ZXJ0KFskMV0pKV0sCistICAgICAgIFttNF9tYXBfYXJncyhbJDBdLCAkQCld
KV0pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICMjCistIyMgMTAuIERlZmluaW5nIG1hY3JvcyB3aXRoIGJlbGxzIGFuZCB3aGlzdGxlcy4g
ICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMj
CistCistIyBgbTRfZGVmdW4nIGlzIGJhc2ljYWxseSBgbTRfZGVmaW5lJyBidXQgaXQgZXF1aXBz
IHRoZSBtYWNybyB3aXRoIHRoZQorLSMgbmVlZGVkIG1hY2hpbmVyeSBmb3IgYG00X3JlcXVpcmUn
LiAgQSBtYWNybyBtdXN0IGJlIG00X2RlZnVuJ2QgaWYKKy0jIGVpdGhlciBpdCBpcyBtNF9yZXF1
aXJlJ2QsIG9yIGl0IG00X3JlcXVpcmUncy4KKy0jCistIyBUd28gdGhpbmdzIGRlc2VydmUgYXR0
ZW50aW9uIGFuZCBhcmUgZGV0YWlsZWQgYmVsb3c6CistIyAgMS4gSW1wbGVtZW50YXRpb24gb2Yg
bTRfcmVxdWlyZQorLSMgIDIuIEtlZXBpbmcgdHJhY2sgb2YgdGhlIGV4cGFuc2lvbiBzdGFjawor
LSMKKy0jIDEuIEltcGxlbWVudGF0aW9uIG9mIG00X3JlcXVpcmUKKy0jID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KKy0jCistIyBPZiBjb3Vyc2UgbTRfZGVmdW4gY2FsbHMgbTRfcHJv
dmlkZSwgc28gdGhhdCBhIG1hY3JvIHdoaWNoIGhhcworLSMgYmVlbiBleHBhbmRlZCBpcyBub3Qg
ZXhwYW5kZWQgYWdhaW4gd2hlbiBtNF9yZXF1aXJlJ2QsIGJ1dCB0aGUKKy0jIGRpZmZpY3VsdCBw
YXJ0IGlzIHRoZSBwcm9wZXIgZXhwYW5zaW9uIG9mIG1hY3JvcyB3aGVuIHRoZXkgYXJlCistIyBt
NF9yZXF1aXJlJ2QuCistIworLSMgVGhlIGltcGxlbWVudGF0aW9uIGlzIGJhc2VkIG9uIHRocmVl
IGlkZWFzLCAoaSkgdXNpbmcgZGl2ZXJzaW9ucyB0bworLSMgcHJlcGFyZSB0aGUgZXhwYW5zaW9u
IG9mIHRoZSBtYWNybyBhbmQgaXRzIGRlcGVuZGVuY2llcyAoYnkgRnJhbmMsb2lzCistIyBQaW5h
cmQpLCAoaWkpIGV4cGFuZCB0aGUgbW9zdCByZWNlbnRseSBtNF9yZXF1aXJlJ2QgbWFjcm9zIF9h
ZnRlcl8KKy0jIHRoZSBwcmV2aW91cyBtYWNyb3MgKGJ5IEF4ZWwgVGhpbW0pLCBhbmQgKGlpaSkg
dHJhY2sgaW5zdGFuY2VzIG9mCistIyBwcm92aWRlIGJlZm9yZSByZXF1aXJlIChieSBFcmljIEJs
YWtlKS4KKy0jCistIworLSMgVGhlIGZpcnN0IGlkZWE6IHdoeSB1c2UgZGl2ZXJzaW9ucz8KKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIworLSMgV2hlbiBhIG1hY3Jv
IHJlcXVpcmVzIGFub3RoZXIsIHRoZSBvdGhlciBtYWNybyBpcyBleHBhbmRlZCBpbiBuZXcKKy0j
IGRpdmVyc2lvbiwgR1JPVy4gIFdoZW4gdGhlIG91dGVyIG1hY3JvIGlzIGZ1bGx5IGV4cGFuZGVk
LCB3ZSBmaXJzdAorLSMgdW5kaXZlcnQgdGhlIG1vc3QgbmVzdGVkIGRpdmVyc2lvbnMgKEdST1cg
LSAxLi4uKSwgYW5kIGZpbmFsbHkKKy0jIHVuZGl2ZXJ0IEdST1cuICBUbyB1bmRlcnN0YW5kIHdo
eSB3ZSBuZWVkIHNldmVyYWwgZGl2ZXJzaW9ucywKKy0jIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcg
ZXhhbXBsZToKKy0jCistIyB8IG00X2RlZnVuKFtURVNUMV0sIFtUZXN0Li4ubTRfcmVxdWlyZShb
VEVTVDJdKTFdKQorLSMgfCBtNF9kZWZ1bihbVEVTVDJdLCBbVGVzdC4uLm00X3JlcXVpcmUoW1RF
U1QzXSkyXSkKKy0jIHwgbTRfZGVmdW4oW1RFU1QzXSwgW1Rlc3QuLi4zXSkKKy0jCistIyBCZWNh
dXNlIG00X3JlcXVpcmUgaXMgbm90IHJlcXVpcmVkIHRvIGJlIGZpcnN0IGluIHRoZSBvdXRlciBt
YWNyb3MsIHdlCistIyBtdXN0IGtlZXAgdGhlIGV4cGFuc2lvbnMgb2YgdGhlIHZhcmlvdXMgbGV2
ZWxzIG9mIG00X3JlcXVpcmUgc2VwYXJhdGVkLgorLSMgUmlnaHQgYmVmb3JlIGV4ZWN1dGluZyB0
aGUgZXBpbG9ndWUgb2YgVEVTVDEsIHdlIGhhdmU6CistIworLSMJICAgR1JPVyAtIDI6IFRlc3Qu
Li4zCistIwkgICBHUk9XIC0gMTogVGVzdC4uLjIKKy0jCSAgIEdST1c6ICAgICBUZXN0Li4uMQor
LSMJICAgQk9EWToKKy0jCistIyBGaW5hbGx5IHRoZSBlcGlsb2d1ZSBvZiBURVNUMSB1bmRpdmVy
dHMgR1JPVyAtIDIsIEdST1cgLSAxLCBhbmQKKy0jIEdST1cgaW50byB0aGUgcmVndWxhciBmbG93
LCBCT0RZLgorLSMKKy0jCSAgIEdST1cgLSAyOgorLSMJICAgR1JPVyAtIDE6CistIwkgICBHUk9X
OgorLSMJICAgQk9EWTogICAgICAgIFRlc3QuLi4zOyBUZXN0Li4uMjsgVGVzdC4uLjEKKy0jCist
IyAoVGhlIHNlbWljb2xvbnMgYXJlIGhlcmUgZm9yIGNsYXJpZmljYXRpb24sIGJ1dCBvZiBjb3Vy
c2UgYXJlIG5vdAorLSMgZW1pdHRlZC4pICBUaGlzIGlzIHdoYXQgQXV0b2NvbmYgMi4wIChJIHRo
aW5rKSB0byAyLjEzIChJJ20gc3VyZSkKKy0jIGltcGxlbWVudC4KKy0jCistIworLSMgVGhlIHNl
Y29uZCBpZGVhOiBmaXJzdCByZXF1aXJlZCBmaXJzdCBvdXQKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIworLSMgVGhlIG5hdHVyYWwgaW1wbGVtZW50YXRp
b24gb2YgdGhlIGlkZWEgYWJvdmUgaXMgYnVnZ3kgYW5kIHByb2R1Y2VzCistIyB2ZXJ5IHN1cnBy
aXNpbmcgcmVzdWx0cyBpbiBzb21lIHNpdHVhdGlvbnMuICBMZXQncyBjb25zaWRlciB0aGUKKy0j
IGZvbGxvd2luZyBleGFtcGxlIHRvIGV4cGxhaW4gdGhlIGJ1ZzoKKy0jCistIyB8IG00X2RlZnVu
KFtURVNUMV0sICBbbTRfcmVxdWlyZShbVEVTVDJhXSltNF9yZXF1aXJlKFtURVNUMmJdKV0pCist
IyB8IG00X2RlZnVuKFtURVNUMmFdLCBbXSkKKy0jIHwgbTRfZGVmdW4oW1RFU1QyYl0sIFttNF9y
ZXF1aXJlKFtURVNUM10pXSkKKy0jIHwgbTRfZGVmdW4oW1RFU1QzXSwgIFttNF9yZXF1aXJlKFtU
RVNUMmFdKV0pCistIyB8CistIyB8IEFDX0lOSVQKKy0jIHwgVEVTVDEKKy0jCistIyBUaGUgZGVw
ZW5kZW5jaWVzIGJldHdlZW4gdGhlIG1hY3JvcyBhcmU6CistIworLSMJCSAzIC0tLSAyYgorLSMJ
CS8gICAgICAgIFwgICAgICAgICAgICAgIGlzIG00X3JlcXVpcmUnZCBieQorLSMJICAgICAgIC8g
ICAgICAgICAgXCAgICAgICBsZWZ0IC0tLS0tLS0tLS0tLS0tLS0tLS0tIHJpZ2h0CistIwkgICAg
MmEgLS0tLS0tLS0tLS0tIDEKKy0jCistIyBJZiB5b3Ugc3RyaWN0bHkgYXBwbHkgdGhlIHJ1bGVz
IGdpdmVuIGluIHRoZSBwcmV2aW91cyBzZWN0aW9uIHlvdSBnZXQ6CistIworLSMJICAgR1JPVyAt
IDI6IFRFU1QzCistIwkgICBHUk9XIC0gMTogVEVTVDJhOyBURVNUMmIKKy0jCSAgIEdST1c6ICAg
ICBURVNUMQorLSMJICAgQk9EWToKKy0jCistIyAoVEVTVDJhLCBhbHRob3VnaCByZXF1aXJlZCBi
eSBURVNUMyBpcyBub3QgZXhwYW5kZWQgaW4gR1JPVyAtIDMKKy0jIGJlY2F1c2UgaXMgaGFzIGFs
cmVhZHkgYmVlbiBleHBhbmRlZCBiZWZvcmUgaW4gR1JPVyAtIDEsIHNvIGl0IGhhcworLSMgYmVl
biBBQ19QUk9WSURFJ2QsIHNvIGl0IGlzIG5vdCBleHBhbmRlZCBhZ2Fpbikgc28gd2hlbiB5b3Ug
dW5kaXZlcnQKKy0jIHRoZSBzdGFjayBvZiBkaXZlcnNpb25zLCB5b3UgZ2V0OgorLSMKKy0jCSAg
IEdST1cgLSAyOgorLSMJICAgR1JPVyAtIDE6CistIwkgICBHUk9XOgorLSMJICAgQk9EWTogICAg
ICAgIFRFU1QzOyBURVNUMmE7IFRFU1QyYjsgVEVTVDEKKy0jCistIyBpLmUuLCBURVNUMmEgaXMg
ZXhwYW5kZWQgYWZ0ZXIgVEVTVDMgYWx0aG91Z2ggdGhlIGxhdHRlciByZXF1aXJlZCB0aGUKKy0j
IGZvcm1lci4KKy0jCistIyBTdGFydGluZyBmcm9tIDIuNTAsIHdlIHVzZSBhbiBpbXBsZW1lbnRh
dGlvbiBwcm92aWRlZCBieSBBeGVsIFRoaW1tLgorLSMgVGhlIGlkZWEgaXMgc2ltcGxlOiB0aGUg
b3JkZXIgaW4gd2hpY2ggbWFjcm9zIGFyZSBlbWl0dGVkIG11c3QgYmUgdGhlCistIyBzYW1lIGFz
IHRoZSBvbmUgaW4gd2hpY2ggbWFjcm9zIGFyZSBleHBhbmRlZC4gIChUaGUgYnVnIGFib3ZlIGNh
bgorLSMgaW5kZWVkIGJlIGRlc2NyaWJlZCBhczogYSBtYWNybyBoYXMgYmVlbiBtNF9wcm92aWRl
J2QgYmVmb3JlIGl0cworLSMgZGVwZW5kZW50LCBidXQgaXQgaXMgZW1pdHRlZCBhZnRlcjogdGhl
IGxhY2sgb2YgY29ycmVsYXRpb24gYmV0d2VlbgorLSMgZW1pc3Npb24gYW5kIGV4cGFuc2lvbiBv
cmRlciBpcyBndWlsdHkpLgorLSMKKy0jIEhvdyB0byBkbyB0aGF0PyAgWW91IGtlZXAgdGhlIHN0
YWNrIG9mIGRpdmVyc2lvbnMgdG8gZWxhYm9yYXRlIHRoZQorLSMgbWFjcm9zLCBidXQgZWFjaCB0
aW1lIGEgbWFjcm8gaXMgZnVsbHkgZXhwYW5kZWQsIGVtaXQgaXQgaW1tZWRpYXRlbHkuCistIwor
LSMgSW4gdGhlIGV4YW1wbGUgYWJvdmUsIHdoZW4gVEVTVDJhIGlzIGV4cGFuZGVkLCBidXQgaXQn
cyBlcGlsb2d1ZSBpcworLSMgbm90IHJ1biB5ZXQsIHlvdSBoYXZlOgorLSMKKy0jCSAgIEdST1cg
LSAyOgorLSMJICAgR1JPVyAtIDE6IFRFU1QyYQorLSMJICAgR1JPVzogICAgIEVsYWJvcmF0aW9u
IG9mIFRFU1QxCistIwkgICBCT0RZOgorLSMKKy0jIFRoZSBlcGlsb2d1ZSBvZiBURVNUMmEgZW1p
dHMgaXQgaW1tZWRpYXRlbHk6CistIworLSMJICAgR1JPVyAtIDI6CistIwkgICBHUk9XIC0gMToK
Ky0jCSAgIEdST1c6ICAgICBFbGFib3JhdGlvbiBvZiBURVNUMQorLSMJICAgQk9EWTogICAgIFRF
U1QyYQorLSMKKy0jIFRFU1QyYiB0aGVuIHJlcXVpcmVzIFRFU1QzLCBzbyByaWdodCBiZWZvcmUg
dGhlIGVwaWxvZ3VlIG9mIFRFU1QzLCB5b3UKKy0jIGhhdmU6CistIworLSMJICAgR1JPVyAtIDI6
IFRFU1QzCistIwkgICBHUk9XIC0gMTogRWxhYm9yYXRpb24gb2YgVEVTVDJiCistIwkgICBHUk9X
OiAgICAgRWxhYm9yYXRpb24gb2YgVEVTVDEKKy0jCSAgIEJPRFk6ICAgICAgVEVTVDJhCistIwor
LSMgVGhlIGVwaWxvZ3VlIG9mIFRFU1QzIGVtaXRzIGl0OgorLSMKKy0jCSAgIEdST1cgLSAyOgor
LSMJICAgR1JPVyAtIDE6IEVsYWJvcmF0aW9uIG9mIFRFU1QyYgorLSMJICAgR1JPVzogICAgIEVs
YWJvcmF0aW9uIG9mIFRFU1QxCistIwkgICBCT0RZOiAgICAgVEVTVDJhOyBURVNUMworLSMKKy0j
IFRFU1QyYiBpcyBub3cgY29tcGxldGVseSBleHBhbmRlZCwgYW5kIGVtaXR0ZWQ6CistIworLSMJ
ICAgR1JPVyAtIDI6CistIwkgICBHUk9XIC0gMToKKy0jCSAgIEdST1c6ICAgICBFbGFib3JhdGlv
biBvZiBURVNUMQorLSMJICAgQk9EWTogICAgIFRFU1QyYTsgVEVTVDM7IFRFU1QyYgorLSMKKy0j
IGFuZCBmaW5hbGx5LCBURVNUMSBpcyBmaW5pc2hlZCBhbmQgZW1pdHRlZDoKKy0jCistIwkgICBH
Uk9XIC0gMjoKKy0jCSAgIEdST1cgLSAxOgorLSMJICAgR1JPVzoKKy0jCSAgIEJPRFk6ICAgICBU
RVNUMmE7IFRFU1QzOyBURVNUMmI6IFRFU1QxCistIworLSMgVGhlIGlkZWEgaXMgc2ltcGxlLCBi
dXQgdGhlIGltcGxlbWVudGF0aW9uIGlzIGEgYml0IGludm9sdmVkLiAgSWYKKy0jIHlvdSBhcmUg
bGlrZSBtZSwgeW91IHdpbGwgd2FudCB0byBzZWUgdGhlIGFjdHVhbCBmdW5jdGlvbmluZyBvZiB0
aGlzCistIyBpbXBsZW1lbnRhdGlvbiB0byBiZSBjb252aW5jZWQuICBUaGUgbmV4dCBzZWN0aW9u
IGdpdmVzIHRoZSBmdWxsCistIyBkZXRhaWxzLgorLSMKKy0jCistIyBUaGUgQXhlbCBUaGltbSBp
bXBsZW1lbnRhdGlvbiBhdCB3b3JrCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCistIworLSMgV2UgY29uc2lkZXIgdGhlIG1hY3JvcyBhYm92ZSwgYW5kIHRoaXMgY29u
ZmlndXJlLmFjOgorLSMKKy0jCSAgICBBQ19JTklUCistIwkgICAgVEVTVDEKKy0jCistIyBZb3Ug
c2hvdWxkIGtlZXAgdGhlIGRlZmluaXRpb25zIG9mIF9tNF9kZWZ1bl9wcm8sIF9tNF9kZWZ1bl9l
cGksIGFuZAorLSMgbTRfcmVxdWlyZSBhdCBoYW5kIHRvIGZvbGxvdyB0aGUgc3RlcHMuCistIwor
LSMgVGhpcyBpbXBsZW1lbnRhdGlvbiB0cmllcyBub3QgdG8gYXNzdW1lIHRoYXQgdGhlIGN1cnJl
bnQgZGl2ZXJzaW9uIGlzCistIyBCT0RZLCBzbyBhcyBzb29uIGFzIGEgbWFjcm8gKG00X2RlZnVu
J2QpIGlzIGV4cGFuZGVkLCB3ZSBmaXJzdAorLSMgcmVjb3JkIHRoZSBjdXJyZW50IGRpdmVyc2lv
biB1bmRlciB0aGUgbmFtZSBfbTRfZGl2ZXJ0X2R1bXAgKGRlbm90ZWQKKy0jIERVTVAgYmVsb3cg
Zm9yIHNob3J0KS4gIFRoaXMgaW50cm9kdWNlcyBhbiBpbXBvcnRhbnQgZGlmZmVyZW5jZSB3aXRo
CistIyB0aGUgcHJldmlvdXMgdmVyc2lvbnMgb2YgQXV0b2NvbmY6IHlvdSBjYW5ub3QgdXNlIG00
X3JlcXVpcmUgaWYgeW91CistIyBhcmUgbm90IGluc2lkZSBhbiBtNF9kZWZ1bidkIG1hY3JvLCBh
bmQgZXNwZWNpYWxseSwgeW91IGNhbm5vdAorLSMgbTRfcmVxdWlyZSBkaXJlY3RseSBmcm9tIHRo
ZSB0b3AgbGV2ZWwuCistIworLSMgV2UgaGF2ZSBub3QgdHJpZWQgdG8gc2ltdWxhdGUgdGhlIG9s
ZCBiZWhhdmlvciAoYmV0dGVyIHlldCwgd2UKKy0jIGRpYWdub3NlIGl0KSwgYmVjYXVzZSBpdCBp
cyB0b28gZGFuZ2Vyb3VzOiBhIG1hY3JvIG00X3JlcXVpcmUnZCBmcm9tCistIyB0aGUgdG9wIGxl
dmVsIGlzIGV4cGFuZGVkIGJlZm9yZSB0aGUgYm9keSBvZiBgY29uZmlndXJlJywgaS5lLiwgYmVm
b3JlCistIyBhbnkgb3RoZXIgdGVzdCB3YXMgcnVuLiAgSSBsZXQgeW91IGltYWdpbmUgdGhlIHJl
c3VsdCBvZiByZXF1aXJpbmcKKy0jIEFDX1NURENfSEVBREVSUyBmb3IgaW5zdGFuY2UsIGJlZm9y
ZSBBQ19QUk9HX0NDIHdhcyBhY3R1YWxseSBydW4uLi4uCistIworLSMgQWZ0ZXIgQUNfSU5JVCB3
YXMgcnVuLCB0aGUgY3VycmVudCBkaXZlcnNpb24gaXMgQk9EWS4KKy0jICogQUNfSU5JVCB3YXMg
cnVuCistIyAgIERVTVA6ICAgICAgICAgICAgICAgIHVuZGVmaW5lZAorLSMgICBkaXZlcnNpb24g
c3RhY2s6ICAgICBCT0RZIHwtCistIworLSMgKiBURVNUMSBpcyBleHBhbmRlZAorLSMgVGhlIHBy
b2xvZ3VlIG9mIFRFU1QxIHNldHMgX200X2RpdmVydF9kdW1wLCB3aGljaCBpcyB0aGUgZGl2ZXJz
aW9uCistIyB3aGVyZSB0aGUgY3VycmVudCBlbGFib3JhdGlvbiB3aWxsIGJlIGR1bXBlZCwgdG8g
dGhlIGN1cnJlbnQKKy0jIGRpdmVyc2lvbi4gIEl0IGFsc28gbTRfZGl2ZXJ0X3B1c2ggdG8gR1JP
Vywgd2hlcmUgdGhlIGZ1bGwKKy0jIGV4cGFuc2lvbiBvZiBURVNUMSBhbmQgaXRzIGRlcGVuZGVu
Y2llcyB3aWxsIGJlIGVsYWJvcmF0ZWQuCistIyAgIERVTVA6ICAgICAgICBCT0RZCistIyAgIEJP
RFk6ICAgICAgICBlbXB0eQorLSMgICBkaXZlcnNpb25zOiAgR1JPVywgQk9EWSB8LQorLSMKKy0j
ICogVEVTVDEgcmVxdWlyZXMgVEVTVDJhCistIyBfbTRfcmVxdWlyZV9jYWxsIG00X2RpdmVydF9w
dXNoZXMgYW5vdGhlciB0ZW1wb3JhcnkgZGl2ZXJzaW9uLAorLSMgR1JPVyAtIDEsIGFuZCBleHBh
bmRzIFRFU1QyYSBpbiB0aGVyZS4KKy0jICAgRFVNUDogICAgICAgIEJPRFkKKy0jICAgQk9EWTog
ICAgICAgIGVtcHR5CistIyAgIEdST1cgLSAxOiAgICBURVNUMmEKKy0jICAgZGl2ZXJzaW9uczog
IEdST1cgLSAxLCBHUk9XLCBCT0RZIHwtCistIyBUaGVuIHRoZSBjb250ZW50IG9mIHRoZSB0ZW1w
b3JhcnkgZGl2ZXJzaW9uIGlzIG1vdmVkIHRvIERVTVAgYW5kIHRoZQorLSMgdGVtcG9yYXJ5IGRp
dmVyc2lvbiBpcyBwb3BwZWQuCistIyAgIERVTVA6ICAgICAgICBCT0RZCistIyAgIEJPRFk6ICAg
ICAgICBURVNUMmEKKy0jICAgZGl2ZXJzaW9uczogIEdST1csIEJPRFkgfC0KKy0jCistIyAqIFRF
U1QxIHJlcXVpcmVzIFRFU1QyYgorLSMgQWdhaW4sIF9tNF9yZXF1aXJlX2NhbGwgcHVzaGVzIEdS
T1cgLSAxIGFuZCBoZWFkcyB0byBleHBhbmQgVEVTVDJiLgorLSMgICBEVU1QOiAgICAgICAgQk9E
WQorLSMgICBCT0RZOiAgICAgICAgVEVTVDJhCistIyAgIGRpdmVyc2lvbnM6ICBHUk9XIC0gMSwg
R1JPVywgQk9EWSB8LQorLSMKKy0jICogVEVTVDJiIHJlcXVpcmVzIFRFU1QzCistIyBfbTRfcmVx
dWlyZV9jYWxsIHB1c2hlcyBHUk9XIC0gMiBhbmQgZXhwYW5kcyBURVNUMyBoZXJlLgorLSMgKFRF
U1QzIHJlcXVpcmVzIFRFU1QyYSwgYnV0IFRFU1QyYSBoYXMgYWxyZWFkeSBiZWVuIG00X3Byb3Zp
ZGUnZCwgc28KKy0jIG5vdGhpbmcgaGFwcGVucy4pCistIyAgIERVTVA6ICAgICAgICBCT0RZCist
IyAgIEJPRFk6ICAgICAgICBURVNUMmEKKy0jICAgR1JPVyAtIDI6ICAgIFRFU1QzCistIyAgIGRp
dmVyc2lvbnM6ICBHUk9XIC0gMiwgR1JPVyAtIDEsIEdST1csIEJPRFkgfC0KKy0jIFRoZW4gdGhl
IGRpdmVyc2lvbiBpcyBhcHBlbmRlZCB0byBEVU1QLCBhbmQgcG9wcGVkLgorLSMgICBEVU1QOiAg
ICAgICAgQk9EWQorLSMgICBCT0RZOiAgICAgICAgVEVTVDJhOyBURVNUMworLSMgICBkaXZlcnNp
b25zOiAgR1JPVyAtIDEsIEdST1csIEJPRFkgfC0KKy0jCistIyAqIFRFU1QxIHJlcXVpcmVzIFRF
U1QyYiAoY29udGQuKQorLSMgVGhlIGNvbnRlbnQgb2YgVEVTVDJiIGlzIGV4cGFuZGVkLi4uCist
IyAgIERVTVA6ICAgICAgICBCT0RZCistIyAgIEJPRFk6ICAgICAgICBURVNUMmE7IFRFU1QzCist
IyAgIEdST1cgLSAxOiAgICBURVNUMmIsCistIyAgIGRpdmVyc2lvbnM6ICBHUk9XIC0gMSwgR1JP
VywgQk9EWSB8LQorLSMgLi4uIGFuZCBtb3ZlZCB0byBEVU1QLgorLSMgICBEVU1QOiAgICAgICAg
Qk9EWQorLSMgICBCT0RZOiAgICAgICAgVEVTVDJhOyBURVNUMzsgVEVTVDJiCistIyAgIGRpdmVy
c2lvbnM6ICBHUk9XLCBCT0RZIHwtCistIworLSMgKiBURVNUMSBpcyBleHBhbmRlZDogZXBpbG9n
dWUKKy0jIFRFU1QxJ3Mgb3duIGNvbnRlbnQgaXMgaW4gR1JPVy4uLgorLSMgICBEVU1QOiAgICAg
ICAgQk9EWQorLSMgICBCT0RZOiAgICAgICAgVEVTVDJhOyBURVNUMzsgVEVTVDJiCistIyAgIEdS
T1c6ICAgICAgICBURVNUMQorLSMgICBkaXZlcnNpb25zOiAgQk9EWSB8LQorLSMgLi4uIGFuZCBp
dCdzIGVwaWxvZ3VlIG1vdmVzIGl0IHRvIERVTVAgYW5kIHRoZW4gdW5kZWZpbmVzIERVTVAuCist
IyAgIERVTVA6ICAgICAgIHVuZGVmaW5lZAorLSMgICBCT0RZOiAgICAgICBURVNUMmE7IFRFU1Qz
OyBURVNUMmI7IFRFU1QxCistIyAgIGRpdmVyc2lvbnM6IEJPRFkgfC0KKy0jCistIworLSMgVGhl
IHRoaXJkIGlkZWE6IHRyYWNrIG1hY3JvcyBwcm92aWRlZCBiZWZvcmUgdGhleSB3ZXJlIHJlcXVp
cmVkCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jCistIyBVc2luZyBqdXN0IHRoZSBmaXJzdCB0d28gaWRlYXMsIEF1
dG9jb25mIDIuNTAgdGhyb3VnaCAyLjYzIHN0aWxsIGhhZAorLSMgYSBzdWJ0bGUgYnVnIGZvciBt
b3JlIHRoYW4gc2V2ZW4geWVhcnMuICBMZXQncyBjb25zaWRlciB0aGUKKy0jIGZvbGxvd2luZyBl
eGFtcGxlIHRvIGV4cGxhaW4gdGhlIGJ1ZzoKKy0jCistIyB8IG00X2RlZnVuKFtURVNUMV0sIFsx
XSkKKy0jIHwgbTRfZGVmdW4oW1RFU1QyXSwgWzJbXW00X3JlcXVpcmUoW1RFU1QxXSldKQorLSMg
fCBtNF9kZWZ1bihbVEVTVDNdLCBbMyBURVNUMSBtNF9yZXF1aXJlKFtURVNUMl0pXSkKKy0jIHwg
VEVTVDMKKy0jCistIyBBZnRlciB0aGUgcHJvbG9ndWUgb2YgVEVTVDMsIHdlIGFyZSBjb2xsZWN0
aW5nIHRleHQgaW4gR1JPVyB3aXRoIHRoZQorLSMgaW50ZW50IG9mIGR1bXBpbmcgaXQgaW4gQk9E
WSBkdXJpbmcgdGhlIGVwaWxvZ3VlLiAgTmV4dCwgd2UKKy0jIGVuY291bnRlciB0aGUgZGlyZWN0
IGludm9jYXRpb24gb2YgVEVTVDEsIHdoaWNoIHByb3ZpZGVzIHRoZSBtYWNybworLSMgaW4gcGxh
Y2UgaW4gR1JPVy4gIEZyb20gdGhlcmUsIHdlIGVuY291bnRlciBhIHJlcXVpcmVtZW50IGZvciBU
RVNUMiwKKy0jIHdoaWNoIG11c3QgYmUgY29sbGVjdGVkIGluIGEgbmV3IGRpdmVyc2lvbi4gIFdo
aWxlIGV4cGFuZGluZyBURVNUMiwKKy0jIHdlIGVuY291bnRlciBhIHJlcXVpcmVtZW50IGZvciBU
RVNUMSwgYnV0IHNpbmNlIGl0IGhhcyBhbHJlYWR5IGJlZW4KKy0jIGV4cGFuZGVkLCB0aGUgQXhl
bCBUaGltbSBhbGdvcml0aG0gc3RhdGVzIHRoYXQgd2UgY2FuIHRyZWF0IGl0IGFzIGEKKy0jIG5v
LW9wLiAgQnV0IHRoYXQgd291bGQgbGVhZCB0byBhbiBlbmQgcmVzdWx0IG9mIGAyIDMgMScsIG1l
YW5pbmcKKy0jIHRoYXQgd2UgaGF2ZSBvbmNlIGFnYWluIG91dHB1dCBhIG1hY3JvIChURVNUMikg
cHJpb3IgdG8gaXRzCistIyByZXF1aXJlbWVudHMgKFRFU1QxKS4KKy0jCistIyBUaGUgcHJvYmxl
bSBjYW4gb25seSBvY2N1ciBpZiBhIHNpbmdsZSBkZWZ1bidkIG1hY3JvIGZpcnN0IHByb3ZpZGVz
LAorLSMgdGhlbiBsYXRlciBpbmRpcmVjdGx5IHJlcXVpcmVzLCB0aGUgc2FtZSBtYWNyby4gIE5v
dGUgdGhhdCBkaXJlY3RseQorLSMgZXhwYW5kaW5nIHRoZW4gcmVxdWlyaW5nIGEgbWFjcm8gaXMg
b2theTogYmVjYXVzZSB0aGUgZGVwZW5kZW5jeSB3YXMKKy0jIG1ldCwgdGhlIHJlcXVpcmUgcGhh
c2UgY2FuIGJlIGEgbm8tb3AuICBGb3IgdGhhdCBtYXR0ZXIsIHRoZSBvdXRlcgorLSMgbWFjcm8g
Y2FuIGV2ZW4gcmVxdWlyZSB0d28gaGVscGVycywgd2hlcmUgdGhlIGZpcnN0IGhlbHBlciBleHBh
bmRzCistIyB0aGUgbWFjcm8sIGFuZCB0aGUgc2Vjb25kIGhlbHBlciBpbmRpcmVjdGx5IHJlcXVp
cmVzIHRoZSBtYWNyby4KKy0jIE91dC1vZi1vcmRlciBleHBhbnNpb24gaXMgb25seSBwcmVzZW50
IGlmIHRoZSBpbm5lciBtYWNybyBpcworLSMgcmVxdWlyZWQgYnkgc29tZXRoaW5nIHRoYXQgd2ls
bCBiZSBob2lzdGVkIGluIGZyb250IG9mIHdoZXJlIHRoZQorLSMgZGlyZWN0IGV4cGFuc2lvbiBv
Y2N1cnJlZC4gIEluIG90aGVyIHdvcmRzLCB3ZSBtdXN0IGJlIGNhcmVmdWwgbm90CistIyB0byB3
YXJuIG9uOgorLSMKKy0jIHwgbTRfZGVmdW4oW1RFU1Q0XSwgWzRdKQorLSMgfCBtNF9kZWZ1bihb
VEVTVDVdLCBbNSBURVNUNCBtNF9yZXF1aXJlKFtURVNUNF0pXSkKKy0jIHwgVEVTVDUgPT4gNSA0
CistIworLSMgb3IgZXZlbiB0aGUgbW9yZSBjb21wbGV4OgorLSMKKy0jIHwgbTRfZGVmdW4oW1RF
U1Q2XSwgWzZdKQorLSMgfCBtNF9kZWZ1bihbVEVTVDddLCBbNyBURVNUNl0pCistIyB8IG00X2Rl
ZnVuKFtURVNUOF0sIFs4IG00X3JlcXVpcmUoW1RFU1Q2XSldKQorLSMgfCBtNF9kZWZ1bihbVEVT
VDldLCBbOSBtNF9yZXF1aXJlKFtURVNUOF0pXSkKKy0jIHwgbTRfZGVmdW4oW1RFU1QxMF0sIFsx
MCBtNF9yZXF1aXJlKFtURVNUN10pIG00X3JlcXVpcmUoW1RFU1Q5XSldKQorLSMgfCBURVNUMTAg
PT4gNyA2IDggOSAxMAorLSMKKy0jIFNvLCB0byBkZXRlY3Qgd2hldGhlciBhIHJlcXVpcmUgd2Fz
IGRpcmVjdCBvciBpbmRpcmVjdCwgbTRfZGVmdW4gYW5kCistIyBtNF9yZXF1aXJlIHRyYWNrIHRo
ZSBuYW1lIG9mIHRoZSBtYWNybyB0aGF0IGNhdXNlZCBhIGRpdmVyc2lvbiB0byBiZQorLSMgY3Jl
YXRlZCAodXNpbmcgdGhlIHN0YWNrIF9tNF9kaXZlcnRpbmcsIGNvdXBsZWQgd2l0aCBhbiBPKDEp
IGxvb2t1cAorLSMgX200X2RpdmVydGluZyhbTkFNRV0pKSwgYW5kIG00X3Byb3ZpZGUgc3RvcmVz
IHRoZSBuYW1lIGFzc29jaWF0ZWQKKy0jIHdpdGggdGhlIGRpdmVyc2lvbiBhdCB3aGljaCBhIG1h
Y3JvIHdhcyBwcm92aWRlZC4gIEEgcmVxdWlyZSBjYWxsIGlzCistIyBkaXJlY3QgaWYgaXQgb2Nj
dXJzIHdpdGhpbiB0aGUgc2FtZSBkaXZlcnNpb24gd2hlcmUgdGhlIG1hY3JvIHdhcworLSMgcHJv
dmlkZWQsIG9yIGlmIHRoZSBkaXZlcnNpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm92aWRpbmcg
Y29udGV4dAorLSMgaGFzIGJlZW4gY29sbGVjdGVkLgorLSMKKy0jIFRoZSBpbXBsZW1lbnRhdGlv
biBvZiB0aGUgd2FybmluZyBpbnZvbHZlcyB0cmFja2luZyB0aGUgc2V0IG9mCistIyBtYWNyb3Mg
d2hpY2ggaGF2ZSBiZWVuIHByb3ZpZGVkIHNpbmNlIHRoZSBzdGFydCBvZiB0aGUgb3V0ZXJtb3N0
CistIyBkZWZ1bidkIG1hY3JvICh0aGUgc2V0IGlzIG5hbWVkIF9tNF9wcm92aWRlKS4gIFdoZW4g
c3RhcnRpbmcgYW4KKy0jIG91dGVybW9zdCBtYWNybywgdGhlIHNldCBpcyBlbXB0aWVkOyB3aGVu
IGEgbWFjcm8gaXMgcHJvdmlkZWQsIGl0IGlzCistIyBhZGRlZCB0byB0aGUgc2V0OyB3aGVuIHJl
cXVpcmUgZXhwYW5kcyB0aGUgYm9keSBvZiBhIG1hY3JvLCBpdCBpcworLSMgcmVtb3ZlZCBmcm9t
IHRoZSBzZXQ7IGFuZCB3aGVuIGEgbWFjcm8gaXMgaW5kaXJlY3RseSByZXF1aXJlZCwgdGhlCist
IyBzZXQgaXMgY2hlY2tlZC4gIElmIGEgbWFjcm8gaXMgaW4gdGhlIHNldCwgdGhlbiBpdCBoYXMg
YmVlbiBwcm92aWRlZAorLSMgYmVmb3JlIGl0IHdhcyByZXF1aXJlZCwgYW5kIHdlIHNhdGlzZnkg
ZGVwZW5kZW5jaWVzIGJ5IGV4cGFuZGluZyB0aGUKKy0jIG1hY3JvIGFzIGlmIGl0IGhhZCBuZXZl
ciBiZWVuIHByb3ZpZGVkOyBpbiB0aGUgZXhhbXBsZSBnaXZlbiBhYm92ZSwKKy0jIHRoaXMgbWVh
bnMgd2Ugbm93IG91dHB1dCBgMSAyIDMgMScuICBNZWFud2hpbGUsIGEgd2FybmluZyBpcyBpc3N1
ZWQKKy0jIHRvIGluZm9ybSB0aGUgdXNlciB0aGF0IGhlciBtYWNyb3MgdHJpZ2dlciB0aGUgYnVn
IGluIG9sZGVyIGF1dG9jb25mCistIyB2ZXJzaW9ucywgYW5kIHRoYXQgaGVyIG91dHB1dCBmaWxl
IG5vdyBjb250YWlucyByZWR1bmRhbnQgY29udGVudHMKKy0jIChhbmQgcG9zc2libHkgbmV3IHBy
b2JsZW1zLCBpZiB0aGUgcmVwZWF0ZWQgbWFjcm8gd2FzIG5vdAorLSMgaWRlbXBvdGVudCkuICBN
ZWFud2hpbGUsIG1hY3JvcyBkZWZpbmVkIGJ5IG00X2RlZnVuX29uY2UgaW5zdGVhZCBvZgorLSMg
bTRfZGVmdW4gYXJlIGlkZW1wb3RlbnQsIGF2b2lkaW5nIGFueSB3YXJuaW5nIG9yIGR1cGxpY2F0
ZSBvdXRwdXQuCistIworLSMKKy0jIDIuIEtlZXBpbmcgdHJhY2sgb2YgdGhlIGV4cGFuc2lvbiBz
dGFjaworLSMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistIworLSMg
V2hlbiBNNCBleHBhbnNpb24gZ29lcyB3cm9uZyBpdCBpcyBvZnRlbiBleHRyZW1lbHkgaGFyZCB0
byBmaW5kIHRoZQorLSMgcGF0aCBhbW9uZ3N0IG1hY3JvcyB0aGF0IGRyb3ZlIHRvIHRoZSBmYWls
dXJlLiAgV2hhdCBpcyBuZWVkZWQgaXMKKy0jIHRoZSBzdGFjayBvZiBtYWNybyBgY2FsbHMnLiBP
bmUgY291bGQgaW1hZ2luZSB0aGF0IEdOVSBNNCB3b3VsZAorLSMgbWFpbnRhaW4gYSBzdGFjayBv
ZiBtYWNybyBleHBhbnNpb25zLCB1bmZvcnR1bmF0ZWx5IGl0IGRvZXNuJ3QsIHNvCistIyB3ZSBk
byBpdCBieSBoYW5kLiAgVGhpcyBpcyBvZiBjb3Vyc2UgZXh0cmVtZWx5IGNvc3RseSwgYnV0IHRo
ZSBoZWxwCistIyB0aGlzIHN0YWNrIHByb3ZpZGVzIGlzIHdvcnRoIGl0LiAgTmV2ZXJ0aGVsZXNz
IHRvIGxpbWl0IHRoZQorLSMgcGVyZm9ybWFuY2UgcGVuYWx0eSB0aGlzIGlzIGltcGxlbWVudGVk
IG9ubHkgZm9yIG00X2RlZnVuJ2QgbWFjcm9zLAorLSMgbm90IGZvciBkZWZpbmUnZCBtYWNyb3Mu
CistIworLSMgRWFjaCB0aW1lIHdlIGVudGVyIGFuIG00X2RlZnVuJ2QgbWFjcm9zLCB3ZSBhZGQg
YSBkZWZpbml0aW9uIGluCistIyBfbTRfZXhwYW5zaW9uX3N0YWNrLCBhbmQgd2hlbiB3ZSBleGl0
IHRoZSBtYWNybywgd2UgcmVtb3ZlIGl0ICh0aGFua3MKKy0jIHRvIHB1c2hkZWYvcG9wZGVmKS4g
IG00X3N0YWNrX2ZvcmVhY2ggaXMgdXNlZCB0byBwcmludCB0aGUgZXhwYW5zaW9uCistIyBzdGFj
ayBpbiB0aGUgcmFyZSBjYXNlcyB3aGVuIGl0J3MgbmVlZGVkLgorLSMKKy0jIEluIGFkZGl0aW9u
LCB3ZSB3YW50IHRvIGRldGVjdCBjaXJjdWxhciBtNF9yZXF1aXJlIGRlcGVuZGVuY2llcy4KKy0j
IEVhY2ggdGltZSB3ZSBleHBhbmQgYSBtYWNybyBGT08gd2UgZGVmaW5lIF9tNF9leHBhbmRpbmco
Rk9PKTsgYW5kCistIyBtNF9yZXF1aXJlKEJBUikgc2ltcGx5IGNoZWNrcyB3aGV0aGVyIF9tNF9l
eHBhbmRpbmcoQkFSKSBpcyBkZWZpbmVkLgorLQorLQorLSMgbTRfZXhwYW5zaW9uX3N0YWNrCist
IyAtLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZHMgdG8gdGhlIGVudGlyZSBjb250ZW50cyBv
ZiB0aGUgZXhwYW5zaW9uIHN0YWNrLiAgVGhlIGNhbGxlcgorLSMgbXVzdCBzdXBwbHkgYSB0cmFp
bGluZyBuZXdsaW5lLiAgVGhpcyBtYWNybyBhbHdheXMgcHJpbnRzIGEKKy0jIGxvY2F0aW9uOyBj
aGVjayB3aGV0aGVyIF9tNF9leHBhbnNpb25fc3RhY2sgaXMgZGVmaW5lZCB0byBmaWx0ZXIgb3V0
CistIyB0aGUgY2FzZSB3aGVuIG5vIGRlZnVuJ2QgbWFjcm8gaXMgaW4gZm9yY2UuCistbTRfZGVm
aW5lKFttNF9leHBhbnNpb25fc3RhY2tdLAorLVttNF9zdGFja19mb3JlYWNoX3NlcF9saWZvKFtf
JDBdLCBbXyQwX2VudHJ5KF0sIFspCistXSltNF9sb2NhdGlvbls6IHRoZSB0b3AgbGV2ZWxdXSkK
Ky0KKy0jIF9tNF9leHBhbnNpb25fc3RhY2tfZW50cnkoTUFDUk8pCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRm9ybWF0IGFuIGVudHJ5IGZvciBNQUNSTyBmb3VuZCBv
biB0aGUgZXhwYW5zaW9uIHN0YWNrLgorLW00X2RlZmluZShbX200X2V4cGFuc2lvbl9zdGFja19l
bnRyeV0sCistW19tNF9kZWZuKFttNF9sb2NhdGlvbigkMSldKVs6ICQxIGlzIGV4cGFuZGVkIGZy
b20uLi5dXSkKKy0KKy0jIG00X2V4cGFuc2lvbl9zdGFja19wdXNoKE1BQ1JPKQorLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBGb3JtIGFuIGVudHJ5IG9mIHRoZSBleHBhbnNp
b24gc3RhY2sgb24gZW50cnkgdG8gTUFDUk8gYW5kIHB1c2ggaXQuCistbTRfZGVmaW5lKFttNF9l
eHBhbnNpb25fc3RhY2tfcHVzaF0sCistW200X3B1c2hkZWYoW19tNF9leHBhbnNpb25fc3RhY2td
LCBbJDFdKV0pCistCistCistIyBfbTRfZGl2ZXJ0KEdST1cpCistIyAtLS0tLS0tLS0tLS0tLS0t
CistIyBUaGlzIGRpdmVyc2lvbiBpcyB1c2VkIGJ5IHRoZSBtNF9kZWZ1bi9tNF9yZXF1aXJlIG1h
Y2hpbmVyeS4gIEl0IGlzCistIyBpbXBvcnRhbnQgdG8ga2VlcCByb29tIGJlZm9yZSBHUk9XIGJl
Y2F1c2UgZm9yIGVhY2ggbmVzdGVkCistIyBBQ19SRVFVSVJFIHdlIHVzZSBhbiBhZGRpdGlvbmFs
IGRpdmVyc2lvbiAoaS5lLiwgdHdvIG00X3JlcXVpcmUncworLSMgd2lsbCB1c2UgR1JPVyAtIDIu
ICBNb3JlIHRoYW4gMyBsZXZlbHMgaGFzIG5ldmVyIHNlZW1lZCB0byBiZQorLSMgbmVlZGVkLikK
Ky0jCistIyAuLi4KKy0jIC0gR1JPVyAtIDIKKy0jICAgbTRfcmVxdWlyZSdkIGNvZGUsIDIgbGV2
ZWwgZGVlcAorLSMgLSBHUk9XIC0gMQorLSMgICBtNF9yZXF1aXJlJ2QgY29kZSwgMSBsZXZlbCBk
ZWVwCistIyAtIEdST1cKKy0jICAgbTRfZGVmdW4nZCBtYWNyb3MgYXJlIGVsYWJvcmF0ZWQgaGVy
ZS4KKy0KKy1tNF9kZWZpbmUoW19tNF9kaXZlcnQoR1JPVyldLCAgICAgICAxMDAwMCkKKy0KKy0K
Ky0jIF9tNF9kZWZ1bl9wcm8oTUFDUk8tTkFNRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIFRoZSBwcm9sb2d1ZSBmb3IgQXV0b2NvbmYgbWFjcm9zLgorLSMKKy0jIFRoaXMgaXMg
Y2FsbGVkIGZyZXF1ZW50bHksIHNvIG1pbmltaXplIHRoZSBudW1iZXIgb2YgbWFjcm8gaW52b2Nh
dGlvbnMKKy0jIGJ5IGF2b2lkaW5nIGRubCBhbmQgbTRfZGVmbiBvdmVyaGVhZC4KKy1tNF9kZWZp
bmUoW19tNF9kZWZ1bl9wcm9dLAorLVttNF9pZmRlZihbX200X2V4cGFuc2lvbl9zdGFja10sIFtd
LCBbX200X2RlZnVuX3Byb19vdXRlcihbJDFdKV0pXWRubAorLVttNF9leHBhbnNpb25fc3RhY2tf
cHVzaChbJDFdKW00X3B1c2hkZWYoW19tNF9leHBhbmRpbmcoJDEpXSldKQorLQorLW00X2RlZmlu
ZShbX200X2RlZnVuX3Byb19vdXRlcl0sCistW200X3NldF9kZWxldGUoW19tNF9wcm92aWRlXSld
ZG5sCistW200X3B1c2hkZWYoW19tNF9kaXZlcnRpbmcoWyQxXSldKW00X3B1c2hkZWYoW19tNF9k
aXZlcnRpbmddLCBbJDFdKV1kbmwKKy1bbTRfcHVzaGRlZihbX200X2RpdmVydF9kdW1wXSwgbTRf
ZGl2bnVtKW00X2RpdmVydF9wdXNoKFtHUk9XXSldKQorLQorLSMgX200X2RlZnVuX2VwaShNQUNS
Ty1OQU1FKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgVGhlIEVwaWxvZ3VlIGZv
ciBBdXRvY29uZiBtYWNyb3MuICBNQUNSTy1OQU1FIG9ubHkgaGVscHMgdHJhY2luZworLSMgdGhl
IFBSTy9FUEkgcGFpcnMuCistIworLSMgVGhpcyBpcyBjYWxsZWQgZnJlcXVlbnRseSwgc28gbWlu
aW1pemUgdGhlIG51bWJlciBvZiBtYWNybyBpbnZvY2F0aW9ucworLSMgYnkgYXZvaWRpbmcgZG5s
IGFuZCBtNF9wb3BkZWYgb3ZlcmhlYWQuCistbTRfZGVmaW5lKFtfbTRfZGVmdW5fZXBpXSwKKy1b
X200X3BvcGRlZihbX200X2V4cGFuZGluZygkMSldLCBbX200X2V4cGFuc2lvbl9zdGFja10pXWRu
bAorLVttNF9pZmRlZihbX200X2V4cGFuc2lvbl9zdGFja10sIFtdLCBbX200X2RlZnVuX2VwaV9v
dXRlcihbJDFdKV0pXWRubAorLVttNF9wcm92aWRlKFskMV0pXSkKKy0KKy1tNF9kZWZpbmUoW19t
NF9kZWZ1bl9lcGlfb3V0ZXJdLAorLVtfbTRfcG9wZGVmKFtfbTRfZGl2ZXJ0X2R1bXBdLCBbX200
X2RpdmVydGluZyhbJDFdKV0sIFtfbTRfZGl2ZXJ0aW5nXSldZG5sCistW200X2RpdmVydF9wb3Ao
W0dST1ddKW00X3VuZGl2ZXJ0KFtHUk9XXSldKQorLQorLQorLSMgX200X2RpdmVydF9kdW1wCist
IyAtLS0tLS0tLS0tLS0tLS0KKy0jIElmIGJsYW5rLCB3ZSBhcmUgb3V0c2lkZSBvZiBhbnkgZGVm
dW4nZCBtYWNyby4gIE90aGVyd2lzZSwgZXhwYW5kcworLSMgdG8gdGhlIGRpdmVyc2lvbiBudW1i
ZXIgKG5vdCBuYW1lKSB3aGVyZSByZXF1aXJlJ2QgbWFjcm9zIHNob3VsZCBiZQorLSMgbW92ZWQg
b25jZSBjb21wbGV0ZWQuCistbTRfZGVmaW5lKFtfbTRfZGl2ZXJ0X2R1bXBdKQorLQorLQorLSMg
bTRfZGl2ZXJ0X3JlcXVpcmUoRElWRVJTSU9OLCBOQU1FLVRPLUNIRUNLLCBbQk9EWS1UTy1FWFBB
TkRdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLSMgU2FtZSBhcyBtNF9yZXF1aXJlLCBidXQgQk9EWS1UTy1FWFBBTkQg
Z29lcyBpbnRvIHRoZSBuYW1lZCBESVZFUlNJT047CistIyByZXF1aXJlbWVudHMgc3RpbGwgZ28g
aW4gdGhlIGN1cnJlbnQgZGl2ZXJzaW9uIHRob3VnaC4KKy0jCistbTRfZGVmaW5lKFttNF9kaXZl
cnRfcmVxdWlyZV0sCistW200X2lmZGVmKFtfbTRfZXhwYW5kaW5nKCQyKV0sCistICBbbTRfZmF0
YWwoWyQwOiBjaXJjdWxhciBkZXBlbmRlbmN5IG9mICQyXSldKV1kbmwKKy1bbTRfaWYoX200X2Rp
dmVydF9kdW1wLCBbXSwKKy0gIFttNF9mYXRhbChbJDAoJDIpOiBjYW5ub3QgYmUgdXNlZCBvdXRz
aWRlIG9mIGFuIG00X2RlZnVuJ2QgbWFjcm9dKV0pXWRubAorLVttNF9wcm92aWRlX2lmKFskMl0s
IFtdLAorLSAgW19tNF9yZXF1aXJlX2NhbGwoWyQyXSwgWyQzXSwgX200X2RpdmVydChbJDFdLCBb
LV0pKV0pXSkKKy0KKy0KKy0jIG00X2RlZnVuKE5BTUUsIEVYUEFOU0lPTiwgW01BQ1JPID0gbTRf
ZGVmaW5lXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIERlZmluZSBhIG1hY3JvIE5BTUUgd2hpY2ggYXV0b21hdGljYWxseSBwcm92aWRlcyBp
dHNlbGYuICBBZGQKKy0jIG1hY2hpbmVyeSBzbyB0aGUgbWFjcm8gYXV0b21hdGljYWxseSBzd2l0
Y2hlcyBleHBhbnNpb24gdG8gdGhlCistIyBkaXZlcnNpb24gc3RhY2sgaWYgaXQgaXMgbm90IGFs
cmVhZHkgdXNpbmcgaXQsIHByaW9yIHRvIEVYUEFOU0lPTi4KKy0jIEluIHRoaXMgY2FzZSwgb25j
ZSBmaW5pc2hlZCwgaXQgd2lsbCBicmluZyBiYWNrIGFsbCB0aGUgY29kZQorLSMgYWNjdW11bGF0
ZWQgaW4gdGhlIGRpdmVyc2lvbiBzdGFjay4gIFRoaXMsIGNvbWJpbmVkIHdpdGggbTRfcmVxdWly
ZSwKKy0jIGFjaGlldmVzIHRoZSB0b3BvbG9naWNhbCBvcmRlcmluZyBvZiBtYWNyb3MuICBXZSBk
b24ndCB1c2UgdGhpcworLSMgbWFjcm8gdG8gZGVmaW5lIHNvbWUgZnJlcXVlbnRseSBjYWxsZWQg
bWFjcm9zIHRoYXQgYXJlIG5vdCBpbnZvbHZlZAorLSMgaW4gb3JkZXJpbmcgY29uc3RyYWludHMs
IHRvIHNhdmUgbTQgcHJvY2Vzc2luZy4KKy0jCistIyBNQUNSTyBpcyBhbiB1bmRvY3VtZW50ZWQg
YXJndW1lbnQ7IHdoZW4gc2V0IHRvIG00X3B1c2hkZWYsIGFuZCBOQU1FCistIyBpcyBhbHJlYWR5
IGRlZmluZWQsIHRoZSBuZXcgZGVmaW5pdGlvbiBpcyBhZGRlZCB0byB0aGUgcHVzaGRlZgorLSMg
c3RhY2ssIHJhdGhlciB0aGFuIG92ZXJ3cml0aW5nIHRoZSBjdXJyZW50IGRlZmluaXRpb24uICBJ
dCBjYW4gdGh1cworLSMgYmUgdXNlZCB0byB3cml0ZSBzZWxmLW1vZGlmeWluZyBtYWNyb3MsIHdo
aWNoIHBvcCB0aGVtc2VsdmVzIHRvIGEKKy0jIHByZXZpb3VzbHkgbTRfZGVmaW5lJ2QgZGVmaW5p
dGlvbiBzbyB0aGF0IHN1YnNlcXVlbnQgdXNlIG9mIHRoZQorLSMgbWFjcm8gaXMgZmFzdGVyLgor
LW00X2RlZmluZShbbTRfZGVmdW5dLAorLVttNF9kZWZpbmUoW200X2xvY2F0aW9uKCQxKV0sIG00
X2xvY2F0aW9uKV1kbmwKKy1bbTRfZGVmYXVsdChbJDNdLCBbbTRfZGVmaW5lXSkoWyQxXSwKKy0g
IFtfbTRfZGVmdW5fcHJvKF1tNF9kcXVvdGUoJFswXSlbKSQyW11fbTRfZGVmdW5fZXBpKF1tNF9k
cXVvdGUoJFswXSlbKV0pXSkKKy0KKy0KKy0jIG00X2RlZnVuX2luaXQoTkFNRSwgSU5JVCwgQ09N
TU9OKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIG00X2Rl
ZnVuLCBidXQgc3BsaXQgRVhQQU5TSU9OIGludG8gdHdvIHBvcnRpb25zOiBJTklUIHdoaWNoIGlz
CistIyBkb25lIG9ubHkgdGhlIGZpcnN0IHRpbWUgTkFNRSBpcyBpbnZva2VkLCBhbmQgQ09NTU9O
IHdoaWNoIGlzCistIyBleHBhbmRlZCBldmVyeSB0aW1lLgorLSMKKy0jIEZvciBub3csIHRoZSBD
T01NT04gZGVmaW5pdGlvbiBpcyBhbHdheXMgbTRfZGVmaW5lJ2QsIGdpdmluZyBhbiBldmVuCist
IyBsaWdodGVyLXdlaWdodCBkZWZpbml0aW9uLiAgbTRfZGVmdW4gYWxsb3dzIHNlbGYtcHJvdmlk
aW5nLCBidXQgb25jZQorLSMgYSBtYWNybyBpcyBwcm92aWRlZCwgbTRfcmVxdWlyZSBubyBsb25n
ZXIgY2FyZXMgaWYgaXQgaXMgbTRfZGVmaW5lJ2QKKy0jIG9yIG00X2RlZnVuJ2QuICBtNF9kZWZ1
biBhbHNvIHByb3ZpZGVzIGxvY2F0aW9uIHRyYWNraW5nIHRvIGlkZW50aWZ5CistIyBkZXBlbmRl
bmN5IGJ1Z3MsIGJ1dCBvbmNlIHRoZSBJTklUIGhhcyBiZWVuIGV4cGFuZGVkLCB3ZSBrbm93IHRo
ZXJlCistIyBhcmUgbm8gZGVwZW5kZW5jeSBidWdzLiAgSG93ZXZlciwgaWYgYSBmdXR1cmUgdXNl
IG5lZWRzIENPTU1PTiB0byBiZQorLSMgbTRfZGVmdW4nZCwgd2UgY2FuIGFkZCBhIHBhcmFtZXRl
ciwgc2ltaWxhciB0byB0aGUgdGhpcmQgcGFyYW1ldGVyCistIyB0byBtNF9kZWZ1bi4KKy1tNF9k
ZWZpbmUoW200X2RlZnVuX2luaXRdLAorLVttNF9kZWZpbmUoWyQxXSwgWyQzW11dKW00X2RlZnVu
KFskMV0sCistICAgWyQyW11fbTRfcG9wZGVmKF1tNF9kcXVvdGUoJFswXSlbKW00X2luZGlyKF1t
NF9kcXVvdGUoJFswXSlkbmwKKy1bbTRfaWYoXW00X2RxdW90ZSgkWyNdKVssIFswXSwgW10sIF1t
NF9kcXVvdGUoWywkXUApWykpXSwgW200X3B1c2hkZWZdKV0pCistCistCistIyBtNF9kZWZ1bl9v
bmNlKE5BTUUsIEVYUEFOU0lPTikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgTGlrZSBtNF9kZWZ1biwgYnV0IGd1YXJhbnRlZSB0aGF0IEVYUEFOU0lPTiBvbmx5IGhhcHBl
bnMgb25jZQorLSMgKHRoZXJlYWZ0ZXIsIHVzaW5nIE5BTUUgaXMgYSBuby1vcCkuCistIworLSMg
SWYgX200X2RpdmVydF9kdW1wIGlzIGVtcHR5LCB3ZSBhcmUgY2FsbGVkIGF0IHRoZSB0b3AgbGV2
ZWw7CistIyBvdGhlcndpc2UsIHdlIG11c3QgZW5zdXJlIHRoYXQgd2UgYXJlIHJlcXVpcmVkIGlu
IGZyb250IG9mIHRoZQorLSMgY3VycmVudCBkZWZ1bidkIG1hY3JvLiAgVXNlIGEgaGVscGVyIG1h
Y3JvIHNvIHRoYXQgRVhQQU5TSU9OIG5lZWQKKy0jIG9ubHkgb2NjdXIgb25jZSBpbiB0aGUgZGVm
aW5pdGlvbiBvZiBOQU1FLCBzaW5jZSBpdCBtaWdodCBiZSBsYXJnZS4KKy1tNF9kZWZpbmUoW200
X2RlZnVuX29uY2VdLAorLVttNF9kZWZpbmUoW200X2xvY2F0aW9uKCQxKV0sIG00X2xvY2F0aW9u
KV1kbmwKKy1bbTRfZGVmaW5lKFskMV0sIFtfbTRfZGVmdW5fb25jZShbJDFdLCBbJDJdLCBtNF9p
ZihfbTRfZGl2ZXJ0X2R1bXAsIFtdLAorLSAgW1tfbTRfZGVmdW5fcHJvKFskMV0pbTRfdW5xdW90
ZShdLCBbKV9tNF9kZWZ1bl9lcGkoWyQxXSldXSwKKy1tNF9pZmRlZihbX200X2RpdmVydGluZyhb
JDFdKV0sIFstXSksIFstXSwgW1ttNF91bnF1b3RlKF0sIFspXV0sCistICBbW19tNF9yZXF1aXJl
X2NhbGwoWyQxXSxdLCBbLCBfbTRfZGl2ZXJ0X2R1bXApXV0pKV0pXSkKKy0KKy1tNF9kZWZpbmUo
W19tNF9kZWZ1bl9vbmNlXSwKKy1bbTRfcHVzaGRlZihbJDFdKSQzWyQyW11tNF9wcm92aWRlKFsk
MV0pXSQ0XSkKKy0KKy0KKy0jIG00X3BhdHRlcm5fZm9yYmlkKEVSRSwgW1dIWV0pCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVjbGFyZSB0aGF0IG5vIHRva2VuIG1hdGNo
aW5nIHRoZSBmb3JiaWRkZW4gcGVybCBleHRlbmRlZCByZWd1bGFyCistIyBleHByZXNzaW9uIEVS
RSBzaG91bGQgYmUgc2VlbiBpbiB0aGUgb3V0cHV0IHVubGVzcy4uLgorLW00X2RlZmluZShbbTRf
cGF0dGVybl9mb3JiaWRdLCBbXSkKKy0KKy0KKy0jIG00X3BhdHRlcm5fYWxsb3coRVJFKQorLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyAuLi4gdGhhdCB0b2tlbiBhbHNvIG1hdGNoZXMgdGhl
IGFsbG93ZWQgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9uIEVSRS4KKy0jIEJvdGggdXNlZCB2
aWEgdHJhY2VzLCBieSBhdXRvbTR0ZSBwb3N0LXByb2Nlc3NpbmcuCistbTRfZGVmaW5lKFttNF9w
YXR0ZXJuX2FsbG93XSwgW10pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMjCistIyMgMTEuIERlcGVuZGVuY2llcyBiZXR3ZWVuIG1hY3Jvcy4gICMjCistIyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyBtNF9iZWZvcmUo
VEhJUy1NQUNSTy1OQU1FLCBDQUxMRUQtTUFDUk8tTkFNRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSXNzdWUgYSB3YXJuaW5nIGlmIENBTExF
RC1NQUNSTy1OQU1FIHdhcyBjYWxsZWQgYmVmb3JlIFRISVMtTUFDUk8tTkFNRS4KKy1tNF9kZWZp
bmUoW200X2JlZm9yZV0sCistW200X3Byb3ZpZGVfaWYoWyQyXSwKKy0JICAgICAgIFttNF93YXJu
KFtzeW50YXhdLCBbJDIgd2FzIGNhbGxlZCBiZWZvcmUgJDFdKV0pXSkKKy0KKy0KKy0jIG00X3Jl
cXVpcmUoTkFNRS1UTy1DSEVDSywgW0JPRFktVE8tRVhQQU5EID0gTkFNRS1UTy1DSEVDS10pCist
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgSWYgTkFNRS1UTy1DSEVDSyBoYXMgbmV2ZXIgYmVlbiBleHBhbmRlZCAoYWN0dWFs
bHksIGlmIGl0IGlzIG5vdAorLSMgbTRfcHJvdmlkZSdkKSwgZXhwYW5kIEJPRFktVE8tRVhQQU5E
ICpiZWZvcmUqIHRoZSBjdXJyZW50IG1hY3JvCistIyBleHBhbnNpb247IGZvbGxvdyB0aGUgZXhw
YW5zaW9uIHdpdGggYSBuZXdsaW5lLiAgT25jZSBleHBhbmRlZCwgZW1pdAorLSMgaXQgaW4gX200
X2RpdmVydF9kdW1wLiAgS2VlcCB0cmFjayBvZiB0aGUgbTRfcmVxdWlyZSBjaGFpbiBpbgorLSMg
X200X2V4cGFuc2lvbl9zdGFjay4KKy0jCistIyBUaGUgbm9ybWFsIGNhc2VzIGFyZToKKy0jCist
IyAtIE5BTUUtVE8tQ0hFQ0sgPT0gQk9EWS1UTy1FWFBBTkQKKy0jICAgV2hpY2ggeW91IGNhbiB1
c2UgZm9yIHJlZ3VsYXIgbWFjcm9zIHdpdGggb3Igd2l0aG91dCBhcmd1bWVudHMsIGUuZy4sCist
IyAgICAgbTRfcmVxdWlyZShbQUNfUFJPR19DQ10sIFtBQ19QUk9HX0NDXSkKKy0jICAgICBtNF9y
ZXF1aXJlKFtBQ19DSEVDS19IRUFERVJTKHRocmVhZHMuaCldLCBbQUNfQ0hFQ0tfSEVBREVSUyh0
aHJlYWRzLmgpXSkKKy0jICAgd2hpY2ggaXMganVzdCB0aGUgc2FtZSBhcworLSMgICAgIG00X3Jl
cXVpcmUoW0FDX1BST0dfQ0NdKQorLSMgICAgIG00X3JlcXVpcmUoW0FDX0NIRUNLX0hFQURFUlMo
dGhyZWFkcy5oKV0pCistIworLSMgLSBCT0RZLVRPLUVYUEFORCA9PSBtNF9pbmRpcihbTkFNRS1U
Ty1DSEVDS10pCistIyAgIEluIHRoZSBjYXNlIG9mIG1hY3JvcyB3aXRoIGlycmVndWxhciBuYW1l
cy4gIEZvciBpbnN0YW5jZToKKy0jICAgICBtNF9yZXF1aXJlKFtBQ19MQU5HX0NPTVBJTEVSKEMp
XSwgW2luZGlyKFtBQ19MQU5HX0NPTVBJTEVSKEMpXSldKQorLSMgICB3aGljaCBtZWFucyBgaWYg
dGhlIG1hY3JvIG5hbWVkIGBBQ19MQU5HX0NPTVBJTEVSKEMpJyAodGhlIHBhcmVucyBhcmUKKy0j
ICAgcGFydCBvZiB0aGUgbmFtZSwgaXQgaXMgbm90IGFuIGFyZ3VtZW50KSBoYXMgbm90IGJlZW4g
cnVuLCB0aGVuCistIyAgIGNhbGwgaXQuJworLSMgICBIYWQgeW91IHVzZWQKKy0jICAgICBtNF9y
ZXF1aXJlKFtBQ19MQU5HX0NPTVBJTEVSKEMpXSwgW0FDX0xBTkdfQ09NUElMRVIoQyldKQorLSMg
ICB0aGVuIG00X3JlcXVpcmUgd291bGQgaGF2ZSB0cmllZCB0byBleHBhbmQgYEFDX0xBTkdfQ09N
UElMRVIoQyknLCBpLmUuLAorLSMgICBjYWxsIHRoZSBtYWNybyBgQUNfTEFOR19DT01QSUxFUicg
d2l0aCBgQycgYXMgYXJndW1lbnQuCistIworLSMgICBZb3UgY291bGQgYXJndWUgdGhhdCBgQUNf
TEFOR19DT01QSUxFUicsIHdoZW4gaXQgcmVjZWl2ZXMgYW4gYXJndW1lbnQKKy0jICAgc3VjaCBh
cyBgQycgc2hvdWxkIGRpc3BhdGNoIHRoZSBjYWxsIHRvIGBBQ19MQU5HX0NPTVBJTEVSKEMpJy4g
IEJ1dCB0aGlzCistIyAgIGBleHRlbnNpb24nIHByZXZlbnRzIGBBQ19MQU5HX0NPTVBJTEVSJyBm
cm9tIGhhdmluZyBhY3R1YWwgYXJndW1lbnRzIHRoYXQKKy0jICAgaXQgcGFzc2VzIHRvIGBBQ19M
QU5HX0NPTVBJTEVSKEMpJy4KKy0jCistIyBUaGlzIGlzIGNhbGxlZCBmcmVxdWVudGx5LCBzbyBt
aW5pbWl6ZSB0aGUgbnVtYmVyIG9mIG1hY3JvIGludm9jYXRpb25zCistIyBieSBhdm9pZGluZyBk
bmwgYW5kIG90aGVyIG92ZXJoZWFkIG9uIHRoZSBjb21tb24gcGF0aC4KKy1tNF9kZWZpbmUoW200
X3JlcXVpcmVdLAorLVttNF9pZmRlZihbX200X2V4cGFuZGluZygkMSldLAorLSAgW200X2ZhdGFs
KFskMDogY2lyY3VsYXIgZGVwZW5kZW5jeSBvZiAkMV0pXSldZG5sCistW200X2lmKF9tNF9kaXZl
cnRfZHVtcCwgW10sCistICBbbTRfZmF0YWwoWyQwKCQxKTogY2Fubm90IGJlIHVzZWQgb3V0c2lk
ZSBvZiBhbiBdZG5sCistbTRfaWYoWyQwXSwgW200X3JlcXVpcmVdLCBbW200X2RlZnVuXV0sIFtb
QUNfREVGVU5dXSlbJ2QgbWFjcm9dKV0pXWRubAorLVttNF9wcm92aWRlX2lmKFskMV0sIFttNF9z
ZXRfY29udGFpbnMoW19tNF9wcm92aWRlXSwgWyQxXSwKKy0gICAgW19tNF9yZXF1aXJlX2NoZWNr
KFskMV0sIF9tNF9kZWZuKFttNF9wcm92aWRlKCQxKV0pLCBbJDBdKV0sIFttNF9pZ25vcmVdKV0s
CistICBbX200X3JlcXVpcmVfY2FsbF0pKFskMV0sIFskMl0sIF9tNF9kaXZlcnRfZHVtcCldKQor
LQorLQorLSMgX200X3JlcXVpcmVfY2FsbChOQU1FLVRPLUNIRUNLLCBbQk9EWS1UTy1FWFBBTkQg
PSBOQU1FLVRPLUNIRUNLXSwKKy0jICAgICAgICAgICAgICAgICAgRElWRVJTSU9OLU5VTUJFUikK
Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBJZiBtNF9yZXF1aXJlIGRlY2lkZXMgdG8gZXhwYW5kIHRoZSBib2R5
LCBpdCBjYWxscyB0aGlzIG1hY3JvLiAgVGhlCistIyBleHBhbnNpb24gaXMgcGxhY2VkIGluIERJ
VkVSU0lPTi1OVU1CRVIuCistIworLSMgVGhpcyBpcyBjYWxsZWQgZnJlcXVlbnRseSwgc28gbWlu
aW1pemUgdGhlIG51bWJlciBvZiBtYWNybyBpbnZvY2F0aW9ucworLSMgYnkgYXZvaWRpbmcgZG5s
IGFuZCBvdGhlciBvdmVyaGVhZCBvbiB0aGUgY29tbW9uIHBhdGguCistIyBUaGUgdXNlIG9mIGEg
d2l0bmVzcyBtYWNybyBwcm90ZWN0aW5nIHRoZSB3YXJuaW5nIGFsbG93cyBhY2xvY2FsCistIyB0
byBzaWxlbmNlIGFueSB3YXJuaW5ncyB3aGVuIHByb2JpbmcgZm9yIHdoYXQgbWFjcm9zIGFyZSBy
ZXF1aXJlZAorLSMgYW5kIG11c3QgdGhlcmVmb3JlIGJlIGxvY2F0ZWQsIHdoZW4gdXNpbmcgdGhl
IEF1dG9jb25mLXdpdGhvdXQtYWNsb2NhbC1tNAorLSMgYXV0b200dGUgbGFuZ3VhZ2UuICBGb3Ig
bW9yZSBiYWNrZ3JvdW5kLCBzZWU6CistIyBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9o
dG1sL2F1dG9tYWtlLXBhdGNoZXMvMjAxMi0xMS9tc2cwMDAzNS5odG1sCistbTRfZGVmaW5lKFtf
bTRfcmVxdWlyZV9jYWxsXSwKKy1bbTRfcHVzaGRlZihbX200X2RpdmVydF9ncm93XSwgbTRfZGVj
cihfbTRfZGl2ZXJ0X2dyb3cpKV1kbmwKKy1bbTRfcHVzaGRlZihbX200X2RpdmVydGluZyhbJDFd
KV0pbTRfcHVzaGRlZihbX200X2RpdmVydGluZ10sIFskMV0pXWRubAorLVttNF9kaXZlcnRfcHVz
aChfbTRfZGl2ZXJ0X2dyb3csIFstXSldZG5sCistW200X2lmKFskMl0sIFtdLCBbJDFdLCBbJDJd
KQorLW00X3Byb3ZpZGVfaWYoWyQxXSwgW200X3NldF9yZW1vdmUoW19tNF9wcm92aWRlXSwgWyQx
XSldLAorLSAgW200X2lmbmRlZihbbTRfcmVxdWlyZV9zaWxlbnRfcHJvYmVdLAorLSAgICBbbTRf
d2Fybihbc3ludGF4XSwgWyQxIGlzIG00X3JlcXVpcmUnZCBidXQgbm90IG00X2RlZnVuJ2RdKV0p
XSldZG5sCistW19tNF9kaXZlcnRfcmF3KCQzKV9tNF91bmRpdmVydChfbTRfZGl2ZXJ0X2dyb3cp
XWRubAorLVttNF9kaXZlcnRfcG9wKF9tNF9kaXZlcnRfZ3JvdylfbTRfcG9wZGVmKFtfbTRfZGl2
ZXJ0X2dyb3ddLAorLVtfbTRfZGl2ZXJ0aW5nKFskMV0pXSwgW19tNF9kaXZlcnRpbmddKV0pCist
CistCistIyBfbTRfcmVxdWlyZV9jaGVjayhOQU1FLVRPLUNIRUNLLCBPV05FUiwgQ0FMTEVSKQor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIE5B
TUUtVE8tQ0hFQ0sgaGFzIGJlZW4gaWRlbnRpZmllZCBhcyBwcmV2aW91c2x5IGV4cGFuZGVkIGlu
IHRoZQorLSMgZGl2ZXJzaW9uIG93bmVkIGJ5IE9XTkVSLiAgSWYgdGhpcyBpcyBhIHByb2JsZW0s
IHdhcm4gb24gYmVoYWxmIG9mCistIyBDQUxMRVIgYW5kIHJldHVybiBfbTRfcmVxdWlyZV9jYWxs
OyBvdGhlcndpc2UgcmV0dXJuIG00X2lnbm9yZS4KKy1tNF9kZWZpbmUoW19tNF9yZXF1aXJlX2No
ZWNrXSwKKy1bbTRfaWYoX200X2RlZm4oW19tNF9kaXZlcnRpbmddKSwgWyQyXSwgW200X2lnbm9y
ZV0sCistICAgICAgIG00X2lmZGVmKFtfbTRfZGl2ZXJ0aW5nKFskMl0pXSwgWy1dKSwgWy1dLCBb
bTRfd2Fybihbc3ludGF4XSwKKy0gICBbJDM6IGAkMScgd2FzIGV4cGFuZGVkIGJlZm9yZSBpdCB3
YXMgcmVxdWlyZWQKKy1odHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9jb25mL21hbnVh
bC9hdXRvY29uZi5odG1sI0V4cGFuZGVkLUJlZm9yZS1SZXF1aXJlZF0pX200X3JlcXVpcmVfY2Fs
bF0sCistICAgICAgIFttNF9pZ25vcmVdKV0pCistCistCistIyBfbTRfZGl2ZXJ0X2dyb3cKKy0j
IC0tLS0tLS0tLS0tLS0tLQorLSMgVGhlIGNvdW50ZXIgZm9yIF9tNF9yZXF1aXJlX2NhbGwuCist
bTRfZGVmaW5lKFtfbTRfZGl2ZXJ0X2dyb3ddLCBfbTRfZGl2ZXJ0KFtHUk9XXSkpCistCistCist
IyBtNF9leHBhbmRfb25jZShURVhULCBbV0lUTkVTUyA9IFRFWFRdKQorLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIFRFWFQgaGFzIG5ldmVyIGJlZW4gZXhw
YW5kZWQsIGV4cGFuZCBpdCAqaGVyZSouICBVc2UgV0lUTkVTUyBhcworLSMgYXMgYSBtZW1vcnkg
dGhhdCBURVhUIGhhcyBhbHJlYWR5IGJlZW4gZXhwYW5kZWQuCistbTRfZGVmaW5lKFttNF9leHBh
bmRfb25jZV0sCistW200X3Byb3ZpZGVfaWYobTRfZGVmYXVsdF9xdW90ZWQoWyQyXSwgWyQxXSks
CistCSAgICAgICBbXSwKKy0JICAgICAgIFttNF9wcm92aWRlKG00X2RlZmF1bHRfcXVvdGVkKFsk
Ml0sIFskMV0pKVtdJDFdKV0pCistCistCistIyBtNF9wcm92aWRlKE1BQ1JPLU5BTUUpCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistbTRfZGVmaW5lKFttNF9wcm92aWRlXSwKKy1bbTRfaWZk
ZWYoW200X3Byb3ZpZGUoJDEpXSwgW10sCistW200X3NldF9hZGQoW19tNF9wcm92aWRlXSwgWyQx
XSwgW200X2RlZmluZShbbTRfcHJvdmlkZSgkMSldLAorLSAgbTRfaWZkZWYoW19tNF9kaXZlcnRp
bmddLCBbX200X2RlZm4oW19tNF9kaXZlcnRpbmddKV0pKV0pXSldKQorLQorLQorLSMgbTRfcHJv
dmlkZV9pZihNQUNSTy1OQU1FLCBJRi1QUk9WSURFRCwgSUYtTk9ULVBST1ZJREVEKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
SWYgTUFDUk8tTkFNRSBpcyBwcm92aWRlZCBkbyBJRi1QUk9WSURFRCwgZWxzZSBJRi1OT1QtUFJP
VklERUQuCistIyBUaGUgcHVycG9zZSBvZiB0aGlzIG1hY3JvIGlzIHRvIHByb3ZpZGUgdGhlIHVz
ZXIgd2l0aCBhIG1lYW5zIHRvCistIyBjaGVjayBtYWNyb3Mgd2hpY2ggYXJlIHByb3ZpZGVkIHdp
dGhvdXQgbGV0dGluZyBoZXIga25vdyBob3cgdGhlCistIyBpbmZvcm1hdGlvbiBpcyBjb2RlZC4K
Ky1tNF9kZWZpbmUoW200X3Byb3ZpZGVfaWZdLAorLVttNF9pZmRlZihbbTRfcHJvdmlkZSgkMSld
LAorLQkgIFskMl0sIFskM10pXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMK
Ky0jIyAxMi4gVGV4dCBwcm9jZXNzaW5nLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKKy0KKy0KKy0jIG00X2NyX2xldHRlcnMKKy0jIG00X2NyX0xFVFRFUlMKKy0jIG00X2NyX0xl
dHRlcnMKKy0jIC0tLS0tLS0tLS0tLS0KKy1tNF9kZWZpbmUoW200X2NyX2xldHRlcnNdLCBbYWJj
ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpdKQorLW00X2RlZmluZShbbTRfY3JfTEVUVEVSU10sIFtB
QkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWl0pCistbTRfZGVmaW5lKFttNF9jcl9MZXR0ZXJzXSwK
Ky1tNF9kZWZuKFttNF9jcl9sZXR0ZXJzXSlkbmwKKy1tNF9kZWZuKFttNF9jcl9MRVRURVJTXSlk
bmwKKy0pCistCistCistIyBtNF9jcl9kaWdpdHMKKy0jIC0tLS0tLS0tLS0tLQorLW00X2RlZmlu
ZShbbTRfY3JfZGlnaXRzXSwgWzAxMjM0NTY3ODldKQorLQorLQorLSMgbTRfY3JfYWxudW0KKy0j
IC0tLS0tLS0tLS0tCistbTRfZGVmaW5lKFttNF9jcl9hbG51bV0sCistbTRfZGVmbihbbTRfY3Jf
TGV0dGVyc10pZG5sCistbTRfZGVmbihbbTRfY3JfZGlnaXRzXSlkbmwKKy0pCistCistCistIyBt
NF9jcl9zeW1ib2xzMQorLSMgbTRfY3Jfc3ltYm9sczIKKy0jIC0tLS0tLS0tLS0tLS0tCistbTRf
ZGVmaW5lKFttNF9jcl9zeW1ib2xzMV0sCistbTRfZGVmbihbbTRfY3JfTGV0dGVyc10pZG5sCist
XykKKy0KKy1tNF9kZWZpbmUoW200X2NyX3N5bWJvbHMyXSwKKy1tNF9kZWZuKFttNF9jcl9zeW1i
b2xzMV0pZG5sCistbTRfZGVmbihbbTRfY3JfZGlnaXRzXSlkbmwKKy0pCistCistIyBtNF9jcl9h
bGwKKy0jIC0tLS0tLS0tLQorLSMgVGhlIGNoYXJhY3RlciByYW5nZSByZXByZXNlbnRpbmcgZXZl
cnl0aGluZywgd2l0aCBgLScgYXMgdGhlIGxhc3QKKy0jIGNoYXJhY3Rlciwgc2luY2UgaXQgaXMg
c3BlY2lhbCB0byBtNF90cmFuc2xpdC4gIFVzZSB3aXRoIGNhcmUsIGJlY2F1c2UKKy0jIGl0IGNv
bnRhaW5zIGNoYXJhY3RlcnMgc3BlY2lhbCB0byBNNCAoZm9ydHVuYXRlbHksIGJvdGggQVNDSUkg
YW5kIEVCQ0RJQworLSMgaGF2ZSBbXSBpbiBvcmRlciwgc28gbTRfZGVmbihbbTRfY3JfYWxsXSkg
cmVtYWlucyBhIHZhbGlkIHN0cmluZykuICBJdAorLSMgYWxzbyBjb250YWlucyBjaGFyYWN0ZXJz
IHNwZWNpYWwgdG8gdGVybWluYWxzLCBzbyBpdCBzaG91bGQgbmV2ZXIgYmUKKy0jIGRpc3BsYXll
ZCBpbiBhbiBlcnJvciBtZXNzYWdlLiAgQWxzbywgYXR0ZW1wdHMgdG8gbWFwIFsgYW5kIF0gdG8g
b3RoZXIKKy0jIGNoYXJhY3RlcnMgdmlhIG00X3RyYW5zbGl0IG11c3QgZGVhbCB3aXRoIHRoZSBm
YWN0IHRoYXQgbTRfdHJhbnNsaXQgZG9lcworLSMgbm90IGFkZCBxdW90ZXMgdG8gdGhlIG91dHB1
dC4KKy0jCistIyBJbiBFQkNESUMsICQgaXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgKiwgd2hp
Y2ggbGVhZHMgdG8gcHJvYmxlbXMKKy0jIGlmIG00X2NyX2FsbCBpcyBpbmxpbmVkIGludG8gYSBt
YWNybyBkZWZpbml0aW9uOyBzbyBzd2FwIHRoZW0uCistIworLSMgSXQgaXMgbWFpbmx5IHVzZWZ1
bCBpbiBnZW5lcmF0aW5nIGludmVydGVkIGNoYXJhY3RlciByYW5nZSBtYXBzLCBmb3IgdXNlCist
IyBpbiBwbGFjZXMgd2hlcmUgbTRfdHJhbnNsaXQgaXMgZmFzdGVyIHRoYW4gYW4gZXF1aXZhbGVu
dCBtNF9icGF0c3Vic3Q7CistIyB0aGUgcmVnZXggYFteYS16XScgaXMgZXF1aXZhbGVudCB0bzoK
Ky0jICBtNF90cmFuc2xpdChtNF9kcXVvdGUobTRfZGVmbihbbTRfY3JfYWxsXSkpLCBbYS16XSkK
Ky1tNF9kZWZpbmUoW200X2NyX2FsbF0sCistbTRfdHJhbnNsaXQobTRfZHF1b3RlKG00X2Zvcm1h
dChtNF9kcXVvdGUobTRfZm9yKAorLSAgLDEsMjU1LCxbWyVjXV0pKW00X2ZvcihbaV0sMSwyNTUs
LFssaV0pKSksIFskKi1dLCBbKiRdKS0pCistCistCistIyBfbTRfZGVmaW5lX2NyX25vdChDQVRF
R09SWSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVmaW5lIG00X2NyX25v
dF9DQVRFR09SWSBhcyB0aGUgaW52ZXJzZSBvZiBtNF9jcl9DQVRFR09SWS4KKy1tNF9kZWZpbmUo
W19tNF9kZWZpbmVfY3Jfbm90XSwKKy1bbTRfZGVmaW5lKFttNF9jcl9ub3RfJDFdLAorLQkgICBt
NF90cmFuc2xpdChtNF9kcXVvdGUobTRfZGVmbihbbTRfY3JfYWxsXSkpLAorLQkJICAgICAgIG00
X2RlZm4oW200X2NyXyQxXSkpKV0pCistCistCistIyBtNF9jcl9ub3RfbGV0dGVycworLSMgbTRf
Y3Jfbm90X0xFVFRFUlMKKy0jIG00X2NyX25vdF9MZXR0ZXJzCistIyBtNF9jcl9ub3RfZGlnaXRz
CistIyBtNF9jcl9ub3RfYWxudW0KKy0jIG00X2NyX25vdF9zeW1ib2xzMQorLSMgbTRfY3Jfbm90
X3N5bWJvbHMyCistIyAtLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEludmVyc2UgY2hhcmFjdGVyIHNl
dHMKKy1fbTRfZGVmaW5lX2NyX25vdChbbGV0dGVyc10pCistX200X2RlZmluZV9jcl9ub3QoW0xF
VFRFUlNdKQorLV9tNF9kZWZpbmVfY3Jfbm90KFtMZXR0ZXJzXSkKKy1fbTRfZGVmaW5lX2NyX25v
dChbZGlnaXRzXSkKKy1fbTRfZGVmaW5lX2NyX25vdChbYWxudW1dKQorLV9tNF9kZWZpbmVfY3Jf
bm90KFtzeW1ib2xzMV0pCistX200X2RlZmluZV9jcl9ub3QoW3N5bWJvbHMyXSkKKy0KKy0KKy0j
IG00X25ld2xpbmUoW1NUUklOR10pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5k
cyB0byBhIG5ld2xpbmUsIHBvc3NpYmx5IGZvbGxvd2VkIGJ5IFNUUklORy4gIEV4aXN0cyBtb3N0
bHkgZm9yCistIyBmb3JtYXR0aW5nIHJlYXNvbnMuCistbTRfZGVmaW5lKFttNF9uZXdsaW5lXSwg
WworLSQxXSkKKy0KKy0KKy0jIG00X3JlX2VzY2FwZShTVFJJTkcpCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLQorLSMgRXNjYXBlIFJFIGFjdGl2ZSBjaGFyYWN0ZXJzIGluIFNUUklORy4KKy1tNF9k
ZWZpbmUoW200X3JlX2VzY2FwZV0sCistW200X2JwYXRzdWJzdChbJDFdLAorLQkgICAgICBbW11b
KisuP1xeJF1dLCBbXFxcJl0pXSkKKy0KKy0KKy0jIG00X3JlX3N0cmluZworLSMgLS0tLS0tLS0t
LS0tCistIyBSZWdleHAgZm9yIGBbYS16QS1aXzAtOV0qJworLSMgbTRfZHF1b3RlIHByb3ZpZGVz
IGxpdGVyYWwgW10gZm9yIHRoZSBjaGFyYWN0ZXIgY2xhc3MuCistbTRfZGVmaW5lKFttNF9yZV9z
dHJpbmddLAorLW00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9zeW1ib2xzMl0pKWRubAorLVsqXWRu
bAorLSkKKy0KKy0KKy0jIG00X3JlX3dvcmQKKy0jIC0tLS0tLS0tLS0KKy0jIFJlZ2V4cCBmb3Ig
YFthLXpBLVpfXVthLXpBLVpfMC05XSonCistbTRfZGVmaW5lKFttNF9yZV93b3JkXSwKKy1tNF9k
cXVvdGUobTRfZGVmbihbbTRfY3Jfc3ltYm9sczFdKSlkbmwKKy1tNF9kZWZuKFttNF9yZV9zdHJp
bmddKWRubAorLSkKKy0KKy0KKy0jIG00X3RvbG93ZXIoU1RSSU5HKQorLSMgbTRfdG91cHBlcihT
VFJJTkcpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFRoZXNlIG1hY3JvcyBjb252ZXJ0IFNU
UklORyB0byBsb3dlcmNhc2Ugb3IgdXBwZXJjYXNlLgorLSMKKy0jIFJhdGhlciB0aGFuIGV4cGFu
ZCB0aGUgbTRfZGVmbiBlYWNoIHRpbWUsIHdlIGlubGluZSB0aGVtIHVwIGZyb250LgorLW00X2Rl
ZmluZShbbTRfdG9sb3dlcl0sCistW200X3RyYW5zbGl0KFtbJDFdXSwgXW00X2RxdW90ZShtNF9k
ZWZuKFttNF9jcl9MRVRURVJTXSkpWywKKy0JCSAgICAgXW00X2RxdW90ZShtNF9kZWZuKFttNF9j
cl9sZXR0ZXJzXSkpWyldKQorLW00X2RlZmluZShbbTRfdG91cHBlcl0sCistW200X3RyYW5zbGl0
KFtbJDFdXSwgXW00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9sZXR0ZXJzXSkpWywKKy0JCSAgICAg
XW00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9MRVRURVJTXSkpWyldKQorLQorLQorLSMgbTRfc3Bs
aXQoU1RSSU5HLCBbUkVHRVhQXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBT
cGxpdCBTVFJJTkcgaW50byBhbiBtNCBsaXN0IG9mIHF1b3RlZCBlbGVtZW50cy4gIFRoZSBlbGVt
ZW50cyBhcmUKKy0jIHF1b3RlZCB3aXRoIFsgYW5kIF0uICBCZWdpbm5pbmcgc3BhY2VzIGFuZCBl
bmQgc3BhY2VzICphcmUga2VwdCouCistIyBVc2UgbTRfc3RyaXAgdG8gcmVtb3ZlIHRoZW0uCist
IworLSMgUkVHRVhQIHNwZWNpZmllcyB3aGVyZSB0byBzcGxpdC4gIERlZmF1bHQgaXMgW1x0IF0r
LgorLSMKKy0jIElmIFNUUklORyBpcyBlbXB0eSwgdGhlIHJlc3VsdCBpcyBhbiBlbXB0eSBsaXN0
LgorLSMKKy0jIFBheSBhdHRlbnRpb24gdG8gdGhlIG00X2NoYW5nZXF1b3Rlcy4gIFdoZW4gbTQg
cmVhZHMgdGhlIGRlZmluaXRpb24gb2YKKy0jIG00X3NwbGl0LCBpdCBzdGlsbCBoYXMgcXVvdGVz
IHNldCB0byBbIGFuZCBdLiAgTHVja2lseSwgdGhlc2UgYXJlIG1hdGNoZWQKKy0jIGluIHRoZSBt
YWNybyBib2R5LCBzbyB0aGUgZGVmaW5pdGlvbiBpcyBzdG9yZWQgY29ycmVjdGx5LiAgVXNlIHRo
ZSBzYW1lCistIyBhbHRlcm5hdGUgcXVvdGVzIGFzIG00X25vcXVvdGU7IGl0IG11c3QgYmUgdW5s
aWtlbHkgdG8gYXBwZWFyIGluICQxLgorLSMKKy0jIEFsc28sIG5vdGljZSB0aGF0ICQxIGlzIHF1
b3RlZCB0d2ljZSwgc2luY2Ugd2Ugd2FudCB0aGUgcmVzdWx0IHRvCistIyBiZSBxdW90ZWQuICBU
aGVuIHlvdSBzaG91bGQgdW5kZXJzdGFuZCB0aGF0IHRoZSBhcmd1bWVudCBvZgorLSMgcGF0c3Vi
c3QgaXMgLT08eyhTVFJJTkcpfT49LSAoaS5lLiwgd2l0aCBhZGRpdGlvbmFsIC09PHsoIGFuZCAp
fT49LSkuCistIworLSMgVGhpcyBtYWNybyBpcyBzYWZlIG9uIGFjdGl2ZSBzeW1ib2xzLCBpLmUu
OgorLSMgICBtNF9kZWZpbmUoYWN0aXZlLCBBQ1RJVkUpCistIyAgIG00X3NwbGl0KFthY3RpdmUg
YWN0aXZlIF0pZW5kCistIyAgID0+IFthY3RpdmVdLCBbYWN0aXZlXSwgW11lbmQKKy0jCistIyBP
cHRpbWl6ZSBvbiByZWdleCBvZiBgICcgKHNwYWNlKSwgc2luY2UgbTRfZm9yZWFjaF93IGFscmVh
ZHkgZ3VhcmFudGVlcworLSMgdGhhdCB0aGUgbGlzdCBjb250YWlucyBzaW5nbGUgc3BhY2Ugc2Vw
YXJhdG9ycywgYW5kIGEgY29tbW9uIGNhc2UgaXMKKy0jIHNwbGl0dGluZyBhIHNpbmdsZS1lbGVt
ZW50IGxpc3QuICBUaGlzIG1hY3JvIGlzIGNhbGxlZCBmcmVxdWVudGx5LAorLSMgc28gYXZvaWQg
dW5uZWNlc3NhcnkgZG5sIGluc2lkZSB0aGUgZGVmaW5pdGlvbi4KKy1tNF9kZWZpbmUoW200X3Nw
bGl0XSwKKy1bbTRfaWYoWyQxXSwgW10sIFtdLAorLSAgICAgICBbJDJdLCBbIF0sIFttNF9pZiht
NF9pbmRleChbJDFdLCBbIF0pLCBbLTFdLCBbW1skMV1dXSwKKy0JCQkgW18kMChbJDFdLCBbJDJd
LCBbLCBdKV0pXSwKKy0gICAgICAgWyQyXSwgW10sIFtfJDAoWyQxXSwgW1sJIF0rXSwgWywgXSld
LAorLSAgICAgICBbXyQwKFskMV0sIFskMl0sIFssIF0pXSldKQorLQorLW00X2RlZmluZShbX200
X3NwbGl0XSwKKy1bbTRfY2hhbmdlcXVvdGUoWy09PHsoXSxbKX0+PS1dKV1kbmwKKy1bW200X2Jw
YXRzdWJzdCgtPTx7KC09PHsoJDEpfT49LSl9Pj0tLCAtPTx7KCQyKX0+PS0sCistCSAgICAgICAt
PTx7KF0kM1spfT49LSldbTRfY2hhbmdlcXVvdGUoWywgXSldKQorLQorLQorLSMgbTRfY2hvbXAo
U1RSSU5HKQorLSMgbTRfY2hvbXBfYWxsKFNUUklORykKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
CistIyBSZXR1cm4gU1RSSU5HIHF1b3RlZCwgYnV0IHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5l
LiAgbTRfY2hvbXAKKy0jIHJlbW92ZXMgYXQgbW9zdCBvbmUgbmV3bGluZSwgd2hpbGUgbTRfY2hv
bXBfYWxsIHJlbW92ZXMgYWxsCistIyBjb25zZWN1dGl2ZSB0cmFpbGluZyBuZXdsaW5lcy4gIEVt
YmVkZGVkIG5ld2xpbmVzIGFyZSBub3QgdG91Y2hlZCwKKy0jIGFuZCBhIHRyYWlsaW5nIGJhY2tz
bGFzaC1uZXdsaW5lIGxlYXZlcyBqdXN0IGEgdHJhaWxpbmcgYmFja3NsYXNoLgorLSMKKy0jIG00
X2JyZWdleHAgaXMgc2xvd2VyIHRoYW4gbTRfaW5kZXgsIGFuZCB3ZSBkb24ndCBhbHdheXMgd2Fu
dCB0bworLSMgcmVtb3ZlIGFsbCBuZXdsaW5lczsgaGVuY2UgdGhlIHR3byB2YXJpYW50cy4gIFdl
IG1hc3NhZ2UgY2hhcmFjdGVycworLSMgdG8gZ2l2ZSBhIG5pY2VyIHBhdHRlcm4gdG8gbWF0Y2gs
IHBhcnRpY3VsYXJseSBzaW5jZSBtNF9icmVnZXhwIGlzCistIyBsaW5lLW9yaWVudGVkLiAgQm90
aCB2ZXJzaW9ucyBtdXN0IGd1YXJhbnRlZSBhIG1hdGNoLCB0byBhdm9pZCBidWdzCistIyB3aXRo
IHByZWNpc2lvbiAtMSBpbiBtNF9mb3JtYXQgaW4gb2xkZXIgbTQuCistbTRfZGVmaW5lKFttNF9j
aG9tcF0sCistW200X2Zvcm1hdChbWyUuKnNdXSwgbTRfaW5kZXgobTRfdHJhbnNsaXQoW1skMV1d
LCBbCistLy5dLCBbLyAgXSlbLi8uXSwgWy8uXSksIFskMV0pXSkKKy0KKy1tNF9kZWZpbmUoW200
X2Nob21wX2FsbF0sCistW200X2Zvcm1hdChbWyUuKnNdXSwgbTRfYnJlZ2V4cChtNF90cmFuc2xp
dChbWyQxXV0sIFsKKy0vXSwgWy8gXSksIFsvKiRdKSwgWyQxXSldKQorLQorLQorLSMgbTRfZmxh
dHRlbihTVFJJTkcpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIFNUUklORyBjb250YWlu
cyBlbmQgb2YgbGluZXMsIHJlcGxhY2UgdGhlbSB3aXRoIHNwYWNlcy4gIElmIHRoZXJlCistIyBh
cmUgYmFja3NsYXNoZWQgZW5kIG9mIGxpbmVzLCByZW1vdmUgdGhlbS4gIFRoaXMgbWFjcm8gaXMg
c2FmZSB3aXRoCistIyBhY3RpdmUgc3ltYm9scy4KKy0jICAgIG00X2RlZmluZShhY3RpdmUsIEFD
VElWRSkKKy0jICAgIG00X2ZsYXR0ZW4oW2FjdGl2ZQorLSMgICAgYWN0XAorLSMgICAgaXZlXSll
bmQKKy0jICAgID0+IGFjdGl2ZSBhY3RpdmVlbmQKKy0jCistIyBJbiBtNCwgbTRfYnBhdHN1YnN0
IGlzIGV4cGVuc2l2ZSwgc28gZmlyc3QgY2hlY2sgZm9yIGEgbmV3bGluZS4KKy1tNF9kZWZpbmUo
W200X2ZsYXR0ZW5dLAorLVttNF9pZihtNF9pbmRleChbJDFdLCBbCistXSksIFstMV0sIFtbJDFd
XSwKKy0gICAgICAgW200X3RyYW5zbGl0KG00X2JwYXRzdWJzdChbW1skMV1dXSwgW1xcCistXSks
IFsKKy1dLCBbIF0pXSldKQorLQorLQorLSMgbTRfc3RyaXAoU1RSSU5HKQorLSMgLS0tLS0tLS0t
LS0tLS0tLQorLSMgRXhwYW5kcyBpbnRvIFNUUklORyB3aXRoIHRhYnMgYW5kIHNwYWNlcyBzaW5n
bGVkIG91dCBpbnRvIGEgc2luZ2xlCistIyBzcGFjZSwgYW5kIHJlbW92aW5nIGxlYWRpbmcgYW5k
IHRyYWlsaW5nIHNwYWNlcy4KKy0jCistIyBUaGlzIG1hY3JvIGlzIHJvYnVzdCB0byBhY3RpdmUg
c3ltYm9scy4KKy0jICAgIG00X2RlZmluZShhY3RpdmUsIEFDVElWRSkKKy0jICAgIG00X3N0cmlw
KFsgIGFjdGl2ZSA8dGFiPiA8dGFiPmFjdGl2ZSBdKWVuZAorLSMgICAgPT4gYWN0aXZlIGFjdGl2
ZWVuZAorLSMKKy0jIEZpcnN0LCBub3RpY2UgdGhhdCB3ZSBndWFyYW50ZWUgdHJhaWxpbmcgc3Bh
Y2UuICBXaHk/ICBCZWNhdXNlIHJlZ3VsYXIKKy0jIGV4cHJlc3Npb25zIGFyZSBncmVlZHksIGFu
ZCBgLiogPycgd291bGQgYWx3YXlzIGdyb3VwIHRoZSBzcGFjZSBpbnRvIHRoZQorLSMgLiogcG9y
dGlvbi4gIFRoZSBhbGdvcml0aG0gaXMgc2ltcGxlciBieSBhdm9pZGluZyBgPycgYXQgdGhlIGVu
ZC4gIFRoZQorLSMgYWxnb3JpdGhtIGNvcnJlY3RseSBzdHJpcHMgZXZlcnl0aGluZyBpZiBTVFJJ
TkcgaXMganVzdCBgICcuCistIworLSMgVGhlbiBub3RpY2UgdGhlIHNlY29uZCBwYXR0ZXJuOiBp
dCBpcyBpbiBjaGFyZ2Ugb2YgcmVtb3ZpbmcgdGhlCistIyBsZWFkaW5nL3RyYWlsaW5nIHNwYWNl
cy4gIFdoeSBub3QganVzdCBgW14gXSc/ICBCZWNhdXNlIHRoZXkgYXJlCistIyBhcHBsaWVkIHRv
IG92ZXItcXVvdGVkIHN0cmluZ3MsIGkuZS4gbW9yZSBvciBsZXNzIFtTVFJJTkddLCBkdWUKKy0j
IHRvIHRoZSBsaW1pdGF0aW9ucyBvZiBtNF9icGF0c3Vic3RzLiAgU28gdGhlIGxlYWRpbmcgc3Bh
Y2UgaW4gU1RSSU5HCistIyBpcyB0aGUgKnNlY29uZCogY2hhcmFjdGVyOyBlcXVhbGx5IGZvciB0
aGUgdHJhaWxpbmcgc3BhY2UuCistbTRfZGVmaW5lKFttNF9zdHJpcF0sCistW200X2JwYXRzdWJz
dHMoWyQxIF0sCistCSAgICAgICBbWwkgXStdLCBbIF0sCistCSAgICAgICBbXi4gP1woLipcKSAu
JF0sIFtbW1wxXV1dKV0pCistCistCistIyBtNF9ub3JtYWxpemUoU1RSSU5HKQorLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIEFwcGx5IG00X2ZsYXR0ZW4gYW5kIG00X3N0cmlwIHRvIFNUUklO
Ry4KKy0jCistIyBUaGUgYXJndW1lbnQgaXMgcXVvdGVkLCBzbyB0aGF0IHRoZSBtYWNybyBpcyBy
b2J1c3QgdG8gYWN0aXZlIHN5bWJvbHM6CistIworLSMgICAgbTRfZGVmaW5lKGFjdGl2ZSwgQUNU
SVZFKQorLSMgICAgbTRfbm9ybWFsaXplKFsgIGFjdFwKKy0jICAgIGl2ZQorLSMgICAgYWN0aXZl
IF0pZW5kCistIyAgICA9PiBhY3RpdmUgYWN0aXZlZW5kCistCistbTRfZGVmaW5lKFttNF9ub3Jt
YWxpemVdLAorLVttNF9zdHJpcChtNF9mbGF0dGVuKFskMV0pKV0pCistCistCistCistIyBtNF9q
b2luKFNFUCwgQVJHMSwgQVJHMi4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgUHJvZHVjZSBBUkcxU0VQQVJHMi4uLlNFUEFSR24uICBBdm9pZCBiYWNrLXRvLWJhY2sgU0VQ
IHdoZW4gYSBnaXZlbiBBUkcKKy0jIGlzIHRoZSBlbXB0eSBzdHJpbmcuICBObyBleHBhbnNpb24g
aXMgcGVyZm9ybWVkIG9uIFNFUCBvciBBUkdzLgorLSMKKy0jIFNpbmNlIHRoZSBudW1iZXIgb2Yg
YXJndW1lbnRzIHRvIGpvaW4gY2FuIGJlIGFyYml0cmFyaWx5IGxvbmcsIHdlCistIyB3YW50IHRv
IGF2b2lkIGhhdmluZyBtb3JlIHRoYW4gb25lICRAIGluIHRoZSBtYWNybyBkZWZpbml0aW9uOwor
LSMgb3RoZXJ3aXNlLCB0aGUgZXhwYW5zaW9uIHdvdWxkIHJlcXVpcmUgdHdpY2UgdGhlIG1lbW9y
eSBvZiB0aGUgYWxyZWFkeQorLSMgbG9uZyBsaXN0LiAgSGVuY2UsIG00X2pvaW4gbWVyZWx5IGxv
b2tzIGZvciB0aGUgZmlyc3Qgbm9uLWVtcHR5IGVsZW1lbnQsCistIyBhbmQgb3V0cHV0cyBqdXN0
IHRoYXQgZWxlbWVudDsgd2hpbGUgX200X2pvaW4gbG9va3MgZm9yIGFsbCBub24tZW1wdHkKKy0j
IGVsZW1lbnRzLCBhbmQgb3V0cHV0cyB0aGVtIGZvbGxvd2luZyBhIHNlcGFyYXRvci4gIFRoZSBm
aW5hbCB0cmljayB0bworLSMgbm90ZSBpcyB0aGF0IHdlIGRlY2lkZSBiZXR3ZWVuIHJlY3Vyc2lu
ZyB3aXRoICQwIG9yIF8kMCBiYXNlZCBvbiB0aGUKKy0jIG5lc3RlZCBtNF9pZiBlbmRpbmcgd2l0
aCBgXycuCistIworLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFk
anVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9kZWZpbmUoW200X2pvaW5dLAorLVttNF9pZihbJCNd
LCBbMV0sIFtdLAorLSAgICAgICBbJCNdLCBbMl0sIFtbJDJdXSwKKy0gICAgICAgW200X2lmKFsk
Ml0sIFtdLCBbXSwgW1skMl1fXSkkMChbJDFdLCBtNF9zaGlmdDIoJEApKV0pXSkKKy1tNF9kZWZp
bmUoW19tNF9qb2luXSwKKy1bbTRfaWYoWyQjJDJdLCBbMl0sIFtdLAorLSAgICAgICBbbTRfaWYo
WyQyXSwgW10sIFtdLCBbWyQxJDJdXSkkMChbJDFdLCBtNF9zaGlmdDIoJEApKV0pXSkKKy0KKy0j
IG00X2pvaW5hbGwoU0VQLCBBUkcxLCBBUkcyLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBQcm9kdWNlIEFSRzFTRVBBUkcyLi4uU0VQQVJHbi4gIEFuIGVtcHR5IEFS
RyByZXN1bHRzIGluIGJhY2stdG8tYmFjayBTRVAuCistIyBObyBleHBhbnNpb24gaXMgcGVyZm9y
bWVkIG9uIFNFUCBvciBBUkdzLgorLSMKKy0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3lu
YyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCistbTRfZGVmaW5lKFttNF9qb2luYWxs
XSwgW1skMl1fJDAoWyQxXSwgbTRfc2hpZnQoJEApKV0pCistbTRfZGVmaW5lKFtfbTRfam9pbmFs
bF0sCistW200X2lmKFskI10sIFsyXSwgW10sIFtbJDEkM10kMChbJDFdLCBtNF9zaGlmdDIoJEAp
KV0pXSkKKy0KKy0jIG00X2NvbWJpbmUoW1NFUEFSQVRPUl0sIFBSRUZJWC1MSVNULCBbSU5GSVhd
LCBTVUZGSVguLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgUHJvZHVjZSB0aGUgcGFpcndpc2UgY29tYmluYXRpb24gb2Yg
ZXZlcnkgZWxlbWVudCBpbiB0aGUgcXVvdGVkLAorLSMgY29tbWEtc2VwYXJhdGVkIFBSRUZJWC1M
SVNUIHdpdGggZXZlcnkgZWxlbWVudCBmcm9tIHRoZSBTVUZGSVggYXJndW1lbnRzLgorLSMgRWFj
aCBwYWlyIGlzIGpvaW5lZCB3aXRoIElORklYLCBhbmQgcGFpcnMgYXJlIHNlcGFyYXRlZCBieSBT
RVBBUkFUT1IuCistIyBObyBleHBhbnNpb24gb2NjdXJzIG9uIFNFUEFSQVRPUiwgSU5GSVgsIG9y
IGVsZW1lbnRzIG9mIGVpdGhlciBsaXN0LgorLSMKKy0jIEZvciBleGFtcGxlOgorLSMgICBtNF9j
b21iaW5lKFssIF0sIFtbYV0sIFtiXSwgW2NdXSwgWy1dLCBbMV0sIFsyXSwgWzNdKQorLSMgICA9
PiBhLTEsIGEtMiwgYS0zLCBiLTEsIGItMiwgYi0zLCBjLTEsIGMtMiwgYy0zCistIworLSMgVGhp
cyBkZWZpbml0aW9uIGlzIGEgYml0IGhhaXJ5OyB0aGUgdGhpbmcgdG8gcmVhbGl6ZSBpcyB0aGF0
IHdlIHdhbnQKKy0jIHRvIGNvbnN0cnVjdCBtNF9tYXBfYXJnc19zZXAoW1twcmVmaXgkM11dLCBb
XSwgW1skMV1dLCBtNF9zaGlmdDMoJEApKQorLSMgYXMgdGhlIGlubmVyIGxvb3AsIHVzaW5nIGVh
Y2ggcHJlZml4IGdlbmVyYXRlZCBieSB0aGUgb3V0ZXIgbG9vcCwKKy0jIGFuZCB3aXRob3V0IHJl
Y2FsY3VsYXRpbmcgbTRfc2hpZnQzIGV2ZXJ5IG91dGVyIGl0ZXJhdGlvbi4KKy1tNF9kZWZpbmUo
W200X2NvbWJpbmVdLAorLVttNF9pZihbJDJdLCBbXSwgW10sIG00X2V2YWwoWyQjID4gM10pLCBb
MV0sCistW200X21hcF9hcmdzX3NlcChbbTRfbWFwX2FyZ3Nfc2VwKG00X2RxdW90ZShdLCBbKVtb
JDNdXSwgW10sIFtbJDFdXSxdXV1kbmwKKy1bbTRfZHF1b3RlKG00X2RxdW90ZShtNF9zaGlmdDMo
JEApKSlbWyldLCBbWyQxXV0sICQyKV0pXSkKKy0KKy0KKy0jIG00X2FwcGVuZChNQUNSTy1OQU1F
LCBTVFJJTkcsIFtTRVBBUkFUT1JdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBSZWRlZmluZSBNQUNSTy1OQU1FIHRvIGhvbGQgaXRzIGZvcm1lciBj
b250ZW50IHBsdXMgYFNFUEFSQVRPUmAnU1RSSU5HJworLSMgYXQgdGhlIGVuZC4gIEl0IGlzIHZh
bGlkIHRvIHVzZSB0aGlzIG1hY3JvIHdpdGggTUFDUk8tTkFNRSB1bmRlZmluZWQsCistIyBpbiB3
aGljaCBjYXNlIG5vIFNFUEFSQVRPUiBpcyBhZGRlZC4gIEJlIGF3YXJlIHRoYXQgdGhlIGNyaXRl
cmlvbiBpcworLSMgYG5vdCBiZWluZyBkZWZpbmVkJywgYW5kIG5vdCBgbm90IGJlaW5nIGVtcHR5
Jy4KKy0jCistIyBOb3RlIHRoYXQgbmVpdGhlciBTVFJJTkcgbm9yIFNFUEFSQVRPUiBhcmUgZXhw
YW5kZWQgaGVyZTsgcmF0aGVyLCB3aGVuCistIyB5b3UgZXhwYW5kIE1BQ1JPLU5BTUUsIHRoZXkg
d2lsbCBiZSBleHBhbmRlZCBhdCB0aGF0IHBvaW50IGluIHRpbWUuCistIworLSMgVGhpcyBtYWNy
byBpcyByb2J1c3QgdG8gYWN0aXZlIHN5bWJvbHMuICBJdCBjYW4gYmUgdXNlZCB0byBncm93Cist
IyBzdHJpbmdzLgorLSMKKy0jICAgIHwgbTRfZGVmaW5lKGFjdGl2ZSwgQUNUSVZFKWRubAorLSMg
ICAgfCBtNF9hcHBlbmQoW3NlbnRlbmNlXSwgW1RoaXMgaXMgYW5dKWRubAorLSMgICAgfCBtNF9h
cHBlbmQoW3NlbnRlbmNlXSwgWyBhY3RpdmUgXSlkbmwKKy0jICAgIHwgbTRfYXBwZW5kKFtzZW50
ZW5jZV0sIFtzeW1ib2wuXSlkbmwKKy0jICAgIHwgc2VudGVuY2UKKy0jICAgIHwgbTRfdW5kZWZp
bmUoW2FjdGl2ZV0pZG5sCistIyAgICB8IHNlbnRlbmNlCistIyAgICA9PiBUaGlzIGlzIGFuIEFD
VElWRSBzeW1ib2wuCistIyAgICA9PiBUaGlzIGlzIGFuIGFjdGl2ZSBzeW1ib2wuCistIworLSMg
SXQgY2FuIGJlIHVzZWQgdG8gZGVmaW5lIGhvb2tzLgorLSMKKy0jICAgIHwgbTRfZGVmaW5lKGFj
dGl2ZSwgQUNUSVZFKWRubAorLSMgICAgfCBtNF9hcHBlbmQoW2hvb2tzXSwgW200X2RlZmluZShb
YWN0MV0sIFthY3QyXSldKWRubAorLSMgICAgfCBtNF9hcHBlbmQoW2hvb2tzXSwgW200X2RlZmlu
ZShbYWN0Ml0sIFthY3RpdmVdKV0pZG5sCistIyAgICB8IG00X3VuZGVmaW5lKFthY3RpdmVdKWRu
bAorLSMgICAgfCBhY3QxCistIyAgICB8IGhvb2tzCistIyAgICB8IGFjdDEKKy0jICAgID0+IGFj
dDEKKy0jICAgID0+CistIyAgICA9PiBhY3RpdmUKKy0jCistIyBJdCBjYW4gYWxzbyBiZSB1c2Vk
IHRvIGNyZWF0ZSBsaXN0cywgYWx0aG91Z2ggdGhpcyBwYXJ0aWN1bGFyIHVzYWdlIHdhcworLSMg
YnJva2VuIHByaW9yIHRvIGF1dG9jb25mIDIuNjIuCistIyAgICB8IG00X2FwcGVuZChbbGlzdF0s
IFtvbmVdLCBbLCBdKWRubAorLSMgICAgfCBtNF9hcHBlbmQoW2xpc3RdLCBbdHdvXSwgWywgXSlk
bmwKKy0jICAgIHwgbTRfYXBwZW5kKFtsaXN0XSwgW3RocmVlXSwgWywgXSlkbmwKKy0jICAgIHwg
bGlzdAorLSMgICAgfCBtNF9kcXVvdGUobGlzdCkKKy0jICAgID0+IG9uZSwgdHdvLCB0aHJlZQor
LSMgICAgPT4gW29uZV0sW3R3b10sW3RocmVlXQorLSMKKy0jIE5vdGUgdGhhdCBtNF9hcHBlbmQg
Y2FuIGJlbmVmaXQgZnJvbSBhbW9ydGl6ZWQgTyhuKSBtNCBiZWhhdmlvciwgaWYKKy0jIHRoZSB1
bmRlcmx5aW5nIG00IGltcGxlbWVudGF0aW9uIGlzIHNtYXJ0IGVub3VnaCB0byBhdm9pZCBjb3B5
aW5nIGV4aXN0aW5nCistIyBjb250ZW50cyB3aGVuIGVubGFyZ2luZyBhIG1hY3JvJ3MgZGVmaW5p
dGlvbiBpbnRvIGFueSBwcmUtYWxsb2NhdGVkIHN0b3JhZ2UKKy0jIChtNCAxLjQueCB1bmZvcnR1
bmF0ZWx5IGRvZXMgbm90IGltcGxlbWVudCB0aGlzIG9wdGltaXphdGlvbikuICBXZSBkbworLSMg
bm90IGltcGxlbWVudCBtNF9wcmVwZW5kLCBzaW5jZSBpdCBpcyBpbmhlcmVudGx5IE8obl4yKSAo
cHJlLWFsbG9jYXRlZAorLSMgc3RvcmFnZSBvbmx5IG9jY3VycyBhdCB0aGUgZW5kIG9mIGEgbWFj
cm8sIHNvIHRoZSBleGlzdGluZyBjb250ZW50cyBtdXN0CistIyBhbHdheXMgYmUgbW92ZWQpLgor
LSMKKy0jIFVzZSBfbTRfZGVmbiBmb3Igc3BlZWQuCistbTRfZGVmaW5lKFttNF9hcHBlbmRdLAor
LVttNF9kZWZpbmUoWyQxXSwgbTRfaWZkZWYoWyQxXSwgW19tNF9kZWZuKFskMV0pWyQzXV0pWyQy
XSldKQorLQorLQorLSMgbTRfYXBwZW5kX3VuaXEoTUFDUk8tTkFNRSwgU1RSSU5HLCBbU0VQQVJB
VE9SXSwgW0lGLVVOSVFdLCBbSUYtRFVQXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIGBtNF9h
cHBlbmQnLCBidXQgYXBwZW5kIG9ubHkgaWYgbm90IHlldCBwcmVzZW50LiAgQWRkaXRpb25hbGx5
LAorLSMgZXhwYW5kIElGLVVOSVEgaWYgU1RSSU5HIHdhcyBhcHBlbmRlZCwgb3IgSUYtRFVQIGlm
IFNUUklORyB3YXMgYWxyZWFkeQorLSMgcHJlc2VudC4gIEFsc28sIHdhcm4gaWYgU0VQQVJBVE9S
IGlzIG5vdCBlbXB0eSBhbmQgb2NjdXJzIHdpdGhpbiBTVFJJTkcsCistIyBhcyB0aGUgYWxnb3Jp
dGhtIG5vIGxvbmdlciBndWFyYW50ZWVzIHVuaXF1ZW5lc3MuCistIworLSMgTm90ZSB0aGF0IHdo
aWxlIG00X2FwcGVuZCBjYW4gYmUgTyhuKSAoZGVwZW5kaW5nIG9uIHRoZSBxdWFsaXR5IG9mIHRo
ZQorLSMgdW5kZXJseWluZyBNNCBpbXBsZW1lbnRhdGlvbiksIG00X2FwcGVuZF91bmlxIGlzIGlu
aGVyZW50bHkgTyhuXjIpCistIyBiZWNhdXNlIGVhY2ggYXBwZW5kIG9wZXJhdGlvbiBzZWFyY2hl
cyB0aGUgZW50aXJlIHN0cmluZy4KKy1tNF9kZWZpbmUoW200X2FwcGVuZF91bmlxXSwKKy1bbTRf
aWZ2YWwoWyQzXSwgW200X2lmKG00X2luZGV4KFskMl0sIFskM10pLCBbLTFdLCBbXSwKKy0JCSAg
ICAgICBbbTRfd2Fybihbc3ludGF4XSwKKy0JCQkJWyQwOiBgJDInIGNvbnRhaW5zIGAkMyddKV0p
XSlfJDAoJEApXSkKKy1tNF9kZWZpbmUoW19tNF9hcHBlbmRfdW5pcV0sCistW200X2lmZGVmKFsk
MV0sCistCSAgW200X2lmKG00X2luZGV4KFskM11fbTRfZGVmbihbJDFdKVskM10sIFskMyQyJDNd
KSwgWy0xXSwKKy0JCSBbbTRfYXBwZW5kKFskMV0sIFskMl0sIFskM10pJDRdLCBbJDVdKV0sCist
CSAgW200X2RlZmluZShbJDFdLCBbJDJdKSQ0XSldKQorLQorLSMgbTRfYXBwZW5kX3VuaXFfdyhN
QUNSTy1OQU1FLCBTVFJJTkdTKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgRm9yIGVhY2ggb2YgdGhlIHdvcmRzIGluIHRoZSB3aGl0ZXNwYWNlIHNlcGFyYXRl
ZCBsaXN0IFNUUklOR1MsIGFwcGVuZAorLSMgb25seSB0aGUgdW5pcXVlIHN0cmluZ3MgdG8gdGhl
IGRlZmluaXRpb24gb2YgTUFDUk8tTkFNRS4KKy0jCistIyBVc2UgX200X2RlZm4gZm9yIHNwZWVk
LgorLW00X2RlZmluZShbbTRfYXBwZW5kX3VuaXFfd10sCistW200X21hcF9hcmdzX3coWyQyXSwg
W19tNF9hcHBlbmRfdW5pcShbJDFdLF0sIFssIFsgXSldKV0pCistCistCistIyBtNF9lc2NhcGUo
U1RSSU5HKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0KKy0jIE91dHB1dCBxdW90ZWQgU1RSSU5HLCBi
dXQgd2l0aCBlbWJlZGRlZCAjLCAkLCBbIGFuZCBdIHR1cm5lZCBpbnRvCistIyBxdWFkcmlncmFw
aHMuCistIworLSMgSXQgaXMgZmFzdGVyIHRvIGNoZWNrIGlmIFNUUklORyBpcyBhbHJlYWR5IGdv
b2QgdXNpbmcgbTRfdHJhbnNsaXQKKy0jIHRoYW4gdG8gYmxpbmRseSBwZXJmb3JtIGZvdXIgbTRf
YnBhdHN1YnN0LgorLSMKKy0jIEJlY2F1c2UgdGhlIHRyYW5zbGl0IGlzIHN0cmlwcGluZyBxdW90
ZXMsIGl0IG11c3QgYWxzbyBuZXV0cmFsaXplCistIyBhbnl0aGluZyB0aGF0IG1pZ2h0IGJlIGlu
IGEgbWFjcm8gbmFtZSwgYXMgd2VsbCBhcyBjb21tZW50cywgY29tbWFzLAorLSMgYW5kIHBhcmVu
dGhlc2VzLiAgQWxsIHRoZSBwcm9ibGVtIGNoYXJhY3RlcnMgYXJlIHVuaWZpZWQgc28gdGhhdCBh
CistIyBzaW5nbGUgbTRfaW5kZXggY2FuIHNjYW4gdGhlIHJlc3VsdC4KKy0jCistIyBSYXRoZXIg
dGhhbiBleHBhbmQgbTRfZGVmbiBldmVyeSB0aW1lIG00X2VzY2FwZSBpcyBleHBhbmRlZCwgd2UK
Ky0jIGlubGluZSBpdHMgZXhwYW5zaW9uIHVwIGZyb250LgorLW00X2RlZmluZShbbTRfZXNjYXBl
XSwKKy1bbTRfaWYobTRfaW5kZXgobTRfdHJhbnNsaXQoWyQxXSwKKy0gICBbW10jLCgpXV1tNF9k
cXVvdGUobTRfZGVmbihbbTRfY3Jfc3ltYm9sczJdKSlbLCBbJCQkXSksIFskXSksCistICBbLTFd
LCBbbTRfZWNob10sIFtfJDBdKShbJDFdKV0pCistCistbTRfZGVmaW5lKFtfbTRfZXNjYXBlXSwK
Ky1bbTRfY2hhbmdlcXVvdGUoWy09PHsoXSxbKX0+PS1dKV1kbmwKKy1bbTRfYnBhdHN1YnN0KG00
X2JwYXRzdWJzdChtNF9icGF0c3Vic3QobTRfYnBhdHN1YnN0KAorLQkgIC09PHsoLT08eygtPTx7
KC09PHsoLT08eygkMSl9Pj0tKX0+PS0pfT49LSl9Pj0tKX0+PS0sCistCS09PHsoIyl9Pj0tLCAt
PTx7KEAlOkApfT49LSksCistICAgICAgLT08eyhcWyl9Pj0tLCAtPTx7KEA8OkApfT49LSksCist
ICAgIC09PHsoXF0pfT49LSwgLT08eyhAOj5AKX0+PS0pLAorLSAgLT08eyhcJCl9Pj0tLCAtPTx7
KEBTfEApfT49LSltNF9jaGFuZ2VxdW90ZShbLF0pXSkKKy0KKy0KKy0jIG00X3RleHRfd3JhcChT
VFJJTkcsIFtQUkVGSVhdLCBbRklSU1QtUFJFRklYXSwgW1dJRFRIXSkKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZHMg
aW50byBTVFJJTkcgd3JhcHBlZCB0byBob2xkIGluIFdJRFRIIGNvbHVtbnMgKGRlZmF1bHQgPSA3
OSkuCistIyBJZiBQUkVGSVggaXMgZ2l2ZW4sIGVhY2ggbGluZSBpcyBwcmVmaXhlZCB3aXRoIGl0
LiAgSWYgRklSU1QtUFJFRklYIGlzCistIyBzcGVjaWZpZWQsIHRoZW4gdGhlIGZpcnN0IGxpbmUg
aXMgcHJlZml4ZWQgd2l0aCBpdC4gIEFzIGEgc3BlY2lhbCBjYXNlLAorLSMgaWYgdGhlIGxlbmd0
aCBvZiBGSVJTVC1QUkVGSVggaXMgZ3JlYXRlciB0aGFuIHRoYXQgb2YgUFJFRklYLCB0aGVuCist
IyBGSVJTVC1QUkVGSVggd2lsbCBiZSBsZWZ0IGFsb25lIG9uIHRoZSBmaXJzdCBsaW5lLgorLSMK
Ky0jIE5vIGV4cGFuc2lvbiBvY2N1cnMgb24gdGhlIGNvbnRlbnRzIFNUUklORywgUFJFRklYLCBv
ciBGSVJTVC1QUkVGSVgsCistIyBhbHRob3VnaCBxdWFkcmlncmFwaHMgYXJlIGNvcnJlY3RseSBy
ZWNvZ25pemVkLiAgTW9yZSBwcmVjaXNlbHksCistIyB5b3UgbWF5IHJlZGVmaW5lIG00X3FsZW4g
dG8gcmVjb2duaXplIHdoYXRldmVyIGVzY2FwZSBzZXF1ZW5jZXMgdGhhdAorLSMgeW91IHdpbGwg
cG9zdC1wcm9jZXNzLgorLSMKKy0jIFR5cGljYWwgb3V0cHV0cyBhcmU6CistIworLSMgbTRfdGV4
dF93cmFwKFtTaG9ydCBzdHJpbmcgKi9dLCBbICAgXSwgWy8qIF0sIDIwKQorLSMgID0+IC8qIFNo
b3J0IHN0cmluZyAqLworLSMKKy0jIG00X3RleHRfd3JhcChbTXVjaCBsb25nZXIgc3RyaW5nICov
XSwgWyAgIF0sIFsvKiBdLCAyMCkKKy0jICA9PiAvKiBNdWNoIGxvbmdlcgorLSMgID0+ICAgIHN0
cmluZyAqLworLSMKKy0jIG00X3RleHRfd3JhcChbU2hvcnQgZG9jLl0sIFsgICAgICAgICAgXSwg
WyAgLS1zaG9ydCBdLCAzMCkKKy0jICA9PiAgIC0tc2hvcnQgU2hvcnQgZG9jLgorLSMKKy0jIG00
X3RleHRfd3JhcChbU2hvcnQgZG9jLl0sIFsgICAgICAgICAgXSwgWyAgLS10b28td2lkZSBdLCAz
MCkKKy0jICA9PiAgIC0tdG9vLXdpZGUKKy0jICA9PiAgICAgICAgICAgU2hvcnQgZG9jLgorLSMK
Ky0jIG00X3RleHRfd3JhcChbU3VwZXIgbG9uZyBkb2N1bWVudGF0aW9uLl0sIFsgICAgICAgICAg
XSwgWyAgLS10b28td2lkZSBdLCAzMCkKKy0jICA9PiAgIC0tdG9vLXdpZGUKKy0jICA9PiAgICAg
IFN1cGVyIGxvbmcKKy0jICA9PiAgICAgIGRvY3VtZW50YXRpb24uCistIworLSMgRklYTUU6IHRo
ZXJlIGlzIG5vIGNoZWNraW5nIG9mIGEgbG9uZ2VyIFBSRUZJWCB0aGFuIFdJRFRILCBidXQgZG8K
Ky0jIHdlIHJlYWxseSB3YW50IHRvIGJvdGhlciB3aXRoIHBlb3BsZSB0cnlpbmcgZWFjaCBzaW5n
bGUgY29ybmVyCistIyBvZiBhIHNvZnR3YXJlPworLSMKKy0jIFRoaXMgbWFjcm8gZG9lcyBub3Qg
bGVhdmUgYSB0cmFpbGluZyBzcGFjZSBiZWhpbmQgdGhlIGxhc3Qgd29yZCBvZiBhIGxpbmUsCist
IyB3aGljaCBjb21wbGljYXRlcyBpdCBhIGJpdC4gIFRoZSBhbGdvcml0aG0gaXMgb3RoZXJ3aXNl
IHN0dXBpZCBhbmQgc2ltcGxlOgorLSMgYWxsIHRoZSB3b3JkcyBhcmUgcHJlY2VkZWQgYnkgbTRf
U2VwYXJhdG9yIHdoaWNoIGlzIGRlZmluZWQgdG8gZW1wdHkgZm9yCistIyB0aGUgZmlyc3Qgd29y
ZCwgYW5kIHRoZW4gYCAnIChzaW5nbGUgc3BhY2UpIGZvciBhbGwgdGhlIG90aGVycy4KKy0jCist
IyBUaGUgYWxnb3JpdGhtIHVzZXMgYSBoZWxwZXIgdGhhdCB1c2VzICQyIHRocm91Z2ggJDQgZGly
ZWN0bHksIHJhdGhlciB0aGFuCistIyB1c2luZyBsb2NhbCB2YXJpYWJsZXMsIHRvIGF2b2lkIG00
X2RlZm4gb3ZlcmhlYWQsIG9yIGV4cGFuc2lvbiBzd2FsbG93aW5nCistIyBhbnkgJC4gIEl0IGFs
c28gYnlwYXNzZXMgbTRfcG9wZGVmIG92ZXJoZWFkIHdpdGggX200X3BvcGRlZiBzaW5jZSBubyB1
c2VyCistIyBtYWNybyBleHBhbnNpb24gb2NjdXJzIGluIHRoZSBtZWFudGltZS4gIEFsc28sIHRo
ZSBkZWZpbml0aW9uIGlzIHdyaXR0ZW4KKy0jIHdpdGggbTRfZG8sIHRvIGF2b2lkIHRpbWUgd2Fz
dGVkIG9uIGRubCBkdXJpbmcgZXhwYW5zaW9uIChzaW5jZSB0aGlzIGlzCistIyBhbHJlYWR5IGEg
dGltZS1jb25zdW1pbmcgbWFjcm8pLgorLW00X2RlZmluZShbbTRfdGV4dF93cmFwXSwKKy1bXyQw
KG00X2VzY2FwZShbJDFdKSwgWyQyXSwgbTRfZGVmYXVsdF9xdW90ZWQoWyQzXSwgWyQyXSksCist
ICAgICBtNF9kZWZhdWx0X3F1b3RlZChbJDRdLCBbNzldKSldKQorLQorLW00X2RlZmluZShbX200
X3RleHRfd3JhcF0sCistbTRfZG8oZG5sIHNldCB1cCBsb2NhbCB2YXJpYWJsZXMsIHRvIGF2b2lk
IHJlcGVhdGVkIGNhbGN1bGF0aW9ucworLVtbbTRfcHVzaGRlZihbbTRfSW5kZW50XSwgbTRfcWxl
bihbJDJdKSldXSwKKy1bW200X3B1c2hkZWYoW200X0N1cnNvcl0sIG00X3FsZW4oWyQzXSkpXV0s
CistW1ttNF9wdXNoZGVmKFttNF9TZXBhcmF0b3JdLCBbbTRfZGVmaW5lKFttNF9TZXBhcmF0b3Jd
LCBbIF0pXSldXSwKKy1kbmwgZXhwYW5kIHRoZSBmaXJzdCBwcmVmaXgsIHRoZW4gY2hlY2sgaXRz
IGxlbmd0aCB2cy4gcmVndWxhciBwcmVmaXgKKy1kbmwgc2FtZSBsZW5ndGg6IG5vdGhpbmcgc3Bl
Y2lhbAorLWRubCBwcmVmaXgxIGxvbmdlcjogb3V0cHV0IG9uIGxpbmUgYnkgaXRzZWxmLCBhbmQg
cmVzZXQgY3Vyc29yCistZG5sIHByZWZpeDEgc2hvcnRlcjogcGFkIHRvIGxlbmd0aCBvZiBwcmVm
aXgsIGFuZCByZXNldCBjdXJzb3IKKy1bW1skM11tNF9jb25kKFttNF9DdXJzb3JdLCBtNF9JbmRl
bnQsIFtdLAorLQkgICAgICBbbTRfZXZhbChtNF9DdXJzb3IgPiBtNF9JbmRlbnQpXSwgWzFdLCBb
CistWyQyXW00X2RlZmluZShbbTRfQ3Vyc29yXSwgbTRfSW5kZW50KV0sCistCSAgICAgIFttNF9m
b3JtYXQoWyUqc10sIG00X21heChbMF0sCistICBtNF9ldmFsKG00X0luZGVudCAtIG00X0N1cnNv
cikpLCBbXSltNF9kZWZpbmUoW200X0N1cnNvcl0sIG00X0luZGVudCldKV1dLAorLWRubCBub3cs
IGZvciBlYWNoIHdvcmQsIGNvbXB1dGUgdGhlIGN1cnNvciBhZnRlciB0aGUgd29yZCBpcyBvdXRw
dXQsIHRoZW4KKy1kbmwgY2hlY2sgaWYgdGhlIGN1cnNvciB3b3VsZCBleGNlZWQgdGhlIHdyYXAg
Y29sdW1uCistZG5sIGlmIHNvLCByZXNldCBjdXJzb3IsIGFuZCBpbnNlcnQgbmV3bGluZSBhbmQg
cHJlZml4CistZG5sIGlmIG5vdCwgaW5zZXJ0IHRoZSBzZXBhcmF0b3IgKHVzdWFsbHkgYSBzcGFj
ZSkKKy1kbmwgZWl0aGVyIHdheSwgaW5zZXJ0IHRoZSB3b3JkCistW1ttNF9tYXBfYXJnc193KFsk
MV0sIFskMF93b3JkKF0sIFssIFskMl0sIFskNF0pXSldXSwKKy1kbmwgZmluYWxseSwgY2xlYW4g
dXAgdGhlIGxvY2FsIHZhcmlhYmxlcworLVtbX200X3BvcGRlZihbbTRfU2VwYXJhdG9yXSwgW200
X0N1cnNvcl0sIFttNF9JbmRlbnRdKV1dKSkKKy0KKy1tNF9kZWZpbmUoW19tNF90ZXh0X3dyYXBf
d29yZF0sCistW200X2RlZmluZShbbTRfQ3Vyc29yXSwgbTRfZXZhbChtNF9DdXJzb3IgKyBtNF9x
bGVuKFskMV0pICsgMSkpXWRubAorLVttNF9pZihtNF9ldmFsKG00X0N1cnNvciA+IChbJDNdKSks
CistICAgICAgWzFdLCBbbTRfZGVmaW5lKFttNF9DdXJzb3JdLCBtNF9ldmFsKG00X0luZGVudCAr
IG00X3FsZW4oWyQxXSkgKyAxKSkKKy1bJDJdXSwKKy0gICAgICBbbTRfU2VwYXJhdG9yW11dKVsk
MV1dKQorLQorLSMgbTRfdGV4dF9ib3goTUVTU0FHRSwgW0ZSQU1FLUNIQVJBQ1RFUiA9IGAtJ10p
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFR1
cm4gTUVTU0FHRSBpbnRvOgorLSMgICMjIC0tLS0tLS0gIyMKKy0jICAjIyBNRVNTQUdFICMjCist
IyAgIyMgLS0tLS0tLSAjIworLSMgdXNpbmcgRlJBTUUtQ0hBUkFDVEVSIGluIHRoZSBib3JkZXIu
CistIworLSMgUXVhZHJpZ3JhcGhzIGFyZSBjb3JyZWN0bHkgcmVjb2duaXplZC4gIE1vcmUgcHJl
Y2lzZWx5LCB5b3UgbWF5CistIyByZWRlZmluZSBtNF9xbGVuIHRvIHJlY29nbml6ZSB3aGF0ZXZl
ciBlc2NhcGUgc2VxdWVuY2VzIHRoYXQgeW91CistIyB3aWxsIHBvc3QtcHJvY2Vzcy4KKy1tNF9k
ZWZpbmUoW200X3RleHRfYm94XSwKKy1bbTRfcHVzaGRlZihbbTRfQm9yZGVyXSwKKy0JICAgIG00
X3RyYW5zbGl0KG00X2Zvcm1hdChbW1slKnNdXV0sIG00X2RlY3IobTRfcWxlbihfbTRfZXhwYW5k
KFskMQorLV0pKSksIFtdKSwgWyBdLCBtNF9kZWZhdWx0X3F1b3RlZChbJDJdLCBbLV0pKSldZG5s
CistW1sjI10gX200X2RlZm4oW200X0JvcmRlcl0pIFsjI10KKy1bIyNdICQxIFsjI10KKy1bIyNd
IF9tNF9kZWZuKFttNF9Cb3JkZXJdKSBbIyNdX200X3BvcGRlZihbbTRfQm9yZGVyXSldKQorLQor
LQorLSMgbTRfcWxlbihTVFJJTkcpCistIyAtLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZHMgdG8g
dGhlIGxlbmd0aCBvZiBTVFJJTkcgYWZ0ZXIgYXV0b200dGUgY29udmVydHMgYWxsIHF1YWRyaWdy
YXBocy4KKy0jCistIyBJZiB5b3UgdXNlIHNvbWUgb3RoZXIgbWVhbnMgb2YgcG9zdC1wcm9jZXNz
aW5nIG00IG91dHB1dCByYXRoZXIgdGhhbgorLSMgYXV0b200dGUsIHRoZW4geW91IG1heSByZWRl
ZmluZSB0aGlzIG1hY3JvIHRvIHJlY29nbml6ZSB3aGF0ZXZlcgorLSMgZXNjYXBlIHNlcXVlbmNl
cyB5b3VyIHBvc3QtcHJvY2Vzc29yIHdpbGwgaGFuZGxlLiAgRm9yIHRoYXQgbWF0dGVyLAorLSMg
bTRfZGVmaW5lKFttNF9xbGVuXSwgbTRfZGVmbihbbTRfbGVuXSkpIGlzIHN1ZmZpY2llbnQgaWYg
eW91IGRvbid0CistIyBkbyBhbnkgcG9zdC1wcm9jZXNzaW5nLgorLSMKKy0jIEF2b2lkIGJwYXRz
dWJzdHMgZm9yIHRoZSBjb21tb24gY2FzZSBvZiBubyBxdWFkcmlncmFwaHMuICBDYWNoZQorLSMg
cmVzdWx0cywgYXMgY29uZmlndXJlIHNjcmlwdHMgdGVuZCB0byBhc2sgYWJvdXQgbGVuZ3RocyBv
ZiBjb21tb24KKy0jIHN0cmluZ3MgbGlrZSBgLyonIGFuZCBgKi8nIHJhdGhlciBmcmVxdWVudGx5
LiAgTWluaW1pemUgdGhlIG51bWJlcgorLSMgb2YgdGltZXMgdGhhdCAkMSBvY2N1cnMgaW4gbTRf
cWxlbiwgc28gdGhlcmUgaXMgbGVzcyB0ZXh0IHRvIHBhcnNlCistIyBvbiBhIGNhY2hlIGhpdC4K
Ky1tNF9kZWZpbmUoW200X3FsZW5dLAorLVttNF9pZmRlZihbJDAtJDFdLCBbX200X2RlZm4oWyQw
LV1dLCBbXyQwKF0pWyQxXSldKQorLW00X2RlZmluZShbX200X3FsZW5dLAorLVttNF9kZWZpbmUo
W200X3FsZW4tJDFdLAorLW00X2lmKG00X2luZGV4KFskMV0sIFtAXSksIFstMV0sIFttNF9sZW4o
WyQxXSldLAorLSAgICAgIFttNF9sZW4obTRfYnBhdHN1YnN0KFtbJDFdXSwKKy0JCQkgICBbQFwo
XCg8Olx8Oj5cfFN8XHwlOlx8XHs6XHw6XH1cKVwoQFwpXHwmdEBcKV0sCistCQkJICAgW1wzXSkp
XSkpX200X2RlZm4oW200X3FsZW4tJDFdKV0pCistCistIyBtNF9jb3B5cmlnaHRfY29uZGVuc2Uo
VEVYVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQ29uZGVuc2UgdGhlIGNv
cHlyaWdodCBub3RpY2UgaW4gVEVYVCB0byBvbmx5IGRpc3BsYXkgdGhlIGZpbmFsCistIyB5ZWFy
LCB3cmFwcGluZyB0aGUgcmVzdWx0cyB0byBmaXQgaW4gODAgY29sdW1ucy4KKy1tNF9kZWZpbmUo
W200X2NvcHlyaWdodF9jb25kZW5zZV0sCistW200X3RleHRfd3JhcChtNF9icGF0c3Vic3QobTRf
ZmxhdHRlbihbWyQxXV0pLAorLVsoQylbLQkgLDAtOV0qXChbMS05XVswLTldWzAtOV1bMC05XVwp
XSwgWyhDKSBcMV0pKV0pCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyAx
My4gTnVtYmVyIHByb2Nlc3NpbmcuICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMj
CistCistIyBtNF9jbXAoQSwgQikKKy0jIC0tLS0tLS0tLS0tLQorLSMgQ29tcGFyZSB0d28gaW50
ZWdlciBleHByZXNzaW9ucy4KKy0jIEEgPCBCIC0+IC0xCistIyBBID0gQiAtPiAgMAorLSMgQSA+
IEIgLT4gIDEKKy1tNF9kZWZpbmUoW200X2NtcF0sCistW200X2V2YWwoKChbJDFdKSA+IChbJDJd
KSkgLSAoKFskMV0pIDwgKFskMl0pKSldKQorLQorLQorLSMgbTRfbGlzdF9jbXAoQSwgQikKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tCistIworLSMgQ29tcGFyZSB0aGUgdHdvIGxpc3RzIG9mIGludGVn
ZXIgZXhwcmVzc2lvbnMgQSBhbmQgQi4gIEZvciBpbnN0YW5jZToKKy0jICAgbTRfbGlzdF9jbXAo
WzEsIDBdLCAgICAgWzFdKSAgICAtPiAgMAorLSMgICBtNF9saXN0X2NtcChbMSwgMF0sICAgICBb
MSwgMF0pIC0+ICAwCistIyAgIG00X2xpc3RfY21wKFsxLCAyXSwgICAgIFsxLCAwXSkgLT4gIDEK
Ky0jICAgbTRfbGlzdF9jbXAoWzEsIDIsIDNdLCAgWzEsIDJdKSAtPiAgMQorLSMgICBtNF9saXN0
X2NtcChbMSwgMiwgLTNdLCBbMSwgMl0pIC0+IC0xCistIyAgIG00X2xpc3RfY21wKFsxLCAwXSwg
ICAgIFsxLCAyXSkgLT4gLTEKKy0jICAgbTRfbGlzdF9jbXAoWzFdLCAgICAgICAgWzEsIDJdKSAt
PiAtMQorLSMgICBtNF9kZWZpbmUoW3hhXSwgW29vcHNdKWRubAorLSMgICBtNF9saXN0X2NtcChb
WzB4YV1dLCAgICBbNSs1XSkgIC0+IDAKKy0jCistIyBSYXRoZXIgdGhhbiBmYWNlIHRoZSBvdmVy
aGVhZCBvZiBtNF9jYXNlLCB3ZSB1c2UgYSBoZWxwZXIgZnVuY3Rpb24gd2hvc2UKKy0jIGV4cGFu
c2lvbiBpbmNsdWRlcyB0aGUgbmFtZSBvZiB0aGUgbWFjcm8gdG8gaW52b2tlIG9uIHRoZSB0YWls
LCBlaXRoZXIKKy0jIG00X2lnbm9yZSBvciBtNF91bnF1b3RlLiAgVGhpcyBpcyBwYXJ0aWN1bGFy
bHkgdXNlZnVsIHdoZW4gY29tcGFyaW5nCistIyBsb25nIGxpc3RzLCBzaW5jZSBsZXNzIHRleHQg
aXMgYmVpbmcgZXhwYW5kZWQgZm9yIGRlY2lkaW5nIHdoZW4gdG8gZW5kCistIyByZWN1cnNpb24u
ICBUaGUgcmVjdXJzaW9uIGlzIGJldHdlZW4gYSBwYWlyIG9mIG1hY3JvcyB0aGF0IGFsdGVybmF0
ZQorLSMgd2hpY2ggbGlzdCBpcyB0cmltbWVkIGJ5IG9uZSBlbGVtZW50OyB0aGlzIGlzIG1vcmUg
ZWZmaWNpZW50IHRoYW4KKy0jIGNhbGxpbmcgbTRfY2RyIG9uIGJvdGggbGlzdHMgZnJvbSBhIHNp
bmdsZSBtYWNyby4gIEd1YXJhbnRlZSBleGFjdGx5CistIyBvbmUgZXhwYW5zaW9uIG9mIGJvdGgg
bGlzdHMnIHNpZGUgZWZmZWN0cy4KKy0jCistIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5
bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgorLW00X2RlZmluZShbbTRfbGlzdF9j
bXBdLAorLVtfJDBfcmF3KG00X2RxdW90ZSgkMSksIG00X2RxdW90ZSgkMikpXSkKKy0KKy1tNF9k
ZWZpbmUoW19tNF9saXN0X2NtcF9yYXddLAorLVttNF9pZihbJDFdLCBbJDJdLCBbMF0sIFtfbTRf
bGlzdF9jbXBfMShbJDFdLCAkMildKV0pCistCistbTRfZGVmaW5lKFtfbTRfbGlzdF9jbXBdLAor
LVttNF9pZihbJDFdLCBbXSwgWzBtNF9pZ25vcmVdLCBbJDJdLCBbMF0sIFttNF91bnF1b3RlXSwg
WyQybTRfaWdub3JlXSldKQorLQorLW00X2RlZmluZShbX200X2xpc3RfY21wXzFdLAorLVtfbTRf
bGlzdF9jbXBfMihbJDJdLCBbbTRfc2hpZnQyKCRAKV0sICQxKV0pCistCistbTRfZGVmaW5lKFtf
bTRfbGlzdF9jbXBfMl0sCistW19tNF9saXN0X2NtcChbJDEkM10sIG00X2NtcChbJDMrMF0sIFsk
MSswXSkpKAorLSAgW19tNF9saXN0X2NtcF8xKG00X2RxdW90ZShtNF9zaGlmdDMoJEApKSwgJDIp
XSldKQorLQorLSMgbTRfbWF4KEVYUFIsIC4uLikKKy0jIG00X21pbihFWFBSLCAuLi4pCistIyAt
LS0tLS0tLS0tLS0tLS0tLQorLSMgUmV0dXJuIHRoZSBkZWNpbWFsIHZhbHVlIG9mIHRoZSBtYXhp
bXVtIChvciBtaW5pbXVtKSBpbiBhIHNlcmllcyBvZgorLSMgaW50ZWdlciBleHByZXNzaW9ucy4K
Ky0jCistIyBNNCAxLjQueCBkb2Vzbid0IHByb3ZpZGUgPzouICBIZW5jZSB0aGlzIGh1Z2UgbTRf
ZXZhbC4gIEF2b2lkIG00X2V2YWwKKy0jIGlmIGJvdGggYXJndW1lbnRzIGFyZSBpZGVudGljYWws
IGJ1dCBiZSBhd2FyZSBvZiBtNF9tYXgoMHhhLCAxMCkgKGhlbmNlCistIyB0aGUgdXNlIG9mIDw9
LCBub3QganVzdCA8LCBpbiB0aGUgc2Vjb25kIG11bHRpcGx5KS4KKy0jCistIyBQbGVhc2Uga2Vl
cCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgorLW00
X2RlZmluZShbbTRfbWF4XSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoW3RvbyBmZXcg
YXJndW1lbnRzIHRvICQwXSldLAorLSAgICAgICBbJCNdLCBbMV0sIFttNF9ldmFsKFskMV0pXSwK
Ky0gICAgICAgWyQjJDFdLCBbMiQyXSwgW200X2V2YWwoWyQxXSldLAorLSAgICAgICBbJCNdLCBb
Ml0sIFtfJDAoJEApXSwKKy0gICAgICAgW19tNF9taW5tYXgoW18kMF0sICRAKV0pXSkKKy0KKy1t
NF9kZWZpbmUoW19tNF9tYXhdLAorLVttNF9ldmFsKCgoWyQxXSkgPiAoWyQyXSkpICogKFskMV0p
ICsgKChbJDFdKSA8PSAoWyQyXSkpICogKFskMl0pKV0pCistCistbTRfZGVmaW5lKFttNF9taW5d
LAorLVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbdG9vIGZldyBhcmd1bWVudHMgdG8gJDBd
KV0sCistICAgICAgIFskI10sIFsxXSwgW200X2V2YWwoWyQxXSldLAorLSAgICAgICBbJCMkMV0s
IFsyJDJdLCBbbTRfZXZhbChbJDFdKV0sCistICAgICAgIFskI10sIFsyXSwgW18kMCgkQCldLAor
LSAgICAgICBbX200X21pbm1heChbXyQwXSwgJEApXSldKQorLQorLW00X2RlZmluZShbX200X21p
bl0sCistW200X2V2YWwoKChbJDFdKSA8IChbJDJdKSkgKiAoWyQxXSkgKyAoKFskMV0pID49IChb
JDJdKSkgKiAoWyQyXSkpXSkKKy0KKy0jIF9tNF9taW5tYXgoTUVUSE9ELCBBUkcxLCBBUkcyLi4u
KQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBDb21tb24gcmVjdXJz
aW9uIGNvZGUgZm9yIG00X21heCBhbmQgbTRfbWluLiAgTUVUSE9EIG11c3QgYmUgX200X21heAor
LSMgb3IgX200X21pbiwgYW5kIHRoZXJlIG11c3QgYmUgYXQgbGVhc3QgdHdvIGFyZ3VtZW50cyB0
byBjb21iaW5lLgorLSMKKy0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFu
eSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCistbTRfZGVmaW5lKFtfbTRfbWlubWF4XSwKKy1bbTRf
aWYoWyQjXSwgWzNdLCBbJDEoWyQyXSwgWyQzXSldLAorLSAgICAgICBbJDAoWyQxXSwgJDEoWyQy
XSwgWyQzXSksIG00X3NoaWZ0MygkQCkpXSldKQorLQorLQorLSMgbTRfc2lnbihBKQorLSMgLS0t
LS0tLS0tLQorLSMgVGhlIHNpZ24gb2YgdGhlIGludGVnZXIgZXhwcmVzc2lvbiBBLgorLW00X2Rl
ZmluZShbbTRfc2lnbl0sCistW200X2V2YWwoKChbJDFdKSA+IDApIC0gKChbJDFdKSA8IDApKV0p
CistCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgMTQuIFZlcnNp
b24gcHJvY2Vzc2luZy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCist
CistIyBtNF92ZXJzaW9uX3VubGV0dGVyKFZFUlNJT04pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBOb3JtYWxpemUgYmV0YSB2ZXJzaW9uIG51bWJlcnMgd2l0aCBsZXR0ZXJz
IHRvIG51bWVyaWMgZXhwcmVzc2lvbnMsIHdoaWNoCistIyBjYW4gdGhlbiBiZSBoYW5kZWQgdG8g
bTRfZXZhbCBmb3IgdGhlIHB1cnBvc2Ugb2YgY29tcGFyaXNvbi4KKy0jCistIyAgIE5sIC0+IChO
KzEpLi0xLihsIykKKy0jCistIyBmb3IgZXhhbXBsZToKKy0jICAgWzIuMTRhXSAtPiBbMCwyLDE0
KzEsLTEsWzByMzY6YV1dIC0+IDIuMTUuLTEuMTAKKy0jICAgWzIuMTRiXSAtPiBbMCwyLDE1KzEs
LTEsWzByMzY6Yl1dIC0+IDIuMTUuLTEuMTEKKy0jICAgWzIuNjFhYS5iXSAtPiBbMCwyLjYxLDEs
LTEsWzByMzY6YWFdLCsxLC0xLFswcjM2OmJdXSAtPiAyLjYyLi0xLjM3MC4xLi0xLjExCistIyAg
IFswOF0gLT4gWzAsWzByMTA6MF04XSAtPiA4CistIworLSMgVGhpcyBtYWNybyBleHBlY3RzIHJl
YXNvbmFibGUgdmVyc2lvbiBudW1iZXJzLCBidXQgY2FuIGhhbmRsZSBkb3VibGUKKy0jIGxldHRl
cnMgYW5kIGRvZXMgbm90IGV4cGFuZCBhbnkgbWFjcm9zLiAgT3JpZ2luYWwgdmVyc2lvbiBzdHJp
bmdzIGNhbgorLSMgdXNlIGJvdGggYC4nIGFuZCBgLScgc2VwYXJhdG9ycy4KKy0jCistIyBJbmxp
bmUgY29uc3RhbnQgZXhwYW5zaW9ucywgdG8gYXZvaWQgbTRfZGVmbiBvdmVyaGVhZC4KKy0jIF9t
NF92ZXJzaW9uX3VubGV0dGVyIGlzIHRoZSByZWFsIHdvcmtob3JzZSB1c2VkIGJ5IG00X3ZlcnNp
b25fY29tcGFyZSwKKy0jIGJ1dCBzaW5jZSBbMHIzNjphXSBhbmQgY29tbWFzIGFyZSBsZXNzIHJl
YWRhYmxlIHRoYW4gMTAgYW5kIGRvdHMsIHdlCistIyBwcm92aWRlIGEgd3JhcHBlciBmb3IgaHVt
YW4gdXNlLgorLW00X2RlZmluZShbbTRfdmVyc2lvbl91bmxldHRlcl0sCistW200X3N1YnN0ciht
NF9tYXBfYXJncyhbLm00X2V2YWxdLCBtNF91bnF1b3RlKF8kMChbJDFdKSkpLCBbM10pXSkKKy1t
NF9kZWZpbmUoW19tNF92ZXJzaW9uX3VubGV0dGVyXSwKKy1bbTRfYnBhdHN1YnN0KG00X2JwYXRz
dWJzdChtNF90cmFuc2xpdChbW1tbMCwkMV1dXV0sIFsuLV0sIFssLF0pLF1kbmwKKy1tNF9kcXVv
dGUobTRfZHF1b3RlKG00X2RlZm4oW200X2NyX0xldHRlcnNdKSkpW1srXSwKKy0JICAgICAgWysx
LC0xLFswcjM2OlwmXV0pLCBbLDBdLCBbLFswcjEwOjBdXSldKQorLQorLQorLSMgbTRfdmVyc2lv
bl9jb21wYXJlKFZFUlNJT04tMSwgVkVSU0lPTi0yKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQ29tcGFyZSB0aGUgdHdvIHZlcnNpb24gbnVtYmVycyBh
bmQgZXhwYW5kIGludG8KKy0jICAtMSBpZiBWRVJTSU9OLTEgPCBWRVJTSU9OLTIKKy0jICAgMCBp
ZiAgICAgICAgICAgPQorLSMgICAxIGlmICAgICAgICAgICA+CistIworLSMgU2luY2UgX200X3Zl
cnNpb25fdW5sZXR0ZXIgZG9lcyBub3Qgb3V0cHV0IHNpZGUgZWZmZWN0cywgd2UgY2FuCistIyBz
YWZlbHkgYnlwYXNzIHRoZSBvdmVyaGVhZCBvZiBtNF92ZXJzaW9uX2NtcC4KKy1tNF9kZWZpbmUo
W200X3ZlcnNpb25fY29tcGFyZV0sCistW19tNF9saXN0X2NtcF9yYXcoX200X3ZlcnNpb25fdW5s
ZXR0ZXIoWyQxXSksIF9tNF92ZXJzaW9uX3VubGV0dGVyKFskMl0pKV0pCistCistCistIyBtNF9Q
QUNLQUdFX05BTUUKKy0jIG00X1BBQ0tBR0VfVEFSTkFNRQorLSMgbTRfUEFDS0FHRV9WRVJTSU9O
CistIyBtNF9QQUNLQUdFX1NUUklORworLSMgbTRfUEFDS0FHRV9CVUdSRVBPUlQKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBJZiBtNHN1Z2FyL3ZlcnNpb24ubTQgaXMgcHJlc2VudCwgdGhl
biBkZWZpbmUgdmVyc2lvbiBzdHJpbmdzLiAgVGhpcworLSMgZmlsZSBpcyBvcHRpb25hbCwgcHJv
dmlkZWQgYnkgQXV0b2NvbmYgYnV0IGFic2VudCBpbiBCaXNvbi4KKy1tNF9zaW5jbHVkZShbbTRz
dWdhci92ZXJzaW9uLm00XSkKKy0KKy0KKy0jIG00X3ZlcnNpb25fcHJlcmVxKFZFUlNJT04sIFtJ
Ri1PS10sIFtJRi1OT1QgPSBGQUlMXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENoZWNrIHRoaXMgQXV0b2NvbmYgdmVyc2lvbiBh
Z2FpbnN0IFZFUlNJT04uCistbTRfZGVmaW5lKFttNF92ZXJzaW9uX3ByZXJlcV0sCistbTRfaWZk
ZWYoW200X1BBQ0tBR0VfVkVSU0lPTl0sCistW1ttNF9pZihtNF92ZXJzaW9uX2NvbXBhcmUoXW00
X2RxdW90ZShtNF9kZWZuKFttNF9QQUNLQUdFX1ZFUlNJT05dKSlbLCBbJDFdKSwKKy0JWy0xXSwK
Ky0JW200X2RlZmF1bHQoWyQzXSwKKy0JCSAgICBbbTRfZmF0YWwoW0F1dG9jb25mIHZlcnNpb24g
JDEgb3IgaGlnaGVyIGlzIHJlcXVpcmVkXSwKKy0JCQkgICAgICBbNjNdKV0pXSwKKy0JWyQyXSld
XSwKKy1bW200X2ZhdGFsKFttNHN1Z2FyL3ZlcnNpb24ubTQgbm90IGZvdW5kXSldXSkpCistCist
CistIyMgLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgMTUuIFNldCBoYW5kbGluZy4gICMjCist
IyMgLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCistIyBBdXRvY29uZiBsaWtlcyB0byBjcmVhdGUg
YXJiaXRyYXJpbHkgbGFyZ2Ugc2V0czsgZm9yIGV4YW1wbGUsIGFzIG9mCistIyB0aGlzIHdyaXRp
bmcsIHRoZSBjb25maWd1cmUuYWMgZm9yIGNvcmV1dGlscyB0cmFja3MgYSBzZXQgb2YgbW9yZQor
LSMgdGhhbiA0MDAgQUNfU1VCU1QuICBIb3cgZG8gd2UgdHJhY2sgYWxsIG9mIHRoZXNlIHNldCBt
ZW1iZXJzLAorLSMgd2l0aG91dCBpbnRyb2R1Y2luZyBkdXBsaWNhdGVzPyAgV2UgY291bGQgdXNl
IG00X2FwcGVuZF91bmlxLCB3aXRoCistIyB0aGUgc2V0IE5BTUUgcmVzaWRpbmcgaW4gdGhlIGNv
bnRlbnRzIG9mIHRoZSBtYWNybyBOQU1FLgorLSMgVW5mb3J0dW5hdGVseSwgbTRfYXBwZW5kX3Vu
aXEgaXMgcXVhZHJhdGljIGZvciBzZXQgY3JlYXRpb24sIGJlY2F1c2UKKy0jIGl0IGNvc3RzIE8o
bikgdG8gc2VhcmNoIHRoZSBzdHJpbmcgZm9yIGVhY2ggb2YgTyhuKSBpbnNlcnRpb25zOyBub3QK
Ky0jIHRvIG1lbnRpb24gdGhhdCB3aXRoIG00IDEuNC54LCBldmVuIHVzaW5nIG00X2FwcGVuZCBp
cyBzbG93LCBjb3N0aW5nCistIyBPKG4pIHJhdGhlciB0aGFuIE8oMSkgcGVyIGluc2VydGlvbi4g
IE90aGVyIHNldCBvcGVyYXRpb25zLCBub3QgdXNlZAorLSMgYnkgQXV0b2NvbmYgYnV0IHN0aWxs
IHBvc3NpYmxlIGJ5IG1hbmlwdWxhdGlvbiBvZiB0aGUgZGVmaW5pdGlvbgorLSMgdHJhY2tlZCBp
biBtYWNybyBOQU1FLCBpbmNsdWRlIE8obikgZGVsZXRpb24gb2Ygb25lIGVsZW1lbnQgYW5kIE8o
bikKKy0jIGNvbXB1dGF0aW9uIG9mIHNldCBzaXplLiAgQmVjYXVzZSB0aGUgc2V0IGlzIGV4cG9z
ZWQgdG8gdGhlIHVzZXIgdmlhCistIyB0aGUgZGVmaW5pdGlvbiBvZiBhIHNpbmdsZSBtYWNybywg
d2UgY2Fubm90IGNhY2hlIGFueSBkYXRhIGFib3V0IHRoZQorLSMgc2V0IHdpdGhvdXQgcmlza2lu
ZyB0aGUgY2FjaGUgYmVpbmcgaW52YWxpZGF0ZWQgYnkgdGhlIHVzZXIKKy0jIHJlZGVmaW5pbmcg
TkFNRS4KKy0jCistIyBDYW4gd2UgZG8gYmV0dGVyPyAgWWVzLCBiZWNhdXNlIG00IGdpdmVzIHVz
IGFuIE8oMSkgc2VhcmNoIGZ1bmN0aW9uCistIyBmb3IgZnJlZTogaWZkZWYuICBBZGRpdGlvbmFs
bHksIGV2ZW4gbTQgMS40LnggZ2l2ZXMgdXMgYW4gTygxKQorLSMgaW5zZXJ0IG9wZXJhdGlvbiBm
b3IgZnJlZTogcHVzaGRlZi4gIEJ1dCB0byB1c2UgdGhlc2UsIHdlIG11c3QKKy0jIHJlcHJlc2Vu
dCB0aGUgc2V0IHZpYSBhIGdyb3VwIG9mIG1hY3JvczsgdG8ga2VlcCB0aGUgc2V0IGNvbnNpc3Rl
bnQsCistIyB3ZSBtdXN0IGhpZGUgdGhlIHNldCBzbyB0aGF0IHRoZSB1c2VyIGNhbiBvbmx5IG1h
bmlwdWxhdGUgaXQgdGhyb3VnaAorLSMgYWNjZXNzb3IgbWFjcm9zLiAgVGhlIGNvbnRlbnRzIG9m
IHRoZSBzZXQgYXJlIG1haW50YWluZWQgdGhyb3VnaCB0d28KKy0jIGFjY2VzcyBwb2ludHM7IF9t
NF9zZXQoW25hbWVdKSBpcyBhIHB1c2hkZWYgc3RhY2sgb2YgdmFsdWVzIGluIHRoZQorLSMgc2V0
LCB1c2VmdWwgZm9yIE8obikgdHJhdmVyc2FsIG9mIHRoZSBzZXQgY29udGVudHM7IHdoaWxlIHRo
ZQorLSMgZXhpc3RlbmNlIG9mIF9tNF9zZXQoW25hbWVdLHZhbHVlKSB3aXRoIG5vIHBhcnRpY3Vs
YXIgdmFsdWUgaXMKKy0jIHVzZWZ1bCBmb3IgTygxKSBxdWVyeWluZyBvZiBzZXQgbWVtYmVyc2hp
cC4gIEFuZCBzaW5jZSB0aGUgdXNlcgorLSMgY2Fubm90IGV4dGVybmFsbHkgbWFuaXB1bGF0ZSB0
aGUgc2V0LCB3ZSBhcmUgZnJlZSB0byBhZGQgYWRkaXRpb25hbAorLSMgY2FjaGluZyBtYWNyb3Mg
Zm9yIG90aGVyIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cy4gIERlbGV0aW9uIGNhbiBiZQorLSMg
TygxKSBwZXIgZWxlbWVudCByYXRoZXIgdGhhbiBPKG4pLCBieSByZXdvcmtpbmcgdGhlIGRlZmlu
aXRpb24gb2YKKy0jIF9tNF9zZXQoW25hbWVdLHZhbHVlKSB0byBiZSAwIG9yIDEgYmFzZWQgb24g
Y3VycmVudCBtZW1iZXJzaGlwLCBhbmQKKy0jIGFkZGluZyBfbTRfc2V0X2NsZWFudXAobmFtZSkg
dG8gZGVmZXIgdGhlIE8obikgY2xlYW51cCBvZgorLSMgX200X3NldChbbmFtZV0pIHVudGlsIHdl
IGhhdmUgYW5vdGhlciByZWFzb24gdG8gZG8gYW4gTyhuKQorLSMgdHJhdmVyc2FsLiAgVGhlIGV4
aXN0ZW5jZSBvZiBfbTRfc2V0X2NsZWFudXAobmFtZSkgY2FuIHRoZW4gYmUgdXNlZAorLSMgZWxz
ZXdoZXJlIHRvIGRldGVybWluZSBpZiB3ZSBtdXN0IGRlcmVmZXJlbmNlIF9tNF9zZXQoW25hbWVd
LHZhbHVlKSwKKy0jIG9yIGFzc3VtZSB0aGF0IGRlZmluaXRpb24gaW1wbGllcyBzZXQgbWVtYmVy
c2hpcC4gIEZpbmFsbHksIHNpemUgY2FuCistIyBiZSB0cmFja2VkIGluIGFuIE8oMSkgZmFzaGlv
biB3aXRoIF9tNF9zZXRfc2l6ZShuYW1lKS4KKy0jCistIyBUaGUgcXVvdGluZyBpbiBfbTRfc2V0
KFtuYW1lXSx2YWx1ZSkgaXMgY2hvc2VuIHNvIHRoYXQgdGhlcmUgaXMgbm8KKy0jIGFtYmlndWl0
eSB3aXRoIGEgc2V0IHdob3NlIG5hbWUgY29udGFpbnMgYSBjb21tYSwgYW5kIHNvIHRoYXQgd2Ug
Y2FuCistIyBzdXBwbHkgdGhlIHZhbHVlIHZpYSBfbTRfZGVmbihbX200X3NldChbbmFtZV0pXSkg
d2l0aG91dCBuZWVkaW5nIGFueQorLSMgcXVvdGUgbWFuaXB1bGF0aW9uLgorLQorLSMgbTRfc2V0
X2FkZChTRVQsIFZBTFVFLCBbSUYtVU5JUV0sIFtJRi1EVVBdKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQWRkIFZBTFVFIGFzIGFuIGVsZW1lbnQg
b2YgU0VULiAgRXhwYW5kIElGLVVOSVEgb24gdGhlIGZpcnN0CistIyBhZGRpdGlvbiwgYW5kIElG
LURVUCBpZiBpdCBpcyBhbHJlYWR5IGluIHRoZSBzZXQuICBBZGRpdGlvbiBvZiBvbmUKKy0jIGVs
ZW1lbnQgaXMgTygxKSwgc3VjaCB0aGF0IG92ZXJhbGwgc2V0IGNyZWF0aW9uIGlzIE8obikuCist
IworLSMgV2UgZG8gbm90IHdhbnQgdG8gYWRkIGEgZHVwbGljYXRlIGZvciBhIHByZXZpb3VzbHkg
ZGVsZXRlZCBidXQKKy0jIHVucHJ1bmVkIGVsZW1lbnQsIGJ1dCBpdCBpcyBqdXN0IGFzIGVhc3kg
dG8gY2hlY2sgZXhpc3RlbmNlIGRpcmVjdGx5CistIyBhcyBpdCBpcyB0byBxdWVyeSBfbTRfc2V0
X2NsZWFudXAoJDEpLgorLW00X2RlZmluZShbbTRfc2V0X2FkZF0sCistW200X2lmZGVmKFtfbTRf
c2V0KFskMV0sJDIpXSwKKy0JICBbbTRfaWYobTRfaW5kaXIoW19tNF9zZXQoWyQxXSwkMildKSwg
WzBdLAorLQkJIFttNF9kZWZpbmUoW19tNF9zZXQoWyQxXSwkMildLAorLQkJCSAgICBbMV0pX200
X3NldF9zaXplKFskMV0sIFttNF9pbmNyXSkkM10sIFskNF0pXSwKKy0JICBbbTRfZGVmaW5lKFtf
bTRfc2V0KFskMV0sJDIpXSwKKy0JCSAgICAgWzFdKW00X3B1c2hkZWYoW19tNF9zZXQoWyQxXSld
LAorLQkJCQkgICAgWyQyXSlfbTRfc2V0X3NpemUoWyQxXSwgW200X2luY3JdKSQzXSldKQorLQor
LSMgbTRfc2V0X2FkZF9hbGwoU0VULCBWQUxVRS4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBBZGQgZWFjaCBWQUxVRSBpbnRvIFNFVC4gIFRoaXMgaXMgTyhuKSBpbiB0
aGUgbnVtYmVyIG9mIFZBTFVFcywgYW5kCistIyBjYW4gYmUgZmFzdGVyIHRoYW4gY2FsbGluZyBt
NF9zZXRfYWRkIGZvciBlYWNoIFZBTFVFLgorLSMKKy0jIEltcGxlbWVudCB0d28gcmVjdXJzaW9u
IGhlbHBlcnM7IHRoZSBjaGVjayB2YXJpYW50IGlzIHNsb3dlciBidXQKKy0jIGhhbmRsZXMgdGhl
IGNhc2Ugd2hlcmUgYW4gZWxlbWVudCBoYXMgcHJldmlvdXNseSBiZWVuIHJlbW92ZWQgYnV0Cist
IyBub3QgcHJ1bmVkLiAgVGhlIHJlY3Vyc2lvbiBoZWxwZXJzIGlnbm9yZSB0aGVpciBzZWNvbmQg
YXJndW1lbnQsIHNvCistIyB0aGF0IHdlIGNhbiB1c2UgdGhlIGZhc3RlciBtNF9zaGlmdDIgYW5k
IDIgYXJndW1lbnRzLCByYXRoZXIgdGhhbgorLSMgX200X3NoaWZ0MiBhbmQgb25lIGFyZ3VtZW50
LCBhcyB0aGUgc2lnbmFsIHRvIGVuZCByZWN1cnNpb24uCistIworLSMgUGxlYXNlIGtlZXAgZm9y
ZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9kZWZp
bmUoW200X3NldF9hZGRfYWxsXSwKKy1bbTRfZGVmaW5lKFtfbTRfc2V0X3NpemUoJDEpXSwgbTRf
ZXZhbChtNF9zZXRfc2l6ZShbJDFdKQorLSAgKyBtNF9sZW4obTRfaWZkZWYoW19tNF9zZXRfY2xl
YW51cCgkMSldLCBbXyQwX2NoZWNrXSwgW18kMF0pKFskMV0sICRAKSkpKV0pCistCistbTRfZGVm
aW5lKFtfbTRfc2V0X2FkZF9hbGxdLAorLVttNF9pZihbJCNdLCBbMl0sIFtdLAorLSAgICAgICBb
bTRfaWZkZWYoW19tNF9zZXQoWyQxXSwkMyldLCBbXSwKKy0JCSBbbTRfZGVmaW5lKFtfbTRfc2V0
KFskMV0sJDMpXSwgWzFdKW00X3B1c2hkZWYoW19tNF9zZXQoWyQxXSldLAorLQkgICBbJDNdKS1d
KSQwKFskMV0sIG00X3NoaWZ0MigkQCkpXSldKQorLQorLW00X2RlZmluZShbX200X3NldF9hZGRf
YWxsX2NoZWNrXSwKKy1bbTRfaWYoWyQjXSwgWzJdLCBbXSwKKy0gICAgICAgW200X3NldF9hZGQo
WyQxXSwgWyQzXSkkMChbJDFdLCBtNF9zaGlmdDIoJEApKV0pXSkKKy0KKy0jIG00X3NldF9jb250
YWlucyhTRVQsIFZBTFVFLCBbSUYtUFJFU0VOVF0sIFtJRi1BQlNFTlRdKQorLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFeHBhbmQg
SUYtUFJFU0VOVCBpZiBTRVQgY29udGFpbnMgVkFMVUUsIG90aGVyd2lzZSBleHBhbmQgSUYtQUJT
RU5ULgorLSMgVGhpcyBpcyBhbHdheXMgTygxKS4KKy1tNF9kZWZpbmUoW200X3NldF9jb250YWlu
c10sCistW200X2lmZGVmKFtfbTRfc2V0X2NsZWFudXAoJDEpXSwKKy0JICBbbTRfaWYobTRfaWZk
ZWYoW19tNF9zZXQoWyQxXSwkMildLAorLQkJICAgIFttNF9pbmRpcihbX200X3NldChbJDFdLCQy
KV0pXSwgWzBdKSwgWzFdLCBbJDNdLCBbJDRdKV0sCistCSAgW200X2lmZGVmKFtfbTRfc2V0KFsk
MV0sJDIpXSwgWyQzXSwgWyQ0XSldKV0pCistCistIyBtNF9zZXRfY29udGVudHMoU0VULCBbU0VQ
XSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5kIHRvIGEgc2luZ2xl
IHN0cmluZyBjb250YWluaW5nIGFsbCB0aGUgZWxlbWVudHMgaW4gU0VULAorLSMgc2VwYXJhdGVk
IGJ5IFNFUCwgd2l0aG91dCBtb2RpZnlpbmcgU0VULiAgTm8gcHJvdmlzaW9uIGlzIG1hZGUgZm9y
CistIyBkaXNhbWJpZ3VhdGluZyBzZXQgZWxlbWVudHMgdGhhdCBjb250YWluIG5vbi1lbXB0eSBT
RVAgYXMgYQorLSMgc3ViLXN0cmluZywgb3IgZm9yIHJlY29nbml6aW5nIGEgc2V0IHRoYXQgY29u
dGFpbnMgb25seSB0aGUgZW1wdHkKKy0jIHN0cmluZy4gIE9yZGVyIG9mIHRoZSBvdXRwdXQgaXMg
bm90IGd1YXJhbnRlZWQuICBJZiBhbnkgZWxlbWVudHMKKy0jIGhhdmUgYmVlbiBwcmV2aW91c2x5
IHJlbW92ZWQgZnJvbSB0aGUgc2V0LCB0aGlzIGFjdGlvbiB3aWxsIHBydW5lCistIyB0aGUgdW51
c2VkIG1lbW9yeS4gIFRoaXMgaXMgTyhuKSBpbiB0aGUgc2l6ZSBvZiB0aGUgc2V0IGJlZm9yZQor
LSMgcHJ1bmluZy4KKy0jCistIyBVc2UgX200X3BvcGRlZiBmb3Igc3BlZWQuICBUaGUgZXhpc3Rl
bmNlIG9mIF9tNF9zZXRfY2xlYW51cCgkMSkKKy0jIGRldGVybWluZXMgd2hpY2ggdmVyc2lvbiBv
ZiBfMSBoZWxwZXIgd2UgdXNlLgorLW00X2RlZmluZShbbTRfc2V0X2NvbnRlbnRzXSwKKy1bbTRf
c2V0X21hcF9zZXAoWyQxXSwgW10sIFtdLCBbWyQyXV0pXSkKKy0KKy0jIF9tNF9zZXRfY29udGVu
dHNfMShTRVQpCistIyBfbTRfc2V0X2NvbnRlbnRzXzFjKFNFVCkKKy0jIF9tNF9zZXRfY29udGVu
dHNfMihTRVQsIFtQUkVdLCBbUE9TVF0sIFtTRVBdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFeHBhbmQgdG8gYSBsaXN0IG9mIHF1b3RlZCBl
bGVtZW50cyBjdXJyZW50bHkgaW4gdGhlIHNldCwgZWFjaAorLSMgc3Vycm91bmRlZCBieSBQUkUg
YW5kIFBPU1QsIGFuZCBtb3ZpbmcgU0VQIGluIGZyb250IG9mIFBSRSBvbgorLSMgcmVjdXJzaW9u
LiAgVG8gYXZvaWQgbmVzdGluZyBsaW1pdCByZXN0cmljdGlvbnMsIHRoZSBhbGdvcml0aG0gbXVz
dAorLSMgYmUgYnJva2VuIGludG8gdHdvIHBhcnRzOyBfMSBkZXN0cnVjdGl2ZWx5IGNvcGllcyB0
aGUgc3RhY2sgaW4KKy0jIHJldmVyc2UgaW50byBfbTRfc2V0XygkMSksIHByb2R1Y2luZyBubyBv
dXRwdXQ7IHRoZW4gXzIKKy0jIGRlc3RydWN0aXZlbHkgY29waWVzIF9tNF9zZXRfKCQxKSBiYWNr
IGludG8gdGhlIHN0YWNrIGluIHJldmVyc2UuCistIyBJZiBubyBlbGVtZW50cyB3ZXJlIGRlbGV0
ZWQsIHRoZW4gdGhpcyB2aXNpdHMgdGhlIHNldCBpbiB0aGUgb3JkZXIKKy0jIHRoYXQgZWxlbWVu
dHMgd2VyZSBpbnNlcnRlZC4gIEJlaGF2aW9yIGlzIHVuZGVmaW5lZCBpZiBQUkUvUE9TVC9TRVAK
Ky0jIHRyaWVzIHRvIHJlY3Vyc2l2ZWx5IGxpc3Qgb3IgbW9kaWZ5IFNFVCBpbiBhbnkgd2F5IG90
aGVyIHRoYW4KKy0jIGNhbGxpbmcgbTRfc2V0X3JlbW92ZSBvbiB0aGUgY3VycmVudCBlbGVtZW50
LiAgVXNlIF8xIGlmIGFsbCBlbnRyaWVzCistIyBpbiB0aGUgc3RhY2sgYXJlIGd1YXJhbnRlZWQg
dG8gYmUgaW4gdGhlIHNldCwgYW5kIF8xYyB0byBwcnVuZQorLSMgcmVtb3ZlZCBlbnRyaWVzLiAg
VXNlcyBfbTRfZGVmbiBhbmQgX200X3BvcGRlZiBmb3Igc3BlZWQuCistbTRfZGVmaW5lKFtfbTRf
c2V0X2NvbnRlbnRzXzFdLAorLVtfbTRfc3RhY2tfcmV2ZXJzZShbX200X3NldChbJDFdKV0sIFtf
bTRfc2V0XygkMSldKV0pCistCistbTRfZGVmaW5lKFtfbTRfc2V0X2NvbnRlbnRzXzFjXSwKKy1b
bTRfaWZkZWYoW19tNF9zZXQoWyQxXSldLAorLQkgIFttNF9zZXRfY29udGFpbnMoWyQxXSwgX200
X2RlZm4oW19tNF9zZXQoWyQxXSldKSwKKy0JCSAgIFttNF9wdXNoZGVmKFtfbTRfc2V0XygkMSld
LCBfbTRfZGVmbihbX200X3NldChbJDFdKV0pKV0sCistCQkgICBbX200X3BvcGRlZihbX200X3Nl
dChbJDFdLF1fbTRfZGVmbigKKy0gICAgICBbX200X3NldChbJDFdKV0pWyldKV0pX200X3BvcGRl
ZihbX200X3NldChbJDFdKV0pJDAoWyQxXSldLAorLQkgIFtfbTRfcG9wZGVmKFtfbTRfc2V0X2Ns
ZWFudXAoJDEpXSldKV0pCistCistbTRfZGVmaW5lKFtfbTRfc2V0X2NvbnRlbnRzXzJdLAorLVtf
bTRfc3RhY2tfcmV2ZXJzZShbX200X3NldF8oJDEpXSwgW19tNF9zZXQoWyQxXSldLAorLSAgWyQy
W11fbTRfZGVmbihbX200X3NldF8oJDEpXSkkM10sIFskNFtdXSldKQorLQorLSMgbTRfc2V0X2Rl
bGV0ZShTRVQpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlbGV0ZSBhbGwgZWxlbWVudHMg
aW4gU0VULCBhbmQgcmVjbGFpbSBhbnkgbWVtb3J5IG9jY3VwaWVkIGJ5IHRoZQorLSMgc2V0LiAg
VGhpcyBpcyBPKG4pIGluIHRoZSBzZXQgc2l6ZS4KKy0jCistIyBVc2UgX200X2RlZm4gYW5kIF9t
NF9wb3BkZWYgZm9yIHNwZWVkLgorLW00X2RlZmluZShbbTRfc2V0X2RlbGV0ZV0sCistW200X2lm
ZGVmKFtfbTRfc2V0KFskMV0pXSwKKy0JICBbX200X3BvcGRlZihbX200X3NldChbJDFdLF1fbTRf
ZGVmbihbX200X3NldChbJDFdKV0pWyldLAorLQkJICAgICAgW19tNF9zZXQoWyQxXSldKSQwKFsk
MV0pXSwKKy0JICBbbTRfaWZkZWYoW19tNF9zZXRfY2xlYW51cCgkMSldLAorLQkJICAgIFtfbTRf
cG9wZGVmKFtfbTRfc2V0X2NsZWFudXAoJDEpXSldKW00X2lmZGVmKAorLQkJICAgIFtfbTRfc2V0
X3NpemUoJDEpXSwKKy0JCSAgICBbX200X3BvcGRlZihbX200X3NldF9zaXplKCQxKV0pXSldKV0p
CistCistIyBtNF9zZXRfZGlmZmVyZW5jZShTRVQxLCBTRVQyKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIFByb2R1Y2UgYSBMSVNUIG9mIHF1b3RlZCBlbGVtZW50cyB0aGF0
IG9jY3VyIGluIFNFVDEgYnV0IG5vdCBTRVQyLgorLSMgT3V0cHV0IGEgY29tbWEgcHJpb3IgdG8g
YW55IGVsZW1lbnRzLCB0byBkaXN0aW5ndWlzaCB0aGUgZW1wdHkKKy0jIHN0cmluZyBmcm9tIG5v
IGVsZW1lbnRzLiAgVGhpcyBjYW4gYmUgZGlyZWN0bHkgdXNlZCBhcyBhIHNlcmllcyBvZgorLSMg
YXJndW1lbnRzLCBzdWNoIGFzIGZvciBtNF9qb2luLCBvciB3cmFwcGVkIGluc2lkZSBxdW90ZXMg
Zm9yIHVzZSBpbgorLSMgbTRfZm9yZWFjaC4gIE9yZGVyIG9mIHRoZSBvdXRwdXQgaXMgbm90IGd1
YXJhbnRlZWQuCistIworLSMgU2hvcnQtY2lyY3VpdCB0aGUgaWRlbXBvdGVuY2UgcmVsYXRpb24u
CistbTRfZGVmaW5lKFttNF9zZXRfZGlmZmVyZW5jZV0sCistW200X2lmKFskMV0sIFskMl0sIFtd
LCBbbTRfc2V0X21hcF9zZXAoWyQxXSwgW18kMChbJDJdLF0sIFspXSldKV0pCistCistbTRfZGVm
aW5lKFtfbTRfc2V0X2RpZmZlcmVuY2VdLAorLVttNF9zZXRfY29udGFpbnMoWyQxXSwgWyQyXSwg
W10sIFssWyQyXV0pXSkKKy0KKy0jIG00X3NldF9kdW1wKFNFVCwgW1NFUF0pCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5kIHRvIGEgc2luZ2xlIHN0cmluZyBjb250YWluaW5n
IGFsbCB0aGUgZWxlbWVudHMgaW4gU0VULAorLSMgc2VwYXJhdGVkIGJ5IFNFUCwgdGhlbiBkZWxl
dGUgU0VULiAgSW4gZ2VuZXJhbCwgaWYgeW91IG9ubHkgbmVlZCB0bworLSMgbGlzdCB0aGUgY29u
dGVudHMgb25jZSwgdGhpcyBpcyBmYXN0ZXIgdGhhbiBtNF9zZXRfY29udGVudHMuICBObworLSMg
cHJvdmlzaW9uIGlzIG1hZGUgZm9yIGRpc2FtYmlndWF0aW5nIHNldCBlbGVtZW50cyB0aGF0IGNv
bnRhaW4KKy0jIG5vbi1lbXB0eSBTRVAgYXMgYSBzdWItc3RyaW5nLiAgT3JkZXIgb2YgdGhlIG91
dHB1dCBpcyBub3QKKy0jIGd1YXJhbnRlZWQuICBUaGlzIGlzIE8obikgaW4gdGhlIHNpemUgb2Yg
dGhlIHNldCBiZWZvcmUgcHJ1bmluZy4KKy0jCistIyBVc2UgX200X3BvcGRlZiBmb3Igc3BlZWQu
ICBVc2UgZXhpc3RlbmNlIG9mIF9tNF9zZXRfY2xlYW51cCgkMSkgdG8KKy0jIGRlY2lkZSBpZiBt
b3JlIGV4cGVuc2l2ZSByZWN1cnNpb24gaXMgbmVlZGVkLgorLW00X2RlZmluZShbbTRfc2V0X2R1
bXBdLAorLVttNF9pZmRlZihbX200X3NldF9zaXplKCQxKV0sCistCSAgW19tNF9wb3BkZWYoW19t
NF9zZXRfc2l6ZSgkMSldKV0pbTRfaWZkZWYoW19tNF9zZXRfY2xlYW51cCgkMSldLAorLSAgICBb
XyQwX2NoZWNrXSwgW18kMF0pKFskMV0sIFtdLCBbJDJdKV0pCistCistIyBfbTRfc2V0X2R1bXAo
U0VULCBbU0VQXSwgW1BSRVBdKQorLSMgX200X3NldF9kdW1wX2NoZWNrKFNFVCwgW1NFUF0sIFtQ
UkVQXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQcmlu
dCBTRVAgYW5kIHRoZSBjdXJyZW50IGVsZW1lbnQsIHRoZW4gZGVsZXRlIHRoZSBlbGVtZW50IGFu
ZAorLSMgcmVjdXJzZSB3aXRoIGVtcHR5IFNFUCBjaGFuZ2VkIHRvIFBSRVAuICBUaGUgY2hlY2sg
dmFyaWFudCBjaGVja3MKKy0jIHdoZXRoZXIgdGhlIGVsZW1lbnQgaGFzIGJlZW4gcHJldmlvdXNs
eSByZW1vdmVkLiAgVXNlIF9tNF9kZWZuIGFuZAorLSMgX200X3BvcGRlZiBmb3Igc3BlZWQuCist
bTRfZGVmaW5lKFtfbTRfc2V0X2R1bXBdLAorLVttNF9pZmRlZihbX200X3NldChbJDFdKV0sCist
CSAgW1skMl1fbTRfZGVmbihbX200X3NldChbJDFdKV0pX200X3BvcGRlZihbX200X3NldChbJDFd
LF1fbTRfZGVmbigKKy0JCVtfbTRfc2V0KFskMV0pXSlbKV0sIFtfbTRfc2V0KFskMV0pXSkkMChb
JDFdLCBbJDIkM10pXSldKQorLQorLW00X2RlZmluZShbX200X3NldF9kdW1wX2NoZWNrXSwKKy1b
bTRfaWZkZWYoW19tNF9zZXQoWyQxXSldLAorLQkgIFttNF9zZXRfY29udGFpbnMoWyQxXSwgX200
X2RlZm4oW19tNF9zZXQoWyQxXSldKSwKKy0JCQkgICBbWyQyXV9tNF9kZWZuKFtfbTRfc2V0KFsk
MV0pXSldKV9tNF9wb3BkZWYoCistICAgIFtfbTRfc2V0KFskMV0sXV9tNF9kZWZuKFtfbTRfc2V0
KFskMV0pXSlbKV0sCistICAgIFtfbTRfc2V0KFskMV0pXSkkMChbJDFdLCBbJDIkM10pXSwKKy0J
ICBbX200X3BvcGRlZihbX200X3NldF9jbGVhbnVwKCQxKV0pXSldKQorLQorLSMgbTRfc2V0X2Vt
cHR5KFNFVCwgW0lGLUVNUFRZXSwgW0lGLUVMRU1FTlRTXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFeHBhbmQgSUYtRU1QVFkgaWYgU0VUIGhh
cyBubyBlbGVtZW50cywgb3RoZXJ3aXNlIElGLUVMRU1FTlRTLgorLW00X2RlZmluZShbbTRfc2V0
X2VtcHR5XSwKKy1bbTRfaWZkZWYoW19tNF9zZXRfc2l6ZSgkMSldLAorLQkgIFttNF9pZihtNF9p
bmRpcihbX200X3NldF9zaXplKCQxKV0pLCBbMF0sIFskMl0sIFskM10pXSwgWyQyXSldKQorLQor
LSMgbTRfc2V0X2ZvcmVhY2goU0VULCBWQVIsIEFDVElPTikKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBGb3IgZWFjaCBlbGVtZW50IG9mIFNFVCwgZGVmaW5lIFZBUiB0
byB0aGUgZWxlbWVudCBhbmQgZXhwYW5kCistIyBBQ1RJT04uICBBQ1RJT04gc2hvdWxkIG5vdCBy
ZWN1cnNpdmVseSBsaXN0IFNFVCdzIGNvbnRlbnRzLCBhZGQKKy0jIGVsZW1lbnRzIHRvIFNFVCwg
bm9yIGRlbGV0ZSBhbnkgZWxlbWVudCBmcm9tIFNFVCBleGNlcHQgdGhlIG9uZQorLSMgY3VycmVu
dGx5IGluIFZBUi4gIFRoZSBvcmRlciB0aGF0IHRoZSBlbGVtZW50cyBhcmUgdmlzaXRlZCBpbiBp
cyBub3QKKy0jIGd1YXJhbnRlZWQuICBUaGlzIGlzIGZhc3RlciB0aGFuIHRoZSBjb3JyZXNwb25k
aW5nIG00X2ZvcmVhY2goW1ZBUl0sCistIyAgIG00X2luZGlyKFttNF9kcXVvdGVdbTRfc2V0X2xp
c3RjKFtTRVRdKSksIFtBQ1RJT05dKQorLW00X2RlZmluZShbbTRfc2V0X2ZvcmVhY2hdLAorLVtt
NF9wdXNoZGVmKFskMl0pbTRfc2V0X21hcF9zZXAoWyQxXSwKKy1bbTRfZGVmaW5lKFskMl0sXSwg
WykkM10pbTRfcG9wZGVmKFskMl0pXSkKKy0KKy0jIG00X3NldF9pbnRlcnNlY3Rpb24oU0VUMSwg
U0VUMikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFByb2R1Y2UgYSBM
SVNUIG9mIHF1b3RlZCBlbGVtZW50cyB0aGF0IG9jY3VyIGluIGJvdGggU0VUMSBvciBTRVQyLgor
LSMgT3V0cHV0IGEgY29tbWEgcHJpb3IgdG8gYW55IGVsZW1lbnRzLCB0byBkaXN0aW5ndWlzaCB0
aGUgZW1wdHkKKy0jIHN0cmluZyBmcm9tIG5vIGVsZW1lbnRzLiAgVGhpcyBjYW4gYmUgZGlyZWN0
bHkgdXNlZCBhcyBhIHNlcmllcyBvZgorLSMgYXJndW1lbnRzLCBzdWNoIGFzIGZvciBtNF9qb2lu
LCBvciB3cmFwcGVkIGluc2lkZSBxdW90ZXMgZm9yIHVzZSBpbgorLSMgbTRfZm9yZWFjaC4gIE9y
ZGVyIG9mIHRoZSBvdXRwdXQgaXMgbm90IGd1YXJhbnRlZWQuCistIworLSMgSXRlcmF0ZSBvdmVy
IHRoZSBzbWFsbGVyIHNldCwgYW5kIHNob3J0LWNpcmN1aXQgdGhlIGlkZW1wb3RlbmNlCistIyBy
ZWxhdGlvbi4KKy1tNF9kZWZpbmUoW200X3NldF9pbnRlcnNlY3Rpb25dLAorLVttNF9pZihbJDFd
LCBbJDJdLCBbbTRfc2V0X2xpc3RjKFskMV0pXSwKKy0gICAgICAgbTRfZXZhbChtNF9zZXRfc2l6
ZShbJDJdKSA8IG00X3NldF9zaXplKFskMV0pKSwgWzFdLCBbJDAoWyQyXSwgWyQxXSldLAorLSAg
ICAgICBbbTRfc2V0X21hcF9zZXAoWyQxXSwgW18kMChbJDJdLF0sIFspXSldKV0pCistCistbTRf
ZGVmaW5lKFtfbTRfc2V0X2ludGVyc2VjdGlvbl0sCistW200X3NldF9jb250YWlucyhbJDFdLCBb
JDJdLCBbLFskMl1dKV0pCistCistIyBtNF9zZXRfbGlzdChTRVQpCistIyBtNF9zZXRfbGlzdGMo
U0VUKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFByb2R1Y2UgYSBMSVNUIG9mIHF1b3RlZCBl
bGVtZW50cyBvZiBTRVQuICBUaGlzIGNhbiBiZSBkaXJlY3RseSB1c2VkCistIyBhcyBhIHNlcmll
cyBvZiBhcmd1bWVudHMsIHN1Y2ggYXMgZm9yIG00X2pvaW4gb3IgbTRfc2V0X2FkZF9hbGwsIG9y
CistIyB3cmFwcGVkIGluc2lkZSBxdW90ZXMgZm9yIHVzZSBpbiBtNF9mb3JlYWNoIG9yIG00X21h
cC4gIFdpdGgKKy0jIG00X3NldF9saXN0LCB0aGVyZSBpcyBubyB3YXkgdG8gZGlzdGluZ3Vpc2gg
YW4gZW1wdHkgc2V0IGZyb20gYSBzZXQKKy0jIGNvbnRhaW5pbmcgb25seSB0aGUgZW1wdHkgc3Ry
aW5nOyB3aXRoIG00X3NldF9saXN0YywgYSBsZWFkaW5nIGNvbW1hCistIyBpcyBvdXRwdXQgaWYg
dGhlcmUgYXJlIGFueSBlbGVtZW50cy4KKy1tNF9kZWZpbmUoW200X3NldF9saXN0XSwKKy1bbTRf
c2V0X21hcF9zZXAoWyQxXSwgW10sIFtdLCBbLF0pXSkKKy0KKy1tNF9kZWZpbmUoW200X3NldF9s
aXN0Y10sCistW200X3NldF9tYXBfc2VwKFskMV0sIFssXSldKQorLQorLSMgbTRfc2V0X21hcChT
RVQsIEFDVElPTikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBGb3IgZWFjaCBlbGVt
ZW50IG9mIFNFVCwgZXhwYW5kIEFDVElPTiB3aXRoIGEgc2luZ2xlIGFyZ3VtZW50IG9mIHRoZQor
LSMgY3VycmVudCBlbGVtZW50LiAgQUNUSU9OIHNob3VsZCBub3QgcmVjdXJzaXZlbHkgbGlzdCBT
RVQncyBjb250ZW50cywKKy0jIGFkZCBlbGVtZW50cyB0byBTRVQsIG5vciBkZWxldGUgYW55IGVs
ZW1lbnQgZnJvbSBTRVQgZXhjZXB0IHRoZSBvbmUKKy0jIHBhc3NlZCBhcyBhbiBhcmd1bWVudC4g
IFRoZSBvcmRlciB0aGF0IHRoZSBlbGVtZW50cyBhcmUgdmlzaXRlZCBpbgorLSMgaXMgbm90IGd1
YXJhbnRlZWQuICBUaGlzIGlzIGZhc3RlciB0aGFuIGVpdGhlciBvZiB0aGUgY29ycmVzcG9uZGlu
ZworLSMgICBtNF9tYXBfYXJncyhbQUNUSU9OXW00X3NldF9saXN0YyhbU0VUXSkpCistIyAgIG00
X3NldF9mb3JlYWNoKFtTRVRdLCBbVkFSXSwgW0FDVElPTihtNF9kZWZuKFtWQVJdKSldKQorLW00
X2RlZmluZShbbTRfc2V0X21hcF0sCistW200X3NldF9tYXBfc2VwKFskMV0sIFskMihdLCBbKV0p
XSkKKy0KKy0jIG00X3NldF9tYXBfc2VwKFNFVCwgW1BSRV0sIFtQT1NUXSwgW1NFUF0pCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRm9yIGVhY2ggZWxl
bWVudCBvZiBTRVQsIGV4cGFuZCBQUkVbdmFsdWVdUE9TVFtdLCBhbmQgZXhwYW5kIFNFUAorLSMg
YmV0d2VlbiBlbGVtZW50cy4KKy1tNF9kZWZpbmUoW200X3NldF9tYXBfc2VwXSwKKy1bbTRfaWZk
ZWYoW19tNF9zZXRfY2xlYW51cCgkMSldLCBbX200X3NldF9jb250ZW50c18xY10sCistCSAgW19t
NF9zZXRfY29udGVudHNfMV0pKFskMV0pX200X3NldF9jb250ZW50c18yKCRAKV0pCistCistIyBt
NF9zZXRfcmVtb3ZlKFNFVCwgVkFMVUUsIFtJRi1QUkVTRU5UXSwgW0lGLUFCU0VOVF0pCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJ
ZiBWQUxVRSBpcyBhbiBlbGVtZW50IG9mIFNFVCwgZGVsZXRlIGl0IGFuZCBleHBhbmQgSUYtUFJF
U0VOVC4KKy0jIE90aGVyd2lzZSBleHBhbmQgSUYtQUJTRU5ULiAgRGVsZXRpbmcgYSBzaW5nbGUg
dmFsdWUgaXMgTygxKSwKKy0jIGFsdGhvdWdoIGl0IGxlYXZlcyBtZW1vcnkgb2NjdXBpZWQgdW50
aWwgdGhlIG5leHQgTyhuKSB0cmF2ZXJzYWwgb2YKKy0jIHRoZSBzZXQgd2hpY2ggd2lsbCBjb21w
YWN0IHRoZSBzZXQuCistIworLSMgT3B0aW1pemUgaWYgdGhlIGVsZW1lbnQgYmVpbmcgcmVtb3Zl
ZCBpcyB0aGUgbW9zdCByZWNlbnRseSBhZGRlZCwKKy0jIHNpbmNlIGRlZmluaW5nIF9tNF9zZXRf
Y2xlYW51cCgkMSkgc2xvd3MgZG93biBzbyBtYW55IG90aGVyIG1hY3Jvcy4KKy0jIEluIHBhcnRp
Y3VsYXIsIHRoaXMgcGxheXMgd2VsbCB3aXRoIG00X3NldF9mb3JlYWNoIGFuZCBtNF9zZXRfbWFw
LgorLW00X2RlZmluZShbbTRfc2V0X3JlbW92ZV0sCistW200X3NldF9jb250YWlucyhbJDFdLCBb
JDJdLCBbX200X3NldF9zaXplKFskMV0sCistICAgIFttNF9kZWNyXSltNF9pZihfbTRfZGVmbihb
X200X3NldChbJDFdKV0pLCBbJDJdLAorLQkJICAgIFtfbTRfcG9wZGVmKFtfbTRfc2V0KFskMV0s
JDIpXSwgW19tNF9zZXQoWyQxXSldKV0sCistCQkgICAgW200X2RlZmluZShbX200X3NldF9jbGVh
bnVwKCQxKV0pbTRfZGVmaW5lKAorLQkJICAgICAgW19tNF9zZXQoWyQxXSwkMildLCBbMF0pXSkk
M10sIFskNF0pXSkKKy0KKy0jIG00X3NldF9zaXplKFNFVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0K
Ky0jIEV4cGFuZCB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGN1cnJlbnRseSBpbiBTRVQuICBU
aGlzIG9wZXJhdGlvbgorLSMgaXMgTygxKSwgYW5kIHRodXMgbW9yZSBlZmZpY2llbnQgdGhhbiBt
NF9jb3VudChtNF9zZXRfbGlzdChbU0VUXSkpLgorLW00X2RlZmluZShbbTRfc2V0X3NpemVdLAor
LVttNF9pZmRlZihbX200X3NldF9zaXplKCQxKV0sIFttNF9pbmRpcihbX200X3NldF9zaXplKCQx
KV0pXSwgWzBdKV0pCistCistIyBfbTRfc2V0X3NpemUoU0VULCBBQ1RJT04pCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBBQ1RJT04gbXVzdCBiZSBlaXRoZXIgbTRfaW5jciBvciBt
NF9kZWNyLCBhbmQgdGhlIHNpemUgb2YgU0VUIGlzCistIyBjaGFuZ2VkIGFjY29yZGluZ2x5LiAg
SWYgdGhlIHNldCBpcyBlbXB0eSwgQUNUSU9OIG11c3Qgbm90IGJlCistIyBtNF9kZWNyLgorLW00
X2RlZmluZShbX200X3NldF9zaXplXSwKKy1bbTRfZGVmaW5lKFtfbTRfc2V0X3NpemUoJDEpXSwK
Ky0JICAgbTRfaWZkZWYoW19tNF9zZXRfc2l6ZSgkMSldLCBbJDIobTRfaW5kaXIoW19tNF9zZXRf
c2l6ZSgkMSldKSldLAorLQkJICAgIFsxXSkpXSkKKy0KKy0jIG00X3NldF91bmlvbihTRVQxLCBT
RVQyKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQcm9kdWNlIGEgTElTVCBvZiBk
b3VibGUgcXVvdGVkIGVsZW1lbnRzIHRoYXQgb2NjdXIgaW4gZWl0aGVyIFNFVDEKKy0jIG9yIFNF
VDIsIHdpdGhvdXQgZHVwbGljYXRlcy4gIE91dHB1dCBhIGNvbW1hIHByaW9yIHRvIGFueSBlbGVt
ZW50cywKKy0jIHRvIGRpc3Rpbmd1aXNoIHRoZSBlbXB0eSBzdHJpbmcgZnJvbSBubyBlbGVtZW50
cy4gIFRoaXMgY2FuIGJlCistIyBkaXJlY3RseSB1c2VkIGFzIGEgc2VyaWVzIG9mIGFyZ3VtZW50
cywgc3VjaCBhcyBmb3IgbTRfam9pbiwgb3IKKy0jIHdyYXBwZWQgaW5zaWRlIHF1b3RlcyBmb3Ig
dXNlIGluIG00X2ZvcmVhY2guICBPcmRlciBvZiB0aGUgb3V0cHV0IGlzCistIyBub3QgZ3VhcmFu
dGVlZC4KKy0jCistIyBXZSBjYW4gcmVseSBvbiB0aGUgZmFjdCB0aGF0IG00X3NldF9saXN0YyBw
cnVuZXMgU0VUMSwgc28gd2UgZG9uJ3QKKy0jIG5lZWQgdG8gY2hlY2sgX200X3NldChbJDFdLGVs
ZW1lbnQpIGZvciAwLiAgU2hvcnQtY2lyY3VpdCB0aGUKKy0jIGlkZW1wb3RlbmNlIHJlbGF0aW9u
LgorLW00X2RlZmluZShbbTRfc2V0X3VuaW9uXSwKKy1bbTRfc2V0X2xpc3RjKFskMV0pbTRfaWYo
WyQxXSwgWyQyXSwgW10sCistICBbbTRfc2V0X21hcF9zZXAoWyQyXSwgW18kMChbJDFdLF0sIFsp
XSldKV0pCistCistbTRfZGVmaW5lKFtfbTRfc2V0X3VuaW9uXSwKKy1bbTRfaWZkZWYoW19tNF9z
ZXQoWyQxXSwkMildLCBbXSwgWyxbJDJdXSldKQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0t
LS0gIyMKKy0jIyAxNi4gRmlsZSBoYW5kbGluZy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LSAjIworLQorLQorLSMgSXQgaXMgYSByZWFsIHBpdHkgdGhhdCBNNCBjb21lcyB3aXRoIG5vIG1h
Y3JvcyB0byBiaW5kIGEgZGl2ZXJzaW9uCistIyB0byBhIGZpbGUuICBTbyB3ZSBoYXZlIHRvIGRl
YWwgd2l0aG91dCwgd2hpY2ggbWFrZXMgdXMgYSBsb3QgbW9yZQorLSMgZnJhZ2lsZSB0aGFuIHdl
IHNob3VsZC4KKy0KKy0KKy0jIG00X2ZpbGVfYXBwZW5kKEZJTEUtTkFNRSwgQ09OVEVOVCkKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1tNF9kZWZpbmUoW200X2ZpbGVf
YXBwZW5kXSwKKy1bbTRfc3lzY21kKFtjYXQgPj4kMSA8PF9tNGVvZgorLSQyCistX200ZW9mCist
XSkKKy1tNF9pZihtNF9zeXN2YWwsIFswXSwgW10sCistICAgICAgW200X2ZhdGFsKFskMDogY2Fu
bm90IHdyaXRlOiAkMV0pXSldKQorLQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSAjIworLSMjIDE3LiBTZXR0aW5nIE00c3VnYXIgdXAuICAjIworLSMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSAjIworLQorLSMgX200X2RpdmVydF9kaXZlcnNpb24gc2hvdWxkIGJlIGRlZmlu
ZWQuCistbTRfZGl2ZXJ0X3B1c2goW0tJTExdKQorLQorLSMgbTRfaW5pdAorLSMgLS0tLS0tLQor
LSMgSW5pdGlhbGl6ZSB0aGUgbTRzdWdhciBsYW5ndWFnZS4KKy1tNF9kZWZpbmUoW200X2luaXRd
LAorLVsjIEFsbCB0aGUgTTRzdWdhciBtYWNyb3Mgc3RhcnQgd2l0aCBgbTRfJywgZXhjZXB0IGBk
bmwnIGtlcHQgYXMgaXMKKy0jIGZvciBzYWtlIG9mIHNpbXBsaWNpdHkuCistbTRfcGF0dGVybl9m
b3JiaWQoW15fP200X10pCistbTRfcGF0dGVybl9mb3JiaWQoW15kbmwkXSkKKy0KKy0jIElmIF9f
bTRfdmVyc2lvbl9fIGlzIGRlZmluZWQsIHdlIGFzc3VtZSB0aGF0IHdlIGFyZSBiZWluZyBydW4g
YnkgTTQKKy0jIDEuNiBvciBuZXdlciwgdGh1cyAkQCByZWN1cnNpb24gaXMgbGluZWFyLCBhbmQg
ZGVidWdtb2RlKCtkbykKKy0jIGlzIGF2YWlsYWJsZSBmb3IgZmFzdGVyIGNoZWNrcyBvZiBkZXJl
ZmVyZW5jaW5nIHVuZGVmaW5lZCBtYWNyb3MKKy0jIGFuZCBmb3JjaW5nIGR1bXBkZWYgdG8gcHJp
bnQgdG8gc3RkZXJyIHJlZ2FyZGxlc3Mgb2YgZGVidWdmaWxlLgorLSMgQnV0IGlmIGl0IGlzIG1p
c3NpbmcsIHdlIGFzc3VtZSB3ZSBhcmUgYmVpbmcgcnVuIGJ5IE00IDEuNC54LCB0aGF0CistIyAk
QCByZWN1cnNpb24gaXMgcXVhZHJhdGljLCBhbmQgdGhhdCB3ZSBuZWVkIGZvcmVhY2gtYmFzZWQK
Ky0jIHJlcGxhY2VtZW50IG1hY3Jvcy4gIEFsc28sIG00IHByaW9yIHRvIDEuNC44IGxvc2VzIHRy
YWNrIG9mIGxvY2F0aW9uCistIyBkdXJpbmcgbTR3cmFwIHRleHQ7IF9fbGluZV9fIHNob3VsZCBu
ZXZlciBiZSAwLgorLSMKKy0jIFVzZSB0aGUgcmF3IGJ1aWx0aW4gdG8gYXZvaWQgdHJpcHBpbmcg
dXAgaW5jbHVkZSB0cmFjaW5nLgorLSMgTWVhbndoaWxlLCBhdm9pZCBtNF9jb3B5LCBzaW5jZSBp
dCB0ZW1wb3JhcmlseSB1bmRlZmluZXMgbTRfZGVmbi4KKy1tNF9pZmRlZihbX19tNF92ZXJzaW9u
X19dLAorLVttNF9kZWJ1Z21vZGUoWytkb10pCistbTRfZGVmaW5lKFttNF9kZWZuXSwgX200X2Rl
Zm4oW19tNF9kZWZuXSkpCistbTRfZGVmaW5lKFttNF9kdW1wZGVmXSwgX200X2RlZm4oW19tNF9k
dW1wZGVmXSkpCistbTRfZGVmaW5lKFttNF9wb3BkZWZdLCBfbTRfZGVmbihbX200X3BvcGRlZl0p
KQorLW00X2RlZmluZShbbTRfdW5kZWZpbmVdLCBfbTRfZGVmbihbX200X3VuZGVmaW5lXSkpXSwK
Ky1bbTRfYnVpbHRpbihbaW5jbHVkZV0sIFttNHN1Z2FyL2ZvcmVhY2gubTRdKQorLW00X3dyYXBf
bGlmbyhbbTRfaWYoX19saW5lX18sIFswXSwgW200X3B1c2hkZWYoW200X2xvY2F0aW9uXSwKKy1d
XW00X2RxdW90ZShtNF9kcXVvdGUobTRfZHF1b3RlKF9fZmlsZV9fOl9fbGluZV9fKSkpW1spXSld
KV0pCistCistIyBSZXdyaXRlIHRoZSBmaXJzdCBlbnRyeSBvZiB0aGUgZGl2ZXJzaW9uIHN0YWNr
LgorLW00X2RpdmVydChbS0lMTF0pCistCistIyBDaGVjayB0aGUgZGl2ZXJ0IHB1c2gvcG9wIHBl
cmZlY3QgYmFsYW5jZS4KKy0jIFNvbWUgdXNlcnMgYXJlIHByb25lIHRvIGFsc28gdXNlIG00X3dy
YXAgdG8gcmVnaXN0ZXIgbGFzdC1taW51dGUKKy0jIG00X2RpdmVydF90ZXh0OyBzbyBhZnRlciBv
dXIgZGl2ZXJzaW9uIGNsZWFudXBzLCB3ZSByZXN0b3JlCistIyBLSUxMIGFzIHRoZSBib3R0b20g
b2YgdGhlIGRpdmVyc2lvbiBzdGFjay4KKy1tNF93cmFwKFttNF9wb3BkZWYoW19tNF9kaXZlcnRf
ZGl2ZXJzaW9uXSltNF9pZmRlZigKKy0gIFtfbTRfZGl2ZXJ0X2RpdmVyc2lvbl0sIFttNF9mYXRh
bChbJDA6IHVuYmFsYW5jZWQgbTRfZGl2ZXJ0X3B1c2g6CistXW00X2RpdmVydF9zdGFjayldKV9t
NF9wb3BkZWYoW19tNF9kaXZlcnRfc3RhY2tdKW00X2RpdmVydF9wdXNoKFtLSUxMXSldKQorLV0p
CitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90
aGlyZF9wYXJ0eS9za2VsZXRvbnMvTElDRU5TRSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rv
b2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL0xJQ0VOU0UKK2RlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAoraW5kZXggOTRhOWVkMDI0ZDMuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9u
cy9MSUNFTlNFCisrKysgL2Rldi9udWxsCitAQCAtMSw2NzQgKzAsMCBAQAorLSAgICAgICAgICAg
ICAgICAgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKy0gICAgICAgICAgICAgICAgICAg
ICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CistCistIENvcHlyaWdodCAoQykgMjAwNyBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4gPGh0dHA6Ly9mc2Yub3JnLz4KKy0gRXZlcnlvbmUg
aXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCistIG9m
IHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgor
LQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQorLQorLSAgVGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGEgZnJlZSwgY29weWxlZnQgbGljZW5zZSBmb3IKKy1z
b2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCistCistICBUaGUgbGljZW5zZXMgZm9y
IG1vc3Qgc29mdHdhcmUgYW5kIG90aGVyIHByYWN0aWNhbCB3b3JrcyBhcmUgZGVzaWduZWQKKy10
byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAg
QnkgY29udHJhc3QsCistdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGludGVuZGVk
IHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8KKy1zaGFyZSBhbmQgY2hhbmdlIGFsbCB2ZXJz
aW9ucyBvZiBhIHByb2dyYW0tLXRvIG1ha2Ugc3VyZSBpdCByZW1haW5zIGZyZWUKKy1zb2Z0d2Fy
ZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1
c2UgdGhlCistR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vc3Qgb2Ygb3VyIHNvZnR3
YXJlOyBpdCBhcHBsaWVzIGFsc28gdG8KKy1hbnkgb3RoZXIgd29yayByZWxlYXNlZCB0aGlzIHdh
eSBieSBpdHMgYXV0aG9ycy4gIFlvdSBjYW4gYXBwbHkgaXQgdG8KKy15b3VyIHByb2dyYW1zLCB0
b28uCistCistICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJp
bmcgdG8gZnJlZWRvbSwgbm90CistcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMg
YXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQorLWhhdmUgdGhlIGZyZWVkb20gdG8g
ZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3IKKy10aGVt
IGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0
IGlmIHlvdQorLXdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVz
ZSBwaWVjZXMgb2YgaXQgaW4gbmV3CistZnJlZSBwcm9ncmFtcywgYW5kIHRoYXQgeW91IGtub3cg
eW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCistCistICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3
ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKKy10aGVzZSByaWdodHMg
b3IgYXNraW5nIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4gIFRoZXJlZm9yZSwgeW91IGhh
dmUKKy1jZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9m
IHRoZSBzb2Z0d2FyZSwgb3IgaWYKKy15b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRv
IHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgorLQorLSAgRm9yIGV4YW1wbGUsIGlmIHlv
dSBkaXN0cmlidXRlIGNvcGllcyBvZiBzdWNoIGEgcHJvZ3JhbSwgd2hldGhlcgorLWdyYXRpcyBv
ciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUK
Ky1mcmVlZG9tcyB0aGF0IHlvdSByZWNlaXZlZC4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRo
ZXksIHRvbywgcmVjZWl2ZQorLW9yIGNhbiBnZXQgdGhlIHNvdXJjZSBjb2RlLiAgQW5kIHlvdSBt
dXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5Cista25vdyB0aGVpciByaWdodHMuCist
CistICBEZXZlbG9wZXJzIHRoYXQgdXNlIHRoZSBHTlUgR1BMIHByb3RlY3QgeW91ciByaWdodHMg
d2l0aCB0d28gc3RlcHM6CistKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBh
bmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKKy1naXZpbmcgeW91IGxlZ2FsIHBlcm1pc3Np
b24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IGl0LgorLQorLSAgRm9yIHRoZSBk
ZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxh
aW5zCistdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlIHNvZnR3YXJlLiAg
Rm9yIGJvdGggdXNlcnMnIGFuZAorLWF1dGhvcnMnIHNha2UsIHRoZSBHUEwgcmVxdWlyZXMgdGhh
dCBtb2RpZmllZCB2ZXJzaW9ucyBiZSBtYXJrZWQgYXMKKy1jaGFuZ2VkLCBzbyB0aGF0IHRoZWly
IHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KKy1hdXRob3Jz
IG9mIHByZXZpb3VzIHZlcnNpb25zLgorLQorLSAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0
byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgorLW1vZGlmaWVkIHZlcnNpb25z
IG9mIHRoZSBzb2Z0d2FyZSBpbnNpZGUgdGhlbSwgYWx0aG91Z2ggdGhlIG1hbnVmYWN0dXJlcgor
LWNhbiBkbyBzby4gIFRoaXMgaXMgZnVuZGFtZW50YWxseSBpbmNvbXBhdGlibGUgd2l0aCB0aGUg
YWltIG9mCistcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJl
LiAgVGhlIHN5c3RlbWF0aWMKKy1wYXR0ZXJuIG9mIHN1Y2ggYWJ1c2Ugb2NjdXJzIGluIHRoZSBh
cmVhIG9mIHByb2R1Y3RzIGZvciBpbmRpdmlkdWFscyB0bworLXVzZSwgd2hpY2ggaXMgcHJlY2lz
ZWx5IHdoZXJlIGl0IGlzIG1vc3QgdW5hY2NlcHRhYmxlLiAgVGhlcmVmb3JlLCB3ZQorLWhhdmUg
ZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNl
IGZvciB0aG9zZQorLXByb2R1Y3RzLiAgSWYgc3VjaCBwcm9ibGVtcyBhcmlzZSBzdWJzdGFudGlh
bGx5IGluIG90aGVyIGRvbWFpbnMsIHdlCistc3RhbmQgcmVhZHkgdG8gZXh0ZW5kIHRoaXMgcHJv
dmlzaW9uIHRvIHRob3NlIGRvbWFpbnMgaW4gZnV0dXJlIHZlcnNpb25zCistb2YgdGhlIEdQTCwg
YXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCistCistICBGaW5hbGx5
LCBldmVyeSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZSBwYXRl
bnRzLgorLVN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxv
cG1lbnQgYW5kIHVzZSBvZgorLXNvZnR3YXJlIG9uIGdlbmVyYWwtcHVycG9zZSBjb21wdXRlcnMs
IGJ1dCBpbiB0aG9zZSB0aGF0IGRvLCB3ZSB3aXNoIHRvCistYXZvaWQgdGhlIHNwZWNpYWwgZGFu
Z2VyIHRoYXQgcGF0ZW50cyBhcHBsaWVkIHRvIGEgZnJlZSBwcm9ncmFtIGNvdWxkCistbWFrZSBp
dCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1
cmVzIHRoYXQKKy1wYXRlbnRzIGNhbm5vdCBiZSB1c2VkIHRvIHJlbmRlciB0aGUgcHJvZ3JhbSBu
b24tZnJlZS4KKy0KKy0gIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5
aW5nLCBkaXN0cmlidXRpb24gYW5kCistbW9kaWZpY2F0aW9uIGZvbGxvdy4KKy0KKy0gICAgICAg
ICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCistCistICAwLiBEZWZpbml0aW9u
cy4KKy0KKy0gICJUaGlzIExpY2Vuc2UiIHJlZmVycyB0byB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorLQorLSAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5
cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKKy13b3Jrcywgc3Vj
aCBhcyBzZW1pY29uZHVjdG9yIG1hc2tzLgorLQorLSAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8g
YW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCistTGljZW5zZS4gIEVh
Y2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLiAgIkxpY2Vuc2VlcyIgYW5kCistInJl
Y2lwaWVudHMiIG1heSBiZSBpbmRpdmlkdWFscyBvciBvcmdhbml6YXRpb25zLgorLQorLSAgVG8g
Im1vZGlmeSIgYSB3b3JrIG1lYW5zIHRvIGNvcHkgZnJvbSBvciBhZGFwdCBhbGwgb3IgcGFydCBv
ZiB0aGUgd29yaworLWluIGEgZmFzaGlvbiByZXF1aXJpbmcgY29weXJpZ2h0IHBlcm1pc3Npb24s
IG90aGVyIHRoYW4gdGhlIG1ha2luZyBvZiBhbgorLWV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5n
IHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQorLWVhcmxpZXIgd29y
ayBvciBhIHdvcmsgImJhc2VkIG9uIiB0aGUgZWFybGllciB3b3JrLgorLQorLSAgQSAiY292ZXJl
ZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFz
ZWQKKy1vbiB0aGUgUHJvZ3JhbS4KKy0KKy0gIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0
byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKKy1wZXJtaXNzaW9uLCB3b3VsZCBt
YWtlIHlvdSBkaXJlY3RseSBvciBzZWNvbmRhcmlseSBsaWFibGUgZm9yCistaW5mcmluZ2VtZW50
IHVuZGVyIGFwcGxpY2FibGUgY29weXJpZ2h0IGxhdywgZXhjZXB0IGV4ZWN1dGluZyBpdCBvbiBh
CistY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5j
bHVkZXMgY29weWluZywKKy1kaXN0cmlidXRpb24gKHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp
b24pLCBtYWtpbmcgYXZhaWxhYmxlIHRvIHRoZQorLXB1YmxpYywgYW5kIGluIHNvbWUgY291bnRy
aWVzIG90aGVyIGFjdGl2aXRpZXMgYXMgd2VsbC4KKy0KKy0gIFRvICJjb252ZXkiIGEgd29yayBt
ZWFucyBhbnkga2luZCBvZiBwcm9wYWdhdGlvbiB0aGF0IGVuYWJsZXMgb3RoZXIKKy1wYXJ0aWVz
IHRvIG1ha2Ugb3IgcmVjZWl2ZSBjb3BpZXMuICBNZXJlIGludGVyYWN0aW9uIHdpdGggYSB1c2Vy
IHRocm91Z2gKKy1hIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5
LCBpcyBub3QgY29udmV5aW5nLgorLQorLSAgQW4gaW50ZXJhY3RpdmUgdXNlciBpbnRlcmZhY2Ug
ZGlzcGxheXMgIkFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXMiCistdG8gdGhlIGV4dGVudCB0aGF0
IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQorLWZlYXR1
cmUgdGhhdCAoMSkgZGlzcGxheXMgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSwgYW5k
ICgyKQorLXRlbGxzIHRoZSB1c2VyIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoZSB3
b3JrIChleGNlcHQgdG8gdGhlCistZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQp
LCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQorLXdvcmsgdW5kZXIgdGhpcyBMaWNlbnNl
LCBhbmQgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIElmCistdGhlIGludGVy
ZmFjZSBwcmVzZW50cyBhIGxpc3Qgb2YgdXNlciBjb21tYW5kcyBvciBvcHRpb25zLCBzdWNoIGFz
IGEKKy1tZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVy
aW9uLgorLQorLSAgMS4gU291cmNlIENvZGUuCistCistICBUaGUgInNvdXJjZSBjb2RlIiBmb3Ig
YSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yaworLWZvciBtYWtpbmcg
bW9kaWZpY2F0aW9ucyB0byBpdC4gICJPYmplY3QgY29kZSIgbWVhbnMgYW55IG5vbi1zb3VyY2UK
Ky1mb3JtIG9mIGEgd29yay4KKy0KKy0gIEEgIlN0YW5kYXJkIEludGVyZmFjZSIgbWVhbnMgYW4g
aW50ZXJmYWNlIHRoYXQgZWl0aGVyIGlzIGFuIG9mZmljaWFsCistc3RhbmRhcmQgZGVmaW5lZCBi
eSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgorLWludGVy
ZmFjZXMgc3BlY2lmaWVkIGZvciBhIHBhcnRpY3VsYXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIG9u
ZSB0aGF0CistaXMgd2lkZWx5IHVzZWQgYW1vbmcgZGV2ZWxvcGVycyB3b3JraW5nIGluIHRoYXQg
bGFuZ3VhZ2UuCistCistICBUaGUgIlN5c3RlbSBMaWJyYXJpZXMiIG9mIGFuIGV4ZWN1dGFibGUg
d29yayBpbmNsdWRlIGFueXRoaW5nLCBvdGhlcgorLXRoYW4gdGhlIHdvcmsgYXMgYSB3aG9sZSwg
dGhhdCAoYSkgaXMgaW5jbHVkZWQgaW4gdGhlIG5vcm1hbCBmb3JtIG9mCistcGFja2FnaW5nIGEg
TWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgorLUNv
bXBvbmVudCwgYW5kIChiKSBzZXJ2ZXMgb25seSB0byBlbmFibGUgdXNlIG9mIHRoZSB3b3JrIHdp
dGggdGhhdAorLU1ham9yIENvbXBvbmVudCwgb3IgdG8gaW1wbGVtZW50IGEgU3RhbmRhcmQgSW50
ZXJmYWNlIGZvciB3aGljaCBhbgorLWltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUg
cHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCistIk1ham9yIENvbXBvbmVudCIsIGluIHRo
aXMgY29udGV4dCwgbWVhbnMgYSBtYWpvciBlc3NlbnRpYWwgY29tcG9uZW50CistKGtlcm5lbCwg
d2luZG93IHN5c3RlbSwgYW5kIHNvIG9uKSBvZiB0aGUgc3BlY2lmaWMgb3BlcmF0aW5nIHN5c3Rl
bQorLShpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21w
aWxlciB1c2VkIHRvCistcHJvZHVjZSB0aGUgd29yaywgb3IgYW4gb2JqZWN0IGNvZGUgaW50ZXJw
cmV0ZXIgdXNlZCB0byBydW4gaXQuCistCistICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBm
b3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCistdGhlIHNvdXJjZSBjb2Rl
IG5lZWRlZCB0byBnZW5lcmF0ZSwgaW5zdGFsbCwgYW5kIChmb3IgYW4gZXhlY3V0YWJsZQorLXdv
cmspIHJ1biB0aGUgb2JqZWN0IGNvZGUgYW5kIHRvIG1vZGlmeSB0aGUgd29yaywgaW5jbHVkaW5n
IHNjcmlwdHMgdG8KKy1jb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2Vz
IG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKKy1TeXN0ZW0gTGlicmFyaWVzLCBvciBnZW5lcmFsLXB1
cnBvc2UgdG9vbHMgb3IgZ2VuZXJhbGx5IGF2YWlsYWJsZSBmcmVlCistcHJvZ3JhbXMgd2hpY2gg
YXJlIHVzZWQgdW5tb2RpZmllZCBpbiBwZXJmb3JtaW5nIHRob3NlIGFjdGl2aXRpZXMgYnV0Cist
d2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRp
bmcgU291cmNlCistaW5jbHVkZXMgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMgYXNzb2NpYXRl
ZCB3aXRoIHNvdXJjZSBmaWxlcyBmb3IKKy10aGUgd29yaywgYW5kIHRoZSBzb3VyY2UgY29kZSBm
b3Igc2hhcmVkIGxpYnJhcmllcyBhbmQgZHluYW1pY2FsbHkKKy1saW5rZWQgc3VicHJvZ3JhbXMg
dGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKKy1zdWNo
IGFzIGJ5IGludGltYXRlIGRhdGEgY29tbXVuaWNhdGlvbiBvciBjb250cm9sIGZsb3cgYmV0d2Vl
biB0aG9zZQorLXN1YnByb2dyYW1zIGFuZCBvdGhlciBwYXJ0cyBvZiB0aGUgd29yay4KKy0KKy0g
IFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBuZWVkIG5vdCBpbmNsdWRlIGFueXRoaW5nIHRoYXQg
dXNlcnMKKy1jYW4gcmVnZW5lcmF0ZSBhdXRvbWF0aWNhbGx5IGZyb20gb3RoZXIgcGFydHMgb2Yg
dGhlIENvcnJlc3BvbmRpbmcKKy1Tb3VyY2UuCistCistICBUaGUgQ29ycmVzcG9uZGluZyBTb3Vy
Y2UgZm9yIGEgd29yayBpbiBzb3VyY2UgY29kZSBmb3JtIGlzIHRoYXQKKy1zYW1lIHdvcmsuCist
CistICAyLiBCYXNpYyBQZXJtaXNzaW9ucy4KKy0KKy0gIEFsbCByaWdodHMgZ3JhbnRlZCB1bmRl
ciB0aGlzIExpY2Vuc2UgYXJlIGdyYW50ZWQgZm9yIHRoZSB0ZXJtIG9mCistY29weXJpZ2h0IG9u
IHRoZSBQcm9ncmFtLCBhbmQgYXJlIGlycmV2b2NhYmxlIHByb3ZpZGVkIHRoZSBzdGF0ZWQKKy1j
b25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIg
dW5saW1pdGVkCistcGVybWlzc2lvbiB0byBydW4gdGhlIHVubW9kaWZpZWQgUHJvZ3JhbS4gIFRo
ZSBvdXRwdXQgZnJvbSBydW5uaW5nIGEKKy1jb3ZlcmVkIHdvcmsgaXMgY292ZXJlZCBieSB0aGlz
IExpY2Vuc2Ugb25seSBpZiB0aGUgb3V0cHV0LCBnaXZlbiBpdHMKKy1jb250ZW50LCBjb25zdGl0
dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgorLXJp
Z2h0cyBvZiBmYWlyIHVzZSBvciBvdGhlciBlcXVpdmFsZW50LCBhcyBwcm92aWRlZCBieSBjb3B5
cmlnaHQgbGF3LgorLQorLSAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVk
IHdvcmtzIHRoYXQgeW91IGRvIG5vdAorLWNvbnZleSwgd2l0aG91dCBjb25kaXRpb25zIHNvIGxv
bmcgYXMgeW91ciBsaWNlbnNlIG90aGVyd2lzZSByZW1haW5zCistaW4gZm9yY2UuICBZb3UgbWF5
IGNvbnZleSBjb3ZlcmVkIHdvcmtzIHRvIG90aGVycyBmb3IgdGhlIHNvbGUgcHVycG9zZQorLW9m
IGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBw
cm92aWRlIHlvdQorLXdpdGggZmFjaWxpdGllcyBmb3IgcnVubmluZyB0aG9zZSB3b3JrcywgcHJv
dmlkZWQgdGhhdCB5b3UgY29tcGx5IHdpdGgKKy10aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlIGlu
IGNvbnZleWluZyBhbGwgbWF0ZXJpYWwgZm9yIHdoaWNoIHlvdSBkbworLW5vdCBjb250cm9sIGNv
cHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MK
Ky1mb3IgeW91IG11c3QgZG8gc28gZXhjbHVzaXZlbHkgb24geW91ciBiZWhhbGYsIHVuZGVyIHlv
dXIgZGlyZWN0aW9uCistYW5kIGNvbnRyb2wsIG9uIHRlcm1zIHRoYXQgcHJvaGliaXQgdGhlbSBm
cm9tIG1ha2luZyBhbnkgY29waWVzIG9mCisteW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRz
aWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KKy0KKy0gIENvbnZleWluZyB1bmRlciBh
bnkgb3RoZXIgY2lyY3Vtc3RhbmNlcyBpcyBwZXJtaXR0ZWQgc29sZWx5IHVuZGVyCistdGhlIGNv
bmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0
aW9uIDEwCistbWFrZXMgaXQgdW5uZWNlc3NhcnkuCistCistICAzLiBQcm90ZWN0aW5nIFVzZXJz
JyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgorLQorLSAgTm8gY292
ZXJlZCB3b3JrIHNoYWxsIGJlIGRlZW1lZCBwYXJ0IG9mIGFuIGVmZmVjdGl2ZSB0ZWNobm9sb2dp
Y2FsCistbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0
aW9ucyB1bmRlciBhcnRpY2xlCistMTEgb2YgdGhlIFdJUE8gY29weXJpZ2h0IHRyZWF0eSBhZG9w
dGVkIG9uIDIwIERlY2VtYmVyIDE5OTYsIG9yCistc2ltaWxhciBsYXdzIHByb2hpYml0aW5nIG9y
IHJlc3RyaWN0aW5nIGNpcmN1bXZlbnRpb24gb2Ygc3VjaAorLW1lYXN1cmVzLgorLQorLSAgV2hl
biB5b3UgY29udmV5IGEgY292ZXJlZCB3b3JrLCB5b3Ugd2FpdmUgYW55IGxlZ2FsIHBvd2VyIHRv
IGZvcmJpZAorLWNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUg
ZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgorLWlzIGVmZmVjdGVkIGJ5IGV4ZXJjaXNpbmcgcmln
aHRzIHVuZGVyIHRoaXMgTGljZW5zZSB3aXRoIHJlc3BlY3QgdG8KKy10aGUgY292ZXJlZCB3b3Jr
LCBhbmQgeW91IGRpc2NsYWltIGFueSBpbnRlbnRpb24gdG8gbGltaXQgb3BlcmF0aW9uIG9yCist
bW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0
IHRoZSB3b3JrJ3MKKy11c2VycywgeW91ciBvciB0aGlyZCBwYXJ0aWVzJyBsZWdhbCByaWdodHMg
dG8gZm9yYmlkIGNpcmN1bXZlbnRpb24gb2YKKy10ZWNobm9sb2dpY2FsIG1lYXN1cmVzLgorLQor
LSAgNC4gQ29udmV5aW5nIFZlcmJhdGltIENvcGllcy4KKy0KKy0gIFlvdSBtYXkgY29udmV5IHZl
cmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQorLXJlY2Vp
dmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5k
CistYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZSBjb3B5
cmlnaHQgbm90aWNlOworLWtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlz
IExpY2Vuc2UgYW5kIGFueQorLW5vbi1wZXJtaXNzaXZlIHRlcm1zIGFkZGVkIGluIGFjY29yZCB3
aXRoIHNlY3Rpb24gNyBhcHBseSB0byB0aGUgY29kZTsKKy1rZWVwIGludGFjdCBhbGwgbm90aWNl
cyBvZiB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7IGFuZCBnaXZlIGFsbAorLXJlY2lwaWVu
dHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgorLQorLSAg
WW91IG1heSBjaGFyZ2UgYW55IHByaWNlIG9yIG5vIHByaWNlIGZvciBlYWNoIGNvcHkgdGhhdCB5
b3UgY29udmV5LAorLWFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVj
dGlvbiBmb3IgYSBmZWUuCistCistICA1LiBDb252ZXlpbmcgTW9kaWZpZWQgU291cmNlIFZlcnNp
b25zLgorLQorLSAgWW91IG1heSBjb252ZXkgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBv
ciB0aGUgbW9kaWZpY2F0aW9ucyB0bworLXByb2R1Y2UgaXQgZnJvbSB0aGUgUHJvZ3JhbSwgaW4g
dGhlIGZvcm0gb2Ygc291cmNlIGNvZGUgdW5kZXIgdGhlCistdGVybXMgb2Ygc2VjdGlvbiA0LCBw
cm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CistCist
ICAgIGEpIFRoZSB3b3JrIG11c3QgY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0
IHlvdSBtb2RpZmllZAorLSAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCistCist
ICAgIGIpIFRoZSB3b3JrIG11c3QgY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0
IGl0IGlzCistICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlv
bnMgYWRkZWQgdW5kZXIgc2VjdGlvbgorLSAgICA3LiAgVGhpcyByZXF1aXJlbWVudCBtb2RpZmll
cyB0aGUgcmVxdWlyZW1lbnQgaW4gc2VjdGlvbiA0IHRvCistICAgICJrZWVwIGludGFjdCBhbGwg
bm90aWNlcyIuCistCistICAgIGMpIFlvdSBtdXN0IGxpY2Vuc2UgdGhlIGVudGlyZSB3b3JrLCBh
cyBhIHdob2xlLCB1bmRlciB0aGlzCistICAgIExpY2Vuc2UgdG8gYW55b25lIHdobyBjb21lcyBp
bnRvIHBvc3Nlc3Npb24gb2YgYSBjb3B5LiAgVGhpcworLSAgICBMaWNlbnNlIHdpbGwgdGhlcmVm
b3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNworLSAgICBhZGRp
dGlvbmFsIHRlcm1zLCB0byB0aGUgd2hvbGUgb2YgdGhlIHdvcmssIGFuZCBhbGwgaXRzIHBhcnRz
LAorLSAgICByZWdhcmRsZXNzIG9mIGhvdyB0aGV5IGFyZSBwYWNrYWdlZC4gIFRoaXMgTGljZW5z
ZSBnaXZlcyBubworLSAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90
aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CistICAgIGludmFsaWRhdGUgc3VjaCBwZXJtaXNzaW9u
IGlmIHlvdSBoYXZlIHNlcGFyYXRlbHkgcmVjZWl2ZWQgaXQuCistCistICAgIGQpIElmIHRoZSB3
b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5Cist
ICAgIEFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXM7IGhvd2V2ZXIsIGlmIHRoZSBQcm9ncmFtIGhh
cyBpbnRlcmFjdGl2ZQorLSAgICBpbnRlcmZhY2VzIHRoYXQgZG8gbm90IGRpc3BsYXkgQXBwcm9w
cmlhdGUgTGVnYWwgTm90aWNlcywgeW91cgorLSAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBk
byBzby4KKy0KKy0gIEEgY29tcGlsYXRpb24gb2YgYSBjb3ZlcmVkIHdvcmsgd2l0aCBvdGhlciBz
ZXBhcmF0ZSBhbmQgaW5kZXBlbmRlbnQKKy13b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBu
YXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAorLWFuZCB3aGljaCBhcmUgbm90
IGNvbWJpbmVkIHdpdGggaXQgc3VjaCBhcyB0byBmb3JtIGEgbGFyZ2VyIHByb2dyYW0sCistaW4g
b3Igb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0sIGlzIGNh
bGxlZCBhbgorLSJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGlu
ZyBjb3B5cmlnaHQgYXJlIG5vdAorLXVzZWQgdG8gbGltaXQgdGhlIGFjY2VzcyBvciBsZWdhbCBy
aWdodHMgb2YgdGhlIGNvbXBpbGF0aW9uJ3MgdXNlcnMKKy1iZXlvbmQgd2hhdCB0aGUgaW5kaXZp
ZHVhbCB3b3JrcyBwZXJtaXQuICBJbmNsdXNpb24gb2YgYSBjb3ZlcmVkIHdvcmsKKy1pbiBhbiBh
Z2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhl
cgorLXBhcnRzIG9mIHRoZSBhZ2dyZWdhdGUuCistCistICA2LiBDb252ZXlpbmcgTm9uLVNvdXJj
ZSBGb3Jtcy4KKy0KKy0gIFlvdSBtYXkgY29udmV5IGEgY292ZXJlZCB3b3JrIGluIG9iamVjdCBj
b2RlIGZvcm0gdW5kZXIgdGhlIHRlcm1zCistb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQg
dGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCistbWFjaGluZS1yZWFkYWJsZSBDb3JyZXNwb25kaW5n
IFNvdXJjZSB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLAorLWluIG9uZSBvZiB0aGVz
ZSB3YXlzOgorLQorLSAgICBhKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIGluLCBvciBlbWJvZGll
ZCBpbiwgYSBwaHlzaWNhbCBwcm9kdWN0CistICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0
cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgdGhlCistICAgIENvcnJlc3BvbmRpbmcg
U291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KKy0gICAgY3VzdG9tYXJp
bHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UuCistCistICAgIGIpIENvbnZleSB0aGUg
b2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKKy0gICAg
KGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBi
eSBhCistICAgIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycyBh
bmQgdmFsaWQgZm9yIGFzCistICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1
c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAorLSAgICBtb2RlbCwgdG8gZ2l2ZSBhbnlv
bmUgd2hvIHBvc3Nlc3NlcyB0aGUgb2JqZWN0IGNvZGUgZWl0aGVyICgxKSBhCistICAgIGNvcHkg
b2YgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhbGwgdGhlIHNvZnR3YXJlIGluIHRoZQor
LSAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJs
ZSBwaHlzaWNhbAorLSAgICBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50
ZXJjaGFuZ2UsIGZvciBhIHByaWNlIG5vCistICAgIG1vcmUgdGhhbiB5b3VyIHJlYXNvbmFibGUg
Y29zdCBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgdGhpcworLSAgICBjb252ZXlpbmcgb2Ygc291
cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCistICAgIENvcnJlc3BvbmRpbmcgU291cmNl
IGZyb20gYSBuZXR3b3JrIHNlcnZlciBhdCBubyBjaGFyZ2UuCistCistICAgIGMpIENvbnZleSBp
bmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCist
ICAgIHdyaXR0ZW4gb2ZmZXIgdG8gcHJvdmlkZSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBU
aGlzCistICAgIGFsdGVybmF0aXZlIGlzIGFsbG93ZWQgb25seSBvY2Nhc2lvbmFsbHkgYW5kIG5v
bmNvbW1lcmNpYWxseSwgYW5kCistICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3Qg
Y29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAorLSAgICB3aXRoIHN1YnNlY3Rpb24g
NmIuCistCistICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNz
IGZyb20gYSBkZXNpZ25hdGVkCistICAgIHBsYWNlIChncmF0aXMgb3IgZm9yIGEgY2hhcmdlKSwg
YW5kIG9mZmVyIGVxdWl2YWxlbnQgYWNjZXNzIHRvIHRoZQorLSAgICBDb3JyZXNwb25kaW5nIFNv
dXJjZSBpbiB0aGUgc2FtZSB3YXkgdGhyb3VnaCB0aGUgc2FtZSBwbGFjZSBhdCBubworLSAgICBm
dXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0
aGUKKy0gICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUu
ICBJZiB0aGUgcGxhY2UgdG8KKy0gICAgY29weSB0aGUgb2JqZWN0IGNvZGUgaXMgYSBuZXR3b3Jr
IHNlcnZlciwgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlCistICAgIG1heSBiZSBvbiBhIGRpZmZl
cmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQorLSAgICB0aGF0
IHN1cHBvcnRzIGVxdWl2YWxlbnQgY29weWluZyBmYWNpbGl0aWVzLCBwcm92aWRlZCB5b3UgbWFp
bnRhaW4KKy0gICAgY2xlYXIgZGlyZWN0aW9ucyBuZXh0IHRvIHRoZSBvYmplY3QgY29kZSBzYXlp
bmcgd2hlcmUgdG8gZmluZCB0aGUKKy0gICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRs
ZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQorLSAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSwg
eW91IHJlbWFpbiBvYmxpZ2F0ZWQgdG8gZW5zdXJlIHRoYXQgaXQgaXMKKy0gICAgYXZhaWxhYmxl
IGZvciBhcyBsb25nIGFzIG5lZWRlZCB0byBzYXRpc2Z5IHRoZXNlIHJlcXVpcmVtZW50cy4KKy0K
Ky0gICAgZSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNt
aXNzaW9uLCBwcm92aWRlZAorLSAgICB5b3UgaW5mb3JtIG90aGVyIHBlZXJzIHdoZXJlIHRoZSBv
YmplY3QgY29kZSBhbmQgQ29ycmVzcG9uZGluZworLSAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJl
IGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCistICAgIGNoYXJnZSB1
bmRlciBzdWJzZWN0aW9uIDZkLgorLQorLSAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2Jq
ZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCistZnJvbSB0aGUgQ29ycmVz
cG9uZGluZyBTb3VyY2UgYXMgYSBTeXN0ZW0gTGlicmFyeSwgbmVlZCBub3QgYmUKKy1pbmNsdWRl
ZCBpbiBjb252ZXlpbmcgdGhlIG9iamVjdCBjb2RlIHdvcmsuCistCistICBBICJVc2VyIFByb2R1
Y3QiIGlzIGVpdGhlciAoMSkgYSAiY29uc3VtZXIgcHJvZHVjdCIsIHdoaWNoIG1lYW5zIGFueQor
LXRhbmdpYmxlIHBlcnNvbmFsIHByb3BlcnR5IHdoaWNoIGlzIG5vcm1hbGx5IHVzZWQgZm9yIHBl
cnNvbmFsLCBmYW1pbHksCistb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcg
ZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgorLWludG8gYSBkd2VsbGluZy4gIElu
IGRldGVybWluaW5nIHdoZXRoZXIgYSBwcm9kdWN0IGlzIGEgY29uc3VtZXIgcHJvZHVjdCwKKy1k
b3VidGZ1bCBjYXNlcyBzaGFsbCBiZSByZXNvbHZlZCBpbiBmYXZvciBvZiBjb3ZlcmFnZS4gIEZv
ciBhIHBhcnRpY3VsYXIKKy1wcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAi
bm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKKy10eXBpY2FsIG9yIGNvbW1vbiB1c2Ugb2YgdGhh
dCBjbGFzcyBvZiBwcm9kdWN0LCByZWdhcmRsZXNzIG9mIHRoZSBzdGF0dXMKKy1vZiB0aGUgcGFy
dGljdWxhciB1c2VyIG9yIG9mIHRoZSB3YXkgaW4gd2hpY2ggdGhlIHBhcnRpY3VsYXIgdXNlcgor
LWFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJv
ZHVjdC4gIEEgcHJvZHVjdAorLWlzIGEgY29uc3VtZXIgcHJvZHVjdCByZWdhcmRsZXNzIG9mIHdo
ZXRoZXIgdGhlIHByb2R1Y3QgaGFzIHN1YnN0YW50aWFsCistY29tbWVyY2lhbCwgaW5kdXN0cmlh
bCBvciBub24tY29uc3VtZXIgdXNlcywgdW5sZXNzIHN1Y2ggdXNlcyByZXByZXNlbnQKKy10aGUg
b25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KKy0KKy0gICJJbnN0
YWxsYXRpb24gSW5mb3JtYXRpb24iIGZvciBhIFVzZXIgUHJvZHVjdCBtZWFucyBhbnkgbWV0aG9k
cywKKy1wcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9u
IHJlcXVpcmVkIHRvIGluc3RhbGwKKy1hbmQgZXhlY3V0ZSBtb2RpZmllZCB2ZXJzaW9ucyBvZiBh
IGNvdmVyZWQgd29yayBpbiB0aGF0IFVzZXIgUHJvZHVjdCBmcm9tCistYSBtb2RpZmllZCB2ZXJz
aW9uIG9mIGl0cyBDb3JyZXNwb25kaW5nIFNvdXJjZS4gIFRoZSBpbmZvcm1hdGlvbiBtdXN0Cist
c3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBt
b2RpZmllZCBvYmplY3QKKy1jb2RlIGlzIGluIG5vIGNhc2UgcHJldmVudGVkIG9yIGludGVyZmVy
ZWQgd2l0aCBzb2xlbHkgYmVjYXVzZQorLW1vZGlmaWNhdGlvbiBoYXMgYmVlbiBtYWRlLgorLQor
LSAgSWYgeW91IGNvbnZleSBhbiBvYmplY3QgY29kZSB3b3JrIHVuZGVyIHRoaXMgc2VjdGlvbiBp
biwgb3Igd2l0aCwgb3IKKy1zcGVjaWZpY2FsbHkgZm9yIHVzZSBpbiwgYSBVc2VyIFByb2R1Y3Qs
IGFuZCB0aGUgY29udmV5aW5nIG9jY3VycyBhcworLXBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3
aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQorLVVzZXIgUHJvZHVj
dCBpcyB0cmFuc2ZlcnJlZCB0byB0aGUgcmVjaXBpZW50IGluIHBlcnBldHVpdHkgb3IgZm9yIGEK
Ky1maXhlZCB0ZXJtIChyZWdhcmRsZXNzIG9mIGhvdyB0aGUgdHJhbnNhY3Rpb24gaXMgY2hhcmFj
dGVyaXplZCksIHRoZQorLUNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMg
c2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCistYnkgdGhlIEluc3RhbGxhdGlvbiBJbmZvcm1h
dGlvbi4gIEJ1dCB0aGlzIHJlcXVpcmVtZW50IGRvZXMgbm90IGFwcGx5CistaWYgbmVpdGhlciB5
b3Ugbm9yIGFueSB0aGlyZCBwYXJ0eSByZXRhaW5zIHRoZSBhYmlsaXR5IHRvIGluc3RhbGwKKy1t
b2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhl
IHdvcmsgaGFzCistYmVlbiBpbnN0YWxsZWQgaW4gUk9NKS4KKy0KKy0gIFRoZSByZXF1aXJlbWVu
dCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEK
Ky1yZXF1aXJlbWVudCB0byBjb250aW51ZSB0byBwcm92aWRlIHN1cHBvcnQgc2VydmljZSwgd2Fy
cmFudHksIG9yIHVwZGF0ZXMKKy1mb3IgYSB3b3JrIHRoYXQgaGFzIGJlZW4gbW9kaWZpZWQgb3Ig
aW5zdGFsbGVkIGJ5IHRoZSByZWNpcGllbnQsIG9yIGZvcgorLXRoZSBVc2VyIFByb2R1Y3QgaW4g
d2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKKy1u
ZXR3b3JrIG1heSBiZSBkZW5pZWQgd2hlbiB0aGUgbW9kaWZpY2F0aW9uIGl0c2VsZiBtYXRlcmlh
bGx5IGFuZAorLWFkdmVyc2VseSBhZmZlY3RzIHRoZSBvcGVyYXRpb24gb2YgdGhlIG5ldHdvcmsg
b3IgdmlvbGF0ZXMgdGhlIHJ1bGVzIGFuZAorLXByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBh
Y3Jvc3MgdGhlIG5ldHdvcmsuCistCistICBDb3JyZXNwb25kaW5nIFNvdXJjZSBjb252ZXllZCwg
YW5kIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBwcm92aWRlZCwKKy1pbiBhY2NvcmQgd2l0aCB0
aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CistZG9jdW1l
bnRlZCAoYW5kIHdpdGggYW4gaW1wbGVtZW50YXRpb24gYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMg
aW4KKy1zb3VyY2UgY29kZSBmb3JtKSwgYW5kIG11c3QgcmVxdWlyZSBubyBzcGVjaWFsIHBhc3N3
b3JkIG9yIGtleSBmb3IKKy11bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KKy0KKy0gIDcu
IEFkZGl0aW9uYWwgVGVybXMuCistCistICAiQWRkaXRpb25hbCBwZXJtaXNzaW9ucyIgYXJlIHRl
cm1zIHRoYXQgc3VwcGxlbWVudCB0aGUgdGVybXMgb2YgdGhpcworLUxpY2Vuc2UgYnkgbWFraW5n
IGV4Y2VwdGlvbnMgZnJvbSBvbmUgb3IgbW9yZSBvZiBpdHMgY29uZGl0aW9ucy4KKy1BZGRpdGlv
bmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFt
IHNoYWxsCistYmUgdHJlYXRlZCBhcyB0aG91Z2ggdGhleSB3ZXJlIGluY2x1ZGVkIGluIHRoaXMg
TGljZW5zZSwgdG8gdGhlIGV4dGVudAorLXRoYXQgdGhleSBhcmUgdmFsaWQgdW5kZXIgYXBwbGlj
YWJsZSBsYXcuICBJZiBhZGRpdGlvbmFsIHBlcm1pc3Npb25zCistYXBwbHkgb25seSB0byBwYXJ0
IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQorLXVuZGVy
IHRob3NlIHBlcm1pc3Npb25zLCBidXQgdGhlIGVudGlyZSBQcm9ncmFtIHJlbWFpbnMgZ292ZXJu
ZWQgYnkKKy10aGlzIExpY2Vuc2Ugd2l0aG91dCByZWdhcmQgdG8gdGhlIGFkZGl0aW9uYWwgcGVy
bWlzc2lvbnMuCistCistICBXaGVuIHlvdSBjb252ZXkgYSBjb3B5IG9mIGEgY292ZXJlZCB3b3Jr
LCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uCistcmVtb3ZlIGFueSBhZGRpdGlvbmFsIHBlcm1pc3Np
b25zIGZyb20gdGhhdCBjb3B5LCBvciBmcm9tIGFueSBwYXJ0IG9mCistaXQuICAoQWRkaXRpb25h
bCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgorLXJlbW92
YWwgaW4gY2VydGFpbiBjYXNlcyB3aGVuIHlvdSBtb2RpZnkgdGhlIHdvcmsuKSAgWW91IG1heSBw
bGFjZQorLWFkZGl0aW9uYWwgcGVybWlzc2lvbnMgb24gbWF0ZXJpYWwsIGFkZGVkIGJ5IHlvdSB0
byBhIGNvdmVyZWQgd29yaywKKy1mb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9w
cmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCistCistICBOb3R3aXRoc3RhbmRpbmcgYW55IG90
aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIGZvciBtYXRlcmlhbCB5b3UKKy1hZGQgdG8g
YSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBo
b2xkZXJzIG9mCistdGhhdCBtYXRlcmlhbCkgc3VwcGxlbWVudCB0aGUgdGVybXMgb2YgdGhpcyBM
aWNlbnNlIHdpdGggdGVybXM6CistCistICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxp
bWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQorLSAgICB0ZXJtcyBvZiBzZWN0
aW9ucyAxNSBhbmQgMTYgb2YgdGhpcyBMaWNlbnNlOyBvcgorLQorLSAgICBiKSBSZXF1aXJpbmcg
cHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKKy0g
ICAgYXV0aG9yIGF0dHJpYnV0aW9ucyBpbiB0aGF0IG1hdGVyaWFsIG9yIGluIHRoZSBBcHByb3By
aWF0ZSBMZWdhbAorLSAgICBOb3RpY2VzIGRpc3BsYXllZCBieSB3b3JrcyBjb250YWluaW5nIGl0
OyBvcgorLQorLSAgICBjKSBQcm9oaWJpdGluZyBtaXNyZXByZXNlbnRhdGlvbiBvZiB0aGUgb3Jp
Z2luIG9mIHRoYXQgbWF0ZXJpYWwsIG9yCistICAgIHJlcXVpcmluZyB0aGF0IG1vZGlmaWVkIHZl
cnNpb25zIG9mIHN1Y2ggbWF0ZXJpYWwgYmUgbWFya2VkIGluCistICAgIHJlYXNvbmFibGUgd2F5
cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKKy0KKy0gICAgZCkg
TGltaXRpbmcgdGhlIHVzZSBmb3IgcHVibGljaXR5IHB1cnBvc2VzIG9mIG5hbWVzIG9mIGxpY2Vu
c29ycyBvcgorLSAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKKy0KKy0gICAgZSkgRGVj
bGluaW5nIHRvIGdyYW50IHJpZ2h0cyB1bmRlciB0cmFkZW1hcmsgbGF3IGZvciB1c2Ugb2Ygc29t
ZQorLSAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKKy0K
Ky0gICAgZikgUmVxdWlyaW5nIGluZGVtbmlmaWNhdGlvbiBvZiBsaWNlbnNvcnMgYW5kIGF1dGhv
cnMgb2YgdGhhdAorLSAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVy
aWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgorLSAgICBpdCkgd2l0aCBjb250cmFjdHVhbCBh
c3N1bXB0aW9ucyBvZiBsaWFiaWxpdHkgdG8gdGhlIHJlY2lwaWVudCwgZm9yCistICAgIGFueSBs
aWFiaWxpdHkgdGhhdCB0aGVzZSBjb250cmFjdHVhbCBhc3N1bXB0aW9ucyBkaXJlY3RseSBpbXBv
c2Ugb24KKy0gICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgorLQorLSAgQWxsIG90aGVy
IG5vbi1wZXJtaXNzaXZlIGFkZGl0aW9uYWwgdGVybXMgYXJlIGNvbnNpZGVyZWQgImZ1cnRoZXIK
Ky1yZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhl
IFByb2dyYW0gYXMgeW91CistcmVjZWl2ZWQgaXQsIG9yIGFueSBwYXJ0IG9mIGl0LCBjb250YWlu
cyBhIG5vdGljZSBzdGF0aW5nIHRoYXQgaXQgaXMKKy1nb3Zlcm5lZCBieSB0aGlzIExpY2Vuc2Ug
YWxvbmcgd2l0aCBhIHRlcm0gdGhhdCBpcyBhIGZ1cnRoZXIKKy1yZXN0cmljdGlvbiwgeW91IG1h
eSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCistYSBm
dXJ0aGVyIHJlc3RyaWN0aW9uIGJ1dCBwZXJtaXRzIHJlbGljZW5zaW5nIG9yIGNvbnZleWluZyB1
bmRlciB0aGlzCistTGljZW5zZSwgeW91IG1heSBhZGQgdG8gYSBjb3ZlcmVkIHdvcmsgbWF0ZXJp
YWwgZ292ZXJuZWQgYnkgdGhlIHRlcm1zCistb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92
aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKKy1ub3Qgc3Vydml2ZSBzdWNo
IHJlbGljZW5zaW5nIG9yIGNvbnZleWluZy4KKy0KKy0gIElmIHlvdSBhZGQgdGVybXMgdG8gYSBj
b3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKKy1tdXN0IHBsYWNl
LCBpbiB0aGUgcmVsZXZhbnQgc291cmNlIGZpbGVzLCBhIHN0YXRlbWVudCBvZiB0aGUKKy1hZGRp
dGlvbmFsIHRlcm1zIHRoYXQgYXBwbHkgdG8gdGhvc2UgZmlsZXMsIG9yIGEgbm90aWNlIGluZGlj
YXRpbmcKKy13aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgorLQorLSAgQWRkaXRp
b25hbCB0ZXJtcywgcGVybWlzc2l2ZSBvciBub24tcGVybWlzc2l2ZSwgbWF5IGJlIHN0YXRlZCBp
biB0aGUKKy1mb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBh
cyBleGNlcHRpb25zOworLXRoZSBhYm92ZSByZXF1aXJlbWVudHMgYXBwbHkgZWl0aGVyIHdheS4K
Ky0KKy0gIDguIFRlcm1pbmF0aW9uLgorLQorLSAgWW91IG1heSBub3QgcHJvcGFnYXRlIG9yIG1v
ZGlmeSBhIGNvdmVyZWQgd29yayBleGNlcHQgYXMgZXhwcmVzc2x5CistcHJvdmlkZWQgdW5kZXIg
dGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgorLW1v
ZGlmeSBpdCBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJp
Z2h0cyB1bmRlcgorLXRoaXMgTGljZW5zZSAoaW5jbHVkaW5nIGFueSBwYXRlbnQgbGljZW5zZXMg
Z3JhbnRlZCB1bmRlciB0aGUgdGhpcmQKKy1wYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCistCist
ICBIb3dldmVyLCBpZiB5b3UgY2Vhc2UgYWxsIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UsIHRo
ZW4geW91cgorLWxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyBy
ZWluc3RhdGVkIChhKQorLXByb3Zpc2lvbmFsbHksIHVubGVzcyBhbmQgdW50aWwgdGhlIGNvcHly
aWdodCBob2xkZXIgZXhwbGljaXRseSBhbmQKKy1maW5hbGx5IHRlcm1pbmF0ZXMgeW91ciBsaWNl
bnNlLCBhbmQgKGIpIHBlcm1hbmVudGx5LCBpZiB0aGUgY29weXJpZ2h0CistaG9sZGVyIGZhaWxz
IHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMK
Ky1wcmlvciB0byA2MCBkYXlzIGFmdGVyIHRoZSBjZXNzYXRpb24uCistCistICBNb3Jlb3Zlciwg
eW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKKy1yZWlu
c3RhdGVkIHBlcm1hbmVudGx5IGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vdGlmaWVzIHlvdSBv
ZiB0aGUKKy12aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBm
aXJzdCB0aW1lIHlvdSBoYXZlCistcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlz
IExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CistY29weXJpZ2h0IGhvbGRlciwgYW5k
IHlvdSBjdXJlIHRoZSB2aW9sYXRpb24gcHJpb3IgdG8gMzAgZGF5cyBhZnRlcgorLXlvdXIgcmVj
ZWlwdCBvZiB0aGUgbm90aWNlLgorLQorLSAgVGVybWluYXRpb24gb2YgeW91ciByaWdodHMgdW5k
ZXIgdGhpcyBzZWN0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUKKy1saWNlbnNlcyBvZiBwYXJ0
aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcyBvciByaWdodHMgZnJvbSB5b3UgdW5kZXIKKy10
aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90
IHBlcm1hbmVudGx5CistcmVpbnN0YXRlZCwgeW91IGRvIG5vdCBxdWFsaWZ5IHRvIHJlY2VpdmUg
bmV3IGxpY2Vuc2VzIGZvciB0aGUgc2FtZQorLW1hdGVyaWFsIHVuZGVyIHNlY3Rpb24gMTAuCist
CistICA5LiBBY2NlcHRhbmNlIE5vdCBSZXF1aXJlZCBmb3IgSGF2aW5nIENvcGllcy4KKy0KKy0g
IFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8g
cmVjZWl2ZSBvcgorLXJ1biBhIGNvcHkgb2YgdGhlIFByb2dyYW0uICBBbmNpbGxhcnkgcHJvcGFn
YXRpb24gb2YgYSBjb3ZlcmVkIHdvcmsKKy1vY2N1cnJpbmcgc29sZWx5IGFzIGEgY29uc2VxdWVu
Y2Ugb2YgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbgorLXRvIHJlY2VpdmUgYSBjb3B5
IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCistbm90aGlu
ZyBvdGhlciB0aGFuIHRoaXMgTGljZW5zZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gcHJvcGFn
YXRlIG9yCistbW9kaWZ5IGFueSBjb3ZlcmVkIHdvcmsuICBUaGVzZSBhY3Rpb25zIGluZnJpbmdl
IGNvcHlyaWdodCBpZiB5b3UgZG8KKy1ub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9y
ZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKKy1jb3ZlcmVkIHdvcmssIHlvdSBpbmRp
Y2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLgorLQorLSAgMTAu
IEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgorLQorLSAgRWFj
aCB0aW1lIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHRoZSByZWNpcGllbnQgYXV0b21hdGlj
YWxseQorLXJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRv
IHJ1biwgbW9kaWZ5IGFuZAorLXByb3BhZ2F0ZSB0aGF0IHdvcmssIHN1YmplY3QgdG8gdGhpcyBM
aWNlbnNlLiAgWW91IGFyZSBub3QgcmVzcG9uc2libGUKKy1mb3IgZW5mb3JjaW5nIGNvbXBsaWFu
Y2UgYnkgdGhpcmQgcGFydGllcyB3aXRoIHRoaXMgTGljZW5zZS4KKy0KKy0gIEFuICJlbnRpdHkg
dHJhbnNhY3Rpb24iIGlzIGEgdHJhbnNhY3Rpb24gdHJhbnNmZXJyaW5nIGNvbnRyb2wgb2YgYW4K
Ky1vcmdhbml6YXRpb24sIG9yIHN1YnN0YW50aWFsbHkgYWxsIGFzc2V0cyBvZiBvbmUsIG9yIHN1
YmRpdmlkaW5nIGFuCistb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJ
ZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKKy13b3JrIHJlc3VsdHMgZnJvbSBhbiBlbnRpdHkg
dHJhbnNhY3Rpb24sIGVhY2ggcGFydHkgdG8gdGhhdAorLXRyYW5zYWN0aW9uIHdobyByZWNlaXZl
cyBhIGNvcHkgb2YgdGhlIHdvcmsgYWxzbyByZWNlaXZlcyB3aGF0ZXZlcgorLWxpY2Vuc2VzIHRv
IHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3Vs
ZAorLWdpdmUgdW5kZXIgdGhlIHByZXZpb3VzIHBhcmFncmFwaCwgcGx1cyBhIHJpZ2h0IHRvIHBv
c3Nlc3Npb24gb2YgdGhlCistQ29ycmVzcG9uZGluZyBTb3VyY2Ugb2YgdGhlIHdvcmsgZnJvbSB0
aGUgcHJlZGVjZXNzb3IgaW4gaW50ZXJlc3QsIGlmCistdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBv
ciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgorLQorLSAgWW91IG1heSBub3Qg
aW1wb3NlIGFueSBmdXJ0aGVyIHJlc3RyaWN0aW9ucyBvbiB0aGUgZXhlcmNpc2Ugb2YgdGhlCist
cmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1w
bGUsIHlvdSBtYXkKKy1ub3QgaW1wb3NlIGEgbGljZW5zZSBmZWUsIHJveWFsdHksIG9yIG90aGVy
IGNoYXJnZSBmb3IgZXhlcmNpc2Ugb2YKKy1yaWdodHMgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vu
c2UsIGFuZCB5b3UgbWF5IG5vdCBpbml0aWF0ZSBsaXRpZ2F0aW9uCistKGluY2x1ZGluZyBhIGNy
b3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKKy1h
bnkgcGF0ZW50IGNsYWltIGlzIGluZnJpbmdlZCBieSBtYWtpbmcsIHVzaW5nLCBzZWxsaW5nLCBv
ZmZlcmluZyBmb3IKKy1zYWxlLCBvciBpbXBvcnRpbmcgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRp
b24gb2YgaXQuCistCistICAxMS4gUGF0ZW50cy4KKy0KKy0gIEEgImNvbnRyaWJ1dG9yIiBpcyBh
IGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKKy1MaWNlbnNl
IG9mIHRoZSBQcm9ncmFtIG9yIGEgd29yayBvbiB3aGljaCB0aGUgUHJvZ3JhbSBpcyBiYXNlZC4g
IFRoZQorLXdvcmsgdGh1cyBsaWNlbnNlZCBpcyBjYWxsZWQgdGhlIGNvbnRyaWJ1dG9yJ3MgImNv
bnRyaWJ1dG9yIHZlcnNpb24iLgorLQorLSAgQSBjb250cmlidXRvcidzICJlc3NlbnRpYWwgcGF0
ZW50IGNsYWltcyIgYXJlIGFsbCBwYXRlbnQgY2xhaW1zCistb3duZWQgb3IgY29udHJvbGxlZCBi
eSB0aGUgY29udHJpYnV0b3IsIHdoZXRoZXIgYWxyZWFkeSBhY3F1aXJlZCBvcgorLWhlcmVhZnRl
ciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1p
dHRlZAorLWJ5IHRoaXMgTGljZW5zZSwgb2YgbWFraW5nLCB1c2luZywgb3Igc2VsbGluZyBpdHMg
Y29udHJpYnV0b3IgdmVyc2lvbiwKKy1idXQgZG8gbm90IGluY2x1ZGUgY2xhaW1zIHRoYXQgd291
bGQgYmUgaW5mcmluZ2VkIG9ubHkgYXMgYQorLWNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZp
Y2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCistcHVycG9zZXMgb2YgdGhp
cyBkZWZpbml0aW9uLCAiY29udHJvbCIgaW5jbHVkZXMgdGhlIHJpZ2h0IHRvIGdyYW50CistcGF0
ZW50IHN1YmxpY2Vuc2VzIGluIGEgbWFubmVyIGNvbnNpc3RlbnQgd2l0aCB0aGUgcmVxdWlyZW1l
bnRzIG9mCistdGhpcyBMaWNlbnNlLgorLQorLSAgRWFjaCBjb250cmlidXRvciBncmFudHMgeW91
IGEgbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRlLCByb3lhbHR5LWZyZWUKKy1wYXRlbnQgbGljZW5z
ZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KKy1t
YWtlLCB1c2UsIHNlbGwsIG9mZmVyIGZvciBzYWxlLCBpbXBvcnQgYW5kIG90aGVyd2lzZSBydW4s
IG1vZGlmeSBhbmQKKy1wcm9wYWdhdGUgdGhlIGNvbnRlbnRzIG9mIGl0cyBjb250cmlidXRvciB2
ZXJzaW9uLgorLQorLSAgSW4gdGhlIGZvbGxvd2luZyB0aHJlZSBwYXJhZ3JhcGhzLCBhICJwYXRl
bnQgbGljZW5zZSIgaXMgYW55IGV4cHJlc3MKKy1hZ3JlZW1lbnQgb3IgY29tbWl0bWVudCwgaG93
ZXZlciBkZW5vbWluYXRlZCwgbm90IHRvIGVuZm9yY2UgYSBwYXRlbnQKKy0oc3VjaCBhcyBhbiBl
eHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRv
Cistc3VlIGZvciBwYXRlbnQgaW5mcmluZ2VtZW50KS4gIFRvICJncmFudCIgc3VjaCBhIHBhdGVu
dCBsaWNlbnNlIHRvIGEKKy1wYXJ0eSBtZWFucyB0byBtYWtlIHN1Y2ggYW4gYWdyZWVtZW50IG9y
IGNvbW1pdG1lbnQgbm90IHRvIGVuZm9yY2UgYQorLXBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4K
Ky0KKy0gIElmIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIGtub3dpbmdseSByZWx5aW5nIG9u
IGEgcGF0ZW50IGxpY2Vuc2UsCistYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUg
d29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKKy10byBjb3B5LCBmcmVlIG9mIGNoYXJn
ZSBhbmQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwgdGhyb3VnaCBhCistcHVibGlj
bHkgYXZhaWxhYmxlIG5ldHdvcmsgc2VydmVyIG9yIG90aGVyIHJlYWRpbHkgYWNjZXNzaWJsZSBt
ZWFucywKKy10aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcg
U291cmNlIHRvIGJlIHNvCistYXZhaWxhYmxlLCBvciAoMikgYXJyYW5nZSB0byBkZXByaXZlIHlv
dXJzZWxmIG9mIHRoZSBiZW5lZml0IG9mIHRoZQorLXBhdGVudCBsaWNlbnNlIGZvciB0aGlzIHBh
cnRpY3VsYXIgd29yaywgb3IgKDMpIGFycmFuZ2UsIGluIGEgbWFubmVyCistY29uc2lzdGVudCB3
aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVu
dAorLWxpY2Vuc2UgdG8gZG93bnN0cmVhbSByZWNpcGllbnRzLiAgIktub3dpbmdseSByZWx5aW5n
IiBtZWFucyB5b3UgaGF2ZQorLWFjdHVhbCBrbm93bGVkZ2UgdGhhdCwgYnV0IGZvciB0aGUgcGF0
ZW50IGxpY2Vuc2UsIHlvdXIgY29udmV5aW5nIHRoZQorLWNvdmVyZWQgd29yayBpbiBhIGNvdW50
cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKKy1pbiBhIGNv
dW50cnksIHdvdWxkIGluZnJpbmdlIG9uZSBvciBtb3JlIGlkZW50aWZpYWJsZSBwYXRlbnRzIGlu
IHRoYXQKKy1jb3VudHJ5IHRoYXQgeW91IGhhdmUgcmVhc29uIHRvIGJlbGlldmUgYXJlIHZhbGlk
LgorLQorLSAgSWYsIHB1cnN1YW50IHRvIG9yIGluIGNvbm5lY3Rpb24gd2l0aCBhIHNpbmdsZSB0
cmFuc2FjdGlvbiBvcgorLWFycmFuZ2VtZW50LCB5b3UgY29udmV5LCBvciBwcm9wYWdhdGUgYnkg
cHJvY3VyaW5nIGNvbnZleWFuY2Ugb2YsIGEKKy1jb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBh
dGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKKy1yZWNlaXZpbmcgdGhlIGNvdmVy
ZWQgd29yayBhdXRob3JpemluZyB0aGVtIHRvIHVzZSwgcHJvcGFnYXRlLCBtb2RpZnkKKy1vciBj
b252ZXkgYSBzcGVjaWZpYyBjb3B5IG9mIHRoZSBjb3ZlcmVkIHdvcmssIHRoZW4gdGhlIHBhdGVu
dCBsaWNlbnNlCisteW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJl
Y2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKKy13b3JrIGFuZCB3b3JrcyBiYXNlZCBvbiBpdC4KKy0K
Ky0gIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBp
bmNsdWRlIHdpdGhpbgorLXRoZSBzY29wZSBvZiBpdHMgY292ZXJhZ2UsIHByb2hpYml0cyB0aGUg
ZXhlcmNpc2Ugb2YsIG9yIGlzCistY29uZGl0aW9uZWQgb24gdGhlIG5vbi1leGVyY2lzZSBvZiBv
bmUgb3IgbW9yZSBvZiB0aGUgcmlnaHRzIHRoYXQgYXJlCistc3BlY2lmaWNhbGx5IGdyYW50ZWQg
dW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAorLXdvcmsg
aWYgeW91IGFyZSBhIHBhcnR5IHRvIGFuIGFycmFuZ2VtZW50IHdpdGggYSB0aGlyZCBwYXJ0eSB0
aGF0IGlzCistaW4gdGhlIGJ1c2luZXNzIG9mIGRpc3RyaWJ1dGluZyBzb2Z0d2FyZSwgdW5kZXIg
d2hpY2ggeW91IG1ha2UgcGF5bWVudAorLXRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUg
ZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCistdGhlIHdvcmssIGFuZCB1bmRl
ciB3aGljaCB0aGUgdGhpcmQgcGFydHkgZ3JhbnRzLCB0byBhbnkgb2YgdGhlCistcGFydGllcyB3
aG8gd291bGQgcmVjZWl2ZSB0aGUgY292ZXJlZCB3b3JrIGZyb20geW91LCBhIGRpc2NyaW1pbmF0
b3J5CistcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhl
IGNvdmVyZWQgd29yaworLWNvbnZleWVkIGJ5IHlvdSAob3IgY29waWVzIG1hZGUgZnJvbSB0aG9z
ZSBjb3BpZXMpLCBvciAoYikgcHJpbWFyaWx5CistZm9yIGFuZCBpbiBjb25uZWN0aW9uIHdpdGgg
c3BlY2lmaWMgcHJvZHVjdHMgb3IgY29tcGlsYXRpb25zIHRoYXQKKy1jb250YWluIHRoZSBjb3Zl
cmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCistb3Ig
dGhhdCBwYXRlbnQgbGljZW5zZSB3YXMgZ3JhbnRlZCwgcHJpb3IgdG8gMjggTWFyY2ggMjAwNy4K
Ky0KKy0gIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNs
dWRpbmcgb3IgbGltaXRpbmcKKy1hbnkgaW1wbGllZCBsaWNlbnNlIG9yIG90aGVyIGRlZmVuc2Vz
IHRvIGluZnJpbmdlbWVudCB0aGF0IG1heQorLW90aGVyd2lzZSBiZSBhdmFpbGFibGUgdG8geW91
IHVuZGVyIGFwcGxpY2FibGUgcGF0ZW50IGxhdy4KKy0KKy0gIDEyLiBObyBTdXJyZW5kZXIgb2Yg
T3RoZXJzJyBGcmVlZG9tLgorLQorLSAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3Ug
KHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgorLW90aGVyd2lzZSkgdGhhdCBj
b250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKKy1l
eGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNh
bm5vdCBjb252ZXkgYQorLWNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91
c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcworLUxpY2Vuc2UgYW5kIGFueSBvdGhlciBw
ZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UgbWF5Cistbm90
IGNvbnZleSBpdCBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgeW91IGFncmVlIHRvIHRlcm1zIHRo
YXQgb2JsaWdhdGUgeW91CistdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5
aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CistdGhlIFByb2dyYW0sIHRoZSBvbmx5
IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIHRob3NlIHRlcm1zIGFuZCB0aGlzCistTGljZW5z
ZSB3b3VsZCBiZSB0byByZWZyYWluIGVudGlyZWx5IGZyb20gY29udmV5aW5nIHRoZSBQcm9ncmFt
LgorLQorLSAgMTMuIFVzZSB3aXRoIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UuCistCistICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExp
Y2Vuc2UsIHlvdSBoYXZlCistcGVybWlzc2lvbiB0byBsaW5rIG9yIGNvbWJpbmUgYW55IGNvdmVy
ZWQgd29yayB3aXRoIGEgd29yayBsaWNlbnNlZAorLXVuZGVyIHZlcnNpb24gMyBvZiB0aGUgR05V
IEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGludG8gYSBzaW5nbGUKKy1jb21iaW5lZCB3
b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlz
CistTGljZW5zZSB3aWxsIGNvbnRpbnVlIHRvIGFwcGx5IHRvIHRoZSBwYXJ0IHdoaWNoIGlzIHRo
ZSBjb3ZlcmVkIHdvcmssCistYnV0IHRoZSBzcGVjaWFsIHJlcXVpcmVtZW50cyBvZiB0aGUgR05V
IEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorLXNlY3Rpb24gMTMsIGNvbmNlcm5pbmcg
aW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKKy1jb21iaW5h
dGlvbiBhcyBzdWNoLgorLQorLSAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNl
LgorLQorLSAgVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2Vk
IGFuZC9vciBuZXcgdmVyc2lvbnMgb2YKKy10aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
ZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCistYmUgc2ltaWxhciBp
biBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWls
IHRvCistYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCistCistICBFYWNoIHZlcnNp
b24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZQorLVBy
b2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBjZXJ0YWluIG51bWJlcmVkIHZlcnNpb24gb2YgdGhlIEdO
VSBHZW5lcmFsCistUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVz
IHRvIGl0LCB5b3UgaGF2ZSB0aGUKKy1vcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQg
Y29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBudW1iZXJlZAorLXZlcnNpb24gb3Igb2YgYW55IGxh
dGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCistRm91bmRhdGlvbi4g
IElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUK
Ky1HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24g
ZXZlciBwdWJsaXNoZWQKKy1ieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorLQorLSAg
SWYgdGhlIFByb2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBwcm94eSBjYW4gZGVjaWRlIHdoaWNoIGZ1
dHVyZQorLXZlcnNpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBjYW4gYmUg
dXNlZCwgdGhhdCBwcm94eSdzCistcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEg
dmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQorLXRvIGNob29zZSB0aGF0IHZlcnNp
b24gZm9yIHRoZSBQcm9ncmFtLgorLQorLSAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2
ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKKy1wZXJtaXNzaW9ucy4gIEhvd2V2ZXIsIG5v
IGFkZGl0aW9uYWwgb2JsaWdhdGlvbnMgYXJlIGltcG9zZWQgb24gYW55CistYXV0aG9yIG9yIGNv
cHlyaWdodCBob2xkZXIgYXMgYSByZXN1bHQgb2YgeW91ciBjaG9vc2luZyB0byBmb2xsb3cgYQor
LWxhdGVyIHZlcnNpb24uCistCistICAxNS4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4KKy0KKy0g
IFRIRVJFIElTIE5PIFdBUlJBTlRZIEZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJN
SVRURUQgQlkKKy1BUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQg
SU4gV1JJVElORyBUSEUgQ09QWVJJR0hUCistSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQ
Uk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQorLU9GIEFOWSBLSU5E
LCBFSVRIRVIgRVhQUkVTU0VEIE9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorLVRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy1QVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRI
RSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQorLUlTIFdJVEggWU9VLiAg
U0hPVUxEIFRIRSBQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBP
RgorLUFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KKy0KKy0g
IDE2LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4KKy0KKy0gIElOIE5PIEVWRU5UIFVOTEVTUyBS
RVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORworLVdJTEwg
QU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTU9ESUZJRVMgQU5E
L09SIENPTlZFWVMKKy1USEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBU
TyBZT1UgRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkKKy1HRU5FUkFMLCBTUEVDSUFMLCBJTkNJ
REVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKKy1VU0Ug
T1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBMT1NTIE9GCistREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1Ig
TE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQKKy1QQVJUSUVTIE9SIEEgRkFJTFVSRSBP
RiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKKy1FVkVO
IElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GCistU1VDSCBEQU1BR0VTLgorLQorLSAgMTcuIEludGVycHJldGF0aW9uIG9m
IFNlY3Rpb25zIDE1IGFuZCAxNi4KKy0KKy0gIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5
IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAorLWFib3ZlIGNhbm5vdCBiZSBn
aXZlbiBsb2NhbCBsZWdhbCBlZmZlY3QgYWNjb3JkaW5nIHRvIHRoZWlyIHRlcm1zLAorLXJldmll
d2luZyBjb3VydHMgc2hhbGwgYXBwbHkgbG9jYWwgbGF3IHRoYXQgbW9zdCBjbG9zZWx5IGFwcHJv
eGltYXRlcworLWFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNv
bm5lY3Rpb24gd2l0aCB0aGUKKy1Qcm9ncmFtLCB1bmxlc3MgYSB3YXJyYW50eSBvciBhc3N1bXB0
aW9uIG9mIGxpYWJpbGl0eSBhY2NvbXBhbmllcyBhCistY29weSBvZiB0aGUgUHJvZ3JhbSBpbiBy
ZXR1cm4gZm9yIGEgZmVlLgorLQorLSAgICAgICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBB
TkQgQ09ORElUSU9OUworLQorLSAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0
byBZb3VyIE5ldyBQcm9ncmFtcworLQorLSAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwg
YW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAorLXBvc3NpYmxlIHVzZSB0byB0
aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKKy1m
cmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1
bmRlciB0aGVzZSB0ZXJtcy4KKy0KKy0gIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBu
b3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CistdG8gYXR0YWNoIHRoZW0gdG8g
dGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQorLXN0YXRl
IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQg
bGVhc3QKKy10aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBm
dWxsIG5vdGljZSBpcyBmb3VuZC4KKy0KKy0gICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHByb2dy
YW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKy0gICAgQ29weXJp
Z2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKy0KKy0gICAgVGhpcyBwcm9ncmFtIGlz
IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0g
ICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKKy0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKy0gICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKy0KKy0gICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistICAgIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0g
ICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0KKy0gICAg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKy0gICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0
cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCistCistQWxzbyBhZGQgaW5mb3JtYXRpb24gb24g
aG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCistCistICBJ
ZiB0aGUgcHJvZ3JhbSBkb2VzIHRlcm1pbmFsIGludGVyYWN0aW9uLCBtYWtlIGl0IG91dHB1dCBh
IHNob3J0Cistbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2
ZSBtb2RlOgorLQorLSAgICA8cHJvZ3JhbT4gIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBv
ZiBhdXRob3I+CistICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FS
UkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCistICAgIFRoaXMgaXMgZnJlZSBzb2Z0
d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKKy0gICAgdW5kZXIg
Y2VydGFpbiBjb25kaXRpb25zOyB0eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgorLQorLVRoZSBo
eXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRo
ZSBhcHByb3ByaWF0ZQorLXBhcnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2Yg
Y291cnNlLCB5b3VyIHByb2dyYW0ncyBjb21tYW5kcworLW1pZ2h0IGJlIGRpZmZlcmVudDsgZm9y
IGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KKy0KKy0gIFlv
dSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFt
bWVyKSBvciBzY2hvb2wsCistaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVy
IiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KKy1Gb3IgbW9yZSBpbmZvcm1hdGlvbiBv
biB0aGlzLCBhbmQgaG93IHRvIGFwcGx5IGFuZCBmb2xsb3cgdGhlIEdOVSBHUEwsIHNlZQorLTxo
dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKy0KKy0gIFRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0KKy1p
bnRvIHByb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91ciBwcm9ncmFtIGlzIGEgc3Vicm91dGlu
ZSBsaWJyYXJ5LCB5b3UKKy1tYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxp
bmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKKy10aGUgbGlicmFyeS4gIElmIHRo
aXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKKy1Q
dWJsaWMgTGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZS4gIEJ1dCBmaXJzdCwgcGxlYXNl
IHJlYWQKKy08aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+
LgorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24v
dGhpcmRfcGFydHkvc2tlbGV0b25zL1JFQURNRS5jaHJvbWl1bSBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL1JFQURNRS5jaHJv
bWl1bQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAyMTVkODJlNjM2Ni4uMDAwMDAw
MDAwMDAKKy0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhp
cmRfcGFydHkvc2tlbGV0b25zL1JFQURNRS5jaHJvbWl1bQorKysrIC9kZXYvbnVsbAorQEAgLTEs
MTAgKzAsMCBAQAorLU5hbWU6IEJpc29uIHNrZWxldG9ucworLVVSTDogaHR0cHM6Ly93d3cuZ251
Lm9yZy9zb2Z0d2FyZS9iaXNvbi8KKy1WZXJzaW9uOiAzLjMuMgorLUxpY2Vuc2U6IEdQTAorLUxp
Y2Vuc2UgRmlsZTogTElDRU5TRQorLVNlY3VyaXR5IGNyaXRpY2FsOiBubworLQorLURlc2NyaXB0
aW9uOgorLUJpc29uIGlzIGEgcGFyc2VyIGdlbmVyYXRvci4gSXQgdXNlcyBza2VsZXRvbiBmaWxl
cyBhcyB0ZW1wbGF0ZXMgZm9yIGJ1aWxkaW5nCistc2ltaWxhciBsYW5ndWFnZXMuCitkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0
eS9za2VsZXRvbnMvYmlzb24ubTQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9iaXNvbi5tNAorZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CitpbmRleCBlMzU5MTg3NWMwZi4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2Jpc29u
Lm00CisrKysgL2Rldi9udWxsCitAQCAtMSwxMTExICswLDAgQEAKKy0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYg
LSotCistCistIyBMYW5ndWFnZS1pbmRlcGVuZGVudCBNNCBNYWNyb3MgZm9yIEJpc29uLgorLQor
LSMgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA0LTIwMTUsIDIwMTgtMjAxOSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sCistIyBJbmMuCistCistIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy
ZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSMgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK
Ky0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl
IExpY2Vuc2UsIG9yCistIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLSMK
Ky0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKy0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCistIworLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0jIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgor
LQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBJZGVudGlmaWNhdGlvbi4gICMjCist
IyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgYjRfZ2VuZXJhdGVkX2J5CistIyAtLS0tLS0t
LS0tLS0tLS0KKy1tNF9kZWZpbmUoW2I0X2dlbmVyYXRlZF9ieV0sCistW2I0X2NvbW1lbnQoW0Eg
Qmlzb24gcGFyc2VyLCBtYWRlIGJ5IEdOVSBCaXNvbiBiNF92ZXJzaW9uLl0pCistXSkKKy0KKy0j
IGI0X2NvcHlyaWdodChUSVRMRSwgW1lFQVJTXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIElmIFlFQVJTIGFyZSBub3QgZGVmaW5lZCwgdXNlIGI0X2NvcHlyaWdodF95ZWFy
cy4KKy1tNF9kZWZpbmUoW2I0X2NvcHlyaWdodF0sCistW2I0X2dlbmVyYXRlZF9ieQorLWI0X2Nv
bW1lbnQoWyQxCistCistXW00X2RxdW90ZShtNF90ZXh0X3dyYXAoW0NvcHlyaWdodCAoQykKKy1d
bTRfaWZ2YWwoWyQyXSwgW1skMl1dLCBbbTRfZGVmbihbYjRfY29weXJpZ2h0X3llYXJzXSldKVsK
Ky1GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5dKSlbCistCistVGhpcyBwcm9ncmFtIGlz
IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy1p
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieQorLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yCistKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKy0KKy1UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKy1idXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy1HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorLQorLVlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistYWxvbmcgd2l0aCB0aGlzIHByb2dy
YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXSkKKy0KKy1i
NF9jb21tZW50KFtBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCB5b3UgbWF5IGNyZWF0ZSBhIGxhcmdl
ciB3b3JrIHRoYXQgY29udGFpbnMKKy1wYXJ0IG9yIGFsbCBvZiB0aGUgQmlzb24gcGFyc2VyIHNr
ZWxldG9uIGFuZCBkaXN0cmlidXRlIHRoYXQgd29yaworLXVuZGVyIHRlcm1zIG9mIHlvdXIgY2hv
aWNlLCBzbyBsb25nIGFzIHRoYXQgd29yayBpc24ndCBpdHNlbGYgYQorLXBhcnNlciBnZW5lcmF0
b3IgdXNpbmcgdGhlIHNrZWxldG9uIG9yIGEgbW9kaWZpZWQgdmVyc2lvbiB0aGVyZW9mCistYXMg
YSBwYXJzZXIgc2tlbGV0b24uICBBbHRlcm5hdGl2ZWx5LCBpZiB5b3UgbW9kaWZ5IG9yIHJlZGlz
dHJpYnV0ZQorLXRoZSBwYXJzZXIgc2tlbGV0b24gaXRzZWxmLCB5b3UgbWF5IChhdCB5b3VyIG9w
dGlvbikgcmVtb3ZlIHRoaXMKKy1zcGVjaWFsIGV4Y2VwdGlvbiwgd2hpY2ggd2lsbCBjYXVzZSB0
aGUgc2tlbGV0b24gYW5kIHRoZSByZXN1bHRpbmcKKy1CaXNvbiBvdXRwdXQgZmlsZXMgdG8gYmUg
bGljZW5zZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworLUxpY2Vuc2Ugd2l0aG91dCB0
aGlzIHNwZWNpYWwgZXhjZXB0aW9uLgorLQorLVRoaXMgc3BlY2lhbCBleGNlcHRpb24gd2FzIGFk
ZGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gaW4KKy12ZXJzaW9uIDIuMiBvZiBC
aXNvbi5dKQorLV0pCistCistCistIyBiNF9kaXNjbGFpbWVyCistIyAtLS0tLS0tLS0tLS0tCist
IyBJc3N1ZSBhIHdhcm5pbmcgYWJvdXQgcHJpdmF0ZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLgor
LW00X2RlZmluZShbYjRfZGlzY2xhaW1lcl0sCistW2I0X2NvbW1lbnQoW1VuZG9jdW1lbnRlZCBt
YWNyb3MsIGVzcGVjaWFsbHkgdGhvc2Ugd2hvc2UgbmFtZSBzdGFydCB3aXRoIFlZXywKKy1hcmUg
cHJpdmF0ZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLiAgRG8gbm90IHJlbHkgb24gdGhlbS5dKQor
LV0pCistCistCistCistIyBiNF9yZXF1aXJlZF92ZXJzaW9uX2lmKFZFUlNJT04sIElGX05FV0VS
LCBJRl9PTERFUikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgSWYgdGhlIHZlcnNpb24gJXJlcXVpcmUnZCBieSB0aGUgdXNlciBpcyBW
RVJTSU9OIChvciBuZXdlcikgZXhwYW5kCistIyBJRl9ORVdFUiwgb3RoZXJ3aXNlIElGX09MREVS
LiAgVkVSU0lPTiBzaG91bGQgYmUgYW4gaW50ZWdlciwgZS5nLiwKKy0jIDMwMiBmb3IgMy4yLgor
LW00X2RlZmluZShbYjRfcmVxdWlyZWRfdmVyc2lvbl9pZl0sCistW200X2lmKG00X2V2YWwoJDEg
PD0gYjRfcmVxdWlyZWRfdmVyc2lvbiksCistICAgICAgICAgICAgICBbMV0sIFskMl0sIFskM10p
XSkKKy0KKy0KKy0jIyAtLS0tLS0tLSAjIworLSMjIE91dHB1dC4gICMjCistIyMgLS0tLS0tLS0g
IyMKKy0KKy0jIGI0X291dHB1dF9iZWdpbihGSUxFMSwgRklMRTIpCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgRW5hYmxlIG91dHB1dCwgaS5lLiwgc2VuZCB0byBkaXZlcnNp
b24gMCwgZXhwYW5kIGFmdGVyICIjIiwgYW5kCistIyBnZW5lcmF0ZSB0aGUgdGFnIHRvIG91dHB1
dCBpbnRvIEZJTEUuICBNdXN0IGJlIGZvbGxvd2VkIGJ5IEVPTC4KKy0jIEZJTEUgaXMgRklMRTEg
Y29uY2F0ZW5hdGVkIHRvIEZJTEUyLiAgRklMRTIgY2FuIGJlIGVtcHR5LCBvciBiZQorLSMgYWJz
b2x1dGU6IGRvIHRoZSByaWdodCB0aGluZy4KKy1tNF9kZWZpbmUoW2I0X291dHB1dF9iZWdpbl0s
CistW200X2NoYW5nZWNvbSgpCistbTRfZGl2ZXJ0X3B1c2goMClkbmwKKy1Ab3V0cHV0KG00X3Vu
cXVvdGUoWyQxXSlALG00X3VucXVvdGUoWyQyXSlAKUBkbmwKKy1dKQorLQorLQorLSMgYjRfb3V0
cHV0X2VuZAorLSMgLS0tLS0tLS0tLS0tLQorLSMgT3V0cHV0IG5vdGhpbmcsIHJlc3RvcmUgIyBh
cyBjb21tZW50IGNoYXJhY3RlciAobm8gZXhwYW5zaW9ucyBhZnRlciAjKS4KKy1tNF9kZWZpbmUo
W2I0X291dHB1dF9lbmRdLAorLVttNF9kaXZlcnRfcG9wKDApCistbTRfY2hhbmdlY29tKFsjXSkK
Ky1dKQorLQorLQorLSMgYjRfZGl2ZXJ0X2tpbGwoQ09ERSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tCistIyBFeHBhbmQgQ09ERSBmb3IgaXRzIHNpZGUgZWZmZWN0cywgZGlzY2FyZCBpdHMgb3V0
cHV0LgorLW00X2RlZmluZShbYjRfZGl2ZXJ0X2tpbGxdLAorLVttNF9kaXZlcnRfdGV4dChbS0lM
TF0sIFskMV0pXSkKKy0KKy0KKy0jIGI0X2RlZmluZV9zaWxlbnQoTUFDUk8sIENPREUpCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgU2FtZSBhcyBtNF9kZWZpbmUsIGJ1dCB0
aHJvdyBhd2F5IHRoZSBleHBhbnNpb24gb2YgQ09ERS4KKy1tNF9kZWZpbmUoW2I0X2RlZmluZV9z
aWxlbnRdLAorLVttNF9kZWZpbmUoWyQxXSwgW2I0X2RpdmVydF9raWxsKFskMl0pXSldKQorLQor
LQorLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBFcnJvciBoYW5kbGluZy4gICMjCistIyMg
LS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgVGhlIGZvbGxvd2luZyBlcnJvciBoYW5kbGluZyBt
YWNyb3MgcHJpbnQgZXJyb3IgZGlyZWN0aXZlcyB0aGF0IHNob3VsZCBub3QKKy0jIGJlY29tZSBh
cmd1bWVudHMgb2Ygb3RoZXIgbWFjcm8gaW52b2NhdGlvbnMgc2luY2UgdGhleSB3b3VsZCBsaWtl
bHkgdGhlbiBiZQorLSMgbWFuZ2xlZC4gIFRodXMsIHRoZXkgcHJpbnQgdG8gc3Rkb3V0IGRpcmVj
dGx5LgorLQorLSMgYjRfY2F0KFRFWFQpCistIyAtLS0tLS0tLS0tLS0KKy0jIFdyaXRlIFRFWFQg
dG8gc3Rkb3V0LiAgUHJlY2VkZSB0aGUgZmluYWwgbmV3bGluZSB3aXRoIGFuIEAgc28gdGhhdCBp
dCdzCistIyBlc2NhcGVkLiAgRm9yIGV4YW1wbGU6CistIworLSMgICBiNF9jYXQoW1tAY29tcGxh
aW4oaW52YWxpZCBpbnB1dEApXV0pCistbTRfZGVmaW5lKFtiNF9jYXRdLAorLVttNF9zeXNjbWQo
W2NhdCA8PCdfbTRlb2YnCistXW00X2JwYXRzdWJzdChtNF9kcXVvdGUoJDEpLCBbX200ZW9mXSwg
W19tNEBgZW9mXSlbQAorLV9tNGVvZgorLV0pZG5sCistbTRfaWYobTRfc3lzdmFsLCBbMF0sIFtd
LCBbbTRfZmF0YWwoWyQwOiBjYW5ub3Qgd3JpdGUgdG8gc3Rkb3V0XSldKV0pCistCistIyBiNF9l
cnJvcihLSU5ELCBTVEFSVCwgRU5ELCBGT1JNQVQsIFtBUkcxXSwgW0FSRzJdLCAuLi4pCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist
IyBXcml0ZSBAS0lORChTVEFSVEAsRU5EQCxGT1JNQVRALEFSRzFALEFSRzJALC4uLkApIHRvIHN0
ZG91dC4KKy0jCistIyBGb3IgZXhhbXBsZToKKy0jCistIyAgIGI0X2Vycm9yKFtbY29tcGxhaW5d
XSwgW1tpbnB1dC55OjIuM11dLCBbW2lucHV0Lnk6NS40XV0sCistIyAgICAgICAgICAgIFtbaW52
YWxpZCAlc11dLCBbW2Zvb11dKQorLW00X2RlZmluZShbYjRfZXJyb3JdLAorLVtiNF9jYXQoW1tA
Y29tcGxhaW5dWyhdJDFbQCxdJDJbQCxdJDNbQCxdJDRbXV1kbmwKKy1bbTRfaWYoWyQjXSwgWzRd
LCBbXSwKKy0gICAgICAgW200X2ZvcmVhY2goW2I0X2FyZ10sCistICAgICAgICAgICAgICAgICAg
IG00X2RxdW90ZShtNF9zaGlmdChtNF9zaGlmdChtNF9zaGlmdChtNF9zaGlmdCgkQCkpKSkpLAor
LSAgICAgICAgICAgICAgICAgICBbW0AsXWI0X2FyZ10pXSlbQCldXSldKQorLQorLSMgYjRfd2Fy
bihGT1JNQVQsIFtBUkcxXSwgW0FSRzJdLCAuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIFdyaXRlIEB3YXJuKEZPUk1BVEAsQVJHMUAsQVJHMkAsLi4uQCkg
dG8gc3Rkb3V0LgorLSMKKy0jIEZvciBleGFtcGxlOgorLSMKKy0jICAgYjRfd2FybihbW2ludmFs
aWQgdmFsdWUgZm9yICclcyc6ICVzXV0sIFtbZm9vXV0sIFtbM11dKQorLSMKKy0jIEFzIGEgc2lt
cGxlIHRlc3Qgc3VpdGUsIHRoaXM6CistIworLSMgICBtNF9kaXZlcnQoLTEpCistIyAgIG00X2Rl
ZmluZShbYXNkZl0sIFtBU0RGXSkKKy0jICAgbTRfZGVmaW5lKFtmc2FdLCBbRlNBXSkKKy0jICAg
bTRfZGVmaW5lKFtmZHNhXSwgW0ZEU0FdKQorLSMgICBiNF93YXJuX2F0KFtbW2FzZGYpLCBhc2Rm
XV1dLCBbW1tmc2EpLCBmc2FdXV0sIFtbW2Zkc2EpLCBmZHNhXV1dKQorLSMgICBiNF93YXJuX2F0
KFtbYXNkZiksIGFzZGZdXSwgW1tmc2EpLCBmc2FdXSwgW1tmZHNhKSwgZmRzYV1dKQorLSMgICBi
NF93YXJuX2F0KCkKKy0jICAgYjRfd2Fybl9hdCgxKQorLSMgICBiNF93YXJuX2F0KDEsIDIpCist
IworLSMgU2hvdWxkIHByb2R1Y2UgdGhpcyB3aXRob3V0IG5ld2xpbmVzOgorLSMKKy0jICAgQHdh
cm5fYXQoW2FzZGYpLCBhc2RmXUAsQCxALFtmc2EpLCBmc2FdQCxbZmRzYSksIGZkc2FdQCkKKy0j
ICAgQHdhcm4oYXNkZiksIGFzZGZALEAsQCxmc2EpLCBmc2FALGZkc2EpLCBmZHNhQCkKKy0jICAg
QHdhcm4oQCkKKy0jICAgQHdhcm4oMUApCistIyAgIEB3YXJuKDFALDJAKQorLW00X2RlZmluZShb
YjRfd2Fybl0sCistW2I0X2Vycm9yKFtbd2Fybl1dLCBbXSwgW10sICRAKV0pCistCistIyBiNF93
YXJuX2F0KFNUQVJULCBFTkQsIEZPUk1BVCwgW0FSRzFdLCBbQVJHMl0sIC4uLikKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgV3JpdGUg
QHdhcm4oU1RBUlRALEVOREAsRk9STUFUQCxBUkcxQCxBUkcyQCwuLi5AKSB0byBzdGRvdXQuCist
IworLSMgRm9yIGV4YW1wbGU6CistIworLSMgICBiNF93YXJuX2F0KFtbaW5wdXQueToyLjNdXSwg
W1tpbnB1dC55OjUuNF1dLCBbW2ludmFsaWQgJXNdXSwgW1tmb29dXSkKKy1tNF9kZWZpbmUoW2I0
X3dhcm5fYXRdLAorLVtiNF9lcnJvcihbW3dhcm5dXSwgJEApXSkKKy0KKy0jIGI0X2NvbXBsYWlu
KEZPUk1BVCwgW0FSRzFdLCBbQVJHMl0sIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKy0jIEJvdW5jZSB0byBiNF9jb21wbGFpbl9hdC4KKy0jCistIyBT
ZWUgYjRfd2FybiBleGFtcGxlLgorLW00X2RlZmluZShbYjRfY29tcGxhaW5dLAorLVtiNF9lcnJv
cihbW2NvbXBsYWluXV0sIFtdLCBbXSwgJEApXSkKKy0KKy0jIGI0X2NvbXBsYWluX2F0KFNUQVJU
LCBFTkQsIEZPUk1BVCwgW0FSRzFdLCBbQVJHMl0sIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFdyaXRlIEBjb21wbGFp
bihTVEFSVEAsRU5EQCxGT1JNQVRALEFSRzFALEFSRzJALC4uLkApIHRvIHN0ZG91dC4KKy0jCist
IyBTZWUgYjRfd2Fybl9hdCBleGFtcGxlLgorLW00X2RlZmluZShbYjRfY29tcGxhaW5fYXRdLAor
LVtiNF9lcnJvcihbW2NvbXBsYWluXV0sICRAKV0pCistCistIyBiNF9mYXRhbChGT1JNQVQsIFtB
UkcxXSwgW0FSRzJdLCAuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCistIyBCb3VuY2UgdG8gYjRfZmF0YWxfYXQuCistIworLSMgU2VlIGI0X3dhcm4gZXhhbXBs
ZS4KKy1tNF9kZWZpbmUoW2I0X2ZhdGFsXSwKKy1bYjRfZXJyb3IoW1tmYXRhbF1dLCBbXSwgW10s
ICRAKWRubAorLW00X2V4aXQoMSldKQorLQorLSMgYjRfZmF0YWxfYXQoU1RBUlQsIEVORCwgRk9S
TUFULCBbQVJHMV0sIFtBUkcyXSwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgV3JpdGUgQGZhdGFsKFNUQVJUQCxFTkRALEZP
Uk1BVEAsQVJHMUAsQVJHMkAsLi4uQCkgdG8gc3Rkb3V0IGFuZCBleGl0LgorLSMKKy0jIFNlZSBi
NF93YXJuX2F0IGV4YW1wbGUuCistbTRfZGVmaW5lKFtiNF9mYXRhbF9hdF0sCistW2I0X2Vycm9y
KFtbZmF0YWxdXSwgJEApZG5sCistbTRfZXhpdCgxKV0pCistCistCistIyMgLS0tLS0tLS0tLS0t
ICMjCistIyMgRGF0YSBUeXBlcy4gICMjCistIyMgLS0tLS0tLS0tLS0tICMjCistCistIyBiNF9p
bnRzX2luKElOVDEsIElOVDIsIExPVywgSElHSCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgUmV0dXJuIDEgaWZmIGJvdGggSU5UMSBhbmQgSU5UMiBhcmUgaW4gW0xP
VywgSElHSF0sIDAgb3RoZXJ3aXNlLgorLW00X2RlZmluZShbYjRfaW50c19pbl0sCistW200X2V2
YWwoWyQzIDw9ICQxICYmICQxIDw9ICQ0ICYmICQzIDw9ICQyICYmICQyIDw9ICQ0XSldKQorLQor
LQorLSMgYjRfc3VidHJhY3QoTEhTLCBSSFMpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0j
IEV2YWx1YXRlIExIUyAtIFJIUyBpZiB0aGV5IGFyZSBpbnRlZ2VyIGxpdGVyYWxzLCBvdGhlcndp
c2UgZXhwYW5kCistIyB0byAoTEhTKSAtIChSSFMpLgorLW00X2RlZmluZShbYjRfc3VidHJhY3Rd
LAorLVttNF9ibWF0Y2goWyQxJDJdLCBbXlswMTIzNDU2Nzg5XSokXSwKKy0gICAgICAgICAgIFtt
NF9ldmFsKFskMSAtICQyXSldLAorLSAgICAgICAgICAgWygkMSkgLSAoJDIpXSldKQorLQorLSMg
YjRfam9pbihBUkcxLCAuLi4pCistIyBfYjRfam9pbihBUkcxLCAuLi4pCistIyAtLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBKb2luIHdpdGggY29tbWEsIHNraXBwaW5nIGVtcHR5IGFyZ3VtZW50cy4K
Ky0jIGI0X2pvaW4gY2FsbHMgaXRzZWxmIHJlY3Vyc2l2ZWx5IHVudGlsIGl0IHNlZXMgdGhlIGZp
cnN0IG5vbi1lbXB0eQorLSMgYXJndW1lbnQsIHRoZW4gY2FsbHMgX2I0X2pvaW4gKGkuZS4sIGBf
JDBgKSB3aGljaCBwcmVwZW5kcyBlYWNoCistIyBub24tZW1wdHkgYXJndW1lbnQgd2l0aCBhIGNv
bW1hLgorLW00X2RlZmluZShbYjRfam9pbl0sCistW200X2lmKFskIyQxXSwKKy0gICAgICAgWzFd
LCBbXSwKKy0gICAgICAgW200X2lmdmFsKFskMV0sCistICAgICAgICAgICAgICAgICBbJDFbXV8k
MChtNF9zaGlmdCgkQCkpXSwKKy0gICAgICAgICAgICAgICAgIFskMChtNF9zaGlmdCgkQCkpXSld
KV0pCistCistIyBfYjRfam9pbihBUkdTMSwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky1tNF9kZWZpbmUoW19iNF9qb2luXSwKKy1bbTRfaWYoWyQjJDFdLAorLSAgICAgICBbMV0sIFtd
LAorLSAgICAgICBbbTRfaWZ2YWwoWyQxXSwgWywgJDFdKVtdJDAobTRfc2hpZnQoJEApKV0pXSkK
Ky0KKy0KKy0KKy0KKy0jIGI0X2ludGVncmFsX3BhcnNlcl90YWJsZXNfbWFwKE1BQ1JPKQorLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTWFwIE1BQ1JPIG9uIGFs
bCB0aGUgaW50ZWdyYWwgdGFibGVzLiAgTUFDUk8gaXMgZXhwZWN0ZWQgdG8gaGF2ZQorLSMgdGhl
IHNpZ25hdHVyZSBNQUNSTyhUQUJMRS1OQU1FLCBDT05URU5ULCBDT01NRU5UKS4KKy1tNF9kZWZp
bmUoW2I0X2ludGVncmFsX3BhcnNlcl90YWJsZXNfbWFwXSwKKy1bJDEoW3BhY3RdLCBbYjRfcGFj
dF0sCistICAgIFtbWVlQQUNUW1NUQVRFLU5VTV0gLS0gSW5kZXggaW4gWVlUQUJMRSBvZiB0aGUg
cG9ydGlvbiBkZXNjcmliaW5nCistU1RBVEUtTlVNLl1dKQorLQorLSQxKFtkZWZhY3RdLCBbYjRf
ZGVmYWN0XSwKKy0gICBbW1lZREVGQUNUW1NUQVRFLU5VTV0gLS0gRGVmYXVsdCByZWR1Y3Rpb24g
bnVtYmVyIGluIHN0YXRlIFNUQVRFLU5VTS4KKy1QZXJmb3JtZWQgd2hlbiBZWVRBQkxFIGRvZXMg
bm90IHNwZWNpZnkgc29tZXRoaW5nIGVsc2UgdG8gZG8uICBaZXJvCistbWVhbnMgdGhlIGRlZmF1
bHQgaXMgYW4gZXJyb3IuXV0pCistCistJDEoW3Bnb3RvXSwgW2I0X3Bnb3RvXSwgW1tZWVBHT1RP
W05URVJNLU5VTV0uXV0pCistCistJDEoW2RlZmdvdG9dLCBbYjRfZGVmZ290b10sIFtbWVlERUZH
T1RPW05URVJNLU5VTV0uXV0pCistCistJDEoW3RhYmxlXSwgW2I0X3RhYmxlXSwKKy0gICBbW1lZ
VEFCTEVbWVlQQUNUW1NUQVRFLU5VTV1dIC0tIFdoYXQgdG8gZG8gaW4gc3RhdGUgU1RBVEUtTlVN
LiAgSWYKKy1wb3NpdGl2ZSwgc2hpZnQgdGhhdCB0b2tlbi4gIElmIG5lZ2F0aXZlLCByZWR1Y2Ug
dGhlIHJ1bGUgd2hvc2UKKy1udW1iZXIgaXMgdGhlIG9wcG9zaXRlLiAgSWYgWVlUQUJMRV9OSU5G
LCBzeW50YXggZXJyb3IuXV0pCistCistJDEoW2NoZWNrXSwgW2I0X2NoZWNrXSkKKy0KKy0kMShb
c3Rvc10sIFtiNF9zdG9zXSwKKy0gICBbW1lZU1RPU1tTVEFURS1OVU1dIC0tIFRoZSAoaW50ZXJu
YWwgbnVtYmVyIG9mIHRoZSkgYWNjZXNzaW5nCistc3ltYm9sIG9mIHN0YXRlIFNUQVRFLU5VTS5d
XSkKKy0KKy0kMShbcjFdLCBbYjRfcjFdLAorLSAgIFtbWVlSMVtZWU5dIC0tIFN5bWJvbCBudW1i
ZXIgb2Ygc3ltYm9sIHRoYXQgcnVsZSBZWU4gZGVyaXZlcy5dXSkKKy0KKy0kMShbcjJdLCBbYjRf
cjJdLAorLSAgIFtbWVlSMltZWU5dIC0tIE51bWJlciBvZiBzeW1ib2xzIG9uIHRoZSByaWdodCBo
YW5kIHNpZGUgb2YgcnVsZSBZWU4uXV0pCistXSkKKy0KKy0KKy0jIGI0X3BhcnNlcl90YWJsZXNf
ZGVjbGFyZQorLSMgYjRfcGFyc2VyX3RhYmxlc19kZWZpbmUKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorLSMgRGVmaW5lL2RlY2xhcmUgdGhlIChkZXRlcm1pbmlzdGljKSBwYXJzZXIgdGFi
bGVzLgorLW00X2RlZmluZShbYjRfcGFyc2VyX3RhYmxlc19kZWNsYXJlXSwKKy1bYjRfaW50ZWdy
YWxfcGFyc2VyX3RhYmxlc19tYXAoW2I0X2ludGVncmFsX3BhcnNlcl90YWJsZV9kZWNsYXJlXSld
KQorLQorLW00X2RlZmluZShbYjRfcGFyc2VyX3RhYmxlc19kZWZpbmVdLAorLVtiNF9pbnRlZ3Jh
bF9wYXJzZXJfdGFibGVzX21hcChbYjRfaW50ZWdyYWxfcGFyc2VyX3RhYmxlX2RlZmluZV0pXSkK
Ky0KKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBEZWNvZGluZyBvcHRpb25z
LiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0jIGI0X2ZsYWdfaWYoRkxBRywg
SUYtVFJVRSwgSUYtRkFMU0UpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLSMgUnVuIElGLVRSVUUgaWYgYjRfRkxBR19mbGFnIGlzIDEsIElGLUZBTFNFIGlmIEZMQUcg
aXMgMCwgb3RoZXJ3aXNlIGZhaWwuCistbTRfZGVmaW5lKFtiNF9mbGFnX2lmXSwKKy1bbTRfY2Fz
ZShiNF8kMV9mbGFnLAorLSAgICAgICAgIFswXSwgWyQzXSwKKy0gICAgICAgICBbMV0sIFskMl0s
CistICAgICAgICAgW200X2ZhdGFsKFtpbnZhbGlkICQxIHZhbHVlOiBdYjRfJDFfZmxhZyldKV0p
CistCistCistIyBiNF9kZWZpbmVfZmxhZ19pZihGTEFHKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIERlZmluZSAiYjRfRkxBR19pZihJRi1UUlVFLCBJRi1GQUxTRSkiIHRoYXQgZGVw
ZW5kcyBvbiB0aGUKKy0jIHZhbHVlIG9mIHRoZSBCb29sZWFuIEZMQUcuCistbTRfZGVmaW5lKFti
NF9kZWZpbmVfZmxhZ19pZl0sCistW19iNF9kZWZpbmVfZmxhZ19pZigkWzFdLCAkWzJdLCBbJDFd
KV0pCistCistIyBfYjRfZGVmaW5lX2ZsYWdfaWYoJDEsICQyLCBGTEFHKQorLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFdvcmsgYXJvdW5kIHRoZSBpbXBvc3NpYmlsaXR5
IHRvIGRlZmluZSBtYWNyb3MgaW5zaWRlIG1hY3JvcywKKy0jIGJlY2F1c2UgaXNzdWluZyAnWyQx
XScgaXMgbm90IHBvc3NpYmxlIGluIE00LiAgR05VIE00IHNob3VsZCBwcm92aWRlCistIyAkJDEg
YSBsYSBNNS9UZVguCistbTRfZGVmaW5lKFtfYjRfZGVmaW5lX2ZsYWdfaWZdLAorLVttNF9pZihb
JDEkMl0sICRbMV0kWzJdLCBbXSwKKy0gICAgICAgW200X2ZhdGFsKFskMDogSW52YWxpZCBhcmd1
bWVudHM6ICRAXSldKWRubAorLW00X2RlZmluZShbYjRfJDNfaWZdLAorLSAgICAgICAgICBbYjRf
ZmxhZ19pZihbJDNdLCBbJDFdLCBbJDJdKV0pXSkKKy0KKy0KKy0jIGI0X0ZMQUdfaWYoSUYtVFJV
RSwgSUYtRkFMU0UpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5k
IElGLVRSVUUsIGlmIEZMQUcgaXMgdHJ1ZSwgSUYtRkFMU0Ugb3RoZXJ3aXNlLgorLWI0X2RlZmlu
ZV9mbGFnX2lmKFtkZWZpbmVzXSkgICAgICAgICAgICAjIFdoZXRoZXIgaGVhZGVycyBhcmUgcmVx
dWVzdGVkLgorLWI0X2RlZmluZV9mbGFnX2lmKFtnbHJdKSAgICAgICAgICAgICAgICAjIFdoZXRo
ZXIgYSBHTFIgcGFyc2VyIGlzIHJlcXVlc3RlZC4KKy1iNF9kZWZpbmVfZmxhZ19pZihbbm9uZGV0
ZXJtaW5pc3RpY10pICAgIyBXaGV0aGVyIGNvbmZsaWN0cyBzaG91bGQgYmUgaGFuZGxlZC4KKy1i
NF9kZWZpbmVfZmxhZ19pZihbdG9rZW5fdGFibGVdKSAgICAgICAgIyBXaGV0aGVyIHl5dG9rZW5f
dGFibGUgaXMgZGVtYW5kZWQuCistYjRfZGVmaW5lX2ZsYWdfaWYoW3lhY2NdKSAgICAgICAgICAg
ICAgICMgV2hldGhlciBQT1NJWCBZYWNjIGlzIGVtdWxhdGVkLgorLQorLQorLSMgYjRfZ2xyX2Nj
X2lmKFtJRi1UUlVFXSwgW0lGLUZBTFNFXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistbTRfZGVmaW5lKFtiNF9nbHJfY2NfaWZdLAorLSAgICAgICAgICBbbTRfaWYo
YjRfc2tlbGV0b24sIFsiZ2xyLmNjIl0sICRAKV0pCistCistCistIyMgLS0tLS0tLS0tICMjCist
IyMgU3ltYm9scy4gICMjCistIyMgLS0tLS0tLS0tICMjCistCistIyBGb3IgYSBkZXNjcmlwdGlv
biBvZiB0aGUgU3ltYm9sIGhhbmRsaW5nLCBzZWUgUkVBRE1FLgorLSMKKy0jIFRoZSBmb2xsb3dp
bmcgbWFjcm9zIHByb3ZpZGUgYWNjZXNzIHRvIHN5bWJvbCByZWxhdGVkIHZhbHVlcy4KKy0KKy0j
IF9fYjRfc3ltYm9sKE5VTSwgRklFTEQpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
UmVjb3ZlciBhIEZJRUxEIGFib3V0IHN5bWJvbCAjTlVNLiAgVGhhbmtzIHRvIG00X2luZGlyLCBm
YWlscyBpZgorLSMgdW5kZWZpbmVkLgorLW00X2RlZmluZShbX19iNF9zeW1ib2xdLAorLVttNF9p
bmRpcihbYjRfc3ltYm9sKCQxLCAkMildKV0pCistCistCistIyBfYjRfc3ltYm9sKE5VTSwgRklF
TEQpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBSZWNvdmVyIGEgRklFTEQgYWJvdXQg
c3ltYm9sICNOVU0gKG9yICJvcmlnIE5VTSIpLiAgRmFpbHMgaWYKKy0jIHVuZGVmaW5lZC4KKy1t
NF9kZWZpbmUoW19iNF9zeW1ib2xdLAorLVttNF9pZmRlZihbYjRfc3ltYm9sKCQxLCBudW1iZXIp
XSwKKy0gICAgICAgICAgW19fYjRfc3ltYm9sKG00X2luZGlyKFtiNF9zeW1ib2woJDEsIG51bWJl
cildKSwgJDIpXSwKKy0gICAgICAgICAgW19fYjRfc3ltYm9sKFskMV0sIFskMl0pXSldKQorLQor
LQorLQorLSMgYjRfc3ltYm9sKE5VTSwgRklFTEQpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIFJlY292ZXIgYSBGSUVMRCBhYm91dCBzeW1ib2wgI05VTSAob3IgIm9yaWcgTlVNIikuICBG
YWlscyBpZgorLSMgdW5kZWZpbmVkLiAgSWYgRklFTEQgPSBpZCwgcHJlcGVuZCB0aGUgdG9rZW4g
cHJlZml4LgorLW00X2RlZmluZShbYjRfc3ltYm9sXSwKKy1bbTRfY2FzZShbJDJdLAorLSAgICAg
ICAgIFtpZF0sICAgIFttNF9kbyhbYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFthcGkudG9rZW4ucHJl
Zml4XSldLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbX2I0X3N5bWJvbChbJDFdLCBbaWRd
KV0pXSwKKy0gICAgICAgICBbX2I0X3N5bWJvbCgkQCldKV0pCistCistCistIyBiNF9zeW1ib2xf
aWYoTlVNLCBGSUVMRCwgSUYtVFJVRSwgSUYtRkFMU0UpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJZiBGSUVMRCBhYm91dCBzeW1ib2wgI05VTSBp
cyAxIGV4cGFuZCBJRi1UUlVFLCBpZiBpcyAwLCBleHBhbmQgSUYtRkFMU0UuCistIyBPdGhlcndp
c2UgYW4gZXJyb3IuCistbTRfZGVmaW5lKFtiNF9zeW1ib2xfaWZdLAorLVttNF9jYXNlKGI0X3N5
bWJvbChbJDFdLCBbJDJdKSwKKy0gICAgICAgICBbMV0sIFskM10sCistICAgICAgICAgWzBdLCBb
JDRdLAorLSAgICAgICAgIFttNF9mYXRhbChbJDA6IGZpZWxkICQyIG9mICQxIGlzIG5vdCBhIEJv
b2xlYW46XSBiNF9zeW1ib2woWyQxXSwgWyQyXSkpXSldKQorLQorLQorLSMgYjRfc3ltYm9sX3Rh
Z19jb21tZW50KFNZTUJPTC1OVU0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIElzc3VlIGEgY29tbWVudCBnaXZpbmcgdGhlIHRhZyBvZiBzeW1ib2wgTlVNLgorLW00
X2RlZmluZShbYjRfc3ltYm9sX3RhZ19jb21tZW50XSwKKy1bYjRfY29tbWVudChbYjRfc3ltYm9s
KFskMV0sIFt0YWddKV0pCistXSkKKy0KKy0KKy0jIGI0X3N5bWJvbF9hY3Rpb25fbG9jYXRpb24o
U1lNQk9MLU5VTSwgS0lORCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIFJlcG9ydCB0aGUgbG9jYXRpb24gb2YgdGhlIEtJTkQgYWN0aW9uIGFzIEZJ
TEU6TElORS4KKy1tNF9kZWZpbmUoW2I0X3N5bWJvbF9hY3Rpb25fbG9jYXRpb25dLAorLVtiNF9z
eW1ib2woWyQxXSwgWyQyX2ZpbGVdKTpiNF9zeW5jbGluZShbYjRfc3ltYm9sKFskMV0sIFskMl9s
aW5lXSldKV0pCistCistCistIyBiNF9zeW1ib2xfYWN0aW9uKFNZTUJPTC1OVU0sIEtJTkQpCist
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBSdW4gdGhlIGFjdGlvbiBL
SU5EIChkZXN0cnVjdG9yIG9yIHByaW50ZXIpIGZvciBTWU1CT0wtTlVNLgorLW00X2RlZmluZShb
YjRfc3ltYm9sX2FjdGlvbl0sCistW2I0X3N5bWJvbF9pZihbJDFdLCBbaGFzXyQyXSwKKy1bYjRf
ZG9sbGFyX3B1c2hkZWYoWygqeXl2YWx1ZXApXSwKKy0gICAgICAgICAgICAgICAgICAgWyQxXSwK
Ky0gICAgICAgICAgICAgICAgICAgW10sCistICAgICAgICAgICAgICAgICAgIFsoKnl5bG9jYXRp
b25wKV0pZG5sCistICAgIF9iNF9zeW1ib2xfY2FzZShbJDFdKVtdZG5sCistYjRfc3luY2xpbmUo
W2I0X3N5bWJvbChbJDFdLCBbJDJfbGluZV0pXSwgW2I0X3N5bWJvbChbJDFdLCBbJDJfZmlsZV0p
XSkKKy0gICAgICBiNF9zeW1ib2woWyQxXSwgWyQyXSkKKy1iNF9zeW5jbGluZShbQG9saW5lQF0s
IFtAb2ZpbGVAXSkKKy0gICAgICAgIGJyZWFrOworLQorLWI0X2RvbGxhcl9wb3BkZWZbXWRubAor
LV0pXSkKKy0KKy0KKy0jIGI0X3N5bWJvbF9kZXN0cnVjdG9yKFNZTUJPTC1OVU0pCistIyBiNF9z
eW1ib2xfcHJpbnRlcihTWU1CT0wtTlVNKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy1tNF9kZWZpbmUoW2I0X3N5bWJvbF9kZXN0cnVjdG9yXSwgW2I0X3N5bWJvbF9hY3Rp
b24oWyQxXSwgW2Rlc3RydWN0b3JdKV0pCistbTRfZGVmaW5lKFtiNF9zeW1ib2xfcHJpbnRlcl0s
ICAgIFtiNF9zeW1ib2xfYWN0aW9uKFskMV0sIFtwcmludGVyXSldKQorLQorLQorLSMgYjRfc3lt
Ym9sX2FjdGlvbnMoS0lORCwgW1RZUEUgPSB5eXR5cGVdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRW1pdCB0aGUgc3ltYm9sIGFjdGlvbnMgZm9yIEtJ
TkQgKCJwcmludGVyIiBvciAiZGVzdHJ1Y3RvciIpLgorLSMgRGlzcGF0Y2ggb24gVFlQRS4KKy1t
NF9kZWZpbmUoW2I0X3N5bWJvbF9hY3Rpb25zXSwKKy1bbTRfcHVzaGRlZihbYjRfYWN0aW9uc19d
LCBtNF9leHBhbmQoW2I0X3N5bWJvbF9mb3JlYWNoKFtiNF9zeW1ib2xfJDFdKV0pKWRubAorLW00
X2lmdmFsKG00X2RlZm4oW2I0X2FjdGlvbnNfXSksCistW3N3aXRjaCAobTRfZGVmYXVsdChbJDJd
LCBbeXl0eXBlXSkpCistICAgIHsKKy1tNF9kZWZuKFtiNF9hY3Rpb25zX10pW11kbmwKKy0gICAg
ICBkZWZhdWx0OgorLSAgICAgICAgYnJlYWs7CistICAgIH1kbmwKKy1dLAorLVtZWVVTRSAobTRf
ZGVmYXVsdChbJDJdLCBbeXl0eXBlXSkpO10pZG5sCistbTRfcG9wZGVmKFtiNF9hY3Rpb25zX10p
ZG5sCistXSkKKy0KKy0jIF9iNF9zeW1ib2xfY2FzZShTWU1CT0wtTlVNKQorLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBJc3N1ZSBhICJjYXNlIE5VTSIgZm9yIFNZTUJPTC1OVU0u
ICBFbmRzIHdpdGggaXRzIEVPTCB0byBtYWtlIGl0CistIyBlYXNpZXIgdG8gdXNlIHdpdGggbTRf
bWFwLCBidXQgdGhlbiwgdXNlIFtdZG5sIHRvIHN1cHByZXNzIHRoZSBsYXN0CistIyBvbmUuCist
bTRfZGVmaW5lKFtfYjRfc3ltYm9sX2Nhc2VdLAorLVtjYXNlIGI0X3N5bWJvbChbJDFdLCBbbnVt
YmVyXSk6IGI0X3N5bWJvbF90YWdfY29tbWVudChbJDFdKV0pCistXSkKKy0KKy0KKy0jIGI0X3N5
bWJvbF9mb3JlYWNoKE1BQ1JPKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJbnZv
a2UgTUFDUk8oU1lNQk9MLU5VTSkgZm9yIGVhY2ggU1lNQk9MLU5VTS4KKy1tNF9kZWZpbmUoW2I0
X3N5bWJvbF9mb3JlYWNoXSwKKy0gICAgICAgICAgW200X21hcChbJDFdLCBtNF9kZWZuKFtiNF9z
eW1ib2xfbnVtYmVyc10pKV0pCistCistIyBiNF9zeW1ib2xfbWFwKE1BQ1JPKQorLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIFJldHVybiBhIGxpc3QgKHBvc3NpYmx5IGVtcHR5IGVsZW1lbnRz
KSBvZiBNQUNSTyBpbnZva2VkIGZvciBlYWNoCistIyBTWU1CT0wtTlVNLgorLW00X2RlZmluZShb
YjRfc3ltYm9sX21hcF0sCistW200X21hcF9hcmdzX3NlcChbJDEoXSwgWyldLCBbLF0sIGI0X3N5
bWJvbF9udW1iZXJzKV0pCistCistCistIyBiNF90b2tlbl92aXNpYmxlX2lmKE5VTSwgSUYtVFJV
RSwgSUYtRkFMU0UpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCistIyBXaGV0aGVyIE5VTSBkZW5vdGVzIGEgdG9rZW4gdGhhdCBoYXMgYW4gZXhwb3J0ZWQg
ZGVmaW5pdGlvbiAoaS5lLiwKKy0jIHNob3dzIGluIGVudW0geXl0b2tlbnR5cGUpLgorLW00X2Rl
ZmluZShbYjRfdG9rZW5fdmlzaWJsZV9pZl0sCistW2I0X3N5bWJvbF9pZihbJDFdLCBbaXNfdG9r
ZW5dLAorLSAgICAgICAgICAgICAgW2I0X3N5bWJvbF9pZihbJDFdLCBbaGFzX2lkXSwgWyQyXSwg
WyQzXSldLAorLSAgICAgICAgICAgICAgWyQzXSldKQorLQorLSMgYjRfdG9rZW5faGFzX2RlZmlu
aXRpb24oTlVNKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgMSBpZiBOVU0g
aXMgdmlzaWJsZSwgbm90aGluZyBvdGhlcndpc2UuCistbTRfZGVmaW5lKFtiNF90b2tlbl9oYXNf
ZGVmaW5pdGlvbl0sCistW2I0X3Rva2VuX3Zpc2libGVfaWYoWyQxXSwgWzFdKV0pCistCistIyBi
NF9hbnlfdG9rZW5fdmlzaWJsZV9pZihbSUYtVFJVRV0sIFtJRi1GQUxTRV0pCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBXaGV0aGVyIHRoZXJl
IGlzIGEgdG9rZW4gdGhhdCBuZWVkcyB0byBiZSBkZWZpbmVkLgorLW00X2RlZmluZShbYjRfYW55
X3Rva2VuX3Zpc2libGVfaWZdLAorLVttNF9pZnZhbChiNF9zeW1ib2xfZm9yZWFjaChbYjRfdG9r
ZW5faGFzX2RlZmluaXRpb25dKSwKKy0gICAgICAgICAgWyQxXSwgWyQyXSldKQorLQorLQorLSMg
YjRfdG9rZW5fZm9ybWF0KEZPUk1BVCwgTlVNKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLW00X2RlZmluZShbYjRfdG9rZW5fZm9ybWF0XSwKKy1bYjRfdG9rZW5fdmlzaWJsZV9p
ZihbJDJdLAorLVttNF9xdW90ZShtNF9mb3JtYXQoWyQxXSwKKy0gICAgICAgICAgICAgICAgICAg
ICBbYjRfc3ltYm9sKFskMl0sIFtpZF0pXSwKKy0gICAgICAgICAgICAgICAgICAgICBbYjRfc3lt
Ym9sKFskMl0sIFt1c2VyX251bWJlcl0pXSkpXSldKQorLQorLQorLSMjIC0tLS0tLS0gIyMKKy0j
IyBUeXBlcy4gICMjCistIyMgLS0tLS0tLSAjIworLQorLSMgX2I0X3R5cGVfYWN0aW9uKE5VTVMp
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFJ1biBhY3Rpb25zIGZvciB0aGUgc3ltYm9s
IE5VTVMgdGhhdCBhbGwgaGF2ZSB0aGUgc2FtZSB0eXBlLW5hbWUuCistIyBTa2lwIE5VTVMgdGhh
dCBoYXZlIG5vIHR5cGUtbmFtZS4KKy0jCistIyBUbyBzcGVjaWZ5IHRoZSBhY3Rpb24gdG8gcnVu
LCBkZWZpbmUgYjRfZG9sbGFyX2RvbGxhcihTWU1CT0wtTlVNLAorLSMgVEFHLCBUWVBFKS4KKy1t
NF9kZWZpbmUoW19iNF90eXBlX2FjdGlvbl0sCistW2I0X3N5bWJvbF9pZihbJDFdLCBbaGFzX3R5
cGVdLAorLVttNF9tYXAoWyAgICAgIF9iNF9zeW1ib2xfY2FzZV0sIFskQF0pW11kbmwKKy0gICAg
ICAgIGI0X2RvbGxhcl9kb2xsYXIoW2I0X3N5bWJvbChbJDFdLCBbbnVtYmVyXSldLAorLSAgICAg
ICAgICAgICAgICAgICAgICAgICBbYjRfc3ltYm9sKFskMV0sIFt0YWddKV0sCistICAgICAgICAg
ICAgICAgICAgICAgICAgIFtiNF9zeW1ib2woWyQxXSwgW3R5cGVdKV0pOworLSAgICAgICAgYnJl
YWs7CistCistXSldKQorLQorLSMgYjRfdHlwZV9mb3JlYWNoKE1BQ1JPKQorLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLSMgSW52b2tlIE1BQ1JPKFNZTUJPTC1OVU1TKSBmb3IgZWFjaCBzZXQg
b2YgU1lNQk9MLU5VTVMgZm9yIGVhY2ggdHlwZSBzZXQuCistbTRfZGVmaW5lKFtiNF90eXBlX2Zv
cmVhY2hdLAorLSAgICAgICAgICBbbTRfbWFwKFskMV0sIG00X2RlZm4oW2I0X3R5cGVfbmFtZXNd
KSldKQorLQorLQorLQorLSMjIC0tLS0tLS0tLS0tICMjCistIyMgU3luY2xpbmVzLiAgIyMKKy0j
IyAtLS0tLS0tLS0tLSAjIworLQorLSMgYjRfYmFzZW5hbWUoTkFNRSkKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tCistIyBTaW1pbGFyIHRvIFBPU0lYIGJhc2VuYW1lOyB0aGUgZGlmZmVyZW5jZXMgZG9u
J3QgbWF0dGVyIGhlcmUuCistIyBCZXdhcmUgdGhhdCBOQU1FIGlzIG5vdCBldmFsdWF0ZWQuCist
bTRfZGVmaW5lKFtiNF9iYXNlbmFtZV0sCistW200X2JwYXRzdWJzdChbJDFdLCBbXi4qL1woW14v
XStcKS8qJF0sIFtcMV0pXSkKKy0KKy0KKy0jIGI0X3N5bmNsaW5lKExJTkUsIEZJTEUpCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLW00X2RlZmluZShbYjRfc3luY2xpbmVdLAorLVtiNF9m
bGFnX2lmKFtzeW5jbGluZXNdLAorLVtiNF9zeW5jX3N0YXJ0KFskMV0sIFskMl0pIGI0X3N5bmNf
ZW5kKFtfX2xpbmVfX10sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
W2I0X2Jhc2VuYW1lKG00X3F1b3RlKF9fZmlsZV9fKSldKVtdZG5sCistXSldKQorLQorLSMgYjRf
c3luY19zdGFydChMSU5FLCBGSUxFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFN5
bmNsaW5lIGZvciB0aGUgbmV3IHBsYWNlLiAgVHlwaWNhbGx5IGEgZGlyZWN0aXZlIGZvciB0aGUg
Y29tcGlsZXIuCistbTRfZGVmaW5lKFtiNF9zeW5jX3N0YXJ0XSwgW2I0X2NvbW1lbnQoWyQyOiQx
XSldKQorLQorLSMgYjRfc3luY19lbmQoTElORSwgRklMRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCistIyBTeW5jbGluZSBmb3IgdGhlIGN1cnJlbnQgcGxhY2UsIHdoaWNoIGVuZHMuICBU
eXBpY2FsbHkgYSBjb21tZW50CistIyBsZWZ0IGZvciB0aGUgcmVhZGVyLgorLW00X2RlZmluZShb
YjRfc3luY19lbmRdLCAgIFtiNF9jb21tZW50KFskMjokMV0pXSkKKy0KKy0KKy0jIGI0X3VzZXJf
Y29kZShVU0VSLUNPREUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRW1pdCBjb2Rl
IGZyb20gdGhlIHVzZXIsIGVuZGluZyBpdCB3aXRoIHN5bmNsaW5lcy4KKy1tNF9kZWZpbmUoW2I0
X3VzZXJfY29kZV0sCistWyQxCistYjRfc3luY2xpbmUoW0BvbGluZUBdLCBbQG9maWxlQF0pXSkK
Ky0KKy0KKy0jIGI0X2RlZmluZV91c2VyX2NvZGUoTUFDUk8sIENPTU1FTlQpCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRnJvbSBiNF9NQUNSTywgaWYgZGVmaW5l
ZCwgYnVpbGQgYjRfdXNlcl9NQUNSTyB0aGF0IGluY2x1ZGVzIHRoZSBzeW5jbGluZXMuCistbTRf
ZGVmaW5lKFtiNF9kZWZpbmVfdXNlcl9jb2RlXSwKKy1bbTRfZGVmaW5lKFtiNF91c2VyXyQxXSwK
Ky0gICAgICAgICAgIFttNF9pZmRlZihbYjRfJDFdLAorLSAgICAgICAgICAgICAgICAgICAgIFtt
NF9pZnZhbChbJDJdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYjRfY29tbWVu
dChbJDJdKQorLV0pYjRfdXNlcl9jb2RlKFtiNF8kMV0pXSldKV0pCistCistIyBiNF91c2VyX2Fj
dGlvbnMKKy0jIGI0X3VzZXJfaW5pdGlhbF9hY3Rpb24KKy0jIGI0X3VzZXJfcG9zdF9wcm9sb2d1
ZQorLSMgYjRfdXNlcl9wcmVfcHJvbG9ndWUKKy0jIGI0X3VzZXJfdW5pb25fbWVtYmVycworLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTWFjcm9zIHRoYXQgaXNzdWUgdXNlciBjb2RlLCBl
bmRpbmcgd2l0aCBzeW5jbGluZXMuCistYjRfZGVmaW5lX3VzZXJfY29kZShbYWN0aW9uc10pCist
YjRfZGVmaW5lX3VzZXJfY29kZShbaW5pdGlhbF9hY3Rpb25dLCBbVXNlciBpbml0aWFsaXphdGlv
biBjb2RlLl0pCistYjRfZGVmaW5lX3VzZXJfY29kZShbcG9zdF9wcm9sb2d1ZV0sIFtTZWNvbmQg
cGFydCBvZiB1c2VyIHByb2xvZ3VlLl0pCistYjRfZGVmaW5lX3VzZXJfY29kZShbcHJlX3Byb2xv
Z3VlXSwgW0ZpcnN0IHBhcnQgb2YgdXNlciBwcm9sb2d1ZS5dKQorLWI0X2RlZmluZV91c2VyX2Nv
ZGUoW3VuaW9uX21lbWJlcnNdKQorLQorLQorLSMgYjRfY2hlY2tfdXNlcl9uYW1lcyhXSEFULCBV
U0VSLUxJU1QsIEJJU09OLU5BTUVTUEFDRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBDb21wbGFpbiBpZiBhbnkgbmFtZSBvZiB0
eXBlIFdIQVQgaXMgdXNlZCBieSB0aGUgdXNlciAoYXMgcmVjb3JkZWQgaW4KKy0jIFVTRVItTElT
VCkgYnV0IGlzIG5vdCB1c2VkIGJ5IEJpc29uIChhcyByZWNvcmRlZCBieSBtYWNyb3MgaW4gdGhl
CistIyBuYW1lc3BhY2UgQklTT04tTkFNRVNQQUNFKS4KKy0jCistIyBVU0VSLUxJU1QgbXVzdCBl
eHBhbmQgdG8gYSBsaXN0IHNwZWNpZnlpbmcgYWxsIHVzZXIgb2NjdXJyZW5jZXMgb2YgYWxsIG5h
bWVzCistIyBvZiB0eXBlIFdIQVQuICAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IG11c3QgYmUgYSB0
cmlwbGV0IHNwZWNpZnlpbmcgb25lCistIyBvY2N1cnJlbmNlOiBuYW1lLCBzdGFydCBib3VuZGFy
eSwgYW5kIGVuZCBib3VuZGFyeS4gIEVtcHR5IHN0cmluZyBuYW1lcyBhcmUKKy0jIGZpbmUuICBB
biBlbXB0eSBsaXN0IGlzIGZpbmUuCistIworLSMgRm9yIGV4YW1wbGUsIHRvIGRlZmluZSBiNF9m
b29fdXNlcl9uYW1lcyB0byBiZSB1c2VkIGZvciBVU0VSLUxJU1Qgd2l0aCB0aHJlZQorLSMgbmFt
ZSBvY2N1cnJlbmNlcyBhbmQgd2l0aCBjb3JyZWN0IHF1b3Rpbmc6CistIworLSMgICBtNF9kZWZp
bmUoW2I0X2Zvb191c2VyX25hbWVzXSwKKy0jICAgICAgICAgICAgIFtbW1tbW2Jhcl1dLCBbW3Bh
cnNlci55OjEuN11dLCBbW3BhcnNlci55OjEuMTZdXV1dLAorLSMgICAgICAgICAgICAgICBbW1tb
YmFyXV0sIFtbcGFyc2VyLnk6NS43XV0sIFtbcGFyc2VyLnk6NS4xNl1dXV0sCistIyAgICAgICAg
ICAgICAgIFtbW1tiYXpdXSwgW1twYXJzZXIueTo4LjddXSwgW1twYXJzZXIueTo4LjE2XV1dXV1d
KQorLSMKKy0jIFRoZSBtYWNybyBCSVNPTi1OQU1FU1BBQ0UoYmFyKSBtdXN0IGJlIGRlZmluZWQg
aWZmIHRoZSBuYW1lIGJhciBvZiB0eXBlIFdIQVQKKy0jIGlzIHVzZWQgYnkgQmlzb24gKGluIHRo
ZSBmcm9udC1lbmQgb3IgaW4gdGhlIHNrZWxldG9uKS4gIEVtcHR5IHN0cmluZyBuYW1lcworLSMg
YXJlIGZpbmUsIGJ1dCBpdCB3b3VsZCBiZSB1Z2x5IGZvciBCaXNvbiB0byBhY3R1YWxseSB1c2Ug
b25lLgorLSMKKy0jIEZvciBleGFtcGxlLCB0byB1c2UgYjRfZm9vX2Jpc29uX25hbWVzIGZvciBC
SVNPTi1OQU1FU1BBQ0UgYW5kIGRlZmluZSB0aGF0CistIyB0aGUgbmFtZXMgYmFyIGFuZCBiYXog
YXJlIHVzZWQgYnkgQmlzb246CistIworLSMgICBtNF9kZWZpbmUoW2I0X2Zvb19iaXNvbl9uYW1l
cyhiYXIpXSkKKy0jICAgbTRfZGVmaW5lKFtiNF9mb29fYmlzb25fbmFtZXMoYmF6KV0pCistIwor
LSMgVG8gaW52b2tlIGI0X2NoZWNrX3VzZXJfbmFtZXMgd2l0aCBUWVBFIGZvbywgd2l0aCBVU0VS
LUxJU1QKKy0jIGI0X2Zvb191c2VyX25hbWVzLCB3aXRoIEJJU09OLU5BTUVTUEFDRSBiNF9mb29f
Ymlzb25fbmFtZXMsIGFuZCB3aXRoIGNvcnJlY3QKKy0jIHF1b3Rpbmc6CistIworLSMgICBiNF9j
aGVja191c2VyX25hbWVzKFtbZm9vXV0sIFtiNF9mb29fdXNlcl9uYW1lc10sCistIyAgICAgICAg
ICAgICAgICAgICAgICAgW1tiNF9mb29fYmlzb25fbmFtZXNdXSkKKy1tNF9kZWZpbmUoW2I0X2No
ZWNrX3VzZXJfbmFtZXNdLAorLVttNF9mb3JlYWNoKFtiNF9vY2N1cnJlbmNlXSwgJDIsCistW200
X3B1c2hkZWYoW2I0X29jY3VycmVuY2VdLCBiNF9vY2N1cnJlbmNlKWRubAorLW00X3B1c2hkZWYo
W2I0X3VzZXJfbmFtZV0sIG00X2NhcihiNF9vY2N1cnJlbmNlKSlkbmwKKy1tNF9wdXNoZGVmKFti
NF9zdGFydF0sIG00X2NhcihtNF9zaGlmdChiNF9vY2N1cnJlbmNlKSkpZG5sCistbTRfcHVzaGRl
ZihbYjRfZW5kXSwgbTRfc2hpZnQobTRfc2hpZnQoYjRfb2NjdXJyZW5jZSkpKWRubAorLW00X2lm
bmRlZigkM1soXW00X3F1b3RlKGI0X3VzZXJfbmFtZSlbKV0sCistICAgICAgICAgIFtiNF9jb21w
bGFpbl9hdChbYjRfc3RhcnRdLCBbYjRfZW5kXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg
IFtbJXMgJyVzJyBpcyBub3QgdXNlZF1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgWyQx
XSwgW2I0X3VzZXJfbmFtZV0pXSlbXWRubAorLW00X3BvcGRlZihbYjRfb2NjdXJyZW5jZV0pZG5s
CistbTRfcG9wZGVmKFtiNF91c2VyX25hbWVdKWRubAorLW00X3BvcGRlZihbYjRfc3RhcnRdKWRu
bAorLW00X3BvcGRlZihbYjRfZW5kXSlkbmwKKy1dKV0pCistCistCistCistIyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMjCistIyMgYjRfcGVyY2VudF9kZWZpbmVfKi4gICMjCistIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyBiNF9wZXJjZW50X2RlZmluZV91c2UoVkFSSUFC
TEUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWNsYXJlIHRoYXQg
VkFSSUFCTEUgd2FzIHVzZWQuCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV91c2VdLAor
LVttNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2Jpc29uX3ZhcmlhYmxlcyhdJDFbKV0pZG5s
CistXSkKKy0KKy0jIGI0X3BlcmNlbnRfZGVmaW5lX2dldChWQVJJQUJMRSwgW0RFRkFVTFRdKQor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBNaW1pYyBt
dXNjbGVfcGVyY2VudF9kZWZpbmVfZ2V0IGluIC4uL3NyYy9tdXNjbGUtdGFiLmguICBUaGF0IGlz
LCBpZgorLSMgdGhlICVkZWZpbmUgdmFyaWFibGUgVkFSSUFCTEUgaXMgZGVmaW5lZCwgZW1pdCBp
dHMgdmFsdWUuICBDb250cmFyeQorLSMgdG8gaXRzIEMgY291bnRlcnBhcnQsIHJldHVybiBERUZB
VUxUIG90aGVyd2lzZS4gIEFsc28sIHJlY29yZAorLSMgQmlzb24ncyB1c2FnZSBvZiBWQVJJQUJM
RSBieSBkZWZpbmluZworLSMgYjRfcGVyY2VudF9kZWZpbmVfYmlzb25fdmFyaWFibGVzKFZBUklB
QkxFKS4KKy0jCistIyBGb3IgZXhhbXBsZToKKy0jCistIyAgIGI0X3BlcmNlbnRfZGVmaW5lX2dl
dChbW2Zvb11dKQorLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfZ2V0XSwKKy1bYjRfcGVy
Y2VudF9kZWZpbmVfdXNlKFskMV0pZG5sCistX2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFskMV0s
CistICAgICAgICAgICAgICAgICAgICAgICAgIFttNF9pbmRpcihbYjRfcGVyY2VudF9kZWZpbmUo
XSQxWyldKV0sCistICAgICAgICAgICAgICAgICAgICAgICAgIFskMl0pXSkKKy0KKy0jIGI0X3Bl
cmNlbnRfZGVmaW5lX2dldF9sb2MoVkFSSUFCTEUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLSMgTWltaWMgbXVzY2xlX3BlcmNlbnRfZGVmaW5lX2dldF9sb2MgaW4g
Li4vc3JjL211c2NsZS10YWIuaCBleGFjdGx5LiAgVGhhdCBpcywKKy0jIGlmIHRoZSAlZGVmaW5l
IHZhcmlhYmxlIFZBUklBQkxFIGlzIHVuZGVmaW5lZCwgY29tcGxhaW4gZmF0YWxseSBzaW5jZSB0
aGF0J3MKKy0jIGEgQmlzb24gb3Igc2tlbGV0b24gZXJyb3IuICBPdGhlcndpc2UsIHJldHVybiBp
dHMgZGVmaW5pdGlvbiBsb2NhdGlvbiBpbiBhCistIyBmb3JtIGFwcHJvcHJpYXRlIGZvciB0aGUg
Zmlyc3QgdHdvIGFyZ3VtZW50cyBvZiBiNF93YXJuX2F0LCBiNF9jb21wbGFpbl9hdCwgb3IKKy0j
IGI0X2ZhdGFsX2F0LiAgRG9uJ3QgcmVjb3JkIHRoaXMgYXMgYSBCaXNvbiB1c2FnZSBvZiBWQVJJ
QUJMRSBhcyB0aGVyZSdzIG5vCistIyByZWFzb24gdG8gc3VzcGVjdCB0aGF0IHRoZSB1c2VyLXN1
cHBsaWVkIHZhbHVlIGhhcyB5ZXQgaW5mbHVlbmNlZCB0aGUgb3V0cHV0LgorLSMKKy0jIEZvciBl
eGFtcGxlOgorLSMKKy0jICAgYjRfY29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xv
YyhbW2Zvb11dKSwgW1tpbnZhbGlkIGZvb11dKQorLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZp
bmVfZ2V0X2xvY10sCistW200X2lmZGVmKFtiNF9wZXJjZW50X2RlZmluZV9sb2MoXSQxWyldLAor
LSAgICAgICAgICBbbTRfcHVzaGRlZihbYjRfbG9jXSwgbTRfaW5kaXIoW2I0X3BlcmNlbnRfZGVm
aW5lX2xvYyhdJDFbKV0pKWRubAorLWI0X2xvY1tdZG5sCistbTRfcG9wZGVmKFtiNF9sb2NdKV0s
CistICAgICAgICAgIFtiNF9mYXRhbChbWyQwOiB1bmRlZmluZWQgJSVkZWZpbmUgdmFyaWFibGUg
JyVzJ11dLCBbJDFdKV0pXSkKKy0KKy0jIGI0X3BlcmNlbnRfZGVmaW5lX2dldF9raW5kKFZBUklB
QkxFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBHZXQgdGhl
IGtpbmQgKGNvZGUsIGtleXdvcmQsIHN0cmluZykgb2YgVkFSSUFCTEUsIGkuZS4sIGhvdyBpdHMK
Ky0jIHZhbHVlIHdhcyBkZWZpbmVkIChicmFjZXMsIG5vdCBkZWxpbWl0ZXJzLCBxdW90ZXMpLgor
LSMKKy0jIElmIHRoZSAlZGVmaW5lIHZhcmlhYmxlIFZBUklBQkxFIGlzIHVuZGVmaW5lZCwgY29t
cGxhaW4gZmF0YWxseQorLSMgc2luY2UgdGhhdCdzIGEgQmlzb24gb3Igc2tlbGV0b24gZXJyb3Iu
ICBEb24ndCByZWNvcmQgdGhpcyBhcyBhCistIyBCaXNvbiB1c2FnZSBvZiBWQVJJQUJMRSBhcyB0
aGVyZSdzIG5vIHJlYXNvbiB0byBzdXNwZWN0IHRoYXQgdGhlCistIyB1c2VyLXN1cHBsaWVkIHZh
bHVlIGhhcyB5ZXQgaW5mbHVlbmNlZCB0aGUgb3V0cHV0LgorLW00X2RlZmluZShbYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0X2tpbmRdLAorLVttNF9pZmRlZihbYjRfcGVyY2VudF9kZWZpbmVfa2luZChd
JDFbKV0sCistICAgICAgICAgIFttNF9pbmRpcihbYjRfcGVyY2VudF9kZWZpbmVfa2luZChdJDFb
KV0pXSwKKy0gICAgICAgICAgW2I0X2ZhdGFsKFtbJDA6IHVuZGVmaW5lZCAlJWRlZmluZSB2YXJp
YWJsZSAnJXMnXV0sIFskMV0pXSldKQorLQorLSMgYjRfcGVyY2VudF9kZWZpbmVfZ2V0X3N5bmNs
aW5lKFZBUklBQkxFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLSMgTWltaWMgbXVzY2xlX3BlcmNlbnRfZGVmaW5lX2dldF9zeW5jbGluZSBpbiAuLi9zcmMv
bXVzY2xlLXRhYi5oIGV4YWN0bHkuCistIyBUaGF0IGlzLCBpZiB0aGUgJWRlZmluZSB2YXJpYWJs
ZSBWQVJJQUJMRSBpcyB1bmRlZmluZWQsIGNvbXBsYWluIGZhdGFsbHkKKy0jIHNpbmNlIHRoYXQn
cyBhIEJpc29uIG9yIHNrZWxldG9uIGVycm9yLiAgT3RoZXJ3aXNlLCByZXR1cm4gaXRzIGRlZmlu
aXRpb24KKy0jIGxvY2F0aW9uIGFzIGEgYjRfc3luY2xpbmUgaW52b2NhdGlvbi4gIERvbid0IHJl
Y29yZCB0aGlzIGFzIGEgQmlzb24gdXNhZ2Ugb2YKKy0jIFZBUklBQkxFIGFzIHRoZXJlJ3Mgbm8g
cmVhc29uIHRvIHN1c3BlY3QgdGhhdCB0aGUgdXNlci1zdXBwbGllZCB2YWx1ZSBoYXMgeWV0Cist
IyBpbmZsdWVuY2VkIHRoZSBvdXRwdXQuCistIworLSMgRm9yIGV4YW1wbGU6CistIworLSMgICBi
NF9wZXJjZW50X2RlZmluZV9nZXRfc3luY2xpbmUoW1tmb29dXSkKKy1tNF9kZWZpbmUoW2I0X3Bl
cmNlbnRfZGVmaW5lX2dldF9zeW5jbGluZV0sCistW200X2lmZGVmKFtiNF9wZXJjZW50X2RlZmlu
ZV9zeW5jbGluZShdJDFbKV0sCistICAgICAgICAgIFttNF9pbmRpcihbYjRfcGVyY2VudF9kZWZp
bmVfc3luY2xpbmUoXSQxWyldKV0sCistICAgICAgICAgIFtiNF9mYXRhbChbWyQwOiB1bmRlZmlu
ZWQgJSVkZWZpbmUgdmFyaWFibGUgJyVzJ11dLCBbJDFdKV0pXSkKKy0KKy0jIF9iNF9wZXJjZW50
X2RlZmluZV9pZmRlZihWQVJJQUJMRSwgSUYtVFJVRSwgW0lGLUZBTFNFXSkKKy0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSWYgdGhl
ICVkZWZpbmUgdmFyaWFibGUgVkFSSUFCTEUgaXMgZGVmaW5lZCwgZXhwYW5kIElGLVRSVUUsIGVs
c2UgZXhwYW5kCistIyBJRi1GQUxTRS4gIERvbid0IHJlY29yZCB1c2FnZSBvZiBWQVJJQUJMRS4K
Ky0jCistIyBGb3IgZXhhbXBsZToKKy0jCistIyAgIF9iNF9wZXJjZW50X2RlZmluZV9pZmRlZihb
W2Zvb11dLCBbW2l0J3MgZGVmaW5lZF1dLCBbW2l0J3MgdW5kZWZpbmVkXV0pCistbTRfZGVmaW5l
KFtfYjRfcGVyY2VudF9kZWZpbmVfaWZkZWZdLAorLVttNF9pZmRlZihbYjRfcGVyY2VudF9kZWZp
bmUoXSQxWyldLAorLSAgICAgICAgICBbJDJdLAorLSAgICAgICAgICBbJDNdKV0pCistCistIyBi
NF9wZXJjZW50X2RlZmluZV9pZmRlZihWQVJJQUJMRSwgSUYtVFJVRSwgW0lGLUZBTFNFXSkKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgTWltaWMgbXVzY2xlX3BlcmNlbnRfZGVmaW5lX2lmZGVmIGluIC4uL3NyYy9tdXNjbGUtdGFi
LmggZXhhY3RseS4gIFRoYXQgaXMsCistIyBpZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJM
RSBpcyBkZWZpbmVkLCBleHBhbmQgSUYtVFJVRSwgZWxzZSBleHBhbmQKKy0jIElGLUZBTFNFLiAg
QWxzbywgcmVjb3JkIEJpc29uJ3MgdXNhZ2Ugb2YgVkFSSUFCTEUgYnkgZGVmaW5pbmcKKy0jIGI0
X3BlcmNlbnRfZGVmaW5lX2Jpc29uX3ZhcmlhYmxlcyhWQVJJQUJMRSkuCistIworLSMgRm9yIGV4
YW1wbGU6CistIworLSMgICBiNF9wZXJjZW50X2RlZmluZV9pZmRlZihbW2Zvb11dLCBbW2l0J3Mg
ZGVmaW5lZF1dLCBbW2l0J3MgdW5kZWZpbmVkXV0pCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2Rl
ZmluZV9pZmRlZl0sCistW19iNF9wZXJjZW50X2RlZmluZV9pZmRlZihbJDFdLAorLSAgICAgICAg
ICAgICAgICAgICAgICAgICBbYjRfcGVyY2VudF9kZWZpbmVfdXNlKFskMV0pJDJdLAorLSAgICAg
ICAgICAgICAgICAgICAgICAgICBbJDNdKV0pCistCistCistIyBiNF9wZXJjZW50X2RlZmluZV9j
aGVja19maWxlX2NvbXBsYWluKFZBUklBQkxFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFdhcm4gYWJvdXQgJWRlZmluZSB2YXJpYWJsZSBW
QVJJQUJMRSBoYXZpbmcgYW4gaW5jb3JyZWN0CistIyB2YWx1ZS4KKy1tNF9kZWZpbmUoW2I0X3Bl
cmNlbnRfZGVmaW5lX2NoZWNrX2ZpbGVfY29tcGxhaW5dLAorLVtiNF9jb21wbGFpbl9hdChiNF9w
ZXJjZW50X2RlZmluZV9nZXRfbG9jKFskMV0pLAorLSAgICAgICAgICAgICAgICBbWyUlZGVmaW5l
IHZhcmlhYmxlICclcycgcmVxdWlyZXMgJ25vbmUnIG9yICciLi4uIicgdmFsdWVzXV0sCistICAg
ICAgICAgICAgICAgIFskMV0pXSkKKy0KKy0KKy0jIGI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX2Zp
bGUoTUFDUk8sIFZBUklBQkxFLCBERUZBVUxUKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJZiB0aGUgJWRlZmluZSB2YXJpYWJs
ZSBWQVJJQUJMRToKKy0jIC0gaXMgdW5kZWZpbmVkLCB0aGVuIGlmIERFRkFVTFQgaXMgbm9uLWVt
cHR5LCBkZWZpbmUgTUFDUk8gdG8gREVGQVVMVAorLSMgLSBpcyBhIHN0cmluZywgZGVmaW5lIE1B
Q1JPIHRvIGl0cyB2YWx1ZQorLSMgLSBpcyB0aGUga2V5d29yZCAnbm9uZScsIGRvIG5vdGhpbmcK
Ky0jIC0gb3RoZXJ3aXNlLCB3YXJuIGFib3V0IHRoZSBpbmNvcnJlY3QgdmFsdWUuCistbTRfZGVm
aW5lKFtiNF9wZXJjZW50X2RlZmluZV9jaGVja19maWxlXSwKKy1bYjRfcGVyY2VudF9kZWZpbmVf
aWZkZWYoWyQyXSwKKy0gIFttNF9jYXNlKGI0X3BlcmNlbnRfZGVmaW5lX2dldF9raW5kKFskMl0p
LAorLSAgICBbc3RyaW5nXSwKKy0gICAgICAgICBbbTRfZGVmaW5lKFskMV0sIGI0X3BlcmNlbnRf
ZGVmaW5lX2dldChbJDJdKSldLAorLSAgICBba2V5d29yZF0sCistICAgICAgICAgW200X2lmKGI0
X3BlcmNlbnRfZGVmaW5lX2dldChbJDJdKSwgW25vbmVdLCBbXSwKKy0gICAgICAgICAgICAgICAg
W2I0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX2ZpbGVfY29tcGxhaW4oWyQyXSldKV0sCistICAgIFti
NF9wZXJjZW50X2RlZmluZV9jaGVja19maWxlX2NvbXBsYWluKFskMl0pXSkKKy0gICBdLAorLSAg
IFttNF9pZnZhbChbJDNdLAorLSAgICAgICAgICAgICBbbTRfZGVmaW5lKFskMV0sIFskM10pXSld
KQorLV0pCistCistCistCistIyMgLS0tLS0tLS0tICMjCistIyMgT3B0aW9ucy4gICMjCistIyMg
LS0tLS0tLS0tICMjCistCistCistIyBiNF9wZXJjZW50X2RlZmluZV9mbGFnX2lmKFZBUklBQkxF
LCBJRi1UUlVFLCBbSUYtRkFMU0VdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIE1pbWljIG11c2NsZV9wZXJjZW50X2RlZmlu
ZV9mbGFnX2lmIGluIC4uL3NyYy9tdXNjbGUtdGFiLmggZXhhY3RseS4gIFRoYXQgaXMsCistIyBp
ZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyBkZWZpbmVkIHRvICIiIG9yICJ0cnVl
IiwgZXhwYW5kIElGLVRSVUUuCistIyBJZiBpdCBpcyBkZWZpbmVkIHRvICJmYWxzZSIsIGV4cGFu
ZCBJRi1GQUxTRS4gIENvbXBsYWluIGlmIGl0IGlzIHVuZGVmaW5lZAorLSMgKGEgQmlzb24gb3Ig
c2tlbGV0b24gZXJyb3Igc2luY2UgdGhlIGRlZmF1bHQgdmFsdWUgc2hvdWxkIGhhdmUgYmVlbiBz
ZXQKKy0jIGFscmVhZHkpIG9yIGRlZmluZWQgdG8gYW55IG90aGVyIHZhbHVlIChwb3NzaWJseSBh
IHVzZXIgZXJyb3IpLiAgQWxzbywgcmVjb3JkCistIyBCaXNvbidzIHVzYWdlIG9mIFZBUklBQkxF
IGJ5IGRlZmluaW5nCistIyBiNF9wZXJjZW50X2RlZmluZV9iaXNvbl92YXJpYWJsZXMoVkFSSUFC
TEUpLgorLSMKKy0jIEZvciBleGFtcGxlOgorLSMKKy0jICAgYjRfcGVyY2VudF9kZWZpbmVfZmxh
Z19pZihbW2Zvb11dLCBbW2l0J3MgdHJ1ZV1dLCBbW2l0J3MgZmFsc2VdXSkKKy1tNF9kZWZpbmUo
W2I0X3BlcmNlbnRfZGVmaW5lX2ZsYWdfaWZdLAorLVtiNF9wZXJjZW50X2RlZmluZV9pZmRlZihb
JDFdLAorLSAgW200X2Nhc2UoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFskMV0pLAorLSAgICAgICAg
ICAgW10sIFskMl0sIFt0cnVlXSwgWyQyXSwgW2ZhbHNlXSwgWyQzXSwKKy0gICAgICAgICAgIFtt
NF9leHBhbmRfb25jZShbYjRfY29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhb
JDFdKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1tpbnZh
bGlkIHZhbHVlIGZvciAlJWRlZmluZSBCb29sZWFuIHZhcmlhYmxlICclcyddXSwKKy0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyQxXSldLAorLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFtbYjRfcGVyY2VudF9kZWZpbmVfZmxhZ19pZigkMSldXSldKV0sCist
ICBbYjRfZmF0YWwoW1skMDogdW5kZWZpbmVkICUlZGVmaW5lIHZhcmlhYmxlICclcyddXSwgWyQx
XSldKV0pCistCistCistIyBiNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFZBUklBQkxFLCBERUZB
VUxULCBbS0lORCA9IGtleXdvcmRdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIE1pbWljIG11c2NsZV9wZXJjZW50
X2RlZmluZV9kZWZhdWx0IGluIC4uL3NyYy9tdXNjbGUtdGFiLmggZXhhY3RseS4gIFRoYXQgaXMs
CistIyBpZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyB1bmRlZmluZWQsIHNldCBp
dHMgdmFsdWUgdG8gREVGQVVMVC4KKy0jIERvbid0IHJlY29yZCB0aGlzIGFzIGEgQmlzb24gdXNh
Z2Ugb2YgVkFSSUFCTEUgYXMgdGhlcmUncyBubyByZWFzb24gdG8KKy0jIHN1c3BlY3QgdGhhdCB0
aGUgdmFsdWUgaGFzIHlldCBpbmZsdWVuY2VkIHRoZSBvdXRwdXQuCistIworLSMgRm9yIGV4YW1w
bGU6CistIworLSMgICBiNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbZm9vXV0sIFtbZGVmYXVs
dCB2YWx1ZV1dKQorLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdF0sCistW19i
NF9wZXJjZW50X2RlZmluZV9pZmRlZihbJDFdLCBbXSwKKy0gICAgICAgICAgIFttNF9kZWZpbmUo
W2I0X3BlcmNlbnRfZGVmaW5lKF0kMVspXSwgWyQyXSlkbmwKKy0gICAgICAgICAgICBtNF9kZWZp
bmUoW2I0X3BlcmNlbnRfZGVmaW5lX2tpbmQoXSQxWyldLAorLSAgICAgICAgICAgICAgICAgICAg
ICBbbTRfZGVmYXVsdChbJDNdLCBba2V5d29yZF0pXSlkbmwKKy0gICAgICAgICAgICBtNF9kZWZp
bmUoW2I0X3BlcmNlbnRfZGVmaW5lX2xvYyhdJDFbKV0sCistICAgICAgICAgICAgICAgICAgICAg
IFtbW1s8c2tlbGV0b24gZGVmYXVsdCB2YWx1ZT46LTEuLTFdXSwKKy0gICAgICAgICAgICAgICAg
ICAgICAgICBbWzxza2VsZXRvbiBkZWZhdWx0IHZhbHVlPjotMS4tMV1dXV0pZG5sCistICAgICAg
ICAgICAgbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9zeW5jbGluZShdJDFbKV0sIFtbXV0p
XSldKQorLQorLQorLSMgYjRfcGVyY2VudF9kZWZpbmVfaWZfZGVmaW5lKE5BTUUsIFtWQVJJQUJM
RSA9IE5BTUVdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgRGVmaW5lIGI0X05BTUVfaWYgdGhhdCBleGVjdXRlcyBpdHMgJDEgb3Ig
JDIgZGVwZW5kaW5nIHdoZXRoZXIKKy0jIFZBUklBQkxFIHdhcyAlZGVmaW5lZC4gIFRoZSBjaGFy
YWN0ZXJzICcuJyBhbmQgYC0nIGluIFZBUklBQkxFIGFyZSBtYXBwZWQKKy0jIHRvICdfJy4KKy1t
NF9kZWZpbmUoW19iNF9wZXJjZW50X2RlZmluZV9pZl9kZWZpbmVdLAorLVttNF9kZWZpbmUobTRf
YnBhdHN1YnN0KFtiNF8kMV9pZl0sIFtbLS5dXSwgW19dKSwKKy0gICAgICAgICAgIFtiNF9wZXJj
ZW50X2RlZmluZV9mbGFnX2lmKG00X2RlZmF1bHQoWyQyXSwgWyQxXSksCistICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbJDNdLCBbJDRdKV0pXSkKKy1tNF9kZWZpbmUoW2I0
X3BlcmNlbnRfZGVmaW5lX2lmX2RlZmluZV0sCistW2I0X3BlcmNlbnRfZGVmaW5lX2RlZmF1bHQo
W200X2RlZmF1bHQoWyQyXSwgWyQxXSldLCBbW2ZhbHNlXV0pCistX2I0X3BlcmNlbnRfZGVmaW5l
X2lmX2RlZmluZShbJDFdLCBbJDJdLCAkWzFdLCAkWzJdKV0pCistCistCistIyBiNF9wZXJjZW50
X2RlZmluZV9jaGVja19raW5kKFZBUklBQkxFLCBLSU5ELCBbRElBR05PU1RJQyA9IGNvbXBsYWlu
XSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tf
a2luZF0sCistW19iNF9wZXJjZW50X2RlZmluZV9pZmRlZihbJDFdLAorLSAgW200X2lmKGI0X3Bl
cmNlbnRfZGVmaW5lX2dldF9raW5kKFskMV0pLCBbJDJdLCBbXSwKKy0gICAgW2I0X2Vycm9yKFtt
NF9kZWZhdWx0KFskM10sIFtjb21wbGFpbl0pXSwKKy0gICAgICAgICAgICAgIGI0X3BlcmNlbnRf
ZGVmaW5lX2dldF9sb2MoWyQxXSksCistICAgICAgICAgICAgICBbbTRfY2FzZShbJDJdLAorLSAg
ICAgICAgICAgICAgICAgW2NvZGVdLCAgICBbWyUlZGVmaW5lIHZhcmlhYmxlICclcycgcmVxdWly
ZXMgJ3suLi59JyB2YWx1ZXNdXSwKKy0gICAgICAgICAgICAgICAgIFtrZXl3b3JkXSwgW1slJWRl
ZmluZSB2YXJpYWJsZSAnJXMnIHJlcXVpcmVzIGtleXdvcmQgdmFsdWVzXV0sCistICAgICAgICAg
ICAgICAgICBbc3RyaW5nXSwgIFtbJSVkZWZpbmUgdmFyaWFibGUgJyVzJyByZXF1aXJlcyAnIi4u
LiInIHZhbHVlc11dKV0sCistICAgICAgICAgICAgICBbJDFdKV0pXSlkbmwKKy1dKQorLQorLQor
LSMgYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfdmFsdWVzKFZBTFVFUykKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBNaW1pYyBtdXNjbGVfcGVyY2VudF9kZWZp
bmVfY2hlY2tfdmFsdWVzIGluIC4uL3NyYy9tdXNjbGUtdGFiLmggZXhhY3RseQorLSMgZXhjZXB0
IHRoYXQgdGhlIFZBTFVFUyBzdHJ1Y3R1cmUgaXMgbW9yZSBhcHByb3ByaWF0ZSBmb3IgTTQuICBU
aGF0IGlzLCBWQUxVRVMKKy0jIGlzIGEgbGlzdCBvZiBzdWJsaXN0cyBvZiBzdHJpbmdzLiAgRm9y
IGVhY2ggc3VibGlzdCwgdGhlIGZpcnN0IHN0cmluZyBpcyB0aGUKKy0jIG5hbWUgb2YgYSAlZGVm
aW5lIHZhcmlhYmxlLCBhbmQgYWxsIHJlbWFpbmluZyBzdHJpbmdzIGluIHRoYXQgc3VibGlzdCBh
cmUgdGhlCistIyB2YWxpZCB2YWx1ZXMgZm9yIHRoYXQgdmFyaWFibGUuICBDb21wbGFpbiBpZiBz
dWNoIGEgdmFyaWFibGUgaXMgdW5kZWZpbmVkIChhCistIyBCaXNvbiBlcnJvciBzaW5jZSB0aGUg
ZGVmYXVsdCB2YWx1ZSBzaG91bGQgaGF2ZSBiZWVuIHNldCBhbHJlYWR5KSBvciBkZWZpbmVkCist
IyB0byBhbnkgb3RoZXIgdmFsdWUgKHBvc3NpYmx5IGEgdXNlciBlcnJvcikuICBEb24ndCByZWNv
cmQgdGhpcyBhcyBhIEJpc29uCistIyB1c2FnZSBvZiB0aGUgdmFyaWFibGUgYXMgdGhlcmUncyBu
byByZWFzb24gdG8gc3VzcGVjdCB0aGF0IHRoZSB2YWx1ZSBoYXMgeWV0CistIyBpbmZsdWVuY2Vk
IHRoZSBvdXRwdXQuCistIworLSMgRm9yIGV4YW1wbGU6CistIworLSMgICBiNF9wZXJjZW50X2Rl
ZmluZV9jaGVja192YWx1ZXMoW1tbW2Zvb11dLCBbW2Zvby12YWx1ZTFdXSwgW1tmb28tdmFsdWUy
XV1dXSwKKy0jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbW1tiYXJdXSwgW1ti
YXItdmFsdWUxXV1dXSkKKy1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVl
c10sCistW200X2ZvcmVhY2goW2I0X3N1Ymxpc3RdLCBtNF9xdW90ZSgkQCksCistICAgICAgICAg
ICAgW19iNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXMoYjRfc3VibGlzdCldKV0pCistCist
bTRfZGVmaW5lKFtfYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfdmFsdWVzXSwKKy1bX2I0X3BlcmNl
bnRfZGVmaW5lX2lmZGVmKFskMV0sCistICBbYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfa2luZChd
JDFbLCBba2V5d29yZF0sIFtkZXByZWNhdGVkXSlkbmwKKy0gICBtNF9wdXNoZGVmKFtiNF9nb29k
X3ZhbHVlXSwgWzBdKWRubAorLSAgIG00X2lmKCQjLCAxLCBbXSwKKy0gICAgICAgICBbbTRfZm9y
ZWFjaChbYjRfdmFsdWVdLCBtNF9kcXVvdGUobTRfc2hpZnQoJEApKSwKKy0gICAgICAgICAgICAg
ICAgICAgICBbbTRfaWYobTRfaW5kaXIoW2I0X3BlcmNlbnRfZGVmaW5lKF0kMVspXSksIGI0X3Zh
bHVlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbTRfZGVmaW5lKFtiNF9nb29kX3Zh
bHVlXSwgWzFdKV0pXSldKWRubAorLSAgIG00X2lmKGI0X2dvb2RfdmFsdWUsIFswXSwKKy0gICAg
ICAgICBbYjRfY29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhbJDFdKSwKKy0g
ICAgICAgICAgICAgICAgICAgICAgICAgW1tpbnZhbGlkIHZhbHVlIGZvciAlJWRlZmluZSB2YXJp
YWJsZSAnJXMnOiAnJXMnXV0sCistICAgICAgICAgICAgICAgICAgICAgICAgIFskMV0sCistICAg
ICAgICAgICAgICAgICAgICAgICAgIG00X2RxdW90ZShtNF9pbmRpcihbYjRfcGVyY2VudF9kZWZp
bmUoXSQxWyldKSkpCistICAgICAgICAgIG00X2ZvcmVhY2goW2I0X3ZhbHVlXSwgbTRfZHF1b3Rl
KG00X3NoaWZ0KCRAKSksCistICAgICAgICAgICAgICAgICAgICAgW2I0X2Vycm9yKFtbbm90ZV1d
LCBiNF9wZXJjZW50X2RlZmluZV9nZXRfbG9jKFskMV0pLCBbXQorLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbW2FjY2VwdGVkIHZhbHVlOiAnJXMnXV0sCistICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG00X2RxdW90ZShiNF92YWx1ZSkpXSldKWRubAor
LSAgIG00X3BvcGRlZihbYjRfZ29vZF92YWx1ZV0pXSwKKy0gIFtiNF9mYXRhbChbWyQwOiB1bmRl
ZmluZWQgJSVkZWZpbmUgdmFyaWFibGUgJyVzJ11dLCBbJDFdKV0pXSkKKy0KKy0jIGI0X3BlcmNl
bnRfY29kZV9nZXQoW1FVQUxJRklFUl0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgSWYgYW55ICVjb2RlIGJsb2NrcyBmb3IgUVVBTElGSUVSIGFyZSBkZWZpbmVkLCBl
bWl0IHRoZW0gYmVnaW5uaW5nIHdpdGggYQorLSMgY29tbWVudCBhbmQgZW5kaW5nIHdpdGggc3lu
Y2xpbmVzIGFuZCBhIG5ld2xpbmUuICBJZiBRVUFMSUZJRVIgaXMgbm90CistIyBzcGVjaWZpZWQg
b3IgZW1wdHksIGRvIHRoaXMgZm9yIHRoZSB1bnF1YWxpZmllZCAlY29kZSBibG9ja3MuICBBbHNv
LCByZWNvcmQKKy0jIEJpc29uJ3MgdXNhZ2Ugb2YgUVVBTElGSUVSIChpZiBzcGVjaWZpZWQpIGJ5
IGRlZmluaW5nCistIyBiNF9wZXJjZW50X2NvZGVfYmlzb25fcXVhbGlmaWVycyhRVUFMSUZJRVIp
LgorLSMKKy0jIEZvciBleGFtcGxlLCB0byBlbWl0IGFueSB1bnF1YWxpZmllZCAlY29kZSBibG9j
a3MgZm9sbG93ZWQgYnkgYW55ICVjb2RlCistIyBibG9ja3MgZm9yIHRoZSBxdWFsaWZpZXIgZm9v
OgorLSMKKy0jICAgYjRfcGVyY2VudF9jb2RlX2dldAorLSMgICBiNF9wZXJjZW50X2NvZGVfZ2V0
KFtbZm9vXV0pCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2NvZGVfZ2V0XSwKKy1bbTRfcHVzaGRl
ZihbYjRfbWFjcm9fbmFtZV0sIFtbYjRfcGVyY2VudF9jb2RlKF0kMVspXV0pZG5sCistbTRfaWZ2
YWwoWyQxXSwgW200X2RlZmluZShbYjRfcGVyY2VudF9jb2RlX2Jpc29uX3F1YWxpZmllcnMoXSQx
WyldKV0pZG5sCistbTRfaWZkZWYoYjRfbWFjcm9fbmFtZSwKKy1bYjRfY29tbWVudChbbTRfaWYo
WyQjXSwgWzBdLCBbW1VucXVhbGlmaWVkICVjb2RlXV0sCistICAgICAgICAgICAgICAgICAgIFtb
IiVjb2RlIF0kMVsiXV0pWyBibG9ja3MuXV0pCistYjRfdXNlcl9jb2RlKFttNF9pbmRpcihiNF9t
YWNyb19uYW1lKV0pCistXSlkbmwKKy1tNF9wb3BkZWYoW2I0X21hY3JvX25hbWVdKV0pCistCist
IyBiNF9wZXJjZW50X2NvZGVfaWZkZWYoUVVBTElGSUVSLCBJRi1UUlVFLCBbSUYtRkFMU0VdKQor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIElmIGFueSAlY29kZSBibG9ja3MgZm9yIFFVQUxJRklFUiAob3IgdW5xdWFsaWZpZWQgJWNv
ZGUgYmxvY2tzIGlmCistIyBRVUFMSUZJRVIgaXMgZW1wdHkpIGFyZSBkZWZpbmVkLCBleHBhbmQg
SUYtVFJVRSwgZWxzZSBleHBhbmQgSUYtRkFMU0UuCistIyBBbHNvLCByZWNvcmQgQmlzb24ncyB1
c2FnZSBvZiBRVUFMSUZJRVIgKGlmIHNwZWNpZmllZCkgYnkgZGVmaW5pbmcKKy0jIGI0X3BlcmNl
bnRfY29kZV9iaXNvbl9xdWFsaWZpZXJzKFFVQUxJRklFUikuCistbTRfZGVmaW5lKFtiNF9wZXJj
ZW50X2NvZGVfaWZkZWZdLAorLVttNF9pZmRlZihbYjRfcGVyY2VudF9jb2RlKF0kMVspXSwKKy0g
ICAgICAgICAgW200X2lmdmFsKFskMV0sIFttNF9kZWZpbmUoW2I0X3BlcmNlbnRfY29kZV9iaXNv
bl9xdWFsaWZpZXJzKF0kMVspXSldKSQyXSwKKy0gICAgICAgICAgWyQzXSldKQorLQorLQorLSMj
IC0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIENvbW1vbiB2YXJpYWJsZXMuICAjIworLSMjIC0t
LS0tLS0tLS0tLS0tLS0tLSAjIworLQorLQorLSMgYjRfcGFyc2VfYXNzZXJ0X2lmKFtJRi1BU1NF
UlRJT05TLUFSRS1VU0VEXSwgW0lGLU5PVF0pCistIyBiNF9wYXJzZV90cmFjZV9pZihbSUYtREVC
VUctVFJBQ0VTLUFSRS1FTkFCTEVEXSwgW0lGLU5PVF0pCistIyBiNF90b2tlbl9jdG9yX2lmKFtJ
Ri1ZWUxFWC1SRVRVUk5TLUEtVE9LRU5dLCBbSUYtTk9UXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1iNF9wZXJjZW50X2Rl
ZmluZV9pZl9kZWZpbmUoW3Rva2VuX2N0b3JdLCBbYXBpLnRva2VuLmNvbnN0cnVjdG9yXSkKKy1i
NF9wZXJjZW50X2RlZmluZV9pZl9kZWZpbmUoW2xvY2F0aW9uc10pICAgICAjIFdoZXRoZXIgbG9j
YXRpb25zIGFyZSB0cmFja2VkLgorLWI0X3BlcmNlbnRfZGVmaW5lX2lmX2RlZmluZShbcGFyc2Uu
YXNzZXJ0XSkKKy1iNF9wZXJjZW50X2RlZmluZV9pZl9kZWZpbmUoW3BhcnNlLnRyYWNlXSkKKy0K
Ky0KKy0jIGI0X2Jpc29uX2xvY2F0aW9uc19pZihbSUYtVFJVRV0pCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5kIElGLVRSVUUgaWYgdXNpbmcgbG9jYXRpb25z
LCBhbmQgdXNpbmcgdGhlIGRlZmF1bHQgbG9jYXRpb24KKy0jIHR5cGUuCistbTRfZGVmaW5lKFti
NF9iaXNvbl9sb2NhdGlvbnNfaWZdLAorLVtiNF9sb2NhdGlvbnNfaWYoW2I0X3BlcmNlbnRfZGVm
aW5lX2lmZGVmKFtbYXBpLmxvY2F0aW9uLnR5cGVdXSwgW10sIFskMV0pXSldKQorLQorLQorLSMg
YjRfZXJyb3JfdmVyYm9zZV9pZihbSUYtRVJST1JTLUFSRS1WRVJCT1NFXSwgW0lGLU5PVF0pCist
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIE1hcCAlZGVmaW5lIHBhcnNlLmVycm9yICIoc2ltcGxlfHZlcmJvc2UpIiB0byBiNF9lcnJv
cl92ZXJib3NlX2lmIGFuZAorLSMgYjRfZXJyb3JfdmVyYm9zZV9mbGFnLgorLWI0X3BlcmNlbnRf
ZGVmaW5lX2RlZmF1bHQoW1twYXJzZS5lcnJvcl1dLCBbW3NpbXBsZV1dKQorLWI0X3BlcmNlbnRf
ZGVmaW5lX2NoZWNrX3ZhbHVlcyhbW1tbcGFyc2UuZXJyb3JdXSwKKy0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbW3NpbXBsZV1dLCBbW3ZlcmJvc2VdXV1dKQorLW00X2RlZmluZShb
YjRfZXJyb3JfdmVyYm9zZV9mbGFnXSwKKy0gICAgICAgICAgW200X2Nhc2UoYjRfcGVyY2VudF9k
ZWZpbmVfZ2V0KFtbcGFyc2UuZXJyb3JdXSksCistICAgICAgICAgICAgICAgICAgIFtzaW1wbGVd
LCAgW1swXV0sCistICAgICAgICAgICAgICAgICAgIFt2ZXJib3NlXSwgW1sxXV0pXSkKKy1iNF9k
ZWZpbmVfZmxhZ19pZihbZXJyb3JfdmVyYm9zZV0pCistCistIyB5eXRva2VuX3RhYmxlIGlzIG5l
ZWRlZCB0byBzdXBwb3J0IHZlcmJvc2UgZXJyb3JzLgorLWI0X2Vycm9yX3ZlcmJvc2VfaWYoW200
X2RlZmluZShbYjRfdG9rZW5fdGFibGVfZmxhZ10sIFsxXSldKQorLQorLQorLSMgYjRfdmFyaWFu
dF9pZihbSUYtVkFSSUFOVC1BUkUtVVNFRF0sIFtJRi1OT1RdKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWI0X3BlcmNlbnRfZGVmaW5lX2lmX2Rl
ZmluZShbdmFyaWFudF0pCistbTRfZGVmaW5lKFtiNF92YXJpYW50X2ZsYWddLCBbWzBdXSkKKy1i
NF9wZXJjZW50X2RlZmluZV9pZmRlZihbW2FwaS52YWx1ZS50eXBlXV0sCistICAgW200X2Nhc2Uo
YjRfcGVyY2VudF9kZWZpbmVfZ2V0X2tpbmQoW1thcGkudmFsdWUudHlwZV1dKSwgW2tleXdvcmRd
LAorLSAgICAgICAgICAgIFttNF9jYXNlKGI0X3BlcmNlbnRfZGVmaW5lX2dldChbW2FwaS52YWx1
ZS50eXBlXV0pLCBbdmFyaWFudF0sCistICAgICAgICAgICAgICAgICAgICBbbTRfZGVmaW5lKFti
NF92YXJpYW50X2ZsYWddLCBbWzFdXSldKV0pXSkKKy1iNF9kZWZpbmVfZmxhZ19pZihbdmFyaWFu
dF0pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBBZnRlciBwcm9jZXNzaW5nIHRoZSBza2VsZXRvbnMs
IGNoZWNrIHRoYXQgYWxsIHRoZSB1c2VyJ3MgICAjIworLSMjICVkZWZpbmUgdmFyaWFibGVzIGFu
ZCAlY29kZSBxdWFsaWZpZXJzIHdlcmUgdXNlZCBieSBCaXNvbi4gICMjCistIyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0K
Ky1tNF9kZWZpbmUoW2I0X2NoZWNrX3VzZXJfbmFtZXNfd3JhcF0sCistW200X2lmZGVmKFtiNF9w
ZXJjZW50X10kMVtfdXNlcl9dJDJbc10sCistICAgICAgICAgIFtiNF9jaGVja191c2VyX25hbWVz
KFtbJV0kMSAkMl0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiNF9wZXJjZW50
X10kMVtfdXNlcl9dJDJbc10sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbYjRf
cGVyY2VudF9dJDFbX2Jpc29uX10kMltzXV0pXSldKQorLQorLW00X3dyYXBfbGlmbyhbCistYjRf
Y2hlY2tfdXNlcl9uYW1lc193cmFwKFtbZGVmaW5lXV0sIFtbdmFyaWFibGVdXSkKKy1iNF9jaGVj
a191c2VyX25hbWVzX3dyYXAoW1tjb2RlXV0sIFtbcXVhbGlmaWVyXV0pCistXSkKKy0KKy0KKy0j
IyAtLS0tLS0tLS0tLS0tLS0tICMjCistIyMgRGVmYXVsdCB2YWx1ZXMuICAjIworLSMjIC0tLS0t
LS0tLS0tLS0tLS0gIyMKKy0KKy0jIG00X2RlZmluZV9kZWZhdWx0KFtiNF9sZXhfcGFyYW1dLCBb
XSkgICBkbmwgYnJlYWtzIG90aGVyIHNrZWxldG9ucworLW00X2RlZmluZV9kZWZhdWx0KFtiNF9l
cGlsb2d1ZV0sIFtdKQorLW00X2RlZmluZV9kZWZhdWx0KFtiNF9wYXJzZV9wYXJhbV0sIFtdKQor
LQorLSMgVGhlIGluaXRpYWwgY29sdW1uIGFuZCBsaW5lLgorLW00X2RlZmluZV9kZWZhdWx0KFti
NF9sb2NhdGlvbl9pbml0aWFsX2NvbHVtbl0sIFsxXSkKKy1tNF9kZWZpbmVfZGVmYXVsdChbYjRf
bG9jYXRpb25faW5pdGlhbF9saW5lXSwgICBbMV0pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0t
ICMjCistIyMgU2FuaXR5IGNoZWNrcy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tICMjCistCist
IyBhcGkubG9jYXRpb24ucHJlZml4PXsuLi59IChKYXZhIGFuZCBDKyspLgorLWI0X3BlcmNlbnRf
ZGVmaW5lX2NoZWNrX2tpbmQoW2FwaS5sb2NhdGlvbi50eXBlXSwgW2NvZGVdLCBbZGVwcmVjYXRl
ZF0pCistCistIyBhcGkucG9zaXRpb24ucHJlZml4PXsuLi59IChKYXZhKS4KKy1iNF9wZXJjZW50
X2RlZmluZV9jaGVja19raW5kKFthcGkucG9zaXRpb24udHlwZV0sIFtjb2RlXSwgW2RlcHJlY2F0
ZWRdKQorLQorLSMgYXBpLnByZWZpeCA+PCAlbmFtZS1wcmVmaXguCistYjRfcGVyY2VudF9kZWZp
bmVfY2hlY2tfa2luZChbYXBpLnByZWZpeF0sIFtjb2RlXSwgW2RlcHJlY2F0ZWRdKQorLWI0X3Bl
cmNlbnRfZGVmaW5lX2lmZGVmKFthcGkucHJlZml4XSwKKy1bbTRfaWZkZWYoW2I0X3ByZWZpeF0s
CistW2I0X2NvbXBsYWluX2F0KGI0X3BlcmNlbnRfZGVmaW5lX2dldF9sb2MoW2FwaS5wcmVmaXhd
KSwKKy0gICAgICAgICAgICAgICAgW1snJXMnIGFuZCAnJXMnIGNhbm5vdCBiZSB1c2VkIHRvZ2V0
aGVyXV0sCistICAgICAgICAgICAgICAgIFslbmFtZS1wcmVmaXhdLAorLSAgICAgICAgICAgICAg
ICBbJWRlZmluZSBhcGkucHJlZml4XSldKV0pCistCistIyBhcGkudG9rZW4ucHJlZml4PXsuLi59
CistIyBNYWtlIGl0IGEgd2FybmluZyBmb3IgdGhvc2Ugd2hvIHVzZWQgYmV0YXMgb2YgQmlzb24g
My4wLgorLWI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX2tpbmQoW2FwaS50b2tlbi5wcmVmaXhdLCBb
Y29kZV0sIFtkZXByZWNhdGVkXSkKKy0KKy0jIGFwaS52YWx1ZS50eXBlID48ICV1bmlvbi4KKy1i
NF9wZXJjZW50X2RlZmluZV9pZmRlZihbYXBpLnZhbHVlLnR5cGVdLAorLVttNF9pZmRlZihbYjRf
dW5pb25fbWVtYmVyc10sCistW2I0X2NvbXBsYWluX2F0KGI0X3BlcmNlbnRfZGVmaW5lX2dldF9s
b2MoW2FwaS52YWx1ZS50eXBlXSksCistICAgICAgICAgICAgICAgIFtbJyVzJyBhbmQgJyVzJyBj
YW5ub3QgYmUgdXNlZCB0b2dldGhlcl1dLAorLSAgICAgICAgICAgICAgICBbJXVuaW9uXSwKKy0g
ICAgICAgICAgICAgICAgWyVkZWZpbmUgYXBpLnZhbHVlLnR5cGVdKV0pXSkKKy0KKy0jIGFwaS52
YWx1ZS50eXBlPXVuaW9uID48ICV5YWNjLgorLWI0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFthcGku
dmFsdWUudHlwZV0sCistW200X2lmKGI0X3BlcmNlbnRfZGVmaW5lX2dldChbYXBpLnZhbHVlLnR5
cGVdKSwgW3VuaW9uXSwKKy1bYjRfeWFjY19pZihkbmwKKy1bYjRfY29tcGxhaW5fYXQoYjRfcGVy
Y2VudF9kZWZpbmVfZ2V0X2xvYyhbYXBpLnZhbHVlLnR5cGVdKSwKKy0gICAgICAgICAgICAgICAg
W1snJXMnIGFuZCAnJXMnIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyXV0sCistICAgICAgICAgICAg
ICAgIFsleWFjY10sCistICAgICAgICAgICAgICAgIFslZGVmaW5lIGFwaS52YWx1ZS50eXBlICJ1
bmlvbiJdKV0pXSldKQorLQorLSMgYXBpLnZhbHVlLnVuaW9uLm5hbWUuCistYjRfcGVyY2VudF9k
ZWZpbmVfY2hlY2tfa2luZChbYXBpLnZhbHVlLnVuaW9uLm5hbWVdLCBba2V5d29yZF0pCitkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9w
YXJ0eS9za2VsZXRvbnMvYy1saWtlLm00IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvYy1saWtlLm00CitkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKK2luZGV4IDhkODkxYjY3ZWY5Li4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMv
Yy1saWtlLm00CisrKysgL2Rldi9udWxsCitAQCAtMSw2NiArMCwwIEBACistICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9j
b25mIC0qLQorLQorLSMgQ29tbW9uIGNvZGUgZm9yIEMtbGlrZSBsYW5ndWFnZXMgKEMsIEMrKywg
SmF2YSwgZXRjLikKKy0KKy0jIENvcHlyaWdodCAoQykgMjAxMi0yMDE1LCAyMDE4LTIwMTkgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCistCistIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz
b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSMgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKKy0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg
b2YgdGhlIExpY2Vuc2UsIG9yCistIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorLSMKKy0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0jIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistIworLSMgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0jIGFsb25nIHdp
dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl
cy8+LgorLQorLSMgX2I0X2NvbW1lbnQoVEVYVCwgT1BFTiwgQ09OVElOVUUsIEVORCkKKy0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQdXQgVEVYVCBpbiBjb21t
ZW50LiAgQXZvaWQgdHJhaWxpbmcgc3BhY2VzOiBkb24ndCBpbmRlbnQgZW1wdHkgbGluZXMuCist
IyBBdm9pZCBhZGRpbmcgaW5kZW50YXRpb24gdG8gdGhlIGZpcnN0IGxpbmUsIGFzIHRoZSBpbmRl
bnRhdGlvbiBjb21lcworLSMgZnJvbSBPUEVOLiAgVGhhdCdzIHdoeSB3ZSBkb24ndCBwYXRzdWJz
dChbJDFdLCBbXlwoLlwpXSwgWyAgIFwxXSkuCistIworLSMgUHJlZml4IGFsbCB0aGUgb3V0cHV0
IGxpbmVzIHdpdGggUFJFRklYLgorLW00X2RlZmluZShbX2I0X2NvbW1lbnRdLAorLVskMltdbTRf
YnBhdHN1YnN0KG00X2V4cGFuZChbWyQxXV0pLCBbCistXCguXCldLCBbCistJDNcMV0pJDRdKQor
LQorLQorLSMgYjRfY29tbWVudChURVhULCBbUFJFRklYXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBQdXQgVEVYVCBpbiBjb21tZW50LiAgUHJlZml4IGFsbCB0aGUgb3V0cHV0
IGxpbmVzIHdpdGggUFJFRklYLgorLW00X2RlZmluZShbYjRfY29tbWVudF0sCistW19iNF9jb21t
ZW50KFskMV0sIFskMi8qIF0sIFskMiAgIF0sIFsgICovXSldKQorLQorLQorLQorLQorLSMgX2I0
X2RvbGxhcl9kb2xsYXIoVkFMVUUsIFNZTUJPTC1OVU0sIEZJRUxELCBERUZBVUxULUZJRUxEKQor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgSWYgRklFTEQgKG9yIERFRkFVTFQtRklFTEQpIGlzIG5vbi1udWxsLCByZXR1cm4g
IlZBTFVFLkZJRUxEIiwKKy0jIG90aGVyd2lzZSBqdXN0IFZBTFVFLiAgQmUgc3VyZSB0byBwYXNz
ICIoVkFMVUUpIiBpZiBWQUxVRSBpcyBhCistIyBwb2ludGVyLgorLW00X2RlZmluZShbX2I0X2Rv
bGxhcl9kb2xsYXJdLAorLVtiNF9zeW1ib2xfdmFsdWUoWyQxXSwKKy0gICAgICAgICAgICAgICAg
IFskMl0sCistICAgICAgICAgICAgICAgICBtNF9pZihbJDNdLCBbW11dLAorLSAgICAgICAgICAg
ICAgICAgICAgICAgW1skNF1dLCBbWyQzXV0pKV0pCistCistIyBiNF9kb2xsYXJfcHVzaGRlZihW
QUxVRS1QT0lOVEVSLCBTWU1CT0wtTlVNLCBbVFlQRV9UQUddLCBMT0NBVElPTikKKy0jIGI0X2Rv
bGxhcl9wb3BkZWYKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVmaW5lIGI0X2RvbGxhcl9kb2xsYXIgZm9y
IFZBTFVFLVBPSU5URVIgYW5kIERFRkFVTFQtRklFTEQsCistIyBhbmQgYjRfYXRfZG9sbGFyIGZv
ciBMT0NBVElPTi4KKy1tNF9kZWZpbmUoW2I0X2RvbGxhcl9wdXNoZGVmXSwKKy1bbTRfcHVzaGRl
ZihbYjRfZG9sbGFyX2RvbGxhcl0sCistICAgICAgICAgICAgW19iNF9kb2xsYXJfZG9sbGFyKFsk
MV0sIFskMl0sIG00X2RxdW90ZSgkXVsxKSwgWyQzXSldKWRubAorLW00X3B1c2hkZWYoW2I0X2F0
X2RvbGxhcl0sIFskNF0pZG5sCistXSkKKy1tNF9kZWZpbmUoW2I0X2RvbGxhcl9wb3BkZWZdLAor
LVttNF9wb3BkZWYoW2I0X2F0X2RvbGxhcl0pZG5sCistbTRfcG9wZGVmKFtiNF9kb2xsYXJfZG9s
bGFyXSlkbmwKKy1dKQorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xz
L2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2MubTQgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9jLm00CitkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDNjZGUwNGE5NTcxLi4wMDAwMDAwMDAwMAorLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9z
a2VsZXRvbnMvYy5tNAorKysrIC9kZXYvbnVsbAorQEAgLTEsODgzICswLDAgQEAKKy0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0g
QXV0b2NvbmYgLSotCistCistIyBDIE00IE1hY3JvcyBmb3IgQmlzb24uCistCistIyBDb3B5cmln
aHQgKEMpIDIwMDIsIDIwMDQtMjAxNSwgMjAxOC0yMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwKKy0jIEluYy4KKy0KKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLSMgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IKKy0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistIworLSMgVGhpcyBw
cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CistIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZQorLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKy0jCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u
ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCistCistbTRfaW5j
bHVkZShiNF9za2VsZXRvbnNkaXIvW2MtbGlrZS5tNF0pCistCistIyBiNF90b2NwcChTVFJJTkcp
CistIyAtLS0tLS0tLS0tLS0tLS0tCistIyBDb252ZXJ0IFNUUklORyBpbnRvIGEgdmFsaWQgQyBt
YWNybyBuYW1lLgorLW00X2RlZmluZShbYjRfdG9jcHBdLAorLVttNF90b3VwcGVyKG00X2JwYXRz
dWJzdChtNF9xdW90ZSgkMSksIFtbXmEtekEtWjAtOV0rXSwgW19dKSldKQorLQorLQorLSMgYjRf
Y3BwX2d1YXJkKEZJTEUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEEgdmFsaWQgQyBtYWNy
byBuYW1lIHRvIHVzZSBhcyBhIENQUCBoZWFkZXIgZ3VhcmQgZm9yIEZJTEUuCistbTRfZGVmaW5l
KFtiNF9jcHBfZ3VhcmRdLAorLVtbWVlfXWI0X3RvY3BwKG00X2RlZm4oW2I0X3ByZWZpeF0pL1sk
MV0pW19JTkNMVURFRF1dKQorLQorLQorLSMgYjRfY3BwX2d1YXJkX29wZW4oRklMRSkKKy0jIGI0
X2NwcF9ndWFyZF9jbG9zZShGSUxFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJ
ZiBGSUxFIGRvZXMgbm90IGV4cGFuZCB0byBub3RoaW5nLCBvcGVuL2Nsb3NlIENQUCBpbmNsdXNp
b24gZ3VhcmRzIGZvciBGSUxFLgorLW00X2RlZmluZShbYjRfY3BwX2d1YXJkX29wZW5dLAorLVtt
NF9pZnZhbChtNF9xdW90ZSgkMSksCistWyNpZm5kZWYgYjRfY3BwX2d1YXJkKFskMV0pCistIyBk
ZWZpbmUgYjRfY3BwX2d1YXJkKFskMV0pXSldKQorLQorLW00X2RlZmluZShbYjRfY3BwX2d1YXJk
X2Nsb3NlXSwKKy1bbTRfaWZ2YWwobTRfcXVvdGUoJDEpLAorLVsjZW5kaWYgYjRfY29tbWVudChb
IWI0X2NwcF9ndWFyZChbJDFdKV0pXSldKQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMK
Ky0jIyBJZGVudGlmaWNhdGlvbi4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMg
YjRfaWRlbnRpZmljYXRpb24KKy0jIC0tLS0tLS0tLS0tLS0tLS0tCistIyBEZXBlbmRzIG9uIGlu
ZGl2aWR1YWwgc2tlbGV0b25zIHRvIGRlZmluZSBiNF9wdXJlX2ZsYWcsIGI0X3B1c2hfZmxhZywg
b3IKKy0jIGI0X3B1bGxfZmxhZyBpZiB0aGV5IHVzZSB0aGUgdmFsdWVzIG9mIHRoZSAlZGVmaW5l
IHZhcmlhYmxlcyBhcGkucHVyZSBvcgorLSMgYXBpLnB1c2gtcHVsbC4KKy1tNF9kZWZpbmUoW2I0
X2lkZW50aWZpY2F0aW9uXSwKKy1bWy8qIElkZW50aWZ5IEJpc29uIG91dHB1dC4gICovCistI2Rl
ZmluZSBZWUJJU09OIDEKKy0KKy0vKiBCaXNvbiB2ZXJzaW9uLiAgKi8KKy0jZGVmaW5lIFlZQklT
T05fVkVSU0lPTiAiXWI0X3ZlcnNpb25bIgorLQorLS8qIFNrZWxldG9uIG5hbWUuICAqLworLSNk
ZWZpbmUgWVlTS0VMRVRPTl9OQU1FIF1iNF9za2VsZXRvbltdbTRfaWZkZWYoW2I0X3B1cmVfZmxh
Z10sIFtbCistCistLyogUHVyZSBwYXJzZXJzLiAgKi8KKy0jZGVmaW5lIFlZUFVSRSBdYjRfcHVy
ZV9mbGFnXSlbXW00X2lmZGVmKFtiNF9wdXNoX2ZsYWddLCBbWworLQorLS8qIFB1c2ggcGFyc2Vy
cy4gICovCistI2RlZmluZSBZWVBVU0ggXWI0X3B1c2hfZmxhZ10pW11tNF9pZmRlZihbYjRfcHVs
bF9mbGFnXSwgW1sKKy0KKy0vKiBQdWxsIHBhcnNlcnMuICAqLworLSNkZWZpbmUgWVlQVUxMIF1i
NF9wdWxsX2ZsYWddKVsKKy1dXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCistIyMg
RGVmYXVsdCB2YWx1ZXMuICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0jIGI0X2Fw
aV9wcmVmaXgsIGI0X2FwaV9QUkVGSVgKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIENvcnJlc3BvbmRzIHRvICVkZWZpbmUgYXBpLnByZWZpeAorLWI0X3BlcmNlbnRfZGVmaW5l
X2RlZmF1bHQoW1thcGkucHJlZml4XV0sIFtbeXldXSkKKy1tNF9kZWZpbmUoW2I0X2FwaV9wcmVm
aXhdLAorLVtiNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkucHJlZml4XV0pXSkKKy1tNF9kZWZp
bmUoW2I0X2FwaV9QUkVGSVhdLAorLVttNF90b3VwcGVyKGI0X2FwaV9wcmVmaXgpXSkKKy0KKy0K
Ky0jIGI0X3ByZWZpeAorLSMgLS0tLS0tLS0tCistIyBJZiB0aGUgJW5hbWUtcHJlZml4IGlzIG5v
dCBnaXZlbiwgaXQgaXMgYXBpLnByZWZpeC4KKy1tNF9kZWZpbmVfZGVmYXVsdChbYjRfcHJlZml4
XSwgW2I0X2FwaV9wcmVmaXhdKQorLQorLSMgSWYgdGhlICV1bmlvbiBpcyBub3QgbmFtZWQsIGl0
cyBuYW1lIGlzIFlZU1RZUEUuCistYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdChbW2FwaS52YWx1
ZS51bmlvbi5uYW1lXV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICBbYjRfYXBpX1BSRUZJ
WFtdW1NUWVBFXV0pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMg
UHVyZS9pbXB1cmUgaW50ZXJmYWNlcy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
ICMjCistCistIyBiNF9sZXhfZm9ybWFscworLSMgLS0tLS0tLS0tLS0tLS0KKy0jIEFsbCB0aGUg
eXlsZXggZm9ybWFsIGFyZ3VtZW50cy4KKy0jIGI0X2xleF9wYXJhbSBhcnJpdmVzIHF1b3RlZCB0
d2ljZSwgYnV0IHdlIHdhbnQgdG8ga2VlcCBvbmx5IG9uZSBsZXZlbC4KKy1tNF9kZWZpbmUoW2I0
X2xleF9mb3JtYWxzXSwKKy1bYjRfcHVyZV9pZihbW1tbWVlTVFlQRSAqeXlsdmFscF1dLCBbWyZ5
eWx2YWxdXV1bXWRubAorLWI0X2xvY2F0aW9uc19pZihbLCBbW1lZTFRZUEUgKnl5bGxvY3BdLCBb
Jnl5bGxvY11dXSldKWRubAorLW00X2lmZGVmKFtiNF9sZXhfcGFyYW1dLCBbLCBdYjRfbGV4X3Bh
cmFtKV0pCistCistCistIyBiNF9sZXgKKy0jIC0tLS0tLQorLSMgQ2FsbCB5eWxleC4KKy1tNF9k
ZWZpbmUoW2I0X2xleF0sCistW2I0X2Z1bmN0aW9uX2NhbGwoW3l5bGV4XSwgW2ludF0sIGI0X2xl
eF9mb3JtYWxzKV0pCistCistCistIyBiNF91c2VyX2FyZ3MKKy0jIC0tLS0tLS0tLS0tLQorLW00
X2RlZmluZShbYjRfdXNlcl9hcmdzXSwKKy1bbTRfaWZzZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywg
YjRfYXJncyhiNF9wYXJzZV9wYXJhbSldKV0pCistCistCistIyBiNF9wYXJzZV9wYXJhbQorLSMg
LS0tLS0tLS0tLS0tLS0KKy0jIElmIGRlZmluZWQsIGI0X3BhcnNlX3BhcmFtIGFycml2ZXMgZG91
YmxlIHF1b3RlZCwgYnV0IGJlbG93IHdlIHByZWZlcgorLSMgaXQgdG8gYmUgc2luZ2xlIHF1b3Rl
ZC4KKy1tNF9kZWZpbmUoW2I0X3BhcnNlX3BhcmFtXSwKKy1iNF9wYXJzZV9wYXJhbSkKKy0KKy0K
Ky0jIGI0X3BhcnNlX3BhcmFtX2ZvcihERUNMLCBGT1JNQUwsIEJPRFkpCistIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEl0ZXJhdGUgb3ZlciB0aGUgdXNlciBw
YXJhbWV0ZXJzLCBiaW5kaW5nIHRoZSBkZWNsYXJhdGlvbiB0byBERUNMLAorLSMgdGhlIGZvcm1h
bCBuYW1lIHRvIEZPUk1BTCwgYW5kIGV2YWx1YXRpbmcgdGhlIEJPRFkuCistbTRfZGVmaW5lKFti
NF9wYXJzZV9wYXJhbV9mb3JdLAorLVttNF9mb3JlYWNoKFskMV8kMl0sIG00X2RlZm4oW2I0X3Bh
cnNlX3BhcmFtXSksCistW200X3B1c2hkZWYoWyQxXSwgbTRfdW5xdW90ZShtNF9jYXIoJDFfJDIp
KSlkbmwKKy1tNF9wdXNoZGVmKFskMl0sIG00X3NoaWZ0KCQxXyQyKSlkbmwKKy0kM1tdZG5sCist
bTRfcG9wZGVmKFskMl0pZG5sCistbTRfcG9wZGVmKFskMV0pZG5sCistXSldKQorLQorLSMgYjRf
cGFyc2VfcGFyYW1fdXNlKFtWQUxdLCBbTE9DXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyAnWVlVU0UnIFZBTCwgTE9DIGlmIGxvY2F0aW9ucyBhcmUgZW5hYmxlZCwg
YW5kIGFsbCB0aGUgcGFyc2UtcGFyYW1zLgorLW00X2RlZmluZShbYjRfcGFyc2VfcGFyYW1fdXNl
XSwKKy1bbTRfaWZ2YWxuKFskMV0sIFsgIFlZVVNFIChbJDFdKTtdKWRubAorLWI0X2xvY2F0aW9u
c19pZihbbTRfaWZ2YWxuKFskMl0sIFsgIFlZVVNFIChbJDJdKTtdKV0pZG5sCistYjRfcGFyc2Vf
cGFyYW1fZm9yKFtEZWNsXSwgW0Zvcm1hbF0sIFsgIFlZVVNFIChGb3JtYWwpOworLV0pZG5sCist
XSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0gIyMKKy0jIyBEYXRhIFR5cGVzLiAgIyMKKy0jIyAt
LS0tLS0tLS0tLS0gIyMKKy0KKy0jIGI0X2ludF90eXBlKE1JTiwgTUFYKQorLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBSZXR1cm4gdGhlIHNtYWxsZXN0IGludCB0eXBlIGFibGUgdG8gaGFu
ZGxlIG51bWJlcnMgcmFuZ2luZyBmcm9tCistIyBNSU4gdG8gTUFYIChpbmNsdWRlZCkuCistbTRf
ZGVmaW5lKFtiNF9pbnRfdHlwZV0sCistW200X2lmKGI0X2ludHNfaW4oJEAsICAgICAgWzBdLCAg
IFsyNTVdKSwgWzFdLCBbdW5zaWduZWQgY2hhcl0sCistICAgICAgIGI0X2ludHNfaW4oJEAsICAg
Wy0xMjhdLCAgIFsxMjddKSwgWzFdLCBbc2lnbmVkIGNoYXJdLAorLQorLSAgICAgICBiNF9pbnRz
X2luKCRALCAgICAgIFswXSwgWzY1NTM1XSksIFsxXSwgW3Vuc2lnbmVkIHNob3J0XSwKKy0gICAg
ICAgYjRfaW50c19pbigkQCwgWy0zMjc2OF0sIFszMjc2N10pLCBbMV0sIFtzaG9ydF0sCistCist
ICAgICAgIG00X2V2YWwoWzAgPD0gJDFdKSwgICAgICAgICAgICAgICAgWzFdLCBbdW5zaWduZWRd
LAorLQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lu
dF0pXSkKKy0KKy0KKy0jIGI0X2ludF90eXBlX2ZvcihOQU1FKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCistIyBSZXR1cm4gdGhlIHNtYWxsZXN0IGludCB0eXBlIGFibGUgdG8gaGFuZGxlIG51
bWJlcnMgcmFuZ2luZyBmcm9tCistIyAnTkFNRV9taW4nIHRvICdOQU1FX21heCcgKGluY2x1ZGVk
KS4KKy1tNF9kZWZpbmUoW2I0X2ludF90eXBlX2Zvcl0sCistW2I0X2ludF90eXBlKCQxX21pbiwg
JDFfbWF4KV0pCistCistCistIyBiNF90YWJsZV92YWx1ZV9lcXVhbHMoVEFCTEUsIFZBTFVFLCBM
SVRFUkFMKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIFdpdGhvdXQgaW5kdWNpbmcgYSBjb21wYXJpc29uIHdhcm5pbmcgZnJvbSB0aGUgY29tcGls
ZXIsIGNoZWNrIGlmIHRoZQorLSMgbGl0ZXJhbCB2YWx1ZSBMSVRFUkFMIGVxdWFscyBWQUxVRSBm
cm9tIHRhYmxlIFRBQkxFLCB3aGljaCBtdXN0IGhhdmUKKy0jIFRBQkxFX21pbiBhbmQgVEFCTEVf
bWF4IGRlZmluZWQuCistbTRfZGVmaW5lKFtiNF90YWJsZV92YWx1ZV9lcXVhbHNdLAorLVttNF9p
ZihtNF9ldmFsKCQzIDwgbTRfaW5kaXIoW2I0X10kMVtfbWluXSkKKy0gICAgICAgICAgICAgICB8
fCBtNF9pbmRpcihbYjRfXSQxW19tYXhdKSA8ICQzKSwgWzFdLAorLSAgICAgICBbWzBdXSwKKy0g
ICAgICAgWyghISgoJDIpID09ICgkMykpKV0pXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0t
LSAjIworLSMjIENvbXBpbGVyIGlzc3Vlcy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMK
Ky0KKy0jIGI0X2F0dHJpYnV0ZV9kZWZpbmUoW25vcmV0dXJuXSkKKy0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKy0jIFByb3ZpZGUgcG9ydGFibGUgY29tcGlsZXIgImF0dHJpYnV0
ZXMiLiAgSWYgIm5vcmV0dXJuIiBpcyBwYXNzZWQsIGRlZmluZQorLSMgX05vcmV0dXJuLgorLW00
X2RlZmluZShbYjRfYXR0cmlidXRlX2RlZmluZV0sCistW1sjaWZuZGVmIFlZX0FUVFJJQlVURQor
LSMgaWYgKGRlZmluZWQgX19HTlVDX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKy0gICAgICAmJiAoMiA8IF9fR05VQ19fIHx8IChfX0dOVUNfXyA9PSAy
ICYmIDk2IDw9IF9fR05VQ19NSU5PUl9fKSkpICBcCistICAgICB8fCBkZWZpbmVkIF9fU1VOUFJP
X0MgJiYgMHg1MTEwIDw9IF9fU1VOUFJPX0MKKy0jICBkZWZpbmUgWVlfQVRUUklCVVRFKFNwZWMp
IF9fYXR0cmlidXRlX18oU3BlYykKKy0jIGVsc2UKKy0jICBkZWZpbmUgWVlfQVRUUklCVVRFKFNw
ZWMpIC8qIGVtcHR5ICovCistIyBlbmRpZgorLSNlbmRpZgorLQorLSNpZm5kZWYgWVlfQVRUUklC
VVRFX1BVUkUKKy0jIGRlZmluZSBZWV9BVFRSSUJVVEVfUFVSRSAgIFlZX0FUVFJJQlVURSAoKF9f
cHVyZV9fKSkKKy0jZW5kaWYKKy0KKy0jaWZuZGVmIFlZX0FUVFJJQlVURV9VTlVTRUQKKy0jIGRl
ZmluZSBZWV9BVFRSSUJVVEVfVU5VU0VEIFlZX0FUVFJJQlVURSAoKF9fdW51c2VkX18pKQorLSNl
bmRpZgorLQorLV1tNF9ibWF0Y2goWyQxXSwgW1xibm9yZXR1cm5cYl0sIFtbLyogVGhlIF9Ob3Jl
dHVybiBrZXl3b3JkIG9mIEMxMS4gICovCistI2lmICEgZGVmaW5lZCBfTm9yZXR1cm4KKy0jIGlm
IGRlZmluZWQgX19jcGx1c3BsdXMgJiYgMjAxMTAzTCA8PSBfX2NwbHVzcGx1cworLSMgIGRlZmlu
ZSBfTm9yZXR1cm4gW1tub3JldHVybl1dCistIyBlbGlmICEoZGVmaW5lZCBfX1NURENfVkVSU0lP
Tl9fICYmIDIwMTExMiA8PSBfX1NURENfVkVSU0lPTl9fKQorLSMgIGlmICgzIDw9IF9fR05VQ19f
IHx8IChfX0dOVUNfXyA9PSAyICYmIDggPD0gX19HTlVDX01JTk9SX18pIFwKKy0gICAgICAgfHwg
MHg1MTEwIDw9IF9fU1VOUFJPX0MpCistIyAgIGRlZmluZSBfTm9yZXR1cm4gX19hdHRyaWJ1dGVf
XyAoKF9fbm9yZXR1cm5fXykpCistIyAgZWxpZiBkZWZpbmVkIF9NU0NfVkVSICYmIDEyMDAgPD0g
X01TQ19WRVIKKy0jICAgZGVmaW5lIF9Ob3JldHVybiBfX2RlY2xzcGVjIChub3JldHVybikKKy0j
ICBlbHNlCistIyAgIGRlZmluZSBfTm9yZXR1cm4KKy0jICBlbmRpZgorLSMgZW5kaWYKKy0jZW5k
aWYKKy0KKy1dXSlbLyogU3VwcHJlc3MgdW51c2VkLXZhcmlhYmxlIHdhcm5pbmdzIGJ5ICJ1c2lu
ZyIgRS4gICovCistI2lmICEgZGVmaW5lZCBsaW50IHx8IGRlZmluZWQgX19HTlVDX18KKy0jIGRl
ZmluZSBZWVVTRShFKSAoKHZvaWQpIChFKSkKKy0jZWxzZQorLSMgZGVmaW5lIFlZVVNFKEUpIC8q
IGVtcHR5ICovCistI2VuZGlmCistCistI2lmIGRlZmluZWQgX19HTlVDX18gJiYgISBkZWZpbmVk
IF9fSUNDICYmIDQwNyA8PSBfX0dOVUNfXyAqIDEwMCArIF9fR05VQ19NSU5PUl9fCistLyogU3Vw
cHJlc3MgYW4gaW5jb3JyZWN0IGRpYWdub3N0aWMgYWJvdXQgeXlsdmFsIGJlaW5nIHVuaW5pdGlh
bGl6ZWQuICAqLworLSMgZGVmaW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lO
IFwKKy0gICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIHB1c2giKSBcCistICAgIF9QcmFnbWEg
KCJHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmluaXRpYWxpemVkXCIiKVwKKy0gICAgX1By
YWdtYSAoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV21heWJlLXVuaW5pdGlhbGl6ZWRcIiIp
CistIyBkZWZpbmUgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfRU5EIFwKKy0gICAgX1By
YWdtYSAoIkdDQyBkaWFnbm9zdGljIHBvcCIpCistI2Vsc2UKKy0jIGRlZmluZSBZWV9JTklUSUFM
X1ZBTFVFKFZhbHVlKSBWYWx1ZQorLSNlbmRpZgorLSNpZm5kZWYgWVlfSUdOT1JFX01BWUJFX1VO
SU5JVElBTElaRURfQkVHSU4KKy0jIGRlZmluZSBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpF
RF9CRUdJTgorLSMgZGVmaW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0VORAorLSNl
bmRpZgorLSNpZm5kZWYgWVlfSU5JVElBTF9WQUxVRQorLSMgZGVmaW5lIFlZX0lOSVRJQUxfVkFM
VUUoVmFsdWUpIC8qIE5vdGhpbmcuICovCistI2VuZGlmCistXV0pCistCistCistIyBiNF9udWxs
X2RlZmluZQorLSMgLS0tLS0tLS0tLS0tLS0KKy0jIFBvcnRhYmlsaXR5IGlzc3VlczogZGVmaW5l
IGEgWVlfTlVMTFBUUiBhcHByb3ByaWF0ZSBmb3IgdGhlIGN1cnJlbnQKKy0jIGxhbmd1YWdlIChD
LCBDKys5OCwgb3IgQysrMTEpLgorLSMKKy0jIEluIEMrKyBwcmUgQysrMTEgaXQgaXMgc3RhbmRh
cmQgcHJhY3RpY2UgdG8gdXNlIDAgKG5vdCBOVUxMKSBmb3IgdGhlCistIyBudWxsIHBvaW50ZXIu
ICBJbiBDLCBwcmVmZXIgKCh2b2lkKikwKSB0byBhdm9pZCBoYXZpbmcgdG8gaW5jbHVkZSBzdGRs
aWIuaC4KKy1tNF9kZWZpbmUoW2I0X251bGxfZGVmaW5lXSwKKy1bIyBpZm5kZWYgWVlfTlVMTFBU
UgorLSMgIGlmIGRlZmluZWQgX19jcGx1c3BsdXMKKy0jICAgaWYgMjAxMTAzTCA8PSBfX2NwbHVz
cGx1cworLSMgICAgZGVmaW5lIFlZX05VTExQVFIgbnVsbHB0cgorLSMgICBlbHNlCistIyAgICBk
ZWZpbmUgWVlfTlVMTFBUUiAwCistIyAgIGVuZGlmCistIyAgZWxzZQorLSMgICBkZWZpbmUgWVlf
TlVMTFBUUiAoKHZvaWQqKTApCistIyAgZW5kaWYKKy0jIGVuZGlmW11kbmwKKy1dKQorLQorLQor
LSMgYjRfbnVsbAorLSMgLS0tLS0tLQorLSMgUmV0dXJuIGEgbnVsbCBwb2ludGVyIGNvbnN0YW50
LgorLW00X2RlZmluZShbYjRfbnVsbF0sIFtZWV9OVUxMUFRSXSkKKy0KKy0KKy0KKy0jIyAtLS0t
LS0tLS0jIworLSMjIFZhbHVlcy4gICMjCistIyMgLS0tLS0tLS0tIyMKKy0KKy0jIGI0X2ludGVn
cmFsX3BhcnNlcl90YWJsZV9kZWZpbmUoVEFCTEUtTkFNRSwgQ09OVEVOVCwgQ09NTUVOVCkKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIERlZmluZSAieXk8VEFCTEUtTkFNRT4iIHdob3NlIGNvbnRlbnRzIGlzIENPTlRF
TlQuCistbTRfZGVmaW5lKFtiNF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVfZGVmaW5lXSwKKy1bbTRf
aWZ2YWxuKFskM10sIFtiNF9jb21tZW50KFskM10sIFsgIF0pXSlkbmwKKy1zdGF0aWMgY29uc3Qg
YjRfaW50X3R5cGVfZm9yKFskMl0pIHl5JDFbW11dID0KKy17CistICAkMgorLX07ZG5sCistXSkK
Ky0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgQXNzaWduaW5nIHRv
a2VuIG51bWJlcnMuICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0j
IGI0X3Rva2VuX2RlZmluZShUT0tFTi1OVU0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLSMgT3V0cHV0IHRoZSBkZWZpbml0aW9uIG9mIHRoaXMgdG9rZW4gYXMgI2RlZmluZS4KKy1t
NF9kZWZpbmUoW2I0X3Rva2VuX2RlZmluZV0sCistW2I0X3Rva2VuX2Zvcm1hdChbI2RlZmluZSAl
cyAlc10sIFskMV0pXSkKKy0KKy0jIGI0X3Rva2VuX2RlZmluZXMKKy0jIC0tLS0tLS0tLS0tLS0t
LS0KKy0jIE91dHB1dCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgdG9rZW5zLgorLW00X2RlZmluZShb
YjRfdG9rZW5fZGVmaW5lc10sCistW2I0X2FueV90b2tlbl92aXNpYmxlX2lmKFsvKiBUb2tlbnMu
ICAqLworLW00X2pvaW4oWworLV0sIGI0X3N5bWJvbF9tYXAoW2I0X3Rva2VuX2RlZmluZV0pKQor
LV0pXSkKKy0KKy0KKy0jIGI0X3Rva2VuX2VudW0oVE9LRU4tTlVNKQorLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBPdXRwdXQgdGhlIGRlZmluaXRpb24gb2YgdGhpcyB0b2tlbiBhcyBh
biBlbnVtLgorLW00X2RlZmluZShbYjRfdG9rZW5fZW51bV0sCistW2I0X3Rva2VuX2Zvcm1hdChb
JXMgPSAlc10sIFskMV0pXSkKKy0KKy0KKy0jIGI0X3Rva2VuX2VudW1zCistIyAtLS0tLS0tLS0t
LS0tLQorLSMgT3V0cHV0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSB0b2tlbnMgKGlmIHRoZXJlIGFy
ZSkgYXMgZW51bXMuCistbTRfZGVmaW5lKFtiNF90b2tlbl9lbnVtc10sCistW2I0X2FueV90b2tl
bl92aXNpYmxlX2lmKFtbLyogVG9rZW4gdHlwZS4gICovCistI2lmbmRlZiBdYjRfYXBpX1BSRUZJ
WFtUT0tFTlRZUEUKKy0jIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtUT0tFTlRZUEUKKy0gIGVudW0g
XWI0X2FwaV9wcmVmaXhbdG9rZW50eXBlCistICB7CistICAgIF1tNF9qb2luKFssCistICAgIF0s
CistICAgICAgICAgICAgIGI0X3N5bWJvbF9tYXAoW2I0X3Rva2VuX2VudW1dKSlbCistICB9Owor
LSNlbmRpZgorLV1dKV0pCistCistCistIyBiNF90b2tlbl9lbnVtc19kZWZpbmVzCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBPdXRwdXQgdGhlIGRlZmluaXRpb24gb2YgdGhlIHRva2Vu
cyAoaWYgdGhlcmUgYXJlIGFueSkgYXMgZW51bXMgYW5kLAorLSMgaWYgUE9TSVggWWFjYyBpcyBl
bmFibGVkLCBhcyAjZGVmaW5lcy4KKy1tNF9kZWZpbmUoW2I0X3Rva2VuX2VudW1zX2RlZmluZXNd
LAorLVtiNF90b2tlbl9lbnVtc1tdYjRfeWFjY19pZihbYjRfdG9rZW5fZGVmaW5lc10pXSkKKy0K
Ky0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFNlbWFudGljIFZhbHVlcy4gICMjCist
IyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIGI0X3N5bWJvbF92YWx1ZShWQUwsIFtT
WU1CT0wtTlVNXSwgW1RZUEUtVEFHXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNlZSBSRUFETUUuCistbTRfZGVmaW5lKFtiNF9zeW1ib2xf
dmFsdWVdLAorLVttNF9pZnZhbChbJDNdLAorLSAgICAgICAgICBbKCQxLiQzKV0sCistICAgICAg
ICAgIFttNF9pZnZhbChbJDJdLAorLSAgICAgICAgICAgICAgICAgICAgW2I0X3N5bWJvbF9pZihb
JDJdLCBbaGFzX3R5cGVdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKCQx
LmI0X3N5bWJvbChbJDJdLCBbdHlwZV0pKV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFskMV0pXSwKKy0gICAgICAgICAgICAgICAgICAgIFskMV0pXSldKQorLQorLQorLSMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBEZWZpbmluZyBDIGZ1bmN0aW9ucy4gICMj
CistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLQorLSMgYjRfZnVuY3Rpb25fZGVm
aW5lKE5BTUUsIFJFVFVSTi1WQUxVRSwgW0RFQ0wxLCBOQU1FMV0sIC4uLikKKy0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBE
ZWNsYXJlIHRoZSBmdW5jdGlvbiBOQU1FIGluIEMuCistbTRfZGVmaW5lKFtiNF9mdW5jdGlvbl9k
ZWZpbmVdLAorLVskMgorLSQxIChiNF9mb3JtYWxzKG00X3NoaWZ0MigkQCkpKVtdZG5sCistXSkK
Ky0KKy0KKy0jIGI0X2Zvcm1hbHMoW0RFQ0wxLCBOQU1FMV0sIC4uLikKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFRoZSBmb3JtYWwgYXJndW1lbnRzIG9mIGEgQyBmdW5j
dGlvbiBkZWZpbml0aW9uLgorLW00X2RlZmluZShbYjRfZm9ybWFsc10sCistW200X2lmKFskI10s
IFswXSwgW3ZvaWRdLAorLSAgICAgICBbJCMkMV0sIFsxXSwgW3ZvaWRdLAorLSAgICAgICAgICAg
ICAgIFttNF9tYXBfc2VwKFtiNF9mb3JtYWxdLCBbLCBdLCBbJEBdKV0pXSkKKy0KKy1tNF9kZWZp
bmUoW2I0X2Zvcm1hbF0sCistWyQxXSkKKy0KKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIworLSMjIERlY2xhcmluZyBDIGZ1bmN0aW9ucy4gICMjCistIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIGI0X2Z1bmN0aW9uX2RlY2xhcmUoTkFNRSwgUkVUVVJO
LVZBTFVFLCBbREVDTDEsIE5BTUUxXSwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWNsYXJlIHRoZSBmdW5j
dGlvbiBOQU1FLgorLW00X2RlZmluZShbYjRfZnVuY3Rpb25fZGVjbGFyZV0sCistWyQyICQxIChi
NF9mb3JtYWxzKG00X3NoaWZ0MigkQCkpKTtbXWRubAorLV0pCistCistCistCistCistIyMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgQ2FsbGluZyBDIGZ1bmN0aW9ucy4gICMjCistIyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyBiNF9mdW5jdGlvbl9jYWxsKE5BTUUs
IFJFVFVSTi1WQUxVRSwgW0RFQ0wxLCBOQU1FMV0sIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBDYWxsIHRoZSBm
dW5jdGlvbiBOQU1FIHdpdGggYXJndW1lbnRzIE5BTUUxLCBOQU1FMiBldGMuCistbTRfZGVmaW5l
KFtiNF9mdW5jdGlvbl9jYWxsXSwKKy1bJDEgKGI0X2FyZ3MobTRfc2hpZnQyKCRAKSkpW11kbmwK
Ky1dKQorLQorLQorLSMgYjRfYXJncyhbREVDTDEsIE5BTUUxXSwgLi4uKQorLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgT3V0cHV0IHRoZSBhcmd1bWVudHMgTkFNRTEsIE5BTUUy
Li4uCistbTRfZGVmaW5lKFtiNF9hcmdzXSwKKy1bbTRfbWFwX3NlcChbYjRfYXJnXSwgWywgXSwg
WyRAXSldKQorLQorLW00X2RlZmluZShbYjRfYXJnXSwKKy1bJDJdKQorLQorLQorLSMjIC0tLS0t
LS0tLS0tICMjCistIyMgU3luY2xpbmVzLiAgIyMKKy0jIyAtLS0tLS0tLS0tLSAjIworLQorLSMg
YjRfc3luY19zdGFydChMSU5FLCBGSUxFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LW00X2RlZmluZShbYjRfc3luY19zdGFydF0sIFtbI11saW5lICQxICQyXSkKKy0KKy0KKy0jIyAt
LS0tLS0tLS0tLS0tLSAjIworLSMjIFVzZXIgYWN0aW9ucy4gICMjCistIyMgLS0tLS0tLS0tLS0t
LS0gIyMKKy0KKy0jIGI0X2Nhc2UoTEFCRUwsIFNUQVRFTUVOVFMpCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLW00X2RlZmluZShbYjRfY2FzZV0sCistWyAgY2FzZSAkMToKKy0kMgor
LWI0X3N5bmNsaW5lKFtAb2xpbmVAXSwgW0BvZmlsZUBdKQorLSAgICBicmVhaztdKQorLQorLQor
LSMgYjRfcHJlZGljYXRlX2Nhc2UoTEFCRUwsIENPTkRJVElPTlMpCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1tNF9kZWZpbmUoW2I0X3ByZWRpY2F0ZV9jYXNlXSwK
Ky1bICBjYXNlICQxOgorLSAgICBpZiAoISAoCistJDIpKSBZWUVSUk9SOworLWI0X3N5bmNsaW5l
KFtAb2xpbmVAXSwgW0BvZmlsZUBdKQorLSAgICBicmVhaztdKQorLQorLQorLSMgYjRfeXlkZXN0
cnVjdF9kZWZpbmUKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWZpbmUgdGhlICJ5eWRl
c3RydWN0IiBmdW5jdGlvbi4KKy1tNF9kZWZpbmVfZGVmYXVsdChbYjRfeXlkZXN0cnVjdF9kZWZp
bmVdLAorLVtbLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS4KKy18IFJlbGVhc2UgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHRvIHRoaXMgc3ltYm9sLiAgfAor
LWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCistCist
XWI0X2Z1bmN0aW9uX2RlZmluZShbeXlkZXN0cnVjdF0sCistICAgIFtzdGF0aWMgdm9pZF0sCist
ICAgIFtbY29uc3QgY2hhciAqeXltc2ddLCAgICBbeXltc2ddXSwKKy0gICAgW1tpbnQgeXl0eXBl
XSwgICAgICAgICAgIFt5eXR5cGVdXSwKKy0gICAgW1tZWVNUWVBFICp5eXZhbHVlcF0sICAgIFt5
eXZhbHVlcF1dW11kbmwKKy1iNF9sb2NhdGlvbnNfaWYoICAgICAgICAgICAgWywgW1tZWUxUWVBF
ICp5eWxvY2F0aW9ucF0sIFt5eWxvY2F0aW9ucF1dXSlbXWRubAorLW00X2lmc2V0KFtiNF9wYXJz
ZV9wYXJhbV0sIFssIGI0X3BhcnNlX3BhcmFtXSkpWworLXsKKy1dYjRfcGFyc2VfcGFyYW1fdXNl
KFt5eXZhbHVlcF0sIFt5eWxvY2F0aW9ucF0pZG5sCistWyAgaWYgKCF5eW1zZykKKy0gICAgeXlt
c2cgPSAiRGVsZXRpbmciOworLSAgWVlfU1lNQk9MX1BSSU5UICh5eW1zZywgeXl0eXBlLCB5eXZh
bHVlcCwgeXlsb2NhdGlvbnApOworLQorLSAgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURf
QkVHSU4KKy0gIF1iNF9zeW1ib2xfYWN0aW9ucyhbZGVzdHJ1Y3Rvcl0pWworLSAgWVlfSUdOT1JF
X01BWUJFX1VOSU5JVElBTElaRURfRU5ECistfV1kbmwKKy1dKQorLQorLQorLSMgYjRfeXlfc3lt
Ym9sX3ByaW50X2RlZmluZQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVmaW5l
IHRoZSAieXlfc3ltYm9sX3ByaW50IiBmdW5jdGlvbi4KKy1tNF9kZWZpbmVfZGVmYXVsdChbYjRf
eXlfc3ltYm9sX3ByaW50X2RlZmluZV0sCistW1sKKy0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLgorLXwgUHJpbnQgdGhpcyBzeW1ib2wncyB2YWx1ZSBvbiBZWU8uICB8Cist
YC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy0KKy1dYjRfZnVuY3Rpb25f
ZGVmaW5lKFt5eV9zeW1ib2xfdmFsdWVfcHJpbnRdLAorLSAgICBbc3RhdGljIHZvaWRdLAorLSAg
ICAgICAgICAgICAgIFtbRklMRSAqeXlvXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3l5
b11dLAorLSAgICAgICAgICAgICAgIFtbaW50IHl5dHlwZV0sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgW3l5dHlwZV1dLAorLSAgICAgICAgICAgICAgIFtbWVlTVFlQRSBjb25zdCAqIGNvbnN0
IHl5dmFsdWVwXSwgICAgICAgW3l5dmFsdWVwXV1bXWRubAorLWI0X2xvY2F0aW9uc19pZihbLCBb
W1lZTFRZUEUgY29uc3QgKiBjb25zdCB5eWxvY2F0aW9ucF0sIFt5eWxvY2F0aW9ucF1dXSlbXWRu
bAorLW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssIGI0X3BhcnNlX3BhcmFtXSkpWworLXsK
Ky0gIEZJTEUgKnl5b3V0cHV0ID0geXlvOworLV1iNF9wYXJzZV9wYXJhbV91c2UoW3l5b3V0cHV0
XSwgW3l5bG9jYXRpb25wXSlkbmwKKy1bICBpZiAoIXl5dmFsdWVwKQorLSAgICByZXR1cm47XQor
LWRubCBnbHIuYyBkb2VzIG5vdCBmZWF0dXJlIHl5dG9rbnVtLgorLW00X2lmKGI0X3NrZWxldG9u
LCBbInlhY2MuYyJdLAorLVtbIyBpZmRlZiBZWVBSSU5UCistICBpZiAoeXl0eXBlIDwgWVlOVE9L
RU5TKQorLSAgICBZWVBSSU5UICh5eW8sIHl5dG9rbnVtW3l5dHlwZV0sICp5eXZhbHVlcCk7Cist
IyBlbmRpZgorLV1dKWRubAorLSAgYjRfc3ltYm9sX2FjdGlvbnMoW3ByaW50ZXJdKVsKKy19Cist
CistCistLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCistfCBQcmludCB0aGlzIHN5bWJv
bCBvbiBZWU8uICB8CistYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCistCistXWI0X2Z1
bmN0aW9uX2RlZmluZShbeXlfc3ltYm9sX3ByaW50XSwKKy0gICAgW3N0YXRpYyB2b2lkXSwKKy0g
ICAgICAgICAgICAgICBbW0ZJTEUgKnl5b10sICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt5
eW9dXSwKKy0gICAgICAgICAgICAgICBbW2ludCB5eXR5cGVdLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFt5eXR5cGVdXSwKKy0gICAgICAgICAgICAgICBbW1lZU1RZUEUgY29uc3QgKiBjb25z
dCB5eXZhbHVlcF0sICAgICAgIFt5eXZhbHVlcF1dW11kbmwKKy1iNF9sb2NhdGlvbnNfaWYoWywg
W1tZWUxUWVBFIGNvbnN0ICogY29uc3QgeXlsb2NhdGlvbnBdLCBbeXlsb2NhdGlvbnBdXV0pW11k
bmwKKy1tNF9pZnNldChbYjRfcGFyc2VfcGFyYW1dLCBbLCBiNF9wYXJzZV9wYXJhbV0pKVsKKy17
CistICBZWUZQUklOVEYgKHl5bywgIiVzICVzICgiLAorLSAgICAgICAgICAgICB5eXR5cGUgPCBZ
WU5UT0tFTlMgPyAidG9rZW4iIDogIm50ZXJtIiwgeXl0bmFtZVt5eXR5cGVdKTsKKy0KKy1dYjRf
bG9jYXRpb25zX2lmKFsgIFlZX0xPQ0FUSU9OX1BSSU5UICh5eW8sICp5eWxvY2F0aW9ucCk7Cist
ICBZWUZQUklOVEYgKHl5bywgIjogIik7CistXSlkbmwKKy1bICB5eV9zeW1ib2xfdmFsdWVfcHJp
bnQgKHl5bywgeXl0eXBlLCB5eXZhbHVlcF1kbmwKKy1iNF9sb2NhdGlvbnNfaWYoWywgeXlsb2Nh
dGlvbnBdKVtdYjRfdXNlcl9hcmdzWyk7CistICBZWUZQUklOVEYgKHl5bywgIikiKTsKKy19XWRu
bAorLV0pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIGFwaS52YWx1ZS50eXBl
LiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMKKy0jIGFwaS52YWx1ZS50eXBlPXVuaW9uLiAgIworLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAjCistCistIyBiNF9zeW1ib2xfdHlwZV9yZWdpc3RlcihTWU1CT0wtTlVNKQorLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFN5bWJvbCBTWU1CT0wtTlVN
IGhhcyBhIHR5cGUgKGZvciB2YXJpYW50KSBpbnN0ZWFkIG9mIGEgdHlwZS10YWcuCistIyBFeHRl
bmQgdGhlIGRlZmluaXRpb24gb2YgJXVuaW9uJ3MgYm9keSAoYjRfdW5pb25fbWVtYmVycykgd2l0
aCBhCistIyBmaWVsZCBvZiB0aGF0IHR5cGUsIGFuZCBleHRlbmQgdGhlIHN5bWJvbCdzICJ0eXBl
IiBmaWVsZCB0byBwb2ludCB0bworLSMgdGhlIGZpZWxkIG5hbWUsIGluc3RlYWQgb2YgdGhlIHR5
cGUgbmFtZS4KKy1tNF9kZWZpbmUoW2I0X3N5bWJvbF90eXBlX3JlZ2lzdGVyXSwKKy1bbTRfZGVm
aW5lKFtiNF9zeW1ib2woJDEsIHR5cGVfdGFnKV0sCistICAgICAgICAgICBbYjRfc3ltYm9sX2lm
KFskMV0sIFtoYXNfaWRdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbYjRfc3ltYm9sKFsk
MV0sIFtpZF0pXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgW3l5dHlwZV9bXWI0X3N5bWJv
bChbJDFdLCBbbnVtYmVyXSldKV0pZG5sCistbTRfYXBwZW5kKFtiNF91bmlvbl9tZW1iZXJzXSwK
Ky1tNF9leHBhbmQoWworLSAgYjRfc3ltYm9sX3RhZ19jb21tZW50KFskMV0pZG5sCistICBiNF9z
eW1ib2woWyQxXSwgW3R5cGVdKSBiNF9zeW1ib2woWyQxXSwgW3R5cGVfdGFnXSk7XSkpCistXSkK
Ky0KKy0KKy0jIGI0X3R5cGVfZGVmaW5lX3RhZyhTWU1CT0wxLU5VTSwgLi4uKQorLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBGb3IgdGhlIGJhdGNoIG9mIHN5bWJv
bHMgU1lNQk9MMS1OVU0uLi4gKHdoaWNoIGFsbCBoYXZlIHRoZSBzYW1lCistIyB0eXBlKSwgZW5o
YW5jZSB0aGUgJXVuaW9uIGRlZmluaXRpb24gZm9yIGVhY2ggb2YgdGhlbSwgYW5kIHNldAorLSMg
dGhlcmUgInR5cGUiIGZpZWxkIHRvIHRoZSBmaWVsZCB0YWcgbmFtZSwgaW5zdGVhZCBvZiB0aGUg
dHlwZSBuYW1lLgorLW00X2RlZmluZShbYjRfdHlwZV9kZWZpbmVfdGFnXSwKKy1bYjRfc3ltYm9s
X2lmKFskMV0sIFtoYXNfdHlwZV0sCistICAgICAgICAgICAgICBbbTRfbWFwKFtiNF9zeW1ib2xf
dHlwZV9yZWdpc3Rlcl0sIFskQF0pXSkKKy1dKQorLQorLQorLSMgYjRfc3ltYm9sX3ZhbHVlX3Vu
aW9uKFZBTCwgU1lNQk9MLU5VTSwgW1RZUEVdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgU2FtZSBvZiBiNF9zeW1ib2xfdmFsdWUsIGJ1dCB3
aGVuIGFwaS52YWx1ZS50eXBlPXVuaW9uLgorLW00X2RlZmluZShbYjRfc3ltYm9sX3ZhbHVlX3Vu
aW9uXSwKKy1bbTRfaWZ2YWwoWyQzXSwKKy0gICAgICAgICAgWygqKCQzKikoJiQxKSldLAorLSAg
ICAgICAgICBbbTRfaWZ2YWwoWyQyXSwKKy0gICAgICAgICAgICAgICAgICAgIFtiNF9zeW1ib2xf
aWYoWyQyXSwgW2hhc190eXBlXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
WygkMS5iNF9zeW1ib2woWyQyXSwgW3R5cGVfdGFnXSkpXSwKKy0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWyQxXSldLAorLSAgICAgICAgICAgICAgICAgICAgWyQxXSldKV0pCist
CistCistIyBiNF92YWx1ZV90eXBlX3NldHVwX3VuaW9uCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCistIyBTZXR1cCBzdXBwb3J0IGZvciBhcGkudmFsdWUudHlwZT11bmlvbi4gIFN5bWJv
bHMgYXJlIGRlZmluZWQgd2l0aCBhCistIyB0eXBlIGluc3RlYWQgb2YgYSB1bmlvbiBtZW1iZXIg
bmFtZTogYnVpbGQgdGhlIGNvcnJlc3BvbmRpbmcgdW5pb24sCistIyBhbmQgZ2l2ZSB0aGUgc3lt
Ym9scyB0aGVpciB0YWcuCistbTRfZGVmaW5lKFtiNF92YWx1ZV90eXBlX3NldHVwX3VuaW9uXSwK
Ky1bbTRfZGVmaW5lKFtiNF91bmlvbl9tZW1iZXJzXSkKKy1iNF90eXBlX2ZvcmVhY2goW2I0X3R5
cGVfZGVmaW5lX3RhZ10pCistbTRfY29weV9mb3JjZShbYjRfc3ltYm9sX3ZhbHVlX3VuaW9uXSwg
W2I0X3N5bWJvbF92YWx1ZV0pCistXSkKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICMKKy0jIGFwaS52YWx1ZS50eXBlID0gdmFyaWFudC4gICMKKy0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMKKy0KKy0jIGI0X3ZhbHVlX3R5cGVfc2V0dXBfdmFyaWFudAorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBTZXR1cCBzdXBwb3J0IGZvciBhcGkudmFsdWUu
dHlwZT12YXJpYW50LiAgQnkgZGVmYXVsdCwgZmFpbCwgc3BlY2lhbGl6ZWQKKy0jIGJ5IG90aGVy
IHNrZWxldG9ucy4KKy1tNF9kZWZpbmUoW2I0X3ZhbHVlX3R5cGVfc2V0dXBfdmFyaWFudF0sCist
W2I0X2NvbXBsYWluX2F0KGI0X3BlcmNlbnRfZGVmaW5lX2dldF9sb2MoW1thcGkudmFsdWUudHlw
ZV1dKSwKKy0gICAgICAgICAgICAgICAgW1snJXMnIGRvZXMgbm90IHN1cHBvcnQgJyVzJ11dLAor
LSAgICAgICAgICAgICAgICBbYjRfc2tlbGV0b25dLAorLSAgICAgICAgICAgICAgICBbJWRlZmlu
ZSBhcGkudmFsdWUudHlwZSB2YXJpYW50XSldKQorLQorLQorLSMgX2I0X3ZhbHVlX3R5cGVfc2V0
dXBfa2V5d29yZAorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgYXBpLnZhbHVl
LnR5cGUgaXMgZGVmaW5lZCB3aXRoIGEga2V5d29yZC9zdHJpbmcgc3ludGF4LiAgQ2hlY2sgaWYK
Ky0jIHRoYXQgaXMgcHJvcGVybHkgZGVmaW5lZCwgYW5kIHByZXBhcmUgaXRzIHVzZS4KKy1tNF9k
ZWZpbmUoW19iNF92YWx1ZV90eXBlX3NldHVwX2tleXdvcmRdLAorLVtiNF9wZXJjZW50X2RlZmlu
ZV9jaGVja192YWx1ZXMoW1tbW2FwaS52YWx1ZS50eXBlXV0sCistICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFtbbm9uZV1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbW3VuaW9uXV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbdW5p
b24tZGlyZWN0aXZlXV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbdmFy
aWFudF1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW3l5c3R5cGVdXV1d
KWRubAorLW00X2Nhc2UoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbYXBpLnZhbHVlLnR5cGVdXSks
CistICAgICAgICBbdW5pb25dLCAgIFtiNF92YWx1ZV90eXBlX3NldHVwX3VuaW9uXSwKKy0gICAg
ICAgIFt2YXJpYW50XSwgW2I0X3ZhbHVlX3R5cGVfc2V0dXBfdmFyaWFudF0pXSkKKy0KKy0KKy0j
IGI0X3ZhbHVlX3R5cGVfc2V0dXAKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENoZWNrIGlm
IGFwaS52YWx1ZS50eXBlIGlzIHByb3Blcmx5IGRlZmluZWQsIGFuZCBwb3NzaWJseSBwcmVwYXJl
CistIyBpdHMgdXNlLgorLWI0X2RlZmluZV9zaWxlbnQoW2I0X3ZhbHVlX3R5cGVfc2V0dXBdLAor
LVsjIERlZmluZSBkZWZhdWx0IHZhbHVlLgorLWI0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFtbYXBp
LnZhbHVlLnR5cGVdXSwgW10sCistWyMgJXVuaW9uID0+IGFwaS52YWx1ZS50eXBlPXVuaW9uLWRp
cmVjdGl2ZQorLW00X2lmZGVmKFtiNF91bmlvbl9tZW1iZXJzXSwKKy1bbTRfZGVmaW5lKFtiNF9w
ZXJjZW50X2RlZmluZV9raW5kKGFwaS52YWx1ZS50eXBlKV0sIFtrZXl3b3JkXSkKKy1tNF9kZWZp
bmUoW2I0X3BlcmNlbnRfZGVmaW5lKGFwaS52YWx1ZS50eXBlKV0sIFt1bmlvbi1kaXJlY3RpdmVd
KV0sCistWyMgbm8gdGFnIHNlZW4gPT4gYXBpLnZhbHVlLnR5cGU9e2ludH0KKy1tNF9pZihiNF90
YWdfc2Vlbl9mbGFnLCAwLAorLVttNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2tpbmQoYXBp
LnZhbHVlLnR5cGUpXSwgW2NvZGVdKQorLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmUoYXBp
LnZhbHVlLnR5cGUpXSwgW2ludF0pXSwKKy1bIyBvdGhlcndpc2UgYXBpLnZhbHVlLnR5cGU9eXlz
dHlwZQorLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfa2luZChhcGkudmFsdWUudHlwZSld
LCBba2V5d29yZF0pCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZShhcGkudmFsdWUudHlw
ZSldLCBbeXlzdHlwZV0pXSldKV0pCistCistIyBTZXQgdXAuCistbTRfYm1hdGNoKGI0X3BlcmNl
bnRfZGVmaW5lX2dldF9raW5kKFtbYXBpLnZhbHVlLnR5cGVdXSksCistICAgW2tleXdvcmRcfHN0
cmluZ10sIFtfYjRfdmFsdWVfdHlwZV9zZXR1cF9rZXl3b3JkXSkKKy1dKQorLQorLQorLSMjIC0t
LS0tLS0tLS0tLS0tICMjCistIyMgRGVjbGFyYXRpb25zLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0t
LSAjIworLQorLQorLSMgYjRfdmFsdWVfdHlwZV9kZWZpbmUKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tCistbTRfZGVmaW5lKFtiNF92YWx1ZV90eXBlX2RlZmluZV0sCistW2I0X3ZhbHVlX3R5cGVf
c2V0dXBbXWRubAorLS8qIFZhbHVlIHR5cGUuICAqLworLW00X2JtYXRjaChiNF9wZXJjZW50X2Rl
ZmluZV9nZXRfa2luZChbW2FwaS52YWx1ZS50eXBlXV0pLAorLVtjb2RlXSwKKy1bWyNpZiAhIGRl
ZmluZWQgXWI0X2FwaV9QUkVGSVhbU1RZUEUgJiYgISBkZWZpbmVkIF1iNF9hcGlfUFJFRklYW1NU
WVBFX0lTX0RFQ0xBUkVECistdHlwZWRlZiBdYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbYXBpLnZh
bHVlLnR5cGVdXSlbIF1iNF9hcGlfUFJFRklYW1NUWVBFOworLSMgZGVmaW5lIF1iNF9hcGlfUFJF
RklYW1NUWVBFX0lTX1RSSVZJQUwgMQorLSMgZGVmaW5lIF1iNF9hcGlfUFJFRklYW1NUWVBFX0lT
X0RFQ0xBUkVEIDEKKy0jZW5kaWYKKy1dXSwKKy1bbTRfYm1hdGNoKGI0X3BlcmNlbnRfZGVmaW5l
X2dldChbW2FwaS52YWx1ZS50eXBlXV0pLAorLVt1bmlvblx8dW5pb24tZGlyZWN0aXZlXSwKKy1b
WyNpZiAhIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbU1RZUEUgJiYgISBkZWZpbmVkIF1iNF9hcGlf
UFJFRklYW1NUWVBFX0lTX0RFQ0xBUkVECistXWI0X3BlcmNlbnRfZGVmaW5lX2dldF9zeW5jbGlu
ZShbW2FwaS52YWx1ZS51bmlvbi5uYW1lXV0pWworLXVuaW9uIF1iNF9wZXJjZW50X2RlZmluZV9n
ZXQoW1thcGkudmFsdWUudW5pb24ubmFtZV1dKVsKKy17CistXWI0X3VzZXJfdW5pb25fbWVtYmVy
c1sKKy19OworLV1iNF9wZXJjZW50X2RlZmluZV9nZXRfc3luY2xpbmUoW1thcGkudmFsdWUudW5p
b24ubmFtZV1dKVsKKy10eXBlZGVmIHVuaW9uIF1iNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGku
dmFsdWUudW5pb24ubmFtZV1dKVsgXWI0X2FwaV9QUkVGSVhbU1RZUEU7CistIyBkZWZpbmUgXWI0
X2FwaV9QUkVGSVhbU1RZUEVfSVNfVFJJVklBTCAxCistIyBkZWZpbmUgXWI0X2FwaV9QUkVGSVhb
U1RZUEVfSVNfREVDTEFSRUQgMQorLSNlbmRpZgorLV1dKV0pXSkKKy0KKy0KKy0jIGI0X2xvY2F0
aW9uX3R5cGVfZGVmaW5lCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLW00X2RlZmluZShb
YjRfbG9jYXRpb25fdHlwZV9kZWZpbmVdLAorLVtbLyogTG9jYXRpb24gdHlwZS4gICovCistI2lm
ICEgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtMVFlQRSAmJiAhIGRlZmluZWQgXWI0X2FwaV9QUkVG
SVhbTFRZUEVfSVNfREVDTEFSRUQKKy10eXBlZGVmIHN0cnVjdCBdYjRfYXBpX1BSRUZJWFtMVFlQ
RSBdYjRfYXBpX1BSRUZJWFtMVFlQRTsKKy1zdHJ1Y3QgXWI0X2FwaV9QUkVGSVhbTFRZUEUKKy17
CistICBpbnQgZmlyc3RfbGluZTsKKy0gIGludCBmaXJzdF9jb2x1bW47CistICBpbnQgbGFzdF9s
aW5lOworLSAgaW50IGxhc3RfY29sdW1uOworLX07CistIyBkZWZpbmUgXWI0X2FwaV9QUkVGSVhb
TFRZUEVfSVNfREVDTEFSRUQgMQorLSMgZGVmaW5lIF1iNF9hcGlfUFJFRklYW0xUWVBFX0lTX1RS
SVZJQUwgMQorLSNlbmRpZgorLV1dKQorLQorLQorLSMgYjRfZGVjbGFyZV95eWxzdHlwZQorLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVjbGFyYXRpb25zIHRoYXQgbWlnaHQgZWl0aGVyIGdv
IGludG8gdGhlIGhlYWRlciAoaWYgLS1kZWZpbmVzKSBvcgorLSMgaW4gdGhlIHBhcnNlciBib2R5
LiAgRGVjbGFyZSBZWVNUWVBFL1lZTFRZUEUsIGFuZCB5eWx2YWwveXlsbG9jLgorLW00X2RlZmlu
ZShbYjRfZGVjbGFyZV95eWxzdHlwZV0sCistW2I0X3ZhbHVlX3R5cGVfZGVmaW5lW11iNF9sb2Nh
dGlvbnNfaWYoWworLWI0X2xvY2F0aW9uX3R5cGVfZGVmaW5lXSkKKy0KKy1iNF9wdXJlX2lmKFtd
LCBbW2V4dGVybiBdYjRfYXBpX1BSRUZJWFtTVFlQRSBdYjRfcHJlZml4W2x2YWw7CistXWI0X2xv
Y2F0aW9uc19pZihbW2V4dGVybiBdYjRfYXBpX1BSRUZJWFtMVFlQRSBdYjRfcHJlZml4W2xsb2M7
XV0pXSlbXWRubAorLV0pCistCistCistIyBiNF9ZWURFQlVHX2RlZmluZQorLSMgLS0tLS0tLS0t
LS0tLS0tLS0KKy1tNF9kZWZpbmUoW2I0X1lZREVCVUdfZGVmaW5lXSwKKy1bWy8qIERlYnVnIHRy
YWNlcy4gICovCistXW00X2lmKGI0X2FwaV9wcmVmaXgsIFt5eV0sCistW1sjaWZuZGVmIFlZREVC
VUcKKy0jIGRlZmluZSBZWURFQlVHIF1iNF9wYXJzZV90cmFjZV9pZihbMV0sIFswXSlbCistI2Vu
ZGlmXV0sCistW1sjaWZuZGVmIF1iNF9hcGlfUFJFRklYW0RFQlVHCistIyBpZiBkZWZpbmVkIFlZ
REVCVUcKKy0jaWYgWVlERUJVRworLSMgICBkZWZpbmUgXWI0X2FwaV9QUkVGSVhbREVCVUcgMQor
LSMgIGVsc2UKKy0jICAgZGVmaW5lIF1iNF9hcGlfUFJFRklYW0RFQlVHIDAKKy0jICBlbmRpZgor
LSMgZWxzZSAvKiAhIGRlZmluZWQgWVlERUJVRyAqLworLSMgIGRlZmluZSBdYjRfYXBpX1BSRUZJ
WFtERUJVRyBdYjRfcGFyc2VfdHJhY2VfaWYoWzFdLCBbMF0pWworLSMgZW5kaWYgLyogISBkZWZp
bmVkIFlZREVCVUcgKi8KKy0jZW5kaWYgIC8qICEgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtERUJV
RyAqL11dKVtdZG5sCistXSkKKy0KKy0jIGI0X2RlY2xhcmVfeXlkZWJ1ZworLSMgLS0tLS0tLS0t
LS0tLS0tLS0tCistbTRfZGVmaW5lKFtiNF9kZWNsYXJlX3l5ZGVidWddLAorLVtiNF9ZWURFQlVH
X2RlZmluZVsKKy0jaWYgXWI0X2FwaV9QUkVGSVhbREVCVUcKKy1leHRlcm4gaW50IF1iNF9wcmVm
aXhbZGVidWc7CistI2VuZGlmXVtdZG5sCistXSkKKy0KKy0jIGI0X3l5bGxvY19kZWZhdWx0X2Rl
ZmluZQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWZpbmUgWVlMTE9DX0RFRkFV
TFQuCistbTRfZGVmaW5lKFtiNF95eWxsb2NfZGVmYXVsdF9kZWZpbmVdLAorLVtbLyogWVlMTE9D
X0RFRkFVTFQgLS0gU2V0IENVUlJFTlQgdG8gc3BhbiBmcm9tIFJIU1sxXSB0byBSSFNbTl0uCist
ICAgSWYgTiBpcyAwLCB0aGVuIHNldCBDVVJSRU5UIHRvIHRoZSBlbXB0eSBsb2NhdGlvbiB3aGlj
aCBlbmRzCistICAgdGhlIHByZXZpb3VzIHN5bWJvbDogUkhTWzBdIChhbHdheXMgZGVmaW5lZCku
ICAqLworLQorLSNpZm5kZWYgWVlMTE9DX0RFRkFVTFQKKy0jIGRlZmluZSBZWUxMT0NfREVGQVVM
VChDdXJyZW50LCBSaHMsIE4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg
IGRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorLSAgICAgIGlmIChOKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg
ICAgICAgIChDdXJyZW50KS5maXJzdF9saW5lICAgPSBZWVJIU0xPQyAoUmhzLCAxKS5maXJzdF9s
aW5lOyAgICAgICAgXAorLSAgICAgICAgICAoQ3VycmVudCkuZmlyc3RfY29sdW1uID0gWVlSSFNM
T0MgKFJocywgMSkuZmlyc3RfY29sdW1uOyAgICAgIFwKKy0gICAgICAgICAgKEN1cnJlbnQpLmxh
c3RfbGluZSAgICA9IFlZUkhTTE9DIChSaHMsIE4pLmxhc3RfbGluZTsgICAgICAgICBcCistICAg
ICAgICAgIChDdXJyZW50KS5sYXN0X2NvbHVtbiAgPSBZWVJIU0xPQyAoUmhzLCBOKS5sYXN0X2Nv
bHVtbjsgICAgICAgXAorLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICBlbHNlICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg
ICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorLSAgICAgICAgICAoQ3VycmVudCkuZmlyc3RfbGluZSAgID0gKEN1cnJl
bnQpLmxhc3RfbGluZSAgID0gICAgICAgICAgICAgIFwKKy0gICAgICAgICAgICBZWVJIU0xPQyAo
UmhzLCAwKS5sYXN0X2xpbmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg
ICAgICAgIChDdXJyZW50KS5maXJzdF9jb2x1bW4gPSAoQ3VycmVudCkubGFzdF9jb2x1bW4gPSAg
ICAgICAgICAgICAgXAorLSAgICAgICAgICAgIFlZUkhTTE9DIChSaHMsIDApLmxhc3RfY29sdW1u
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg
IHdoaWxlICgwKQorLSNlbmRpZgorLV1dKQorLQorLSMgYjRfeXlfbG9jYXRpb25fcHJpbnRfZGVm
aW5lCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlZmluZSBZWV9MT0NBVElP
Tl9QUklOVC4KKy1tNF9kZWZpbmUoW2I0X3l5X2xvY2F0aW9uX3ByaW50X2RlZmluZV0sCistW2I0
X2xvY2F0aW9uc19pZihbWworLS8qIFlZX0xPQ0FUSU9OX1BSSU5UIC0tIFByaW50IHRoZSBsb2Nh
dGlvbiBvbiB0aGUgc3RyZWFtLgorLSAgIFRoaXMgbWFjcm8gd2FzIG5vdCBtYW5kYXRlZCBvcmln
aW5hbGx5OiBkZWZpbmUgb25seSBpZiB3ZSBrbm93CistICAgd2Ugd29uJ3QgYnJlYWsgdXNlciBj
b2RlOiB3aGVuIHRoZXNlIGFyZSB0aGUgbG9jYXRpb25zIHdlIGtub3cuICAqLworLQorLSNpZm5k
ZWYgWVlfTE9DQVRJT05fUFJJTlQKKy0jIGlmIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbTFRZUEVf
SVNfVFJJVklBTCAmJiBdYjRfYXBpX1BSRUZJWFtMVFlQRV9JU19UUklWSUFMCistCistLyogUHJp
bnQgKllZTE9DUCBvbiBZWU8uICBQcml2YXRlLCBkbyBub3QgcmVseSBvbiBpdHMgZXhpc3RlbmNl
LiAqLworLQorLVlZX0FUVFJJQlVURV9VTlVTRUQKKy1dYjRfZnVuY3Rpb25fZGVmaW5lKFt5eV9s
b2NhdGlvbl9wcmludF9dLAorLSAgICBbc3RhdGljIGludF0sCistICAgICAgICAgICAgICAgW1tG
SUxFICp5eW9dLCAgICAgICAgICAgICAgICAgICAgW3l5b11dLAorLSAgICAgICAgICAgICAgIFtb
WVlMVFlQRSBjb25zdCAqIGNvbnN0IHl5bG9jcF0sIFt5eWxvY3BdXSlbCisteworLSAgaW50IHJl
cyA9IDA7CistICBpbnQgZW5kX2NvbCA9IDAgIT0geXlsb2NwLT5sYXN0X2NvbHVtbiA/IHl5bG9j
cC0+bGFzdF9jb2x1bW4gLSAxIDogMDsKKy0gIGlmICgwIDw9IHl5bG9jcC0+Zmlyc3RfbGluZSkK
Ky0gICAgeworLSAgICAgIHJlcyArPSBZWUZQUklOVEYgKHl5bywgIiVkIiwgeXlsb2NwLT5maXJz
dF9saW5lKTsKKy0gICAgICBpZiAoMCA8PSB5eWxvY3AtPmZpcnN0X2NvbHVtbikKKy0gICAgICAg
IHJlcyArPSBZWUZQUklOVEYgKHl5bywgIi4lZCIsIHl5bG9jcC0+Zmlyc3RfY29sdW1uKTsKKy0g
ICAgfQorLSAgaWYgKDAgPD0geXlsb2NwLT5sYXN0X2xpbmUpCistICAgIHsKKy0gICAgICBpZiAo
eXlsb2NwLT5maXJzdF9saW5lIDwgeXlsb2NwLT5sYXN0X2xpbmUpCistICAgICAgICB7CistICAg
ICAgICAgIHJlcyArPSBZWUZQUklOVEYgKHl5bywgIi0lZCIsIHl5bG9jcC0+bGFzdF9saW5lKTsK
Ky0gICAgICAgICAgaWYgKDAgPD0gZW5kX2NvbCkKKy0gICAgICAgICAgICByZXMgKz0gWVlGUFJJ
TlRGICh5eW8sICIuJWQiLCBlbmRfY29sKTsKKy0gICAgICAgIH0KKy0gICAgICBlbHNlIGlmICgw
IDw9IGVuZF9jb2wgJiYgeXlsb2NwLT5maXJzdF9jb2x1bW4gPCBlbmRfY29sKQorLSAgICAgICAg
cmVzICs9IFlZRlBSSU5URiAoeXlvLCAiLSVkIiwgZW5kX2NvbCk7CistICAgIH0KKy0gIHJldHVy
biByZXM7CistIH0KKy0KKy0jICBkZWZpbmUgWVlfTE9DQVRJT05fUFJJTlQoRmlsZSwgTG9jKSAg
ICAgICAgICBcCistICB5eV9sb2NhdGlvbl9wcmludF8gKEZpbGUsICYoTG9jKSkKKy0KKy0jIGVs
c2UKKy0jICBkZWZpbmUgWVlfTE9DQVRJT05fUFJJTlQoRmlsZSwgTG9jKSAoKHZvaWQpIDApCist
IyBlbmRpZgorLSNlbmRpZl1dLAorLVtbLyogVGhpcyBtYWNybyBpcyBwcm92aWRlZCBmb3IgYmFj
a3dhcmQgY29tcGF0aWJpbGl0eS4gKi8KKy0jaWZuZGVmIFlZX0xPQ0FUSU9OX1BSSU5UCistIyBk
ZWZpbmUgWVlfTE9DQVRJT05fUFJJTlQoRmlsZSwgTG9jKSAoKHZvaWQpIDApCistI2VuZGlmXV0p
CistXSkKKy0KKy0jIGI0X3l5bG9jX2RlZmF1bHQKKy0jIC0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4
cGFuZCB0byBhIHBvc3NpYmxlIGRlZmF1bHQgdmFsdWUgZm9yIHl5bGxvYy4KKy1tNF9kZWZpbmUo
W2I0X3l5bG9jX2RlZmF1bHRdLAorLVtbCistIyBpZiBkZWZpbmVkIF1iNF9hcGlfUFJFRklYW0xU
WVBFX0lTX1RSSVZJQUwgJiYgXWI0X2FwaV9QUkVGSVhbTFRZUEVfSVNfVFJJVklBTAorLSAgPSB7
IF1tNF9qb2luKFssIF0sCistICAgICAgICAgICAgICAgbTRfZGVmbihbYjRfbG9jYXRpb25faW5p
dGlhbF9saW5lXSksCistICAgICAgICAgICAgICAgbTRfZGVmbihbYjRfbG9jYXRpb25faW5pdGlh
bF9jb2x1bW5dKSwKKy0gICAgICAgICAgICAgICBtNF9kZWZuKFtiNF9sb2NhdGlvbl9pbml0aWFs
X2xpbmVdKSwKKy0gICAgICAgICAgICAgICBtNF9kZWZuKFtiNF9sb2NhdGlvbl9pbml0aWFsX2Nv
bHVtbl0pKVsgfQorLSMgZW5kaWYKKy1dXSkKK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy95YWNjLmMgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxl
dG9ucy95YWNjLmMKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNTRlNDBlNjc0MTIu
LjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJp
c29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy95YWNjLmMKKysrKyAvZGV2L251bGwKK0BAIC0xLDE5
MjcgKzAsMCBAQAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtKi0gQyAtKi0KKy0jIFlhY2MgY29tcGF0aWJsZSBza2VsZXRvbiBm
b3IgQmlzb24KKy0KKy0jIENvcHlyaWdodCAoQykgMTk4NCwgMTk4OS0xOTkwLCAyMDAwLTIwMTUs
IDIwMTgtMjAxOSBGcmVlIFNvZnR3YXJlCistIyBGb3VuZGF0aW9uLCBJbmMuCistCistbTRfcHVz
aGRlZihbYjRfY29weXJpZ2h0X3llYXJzXSwKKy0gICAgICAgICAgIFsxOTg0LCAxOTg5LTE5OTAs
IDIwMDAtMjAxNSwgMjAxOC0yMDE5XSkKKy0KKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3
YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eQorLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0
aGUgTGljZW5zZSwgb3IKKy0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCist
IworLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCistIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSMgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYWxvbmcgd2l0aCB0
aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u
CistCistIyBDaGVjayB0aGUgdmFsdWUgb2YgJWRlZmluZSBhcGkucHVzaC1wdWxsLgorLWI0X3Bl
cmNlbnRfZGVmaW5lX2RlZmF1bHQoW1thcGkucHVzaC1wdWxsXV0sIFtbcHVsbF1dKQorLWI0X3Bl
cmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlcyhbW1tbYXBpLnB1c2gtcHVsbF1dLAorLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFtbcHVsbF1dLCBbW3B1c2hdXSwgW1tib3RoXV1dXSkK
Ky1iNF9kZWZpbmVfZmxhZ19pZihbcHVsbF0pIG00X2RlZmluZShbYjRfcHVsbF9mbGFnXSwgW1sx
XV0pCistYjRfZGVmaW5lX2ZsYWdfaWYoW3B1c2hdKSBtNF9kZWZpbmUoW2I0X3B1c2hfZmxhZ10s
IFtbMV1dKQorLW00X2Nhc2UoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbYXBpLnB1c2gtcHVsbF1d
KSwKKy0gICAgICAgIFtwdWxsXSwgW200X2RlZmluZShbYjRfcHVzaF9mbGFnXSwgW1swXV0pXSwK
Ky0gICAgICAgIFtwdXNoXSwgW200X2RlZmluZShbYjRfcHVsbF9mbGFnXSwgW1swXV0pXSkKKy0K
Ky0jIEhhbmRsZSBCSVNPTl9VU0VfUFVTSF9GT1JfUFVMTCBmb3IgdGhlIHRlc3Qgc3VpdGUuICBT
byB0aGF0IHB1c2ggcGFyc2luZworLSMgdGVzdHMgZnVuY3Rpb24gYXMgd3JpdHRlbiwgZG8gbm90
IGxldCBCSVNPTl9VU0VfUFVTSF9GT1JfUFVMTCBtb2RpZnkgdGhlCistIyBiZWhhdmlvciBvZiBC
aXNvbiBhdCBhbGwgd2hlbiBwdXNoIHBhcnNpbmcgaXMgYWxyZWFkeSByZXF1ZXN0ZWQuCistYjRf
ZGVmaW5lX2ZsYWdfaWYoW3VzZV9wdXNoX2Zvcl9wdWxsXSkKKy1iNF91c2VfcHVzaF9mb3JfcHVs
bF9pZihbCistICBiNF9wdXNoX2lmKFttNF9kZWZpbmUoW2I0X3VzZV9wdXNoX2Zvcl9wdWxsX2Zs
YWddLCBbWzBdXSldLAorLSAgICAgICAgICAgICBbbTRfZGVmaW5lKFtiNF9wdXNoX2ZsYWddLCBb
WzFdXSldKV0pCistCistIyBDaGVjayB0aGUgdmFsdWUgb2YgJWRlZmluZSBwYXJzZS5sYWMgYW5k
IGZyaWVuZHMsIHdoZXJlIExBQyBzdGFuZHMgZm9yCistIyBsb29rYWhlYWQgY29ycmVjdGlvbi4K
Ky1iNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbcGFyc2UubGFjXV0sIFtbbm9uZV1dKQorLWI0
X3BlcmNlbnRfZGVmaW5lX2RlZmF1bHQoW1twYXJzZS5sYWMuZXMtY2FwYWNpdHktaW5pdGlhbF1d
LCBbWzIwXV0pCistYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdChbW3BhcnNlLmxhYy5tZW1vcnkt
dHJhY2VdXSwgW1tmYWlsdXJlc11dKQorLWI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlcyhb
W1tbcGFyc2UubGFjXV0sIFtbZnVsbF1dLCBbW25vbmVdXV1dLAorLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbW1tbcGFyc2UubGFjLm1lbW9yeS10cmFjZV1dLAorLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFtbZmFpbHVyZXNdXSwgW1tmdWxsXV1dXSkKKy1iNF9kZWZp
bmVfZmxhZ19pZihbbGFjXSkKKy1tNF9kZWZpbmUoW2I0X2xhY19mbGFnXSwKKy0gICAgICAgICAg
W200X2lmKGI0X3BlcmNlbnRfZGVmaW5lX2dldChbW3BhcnNlLmxhY11dKSwKKy0gICAgICAgICAg
ICAgICAgIFtub25lXSwgW1swXV0sIFtbMV1dKV0pCistCistbTRfaW5jbHVkZShiNF9za2VsZXRv
bnNkaXIvW2MubTRdKQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBEZWZhdWx0IHZh
bHVlcy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgU3RhY2sgcGFyYW1ldGVy
cy4KKy1tNF9kZWZpbmVfZGVmYXVsdChbYjRfc3RhY2tfZGVwdGhfbWF4XSwgWzEwMDAwXSkKKy1t
NF9kZWZpbmVfZGVmYXVsdChbYjRfc3RhY2tfZGVwdGhfaW5pdF0sICBbMjAwXSkKKy0KKy0KKy0j
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBQdXJlL2ltcHVyZSBpbnRlcmZhY2Vz
LiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy1iNF9wZXJjZW50X2Rl
ZmluZV9kZWZhdWx0KFtbYXBpLnB1cmVdXSwgW1tmYWxzZV1dKQorLWI0X3BlcmNlbnRfZGVmaW5l
X2NoZWNrX3ZhbHVlcyhbW1tbYXBpLnB1cmVdXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbW2ZhbHNlXV0sIFtbdHJ1ZV1dLCBbW11dLCBbW2Z1bGxdXV1dKQorLQorLW00X2Rl
ZmluZShbYjRfcHVyZV9mbGFnXSwgW1swXV0pCistbTRfY2FzZShiNF9wZXJjZW50X2RlZmluZV9n
ZXQoW1thcGkucHVyZV1dKSwKKy0gICAgICAgIFtmYWxzZV0sIFttNF9kZWZpbmUoW2I0X3B1cmVf
ZmxhZ10sIFtbMF1dKV0sCistICAgICAgICBbdHJ1ZV0sICBbbTRfZGVmaW5lKFtiNF9wdXJlX2Zs
YWddLCBbWzFdXSldLAorLSAgICAgICAgW10sICAgICAgW200X2RlZmluZShbYjRfcHVyZV9mbGFn
XSwgW1sxXV0pXSwKKy0gICAgICAgIFtmdWxsXSwgIFttNF9kZWZpbmUoW2I0X3B1cmVfZmxhZ10s
IFtbMl1dKV0pCistCistbTRfZGVmaW5lKFtiNF9wdXJlX2lmXSwKKy1bbTRfY2FzZShiNF9wdXJl
X2ZsYWcsCistICAgICAgICAgWzBdLCBbJDJdLAorLSAgICAgICAgIFsxXSwgWyQxXSwKKy0gICAg
ICAgICBbMl0sIFskMV0pXSkKKy0gICAgICAgICBbbTRfZmF0YWwoW2ludmFsaWQgYXBpLnB1cmUg
dmFsdWU6IF0kMSldKV0pCistCistIyBiNF95eWVycm9yX2FyZ19sb2NfaWYoQVJHKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZCBBUkcgaWZmIHl5ZXJyb3IgaXMgdG8g
YmUgZ2l2ZW4gYSBsb2NhdGlvbiBhcyBhcmd1bWVudC4KKy1tNF9kZWZpbmUoW2I0X3l5ZXJyb3Jf
YXJnX2xvY19pZl0sCistW2I0X2xvY2F0aW9uc19pZihbbTRfY2FzZShiNF9wdXJlX2ZsYWcsCist
ICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0sIFttNF9pZnNldChbYjRfcGFyc2VfcGFyYW1d
LCBbJDFdKV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0sIFskMV0pXSldKQorLQor
LSMgYjRfeXllcnJvcl9hcmdzCistIyAtLS0tLS0tLS0tLS0tLS0KKy0jIEFyZ3VtZW50cyBwYXNz
ZWQgdG8geXllcnJvcjogdXNlciBhcmdzIHBsdXMgeXlsbG9jLgorLW00X2RlZmluZShbYjRfeXll
cnJvcl9hcmdzXSwKKy1bYjRfeXllcnJvcl9hcmdfbG9jX2lmKFsmeXlsbG9jLCBdKWRubAorLW00
X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFtiNF9hcmdzKGI0X3BhcnNlX3BhcmFtKSwgXSldKQor
LQorLQorLQorLSMjIC0tLS0tLS0tLS0tLSAjIworLSMjIERhdGEgVHlwZXMuICAjIworLSMjIC0t
LS0tLS0tLS0tLSAjIworLQorLSMgYjRfaW50X3R5cGUoTUlOLCBNQVgpCistIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKy0jIFJldHVybiB0aGUgc21hbGxlc3QgaW50IHR5cGUgYWJsZSB0byBoYW5k
bGUgbnVtYmVycyByYW5naW5nIGZyb20KKy0jIE1JTiB0byBNQVggKGluY2x1ZGVkKS4gIE92ZXJ3
cml0ZSB0aGUgdmVyc2lvbiBmcm9tIGMubTQsIHdoaWNoCistIyB1c2VzIG9ubHkgQzg5IHR5cGVz
LCBzbyB0aGF0IHRoZSB1c2VyIGNhbiBvdmVycmlkZSB0aGUgc2hvcnRlcgorLSMgdHlwZXMsIGFu
ZCBzbyB0aGF0IHByZS1DODkgY29tcGlsZXJzIGFyZSBoYW5kbGVkIGNvcnJlY3RseS4KKy1tNF9k
ZWZpbmUoW2I0X2ludF90eXBlXSwKKy1bbTRfaWYoYjRfaW50c19pbigkQCwgICAgICBbMF0sICAg
WzI1NV0pLCBbMV0sIFt5eXR5cGVfdWludDhdLAorLSAgICAgICBiNF9pbnRzX2luKCRALCAgIFst
MTI4XSwgICBbMTI3XSksIFsxXSwgW3l5dHlwZV9pbnQ4XSwKKy0KKy0gICAgICAgYjRfaW50c19p
bigkQCwgICAgICBbMF0sIFs2NTUzNV0pLCBbMV0sIFt5eXR5cGVfdWludDE2XSwKKy0gICAgICAg
YjRfaW50c19pbigkQCwgWy0zMjc2OF0sIFszMjc2N10pLCBbMV0sIFt5eXR5cGVfaW50MTZdLAor
LQorLSAgICAgICBtNF9ldmFsKFswIDw9ICQxXSksICAgICAgICAgICAgICAgIFsxXSwgW3Vuc2ln
bmVkXSwKKy0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtpbnRdKV0pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBTZW1hbnRpYyBW
YWx1ZXMuICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyBiNF9saHNfdmFs
dWUoU1lNQk9MLU5VTSwgW1RZUEVdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIFNlZSBSRUFETUUuCistbTRfZGVmaW5lKFtiNF9saHNfdmFsdWVdLAorLVtiNF9zeW1i
b2xfdmFsdWUoeXl2YWwsIFskMV0sIFskMl0pXSkKKy0KKy0KKy0jIGI0X3Joc192YWx1ZShSVUxF
LUxFTkdUSCwgUE9TLCBbU1lNQk9MLU5VTV0sIFtUWVBFXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNlZSBSRUFETUUuCistbTRf
ZGVmaW5lKFtiNF9yaHNfdmFsdWVdLAorLVtiNF9zeW1ib2xfdmFsdWUoW3l5dnNwQHtiNF9zdWJ0
cmFjdChbJDJdLCBbJDFdKUB9XSwgWyQzXSwgWyQ0XSldKQorLQorLQorLSMjIC0tLS0tLS0tLS0t
ICMjCistIyMgTG9jYXRpb25zLiAgIyMKKy0jIyAtLS0tLS0tLS0tLSAjIworLQorLSMgYjRfbGhz
X2xvY2F0aW9uKCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tCistIyBFeHBhbnNpb24gb2YgQCQuCist
bTRfZGVmaW5lKFtiNF9saHNfbG9jYXRpb25dLAorLVsoeXlsb2MpXSkKKy0KKy0KKy0jIGI0X3Jo
c19sb2NhdGlvbihSVUxFLUxFTkdUSCwgUE9TKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBFeHBhbnNpb24gb2YgQFBPUywgd2hlcmUgdGhlIGN1cnJlbnQgcnVsZSBo
YXMgUlVMRS1MRU5HVEggc3ltYm9scworLSMgb24gUkhTLgorLW00X2RlZmluZShbYjRfcmhzX2xv
Y2F0aW9uXSwKKy1bKHl5bHNwQHtiNF9zdWJ0cmFjdChbJDJdLCBbJDFdKUB9KV0pCistCistCist
IyMgLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBEZWNsYXJhdGlvbnMuICAjIworLSMjIC0tLS0tLS0t
LS0tLS0tICMjCistCistIyBiNF9kZWNsYXJlX3NjYW5uZXJfY29tbXVuaWNhdGlvbl92YXJpYWJs
ZXMKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVj
bGFyZSB0aGUgdmFyaWFibGVzIHRoYXQgYXJlIGdsb2JhbCwgb3IgbG9jYWwgdG8gWVlQQVJTRSBp
ZgorLSMgcHVyZS1wYXJzZXIuCistbTRfZGVmaW5lKFtiNF9kZWNsYXJlX3NjYW5uZXJfY29tbXVu
aWNhdGlvbl92YXJpYWJsZXNdLCBbWworLS8qIFRoZSBsb29rYWhlYWQgc3ltYm9sLiAgKi8KKy1p
bnQgeXljaGFyOworLQorLV1iNF9wdXJlX2lmKFtbCistLyogVGhlIHNlbWFudGljIHZhbHVlIG9m
IHRoZSBsb29rYWhlYWQgc3ltYm9sLiAgKi8KKy0vKiBEZWZhdWx0IHZhbHVlIHVzZWQgZm9yIGlu
aXRpYWxpemF0aW9uLCBmb3IgcGFjaWZ5aW5nIG9sZGVyIEdDQ3MKKy0gICBvciBub24tR0NDIGNv
bXBpbGVycy4gICovCistWVlfSU5JVElBTF9WQUxVRSAoc3RhdGljIFlZU1RZUEUgeXl2YWxfZGVm
YXVsdDspCistWVlTVFlQRSB5eWx2YWwgWVlfSU5JVElBTF9WQUxVRSAoPSB5eXZhbF9kZWZhdWx0
KTtdYjRfbG9jYXRpb25zX2lmKFtbCistCistLyogTG9jYXRpb24gZGF0YSBmb3IgdGhlIGxvb2th
aGVhZCBzeW1ib2wuICAqLworLXN0YXRpYyBZWUxUWVBFIHl5bG9jX2RlZmF1bHRdYjRfeXlsb2Nf
ZGVmYXVsdFs7CistWVlMVFlQRSB5eWxsb2MgPSB5eWxvY19kZWZhdWx0O11dKV0sCistW1svKiBU
aGUgc2VtYW50aWMgdmFsdWUgb2YgdGhlIGxvb2thaGVhZCBzeW1ib2wuICAqLworLVlZU1RZUEUg
eXlsdmFsO11iNF9sb2NhdGlvbnNfaWYoW1sKKy0vKiBMb2NhdGlvbiBkYXRhIGZvciB0aGUgbG9v
a2FoZWFkIHN5bWJvbC4gICovCistWVlMVFlQRSB5eWxsb2NdYjRfeXlsb2NfZGVmYXVsdFs7XV0p
WworLS8qIE51bWJlciBvZiBzeW50YXggZXJyb3JzIHNvIGZhci4gICovCistaW50IHl5bmVycnM7
XV0pXSkKKy0KKy0KKy0jIGI0X2RlY2xhcmVfcGFyc2VyX3N0YXRlX3ZhcmlhYmxlcworLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWNsYXJlIGFsbCB0aGUgdmFyaWFi
bGVzIHRoYXQgYXJlIG5lZWRlZCB0byBtYWludGFpbiB0aGUgcGFyc2VyIHN0YXRlCistIyBiZXR3
ZWVuIGNhbGxzIHRvIHl5cHVzaF9wYXJzZS4KKy1tNF9kZWZpbmUoW2I0X2RlY2xhcmVfcGFyc2Vy
X3N0YXRlX3ZhcmlhYmxlc10sIFtiNF9wdXJlX2lmKFtbCistICAgIC8qIE51bWJlciBvZiBzeW50
YXggZXJyb3JzIHNvIGZhci4gICovCistICAgIGludCB5eW5lcnJzOworLV1dKVsKKy0gICAgaW50
IHl5c3RhdGU7CistICAgIC8qIE51bWJlciBvZiB0b2tlbnMgdG8gc2hpZnQgYmVmb3JlIGVycm9y
IG1lc3NhZ2VzIGVuYWJsZWQuICAqLworLSAgICBpbnQgeXllcnJzdGF0dXM7CistCistICAgIC8q
IFRoZSBzdGFja3MgYW5kIHRoZWlyIHRvb2xzOgorLSAgICAgICAneXlzcyc6IHJlbGF0ZWQgdG8g
c3RhdGVzLgorLSAgICAgICAneXl2cyc6IHJlbGF0ZWQgdG8gc2VtYW50aWMgdmFsdWVzLl1iNF9s
b2NhdGlvbnNfaWYoW1sKKy0gICAgICAgJ3l5bHMnOiByZWxhdGVkIHRvIGxvY2F0aW9ucy5dXSlb
CistCistICAgICAgIFJlZmVyIHRvIHRoZSBzdGFja3MgdGhyb3VnaCBzZXBhcmF0ZSBwb2ludGVy
cywgdG8gYWxsb3cgeXlvdmVyZmxvdworLSAgICAgICB0byByZWFsbG9jYXRlIHRoZW0gZWxzZXdo
ZXJlLiAgKi8KKy0KKy0gICAgLyogVGhlIHN0YXRlIHN0YWNrLiAgKi8KKy0gICAgeXl0eXBlX2lu
dDE2IHl5c3NhW1lZSU5JVERFUFRIXTsKKy0gICAgeXl0eXBlX2ludDE2ICp5eXNzOworLSAgICB5
eXR5cGVfaW50MTYgKnl5c3NwOworLQorLSAgICAvKiBUaGUgc2VtYW50aWMgdmFsdWUgc3RhY2su
ICAqLworLSAgICBZWVNUWVBFIHl5dnNhW1lZSU5JVERFUFRIXTsKKy0gICAgWVlTVFlQRSAqeXl2
czsKKy0gICAgWVlTVFlQRSAqeXl2c3A7XWI0X2xvY2F0aW9uc19pZihbWworLQorLSAgICAvKiBU
aGUgbG9jYXRpb24gc3RhY2suICAqLworLSAgICBZWUxUWVBFIHl5bHNhW1lZSU5JVERFUFRIXTsK
Ky0gICAgWVlMVFlQRSAqeXlsczsKKy0gICAgWVlMVFlQRSAqeXlsc3A7CistCistICAgIC8qIFRo
ZSBsb2NhdGlvbnMgd2hlcmUgdGhlIGVycm9yIHN0YXJ0ZWQgYW5kIGVuZGVkLiAgKi8KKy0gICAg
WVlMVFlQRSB5eWVycm9yX3JhbmdlWzNdO11dKVsKKy0KKy0gICAgWVlTSVpFX1QgeXlzdGFja3Np
emU7XWI0X2xhY19pZihbWworLQorLSAgICB5eXR5cGVfaW50MTYgeXllc2FAe11iNF9wZXJjZW50
X2RlZmluZV9nZXQoW1twYXJzZS5sYWMuZXMtY2FwYWNpdHktaW5pdGlhbF1dKVtAfTsKKy0gICAg
eXl0eXBlX2ludDE2ICp5eWVzOworLSAgICBZWVNJWkVfVCB5eWVzX2NhcGFjaXR5O11dKV0pCist
CistCistIyBfYjRfZGVjbGFyZV95eXBhcnNlX3B1c2gKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgRGVjbGFyYXRpb24gb2YgeXlwYXJzZSAoYW5kIGRlcGVuZGVuY2llcykgd2hlbiB1
c2luZyB0aGUgcHVzaCBwYXJzZXIKKy0jIChpbmNsdWRpbmcgaW4gcHVsbCBtb2RlKS4KKy1tNF9k
ZWZpbmUoW19iNF9kZWNsYXJlX3l5cGFyc2VfcHVzaF0sCistW1sjaWZuZGVmIFlZUFVTSF9NT1JF
X0RFRklORUQKKy0jIGRlZmluZSBZWVBVU0hfTU9SRV9ERUZJTkVECistZW51bSB7IFlZUFVTSF9N
T1JFID0gNCB9OworLSNlbmRpZgorLQorLXR5cGVkZWYgc3RydWN0IF1iNF9wcmVmaXhbcHN0YXRl
IF1iNF9wcmVmaXhbcHN0YXRlOworLQorLV1iNF9wdWxsX2lmKFtiNF9mdW5jdGlvbl9kZWNsYXJl
KFtiNF9wcmVmaXhbcGFyc2VdXSwgW1tpbnRdXSwgYjRfcGFyc2VfcGFyYW0pCistXSliNF9mdW5j
dGlvbl9kZWNsYXJlKFtiNF9wcmVmaXhbcHVzaF9wYXJzZV1dLCBbW2ludF1dLAorLSAgW1tiNF9w
cmVmaXhbcHN0YXRlICpwc11dLCBbW3BzXV1dYjRfcHVyZV9pZihbLAorLSAgW1tbaW50IHB1c2hl
ZF9jaGFyXV0sIFtbcHVzaGVkX2NoYXJdXV0sCistICBbW2I0X2FwaV9QUkVGSVhbU1RZUEUgY29u
c3QgKnB1c2hlZF92YWxdXSwgW1twdXNoZWRfdmFsXV1dYjRfbG9jYXRpb25zX2lmKFssCistICBb
W2I0X2FwaV9QUkVGSVhbTFRZUEUgKnB1c2hlZF9sb2NdXSwgW1twdXNoZWRfbG9jXV1dXSldKW00
X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssCistICBiNF9wYXJzZV9wYXJhbV0pKQorLWI0X3B1
bGxfaWYoW2I0X2Z1bmN0aW9uX2RlY2xhcmUoW2I0X3ByZWZpeFtwdWxsX3BhcnNlXV0sIFtbaW50
XV0sCistICBbW2I0X3ByZWZpeFtwc3RhdGUgKnBzXV0sIFtbcHNdXV1tNF9pZnNldChbYjRfcGFy
c2VfcGFyYW1dLCBbLAorLSAgYjRfcGFyc2VfcGFyYW1dKSldKQorLWI0X2Z1bmN0aW9uX2RlY2xh
cmUoW2I0X3ByZWZpeFtwc3RhdGVfbmV3XV0sIFtiNF9wcmVmaXhbcHN0YXRlICpdXSwKKy0gICAg
ICAgICAgICAgICAgICAgIFtbW3ZvaWRdXSwgW11dKQorLWI0X2Z1bmN0aW9uX2RlY2xhcmUoW2I0
X3ByZWZpeFtwc3RhdGVfZGVsZXRlXV0sIFtbdm9pZF1dLAorLSAgICAgICAgICAgICAgICAgICBb
W2I0X3ByZWZpeFtwc3RhdGUgKnBzXV0sIFtbcHNdXV0pZG5sCistXSkKKy0KKy0jIF9iNF9kZWNs
YXJlX3l5cGFyc2UKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFdoZW4gbm90IHRoZSBwdXNo
IHBhcnNlci4KKy1tNF9kZWZpbmUoW19iNF9kZWNsYXJlX3l5cGFyc2VdLAorLVtiNF9mdW5jdGlv
bl9kZWNsYXJlKGI0X3ByZWZpeFtwYXJzZV0sIFtpbnRdLCBiNF9wYXJzZV9wYXJhbSldKQorLQor
LQorLSMgYjRfZGVjbGFyZV95eXBhcnNlCistIyAtLS0tLS0tLS0tLS0tLS0tLS0KKy1tNF9kZWZp
bmUoW2I0X2RlY2xhcmVfeXlwYXJzZV0sCistW2I0X3B1c2hfaWYoW19iNF9kZWNsYXJlX3l5cGFy
c2VfcHVzaF0sCistICAgICAgICAgICAgW19iNF9kZWNsYXJlX3l5cGFyc2VdKVtdZG5sCistXSkK
Ky0KKy0KKy0jIGI0X3NoYXJlZF9kZWNsYXJhdGlvbnMKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIERlY2xhcmF0aW9uIHRoYXQgbWlnaHQgZWl0aGVyIGdvIGludG8gdGhlIGhlYWRlciAo
aWYgLS1kZWZpbmVzKQorLSMgb3Igb3BlbiBjb2RlZCBpbiB0aGUgcGFyc2VyIGJvZHkuCistbTRf
ZGVmaW5lKFtiNF9zaGFyZWRfZGVjbGFyYXRpb25zXSwKKy1bYjRfY3BwX2d1YXJkX29wZW4oW2I0
X3NwZWNfZGVmaW5lc19maWxlXSlbCistXWI0X2RlY2xhcmVfeXlkZWJ1Z1sKKy1dYjRfcGVyY2Vu
dF9jb2RlX2dldChbW3JlcXVpcmVzXV0pWworLV1iNF90b2tlbl9lbnVtc19kZWZpbmVzWworLV1i
NF9kZWNsYXJlX3l5bHN0eXBlWworLV1iNF9kZWNsYXJlX3l5cGFyc2VbCistXWI0X3BlcmNlbnRf
Y29kZV9nZXQoW1twcm92aWRlc11dKVsKKy1dYjRfY3BwX2d1YXJkX2Nsb3NlKFtiNF9zcGVjX2Rl
ZmluZXNfZmlsZV0pW11kbmwKKy1dKQorLQorLSMjIC0tLS0tLS0tLS0tLS0tICMjCistIyMgT3V0
cHV0IGZpbGVzLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLSAjIworLQorLWI0X291dHB1dF9iZWdp
bihbYjRfcGFyc2VyX2ZpbGVfbmFtZV0pWworLV1iNF9jb3B5cmlnaHQoW0Jpc29uIGltcGxlbWVu
dGF0aW9uIGZvciBZYWNjLWxpa2UgcGFyc2VycyBpbiBDXSlbCistLyogQyBMQUxSKDEpIHBhcnNl
ciBza2VsZXRvbiB3cml0dGVuIGJ5IFJpY2hhcmQgU3RhbGxtYW4sIGJ5CistICAgc2ltcGxpZnlp
bmcgdGhlIG9yaWdpbmFsIHNvLWNhbGxlZCAic2VtYW50aWMiIHBhcnNlci4gICovCistCistLyog
QWxsIHN5bWJvbHMgZGVmaW5lZCBiZWxvdyBzaG91bGQgYmVnaW4gd2l0aCB5eSBvciBZWSwgdG8g
YXZvaWQKKy0gICBpbmZyaW5naW5nIG9uIHVzZXIgbmFtZSBzcGFjZS4gIFRoaXMgc2hvdWxkIGJl
IGRvbmUgZXZlbiBmb3IgbG9jYWwKKy0gICB2YXJpYWJsZXMsIGFzIHRoZXkgbWlnaHQgb3RoZXJ3
aXNlIGJlIGV4cGFuZGVkIGJ5IHVzZXIgbWFjcm9zLgorLSAgIFRoZXJlIGFyZSBzb21lIHVuYXZv
aWRhYmxlIGV4Y2VwdGlvbnMgd2l0aGluIGluY2x1ZGUgZmlsZXMgdG8KKy0gICBkZWZpbmUgbmVj
ZXNzYXJ5IGxpYnJhcnkgc3ltYm9sczsgdGhleSBhcmUgbm90ZWQgIklORlJJTkdFUyBPTgorLSAg
IFVTRVIgTkFNRSBTUEFDRSIgYmVsb3cuICAqLworLQorLV1iNF9kaXNjbGFpbWVyWworLV1iNF9p
ZGVudGlmaWNhdGlvblsKKy1dYjRfcGVyY2VudF9jb2RlX2dldChbW3RvcF1dKVtdZG5sCistbTRf
aWYoYjRfYXBpX3ByZWZpeCwgW3l5XSwgW10sCistW1svKiBTdWJzdGl0dXRlIHRoZSB0eXBlIG5h
bWVzLiAgKi8KKy0jZGVmaW5lIFlZU1RZUEUgICAgICAgICBdYjRfYXBpX1BSRUZJWFtTVFlQRV1i
NF9sb2NhdGlvbnNfaWYoW1sKKy0jZGVmaW5lIFlZTFRZUEUgICAgICAgICBdYjRfYXBpX1BSRUZJ
WFtMVFlQRV1dKV0pWworLV1tNF9pZihiNF9wcmVmaXgsIFt5eV0sIFtdLAorLVtbLyogU3Vic3Rp
dHV0ZSB0aGUgdmFyaWFibGUgYW5kIGZ1bmN0aW9uIG5hbWVzLiAgKi9dYjRfcHVsbF9pZihbWwor
LSNkZWZpbmUgeXlwYXJzZSAgICAgICAgIF1iNF9wcmVmaXhbcGFyc2VdXSliNF9wdXNoX2lmKFtb
CistI2RlZmluZSB5eXB1c2hfcGFyc2UgICAgXWI0X3ByZWZpeFtwdXNoX3BhcnNlXWI0X3B1bGxf
aWYoW1sKKy0jZGVmaW5lIHl5cHVsbF9wYXJzZSAgICBdYjRfcHJlZml4W3B1bGxfcGFyc2VdXSlb
CistI2RlZmluZSB5eXBzdGF0ZV9uZXcgICAgXWI0X3ByZWZpeFtwc3RhdGVfbmV3CistI2RlZmlu
ZSB5eXBzdGF0ZV9kZWxldGUgXWI0X3ByZWZpeFtwc3RhdGVfZGVsZXRlCistI2RlZmluZSB5eXBz
dGF0ZSAgICAgICAgXWI0X3ByZWZpeFtwc3RhdGVdXSlbCistI2RlZmluZSB5eWxleCAgICAgICAg
ICAgXWI0X3ByZWZpeFtsZXgKKy0jZGVmaW5lIHl5ZXJyb3IgICAgICAgICBdYjRfcHJlZml4W2Vy
cm9yCistI2RlZmluZSB5eWRlYnVnICAgICAgICAgXWI0X3ByZWZpeFtkZWJ1ZworLSNkZWZpbmUg
eXluZXJycyAgICAgICAgIF1iNF9wcmVmaXhbbmVycnMKKy1dXWI0X3B1cmVfaWYoW10sIFtbCist
I2RlZmluZSB5eWx2YWwgICAgICAgICAgXWI0X3ByZWZpeFtsdmFsCistI2RlZmluZSB5eWNoYXIg
ICAgICAgICAgXWI0X3ByZWZpeFtjaGFyXWI0X2xvY2F0aW9uc19pZihbWworLSNkZWZpbmUgeXls
bG9jICAgICAgICAgIF1iNF9wcmVmaXhbbGxvY11dKV0pKVsKKy0KKy1dYjRfdXNlcl9wcmVfcHJv
bG9ndWVbCistXWI0X251bGxfZGVmaW5lWworLQorLS8qIEVuYWJsaW5nIHZlcmJvc2UgZXJyb3Ig
bWVzc2FnZXMuICAqLworLSNpZmRlZiBZWUVSUk9SX1ZFUkJPU0UKKy0jIHVuZGVmIFlZRVJST1Jf
VkVSQk9TRQorLSMgZGVmaW5lIFlZRVJST1JfVkVSQk9TRSAxCistI2Vsc2UKKy0jIGRlZmluZSBZ
WUVSUk9SX1ZFUkJPU0UgXWI0X2Vycm9yX3ZlcmJvc2VfaWYoWzFdLCBbMF0pWworLSNlbmRpZgor
LQorLV1tNF9pZnZhbChtNF9xdW90ZShiNF9zcGVjX2RlZmluZXNfZmlsZSksCistW1svKiBJbiBh
IGZ1dHVyZSByZWxlYXNlIG9mIEJpc29uLCB0aGlzIHNlY3Rpb24gd2lsbCBiZSByZXBsYWNlZAor
LSAgIGJ5ICNpbmNsdWRlICJAYmFzZW5hbWUoXWI0X3NwZWNfZGVmaW5lc19maWxlW0ApIi4gICov
CistXV0pZG5sCistYjRfc2hhcmVkX2RlY2xhcmF0aW9uc1sKKy0KKy1dYjRfdXNlcl9wb3N0X3By
b2xvZ3VlWworLV1iNF9wZXJjZW50X2NvZGVfZ2V0W11kbmwKKy0KKy1bI2lmZGVmIHNob3J0Cist
IyB1bmRlZiBzaG9ydAorLSNlbmRpZgorLQorLSNpZmRlZiBZWVRZUEVfVUlOVDgKKy10eXBlZGVm
IFlZVFlQRV9VSU5UOCB5eXR5cGVfdWludDg7CistI2Vsc2UKKy10eXBlZGVmIHVuc2lnbmVkIGNo
YXIgeXl0eXBlX3VpbnQ4OworLSNlbmRpZgorLQorLSNpZmRlZiBZWVRZUEVfSU5UOAorLXR5cGVk
ZWYgWVlUWVBFX0lOVDggeXl0eXBlX2ludDg7CistI2Vsc2UKKy10eXBlZGVmIHNpZ25lZCBjaGFy
IHl5dHlwZV9pbnQ4OworLSNlbmRpZgorLQorLSNpZmRlZiBZWVRZUEVfVUlOVDE2CistdHlwZWRl
ZiBZWVRZUEVfVUlOVDE2IHl5dHlwZV91aW50MTY7CistI2Vsc2UKKy10eXBlZGVmIHVuc2lnbmVk
IHNob3J0IHl5dHlwZV91aW50MTY7CistI2VuZGlmCistCistI2lmZGVmIFlZVFlQRV9JTlQxNgor
LXR5cGVkZWYgWVlUWVBFX0lOVDE2IHl5dHlwZV9pbnQxNjsKKy0jZWxzZQorLXR5cGVkZWYgc2hv
cnQgeXl0eXBlX2ludDE2OworLSNlbmRpZgorLQorLSNpZm5kZWYgWVlTSVpFX1QKKy0jIGlmZGVm
IF9fU0laRV9UWVBFX18KKy0jICBkZWZpbmUgWVlTSVpFX1QgX19TSVpFX1RZUEVfXworLSMgZWxp
ZiBkZWZpbmVkIHNpemVfdAorLSMgIGRlZmluZSBZWVNJWkVfVCBzaXplX3QKKy0jIGVsaWYgISBk
ZWZpbmVkIFlZU0laRV9UCistIyAgaW5jbHVkZSA8c3RkZGVmLmg+IC8qIElORlJJTkdFUyBPTiBV
U0VSIE5BTUUgU1BBQ0UgKi8KKy0jICBkZWZpbmUgWVlTSVpFX1Qgc2l6ZV90CistIyBlbHNlCist
IyAgZGVmaW5lIFlZU0laRV9UIHVuc2lnbmVkCistIyBlbmRpZgorLSNlbmRpZgorLQorLSNkZWZp
bmUgWVlTSVpFX01BWElNVU0gKChZWVNJWkVfVCkgLTEpCistCistI2lmbmRlZiBZWV8KKy0jIGlm
IGRlZmluZWQgWVlFTkFCTEVfTkxTICYmIFlZRU5BQkxFX05MUworLSMgIGlmIEVOQUJMRV9OTFMK
Ky0jICAgaW5jbHVkZSA8bGliaW50bC5oPiAvKiBJTkZSSU5HRVMgT04gVVNFUiBOQU1FIFNQQUNF
ICovCistIyAgIGRlZmluZSBZWV8oTXNnaWQpIGRnZXR0ZXh0ICgiYmlzb24tcnVudGltZSIsIE1z
Z2lkKQorLSMgIGVuZGlmCistIyBlbmRpZgorLSMgaWZuZGVmIFlZXworLSMgIGRlZmluZSBZWV8o
TXNnaWQpIE1zZ2lkCistIyBlbmRpZgorLSNlbmRpZgorLQorLV1iNF9hdHRyaWJ1dGVfZGVmaW5l
WworLQorLSNpZiBdYjRfbGFjX2lmKFtbMV1dLCBbWyEgZGVmaW5lZCB5eW92ZXJmbG93IHx8IFlZ
RVJST1JfVkVSQk9TRV1dKVsKKy0KKy0vKiBUaGUgcGFyc2VyIGludm9rZXMgYWxsb2NhIG9yIG1h
bGxvYzsgZGVmaW5lIHRoZSBuZWNlc3Nhcnkgc3ltYm9scy4gICovXWRubAorLWI0X3B1c2hfaWYo
W10sIFtiNF9sYWNfaWYoW10sIFtbCistCistIyBpZmRlZiBZWVNUQUNLX1VTRV9BTExPQ0EKKy0j
ICBpZiBZWVNUQUNLX1VTRV9BTExPQ0EKKy0jICAgaWZkZWYgX19HTlVDX18KKy0jICAgIGRlZmlu
ZSBZWVNUQUNLX0FMTE9DIF9fYnVpbHRpbl9hbGxvY2EKKy0jICAgZWxpZiBkZWZpbmVkIF9fQlVJ
TFRJTl9WQV9BUkdfSU5DUgorLSMgICAgaW5jbHVkZSA8YWxsb2NhLmg+IC8qIElORlJJTkdFUyBP
TiBVU0VSIE5BTUUgU1BBQ0UgKi8KKy0jICAgZWxpZiBkZWZpbmVkIF9BSVgKKy0jICAgIGRlZmlu
ZSBZWVNUQUNLX0FMTE9DIF9fYWxsb2NhCistIyAgIGVsaWYgZGVmaW5lZCBfTVNDX1ZFUgorLSMg
ICAgaW5jbHVkZSA8bWFsbG9jLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8K
Ky0jICAgIGRlZmluZSBhbGxvY2EgX2FsbG9jYQorLSMgICBlbHNlCistIyAgICBkZWZpbmUgWVlT
VEFDS19BTExPQyBhbGxvY2EKKy0jICAgIGlmICEgZGVmaW5lZCBfQUxMT0NBX0ggJiYgISBkZWZp
bmVkIEVYSVRfU1VDQ0VTUworLSMgICAgIGluY2x1ZGUgPHN0ZGxpYi5oPiAvKiBJTkZSSU5HRVMg
T04gVVNFUiBOQU1FIFNQQUNFICovCistICAgICAgLyogVXNlIEVYSVRfU1VDQ0VTUyBhcyBhIHdp
dG5lc3MgZm9yIHN0ZGxpYi5oLiAgKi8KKy0jICAgICBpZm5kZWYgRVhJVF9TVUNDRVNTCistIyAg
ICAgIGRlZmluZSBFWElUX1NVQ0NFU1MgMAorLSMgICAgIGVuZGlmCistIyAgICBlbmRpZgorLSMg
ICBlbmRpZgorLSMgIGVuZGlmCistIyBlbmRpZl1dKV0pWworLQorLSMgaWZkZWYgWVlTVEFDS19B
TExPQworLSAgIC8qIFBhY2lmeSBHQ0MncyAnZW1wdHkgaWYtYm9keScgd2FybmluZy4gICovCist
IyAgZGVmaW5lIFlZU1RBQ0tfRlJFRShQdHIpIGRvIHsgLyogZW1wdHkgKi87IH0gd2hpbGUgKDAp
CistIyAgaWZuZGVmIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTQorLSAgICAvKiBUaGUgT1MgbWlnaHQg
Z3VhcmFudGVlIG9ubHkgb25lIGd1YXJkIHBhZ2UgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc3RhY2ss
CistICAgICAgIGFuZCBhIHBhZ2Ugc2l6ZSBjYW4gYmUgYXMgc21hbGwgYXMgNDA5NiBieXRlcy4g
IFNvIHdlIGNhbm5vdCBzYWZlbHkKKy0gICAgICAgaW52b2tlIGFsbG9jYSAoTikgaWYgTiBleGNl
ZWRzIDQwOTYuICBVc2UgYSBzbGlnaHRseSBzbWFsbGVyIG51bWJlcgorLSAgICAgICB0byBhbGxv
dyBmb3IgYSBmZXcgY29tcGlsZXItYWxsb2NhdGVkIHRlbXBvcmFyeSBzdGFjayBzbG90cy4gICov
CistIyAgIGRlZmluZSBZWVNUQUNLX0FMTE9DX01BWElNVU0gNDAzMiAvKiByZWFzb25hYmxlIGNp
cmNhIDIwMDYgKi8KKy0jICBlbmRpZgorLSMgZWxzZQorLSMgIGRlZmluZSBZWVNUQUNLX0FMTE9D
IFlZTUFMTE9DCistIyAgZGVmaW5lIFlZU1RBQ0tfRlJFRSBZWUZSRUUKKy0jICBpZm5kZWYgWVlT
VEFDS19BTExPQ19NQVhJTVVNCistIyAgIGRlZmluZSBZWVNUQUNLX0FMTE9DX01BWElNVU0gWVlT
SVpFX01BWElNVU0KKy0jICBlbmRpZgorLSMgIGlmIChkZWZpbmVkIF9fY3BsdXNwbHVzICYmICEg
ZGVmaW5lZCBFWElUX1NVQ0NFU1MgXAorLSAgICAgICAmJiAhICgoZGVmaW5lZCBZWU1BTExPQyB8
fCBkZWZpbmVkIG1hbGxvYykgXAorLSAgICAgICAgICAgICAmJiAoZGVmaW5lZCBZWUZSRUUgfHwg
ZGVmaW5lZCBmcmVlKSkpCistIyAgIGluY2x1ZGUgPHN0ZGxpYi5oPiAvKiBJTkZSSU5HRVMgT04g
VVNFUiBOQU1FIFNQQUNFICovCistIyAgIGlmbmRlZiBFWElUX1NVQ0NFU1MKKy0jICAgIGRlZmlu
ZSBFWElUX1NVQ0NFU1MgMAorLSMgICBlbmRpZgorLSMgIGVuZGlmCistIyAgaWZuZGVmIFlZTUFM
TE9DCistIyAgIGRlZmluZSBZWU1BTExPQyBtYWxsb2MKKy0jICAgaWYgISBkZWZpbmVkIG1hbGxv
YyAmJiAhIGRlZmluZWQgRVhJVF9TVUNDRVNTCistdm9pZCAqbWFsbG9jIChZWVNJWkVfVCk7IC8q
IElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KKy0jICAgZW5kaWYKKy0jICBlbmRpZgor
LSMgIGlmbmRlZiBZWUZSRUUKKy0jICAgZGVmaW5lIFlZRlJFRSBmcmVlCistIyAgIGlmICEgZGVm
aW5lZCBmcmVlICYmICEgZGVmaW5lZCBFWElUX1NVQ0NFU1MKKy12b2lkIGZyZWUgKHZvaWQgKik7
IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KKy0jICAgZW5kaWYKKy0jICBlbmRp
ZgorLSMgZW5kaWZdYjRfbGFjX2lmKFtbCistIyBkZWZpbmUgWVlDT1BZX05FRURFRCAxXV0pWwor
LSNlbmRpZl1iNF9sYWNfaWYoW10sIFtbIC8qICEgZGVmaW5lZCB5eW92ZXJmbG93IHx8IFlZRVJS
T1JfVkVSQk9TRSAqL11dKVsKKy0KKy0KKy0jaWYgKCEgZGVmaW5lZCB5eW92ZXJmbG93IFwKKy0g
ICAgICYmICghIGRlZmluZWQgX19jcGx1c3BsdXMgXAorLSAgICAgICAgIHx8IChdYjRfbG9jYXRp
b25zX2lmKFtbZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtMVFlQRV9JU19UUklWSUFMICYmIF1iNF9h
cGlfUFJFRklYW0xUWVBFX0lTX1RSSVZJQUwgXAorLSAgICAgICAgICAgICAmJiBdXSlbZGVmaW5l
ZCBdYjRfYXBpX1BSRUZJWFtTVFlQRV9JU19UUklWSUFMICYmIF1iNF9hcGlfUFJFRklYW1NUWVBF
X0lTX1RSSVZJQUwpKSkKKy0KKy0vKiBBIHR5cGUgdGhhdCBpcyBwcm9wZXJseSBhbGlnbmVkIGZv
ciBhbnkgc3RhY2sgbWVtYmVyLiAgKi8KKy11bmlvbiB5eWFsbG9jCisteworLSAgeXl0eXBlX2lu
dDE2IHl5c3NfYWxsb2M7CistICBZWVNUWVBFIHl5dnNfYWxsb2M7XWI0X2xvY2F0aW9uc19pZihb
CistICBZWUxUWVBFIHl5bHNfYWxsb2M7XSlbCistfTsKKy0KKy0vKiBUaGUgc2l6ZSBvZiB0aGUg
bWF4aW11bSBnYXAgYmV0d2VlbiBvbmUgYWxpZ25lZCBzdGFjayBhbmQgdGhlIG5leHQuICAqLwor
LSMgZGVmaW5lIFlZU1RBQ0tfR0FQX01BWElNVU0gKHNpemVvZiAodW5pb24geXlhbGxvYykgLSAx
KQorLQorLS8qIFRoZSBzaXplIG9mIGFuIGFycmF5IGxhcmdlIHRvIGVub3VnaCB0byBob2xkIGFs
bCBzdGFja3MsIGVhY2ggd2l0aAorLSAgIE4gZWxlbWVudHMuICAqLworLV1iNF9sb2NhdGlvbnNf
aWYoCistWyMgZGVmaW5lIFlZU1RBQ0tfQllURVMoTikgXAorLSAgICAgKChOKSAqIChzaXplb2Yg
KHl5dHlwZV9pbnQxNikgKyBzaXplb2YgKFlZU1RZUEUpICsgc2l6ZW9mIChZWUxUWVBFKSkgXAor
LSAgICAgICsgMiAqIFlZU1RBQ0tfR0FQX01BWElNVU0pXSwKKy1bIyBkZWZpbmUgWVlTVEFDS19C
WVRFUyhOKSBcCistICAgICAoKE4pICogKHNpemVvZiAoeXl0eXBlX2ludDE2KSArIHNpemVvZiAo
WVlTVFlQRSkpIFwKKy0gICAgICArIFlZU1RBQ0tfR0FQX01BWElNVU0pXSlbCistCistIyBkZWZp
bmUgWVlDT1BZX05FRURFRCAxCistCistLyogUmVsb2NhdGUgU1RBQ0sgZnJvbSBpdHMgb2xkIGxv
Y2F0aW9uIHRvIHRoZSBuZXcgb25lLiAgVGhlCistICAgbG9jYWwgdmFyaWFibGVzIFlZU0laRSBh
bmQgWVlTVEFDS1NJWkUgZ2l2ZSB0aGUgb2xkIGFuZCBuZXcgbnVtYmVyIG9mCistICAgZWxlbWVu
dHMgaW4gdGhlIHN0YWNrLCBhbmQgWVlQVFIgZ2l2ZXMgdGhlIG5ldyBsb2NhdGlvbiBvZiB0aGUK
Ky0gICBzdGFjay4gIEFkdmFuY2UgWVlQVFIgdG8gYSBwcm9wZXJseSBhbGlnbmVkIGxvY2F0aW9u
IGZvciB0aGUgbmV4dAorLSAgIHN0YWNrLiAgKi8KKy0jIGRlZmluZSBZWVNUQUNLX1JFTE9DQVRF
KFN0YWNrX2FsbG9jLCBTdGFjaykgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGRv
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorLSAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIFlZU0laRV9UIHl5bmV3Ynl0
ZXM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAg
ICBZWUNPUFkgKCZ5eXB0ci0+U3RhY2tfYWxsb2MsIFN0YWNrLCB5eXNpemUpOyAgICAgICAgICAg
ICAgICAgICAgXAorLSAgICAgICAgU3RhY2sgPSAmeXlwdHItPlN0YWNrX2FsbG9jOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIHl5bmV3Ynl0ZXMgPSB5eXN0
YWNrc2l6ZSAqIHNpemVvZiAoKlN0YWNrKSArIFlZU1RBQ0tfR0FQX01BWElNVU07IFwKKy0gICAg
ICAgIHl5cHRyICs9IHl5bmV3Ynl0ZXMgLyBzaXplb2YgKCp5eXB0cik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCistICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICB3aGlsZSAoMCkKKy0KKy0jZW5k
aWYKKy0KKy0jaWYgZGVmaW5lZCBZWUNPUFlfTkVFREVEICYmIFlZQ09QWV9ORUVERUQKKy0vKiBD
b3B5IENPVU5UIG9iamVjdHMgZnJvbSBTUkMgdG8gRFNULiAgVGhlIHNvdXJjZSBhbmQgZGVzdGlu
YXRpb24gZG8KKy0gICBub3Qgb3ZlcmxhcC4gICovCistIyBpZm5kZWYgWVlDT1BZCistIyAgaWYg
ZGVmaW5lZCBfX0dOVUNfXyAmJiAxIDwgX19HTlVDX18KKy0jICAgZGVmaW5lIFlZQ09QWShEc3Qs
IFNyYywgQ291bnQpIFwKKy0gICAgICBfX2J1aWx0aW5fbWVtY3B5IChEc3QsIFNyYywgKENvdW50
KSAqIHNpemVvZiAoKihTcmMpKSkKKy0jICBlbHNlCistIyAgIGRlZmluZSBZWUNPUFkoRHN0LCBT
cmMsIENvdW50KSAgICAgICAgICAgICAgXAorLSAgICAgIGRvICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCistICAgICAgICAgIFlZU0laRV9UIHl5aTsgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorLSAgICAgICAgICBmb3IgKHl5aSA9IDA7IHl5aSA8IChDb3VudCk7IHl5aSsr
KSAgIFwKKy0gICAgICAgICAgICAoRHN0KVt5eWldID0gKFNyYylbeXlpXTsgICAgICAgICAgICBc
CistICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAg
ICAgIHdoaWxlICgwKQorLSMgIGVuZGlmCistIyBlbmRpZgorLSNlbmRpZiAvKiAhWVlDT1BZX05F
RURFRCAqLworLQorLS8qIFlZRklOQUwgLS0gU3RhdGUgbnVtYmVyIG9mIHRoZSB0ZXJtaW5hdGlv
biBzdGF0ZS4gICovCistI2RlZmluZSBZWUZJTkFMICBdYjRfZmluYWxfc3RhdGVfbnVtYmVyWwor
LS8qIFlZTEFTVCAtLSBMYXN0IGluZGV4IGluIFlZVEFCTEUuICAqLworLSNkZWZpbmUgWVlMQVNU
ICAgXWI0X2xhc3RbCistCistLyogWVlOVE9LRU5TIC0tIE51bWJlciBvZiB0ZXJtaW5hbHMuICAq
LworLSNkZWZpbmUgWVlOVE9LRU5TICBdYjRfdG9rZW5zX251bWJlclsKKy0vKiBZWU5OVFMgLS0g
TnVtYmVyIG9mIG5vbnRlcm1pbmFscy4gICovCistI2RlZmluZSBZWU5OVFMgIF1iNF9udGVybXNf
bnVtYmVyWworLS8qIFlZTlJVTEVTIC0tIE51bWJlciBvZiBydWxlcy4gICovCistI2RlZmluZSBZ
WU5SVUxFUyAgXWI0X3J1bGVzX251bWJlclsKKy0vKiBZWU5TVEFURVMgLS0gTnVtYmVyIG9mIHN0
YXRlcy4gICovCistI2RlZmluZSBZWU5TVEFURVMgIF1iNF9zdGF0ZXNfbnVtYmVyWworLQorLSNk
ZWZpbmUgWVlVTkRFRlRPSyAgXWI0X3VuZGVmX3Rva2VuX251bWJlclsKKy0jZGVmaW5lIFlZTUFY
VVRPSyAgIF1iNF91c2VyX3Rva2VuX251bWJlcl9tYXhbCistCistLyogWVlUUkFOU0xBVEUoVE9L
RU4tTlVNKSAtLSBTeW1ib2wgbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gVE9LRU4tTlVNCistICAg
YXMgcmV0dXJuZWQgYnkgeXlsZXgsIHdpdGggb3V0LW9mLWJvdW5kcyBjaGVja2luZy4gICovCist
I2RlZmluZSBZWVRSQU5TTEFURShZWVgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorLSAgKCh1bnNpZ25lZCkgKFlZWCkgPD0gWVlNQVhVVE9LID8geXl0
cmFuc2xhdGVbWVlYXSA6IFlZVU5ERUZUT0spCistCistLyogWVlUUkFOU0xBVEVbVE9LRU4tTlVN
XSAtLSBTeW1ib2wgbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gVE9LRU4tTlVNCistICAgYXMgcmV0
dXJuZWQgYnkgeXlsZXguICAqLworLXN0YXRpYyBjb25zdCBdYjRfaW50X3R5cGVfZm9yKFtiNF90
cmFuc2xhdGVdKVsgeXl0cmFuc2xhdGVbXSA9CisteworLSAgXWI0X3RyYW5zbGF0ZVsKKy19Owor
LQorLSNpZiBdYjRfYXBpX1BSRUZJWFtERUJVRworLV1iNF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVf
ZGVmaW5lKFtybGluZV0sIFtiNF9ybGluZV0sCistICAgICBbW1lZUkxJTkVbWVlOXSAtLSBTb3Vy
Y2UgbGluZSB3aGVyZSBydWxlIG51bWJlciBZWU4gd2FzIGRlZmluZWQuXV0pWworLSNlbmRpZgor
LQorLSNpZiBdYjRfYXBpX1BSRUZJWFtERUJVRyB8fCBZWUVSUk9SX1ZFUkJPU0UgfHwgXWI0X3Rv
a2VuX3RhYmxlX2ZsYWdbCistLyogWVlUTkFNRVtTWU1CT0wtTlVNXSAtLSBTdHJpbmcgbmFtZSBv
ZiB0aGUgc3ltYm9sIFNZTUJPTC1OVU0uCistICAgRmlyc3QsIHRoZSB0ZXJtaW5hbHMsIHRoZW4s
IHN0YXJ0aW5nIGF0IFlZTlRPS0VOUywgbm9udGVybWluYWxzLiAgKi8KKy1zdGF0aWMgY29uc3Qg
Y2hhciAqY29uc3QgeXl0bmFtZVtdID0KKy17CistICBdYjRfdG5hbWVbCistfTsKKy0jZW5kaWYK
Ky0KKy0jIGlmZGVmIFlZUFJJTlQKKy0vKiBZWVRPS05VTVtOVU1dIC0tIChFeHRlcm5hbCkgdG9r
ZW4gbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlCistICAgKGludGVybmFsKSBzeW1ib2wgbnVt
YmVyIE5VTSAod2hpY2ggbXVzdCBiZSB0aGF0IG9mIGEgdG9rZW4pLiAgKi8KKy1zdGF0aWMgY29u
c3QgXWI0X2ludF90eXBlX2ZvcihbYjRfdG9rbnVtXSlbIHl5dG9rbnVtW10gPQorLXsKKy0gIF1i
NF90b2tudW1bCistfTsKKy0jIGVuZGlmCistCistI2RlZmluZSBZWVBBQ1RfTklORiBdYjRfcGFj
dF9uaW5mWworLQorLSNkZWZpbmUgeXlwYWN0X3ZhbHVlX2lzX2RlZmF1bHQoWXlzdGF0ZSkgXAor
LSAgXWI0X3RhYmxlX3ZhbHVlX2VxdWFscyhbW3BhY3RdXSwgW1tZeXN0YXRlXV0sIFtiNF9wYWN0
X25pbmZdKVsKKy0KKy0jZGVmaW5lIFlZVEFCTEVfTklORiBdYjRfdGFibGVfbmluZlsKKy0KKy0j
ZGVmaW5lIHl5dGFibGVfdmFsdWVfaXNfZXJyb3IoWXl0YWJsZV92YWx1ZSkgXAorLSAgXWI0X3Rh
YmxlX3ZhbHVlX2VxdWFscyhbW3RhYmxlXV0sIFtbWXl0YWJsZV92YWx1ZV1dLCBbYjRfdGFibGVf
bmluZl0pWworLQorLV1iNF9wYXJzZXJfdGFibGVzX2RlZmluZVsKKy0KKy0jZGVmaW5lIHl5ZXJy
b2sgICAgICAgICAoeXllcnJzdGF0dXMgPSAwKQorLSNkZWZpbmUgeXljbGVhcmluICAgICAgICh5
eWNoYXIgPSBZWUVNUFRZKQorLSNkZWZpbmUgWVlFTVBUWSAgICAgICAgICgtMikKKy0jZGVmaW5l
IFlZRU9GICAgICAgICAgICAwCistCistI2RlZmluZSBZWUFDQ0VQVCAgICAgICAgZ290byB5eWFj
Y2VwdGxhYgorLSNkZWZpbmUgWVlBQk9SVCAgICAgICAgIGdvdG8geXlhYm9ydGxhYgorLSNkZWZp
bmUgWVlFUlJPUiAgICAgICAgIGdvdG8geXllcnJvcmxhYgorLQorLQorLSNkZWZpbmUgWVlSRUNP
VkVSSU5HKCkgICghIXl5ZXJyc3RhdHVzKQorLQorLSNkZWZpbmUgWVlCQUNLVVAoVG9rZW4sIFZh
bHVlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gIGRvICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCist
ICAgIGlmICh5eWNoYXIgPT0gWVlFTVBUWSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorLSAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIHl5Y2hhciA9IChUb2tlbik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICB5eWx2YWwgPSAo
VmFsdWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAg
ICAgWVlQT1BTVEFDSyAoeXlsZW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKy0gICAgICAgIHl5c3RhdGUgPSAqeXlzc3A7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcXWI0X2xhY19pZihbWworLSAgICAgICAgWVlfTEFDX0RJU0NBUkQg
KCJZWUJBQ0tVUCIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxdXSlbCistICAgICAg
ICBnb3RvIHl5YmFja3VwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKy0gICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgeXll
cnJvciAoXWI0X3l5ZXJyb3JfYXJnc1tZWV8oInN5bnRheCBlcnJvcjogY2Fubm90IGJhY2sgdXAi
KSk7IFwKKy0gICAgICAgIFlZRVJST1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCistICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgd2hpbGUgKDApCistCistLyogRXJy
b3IgdG9rZW4gbnVtYmVyICovCistI2RlZmluZSBZWVRFUlJPUiAgICAgICAgMQorLSNkZWZpbmUg
WVlFUlJDT0RFICAgICAgIDI1NgorLQorLV1iNF9sb2NhdGlvbnNfaWYoW1sKKy1dYjRfeXlsbG9j
X2RlZmF1bHRfZGVmaW5lWworLSNkZWZpbmUgWVlSSFNMT0MoUmhzLCBLKSAoKFJocylbS10pCist
XV0pWworLQorLS8qIEVuYWJsZSBkZWJ1Z2dpbmcgaWYgcmVxdWVzdGVkLiAgKi8KKy0jaWYgXWI0
X2FwaV9QUkVGSVhbREVCVUcKKy0KKy0jIGlmbmRlZiBZWUZQUklOVEYKKy0jICBpbmNsdWRlIDxz
dGRpby5oPiAvKiBJTkZSSU5HRVMgT04gVVNFUiBOQU1FIFNQQUNFICovCistIyAgZGVmaW5lIFlZ
RlBSSU5URiBmcHJpbnRmCistIyBlbmRpZgorLQorLSMgZGVmaW5lIFlZRFBSSU5URihBcmdzKSAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKy1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCistICBpZiAoeXlkZWJ1ZykgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorLSAgICBZWUZQUklOVEYgQXJnczsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKy19IHdoaWxlICgwKQorLQorLV1iNF95eV9sb2NhdGlvbl9wcmludF9kZWZpbmVb
CistCistIyBkZWZpbmUgWVlfU1lNQk9MX1BSSU5UKFRpdGxlLCBUeXBlLCBWYWx1ZSwgTG9jYXRp
b24pICAgICAgICAgICAgICAgICAgICBcCistZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICBpZiAoeXlk
ZWJ1ZykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCistICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgWVlGUFJJTlRGIChzdGRlcnIs
ICIlcyAiLCBUaXRsZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg
ICAgeXlfc3ltYm9sX3ByaW50IChzdGRlcnIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCistICAgICAgICAgICAgICAgICAgVHlwZSwgVmFsdWVdYjRfbG9jYXRp
b25zX2lmKFssIExvY2F0aW9uXSlbXWI0X3VzZXJfYXJnc1spOyBcCistICAgICAgWVlGUFJJTlRG
IChzdGRlcnIsICJcbiIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCistICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCistfSB3aGlsZSAoMCkKKy0KKy1dYjRfeXlfc3ltYm9s
X3ByaW50X2RlZmluZVsKKy0KKy0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KKy18IHl5X3N0YWNrX3ByaW50IC0tIFBy
aW50IHRoZSBzdGF0ZSBzdGFjayBmcm9tIGl0cyBCT1RUT00gdXAgdG8gaXRzIHwKKy18IFRPUCAo
aW5jbHVkZWQpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwKKy1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tKi8KKy0KKy1dYjRfZnVuY3Rpb25fZGVmaW5lKFt5eV9zdGFja19w
cmludF0sIFtzdGF0aWMgdm9pZF0sCistICAgICAgICAgICAgICAgICAgIFtbeXl0eXBlX2ludDE2
ICp5eWJvdHRvbV0sIFt5eWJvdHRvbV1dLAorLSAgICAgICAgICAgICAgICAgICBbW3l5dHlwZV9p
bnQxNiAqeXl0b3BdLCAgICBbeXl0b3BdXSlbCisteworLSAgWVlGUFJJTlRGIChzdGRlcnIsICJT
dGFjayBub3ciKTsKKy0gIGZvciAoOyB5eWJvdHRvbSA8PSB5eXRvcDsgeXlib3R0b20rKykKKy0g
ICAgeworLSAgICAgIGludCB5eWJvdCA9ICp5eWJvdHRvbTsKKy0gICAgICBZWUZQUklOVEYgKHN0
ZGVyciwgIiAlZCIsIHl5Ym90KTsKKy0gICAgfQorLSAgWVlGUFJJTlRGIChzdGRlcnIsICJcbiIp
OworLX0KKy0KKy0jIGRlZmluZSBZWV9TVEFDS19QUklOVChCb3R0b20sIFRvcCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICBpZiAoeXlkZWJ1ZykgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgeXlfc3RhY2tf
cHJpbnQgKChCb3R0b20pLCAoVG9wKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLX0g
d2hpbGUgKDApCistCistCistLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0uCistfCBSZXBvcnQgdGhhdCB0aGUgWVlSVUxFIGlzIGdvaW5nIHRvIGJlIHJl
ZHVjZWQuICB8CistYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSovCistCistXWI0X2Z1bmN0aW9uX2RlZmluZShbeXlfcmVkdWNlX3ByaW50XSwgW3N0YXRp
YyB2b2lkXSwKKy0gICAgICAgICAgICAgICAgICAgW1t5eXR5cGVfaW50MTYgKnl5c3NwXSwgW3l5
c3NwXV0sCistICAgICAgICAgICAgICAgICAgIFtbWVlTVFlQRSAqeXl2c3BdLCBbeXl2c3BdXSwK
Ky0gICAgYjRfbG9jYXRpb25zX2lmKFtbW1lZTFRZUEUgKnl5bHNwXSwgW3l5bHNwXV0sCistICAg
ICAgICAgICAgICAgICAgIF0pW1tpbnQgeXlydWxlXSwgW3l5cnVsZV1dbTRfaWZzZXQoW2I0X3Bh
cnNlX3BhcmFtXSwgWywKKy0gICAgICAgICAgICAgICAgICAgYjRfcGFyc2VfcGFyYW1dKSlbCist
eworLSAgdW5zaWduZWQgbG9uZyB5eWxubyA9IHl5cmxpbmVbeXlydWxlXTsKKy0gIGludCB5eW5y
aHMgPSB5eXIyW3l5cnVsZV07CistICBpbnQgeXlpOworLSAgWVlGUFJJTlRGIChzdGRlcnIsICJS
ZWR1Y2luZyBzdGFjayBieSBydWxlICVkIChsaW5lICVsdSk6XG4iLAorLSAgICAgICAgICAgICB5
eXJ1bGUgLSAxLCB5eWxubyk7CistICAvKiBUaGUgc3ltYm9scyBiZWluZyByZWR1Y2VkLiAgKi8K
Ky0gIGZvciAoeXlpID0gMDsgeXlpIDwgeXlucmhzOyB5eWkrKykKKy0gICAgeworLSAgICAgIFlZ
RlBSSU5URiAoc3RkZXJyLCAiICAgJCVkID0gIiwgeXlpICsgMSk7CistICAgICAgeXlfc3ltYm9s
X3ByaW50IChzdGRlcnIsCistICAgICAgICAgICAgICAgICAgICAgICB5eXN0b3NbeXlzc3BbeXlp
ICsgMSAtIHl5bnJoc11dLAorLSAgICAgICAgICAgICAgICAgICAgICAgJl1iNF9yaHNfdmFsdWUo
eXlucmhzLCB5eWkgKyAxKVsKKy0gICAgICAgICAgICAgICAgICAgICAgIF1iNF9sb2NhdGlvbnNf
aWYoWywgJl1iNF9yaHNfbG9jYXRpb24oeXlucmhzLCB5eWkgKyAxKSlbXWRubAorLSAgICAgICAg
ICAgICAgICAgICAgICAgYjRfdXNlcl9hcmdzWyk7CistICAgICAgWVlGUFJJTlRGIChzdGRlcnIs
ICJcbiIpOworLSAgICB9CistfQorLQorLSMgZGVmaW5lIFlZX1JFRFVDRV9QUklOVChSdWxlKSAg
ICAgICAgICBcCistZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0g
IGlmICh5eWRlYnVnKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICB5eV9yZWR1Y2Vf
cHJpbnQgKHl5c3NwLCB5eXZzcCwgXWI0X2xvY2F0aW9uc19pZihbeXlsc3AsIF0pW1J1bGVdYjRf
dXNlcl9hcmdzWyk7IFwKKy19IHdoaWxlICgwKQorLQorLS8qIE5vbnplcm8gbWVhbnMgcHJpbnQg
cGFyc2UgdHJhY2UuICBJdCBpcyBsZWZ0IHVuaW5pdGlhbGl6ZWQgc28gdGhhdAorLSAgIG11bHRp
cGxlIHBhcnNlcnMgY2FuIGNvZXhpc3QuICAqLworLWludCB5eWRlYnVnOworLSNlbHNlIC8qICFd
YjRfYXBpX1BSRUZJWFtERUJVRyAqLworLSMgZGVmaW5lIFlZRFBSSU5URihBcmdzKQorLSMgZGVm
aW5lIFlZX1NZTUJPTF9QUklOVChUaXRsZSwgVHlwZSwgVmFsdWUsIExvY2F0aW9uKQorLSMgZGVm
aW5lIFlZX1NUQUNLX1BSSU5UKEJvdHRvbSwgVG9wKQorLSMgZGVmaW5lIFlZX1JFRFVDRV9QUklO
VChSdWxlKQorLSNlbmRpZiAvKiAhXWI0X2FwaV9QUkVGSVhbREVCVUcgKi8KKy0KKy0KKy0vKiBZ
WUlOSVRERVBUSCAtLSBpbml0aWFsIHNpemUgb2YgdGhlIHBhcnNlcidzIHN0YWNrcy4gICovCist
I2lmbmRlZiBZWUlOSVRERVBUSAorLSMgZGVmaW5lIFlZSU5JVERFUFRIIF1iNF9zdGFja19kZXB0
aF9pbml0WworLSNlbmRpZgorLQorLS8qIFlZTUFYREVQVEggLS0gbWF4aW11bSBzaXplIHRoZSBz
dGFja3MgY2FuIGdyb3cgdG8gKGVmZmVjdGl2ZSBvbmx5CistICAgaWYgdGhlIGJ1aWx0LWluIHN0
YWNrIGV4dGVuc2lvbiBtZXRob2QgaXMgdXNlZCkuCistCistICAgRG8gbm90IG1ha2UgdGhpcyB2
YWx1ZSB0b28gbGFyZ2U7IHRoZSByZXN1bHRzIGFyZSB1bmRlZmluZWQgaWYKKy0gICBZWVNUQUNL
X0FMTE9DX01BWElNVU0gPCBZWVNUQUNLX0JZVEVTIChZWU1BWERFUFRIKQorLSAgIGV2YWx1YXRl
ZCB3aXRoIGluZmluaXRlLXByZWNpc2lvbiBpbnRlZ2VyIGFyaXRobWV0aWMuICAqLworLQorLSNp
Zm5kZWYgWVlNQVhERVBUSAorLSMgZGVmaW5lIFlZTUFYREVQVEggXWI0X3N0YWNrX2RlcHRoX21h
eFsKKy0jZW5kaWZdYjRfbGFjX2lmKFtbCistCistLyogR2l2ZW4gYSBzdGF0ZSBzdGFjayBzdWNo
IHRoYXQgKllZQk9UVE9NIGlzIGl0cyBib3R0b20sIHN1Y2ggdGhhdAorLSAgICpZWVRPUCBpcyBl
aXRoZXIgaXRzIHRvcCBvciBpcyBZWVRPUF9FTVBUWSB0byBpbmRpY2F0ZSBhbiBlbXB0eQorLSAg
IHN0YWNrLCBhbmQgc3VjaCB0aGF0ICpZWUNBUEFDSVRZIGlzIHRoZSBtYXhpbXVtIG51bWJlciBv
ZiBlbGVtZW50cyBpdAorLSAgIGNhbiBob2xkIHdpdGhvdXQgYSByZWFsbG9jYXRpb24sIG1ha2Ug
c3VyZSB0aGVyZSBpcyBlbm91Z2ggcm9vbSB0bworLSAgIHN0b3JlIFlZQUREIG1vcmUgZWxlbWVu
dHMuICBJZiBub3QsIGFsbG9jYXRlIGEgbmV3IHN0YWNrIHVzaW5nCistICAgWVlTVEFDS19BTExP
QywgY29weSB0aGUgZXhpc3RpbmcgZWxlbWVudHMsIGFuZCBhZGp1c3QgKllZQk9UVE9NLAorLSAg
ICpZWVRPUCwgYW5kICpZWUNBUEFDSVRZIHRvIHJlZmxlY3QgdGhlIG5ldyBjYXBhY2l0eSBhbmQg
bWVtb3J5CistICAgbG9jYXRpb24uICBJZiAqWVlCT1RUT00gIT0gWVlCT1RUT01fTk9fRlJFRSwg
dGhlbiBmcmVlIHRoZSBvbGQgc3RhY2sKKy0gICB1c2luZyBZWVNUQUNLX0ZSRUUuICBSZXR1cm4g
MCBpZiBzdWNjZXNzZnVsIG9yIGlmIG5vIHJlYWxsb2NhdGlvbiBpcworLSAgIHJlcXVpcmVkLiAg
UmV0dXJuIDEgaWYgbWVtb3J5IGlzIGV4aGF1c3RlZC4gICovCistc3RhdGljIGludAorLXl5X2xh
Y19zdGFja19yZWFsbG9jIChZWVNJWkVfVCAqeXljYXBhY2l0eSwgWVlTSVpFX1QgeXlhZGQsCist
I2lmIF1iNF9hcGlfUFJFRklYW0RFQlVHCistICAgICAgICAgICAgICAgICAgICAgIGNoYXIgY29u
c3QgKnl5ZGVidWdfcHJlZml4LAorLSAgICAgICAgICAgICAgICAgICAgICBjaGFyIGNvbnN0ICp5
eWRlYnVnX3N1ZmZpeCwKKy0jZW5kaWYKKy0gICAgICAgICAgICAgICAgICAgICAgeXl0eXBlX2lu
dDE2ICoqeXlib3R0b20sCistICAgICAgICAgICAgICAgICAgICAgIHl5dHlwZV9pbnQxNiAqeXli
b3R0b21fbm9fZnJlZSwKKy0gICAgICAgICAgICAgICAgICAgICAgeXl0eXBlX2ludDE2ICoqeXl0
b3AsIHl5dHlwZV9pbnQxNiAqeXl0b3BfZW1wdHkpCisteworLSAgWVlTSVpFX1QgeXlzaXplX29s
ZCA9CistICAgIChZWVNJWkVfVCkgKCp5eXRvcCA9PSB5eXRvcF9lbXB0eSA/IDAgOiAqeXl0b3Ag
LSAqeXlib3R0b20gKyAxKTsKKy0gIFlZU0laRV9UIHl5c2l6ZV9uZXcgPSB5eXNpemVfb2xkICsg
eXlhZGQ7CistICBpZiAoKnl5Y2FwYWNpdHkgPCB5eXNpemVfbmV3KQorLSAgICB7CistICAgICAg
WVlTSVpFX1QgeXlhbGxvYyA9IDIgKiB5eXNpemVfbmV3OworLSAgICAgIHl5dHlwZV9pbnQxNiAq
eXlib3R0b21fbmV3OworLSAgICAgIC8qIFVzZSBZWU1BWERFUFRIIGZvciBtYXhpbXVtIHN0YWNr
IHNpemUgZ2l2ZW4gdGhhdCB0aGUgc3RhY2sKKy0gICAgICAgICBzaG91bGQgbmV2ZXIgbmVlZCB0
byBncm93IGxhcmdlciB0aGFuIHRoZSBtYWluIHN0YXRlIHN0YWNrCistICAgICAgICAgbmVlZHMg
dG8gZ3JvdyB3aXRob3V0IExBQy4gICovCistICAgICAgaWYgKFlZTUFYREVQVEggPCB5eXNpemVf
bmV3KQorLSAgICAgICAgeworLSAgICAgICAgICBZWURQUklOVEYgKChzdGRlcnIsICIlc21heCBz
aXplIGV4Y2VlZGVkJXMiLCB5eWRlYnVnX3ByZWZpeCwKKy0gICAgICAgICAgICAgICAgICAgICAg
eXlkZWJ1Z19zdWZmaXgpKTsKKy0gICAgICAgICAgcmV0dXJuIDE7CistICAgICAgICB9CistICAg
ICAgaWYgKFlZTUFYREVQVEggPCB5eWFsbG9jKQorLSAgICAgICAgeXlhbGxvYyA9IFlZTUFYREVQ
VEg7CistICAgICAgeXlib3R0b21fbmV3ID0KKy0gICAgICAgICh5eXR5cGVfaW50MTYqKSBZWVNU
QUNLX0FMTE9DICh5eWFsbG9jICogc2l6ZW9mICp5eWJvdHRvbV9uZXcpOworLSAgICAgIGlmICgh
eXlib3R0b21fbmV3KQorLSAgICAgICAgeworLSAgICAgICAgICBZWURQUklOVEYgKChzdGRlcnIs
ICIlc3JlYWxsb2MgZmFpbGVkJXMiLCB5eWRlYnVnX3ByZWZpeCwKKy0gICAgICAgICAgICAgICAg
ICAgICAgeXlkZWJ1Z19zdWZmaXgpKTsKKy0gICAgICAgICAgcmV0dXJuIDE7CistICAgICAgICB9
CistICAgICAgaWYgKCp5eXRvcCAhPSB5eXRvcF9lbXB0eSkKKy0gICAgICAgIHsKKy0gICAgICAg
ICAgWVlDT1BZICh5eWJvdHRvbV9uZXcsICp5eWJvdHRvbSwgeXlzaXplX29sZCk7CistICAgICAg
ICAgICp5eXRvcCA9IHl5Ym90dG9tX25ldyArICh5eXNpemVfb2xkIC0gMSk7CistICAgICAgICB9
CistICAgICAgaWYgKCp5eWJvdHRvbSAhPSB5eWJvdHRvbV9ub19mcmVlKQorLSAgICAgICAgWVlT
VEFDS19GUkVFICgqeXlib3R0b20pOworLSAgICAgICp5eWJvdHRvbSA9IHl5Ym90dG9tX25ldzsK
Ky0gICAgICAqeXljYXBhY2l0eSA9IHl5YWxsb2M7XW00X2lmKGI0X3BlcmNlbnRfZGVmaW5lX2dl
dChbW3BhcnNlLmxhYy5tZW1vcnktdHJhY2VdXSksCistICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbZnVsbF0sIFtbCistICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiJXNyZWFs
bG9jIHRvICVsdSVzIiwgeXlkZWJ1Z19wcmVmaXgsCistICAgICAgICAgICAgICAgICAgKHVuc2ln
bmVkIGxvbmcpIHl5YWxsb2MsIHl5ZGVidWdfc3VmZml4KSk7XV0pWworLSAgICB9CistICByZXR1
cm4gMDsKKy19CistCistLyogRXN0YWJsaXNoIHRoZSBpbml0aWFsIGNvbnRleHQgZm9yIHRoZSBj
dXJyZW50IGxvb2thaGVhZCBpZiBubyBpbml0aWFsCistICAgY29udGV4dCBpcyBjdXJyZW50bHkg
ZXN0YWJsaXNoZWQuCistCistICAgV2UgZGVmaW5lIGEgY29udGV4dCBhcyBhIHNuYXBzaG90IG9m
IHRoZSBwYXJzZXIgc3RhY2tzLiAgV2UgZGVmaW5lCistICAgdGhlIGluaXRpYWwgY29udGV4dCBm
b3IgYSBsb29rYWhlYWQgYXMgdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlCistICAgcGFyc2VyIGlu
aXRpYWxseSBleGFtaW5lcyB0aGF0IGxvb2thaGVhZCBpbiBvcmRlciB0byBzZWxlY3QgYQorLSAg
IHN5bnRhY3RpYyBhY3Rpb24uICBUaHVzLCBpZiB0aGUgbG9va2FoZWFkIGV2ZW50dWFsbHkgcHJv
dmVzCistICAgc3ludGFjdGljYWxseSB1bmFjY2VwdGFibGUgKHBvc3NpYmx5IGluIGEgbGF0ZXIg
Y29udGV4dCByZWFjaGVkIHZpYSBhCistICAgc2VyaWVzIG9mIHJlZHVjdGlvbnMpLCB0aGUgaW5p
dGlhbCBjb250ZXh0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZQorLSAgIHRoZSBleGFjdCBzZXQg
b2YgdG9rZW5zIHRoYXQgd291bGQgYmUgc3ludGFjdGljYWxseSBhY2NlcHRhYmxlIGluIHRoZQor
LSAgIGxvb2thaGVhZCdzIHBsYWNlLiAgTW9yZW92ZXIsIGl0IGlzIHRoZSBjb250ZXh0IGFmdGVy
IHdoaWNoIGFueQorLSAgIGZ1cnRoZXIgc2VtYW50aWMgYWN0aW9ucyB3b3VsZCBiZSBlcnJvbmVv
dXMgYmVjYXVzZSB0aGV5IHdvdWxkIGJlCistICAgZGV0ZXJtaW5lZCBieSBhIHN5bnRhY3RpY2Fs
bHkgdW5hY2NlcHRhYmxlIHRva2VuLgorLQorLSAgIFlZX0xBQ19FU1RBQkxJU0ggc2hvdWxkIGJl
IGludm9rZWQgd2hlbiBhIHJlZHVjdGlvbiBpcyBhYm91dCB0byBiZQorLSAgIHBlcmZvcm1lZCBp
biBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgKHdoaWNoLCBmb3IgdGhlIHB1cnBvc2VzIG9mIExBQywK
Ky0gICBpbmNsdWRlcyBjb25zaXN0ZW50IHN0YXRlcyB0aGF0IGRvbid0IGtub3cgdGhleSdyZSBj
b25zaXN0ZW50IGJlY2F1c2UKKy0gICB0aGVpciBkZWZhdWx0IHJlZHVjdGlvbnMgaGF2ZSBiZWVu
IGRpc2FibGVkKS4gIElmZiB0aGVyZSBpcyBhCistICAgbG9va2FoZWFkIHRva2VuLCBpdCBzaG91
bGQgYWxzbyBiZSBpbnZva2VkIGJlZm9yZSByZXBvcnRpbmcgYSBzeW50YXgKKy0gICBlcnJvci4g
IFRoaXMgbGF0dGVyIGNhc2UgaXMgZm9yIHRoZSBzYWtlIG9mIHRoZSBkZWJ1Z2dpbmcgb3V0cHV0
LgorLQorLSAgIEZvciBwYXJzZS5sYWM9ZnVsbCwgdGhlIGltcGxlbWVudGF0aW9uIG9mIFlZX0xB
Q19FU1RBQkxJU0ggaXMgYXMKKy0gICBmb2xsb3dzLiAgSWYgbm8gaW5pdGlhbCBjb250ZXh0IGlz
IGN1cnJlbnRseSBlc3RhYmxpc2hlZCBmb3IgdGhlCistICAgY3VycmVudCBsb29rYWhlYWQsIHRo
ZW4gY2hlY2sgaWYgdGhhdCBsb29rYWhlYWQgY2FuIGV2ZW50dWFsbHkgYmUKKy0gICBzaGlmdGVk
IGlmIHN5bnRhY3RpYyBhY3Rpb25zIGNvbnRpbnVlIGZyb20gdGhlIGN1cnJlbnQgY29udGV4dC4K
Ky0gICBSZXBvcnQgYSBzeW50YXggZXJyb3IgaWYgaXQgY2Fubm90LiAgKi8KKy0jZGVmaW5lIFlZ
X0xBQ19FU1RBQkxJU0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
Ky1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKy0gIGlmICgheXlfbGFjX2VzdGFibGlzaGVkKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICBZWURQUklOVEYgKChz
dGRlcnIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAg
ICAgICAgICAgICAiTEFDOiBpbml0aWFsIGNvbnRleHQgZXN0YWJsaXNoZWQgZm9yICVzXG4iLCAg
IFwKKy0gICAgICAgICAgICAgICAgICB5eXRuYW1lW3l5dG9rZW5dKSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKy0gICAgICB5eV9sYWNfZXN0YWJsaXNoZWQgPSAxOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIGludCB5eV9s
YWNfc3RhdHVzID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAg
ICAgICAgeXlfbGFjICh5eWVzYSwgJnl5ZXMsICZ5eWVzX2NhcGFjaXR5LCB5eXNzcCwgeXl0b2tl
bik7IFwKKy0gICAgICAgIGlmICh5eV9sYWNfc3RhdHVzID09IDIpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKy0gICAgICAgICAgZ290byB5eWV4aGF1c3RlZGxhYjsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIGlmICh5eV9sYWNfc3RhdHVz
ID09IDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgICAgZ290
byB5eWVycmxhYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0g
ICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKy0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKy19IHdoaWxlICgwKQorLQorLS8qIERpc2NhcmQgYW55IHBy
ZXZpb3VzIGluaXRpYWwgbG9va2FoZWFkIGNvbnRleHQgYmVjYXVzZSBvZiBFdmVudCwKKy0gICB3
aGljaCBtYXkgYmUgYSBsb29rYWhlYWQgY2hhbmdlIG9yIGFuIGludmFsaWRhdGlvbiBvZiB0aGUg
Y3VycmVudGx5CistICAgZXN0YWJsaXNoZWQgaW5pdGlhbCBjb250ZXh0IGZvciB0aGUgY3VycmVu
dCBsb29rYWhlYWQuCistCistICAgVGhlIG1vc3QgY29tbW9uIGV4YW1wbGUgb2YgYSBsb29rYWhl
YWQgY2hhbmdlIGlzIGEgc2hpZnQuICBBbiBleGFtcGxlCistICAgb2YgYm90aCBjYXNlcyBpcyBz
eW50YXggZXJyb3IgcmVjb3ZlcnkuICBUaGF0IGlzLCBhIHN5bnRheCBlcnJvcgorLSAgIG9jY3Vy
cyB3aGVuIHRoZSBsb29rYWhlYWQgaXMgc3ludGFjdGljYWxseSBlcnJvbmVvdXMgZm9yIHRoZQor
LSAgIGN1cnJlbnRseSBlc3RhYmxpc2hlZCBpbml0aWFsIGNvbnRleHQsIHNvIGVycm9yIHJlY292
ZXJ5IG1hbmlwdWxhdGVzCistICAgdGhlIHBhcnNlciBzdGFja3MgdG8gdHJ5IHRvIGZpbmQgYSBu
ZXcgaW5pdGlhbCBjb250ZXh0IGluIHdoaWNoIHRoZQorLSAgIGN1cnJlbnQgbG9va2FoZWFkIGlz
IHN5bnRhY3RpY2FsbHkgYWNjZXB0YWJsZS4gIElmIGl0IGZhaWxzIHRvIGZpbmQKKy0gICBzdWNo
IGEgY29udGV4dCwgaXQgZGlzY2FyZHMgdGhlIGxvb2thaGVhZC4gICovCistI2lmIF1iNF9hcGlf
UFJFRklYW0RFQlVHCistIyBkZWZpbmUgWVlfTEFDX0RJU0NBUkQoRXZlbnQpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy1kbyB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAg
aWYgKHl5X2xhY19lc3RhYmxpc2hlZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCistICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICBpZiAoeXlkZWJ1Zykg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
LSAgICAgICAgWVlGUFJJTlRGIChzdGRlcnIsICJMQUM6IGluaXRpYWwgY29udGV4dCBkaXNjYXJk
ZWQgZHVlIHRvICIgICAgICBcCistICAgICAgICAgICAgICAgICAgIEV2ZW50ICJcbiIpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICB5eV9sYWNfZXN0
YWJsaXNoZWQgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCistfSB3aGlsZSAoMCkKKy0jZWxzZQorLSMgZGVmaW5lIFlZ
X0xBQ19ESVNDQVJEKEV2ZW50KSB5eV9sYWNfZXN0YWJsaXNoZWQgPSAwCistI2VuZGlmCistCist
LyogR2l2ZW4gdGhlIHN0YWNrIHdob3NlIHRvcCBpcyAqWVlTU1AsIHJldHVybiAwIGlmZiBZWVRP
S0VOIGNhbgorLSAgIGV2ZW50dWFsbHkgKGFmdGVyIHBlcmhhcHMgc29tZSByZWR1Y3Rpb25zKSBi
ZSBzaGlmdGVkLCByZXR1cm4gMSBpZgorLSAgIG5vdCwgb3IgcmV0dXJuIDIgaWYgbWVtb3J5IGlz
IGV4aGF1c3RlZC4gIEFzIHByZWNvbmRpdGlvbnMgYW5kCistICAgcG9zdGNvbmRpdGlvbnM6ICpZ
WUVTX0NBUEFDSVRZIGlzIHRoZSBhbGxvY2F0ZWQgc2l6ZSBvZiB0aGUgYXJyYXkgdG8KKy0gICB3
aGljaCAqWVlFUyBwb2ludHMsIGFuZCBlaXRoZXIgKllZRVMgPSBZWUVTQSBvciAqWVlFUyBwb2lu
dHMgdG8gYW4KKy0gICBhcnJheSBhbGxvY2F0ZWQgd2l0aCBZWVNUQUNLX0FMTE9DLiAgeXlfbGFj
IG1heSBvdmVyd3JpdGUgdGhlCistICAgY29udGVudHMgb2YgZWl0aGVyIGFycmF5LCBhbHRlciAq
WVlFUyBhbmQgKllZRVNfQ0FQQUNJVFksIGFuZCBmcmVlCistICAgYW55IG9sZCAqWVlFUyBvdGhl
ciB0aGFuIFlZRVNBLiAgKi8KKy1zdGF0aWMgaW50CisteXlfbGFjICh5eXR5cGVfaW50MTYgKnl5
ZXNhLCB5eXR5cGVfaW50MTYgKip5eWVzLAorLSAgICAgICAgWVlTSVpFX1QgKnl5ZXNfY2FwYWNp
dHksIHl5dHlwZV9pbnQxNiAqeXlzc3AsIGludCB5eXRva2VuKQorLXsKKy0gIHl5dHlwZV9pbnQx
NiAqeXllc19wcmV2ID0geXlzc3A7CistICB5eXR5cGVfaW50MTYgKnl5ZXNwID0geXllc19wcmV2
OworLSAgWVlEUFJJTlRGICgoc3RkZXJyLCAiTEFDOiBjaGVja2luZyBsb29rYWhlYWQgJXM6Iiwg
eXl0bmFtZVt5eXRva2VuXSkpOworLSAgaWYgKHl5dG9rZW4gPT0gWVlVTkRFRlRPSykKKy0gICAg
eworLSAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiBBbHdheXMgRXJyXG4iKSk7CistICAgICAg
cmV0dXJuIDE7CistICAgIH0KKy0gIHdoaWxlICgxKQorLSAgICB7CistICAgICAgaW50IHl5cnVs
ZSA9IHl5cGFjdFsqeXllc3BdOworLSAgICAgIGlmICh5eXBhY3RfdmFsdWVfaXNfZGVmYXVsdCAo
eXlydWxlKQorLSAgICAgICAgICB8fCAoeXlydWxlICs9IHl5dG9rZW4pIDwgMCB8fCBZWUxBU1Qg
PCB5eXJ1bGUKKy0gICAgICAgICAgfHwgeXljaGVja1t5eXJ1bGVdICE9IHl5dG9rZW4pCistICAg
ICAgICB7CistICAgICAgICAgIHl5cnVsZSA9IHl5ZGVmYWN0Wyp5eWVzcF07CistICAgICAgICAg
IGlmICh5eXJ1bGUgPT0gMCkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICBZWURQUklO
VEYgKChzdGRlcnIsICIgRXJyXG4iKSk7CistICAgICAgICAgICAgICByZXR1cm4gMTsKKy0gICAg
ICAgICAgICB9CistICAgICAgICB9CistICAgICAgZWxzZQorLSAgICAgICAgeworLSAgICAgICAg
ICB5eXJ1bGUgPSB5eXRhYmxlW3l5cnVsZV07CistICAgICAgICAgIGlmICh5eXRhYmxlX3ZhbHVl
X2lzX2Vycm9yICh5eXJ1bGUpKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgIFlZRFBS
SU5URiAoKHN0ZGVyciwgIiBFcnJcbiIpKTsKKy0gICAgICAgICAgICAgIHJldHVybiAxOworLSAg
ICAgICAgICAgIH0KKy0gICAgICAgICAgaWYgKDAgPCB5eXJ1bGUpCistICAgICAgICAgICAgewor
LSAgICAgICAgICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiIFMlZFxuIiwgeXlydWxlKSk7Cist
ICAgICAgICAgICAgICByZXR1cm4gMDsKKy0gICAgICAgICAgICB9CistICAgICAgICAgIHl5cnVs
ZSA9IC15eXJ1bGU7CistICAgICAgICB9CistICAgICAgeworLSAgICAgICAgWVlTSVpFX1QgeXls
ZW4gPSB5eXIyW3l5cnVsZV07CistICAgICAgICBZWURQUklOVEYgKChzdGRlcnIsICIgUiVkIiwg
eXlydWxlIC0gMSkpOworLSAgICAgICAgaWYgKHl5ZXNwICE9IHl5ZXNfcHJldikKKy0gICAgICAg
ICAgeworLSAgICAgICAgICAgIFlZU0laRV9UIHl5c2l6ZSA9IChZWVNJWkVfVCkgKHl5ZXNwIC0g
Knl5ZXMgKyAxKTsKKy0gICAgICAgICAgICBpZiAoeXlsZW4gPCB5eXNpemUpCistICAgICAgICAg
ICAgICB7CistICAgICAgICAgICAgICAgIHl5ZXNwIC09IHl5bGVuOworLSAgICAgICAgICAgICAg
ICB5eWxlbiA9IDA7CistICAgICAgICAgICAgICB9CistICAgICAgICAgICAgZWxzZQorLSAgICAg
ICAgICAgICAgeworLSAgICAgICAgICAgICAgICB5eWxlbiAtPSB5eXNpemU7CistICAgICAgICAg
ICAgICAgIHl5ZXNwID0geXllc19wcmV2OworLSAgICAgICAgICAgICAgfQorLSAgICAgICAgICB9
CistICAgICAgICBpZiAoeXlsZW4pCistICAgICAgICAgIHl5ZXNwID0geXllc19wcmV2IC09IHl5
bGVuOworLSAgICAgIH0KKy0gICAgICB7CistICAgICAgICB5eXR5cGVfaW50MTYgeXlzdGF0ZTsK
Ky0gICAgICAgIHsKKy0gICAgICAgICAgY29uc3QgaW50IHl5bGhzID0geXlyMVt5eXJ1bGVdIC0g
WVlOVE9LRU5TOworLSAgICAgICAgICBjb25zdCBpbnQgeXlpID0geXlwZ290b1t5eWxoc10gKyAq
eXllc3A7CistICAgICAgICAgIHl5c3RhdGUgPSAoKHl5dHlwZV9pbnQxNikKKy0gICAgICAgICAg
ICAgICAgICAgICAoMCA8PSB5eWkgJiYgeXlpIDw9IFlZTEFTVCAmJiB5eWNoZWNrW3l5aV0gPT0g
Knl5ZXNwCistICAgICAgICAgICAgICAgICAgICAgID8geXl0YWJsZVt5eWldCistICAgICAgICAg
ICAgICAgICAgICAgIDogeXlkZWZnb3RvW3l5bGhzXSkpOworLSAgICAgICAgfQorLSAgICAgICAg
aWYgKHl5ZXNwID09IHl5ZXNfcHJldikKKy0gICAgICAgICAgeworLSAgICAgICAgICAgIHl5ZXNw
ID0gKnl5ZXM7CistICAgICAgICAgICAgKnl5ZXNwID0geXlzdGF0ZTsKKy0gICAgICAgICAgfQor
LSAgICAgICAgZWxzZQorLSAgICAgICAgICB7CistICAgICAgICAgICAgaWYgKHl5X2xhY19zdGFj
a19yZWFsbG9jICh5eWVzX2NhcGFjaXR5LCAxLAorLSNpZiBdYjRfYXBpX1BSRUZJWFtERUJVRwor
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAoIiwgIikiLAorLSNlbmRp
ZgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeXllcywgeXllc2EsICZ5
eWVzcCwgeXllc19wcmV2KSkKKy0gICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgWVlE
UFJJTlRGICgoc3RkZXJyLCAiXG4iKSk7CistICAgICAgICAgICAgICAgIHJldHVybiAyOworLSAg
ICAgICAgICAgICAgfQorLSAgICAgICAgICAgICorK3l5ZXNwID0geXlzdGF0ZTsKKy0gICAgICAg
ICAgfQorLSAgICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiIEclZCIsIChpbnQpIHl5c3RhdGUp
KTsKKy0gICAgICB9CistICAgIH0KKy19XV0pWworLQorLQorLSNpZiBZWUVSUk9SX1ZFUkJPU0UK
Ky0KKy0jIGlmbmRlZiB5eXN0cmxlbgorLSMgIGlmIGRlZmluZWQgX19HTElCQ19fICYmIGRlZmlu
ZWQgX1NUUklOR19ICistIyAgIGRlZmluZSB5eXN0cmxlbiBzdHJsZW4KKy0jICBlbHNlCistLyog
UmV0dXJuIHRoZSBsZW5ndGggb2YgWVlTVFIuICAqLworLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5
c3RybGVuXSwgW3N0YXRpYyBZWVNJWkVfVF0sCistICAgW1tjb25zdCBjaGFyICp5eXN0cl0sIFt5
eXN0cl1dKVsKKy17CistICBZWVNJWkVfVCB5eWxlbjsKKy0gIGZvciAoeXlsZW4gPSAwOyB5eXN0
clt5eWxlbl07IHl5bGVuKyspCistICAgIGNvbnRpbnVlOworLSAgcmV0dXJuIHl5bGVuOworLX0K
Ky0jICBlbmRpZgorLSMgZW5kaWYKKy0KKy0jIGlmbmRlZiB5eXN0cGNweQorLSMgIGlmIGRlZmlu
ZWQgX19HTElCQ19fICYmIGRlZmluZWQgX1NUUklOR19IICYmIGRlZmluZWQgX0dOVV9TT1VSQ0UK
Ky0jICAgZGVmaW5lIHl5c3RwY3B5IHN0cGNweQorLSMgIGVsc2UKKy0vKiBDb3B5IFlZU1JDIHRv
IFlZREVTVCwgcmV0dXJuaW5nIHRoZSBhZGRyZXNzIG9mIHRoZSB0ZXJtaW5hdGluZyAnXDAnIGlu
CistICAgWVlERVNULiAgKi8KKy1dYjRfZnVuY3Rpb25fZGVmaW5lKFt5eXN0cGNweV0sIFtzdGF0
aWMgY2hhciAqXSwKKy0gICBbW2NoYXIgKnl5ZGVzdF0sIFt5eWRlc3RdXSwgW1tjb25zdCBjaGFy
ICp5eXNyY10sIFt5eXNyY11dKVsKKy17CistICBjaGFyICp5eWQgPSB5eWRlc3Q7CistICBjb25z
dCBjaGFyICp5eXMgPSB5eXNyYzsKKy0KKy0gIHdoaWxlICgoKnl5ZCsrID0gKnl5cysrKSAhPSAn
XDAnKQorLSAgICBjb250aW51ZTsKKy0KKy0gIHJldHVybiB5eWQgLSAxOworLX0KKy0jICBlbmRp
ZgorLSMgZW5kaWYKKy0KKy0jIGlmbmRlZiB5eXRuYW1lcnIKKy0vKiBDb3B5IHRvIFlZUkVTIHRo
ZSBjb250ZW50cyBvZiBZWVNUUiBhZnRlciBzdHJpcHBpbmcgYXdheSB1bm5lY2Vzc2FyeQorLSAg
IHF1b3RlcyBhbmQgYmFja3NsYXNoZXMsIHNvIHRoYXQgaXQncyBzdWl0YWJsZSBmb3IgeXllcnJv
ci4gIFRoZQorLSAgIGhldXJpc3RpYyBpcyB0aGF0IGRvdWJsZS1xdW90aW5nIGlzIHVubmVjZXNz
YXJ5IHVubGVzcyB0aGUgc3RyaW5nCistICAgY29udGFpbnMgYW4gYXBvc3Ryb3BoZSwgYSBjb21t
YSwgb3IgYmFja3NsYXNoIChvdGhlciB0aGFuCistICAgYmFja3NsYXNoLWJhY2tzbGFzaCkuICBZ
WVNUUiBpcyB0YWtlbiBmcm9tIHl5dG5hbWUuICBJZiBZWVJFUyBpcworLSAgIG51bGwsIGRvIG5v
dCBjb3B5OyBpbnN0ZWFkLCByZXR1cm4gdGhlIGxlbmd0aCBvZiB3aGF0IHRoZSByZXN1bHQKKy0g
ICB3b3VsZCBoYXZlIGJlZW4uICAqLworLXN0YXRpYyBZWVNJWkVfVAorLXl5dG5hbWVyciAoY2hh
ciAqeXlyZXMsIGNvbnN0IGNoYXIgKnl5c3RyKQorLXsKKy0gIGlmICgqeXlzdHIgPT0gJyInKQor
LSAgICB7CistICAgICAgWVlTSVpFX1QgeXluID0gMDsKKy0gICAgICBjaGFyIGNvbnN0ICp5eXAg
PSB5eXN0cjsKKy0KKy0gICAgICBmb3IgKDs7KQorLSAgICAgICAgc3dpdGNoICgqKyt5eXApCist
ICAgICAgICAgIHsKKy0gICAgICAgICAgY2FzZSAnXCcnOgorLSAgICAgICAgICBjYXNlICcsJzoK
Ky0gICAgICAgICAgICBnb3RvIGRvX25vdF9zdHJpcF9xdW90ZXM7CistCistICAgICAgICAgIGNh
c2UgJ1xcJzoKKy0gICAgICAgICAgICBpZiAoKisreXlwICE9ICdcXCcpCistICAgICAgICAgICAg
ICBnb3RvIGRvX25vdF9zdHJpcF9xdW90ZXM7CistICAgICAgICAgICAgZWxzZQorLSAgICAgICAg
ICAgICAgZ290byBhcHBlbmQ7CistCistICAgICAgICAgIGFwcGVuZDoKKy0gICAgICAgICAgZGVm
YXVsdDoKKy0gICAgICAgICAgICBpZiAoeXlyZXMpCistICAgICAgICAgICAgICB5eXJlc1t5eW5d
ID0gKnl5cDsKKy0gICAgICAgICAgICB5eW4rKzsKKy0gICAgICAgICAgICBicmVhazsKKy0KKy0g
ICAgICAgICAgY2FzZSAnIic6CistICAgICAgICAgICAgaWYgKHl5cmVzKQorLSAgICAgICAgICAg
ICAgeXlyZXNbeXluXSA9ICdcMCc7CistICAgICAgICAgICAgcmV0dXJuIHl5bjsKKy0gICAgICAg
ICAgfQorLSAgICBkb19ub3Rfc3RyaXBfcXVvdGVzOiA7CistICAgIH0KKy0KKy0gIGlmICghIHl5
cmVzKQorLSAgICByZXR1cm4geXlzdHJsZW4gKHl5c3RyKTsKKy0KKy0gIHJldHVybiAoWVlTSVpF
X1QpICh5eXN0cGNweSAoeXlyZXMsIHl5c3RyKSAtIHl5cmVzKTsKKy19CistIyBlbmRpZgorLQor
LS8qIENvcHkgaW50byAqWVlNU0csIHdoaWNoIGlzIG9mIHNpemUgKllZTVNHX0FMTE9DLCBhbiBl
cnJvciBtZXNzYWdlCistICAgYWJvdXQgdGhlIHVuZXhwZWN0ZWQgdG9rZW4gWVlUT0tFTiBmb3Ig
dGhlIHN0YXRlIHN0YWNrIHdob3NlIHRvcCBpcworLSAgIFlZU1NQLl1iNF9sYWNfaWYoW1sgIElu
IG9yZGVyIHRvIHNlZSBpZiBhIHBhcnRpY3VsYXIgdG9rZW4gVCBpcyBhCistICAgdmFsaWQgbG9v
YWtoZWFkLCBpbnZva2UgeXlfbGFjIChZWUVTQSwgWVlFUywgWVlFU19DQVBBQ0lUWSwgWVlTU1As
IFQpLl1dKVsKKy0KKy0gICBSZXR1cm4gMCBpZiAqWVlNU0cgd2FzIHN1Y2Nlc3NmdWxseSB3cml0
dGVuLiAgUmV0dXJuIDEgaWYgKllZTVNHIGlzCistICAgbm90IGxhcmdlIGVub3VnaCB0byBob2xk
IHRoZSBtZXNzYWdlLiAgSW4gdGhhdCBjYXNlLCBhbHNvIHNldAorLSAgICpZWU1TR19BTExPQyB0
byB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIGJ5dGVzLiAgUmV0dXJuIDIgaWYgdGhlCistICAgcmVx
dWlyZWQgbnVtYmVyIG9mIGJ5dGVzIGlzIHRvbyBsYXJnZSB0byBzdG9yZV1iNF9sYWNfaWYoW1sg
b3IgaWYKKy0gICB5eV9sYWMgcmV0dXJuZWQgMl1dKVsuICAqLworLXN0YXRpYyBpbnQKKy15eXN5
bnRheF9lcnJvciAoWVlTSVpFX1QgKnl5bXNnX2FsbG9jLCBjaGFyICoqeXltc2csCistICAgICAg
ICAgICAgICAgIF1iNF9sYWNfaWYoW1t5eXR5cGVfaW50MTYgKnl5ZXNhLCB5eXR5cGVfaW50MTYg
Kip5eWVzLAorLSAgICAgICAgICAgICAgICBZWVNJWkVfVCAqeXllc19jYXBhY2l0eSwgXV0pW3l5
dHlwZV9pbnQxNiAqeXlzc3AsIGludCB5eXRva2VuKQorLXsKKy0gIFlZU0laRV9UIHl5c2l6ZTAg
PSB5eXRuYW1lcnIgKFlZX05VTExQVFIsIHl5dG5hbWVbeXl0b2tlbl0pOworLSAgWVlTSVpFX1Qg
eXlzaXplID0geXlzaXplMDsKKy0gIGVudW0geyBZWUVSUk9SX1ZFUkJPU0VfQVJHU19NQVhJTVVN
ID0gNSB9OworLSAgLyogSW50ZXJuYXRpb25hbGl6ZWQgZm9ybWF0IHN0cmluZy4gKi8KKy0gIGNv
bnN0IGNoYXIgKnl5Zm9ybWF0ID0gWVlfTlVMTFBUUjsKKy0gIC8qIEFyZ3VtZW50cyBvZiB5eWZv
cm1hdC4gKi8KKy0gIGNoYXIgY29uc3QgKnl5YXJnW1lZRVJST1JfVkVSQk9TRV9BUkdTX01BWElN
VU1dOworLSAgLyogTnVtYmVyIG9mIHJlcG9ydGVkIHRva2VucyAob25lIGZvciB0aGUgInVuZXhw
ZWN0ZWQiLCBvbmUgcGVyCistICAgICAiZXhwZWN0ZWQiKS4gKi8KKy0gIGludCB5eWNvdW50ID0g
MDsKKy0KKy0gIC8qIFRoZXJlIGFyZSBtYW55IHBvc3NpYmlsaXRpZXMgaGVyZSB0byBjb25zaWRl
cjoKKy0gICAgIC0gSWYgdGhpcyBzdGF0ZSBpcyBhIGNvbnNpc3RlbnQgc3RhdGUgd2l0aCBhIGRl
ZmF1bHQgYWN0aW9uLCB0aGVuCistICAgICAgIHRoZSBvbmx5IHdheSB0aGlzIGZ1bmN0aW9uIHdh
cyBpbnZva2VkIGlzIGlmIHRoZSBkZWZhdWx0IGFjdGlvbgorLSAgICAgICBpcyBhbiBlcnJvciBh
Y3Rpb24uICBJbiB0aGF0IGNhc2UsIGRvbid0IGNoZWNrIGZvciBleHBlY3RlZAorLSAgICAgICB0
b2tlbnMgYmVjYXVzZSB0aGVyZSBhcmUgbm9uZS4KKy0gICAgIC0gVGhlIG9ubHkgd2F5IHRoZXJl
IGNhbiBiZSBubyBsb29rYWhlYWQgcHJlc2VudCAoaW4geXljaGFyKSBpcyBpZgorLSAgICAgICB0
aGlzIHN0YXRlIGlzIGEgY29uc2lzdGVudCBzdGF0ZSB3aXRoIGEgZGVmYXVsdCBhY3Rpb24uICBU
aHVzLAorLSAgICAgICBkZXRlY3RpbmcgdGhlIGFic2VuY2Ugb2YgYSBsb29rYWhlYWQgaXMgc3Vm
ZmljaWVudCB0byBkZXRlcm1pbmUKKy0gICAgICAgdGhhdCB0aGVyZSBpcyBubyB1bmV4cGVjdGVk
IG9yIGV4cGVjdGVkIHRva2VuIHRvIHJlcG9ydC4gIEluIHRoYXQKKy0gICAgICAgY2FzZSwganVz
dCByZXBvcnQgYSBzaW1wbGUgInN5bnRheCBlcnJvciIuCistICAgICAtIERvbid0IGFzc3VtZSB0
aGVyZSBpc24ndCBhIGxvb2thaGVhZCBqdXN0IGJlY2F1c2UgdGhpcyBzdGF0ZSBpcyBhCistICAg
ICAgIGNvbnNpc3RlbnQgc3RhdGUgd2l0aCBhIGRlZmF1bHQgYWN0aW9uLiAgVGhlcmUgbWlnaHQg
aGF2ZSBiZWVuIGEKKy0gICAgICAgcHJldmlvdXMgaW5jb25zaXN0ZW50IHN0YXRlLCBjb25zaXN0
ZW50IHN0YXRlIHdpdGggYSBub24tZGVmYXVsdAorLSAgICAgICBhY3Rpb24sIG9yIHVzZXIgc2Vt
YW50aWMgYWN0aW9uIHRoYXQgbWFuaXB1bGF0ZWQgeXljaGFyLl1iNF9sYWNfaWYoW1sKKy0gICAg
ICAgSW4gdGhlIGZpcnN0IHR3byBjYXNlcywgaXQgbWlnaHQgYXBwZWFyIHRoYXQgdGhlIGN1cnJl
bnQgc3ludGF4CistICAgICAgIGVycm9yIHNob3VsZCBoYXZlIGJlZW4gZGV0ZWN0ZWQgaW4gdGhl
IHByZXZpb3VzIHN0YXRlIHdoZW4geXlfbGFjCistICAgICAgIHdhcyBpbnZva2VkLiAgSG93ZXZl
ciwgYXQgdGhhdCB0aW1lLCB0aGVyZSBtaWdodCBoYXZlIGJlZW4gYQorLSAgICAgICBkaWZmZXJl
bnQgc3ludGF4IGVycm9yIHRoYXQgZGlzY2FyZGVkIGEgZGlmZmVyZW50IGluaXRpYWwgY29udGV4
dAorLSAgICAgICBkdXJpbmcgZXJyb3IgcmVjb3ZlcnksIGxlYXZpbmcgYmVoaW5kIHRoZSBjdXJy
ZW50IGxvb2thaGVhZC5dXSwgW1sKKy0gICAgIC0gT2YgY291cnNlLCB0aGUgZXhwZWN0ZWQgdG9r
ZW4gbGlzdCBkZXBlbmRzIG9uIHN0YXRlcyB0byBoYXZlCistICAgICAgIGNvcnJlY3QgbG9va2Fo
ZWFkIGluZm9ybWF0aW9uLCBhbmQgaXQgZGVwZW5kcyBvbiB0aGUgcGFyc2VyIG5vdAorLSAgICAg
ICB0byBwZXJmb3JtIGV4dHJhIHJlZHVjdGlvbnMgYWZ0ZXIgZmV0Y2hpbmcgYSBsb29rYWhlYWQg
ZnJvbSB0aGUKKy0gICAgICAgc2Nhbm5lciBhbmQgYmVmb3JlIGRldGVjdGluZyBhIHN5bnRheCBl
cnJvci4gIFRodXMsIHN0YXRlIG1lcmdpbmcKKy0gICAgICAgKGZyb20gTEFMUiBvciBJRUxSKSBh
bmQgZGVmYXVsdCByZWR1Y3Rpb25zIGNvcnJ1cHQgdGhlIGV4cGVjdGVkCistICAgICAgIHRva2Vu
IGxpc3QuICBIb3dldmVyLCB0aGUgbGlzdCBpcyBjb3JyZWN0IGZvciBjYW5vbmljYWwgTFIgd2l0
aAorLSAgICAgICBvbmUgZXhjZXB0aW9uOiBpdCB3aWxsIHN0aWxsIGNvbnRhaW4gYW55IHRva2Vu
IHRoYXQgd2lsbCBub3QgYmUKKy0gICAgICAgYWNjZXB0ZWQgZHVlIHRvIGFuIGVycm9yIGFjdGlv
biBpbiBhIGxhdGVyIHN0YXRlLl1dKVsKKy0gICovCistICBpZiAoeXl0b2tlbiAhPSBZWUVNUFRZ
KQorLSAgICB7CistICAgICAgaW50IHl5biA9IHl5cGFjdFsqeXlzc3BdO11iNF9sYWNfaWYoW1sK
Ky0gICAgICBZWURQUklOVEYgKChzdGRlcnIsICJDb25zdHJ1Y3Rpbmcgc3ludGF4IGVycm9yIG1l
c3NhZ2VcbiIpKTtdXSlbCistICAgICAgeXlhcmdbeXljb3VudCsrXSA9IHl5dG5hbWVbeXl0b2tl
bl07CistICAgICAgaWYgKCF5eXBhY3RfdmFsdWVfaXNfZGVmYXVsdCAoeXluKSkKKy0gICAgICAg
IHtdYjRfbGFjX2lmKFtdLCBbWworLSAgICAgICAgICAvKiBTdGFydCBZWVggYXQgLVlZTiBpZiBu
ZWdhdGl2ZSB0byBhdm9pZCBuZWdhdGl2ZSBpbmRleGVzIGluCistICAgICAgICAgICAgIFlZQ0hF
Q0suICBJbiBvdGhlciB3b3Jkcywgc2tpcCB0aGUgZmlyc3QgLVlZTiBhY3Rpb25zIGZvcgorLSAg
ICAgICAgICAgICB0aGlzIHN0YXRlIGJlY2F1c2UgdGhleSBhcmUgZGVmYXVsdCBhY3Rpb25zLiAg
Ki8KKy0gICAgICAgICAgaW50IHl5eGJlZ2luID0geXluIDwgMCA/IC15eW4gOiAwOworLSAgICAg
ICAgICAvKiBTdGF5IHdpdGhpbiBib3VuZHMgb2YgYm90aCB5eWNoZWNrIGFuZCB5eXRuYW1lLiAg
Ki8KKy0gICAgICAgICAgaW50IHl5Y2hlY2tsaW0gPSBZWUxBU1QgLSB5eW4gKyAxOworLSAgICAg
ICAgICBpbnQgeXl4ZW5kID0geXljaGVja2xpbSA8IFlZTlRPS0VOUyA/IHl5Y2hlY2tsaW0gOiBZ
WU5UT0tFTlM7XV0pWworLSAgICAgICAgICBpbnQgeXl4O11iNF9sYWNfaWYoW1sKKy0KKy0gICAg
ICAgICAgZm9yICh5eXggPSAwOyB5eXggPCBZWU5UT0tFTlM7ICsreXl4KQorLSAgICAgICAgICAg
IGlmICh5eXggIT0gWVlURVJST1IgJiYgeXl4ICE9IFlZVU5ERUZUT0spCistICAgICAgICAgICAg
ICB7CistICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICBpbnQgeXlfbGFjX3N0
YXR1cyA9IHl5X2xhYyAoeXllc2EsIHl5ZXMsIHl5ZXNfY2FwYWNpdHksCistICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHl5c3NwLCB5eXgpOworLSAgICAgICAg
ICAgICAgICAgIGlmICh5eV9sYWNfc3RhdHVzID09IDIpCistICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gMjsKKy0gICAgICAgICAgICAgICAgICBpZiAoeXlfbGFjX3N0YXR1cyA9PSAxKQorLSAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CistICAgICAgICAgICAgICAgIH1dXSwgW1sKKy0K
Ky0gICAgICAgICAgZm9yICh5eXggPSB5eXhiZWdpbjsgeXl4IDwgeXl4ZW5kOyArK3l5eCkKKy0g
ICAgICAgICAgICBpZiAoeXljaGVja1t5eXggKyB5eW5dID09IHl5eCAmJiB5eXggIT0gWVlURVJS
T1IKKy0gICAgICAgICAgICAgICAgJiYgIXl5dGFibGVfdmFsdWVfaXNfZXJyb3IgKHl5dGFibGVb
eXl4ICsgeXluXSkpCistICAgICAgICAgICAgICB7XV0pWworLSAgICAgICAgICAgICAgICBpZiAo
eXljb3VudCA9PSBZWUVSUk9SX1ZFUkJPU0VfQVJHU19NQVhJTVVNKQorLSAgICAgICAgICAgICAg
ICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIHl5Y291bnQgPSAxOworLSAgICAgICAgICAgICAg
ICAgICAgeXlzaXplID0geXlzaXplMDsKKy0gICAgICAgICAgICAgICAgICAgIGJyZWFrOworLSAg
ICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgeXlhcmdbeXljb3VudCsrXSA9IHl5
dG5hbWVbeXl4XTsKKy0gICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgIFlZU0la
RV9UIHl5c2l6ZTEgPSB5eXNpemUgKyB5eXRuYW1lcnIgKFlZX05VTExQVFIsIHl5dG5hbWVbeXl4
XSk7CistICAgICAgICAgICAgICAgICAgaWYgKHl5c2l6ZSA8PSB5eXNpemUxICYmIHl5c2l6ZTEg
PD0gWVlTVEFDS19BTExPQ19NQVhJTVVNKQorLSAgICAgICAgICAgICAgICAgICAgeXlzaXplID0g
eXlzaXplMTsKKy0gICAgICAgICAgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gMjsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgfQorLSAgICAgICAg
fV1iNF9sYWNfaWYoW1sKKy0jIGlmIF1iNF9hcGlfUFJFRklYW0RFQlVHCistICAgICAgZWxzZSBp
ZiAoeXlkZWJ1ZykKKy0gICAgICAgIFlZRlBSSU5URiAoc3RkZXJyLCAiTm8gZXhwZWN0ZWQgdG9r
ZW5zLlxuIik7CistIyBlbmRpZl1dKVsKKy0gICAgfQorLQorLSAgc3dpdGNoICh5eWNvdW50KQor
LSAgICB7CistIyBkZWZpbmUgWVlDQVNFXyhOLCBTKSAgICAgICAgICAgICAgICAgICAgICBcCist
ICAgICAgY2FzZSBOOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICB5
eWZvcm1hdCA9IFM7ICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgYnJlYWsKKy0gICAg
ZGVmYXVsdDogLyogQXZvaWQgY29tcGlsZXIgd2FybmluZ3MuICovCistICAgICAgWVlDQVNFXygw
LCBZWV8oInN5bnRheCBlcnJvciIpKTsKKy0gICAgICBZWUNBU0VfKDEsIFlZXygic3ludGF4IGVy
cm9yLCB1bmV4cGVjdGVkICVzIikpOworLSAgICAgIFlZQ0FTRV8oMiwgWVlfKCJzeW50YXggZXJy
b3IsIHVuZXhwZWN0ZWQgJXMsIGV4cGVjdGluZyAlcyIpKTsKKy0gICAgICBZWUNBU0VfKDMsIFlZ
Xygic3ludGF4IGVycm9yLCB1bmV4cGVjdGVkICVzLCBleHBlY3RpbmcgJXMgb3IgJXMiKSk7Cist
ICAgICAgWVlDQVNFXyg0LCBZWV8oInN5bnRheCBlcnJvciwgdW5leHBlY3RlZCAlcywgZXhwZWN0
aW5nICVzIG9yICVzIG9yICVzIikpOworLSAgICAgIFlZQ0FTRV8oNSwgWVlfKCJzeW50YXggZXJy
b3IsIHVuZXhwZWN0ZWQgJXMsIGV4cGVjdGluZyAlcyBvciAlcyBvciAlcyBvciAlcyIpKTsKKy0j
IHVuZGVmIFlZQ0FTRV8KKy0gICAgfQorLQorLSAgeworLSAgICBZWVNJWkVfVCB5eXNpemUxID0g
eXlzaXplICsgeXlzdHJsZW4gKHl5Zm9ybWF0KTsKKy0gICAgaWYgKHl5c2l6ZSA8PSB5eXNpemUx
ICYmIHl5c2l6ZTEgPD0gWVlTVEFDS19BTExPQ19NQVhJTVVNKQorLSAgICAgIHl5c2l6ZSA9IHl5
c2l6ZTE7CistICAgIGVsc2UKKy0gICAgICByZXR1cm4gMjsKKy0gIH0KKy0KKy0gIGlmICgqeXlt
c2dfYWxsb2MgPCB5eXNpemUpCistICAgIHsKKy0gICAgICAqeXltc2dfYWxsb2MgPSAyICogeXlz
aXplOworLSAgICAgIGlmICghICh5eXNpemUgPD0gKnl5bXNnX2FsbG9jCistICAgICAgICAgICAg
ICYmICp5eW1zZ19hbGxvYyA8PSBZWVNUQUNLX0FMTE9DX01BWElNVU0pKQorLSAgICAgICAgKnl5
bXNnX2FsbG9jID0gWVlTVEFDS19BTExPQ19NQVhJTVVNOworLSAgICAgIHJldHVybiAxOworLSAg
ICB9CistCistICAvKiBBdm9pZCBzcHJpbnRmLCBhcyB0aGF0IGluZnJpbmdlcyBvbiB0aGUgdXNl
cidzIG5hbWUgc3BhY2UuCistICAgICBEb24ndCBoYXZlIHVuZGVmaW5lZCBiZWhhdmlvciBldmVu
IGlmIHRoZSB0cmFuc2xhdGlvbgorLSAgICAgcHJvZHVjZWQgYSBzdHJpbmcgd2l0aCB0aGUgd3Jv
bmcgbnVtYmVyIG9mICIlcyJzLiAgKi8KKy0gIHsKKy0gICAgY2hhciAqeXlwID0gKnl5bXNnOwor
LSAgICBpbnQgeXlpID0gMDsKKy0gICAgd2hpbGUgKCgqeXlwID0gKnl5Zm9ybWF0KSAhPSAnXDAn
KQorLSAgICAgIGlmICgqeXlwID09ICclJyAmJiB5eWZvcm1hdFsxXSA9PSAncycgJiYgeXlpIDwg
eXljb3VudCkKKy0gICAgICAgIHsKKy0gICAgICAgICAgeXlwICs9IHl5dG5hbWVyciAoeXlwLCB5
eWFyZ1t5eWkrK10pOworLSAgICAgICAgICB5eWZvcm1hdCArPSAyOworLSAgICAgICAgfQorLSAg
ICAgIGVsc2UKKy0gICAgICAgIHsKKy0gICAgICAgICAgeXlwKys7CistICAgICAgICAgIHl5Zm9y
bWF0Kys7CistICAgICAgICB9CistICB9CistICByZXR1cm4gMDsKKy19CistI2VuZGlmIC8qIFlZ
RVJST1JfVkVSQk9TRSAqLworLQorLV1iNF95eWRlc3RydWN0X2RlZmluZVsKKy0KKy1dYjRfcHVy
ZV9pZihbXSwgWworLQorLWI0X2RlY2xhcmVfc2Nhbm5lcl9jb21tdW5pY2F0aW9uX3ZhcmlhYmxl
c10pW11iNF9wdXNoX2lmKFtbCistCistc3RydWN0IHl5cHN0YXRlCistICB7XWI0X2RlY2xhcmVf
cGFyc2VyX3N0YXRlX3ZhcmlhYmxlc1sKKy0gICAgLyogVXNlZCB0byBkZXRlcm1pbmUgaWYgdGhp
cyBpcyB0aGUgZmlyc3QgdGltZSB0aGlzIGluc3RhbmNlIGhhcworLSAgICAgICBiZWVuIHVzZWQu
ICAqLworLSAgICBpbnQgeXluZXc7CistICB9O11iNF9wdXJlX2lmKFtdLCBbWworLQorLXN0YXRp
YyBjaGFyIHl5cHN0YXRlX2FsbG9jYXRlZCA9IDA7XV0pYjRfcHVsbF9pZihbCistCistYjRfZnVu
Y3Rpb25fZGVmaW5lKFtbeXlwYXJzZV1dLCBbW2ludF1dLCBiNF9wYXJzZV9wYXJhbSlbCistewor
LSAgcmV0dXJuIHl5cHVsbF9wYXJzZSAoWVlfTlVMTFBUUl1tNF9pZnNldChbYjRfcGFyc2VfcGFy
YW1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbWywgXWI0X2FyZ3MoYjRf
cGFyc2VfcGFyYW0pXSlbKTsKKy19CistCistXWI0X2Z1bmN0aW9uX2RlZmluZShbW3l5cHVsbF9w
YXJzZV1dLCBbW2ludF1dLAorLSAgW1tbeXlwc3RhdGUgKnl5cHNdXSwgW1t5eXBzXV1dbTRfaWZz
ZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywKKy0gIGI0X3BhcnNlX3BhcmFtXSkpWworLXtdYjRfcHVy
ZV9pZihbYjRfbG9jYXRpb25zX2lmKFtbCistICBzdGF0aWMgWVlMVFlQRSB5eWxvY19kZWZhdWx0
XVtdYjRfeXlsb2NfZGVmYXVsdFs7CistICBZWUxUWVBFIHl5bGxvYyA9IHl5bG9jX2RlZmF1bHQ7
XV0pXSlbCistICB5eXBzdGF0ZSAqeXlwc19sb2NhbDsKKy0gIGlmICh5eXBzKQorLSAgICB5eXBz
X2xvY2FsID0geXlwczsKKy0gIGVsc2UKKy0gICAgeworLSAgICAgIHl5cHNfbG9jYWwgPSB5eXBz
dGF0ZV9uZXcgKCk7CistICAgICAgaWYgKCF5eXBzX2xvY2FsKQorLSAgICAgICAge11iNF9wdXJl
X2lmKFtbCistICAgICAgICAgIHl5ZXJyb3IgKF1iNF95eWVycm9yX2FyZ3NbWVlfKCJtZW1vcnkg
ZXhoYXVzdGVkIikpO11dLCBbWworLSAgICAgICAgICBpZiAoIXl5cHN0YXRlX2FsbG9jYXRlZCkK
Ky0gICAgICAgICAgICB5eWVycm9yIChdYjRfeXllcnJvcl9hcmdzW1lZXygibWVtb3J5IGV4aGF1
c3RlZCIpKTtdXSlbCistICAgICAgICAgIHJldHVybiAyOworLSAgICAgICAgfQorLSAgICB9Cist
ICBpbnQgeXlzdGF0dXM7CistICBkbyB7XWI0X3B1cmVfaWYoW1sKKy0gICAgWVlTVFlQRSB5eWx2
YWw7CistICAgIGludCBdXSlbeXljaGFyID0gXWI0X2xleFs7CistICAgIHl5c3RhdHVzID0KKy0g
ICAgICB5eXB1c2hfcGFyc2UgKHl5cHNfbG9jYWxdYjRfcHVyZV9pZihbWywgeXljaGFyLCAmeXls
dmFsXWI0X2xvY2F0aW9uc19pZihbWywgJnl5bGxvY11dKV0pbTRfaWZzZXQoW2I0X3BhcnNlX3Bh
cmFtXSwgWywgYjRfYXJncyhiNF9wYXJzZV9wYXJhbSldKVspOworLSAgfSB3aGlsZSAoeXlzdGF0
dXMgPT0gWVlQVVNIX01PUkUpOworLSAgaWYgKCF5eXBzKQorLSAgICB5eXBzdGF0ZV9kZWxldGUg
KHl5cHNfbG9jYWwpOworLSAgcmV0dXJuIHl5c3RhdHVzOworLX1dXSlbCistCistLyogSW5pdGlh
bGl6ZSB0aGUgcGFyc2VyIGRhdGEgc3RydWN0dXJlLiAgKi8KKy1dYjRfZnVuY3Rpb25fZGVmaW5l
KFtbeXlwc3RhdGVfbmV3XV0sIFtbeXlwc3RhdGUgKl1dKVsKKy17CistICB5eXBzdGF0ZSAqeXlw
cztdYjRfcHVyZV9pZihbXSwgW1sKKy0gIGlmICh5eXBzdGF0ZV9hbGxvY2F0ZWQpCistICAgIHJl
dHVybiBZWV9OVUxMUFRSO11dKVsKKy0gIHl5cHMgPSAoeXlwc3RhdGUgKikgbWFsbG9jIChzaXpl
b2YgKnl5cHMpOworLSAgaWYgKCF5eXBzKQorLSAgICByZXR1cm4gWVlfTlVMTFBUUjsKKy0gIHl5
cHMtPnl5bmV3ID0gMTtdYjRfcHVyZV9pZihbXSwgW1sKKy0gIHl5cHN0YXRlX2FsbG9jYXRlZCA9
IDE7XV0pWworLSAgcmV0dXJuIHl5cHM7CistfQorLQorLV1iNF9mdW5jdGlvbl9kZWZpbmUoW1t5
eXBzdGF0ZV9kZWxldGVdXSwgW1t2b2lkXV0sCistICAgICAgICAgICAgICAgICAgIFtbW3l5cHN0
YXRlICp5eXBzXV0sIFtbeXlwc11dXSlbCisteworLSAgaWYgKHl5cHMpCistICAgIHsKKy0jaWZu
ZGVmIHl5b3ZlcmZsb3cKKy0gICAgICAvKiBJZiB0aGUgc3RhY2sgd2FzIHJlYWxsb2NhdGVkIGJ1
dCB0aGUgcGFyc2UgZGlkIG5vdCBjb21wbGV0ZSwgdGhlbiB0aGUKKy0gICAgICAgICBzdGFjayBz
dGlsbCBuZWVkcyB0byBiZSBmcmVlZC4gICovCistICAgICAgaWYgKCF5eXBzLT55eW5ldyAmJiB5
eXBzLT55eXNzICE9IHl5cHMtPnl5c3NhKQorLSAgICAgICAgWVlTVEFDS19GUkVFICh5eXBzLT55
eXNzKTsKKy0jZW5kaWZdYjRfbGFjX2lmKFtbCistICAgICAgaWYgKCF5eXBzLT55eW5ldyAmJiB5
eXBzLT55eWVzICE9IHl5cHMtPnl5ZXNhKQorLSAgICAgICAgWVlTVEFDS19GUkVFICh5eXBzLT55
eWVzKTtdXSlbCistICAgICAgZnJlZSAoeXlwcyk7XWI0X3B1cmVfaWYoW10sIFtbCistICAgICAg
eXlwc3RhdGVfYWxsb2NhdGVkID0gMDtdXSlbCistICAgIH0KKy19CistXWI0X3B1cmVfaWYoW1sK
Ky0jZGVmaW5lIF1iNF9wcmVmaXhbbmVycnMgeXlwcy0+XWI0X3ByZWZpeFtuZXJyc11dKVsKKy0j
ZGVmaW5lIHl5c3RhdGUgeXlwcy0+eXlzdGF0ZQorLSNkZWZpbmUgeXllcnJzdGF0dXMgeXlwcy0+
eXllcnJzdGF0dXMKKy0jZGVmaW5lIHl5c3NhIHl5cHMtPnl5c3NhCistI2RlZmluZSB5eXNzIHl5
cHMtPnl5c3MKKy0jZGVmaW5lIHl5c3NwIHl5cHMtPnl5c3NwCistI2RlZmluZSB5eXZzYSB5eXBz
LT55eXZzYQorLSNkZWZpbmUgeXl2cyB5eXBzLT55eXZzCistI2RlZmluZSB5eXZzcCB5eXBzLT55
eXZzcF1iNF9sb2NhdGlvbnNfaWYoW1sKKy0jZGVmaW5lIHl5bHNhIHl5cHMtPnl5bHNhCistI2Rl
ZmluZSB5eWxzIHl5cHMtPnl5bHMKKy0jZGVmaW5lIHl5bHNwIHl5cHMtPnl5bHNwCistI2RlZmlu
ZSB5eWVycm9yX3JhbmdlIHl5cHMtPnl5ZXJyb3JfcmFuZ2VdXSlbCistI2RlZmluZSB5eXN0YWNr
c2l6ZSB5eXBzLT55eXN0YWNrc2l6ZV1iNF9sYWNfaWYoW1sKKy0jZGVmaW5lIHl5ZXNhIHl5cHMt
Pnl5ZXNhCistI2RlZmluZSB5eWVzIHl5cHMtPnl5ZXMKKy0jZGVmaW5lIHl5ZXNfY2FwYWNpdHkg
eXlwcy0+eXllc19jYXBhY2l0eV1dKVsKKy0KKy0KKy0vKi0tLS0tLS0tLS0tLS0tLS4KKy18IHl5
cHVzaF9wYXJzZS4gIHwKKy1gLS0tLS0tLS0tLS0tLS0tKi8KKy0KKy1dYjRfZnVuY3Rpb25fZGVm
aW5lKFtbeXlwdXNoX3BhcnNlXV0sIFtbaW50XV0sCistICBbW1t5eXBzdGF0ZSAqeXlwc11dLCBb
W3l5cHNdXV1iNF9wdXJlX2lmKFssCistICBbW1tpbnQgeXlwdXNoZWRfY2hhcl1dLCBbW3l5cHVz
aGVkX2NoYXJdXV0sCistICBbW1tZWVNUWVBFIGNvbnN0ICp5eXB1c2hlZF92YWxdXSwgW1t5eXB1
c2hlZF92YWxdXV1iNF9sb2NhdGlvbnNfaWYoWywKKy0gIFtbW1lZTFRZUEUgKnl5cHVzaGVkX2xv
Y11dLCBbW3l5cHVzaGVkX2xvY11dXV0pXSltNF9pZnNldChbYjRfcGFyc2VfcGFyYW1dLCBbLAor
LSAgYjRfcGFyc2VfcGFyYW1dKSldLCBbWworLQorLQorLS8qLS0tLS0tLS0tLS4KKy18IHl5cGFy
c2UuICB8CistYC0tLS0tLS0tLS0qLworLQorLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5cGFyc2Vd
LCBbaW50XSwgYjRfcGFyc2VfcGFyYW0pXSlbCiste11iNF9wdXJlX2lmKFtiNF9kZWNsYXJlX3Nj
YW5uZXJfY29tbXVuaWNhdGlvbl92YXJpYWJsZXMKKy1dKWI0X3B1c2hfaWYoW2I0X3B1cmVfaWYo
W10sIFtbCistICBpbnQgeXlwdXNoZWRfY2hhciA9IHl5Y2hhcjsKKy0gIFlZU1RZUEUgeXlwdXNo
ZWRfdmFsID0geXlsdmFsO11iNF9sb2NhdGlvbnNfaWYoW1sKKy0gIFlZTFRZUEUgeXlwdXNoZWRf
bG9jID0geXlsbG9jO11dKQorLV0pXSwKKy0gIFtiNF9kZWNsYXJlX3BhcnNlcl9zdGF0ZV92YXJp
YWJsZXMKKy1dKWI0X2xhY19pZihbWworLSAgaW50IHl5X2xhY19lc3RhYmxpc2hlZCA9IDA7XV0p
WworLSAgaW50IHl5bjsKKy0gIGludCB5eXJlc3VsdDsKKy0gIC8qIExvb2thaGVhZCB0b2tlbiBh
cyBhbiBpbnRlcm5hbCAodHJhbnNsYXRlZCkgdG9rZW4gbnVtYmVyLiAgKi8KKy0gIGludCB5eXRv
a2VuID0gMDsKKy0gIC8qIFRoZSB2YXJpYWJsZXMgdXNlZCB0byByZXR1cm4gc2VtYW50aWMgdmFs
dWUgYW5kIGxvY2F0aW9uIGZyb20gdGhlCistICAgICBhY3Rpb24gcm91dGluZXMuICAqLworLSAg
WVlTVFlQRSB5eXZhbDtdYjRfbG9jYXRpb25zX2lmKFtbCistICBZWUxUWVBFIHl5bG9jO11dKVsK
Ky0KKy0jaWYgWVlFUlJPUl9WRVJCT1NFCistICAvKiBCdWZmZXIgZm9yIGVycm9yIG1lc3NhZ2Vz
LCBhbmQgaXRzIGFsbG9jYXRlZCBzaXplLiAgKi8KKy0gIGNoYXIgeXltc2didWZbMTI4XTsKKy0g
IGNoYXIgKnl5bXNnID0geXltc2didWY7CistICBZWVNJWkVfVCB5eW1zZ19hbGxvYyA9IHNpemVv
ZiB5eW1zZ2J1ZjsKKy0jZW5kaWYKKy0KKy0jZGVmaW5lIFlZUE9QU1RBQ0soTikgICAoeXl2c3Ag
LT0gKE4pLCB5eXNzcCAtPSAoTildYjRfbG9jYXRpb25zX2lmKFssIHl5bHNwIC09IChOKV0pWykK
Ky0KKy0gIC8qIFRoZSBudW1iZXIgb2Ygc3ltYm9scyBvbiB0aGUgUkhTIG9mIHRoZSByZWR1Y2Vk
IHJ1bGUuCistICAgICBLZWVwIHRvIHplcm8gd2hlbiBubyBzeW1ib2wgc2hvdWxkIGJlIHBvcHBl
ZC4gICovCistICBpbnQgeXlsZW4gPSAwO11iNF9wdXNoX2lmKFtbCistCistICBpZiAoIXl5cHMt
Pnl5bmV3KQorLSAgICB7CistICAgICAgeXluID0geXlwYWN0W3l5c3RhdGVdOworLSAgICAgIGdv
dG8geXlyZWFkX3B1c2hlZF90b2tlbjsKKy0gICAgfV1dKVsKKy0KKy0gIHl5c3NwID0geXlzcyA9
IHl5c3NhOworLSAgeXl2c3AgPSB5eXZzID0geXl2c2E7XWI0X2xvY2F0aW9uc19pZihbWworLSAg
eXlsc3AgPSB5eWxzID0geXlsc2E7XV0pWworLSAgeXlzdGFja3NpemUgPSBZWUlOSVRERVBUSDtd
YjRfbGFjX2lmKFtbCistCistICB5eWVzID0geXllc2E7CistICB5eWVzX2NhcGFjaXR5ID0gc2l6
ZW9mIHl5ZXNhIC8gc2l6ZW9mICp5eWVzOworLSAgaWYgKFlZTUFYREVQVEggPCB5eWVzX2NhcGFj
aXR5KQorLSAgICB5eWVzX2NhcGFjaXR5ID0gWVlNQVhERVBUSDtdXSlbCistCistICBZWURQUklO
VEYgKChzdGRlcnIsICJTdGFydGluZyBwYXJzZVxuIikpOworLQorLSAgeXlzdGF0ZSA9IDA7Cist
ICB5eWVycnN0YXR1cyA9IDA7CistICB5eW5lcnJzID0gMDsKKy0gIHl5Y2hhciA9IFlZRU1QVFk7
IC8qIENhdXNlIGEgdG9rZW4gdG8gYmUgcmVhZC4gICovCistXW00X2lmZGVmKFtiNF9pbml0aWFs
X2FjdGlvbl0sIFsKKy1iNF9kb2xsYXJfcHVzaGRlZihbbTRfZGVmaW5lKFtiNF9kb2xsYXJfZG9s
bGFyX3VzZWRdKXl5bHZhbF0sIFtdLCBbXSwKKy0gICAgICAgICAgICAgICAgICBbYjRfcHVzaF9p
ZihbYjRfcHVyZV9pZihbKl0peXlwdXNoZWRfbG9jXSwgW3l5bGxvY10pXSlkbmwKKy1iNF91c2Vy
X2luaXRpYWxfYWN0aW9uCistYjRfZG9sbGFyX3BvcGRlZltdZG5sCistbTRfaWZkZWYoW2I0X2Rv
bGxhcl9kb2xsYXJfdXNlZF0sW1sgIHl5dnNwWzBdID0geXlsdmFsOworLV1dKV0pZG5sCistYjRf
bG9jYXRpb25zX2lmKFtbICB5eWxzcFswXSA9IF1iNF9wdXNoX2lmKFtiNF9wdXJlX2lmKFsqXSl5
eXB1c2hlZF9sb2NdLCBbeXlsbG9jXSlbOworLV1dKWRubAorLVsgIGdvdG8geXlzZXRzdGF0ZTsK
Ky0KKy0KKy0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS4KKy18IHl5bmV3c3RhdGUgLS0gcHVzaCBhIG5ldyBzdGF0ZSwgd2hpY2gg
aXMgZm91bmQgaW4geXlzdGF0ZS4gIHwKKy1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy15eW5ld3N0YXRlOgorLSAgLyogSW4g
YWxsIGNhc2VzLCB3aGVuIHlvdSBnZXQgaGVyZSwgdGhlIHZhbHVlIGFuZCBsb2NhdGlvbiBzdGFj
a3MKKy0gICAgIGhhdmUganVzdCBiZWVuIHB1c2hlZC4gIFNvIHB1c2hpbmcgYSBzdGF0ZSBoZXJl
IGV2ZW5zIHRoZSBzdGFja3MuICAqLworLSAgeXlzc3ArKzsKKy0KKy0KKy0vKi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LgorLXwgeXluZXdzdGF0ZSAtLSBzZXQgY3VycmVudCBzdGF0ZSAodGhlIHRvcCBvZiB0aGUgc3Rh
Y2spIHRvIHl5c3RhdGUuICB8CistYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy15eXNldHN0YXRlOgorLSAgKnl5
c3NwID0gKHl5dHlwZV9pbnQxNikgeXlzdGF0ZTsKKy0KKy0gIGlmICh5eXNzICsgeXlzdGFja3Np
emUgLSAxIDw9IHl5c3NwKQorLSNpZiAhZGVmaW5lZCB5eW92ZXJmbG93ICYmICFkZWZpbmVkIFlZ
U1RBQ0tfUkVMT0NBVEUKKy0gICAgZ290byB5eWV4aGF1c3RlZGxhYjsKKy0jZWxzZQorLSAgICB7
CistICAgICAgLyogR2V0IHRoZSBjdXJyZW50IHVzZWQgc2l6ZSBvZiB0aGUgdGhyZWUgc3RhY2tz
LCBpbiBlbGVtZW50cy4gICovCistICAgICAgWVlTSVpFX1QgeXlzaXplID0gKFlZU0laRV9UKSAo
eXlzc3AgLSB5eXNzICsgMSk7CistCistIyBpZiBkZWZpbmVkIHl5b3ZlcmZsb3cKKy0gICAgICB7
CistICAgICAgICAvKiBHaXZlIHVzZXIgYSBjaGFuY2UgdG8gcmVhbGxvY2F0ZSB0aGUgc3RhY2su
ICBVc2UgY29waWVzIG9mCistICAgICAgICAgICB0aGVzZSBzbyB0aGF0IHRoZSAmJ3MgZG9uJ3Qg
Zm9yY2UgdGhlIHJlYWwgb25lcyBpbnRvCistICAgICAgICAgICBtZW1vcnkuICAqLworLSAgICAg
ICAgWVlTVFlQRSAqeXl2czEgPSB5eXZzOworLSAgICAgICAgeXl0eXBlX2ludDE2ICp5eXNzMSA9
IHl5c3M7XWI0X2xvY2F0aW9uc19pZihbCistICAgICAgICBZWUxUWVBFICp5eWxzMSA9IHl5bHM7
XSlbCistCistICAgICAgICAvKiBFYWNoIHN0YWNrIHBvaW50ZXIgYWRkcmVzcyBpcyBmb2xsb3dl
ZCBieSB0aGUgc2l6ZSBvZiB0aGUKKy0gICAgICAgICAgIGRhdGEgaW4gdXNlIGluIHRoYXQgc3Rh
Y2ssIGluIGJ5dGVzLiAgVGhpcyB1c2VkIHRvIGJlIGEKKy0gICAgICAgICAgIGNvbmRpdGlvbmFs
IGFyb3VuZCBqdXN0IHRoZSB0d28gZXh0cmEgYXJncywgYnV0IHRoYXQgbWlnaHQKKy0gICAgICAg
ICAgIGJlIHVuZGVmaW5lZCBpZiB5eW92ZXJmbG93IGlzIGEgbWFjcm8uICAqLworLSAgICAgICAg
eXlvdmVyZmxvdyAoWVlfKCJtZW1vcnkgZXhoYXVzdGVkIiksCistICAgICAgICAgICAgICAgICAg
ICAmeXlzczEsIHl5c2l6ZSAqIHNpemVvZiAoKnl5c3NwKSwKKy0gICAgICAgICAgICAgICAgICAg
ICZ5eXZzMSwgeXlzaXplICogc2l6ZW9mICgqeXl2c3ApLF1iNF9sb2NhdGlvbnNfaWYoWworLSAg
ICAgICAgICAgICAgICAgICAgJnl5bHMxLCB5eXNpemUgKiBzaXplb2YgKCp5eWxzcCksXSlbCist
ICAgICAgICAgICAgICAgICAgICAmeXlzdGFja3NpemUpOworLSAgICAgICAgeXlzcyA9IHl5c3Mx
OworLSAgICAgICAgeXl2cyA9IHl5dnMxO11iNF9sb2NhdGlvbnNfaWYoWworLSAgICAgICAgeXls
cyA9IHl5bHMxO10pWworLSAgICAgIH0KKy0jIGVsc2UgLyogZGVmaW5lZCBZWVNUQUNLX1JFTE9D
QVRFICovCistICAgICAgLyogRXh0ZW5kIHRoZSBzdGFjayBvdXIgb3duIHdheS4gICovCistICAg
ICAgaWYgKFlZTUFYREVQVEggPD0geXlzdGFja3NpemUpCistICAgICAgICBnb3RvIHl5ZXhoYXVz
dGVkbGFiOworLSAgICAgIHl5c3RhY2tzaXplICo9IDI7CistICAgICAgaWYgKFlZTUFYREVQVEgg
PCB5eXN0YWNrc2l6ZSkKKy0gICAgICAgIHl5c3RhY2tzaXplID0gWVlNQVhERVBUSDsKKy0KKy0g
ICAgICB7CistICAgICAgICB5eXR5cGVfaW50MTYgKnl5c3MxID0geXlzczsKKy0gICAgICAgIHVu
aW9uIHl5YWxsb2MgKnl5cHRyID0KKy0gICAgICAgICAgKHVuaW9uIHl5YWxsb2MgKikgWVlTVEFD
S19BTExPQyAoWVlTVEFDS19CWVRFUyAoeXlzdGFja3NpemUpKTsKKy0gICAgICAgIGlmICghIHl5
cHRyKQorLSAgICAgICAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOworLSAgICAgICAgWVlTVEFDS19S
RUxPQ0FURSAoeXlzc19hbGxvYywgeXlzcyk7CistICAgICAgICBZWVNUQUNLX1JFTE9DQVRFICh5
eXZzX2FsbG9jLCB5eXZzKTtdYjRfbG9jYXRpb25zX2lmKFsKKy0gICAgICAgIFlZU1RBQ0tfUkVM
T0NBVEUgKHl5bHNfYWxsb2MsIHl5bHMpO10pWworLSMgdW5kZWYgWVlTVEFDS19SRUxPQ0FURQor
LSAgICAgICAgaWYgKHl5c3MxICE9IHl5c3NhKQorLSAgICAgICAgICBZWVNUQUNLX0ZSRUUgKHl5
c3MxKTsKKy0gICAgICB9CistIyBlbmRpZgorLQorLSAgICAgIHl5c3NwID0geXlzcyArIHl5c2l6
ZSAtIDE7CistICAgICAgeXl2c3AgPSB5eXZzICsgeXlzaXplIC0gMTtdYjRfbG9jYXRpb25zX2lm
KFsKKy0gICAgICB5eWxzcCA9IHl5bHMgKyB5eXNpemUgLSAxO10pWworLQorLSAgICAgIFlZRFBS
SU5URiAoKHN0ZGVyciwgIlN0YWNrIHNpemUgaW5jcmVhc2VkIHRvICVsdVxuIiwKKy0gICAgICAg
ICAgICAgICAgICAodW5zaWduZWQgbG9uZykgeXlzdGFja3NpemUpKTsKKy0KKy0gICAgICBpZiAo
eXlzcyArIHl5c3RhY2tzaXplIC0gMSA8PSB5eXNzcCkKKy0gICAgICAgIFlZQUJPUlQ7CistICAg
IH0KKy0jZW5kaWYgLyogIWRlZmluZWQgeXlvdmVyZmxvdyAmJiAhZGVmaW5lZCBZWVNUQUNLX1JF
TE9DQVRFICovCistCistICBZWURQUklOVEYgKChzdGRlcnIsICJFbnRlcmluZyBzdGF0ZSAlZFxu
IiwgeXlzdGF0ZSkpOworLQorLSAgaWYgKHl5c3RhdGUgPT0gWVlGSU5BTCkKKy0gICAgWVlBQ0NF
UFQ7CistCistICBnb3RvIHl5YmFja3VwOworLQorLQorLS8qLS0tLS0tLS0tLS0uCistfCB5eWJh
Y2t1cC4gIHwKKy1gLS0tLS0tLS0tLS0qLworLXl5YmFja3VwOgorLSAgLyogRG8gYXBwcm9wcmlh
dGUgcHJvY2Vzc2luZyBnaXZlbiB0aGUgY3VycmVudCBzdGF0ZS4gIFJlYWQgYQorLSAgICAgbG9v
a2FoZWFkIHRva2VuIGlmIHdlIG5lZWQgb25lIGFuZCBkb24ndCBhbHJlYWR5IGhhdmUgb25lLiAg
Ki8KKy0KKy0gIC8qIEZpcnN0IHRyeSB0byBkZWNpZGUgd2hhdCB0byBkbyB3aXRob3V0IHJlZmVy
ZW5jZSB0byBsb29rYWhlYWQgdG9rZW4uICAqLworLSAgeXluID0geXlwYWN0W3l5c3RhdGVdOwor
LSAgaWYgKHl5cGFjdF92YWx1ZV9pc19kZWZhdWx0ICh5eW4pKQorLSAgICBnb3RvIHl5ZGVmYXVs
dDsKKy0KKy0gIC8qIE5vdCBrbm93biA9PiBnZXQgYSBsb29rYWhlYWQgdG9rZW4gaWYgZG9uJ3Qg
YWxyZWFkeSBoYXZlIG9uZS4gICovCistCistICAvKiBZWUNIQVIgaXMgZWl0aGVyIFlZRU1QVFkg
b3IgWVlFT0Ygb3IgYSB2YWxpZCBsb29rYWhlYWQgc3ltYm9sLiAgKi8KKy0gIGlmICh5eWNoYXIg
PT0gWVlFTVBUWSkKKy0gICAge11iNF9wdXNoX2lmKFtbCistICAgICAgaWYgKCF5eXBzLT55eW5l
dykKKy0gICAgICAgIHtdYjRfdXNlX3B1c2hfZm9yX3B1bGxfaWYoW10sIFtbCistICAgICAgICAg
IFlZRFBSSU5URiAoKHN0ZGVyciwgIlJldHVybiBmb3IgYSBuZXcgdG9rZW46XG4iKSk7XV0pWwor
LSAgICAgICAgICB5eXJlc3VsdCA9IFlZUFVTSF9NT1JFOworLSAgICAgICAgICBnb3RvIHl5cHVz
aHJldHVybjsKKy0gICAgICAgIH0KKy0gICAgICB5eXBzLT55eW5ldyA9IDA7XWI0X3B1cmVfaWYo
W10sIFtbCistICAgICAgLyogUmVzdG9yaW5nIHRoZSBwdXNoZWQgdG9rZW4gaXMgb25seSBuZWNl
c3NhcnkgZm9yIHRoZSBmaXJzdAorLSAgICAgICAgIHl5cHVzaF9wYXJzZSBpbnZvY2F0aW9uIHNp
bmNlIHN1YnNlcXVlbnQgaW52b2NhdGlvbnMgZG9uJ3Qgb3ZlcndyaXRlCistICAgICAgICAgaXQg
YmVmb3JlIGp1bXBpbmcgdG8geXlyZWFkX3B1c2hlZF90b2tlbi4gICovCistICAgICAgeXljaGFy
ID0geXlwdXNoZWRfY2hhcjsKKy0gICAgICB5eWx2YWwgPSB5eXB1c2hlZF92YWw7XWI0X2xvY2F0
aW9uc19pZihbWworLSAgICAgIHl5bGxvYyA9IHl5cHVzaGVkX2xvYztdXSldKVsKKy15eXJlYWRf
cHVzaGVkX3Rva2VuOl1dKVsKKy0gICAgICBZWURQUklOVEYgKChzdGRlcnIsICJSZWFkaW5nIGEg
dG9rZW46ICIpKTtdYjRfcHVzaF9pZihbYjRfcHVyZV9pZihbWworLSAgICAgIHl5Y2hhciA9IHl5
cHVzaGVkX2NoYXI7CistICAgICAgaWYgKHl5cHVzaGVkX3ZhbCkKKy0gICAgICAgIHl5bHZhbCA9
ICp5eXB1c2hlZF92YWw7XWI0X2xvY2F0aW9uc19pZihbWworLSAgICAgIGlmICh5eXB1c2hlZF9s
b2MpCistICAgICAgICB5eWxsb2MgPSAqeXlwdXNoZWRfbG9jO11dKV0pXSwgW1sKKy0gICAgICB5
eWNoYXIgPSBdYjRfbGV4WztdXSlbCistICAgIH0KKy0KKy0gIGlmICh5eWNoYXIgPD0gWVlFT0Yp
CistICAgIHsKKy0gICAgICB5eWNoYXIgPSB5eXRva2VuID0gWVlFT0Y7CistICAgICAgWVlEUFJJ
TlRGICgoc3RkZXJyLCAiTm93IGF0IGVuZCBvZiBpbnB1dC5cbiIpKTsKKy0gICAgfQorLSAgZWxz
ZQorLSAgICB7CistICAgICAgeXl0b2tlbiA9IFlZVFJBTlNMQVRFICh5eWNoYXIpOworLSAgICAg
IFlZX1NZTUJPTF9QUklOVCAoIk5leHQgdG9rZW4gaXMiLCB5eXRva2VuLCAmeXlsdmFsLCAmeXls
bG9jKTsKKy0gICAgfQorLQorLSAgLyogSWYgdGhlIHByb3BlciBhY3Rpb24gb24gc2VlaW5nIHRv
a2VuIFlZVE9LRU4gaXMgdG8gcmVkdWNlIG9yIHRvCistICAgICBkZXRlY3QgYW4gZXJyb3IsIHRh
a2UgdGhhdCBhY3Rpb24uICAqLworLSAgeXluICs9IHl5dG9rZW47CistICBpZiAoeXluIDwgMCB8
fCBZWUxBU1QgPCB5eW4gfHwgeXljaGVja1t5eW5dICE9IHl5dG9rZW4pXWI0X2xhY19pZihbWwor
LSAgICB7CistICAgICAgWVlfTEFDX0VTVEFCTElTSDsKKy0gICAgICBnb3RvIHl5ZGVmYXVsdDsK
Ky0gICAgfV1dLCBbWworLSAgICBnb3RvIHl5ZGVmYXVsdDtdXSlbCistICB5eW4gPSB5eXRhYmxl
W3l5bl07CistICBpZiAoeXluIDw9IDApCistICAgIHsKKy0gICAgICBpZiAoeXl0YWJsZV92YWx1
ZV9pc19lcnJvciAoeXluKSkKKy0gICAgICAgIGdvdG8geXllcnJsYWI7XWI0X2xhY19pZihbWwor
LSAgICAgIFlZX0xBQ19FU1RBQkxJU0g7XV0pWworLSAgICAgIHl5biA9IC15eW47CistICAgICAg
Z290byB5eXJlZHVjZTsKKy0gICAgfQorLQorLSAgLyogQ291bnQgdG9rZW5zIHNoaWZ0ZWQgc2lu
Y2UgZXJyb3I7IGFmdGVyIHRocmVlLCB0dXJuIG9mZiBlcnJvcgorLSAgICAgc3RhdHVzLiAgKi8K
Ky0gIGlmICh5eWVycnN0YXR1cykKKy0gICAgeXllcnJzdGF0dXMtLTsKKy0KKy0gIC8qIFNoaWZ0
IHRoZSBsb29rYWhlYWQgdG9rZW4uICAqLworLSAgWVlfU1lNQk9MX1BSSU5UICgiU2hpZnRpbmci
LCB5eXRva2VuLCAmeXlsdmFsLCAmeXlsbG9jKTsKKy0KKy0gIC8qIERpc2NhcmQgdGhlIHNoaWZ0
ZWQgdG9rZW4uICAqLworLSAgeXljaGFyID0gWVlFTVBUWTtdYjRfbGFjX2lmKFtbCistICBZWV9M
QUNfRElTQ0FSRCAoInNoaWZ0Iik7XV0pWworLQorLSAgeXlzdGF0ZSA9IHl5bjsKKy0gIFlZX0lH
Tk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOCistICAqKyt5eXZzcCA9IHl5bHZhbDsKKy0g
IFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0VORAorLV1iNF9sb2NhdGlvbnNfaWYoWyAg
KisreXlsc3AgPSB5eWxsb2M7XSlbCistICBnb3RvIHl5bmV3c3RhdGU7CistCistCistLyotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4K
Ky18IHl5ZGVmYXVsdCAtLSBkbyB0aGUgZGVmYXVsdCBhY3Rpb24gZm9yIHRoZSBjdXJyZW50IHN0
YXRlLiAgfAorLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSovCisteXlkZWZhdWx0OgorLSAgeXluID0geXlkZWZhY3RbeXlzdGF0ZV07
CistICBpZiAoeXluID09IDApCistICAgIGdvdG8geXllcnJsYWI7CistICBnb3RvIHl5cmVkdWNl
OworLQorLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCistfCB5eXJlZHVjZSAt
LSBkbyBhIHJlZHVjdGlvbi4gIHwKKy1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwor
LXl5cmVkdWNlOgorLSAgLyogeXluIGlzIHRoZSBudW1iZXIgb2YgYSBydWxlIHRvIHJlZHVjZSB3
aXRoLiAgKi8KKy0gIHl5bGVuID0geXlyMlt5eW5dOworLQorLSAgLyogSWYgWVlMRU4gaXMgbm9u
emVybywgaW1wbGVtZW50IHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBhY3Rpb246CistICAgICAn
JCQgPSAkMScuCistCistICAgICBPdGhlcndpc2UsIHRoZSBmb2xsb3dpbmcgbGluZSBzZXRzIFlZ
VkFMIHRvIGdhcmJhZ2UuCistICAgICBUaGlzIGJlaGF2aW9yIGlzIHVuZG9jdW1lbnRlZCBhbmQg
Qmlzb24KKy0gICAgIHVzZXJzIHNob3VsZCBub3QgcmVseSB1cG9uIGl0LiAgQXNzaWduaW5nIHRv
IFlZVkFMCistICAgICB1bmNvbmRpdGlvbmFsbHkgbWFrZXMgdGhlIHBhcnNlciBhIGJpdCBzbWFs
bGVyLCBhbmQgaXQgYXZvaWRzIGEKKy0gICAgIEdDQyB3YXJuaW5nIHRoYXQgWVlWQUwgbWF5IGJl
IHVzZWQgdW5pbml0aWFsaXplZC4gICovCistICB5eXZhbCA9IHl5dnNwWzEteXlsZW5dOworLQor
LV1iNF9sb2NhdGlvbnNfaWYoCistW1sgIC8qIERlZmF1bHQgbG9jYXRpb24uICovCistICBZWUxM
T0NfREVGQVVMVCAoeXlsb2MsICh5eWxzcCAtIHl5bGVuKSwgeXlsZW4pOworLSAgeXllcnJvcl9y
YW5nZVsxXSA9IHl5bG9jO11dKVsKKy0gIFlZX1JFRFVDRV9QUklOVCAoeXluKTtdYjRfbGFjX2lm
KFtbCistICB7CistICAgIGludCB5eWNoYXJfYmFja3VwID0geXljaGFyOworLSAgICBzd2l0Y2gg
KHl5bikKKy0gICAgICB7CistXWI0X3VzZXJfYWN0aW9uc1sKKy0gICAgICAgIGRlZmF1bHQ6IGJy
ZWFrOworLSAgICAgIH0KKy0gICAgaWYgKHl5Y2hhcl9iYWNrdXAgIT0geXljaGFyKQorLSAgICAg
IFlZX0xBQ19ESVNDQVJEICgieXljaGFyIGNoYW5nZSIpOworLSAgfV1dLCBbWworLSAgc3dpdGNo
ICh5eW4pCistICAgIHsKKy0gICAgICBdYjRfdXNlcl9hY3Rpb25zWworLSAgICAgIGRlZmF1bHQ6
IGJyZWFrOworLSAgICB9XV0pWworLSAgLyogVXNlciBzZW1hbnRpYyBhY3Rpb25zIHNvbWV0aW1l
cyBhbHRlciB5eWNoYXIsIGFuZCB0aGF0IHJlcXVpcmVzCistICAgICB0aGF0IHl5dG9rZW4gYmUg
dXBkYXRlZCB3aXRoIHRoZSBuZXcgdHJhbnNsYXRpb24uICBXZSB0YWtlIHRoZQorLSAgICAgYXBw
cm9hY2ggb2YgdHJhbnNsYXRpbmcgaW1tZWRpYXRlbHkgYmVmb3JlIGV2ZXJ5IHVzZSBvZiB5eXRv
a2VuLgorLSAgICAgT25lIGFsdGVybmF0aXZlIGlzIHRyYW5zbGF0aW5nIGhlcmUgYWZ0ZXIgZXZl
cnkgc2VtYW50aWMgYWN0aW9uLAorLSAgICAgYnV0IHRoYXQgdHJhbnNsYXRpb24gd291bGQgYmUg
bWlzc2VkIGlmIHRoZSBzZW1hbnRpYyBhY3Rpb24gaW52b2tlcworLSAgICAgWVlBQk9SVCwgWVlB
Q0NFUFQsIG9yIFlZRVJST1IgaW1tZWRpYXRlbHkgYWZ0ZXIgYWx0ZXJpbmcgeXljaGFyIG9yCist
ICAgICBpZiBpdCBpbnZva2VzIFlZQkFDS1VQLiAgSW4gdGhlIGNhc2Ugb2YgWVlBQk9SVCBvciBZ
WUFDQ0VQVCwgYW4KKy0gICAgIGluY29ycmVjdCBkZXN0cnVjdG9yIG1pZ2h0IHRoZW4gYmUgaW52
b2tlZCBpbW1lZGlhdGVseS4gIEluIHRoZQorLSAgICAgY2FzZSBvZiBZWUVSUk9SIG9yIFlZQkFD
S1VQLCBzdWJzZXF1ZW50IHBhcnNlciBhY3Rpb25zIG1pZ2h0IGxlYWQKKy0gICAgIHRvIGFuIGlu
Y29ycmVjdCBkZXN0cnVjdG9yIGNhbGwgb3IgdmVyYm9zZSBzeW50YXggZXJyb3IgbWVzc2FnZQor
LSAgICAgYmVmb3JlIHRoZSBsb29rYWhlYWQgaXMgdHJhbnNsYXRlZC4gICovCistICBZWV9TWU1C
T0xfUFJJTlQgKCItPiAkJCA9IiwgeXlyMVt5eW5dLCAmeXl2YWwsICZ5eWxvYyk7CistCistICBZ
WVBPUFNUQUNLICh5eWxlbik7CistICB5eWxlbiA9IDA7CistICBZWV9TVEFDS19QUklOVCAoeXlz
cywgeXlzc3ApOworLQorLSAgKisreXl2c3AgPSB5eXZhbDtdYjRfbG9jYXRpb25zX2lmKFsKKy0g
ICorK3l5bHNwID0geXlsb2M7XSlbCistCistICAvKiBOb3cgJ3NoaWZ0JyB0aGUgcmVzdWx0IG9m
IHRoZSByZWR1Y3Rpb24uICBEZXRlcm1pbmUgd2hhdCBzdGF0ZQorLSAgICAgdGhhdCBnb2VzIHRv
LCBiYXNlZCBvbiB0aGUgc3RhdGUgd2UgcG9wcGVkIGJhY2sgdG8gYW5kIHRoZSBydWxlCistICAg
ICBudW1iZXIgcmVkdWNlZCBieS4gICovCistICB7CistICAgIGNvbnN0IGludCB5eWxocyA9IHl5
cjFbeXluXSAtIFlZTlRPS0VOUzsKKy0gICAgY29uc3QgaW50IHl5aSA9IHl5cGdvdG9beXlsaHNd
ICsgKnl5c3NwOworLSAgICB5eXN0YXRlID0gKDAgPD0geXlpICYmIHl5aSA8PSBZWUxBU1QgJiYg
eXljaGVja1t5eWldID09ICp5eXNzcAorLSAgICAgICAgICAgICAgID8geXl0YWJsZVt5eWldCist
ICAgICAgICAgICAgICAgOiB5eWRlZmdvdG9beXlsaHNdKTsKKy0gIH0KKy0KKy0gIGdvdG8geXlu
ZXdzdGF0ZTsKKy0KKy0KKy0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LgorLXwgeXllcnJsYWIgLS0gaGVyZSBvbiBkZXRlY3RpbmcgZXJyb3IuICB8CistYC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy15eWVycmxhYjoKKy0gIC8qIE1ha2Ug
c3VyZSB3ZSBoYXZlIGxhdGVzdCBsb29rYWhlYWQgdHJhbnNsYXRpb24uICBTZWUgY29tbWVudHMg
YXQKKy0gICAgIHVzZXIgc2VtYW50aWMgYWN0aW9ucyBmb3Igd2h5IHRoaXMgaXMgbmVjZXNzYXJ5
LiAgKi8KKy0gIHl5dG9rZW4gPSB5eWNoYXIgPT0gWVlFTVBUWSA/IFlZRU1QVFkgOiBZWVRSQU5T
TEFURSAoeXljaGFyKTsKKy0KKy0gIC8qIElmIG5vdCBhbHJlYWR5IHJlY292ZXJpbmcgZnJvbSBh
biBlcnJvciwgcmVwb3J0IHRoaXMgZXJyb3IuICAqLworLSAgaWYgKCF5eWVycnN0YXR1cykKKy0g
ICAgeworLSAgICAgICsreXluZXJyczsKKy0jaWYgISBZWUVSUk9SX1ZFUkJPU0UKKy0gICAgICB5
eWVycm9yIChdYjRfeXllcnJvcl9hcmdzW1lZXygic3ludGF4IGVycm9yIikpOworLSNlbHNlCist
IyBkZWZpbmUgWVlTWU5UQVhfRVJST1IgeXlzeW50YXhfZXJyb3IgKCZ5eW1zZ19hbGxvYywgJnl5
bXNnLCBcXWI0X2xhY19pZihbWworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB5eWVzYSwgJnl5ZXMsICZ5eWVzX2NhcGFjaXR5LCBcXV0pWworLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB5eXNzcCwgeXl0b2tlbikKKy0gICAgICB7CistICAg
ICAgICBjaGFyIGNvbnN0ICp5eW1zZ3AgPSBZWV8oInN5bnRheCBlcnJvciIpOworLSAgICAgICAg
aW50IHl5c3ludGF4X2Vycm9yX3N0YXR1cztdYjRfbGFjX2lmKFtbCistICAgICAgICBpZiAoeXlj
aGFyICE9IFlZRU1QVFkpCistICAgICAgICAgIFlZX0xBQ19FU1RBQkxJU0g7XV0pWworLSAgICAg
ICAgeXlzeW50YXhfZXJyb3Jfc3RhdHVzID0gWVlTWU5UQVhfRVJST1I7CistICAgICAgICBpZiAo
eXlzeW50YXhfZXJyb3Jfc3RhdHVzID09IDApCistICAgICAgICAgIHl5bXNncCA9IHl5bXNnOwor
LSAgICAgICAgZWxzZSBpZiAoeXlzeW50YXhfZXJyb3Jfc3RhdHVzID09IDEpCistICAgICAgICAg
IHsKKy0gICAgICAgICAgICBpZiAoeXltc2cgIT0geXltc2didWYpCistICAgICAgICAgICAgICBZ
WVNUQUNLX0ZSRUUgKHl5bXNnKTsKKy0gICAgICAgICAgICB5eW1zZyA9IChjaGFyICopIFlZU1RB
Q0tfQUxMT0MgKHl5bXNnX2FsbG9jKTsKKy0gICAgICAgICAgICBpZiAoIXl5bXNnKQorLSAgICAg
ICAgICAgICAgeworLSAgICAgICAgICAgICAgICB5eW1zZyA9IHl5bXNnYnVmOworLSAgICAgICAg
ICAgICAgICB5eW1zZ19hbGxvYyA9IHNpemVvZiB5eW1zZ2J1ZjsKKy0gICAgICAgICAgICAgICAg
eXlzeW50YXhfZXJyb3Jfc3RhdHVzID0gMjsKKy0gICAgICAgICAgICAgIH0KKy0gICAgICAgICAg
ICBlbHNlCistICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHl5c3ludGF4X2Vycm9y
X3N0YXR1cyA9IFlZU1lOVEFYX0VSUk9SOworLSAgICAgICAgICAgICAgICB5eW1zZ3AgPSB5eW1z
ZzsKKy0gICAgICAgICAgICAgIH0KKy0gICAgICAgICAgfQorLSAgICAgICAgeXllcnJvciAoXWI0
X3l5ZXJyb3JfYXJnc1t5eW1zZ3ApOworLSAgICAgICAgaWYgKHl5c3ludGF4X2Vycm9yX3N0YXR1
cyA9PSAyKQorLSAgICAgICAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOworLSAgICAgIH0KKy0jIHVu
ZGVmIFlZU1lOVEFYX0VSUk9SCistI2VuZGlmCistICAgIH0KKy0KKy1dYjRfbG9jYXRpb25zX2lm
KFtbICB5eWVycm9yX3JhbmdlWzFdID0geXlsbG9jO11dKVsKKy0KKy0gIGlmICh5eWVycnN0YXR1
cyA9PSAzKQorLSAgICB7CistICAgICAgLyogSWYganVzdCB0cmllZCBhbmQgZmFpbGVkIHRvIHJl
dXNlIGxvb2thaGVhZCB0b2tlbiBhZnRlciBhbgorLSAgICAgICAgIGVycm9yLCBkaXNjYXJkIGl0
LiAgKi8KKy0KKy0gICAgICBpZiAoeXljaGFyIDw9IFlZRU9GKQorLSAgICAgICAgeworLSAgICAg
ICAgICAvKiBSZXR1cm4gZmFpbHVyZSBpZiBhdCBlbmQgb2YgaW5wdXQuICAqLworLSAgICAgICAg
ICBpZiAoeXljaGFyID09IFlZRU9GKQorLSAgICAgICAgICAgIFlZQUJPUlQ7CistICAgICAgICB9
CistICAgICAgZWxzZQorLSAgICAgICAgeworLSAgICAgICAgICB5eWRlc3RydWN0ICgiRXJyb3I6
IGRpc2NhcmRpbmciLAorLSAgICAgICAgICAgICAgICAgICAgICB5eXRva2VuLCAmeXlsdmFsXWI0
X2xvY2F0aW9uc19pZihbLCAmeXlsbG9jXSlbXWI0X3VzZXJfYXJnc1spOworLSAgICAgICAgICB5
eWNoYXIgPSBZWUVNUFRZOworLSAgICAgICAgfQorLSAgICB9CistCistICAvKiBFbHNlIHdpbGwg
dHJ5IHRvIHJldXNlIGxvb2thaGVhZCB0b2tlbiBhZnRlciBzaGlmdGluZyB0aGUgZXJyb3IKKy0g
ICAgIHRva2VuLiAgKi8KKy0gIGdvdG8geXllcnJsYWIxOworLQorLQorLS8qLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgorLXwgeXllcnJvcmxhYiAt
LSBlcnJvciByYWlzZWQgZXhwbGljaXRseSBieSBZWUVSUk9SLiAgfAorLWAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLXl5ZXJyb3JsYWI6Cist
ICAvKiBQYWNpZnkgY29tcGlsZXJzIHdoZW4gdGhlIHVzZXIgY29kZSBuZXZlciBpbnZva2VzIFlZ
RVJST1IgYW5kIHRoZQorLSAgICAgbGFiZWwgeXllcnJvcmxhYiB0aGVyZWZvcmUgbmV2ZXIgYXBw
ZWFycyBpbiB1c2VyIGNvZGUuICAqLworLSAgaWYgKDApCistICAgIFlZRVJST1I7CistCistICAv
KiBEbyBub3QgcmVjbGFpbSB0aGUgc3ltYm9scyBvZiB0aGUgcnVsZSB3aG9zZSBhY3Rpb24gdHJp
Z2dlcmVkCistICAgICB0aGlzIFlZRVJST1IuICAqLworLSAgWVlQT1BTVEFDSyAoeXlsZW4pOwor
LSAgeXlsZW4gPSAwOworLSAgWVlfU1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKKy0gIHl5c3Rh
dGUgPSAqeXlzc3A7CistICBnb3RvIHl5ZXJybGFiMTsKKy0KKy0KKy0vKi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCistfCB5eWVy
cmxhYjEgLS0gY29tbW9uIGNvZGUgZm9yIGJvdGggc3ludGF4IGVycm9yIGFuZCBZWUVSUk9SLiAg
fAorLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKi8KKy15eWVycmxhYjE6CistICB5eWVycnN0YXR1cyA9IDM7ICAgICAgLyogRWFj
aCByZWFsIHRva2VuIHNoaWZ0ZWQgZGVjcmVtZW50cyB0aGlzLiAgKi8KKy0KKy0gIGZvciAoOzsp
CistICAgIHsKKy0gICAgICB5eW4gPSB5eXBhY3RbeXlzdGF0ZV07CistICAgICAgaWYgKCF5eXBh
Y3RfdmFsdWVfaXNfZGVmYXVsdCAoeXluKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgeXluICs9
IFlZVEVSUk9SOworLSAgICAgICAgICBpZiAoMCA8PSB5eW4gJiYgeXluIDw9IFlZTEFTVCAmJiB5
eWNoZWNrW3l5bl0gPT0gWVlURVJST1IpCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAg
eXluID0geXl0YWJsZVt5eW5dOworLSAgICAgICAgICAgICAgaWYgKDAgPCB5eW4pCistICAgICAg
ICAgICAgICAgIGJyZWFrOworLSAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKy0KKy0gICAgICAv
KiBQb3AgdGhlIGN1cnJlbnQgc3RhdGUgYmVjYXVzZSBpdCBjYW5ub3QgaGFuZGxlIHRoZSBlcnJv
ciB0b2tlbi4gICovCistICAgICAgaWYgKHl5c3NwID09IHl5c3MpCistICAgICAgICBZWUFCT1JU
OworLQorLV1iNF9sb2NhdGlvbnNfaWYoW1sgICAgICB5eWVycm9yX3JhbmdlWzFdID0gKnl5bHNw
O11dKVsKKy0gICAgICB5eWRlc3RydWN0ICgiRXJyb3I6IHBvcHBpbmciLAorLSAgICAgICAgICAg
ICAgICAgIHl5c3Rvc1t5eXN0YXRlXSwgeXl2c3BdYjRfbG9jYXRpb25zX2lmKFssIHl5bHNwXSlb
XWI0X3VzZXJfYXJnc1spOworLSAgICAgIFlZUE9QU1RBQ0sgKDEpOworLSAgICAgIHl5c3RhdGUg
PSAqeXlzc3A7CistICAgICAgWVlfU1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKKy0gICAgfV1i
NF9sYWNfaWYoW1sKKy0KKy0gIC8qIElmIHRoZSBzdGFjayBwb3BwaW5nIGFib3ZlIGRpZG4ndCBs
b3NlIHRoZSBpbml0aWFsIGNvbnRleHQgZm9yIHRoZQorLSAgICAgY3VycmVudCBsb29rYWhlYWQg
dG9rZW4sIHRoZSBzaGlmdCBiZWxvdyB3aWxsIGZvciBzdXJlLiAgKi8KKy0gIFlZX0xBQ19ESVND
QVJEICgiZXJyb3IgcmVjb3ZlcnkiKTtdXSlbCistCistICBZWV9JR05PUkVfTUFZQkVfVU5JTklU
SUFMSVpFRF9CRUdJTgorLSAgKisreXl2c3AgPSB5eWx2YWw7CistICBZWV9JR05PUkVfTUFZQkVf
VU5JTklUSUFMSVpFRF9FTkQKKy1dYjRfbG9jYXRpb25zX2lmKFtbCistICB5eWVycm9yX3Jhbmdl
WzJdID0geXlsbG9jOworLSAgLyogVXNpbmcgWVlMTE9DIGlzIHRlbXB0aW5nLCBidXQgd291bGQg
Y2hhbmdlIHRoZSBsb2NhdGlvbiBvZgorLSAgICAgdGhlIGxvb2thaGVhZC4gIFlZTE9DIGlzIGF2
YWlsYWJsZSB0aG91Z2guICAqLworLSAgWVlMTE9DX0RFRkFVTFQgKHl5bG9jLCB5eWVycm9yX3Jh
bmdlLCAyKTsKKy0gICorK3l5bHNwID0geXlsb2M7XV0pWworLQorLSAgLyogU2hpZnQgdGhlIGVy
cm9yIHRva2VuLiAgKi8KKy0gIFlZX1NZTUJPTF9QUklOVCAoIlNoaWZ0aW5nIiwgeXlzdG9zW3l5
bl0sIHl5dnNwLCB5eWxzcCk7CistCistICB5eXN0YXRlID0geXluOworLSAgZ290byB5eW5ld3N0
YXRlOworLQorLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KKy18
IHl5YWNjZXB0bGFiIC0tIFlZQUNDRVBUIGNvbWVzIGhlcmUuICB8CistYC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLXl5YWNjZXB0bGFiOgorLSAgeXlyZXN1bHQgPSAw
OworLSAgZ290byB5eXJldHVybjsKKy0KKy0KKy0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLgorLXwgeXlhYm9ydGxhYiAtLSBZWUFCT1JUIGNvbWVzIGhlcmUuICB8CistYC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy15eWFib3J0bGFiOgorLSAgeXly
ZXN1bHQgPSAxOworLSAgZ290byB5eXJldHVybjsKKy0KKy0KKy0jaWYgXWI0X2xhY19pZihbWzFd
XSwgW1shZGVmaW5lZCB5eW92ZXJmbG93IHx8IFlZRVJST1JfVkVSQk9TRV1dKVsKKy0vKi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCistfCB5eWV4aGF1
c3RlZGxhYiAtLSBtZW1vcnkgZXhoYXVzdGlvbiBjb21lcyBoZXJlLiAgfAorLWAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy15eWV4aGF1c3RlZGxh
YjoKKy0gIHl5ZXJyb3IgKF1iNF95eWVycm9yX2FyZ3NbWVlfKCJtZW1vcnkgZXhoYXVzdGVkIikp
OworLSAgeXlyZXN1bHQgPSAyOworLSAgLyogRmFsbCB0aHJvdWdoLiAgKi8KKy0jZW5kaWYKKy0K
Ky0KKy0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLgorLXwgeXlyZXR1cm4gLS0gcGFyc2luZyBpcyBmaW5pc2hlZCwgcmV0dXJuIHRoZSByZXN1
bHQuICB8CistYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKi8KKy15eXJldHVybjoKKy0gIGlmICh5eWNoYXIgIT0gWVlFTVBUWSkKKy0gICAgewor
LSAgICAgIC8qIE1ha2Ugc3VyZSB3ZSBoYXZlIGxhdGVzdCBsb29rYWhlYWQgdHJhbnNsYXRpb24u
ICBTZWUgY29tbWVudHMgYXQKKy0gICAgICAgICB1c2VyIHNlbWFudGljIGFjdGlvbnMgZm9yIHdo
eSB0aGlzIGlzIG5lY2Vzc2FyeS4gICovCistICAgICAgeXl0b2tlbiA9IFlZVFJBTlNMQVRFICh5
eWNoYXIpOworLSAgICAgIHl5ZGVzdHJ1Y3QgKCJDbGVhbnVwOiBkaXNjYXJkaW5nIGxvb2thaGVh
ZCIsCistICAgICAgICAgICAgICAgICAgeXl0b2tlbiwgJnl5bHZhbF1iNF9sb2NhdGlvbnNfaWYo
WywgJnl5bGxvY10pW11iNF91c2VyX2FyZ3NbKTsKKy0gICAgfQorLSAgLyogRG8gbm90IHJlY2xh
aW0gdGhlIHN5bWJvbHMgb2YgdGhlIHJ1bGUgd2hvc2UgYWN0aW9uIHRyaWdnZXJlZAorLSAgICAg
dGhpcyBZWUFCT1JUIG9yIFlZQUNDRVBULiAgKi8KKy0gIFlZUE9QU1RBQ0sgKHl5bGVuKTsKKy0g
IFlZX1NUQUNLX1BSSU5UICh5eXNzLCB5eXNzcCk7CistICB3aGlsZSAoeXlzc3AgIT0geXlzcykK
Ky0gICAgeworLSAgICAgIHl5ZGVzdHJ1Y3QgKCJDbGVhbnVwOiBwb3BwaW5nIiwKKy0gICAgICAg
ICAgICAgICAgICB5eXN0b3NbKnl5c3NwXSwgeXl2c3BdYjRfbG9jYXRpb25zX2lmKFssIHl5bHNw
XSlbXWI0X3VzZXJfYXJnc1spOworLSAgICAgIFlZUE9QU1RBQ0sgKDEpOworLSAgICB9CistI2lm
bmRlZiB5eW92ZXJmbG93CistICBpZiAoeXlzcyAhPSB5eXNzYSkKKy0gICAgWVlTVEFDS19GUkVF
ICh5eXNzKTsKKy0jZW5kaWZdYjRfbGFjX2lmKFtbCistICBpZiAoeXllcyAhPSB5eWVzYSkKKy0g
ICAgWVlTVEFDS19GUkVFICh5eWVzKTtdXSliNF9wdXNoX2lmKFtbCistICB5eXBzLT55eW5ldyA9
IDE7CistCistCistLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4K
Ky18IHl5cHVzaHJldHVybiAtLSBhc2sgZm9yIHRoZSBuZXh0IHRva2VuLiAgfAorLWAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisteXlwdXNocmV0dXJuOl1dKVsK
Ky0jaWYgWVlFUlJPUl9WRVJCT1NFCistICBpZiAoeXltc2cgIT0geXltc2didWYpCistICAgIFlZ
U1RBQ0tfRlJFRSAoeXltc2cpOworLSNlbmRpZgorLSAgcmV0dXJuIHl5cmVzdWx0OworLX0KKy1d
YjRfZXBpbG9ndWVbXWRubAorLWI0X291dHB1dF9lbmQKKy0KKy1iNF9kZWZpbmVzX2lmKFtbCist
XWI0X291dHB1dF9iZWdpbihbYjRfc3BlY19kZWZpbmVzX2ZpbGVdKVsKKy1dYjRfY29weXJpZ2h0
KFtCaXNvbiBpbnRlcmZhY2UgZm9yIFlhY2MtbGlrZSBwYXJzZXJzIGluIENdKVsKKy1dYjRfZGlz
Y2xhaW1lclsKKy1dYjRfc2hhcmVkX2RlY2xhcmF0aW9uc1sKKy1dYjRfb3V0cHV0X2VuZFsKKy1d
XSkjIGI0X2RlZmluZXNfaWYKK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90
b29scy9mbGV4LWJpc29uL3VwZGF0ZV9mbGV4X2Jpc29uX2JpbmFyaWVzLnB5IGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi91cGRhdGVfZmxleF9iaXNvbl9iaW5hcmll
cy5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCA5OWMwMDJiMDRlNy4uMDAwMDAw
MDAwMDAKKy0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdXBk
YXRlX2ZsZXhfYmlzb25fYmluYXJpZXMucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDY5ICswLDAg
QEAKKy0jIS91c3IvYmluL3B5dGhvbjIKKy0jCistIyBDb3B5cmlnaHQgMjAxOSBUaGUgQU5HTEUg
UHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLSMgVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQor
LSMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy0jCistIyB1cGRhdGVfZmxleF9iaXNvbl9i
aW5hcmllcy5weToKKy0jICAgSGVscGVyIHNjcmlwdCB0byB1cGRhdGUgdGhlIHZlcnNpb24gb2Yg
ZmxleCBhbmQgYmlzb24gaW4gY2xvdWQgc3RvcmFnZS4KKy0jICAgVGhlc2UgYmluYXJpZXMgYXJl
IHVzZWQgdG8gZ2VuZXJhdGUgdGhlIEFOR0xFIHRyYW5zbGF0b3IncyBsZXhlciBhbmQgcGFyc2Vy
LgorLSMgICBUaGlzIHNjcmlwdCByZWxpZXMgb24gZmxleCBhbmQgYmlzb24gYmluYXJpZXMgdG8g
YmUgZXh0ZXJuYWxseSBidWlsdCB3aGljaAorLSMgICBpcyBleHBlY3RlZCB0byBiZSBhIHJhcmUg
b3BlcmF0aW9uLiBJdCBjdXJyZW50bHkgb25seSB3b3JrcyBvbiBXaW5kb3dzIGFuZAorLSMgICBM
aW51eC4gSXQgYWxzbyB3aWxsIHVwZGF0ZSB0aGUgaGFzaGVzIHN0b3JlZCBpbiB0aGUgdHJlZS4g
Rm9yIG1vcmUgaW5mbyBzZWUKKy0jICAgUkVBRE1FLm1kIGluIHRoaXMgZm9sZGVyLgorLQorLWlt
cG9ydCBvcworLWltcG9ydCBwbGF0Zm9ybQorLWltcG9ydCBzaHV0aWwKKy1pbXBvcnQgc3lzCist
Cistc3lzLnBhdGguYXBwZW5kKCd0b29scy8nKQorLWltcG9ydCBhbmdsZV90b29scworLQorLQor
LWRlZiBtYWluKCk6CistICAgIGlmIGFuZ2xlX3Rvb2xzLmlzX2xpbnV4OgorLSAgICAgICAgc3Vi
ZGlyID0gJ2xpbnV4JworLSAgICAgICAgZmlsZXMgPSBbJ2ZsZXgnLCAnYmlzb24nXQorLSAgICBl
bGlmIGFuZ2xlX3Rvb2xzLmlzX3dpbmRvd3M6CistICAgICAgICBzdWJkaXIgPSAnd2luZG93cycK
Ky0gICAgICAgIGZpbGVzID0gWworLSAgICAgICAgICAgICdmbGV4LmV4ZScsICdiaXNvbi5leGUn
LCAnbTQuZXhlJywgJ21zeXMtMi4wLmRsbCcsICdtc3lzLWljb252LTIuZGxsJywKKy0gICAgICAg
ICAgICAnbXN5cy1pbnRsLTguZGxsJworLSAgICAgICAgXQorLSAgICBlbHNlOgorLSAgICAgICAg
cHJpbnQoJ1NjcmlwdCBtdXN0IGJlIHJ1biBvbiBMaW51eCBvciBXaW5kb3dzLicpCistICAgICAg
ICByZXR1cm4gMQorLQorLSAgICBmaWxlcyA9IFtvcy5wYXRoLmpvaW4oc3lzLnBhdGhbMF0sIHN1
YmRpciwgZikgZm9yIGYgaW4gZmlsZXNdCistCistICAgICMgU3RlcCAxOiBVcGxvYWQgdG8gY2xv
dWQgc3RvcmFnZQorLSAgICBpZiBub3QgYW5nbGVfdG9vbHMudXBsb2FkX3RvX2dvb2dsZV9zdG9y
YWdlKCdhbmdsZS1mbGV4LWJpc29uJywgZmlsZXMpOgorLSAgICAgICAgcHJpbnQoJ0Vycm9yIHVw
bG9hZCB0byBjbG91ZCBzdG9yYWdlJykKKy0gICAgICAgIHJldHVybiAxCistCistICAgICMgU3Rl
cCAyOiBTdGFnZSBuZXcgU0hBIHRvIGdpdAorLSAgICBpZiBub3QgYW5nbGVfdG9vbHMuc3RhZ2Vf
Z29vZ2xlX3N0b3JhZ2Vfc2hhMShmaWxlcyk6CistICAgICAgICBwcmludCgnRXJyb3IgcnVubmlu
ZyBnaXQgYWRkJykKKy0gICAgICAgIHJldHVybiAyCistCistICAgIHByaW50KCcnKQorLSAgICBw
cmludCgnVGhlIHVwZGF0ZWQgU0hBIGhhcyBiZWVuIHN0YWdlZCBmb3IgY29tbWl0LiBQbGVhc2Ug
Y29tbWl0IGFuZCB1cGxvYWQuJykKKy0gICAgcHJpbnQoJ1N1Z2dlc3RlZCBjb21taXQgbWVzc2Fn
ZSAocGxlYXNlIGluZGljYXRlIGZsZXgvYmlzb24gdmVyc2lvbnMpOicpCistICAgIHByaW50KCct
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJykKKy0gICAgcHJpbnQoJycpCistICAgIHByaW50
KCdVcGRhdGUgZmxleCBhbmQgYmlzb24gYmluYXJpZXMgZm9yICVzLicgJSBwbGF0Zm9ybS5zeXN0
ZW0oKSkKKy0gICAgcHJpbnQoJycpCistICAgIHByaW50KCdUaGVzZSBiaW5hcmllcyB3ZXJlIHVw
ZGF0ZWQgdXNpbmcgJXMuJyAlIG9zLnBhdGguYmFzZW5hbWUoX19maWxlX18pKQorLSAgICBwcmlu
dCgnUGxlYXNlIHNlZSBpbnN0cnVjdGlvbnMgaW4gdG9vbHMvZmxleC1iaXNvbi9SRUFETUUubWQu
JykKKy0gICAgcHJpbnQoJycpCistICAgIHByaW50KCdmbGV4IGlzIGF0IHZlcnNpb24gVE9ETy4n
KQorLSAgICBwcmludCgnYmlzb24gaXMgYXQgdmVyc2lvbiBUT0RPLicpCistICAgIHByaW50KCcn
KQorLSAgICBwcmludCgnQnVnOiBOb25lJykKKy0KKy0gICAgcmV0dXJuIDAKKy0KKy0KKy1pZiBf
X25hbWVfXyA9PSAnX19tYWluX18nOgorLSAgICBzeXMuZXhpdChtYWluKCkpCitkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL2Jpc29u
LmV4ZS5zaGExIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5k
b3dzL2Jpc29uLmV4ZS5zaGExCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDhjYjVm
NGZiNWJiLi4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi93aW5kb3dzL2Jpc29uLmV4ZS5zaGExCisrKysgL2Rldi9udWxsCitAQCAtMSAr
MCwwIEBACistNGE2ZTFkY2VkNjFkYWIyZmNkODI4ZWRiZmJmYTdlYjAyMTVjZjJhNAorXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL2ZsZXguZXhlLnNoYTEgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvZmxleC5leGUuc2hhMQorZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBmYWE3OGVkY2FmZS4uMDAwMDAwMDAwMDAKKy0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9mbGV4LmV4
ZS5zaGExCisrKysgL2Rldi9udWxsCitAQCAtMSArMCwwIEBACistYmM1MGIzYjZlODRhMzA5NDBh
YTEyMjNmNjkyYzlmMWZjOWJlZGJmOQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dz
L200LmV4ZS5zaGExIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93
aW5kb3dzL200LmV4ZS5zaGExCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDU2NDNk
ZmIzYjA1Li4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi93aW5kb3dzL200LmV4ZS5zaGExCisrKysgL2Rldi9udWxsCitAQCAtMSArMCww
IEBACistMDY4MzZlNDViMDVkNTk3ZDU2Yjc0ZmViZTNiY2ZkNzZlODBlZjhmOAorXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
dG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtMi4wLmRsbC5zaGExIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtMi4wLmRsbC5zaGExCitk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDk4MzUyYzc0NjM1Li4wMDAwMDAwMDAwMAor
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21z
eXMtMi4wLmRsbC5zaGExCisrKysgL2Rldi9udWxsCitAQCAtMSArMCwwIEBACistZDBiZWFiN2Vj
NzdiMjVhYzcxYmQyZDNiZjU0ZjRlZmQzOWUzOTQ3ZgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNv
bi93aW5kb3dzL21zeXMtaWNvbnYtMi5kbGwuc2hhMSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9tc3lzLWljb252LTIuZGxsLnNoYTEKK2RlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZjUyYmM0YjQyYjkuLjAwMDAwMDAwMDAwCistLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbXN5cy1pY29u
di0yLmRsbC5zaGExCisrKysgL2Rldi9udWxsCitAQCAtMSArMCwwIEBACistMDU3OWYxNTYzZTIy
MGQ2MTIxYjY1YTVmNDcyOTkxOWNkMGNiNmFmOQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93
aW5kb3dzL21zeXMtaW50bC04LmRsbC5zaGExIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9v
bHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtaW50bC04LmRsbC5zaGExCitkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKK2luZGV4IGE3MzU5MjExM2YxLi4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtaW50bC04LmRs
bC5zaGExCisrKysgL2Rldi9udWxsCitAQCAtMSArMCwwIEBACistMjEyYTllZjkwZTIxYTk4ZmY1
N2NhMzAxYTYwYzg0Y2JlY2E3YmUyOAorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9nbG1h
cmsyQmVuY2htYXJrLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJm
X3Rlc3RzL2dsbWFyazJCZW5jaG1hcmsuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxNzRmY2M2NzM1YTAyZDY4ZjVhZjZjNWM0OTkzMzhhOGI5MjUyM2QyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy90ZXN0cy9wZXJmX3Rlc3RzL2dsbWFyazJCZW5jaG1hcmsuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsMjg1ICswLDAgQEAKLS8vCi0vLyBDb3B5cmlnaHQgMjAxOSBUaGUgQU5HTEUgUHJvamVj
dCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8vCi0vLyBnbG1hcmsyQmVuY2htYXJrOgotLy8gICBS
dW5zIHRoZSBnbG1hcmsyIGJlbmNobWFyay4KLS8vCi0KLSNpbmNsdWRlIDxndGVzdC9ndGVzdC5o
PgotCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzc3RyZWFtPgotCi0jaW5jbHVkZSAi
Li4vcGVyZl90ZXN0cy90aGlyZF9wYXJ0eS9wZXJmL3BlcmZfcmVzdWx0X3JlcG9ydGVyLmgiCi0j
aW5jbHVkZSAiQU5HTEVQZXJmVGVzdEFyZ3MuaCIKLSNpbmNsdWRlICJjb21tb24vcGxhdGZvcm0u
aCIKLSNpbmNsdWRlICJjb21tb24vc3lzdGVtX3V0aWxzLmgiCi0jaW5jbHVkZSAidGVzdF91dGls
cy9hbmdsZV90ZXN0X2NvbmZpZ3MuaCIKLSNpbmNsdWRlICJ0ZXN0X3V0aWxzL2FuZ2xlX3Rlc3Rf
aW5zdGFudGlhdGUuaCIKLSNpbmNsdWRlICJ1dGlsL3Rlc3RfdXRpbHMuaCIKLQotdXNpbmcgbmFt
ZXNwYWNlIGFuZ2xlOwotCi1uYW1lc3BhY2UKLXsKLQotc3RydWN0IEJlbmNobWFya0luZm8KLXsK
LSAgICBjb25zdCBjaGFyICpnbG1hcmsyQ29uZmlnOwotICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci19
OwotCi0vLyBFYWNoIGdsbWFyazIgc2NlbmUgaXMgaW5kaXZpZHVhbGx5IGJlbmNobWFya2VkLiAg
SWYgZ2xtYXJrMiBpcyBydW4gd2l0aG91dCBhIHNwZWNpZmljIGJlbmNobWFyaywKLS8vIGl0IGNh
biBwcm9kdWNlIGFuIGFnZ3JlZ2F0ZSBzY29yZSwgd2hpY2ggaXMgbm90IGludGVyZXN0aW5nIGF0
IHRoZSBtb21lbnQuICBBZGRpbmcgYW4gZW1wdHkKLS8vIHN0cmluZyAoIiIpIHRvIHRoaXMgbGlz
dCB3aWxsIGVuYWJsZSBhIHRlc3Qgd2hlcmUgZ2xtYXJrMiBpcyBydW4gd2l0aCB0aGUgZGVmYXVs
dCBzY2VuZXMgYW5kIHRoZQotLy8gc2NvcmUgZm9yIGVhY2ggdGVzdCBhcyB3ZWxsIGFzIHRoZSBv
dmVyYWxsIHNjb3JlIGlzIG91dHB1dC4KLWNvbnN0ZXhwciBCZW5jaG1hcmtJbmZvIGtCZW5jaG1h
cmtzW10gPSB7Ci0gICAgeyJidWlsZDp1c2UtdmJvPWZhbHNlIiwgImJ1aWxkIn0sCi0gICAgeyJi
dWlsZDp1c2UtdmJvPXRydWUiLCAiYnVpbGRfdmJvIn0sCi0gICAgeyJ0ZXh0dXJlOnRleHR1cmUt
ZmlsdGVyPW5lYXJlc3QiLCAidGV4dHVyZV9uZWFyZXN0In0sCi0gICAgeyJ0ZXh0dXJlOnRleHR1
cmUtZmlsdGVyPWxpbmVhciIsICJ0ZXh0dXJlX2xpbmVhciJ9LAotICAgIHsidGV4dHVyZTp0ZXh0
dXJlLWZpbHRlcj1taXBtYXAiLCAidGV4dHVyZV9taXBtYXAifSwKLSAgICB7InNoYWRpbmc6c2hh
ZGluZz1nb3VyYXVkIiwgInNoYWRpbmdfZ291cmF1ZCJ9LAotICAgIHsic2hhZGluZzpzaGFkaW5n
PWJsaW5uLXBob25nLWluZiIsICJzaGFkaW5nX2JsaW5uX3Bob25nIn0sCi0gICAgeyJzaGFkaW5n
OnNoYWRpbmc9cGhvbmciLCAic2hhZGluZ19waG9uZyJ9LAotICAgIHsic2hhZGluZzpzaGFkaW5n
PWNlbCIsICJzaGFkaW5nX2NlbCJ9LAotICAgIHsiYnVtcDpidW1wLXJlbmRlcj1oaWdoLXBvbHki
LCAiYnVtcF9oaWdoX3BvbHkifSwKLSAgICB7ImJ1bXA6YnVtcC1yZW5kZXI9bm9ybWFscyIsICJi
dW1wX25vcm1hbHMifSwKLSAgICB7ImJ1bXA6YnVtcC1yZW5kZXI9aGVpZ2h0IiwgImJ1bXBfaGVp
Z2h0In0sCi0gICAgeyJlZmZlY3QyZDprZXJuZWw9MCwxLDA7MSwtNCwxOzAsMSwwOyIsICJlZmZl
Y3QyZF9lZGdlIn0sCi0gICAgeyJlZmZlY3QyZDprZXJuZWw9MSwxLDEsMSwxOzEsMSwxLDEsMTsx
LDEsMSwxLDE7IiwgImVmZmVjdDJkX2JsdXIifSwKLSAgICB7InB1bHNhcjpsaWdodD1mYWxzZTpx
dWFkcz01OnRleHR1cmU9ZmFsc2UiLCAicHVsc2FyIn0sCi0gICAgeyJkZXNrdG9wOmJsdXItcmFk
aXVzPTU6ZWZmZWN0PWJsdXI6cGFzc2VzPTE6c2VwYXJhYmxlPXRydWU6d2luZG93cz00IiwgImRl
c2t0b3BfYmx1ciJ9LAotICAgIHsiZGVza3RvcDplZmZlY3Q9c2hhZG93OndpbmRvd3M9NCIsICJk
ZXNrdG9wX3NoYWRvdyJ9LAotICAgIHsiYnVmZmVyOmNvbHVtbnM9MjAwOmludGVybGVhdmU9ZmFs
c2U6dXBkYXRlLWRpc3BlcnNpb249MC45OnVwZGF0ZS1mcmFjdGlvbj0wLjU6dXBkYXRlLW1ldGhv
ZD0iCi0gICAgICJtYXAiLAotICAgICAiYnVmZmVyX21hcCJ9LAotICAgIHsiYnVmZmVyOmNvbHVt
bnM9MjAwOmludGVybGVhdmU9ZmFsc2U6dXBkYXRlLWRpc3BlcnNpb249MC45OnVwZGF0ZS1mcmFj
dGlvbj0wLjU6dXBkYXRlLW1ldGhvZD0iCi0gICAgICJzdWJkYXRhIiwKLSAgICAgImJ1ZmZlcl9z
dWJkYXRhIn0sCi0gICAgeyJidWZmZXI6Y29sdW1ucz0yMDA6aW50ZXJsZWF2ZT10cnVlOnVwZGF0
ZS1kaXNwZXJzaW9uPTAuOTp1cGRhdGUtZnJhY3Rpb249MC41OnVwZGF0ZS1tZXRob2Q9IgotICAg
ICAibWFwIiwKLSAgICAgImJ1ZmZlcl9tYXBfaW50ZXJsZWF2ZSJ9LAotICAgIHsiaWRlYXM6c3Bl
ZWQ9ZHVyYXRpb24iLCAiaWRlYXMifSwKLSAgICB7ImplbGx5ZmlzaCIsICJqZWxseWZpc2gifSwK
LSAgICB7InRlcnJhaW4iLCAidGVycmFpbiJ9LAotICAgIHsic2hhZG93IiwgInNoYWRvdyJ9LAot
ICAgIHsicmVmcmFjdCIsICJyZWZyYWN0In0sCi0gICAgeyJjb25kaXRpb25hbHM6ZnJhZ21lbnQt
c3RlcHM9MDp2ZXJ0ZXgtc3RlcHM9MCIsICJjb25kaXRpb25hbHMifSwKLSAgICB7ImNvbmRpdGlv
bmFsczpmcmFnbWVudC1zdGVwcz01OnZlcnRleC1zdGVwcz0wIiwgImNvbmRpdGlvbmFsc19mcmFn
bWVudCJ9LAotICAgIHsiY29uZGl0aW9uYWxzOmZyYWdtZW50LXN0ZXBzPTA6dmVydGV4LXN0ZXBz
PTUiLCAiY29uZGl0aW9uYWxzX3ZlcnRleCJ9LAotICAgIHsiZnVuY3Rpb246ZnJhZ21lbnQtY29t
cGxleGl0eT1sb3c6ZnJhZ21lbnQtc3RlcHM9NSIsICJmdW5jdGlvbiJ9LAotICAgIHsiZnVuY3Rp
b246ZnJhZ21lbnQtY29tcGxleGl0eT1tZWRpdW06ZnJhZ21lbnQtc3RlcHM9NSIsICJmdW5jdGlv
bl9jb21wbGV4In0sCi0gICAgeyJsb29wOmZyYWdtZW50LWxvb3A9ZmFsc2U6ZnJhZ21lbnQtc3Rl
cHM9NTp2ZXJ0ZXgtc3RlcHM9NSIsICJsb29wX25vX2ZzbG9vcCJ9LAotICAgIHsibG9vcDpmcmFn
bWVudC1zdGVwcz01OmZyYWdtZW50LXVuaWZvcm09ZmFsc2U6dmVydGV4LXN0ZXBzPTUiLCAibG9v
cF9ub191bmlmb3JtIn0sCi0gICAgeyJsb29wOmZyYWdtZW50LXN0ZXBzPTU6ZnJhZ21lbnQtdW5p
Zm9ybT10cnVlOnZlcnRleC1zdGVwcz01IiwgImxvb3AifSwKLX07Ci0KLXVzaW5nIEdMTWFyazJC
ZW5jaG1hcmtUZXN0UGFyYW1zID0gc3RkOjp0dXBsZTxQbGF0Zm9ybVBhcmFtZXRlcnMsIHNpemVf
dD47Ci1zdGQ6OnN0cmluZyBHTE1hcmsyQmVuY2htYXJrUHJpbnQoCi0gICAgY29uc3QgOjp0ZXN0
aW5nOjpUZXN0UGFyYW1JbmZvPEdMTWFyazJCZW5jaG1hcmtUZXN0UGFyYW1zPiAmcGFyYW1zSW5m
bykKLXsKLSAgICBjb25zdCBHTE1hcmsyQmVuY2htYXJrVGVzdFBhcmFtcyAmcGFyYW1zID0gcGFy
YW1zSW5mby5wYXJhbTsKLSAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gb3V0OwotCi0gICAgb3V0IDw8
IHN0ZDo6Z2V0PDA+KHBhcmFtcykgPDwgJ18nOwotICAgIG91dCA8PCBrQmVuY2htYXJrc1tzdGQ6
OmdldDwxPihwYXJhbXMpXS5uYW1lOwotCi0gICAgcmV0dXJuIG91dC5zdHIoKTsKLX0KLQotY2xh
c3MgR0xNYXJrMkJlbmNobWFyayA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEdMTWFy
azJCZW5jaG1hcmtUZXN0UGFyYW1zPgotewotICBwdWJsaWM6Ci0gICAgR0xNYXJrMkJlbmNobWFy
aygpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHN0ZDo6Z2V0PDA+KEdldFBhcmFtKCkpLmdldFJl
bmRlcmVyKCkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNhc2UgRUdMX1BMQVRGT1JNX0FOR0xF
X1RZUEVfRDNEMTFfQU5HTEU6Ci0gICAgICAgICAgICAgICAgbUJhY2tlbmQgPSAiZDNkMTEiOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBFR0xfUExBVEZPUk1fQU5H
TEVfVFlQRV9PUEVOR0xFU19BTkdMRToKLSAgICAgICAgICAgICAgICBtQmFja2VuZCA9ICJnbCI7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEVHTF9QTEFURk9STV9B
TkdMRV9UWVBFX1ZVTEtBTl9BTkdMRToKLSAgICAgICAgICAgICAgICBtQmFja2VuZCA9ICJ2dWxr
YW4iOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBzdGQ6OnN0cmluZyBzdG9yeSA9
IGtCZW5jaG1hcmtzW3N0ZDo6Z2V0PDE+KEdldFBhcmFtKCkpXS5uYW1lOwotICAgICAgICBtUmVw
b3J0ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPHBlcmZfdGVzdDo6UGVyZlJlc3VsdFJlcG9ydGVyPigi
Z2xtYXJrMl8iICsgbUJhY2tlbmQsIHN0b3J5KTsKLSAgICAgICAgbVJlcG9ydGVyLT5SZWdpc3Rl
ckltcG9ydGFudE1ldHJpYygiLmZwcyIsICJmcHMiKTsKLSAgICAgICAgbVJlcG9ydGVyLT5SZWdp
c3RlckltcG9ydGFudE1ldHJpYygiLnNjb3JlIiwgInNjb3JlIik7Ci0gICAgfQotCi0gICAgdm9p
ZCBydW4oKQotICAgIHsKLSAgICAgICAgLy8gT25seSBzdXBwb3J0ZWQgb24gTGludXggYW5kIFdp
bmRvd3MgYXQgdGhlIG1vbWVudC4KLSAgICAgICAgaWYgKCFJc0xpbnV4KCkgJiYgIUlzV2luZG93
cygpKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAg
ICBjb25zdCBCZW5jaG1hcmtJbmZvIGJlbmNobWFya0luZm8gPSBrQmVuY2htYXJrc1tzdGQ6Omdl
dDwxPihHZXRQYXJhbSgpKV07Ci0gICAgICAgIGNvbnN0IGNoYXIgKmJlbmNobWFyayAgICAgICAg
ICAgICA9IGJlbmNobWFya0luZm8uZ2xtYXJrMkNvbmZpZzsKLSAgICAgICAgY29uc3QgY2hhciAq
YmVuY2htYXJrTmFtZSAgICAgICAgID0gYmVuY2htYXJrSW5mby5uYW1lOwotICAgICAgICBib29s
IGNvbXBsZXRlUnVuICAgICAgICAgICAgICAgICAgPSBiZW5jaG1hcmsgPT0gbnVsbHB0ciB8fCBi
ZW5jaG1hcmtbMF0gPT0gJ1wwJzsKLQotICAgICAgICBPcHRpb25hbDxzdGQ6OnN0cmluZz4gY3dk
ID0gR2V0Q1dEKCk7Ci0KLSAgICAgICAgLy8gU2V0IHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0
b3J5IHRvIHRoZSBleGVjdXRhYmxlJ3MsIGFzIHRoZSBkYXRhIHBhdGggb2YgZ2xtYXJrMiBpcwot
ICAgICAgICAvLyBzZXQgcmVsYXRpdmUgdG8gdGhhdCBwYXRoLgotICAgICAgICBzdGQ6OnN0cmlu
ZyBleGVjdXRhYmxlRGlyID0gR2V0RXhlY3V0YWJsZURpcmVjdG9yeSgpOwotICAgICAgICBTZXRD
V0QoZXhlY3V0YWJsZURpci5jX3N0cigpKTsKLSAgICAgICAgU2V0RW52aXJvbm1lbnRWYXIoIkFO
R0xFX0RFRkFVTFRfUExBVEZPUk0iLCBtQmFja2VuZC5jX3N0cigpKTsKLQotICAgICAgICBzdGQ6
OnZlY3Rvcjxjb25zdCBjaGFyICo+IGFyZ3MgPSB7Ci0gICAgICAgICAgICAiZ2xtYXJrMl9hbmds
ZSIsCi0gICAgICAgIH07Ci0gICAgICAgIGlmIChPbmVGcmFtZSgpKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBhcmdzLnB1c2hfYmFjaygiLS12YWxpZGF0ZSIpOwotICAgICAgICB9Ci0gICAgICAg
IGlmICghY29tcGxldGVSdW4pCi0gICAgICAgIHsKLSAgICAgICAgICAgIGFyZ3MucHVzaF9iYWNr
KCItLWJlbmNobWFyayIpOwotICAgICAgICAgICAgYXJncy5wdXNoX2JhY2soYmVuY2htYXJrKTsK
LSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUnVubmluZyBiZW5jaG1hcms6ICVzXG4iLCBi
ZW5jaG1hcmspOwotICAgICAgICB9Ci0gICAgICAgIGFyZ3MucHVzaF9iYWNrKG51bGxwdHIpOwot
Ci0gICAgICAgIFByb2Nlc3NIYW5kbGUgcHJvY2VzcyhhcmdzLCB0cnVlLCBmYWxzZSk7Ci0gICAg
ICAgIEFTU0VSVF9UUlVFKHByb2Nlc3MgJiYgcHJvY2Vzcy0+c3RhcnRlZCgpKTsKLSAgICAgICAg
QVNTRVJUX1RSVUUocHJvY2Vzcy0+ZmluaXNoKCkpOwotCi0gICAgICAgIC8vIFJlc3RvcmUgdGhl
IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgZm9yIHRoZSBuZXh0IHRlc3RzLgotICAgICAgICBp
ZiAoY3dkLnZhbGlkKCkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFNldENXRChjd2QudmFsdWUo
KS5jX3N0cigpKTsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9FUShFWElUX1NVQ0NFU1Ms
IHByb2Nlc3MtPmdldEV4aXRDb2RlKCkpOwotCi0gICAgICAgIGlmICghT25lRnJhbWUoKSkKLSAg
ICAgICAgewotICAgICAgICAgICAgc3RkOjpzdHJpbmcgb3V0cHV0ID0gcHJvY2Vzcy0+Z2V0U3Rk
b3V0KCk7Ci0gICAgICAgICAgICBwYXJzZU91dHB1dChvdXRwdXQsIGJlbmNobWFya05hbWUsIGNv
bXBsZXRlUnVuKTsKLSAgICAgICAgfQotICAgIH0KLQotICBwcml2YXRlOgotICAgIHZvaWQgcGFy
c2VPdXRwdXQoY29uc3Qgc3RkOjpzdHJpbmcgJm91dHB1dCwgY29uc3QgY2hhciAqYmVuY2htYXJr
TmFtZSwgYm9vbCBjb21wbGV0ZVJ1bikKLSAgICB7Ci0gICAgICAgIC8vIE91dHB1dCBpcyBpbiB0
aGUgZm9sbG93aW5nIGZvcm1hdDoKLSAgICAgICAgLy8KLSAgICAgICAgLy8gPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgICAgICAvLyAg
ICAgZ2xtYXJrMiAyMDE3LjA3Ci0gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgICAgICAgLy8gICAgIE9wZW5HTCBJbmZv
cm1hdGlvbgotICAgICAgICAvLyAgICAgR0xfVkVORE9SOiAgICAgLi4uCi0gICAgICAgIC8vICAg
ICBHTF9SRU5ERVJFUjogICAuLi4KLSAgICAgICAgLy8gICAgIEdMX1ZFUlNJT046ICAgIC4uLgot
ICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0gICAgICAgIC8vIFt0ZXN0XSBjb25maWc6IEZQUzogdWludCBGcmFtZVRpbWU6
IGZsb2F0IG1zCi0gICAgICAgIC8vIFt0ZXN0XSBjb25maWc6IE5vdCBTdXBwb3J0ZWQKLSAgICAg
ICAgLy8gLi4uCi0gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLSAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdsbWFyazIgU2NvcmU6IHVpbnQKLSAgICAgICAgLy8gPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgICAgICAvLwotICAg
ICAgICAvLyBUaGlzIGZ1bmN0aW9uIHNraXBzIHRoZSBoZWFkZXIsIHByaW50cyBvbmUgbGluZSBm
b3IgZWFjaCB0ZXN0L2NvbmZpZyBsaW5lIHdoZXJlIHRoZXJlJ3MKLSAgICAgICAgLy8gYW4gRlBT
IHZhbHVlLCBhbmQgZmluYWxseSBwcmludHMgdGhlIG92ZXJhbGwgc2NvcmUuCi0gICAgICAgIHN0
ZDo6aXN0cmluZ3N0cmVhbSBnbG1hcmsyT3V0cHV0KG91dHB1dCk7Ci0gICAgICAgIHN0ZDo6c3Ry
aW5nIGxpbmU7Ci0KLSAgICAgICAgLy8gRXhwZWN0ID09PT0gYXQgdGhlIHRvcCBvZiB0aGUgaGVh
ZGVyCi0gICAgICAgIHN0ZDo6Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKLSAgICAgICAg
QVNTRVJUX0VRKCc9JywgbGluZVswXSk7Ci0KLSAgICAgICAgLy8gU2tpcCBvbmUgbGluZQotICAg
ICAgICBzdGQ6OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSk7Ci0KLSAgICAgICAgLy8gRXhw
ZWN0ID09PT0gaW4gdGhlIG1pZGRsZSBvZiB0aGUgaGVhZGVyCi0gICAgICAgIHN0ZDo6Z2V0bGlu
ZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKLSAgICAgICAgQVNTRVJUX0VRKCc9JywgbGluZVswXSk7
Ci0KLSAgICAgICAgLy8gU2tpcCBmb3VyIGxpbmVzCi0gICAgICAgIHN0ZDo6Z2V0bGluZShnbG1h
cmsyT3V0cHV0LCBsaW5lKTsKLSAgICAgICAgc3RkOjpnZXRsaW5lKGdsbWFyazJPdXRwdXQsIGxp
bmUpOwotICAgICAgICBzdGQ6OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSk7Ci0gICAgICAg
IHN0ZDo6Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKLQotICAgICAgICAvLyBUaGUgZm91
cnRoIGxpbmUgaXMgdGhlIEdMX1ZFUlNJT04uICBFeHBlY3QgaXQgdG8gaW5jbHVkZSBBTkdMRSwg
b3RoZXJ3aXNlIHdlIGFyZSBub3QKLSAgICAgICAgLy8gcnVubmluZyBhZ2FpbnN0IEFOR0xFLgot
ICAgICAgICBBU1NFUlRfTkUobGluZS5maW5kKCJBTkdMRSIpLCBzdGQ6OnN0cmluZzo6bnBvcyk7
Ci0KLSAgICAgICAgLy8gRXhwZWN0ID09PT0gYXQgdGhlIGJvdHRvbSBvZiB0aGUgaGVhZGVyCi0g
ICAgICAgIHN0ZDo6Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKLSAgICAgICAgQVNTRVJU
X0VRKCc9JywgbGluZVswXSk7Ci0KLSAgICAgICAgLy8gUmVhZCBjb25maWdzIHVudGlsIHRoZSB0
b3Agb2YgdGhlIGZvb3RlciBpcyByZWFjaGVkCi0gICAgICAgIHdoaWxlIChzdGQ6OmdldGxpbmUo
Z2xtYXJrMk91dHB1dCwgbGluZSkgJiYgbGluZVswXSAhPSAnPScpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIC8vIFBhcnNlIHRoZSBsaW5lCi0gICAgICAgICAgICBzdGQ6OmlzdHJpbmdzdHJlYW0g
bGluKGxpbmUpOwotCi0gICAgICAgICAgICBzdGQ6OnN0cmluZyB0ZXN0TmFtZSwgdGVzdENvbmZp
ZzsKLSAgICAgICAgICAgIGxpbiA+PiB0ZXN0TmFtZSA+PiB0ZXN0Q29uZmlnOwotICAgICAgICAg
ICAgRVhQRUNUX1RSVUUobGluKTsKLQotICAgICAgICAgICAgc3RkOjpzdHJpbmcgZnBzVGFnLCBm
cmFtZXRpbWVUYWc7Ci0gICAgICAgICAgICBzaXplX3QgZnBzOwotICAgICAgICAgICAgZmxvYXQg
ZnJhbWV0aW1lOwotCi0gICAgICAgICAgICBsaW4gPj4gZnBzVGFnID4+IGZwcyA+PiBmcmFtZXRp
bWVUYWcgPj4gZnJhbWV0aW1lOwotCi0gICAgICAgICAgICAvLyBJZiB0aGUgbGluZSBpcyBub3Qg
aW4gYEZQUzogdWludCBGcmFtZVRpbWU6IEZsb2F0IG1zYCBmb3JtYXQsIHRoZSB0ZXN0IGlzIG5v
dAotICAgICAgICAgICAgLy8gc3VwcG9ydGVkLiAgSXQgd2lsbCBiZSBza2lwcGVkLgotICAgICAg
ICAgICAgaWYgKCFsaW4pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIEVYUEVDVF9FUSgiRlBTOiIsIGZwc1RhZyk7
Ci0gICAgICAgICAgICBFWFBFQ1RfRVEoIkZyYW1lVGltZToiLCBmcmFtZXRpbWVUYWcpOwotCi0g
ICAgICAgICAgICBpZiAoIWNvbXBsZXRlUnVuKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIG1SZXBvcnRlci0+QWRkUmVzdWx0KCIuZnBzIiwgZnBzKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotCi0gICAgICAgIC8vIEdldCB0aGUgc2NvcmUgbGluZTogYGdsbWFyazIgU2NvcmU6
IHVpbnRgCi0gICAgICAgIHN0ZDo6c3RyaW5nIGdsbWFyazJUYWcsIHNjb3JlVGFnOwotICAgICAg
ICBzaXplX3Qgc2NvcmU7Ci0gICAgICAgIGdsbWFyazJPdXRwdXQgPj4gZ2xtYXJrMlRhZyA+PiBz
Y29yZVRhZyA+PiBzY29yZTsKLSAgICAgICAgRVhQRUNUX1RSVUUoZ2xtYXJrMk91dHB1dCk7Ci0g
ICAgICAgIEVYUEVDVF9FUSgiZ2xtYXJrMiIsIGdsbWFyazJUYWcpOwotICAgICAgICBFWFBFQ1Rf
RVEoIlNjb3JlOiIsIHNjb3JlVGFnKTsKLQotICAgICAgICBpZiAoY29tcGxldGVSdW4pCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIG1SZXBvcnRlci0+QWRkUmVzdWx0KCIuc2NvcmUiLCBzY29yZSk7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBzdGQ6OnN0cmluZyBtQmFja2VuZCA9ICJpbnZhbGlk
IjsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8cGVyZl90ZXN0OjpQZXJmUmVzdWx0UmVwb3J0ZXI+IG1S
ZXBvcnRlcjsKLX07Ci0KLVRFU1RfUChHTE1hcmsyQmVuY2htYXJrLCBSdW4pCi17Ci0gICAgcnVu
KCk7Ci19Ci0KLUFOR0xFX0lOU1RBTlRJQVRFX1RFU1RfQ09NQklORV8xKEdMTWFyazJCZW5jaG1h
cmssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTE1hcmsyQmVuY2htYXJrUHJp
bnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0aW5nOjpSYW5nZShzdGF0
aWNfY2FzdDxzaXplX3Q+KDApLCBBcnJheVNpemUoa0JlbmNobWFya3MpKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVTMl9EM0QxMSgpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRVMyX09QRU5HTEVTKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBFUzJfVlVMS0FOKCkpOwotCi19ICAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3RoaXJkX3BhcnR5L2dsbWFyazIvQlVJTEQuZ24gYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS90aGlyZF9wYXJ0eS9nbG1hcmsyL0JVSUxELmduCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyNWFlMTMzOTg2YWY4ZmI0ZDIyNzU2MzJlNzVlOTM4MDQwZDg3
YjBkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3RoaXJkX3BhcnR5L2dsbWFyazIvQlVJTEQuZ24KKysrIC9kZXYv
bnVsbApAQCAtMSw0MjMgKzAsMCBAQAotIyBDb3B5cmlnaHQgMjAxOSBUaGUgQU5HTEUgUHJvamVj
dCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k
ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0jIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0jCi0jIEJ1aWxkIGludGVncmF0aW9uIGZvciBnbG1hcmsy
LgotCi1pbXBvcnQoIi4uLy4uL2duaS9hbmdsZS5nbmkiKQotCi1fZ2xtYXJrMl9nbGFkX2NvbW1v
bl9zb3VyY2VzID0gWwotICAic3JjL3NyYy9nbGFkL2luY2x1ZGUvZ2xhZC9lZ2wuaCIsCi0gICJz
cmMvc3JjL2dsYWQvaW5jbHVkZS9nbGFkL3dnbC5oIiwKLSAgInNyYy9zcmMvZ2xhZC9zcmMvZWds
LmMiLAotXQotCi1pZiAoaXNfd2luKSB7Ci0gIF9nbG1hcmsyX2dsYWRfY29tbW9uX3NvdXJjZXMg
Kz0gWyAic3JjL3NyYy9nbGFkL3NyYy93Z2wuYyIgXQotfQotCi1jb25maWcoImdsbWFyazJfZ2xh
ZF9jb25maWciKSB7Ci0gIGluY2x1ZGVfZGlycyA9IFsgInNyYy9zcmMvZ2xhZC9pbmNsdWRlIiBd
Ci19Ci0KLXNvdXJjZV9zZXQoImdsbWFyazJfZ2xhZF9nbGVzIikgewotICBzb3VyY2VzID0gX2ds
bWFyazJfZ2xhZF9jb21tb25fc291cmNlcyArIFsKLSAgICAgICAgICAgICAgInNyYy9zcmMvZ2xh
ZC9pbmNsdWRlL2dsYWQvZ2xlczIuaCIsCi0gICAgICAgICAgICAgICJzcmMvc3JjL2dsYWQvc3Jj
L2dsZXMyLmMiLAotICAgICAgICAgICAgXQotICBwdWJsaWNfY29uZmlncyA9IFsgIjpnbG1hcmsy
X2dsYWRfY29uZmlnIiBdCi19Ci0KLXNvdXJjZV9zZXQoImdsbWFyazJfZ2xhZF9nbCIpIHsKLSAg
c291cmNlcyA9IF9nbG1hcmsyX2dsYWRfY29tbW9uX3NvdXJjZXMgKyBbCi0gICAgICAgICAgICAg
ICJzcmMvc3JjL2dsYWQvaW5jbHVkZS9nbGFkL2dsLmgiLAotICAgICAgICAgICAgICAic3JjL3Ny
Yy9nbGFkL3NyYy9nbC5jIiwKLSAgICAgICAgICAgIF0KLSAgcHVibGljX2NvbmZpZ3MgPSBbICI6
Z2xtYXJrMl9nbGFkX2NvbmZpZyIgXQotfQotCi1nbG1hcmtfZGF0YV9wYXRoID0gIiR7YW5nbGVf
cm9vdH0vdGhpcmRfcGFydHkvZ2xtYXJrMi9zcmMvZGF0YSIKLXJhd19nbG1hcmtfZGF0YV9wYXRo
ID0gcmViYXNlX3BhdGgoZ2xtYXJrX2RhdGFfcGF0aCwgcm9vdF9idWlsZF9kaXIpCi0KLWNvbmZp
ZygiZ2xtYXJrMl9jb21tb25fY29uZmlnIikgewotICBkZWZpbmVzID0gWyAiR0xNQVJLX0RBVEFf
UEFUSD1cIiR7cmF3X2dsbWFya19kYXRhX3BhdGh9XCIiIF0KLSAgaW5jbHVkZV9kaXJzID0gWyAi
c3JjL3NyYyIgXQotICBpZiAoaXNfd2luKSB7Ci0gICAgaW5jbHVkZV9kaXJzICs9IFsgInNyYy9z
cmMvaW5jbHVkZSIgXQotCi0gICAgIyBNX1BJIGlzIG5vbnN0YW5kYXJkLgotICAgIGRlZmluZXMg
Kz0gWyAiX1VTRV9NQVRIX0RFRklORVMiIF0KLQotICAgIGlmICghaXNfY2xhbmcpIHsKLSAgICAg
IGNmbGFncyA9IFsKLSAgICAgICAgIyBNU1ZDIHdhcm5zIGFib3V0IHRoZSBjb3B5cmlnaHQgY2hh
cmFjdGVyIGJlaW5nIGlsbGVnYWwuCi0gICAgICAgICIvd2Q0ODI4IiwKLQotICAgICAgICAjIEEg
d2FybmluZyBnZW5lcmF0ZWQgaW4gc2NlbmUtZWZmZWN0LTJkIGluIHZlYzI6OmNhbGNfb2Zmc2V0
Ci0gICAgICAgICIvd2Q0MTQ2IiwKLSAgICAgIF0KLSAgICB9Ci0gIH0KLX0KLQotY29uZmlnKCJn
bG1hcmsyX2dsZXNfY29uZmlnIikgewotICBkZWZpbmVzID0gWyAiR0xNQVJLMl9VU0VfR0xFU3Yy
IiBdCi19Ci0KLWNvbmZpZygiZ2xtYXJrMl9nbF9jb25maWciKSB7Ci0gIGRlZmluZXMgPSBbICJH
TE1BUksyX1VTRV9HTCIgXQotfQotCi1ncm91cCgiZ2xtYXJrMl9nbGVzIikgewotICBwdWJsaWNf
Y29uZmlncyA9IFsKLSAgICAiOmdsbWFyazJfY29tbW9uX2NvbmZpZyIsCi0gICAgIjpnbG1hcmsy
X2dsZXNfY29uZmlnIiwKLSAgXQotICBwdWJsaWNfZGVwcyA9IFsKLSAgICAiOmdsbWFyazJfZ2xh
ZF9nbGVzIiwKLSAgXQotfQotCi1ncm91cCgiZ2xtYXJrMl9nbCIpIHsKLSAgcHVibGljX2NvbmZp
Z3MgPSBbCi0gICAgIjpnbG1hcmsyX2NvbW1vbl9jb25maWciLAotICAgICI6Z2xtYXJrMl9nbF9j
b25maWciLAotICBdCi0gIHB1YmxpY19kZXBzID0gWwotICAgICI6Z2xtYXJrMl9nbGFkX2dsIiwK
LSAgXQotfQotCi0jIFN1cHBsaWVzIGNvbXBhdGlibGUgaGVhZGVycyBvbiBXaW4zMi4KLWNvbmZp
ZygiZ2xtYXJrMl9oZWFkZXJzX2NvbmZpZyIpIHsKLSAgaWYgKGlzX3dpbikgewotICAgIGlmIChp
c19jbGFuZykgewotICAgICAgY2ZsYWdzID0gWwotICAgICAgICAiLVduby11bnVzZWQtZnVuY3Rp
b24iLAotICAgICAgICAiLVduby13cml0YWJsZS1zdHJpbmdzIiwKLSAgICAgICAgIi1Xbm8tZXh0
cmEtdG9rZW5zIiwKLSAgICAgIF0KLSAgICB9Ci0gIH0KLX0KLQotc291cmNlX3NldCgiZ2xtYXJr
Ml9oZWFkZXJzIikgewotICBzb3VyY2VzID0gWwotICAgICJzcmMvc3JjL2NhbnZhcy5oIiwKLSAg
ICAic3JjL3NyYy9nbC1oZWFkZXJzLmgiLAotICAgICJzcmMvc3JjL2dsLXN0YXRlLWVnbC5oIiwK
LSAgICAic3JjL3NyYy9nbC1zdGF0ZS5oIiwKLSAgICAic3JjL3NyYy9nbC12aXN1YWwtY29uZmln
LmgiLAotICAgICJzcmMvc3JjL21lc2guaCIsCi0gICAgInNyYy9zcmMvb3B0aW9ucy5oIiwKLSAg
ICAic3JjL3NyYy9zY2VuZS5oIiwKLSAgICAic3JjL3NyYy9zaGFyZWQtbGlicmFyeS5oIiwKLSAg
ICAic3JjL3NyYy90ZXh0dXJlLmgiLAotICBdCi0KLSAgaWYgKGlzX2xpbnV4KSB7Ci0gICAgc291
cmNlcyArPSBbICJzcmMvc3JjL2dsLXN0YXRlLWdseC5oIiBdCi0gIH0KLSAgaWYgKGlzX3dpbikg
ewotICAgIHNvdXJjZXMgKz0gWwotICAgICAgInNyYy9zcmMvZ2wtc3RhdGUtd2dsLmgiLAotICAg
ICAgInNyYy9zcmMvaW5jbHVkZS9kaXJlbnQuaCIsCi0gICAgICAic3JjL3NyYy9pbmNsdWRlL2dl
dG9wdC5oIiwKLSAgICAgICJzcmMvc3JjL2luY2x1ZGUvc3lzL3RpbWUuaCIsCi0gICAgXQotICB9
Ci0gIHB1YmxpY19jb25maWdzID0gWyAiOmdsbWFyazJfaGVhZGVyc19jb25maWciIF0KLSAgaW5j
bHVkZV9kaXJzID0gWyAic3JjL3NyYyIgXQotfQotCi1jb25maWcoImdsbWFyazJfbGlibWF0cml4
X2NvbmZpZyIpIHsKLSAgaW5jbHVkZV9kaXJzID0gWyAic3JjL3NyYy9saWJtYXRyaXgiIF0KLX0K
LQotdGVtcGxhdGUoImdsbWFyazJfbGlibWF0cml4IikgewotICBzb3VyY2Vfc2V0KHRhcmdldF9u
YW1lKSB7Ci0gICAgZm9yd2FyZF92YXJpYWJsZXNfZnJvbShpbnZva2VyLCAiKiIpCi0gICAgc291
cmNlcyA9IFsKLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9nbC1pZi5oIiwKLSAgICAgICJzcmMv
c3JjL2xpYm1hdHJpeC9sb2cuY2MiLAotICAgICAgInNyYy9zcmMvbGlibWF0cml4L2xvZy5oIiwK
LSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9tYXQuY2MiLAotICAgICAgInNyYy9zcmMvbGlibWF0
cml4L21hdC5oIiwKLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9wcm9ncmFtLmNjIiwKLSAgICAg
ICJzcmMvc3JjL2xpYm1hdHJpeC9wcm9ncmFtLmgiLAotICAgICAgInNyYy9zcmMvbGlibWF0cml4
L3NoYWRlci1zb3VyY2UuY2MiLAotICAgICAgInNyYy9zcmMvbGlibWF0cml4L3NoYWRlci1zb3Vy
Y2UuaCIsCi0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvc3RhY2suaCIsCi0gICAgICAic3JjL3Ny
Yy9saWJtYXRyaXgvdXRpbC5jYyIsCi0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvdXRpbC5oIiwK
LSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC92ZWMuaCIsCi0gICAgXQotCi0gICAgaWYgKGlzX2Ns
YW5nKSB7Ci0gICAgICBjZmxhZ3NfY2MgPSBbICItV25vLWltcGxpY2l0LWZhbGx0aHJvdWdoIiBd
Ci0gICAgfQotICAgIHB1YmxpY19kZXBzID0gWwotICAgICAgIjpnbG1hcmsyX2hlYWRlcnMiLAot
ICAgIF0KLSAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpnbG1hcmsyX2xpYm1hdHJpeF9jb25maWci
IF0KLSAgfQotfQotCi1nbG1hcmsyX2xpYm1hdHJpeCgiZ2xtYXJrMl9saWJtYXRyaXhfZ2xlcyIp
IHsKLSAgZGVwcyA9IFsKLSAgICAiOmdsbWFyazJfZ2xlcyIsCi0gIF0KLX0KLQotZ2xtYXJrMl9s
aWJtYXRyaXgoImdsbWFyazJfbGlibWF0cml4X2dsIikgewotICBkZXBzID0gWwotICAgICI6Z2xt
YXJrMl9nbCIsCi0gIF0KLX0KLQotY29uZmlnKCJnbG1hcmsyX3NjZW5lX2lkZWFzX2NvbmZpZyIp
IHsKLSAgaW5jbHVkZV9kaXJzID0gWyAic3JjL3NyYy9zY2VuZS1pZGVhcyIgXQotfQotCi10ZW1w
bGF0ZSgiZ2xtYXJrMl9zY2VuZV9pZGVhcyIpIHsKLSAgc291cmNlX3NldCh0YXJnZXRfbmFtZSkg
ewotICAgIGZvcndhcmRfdmFyaWFibGVzX2Zyb20oaW52b2tlciwgIioiKQotICAgIHNvdXJjZXMg
PSBbCi0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9hLmNjIiwKLSAgICAgICJzcmMvc3JjL3Nj
ZW5lLWlkZWFzL2NoYXJhY3RlcnMuaCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9kLmNj
IiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2UuY2MiLAotICAgICAgInNyYy9zcmMvc2Nl
bmUtaWRlYXMvaS5jYyIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9sYW1wLmNjIiwKLSAg
ICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2xhbXAuaCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1p
ZGVhcy9sb2dvLmNjIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2xvZ28uaCIsCi0gICAg
ICAic3JjL3NyYy9zY2VuZS1pZGVhcy9tLmNjIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFz
L24uY2MiLAotICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvby5jYyIsCi0gICAgICAic3JjL3Ny
Yy9zY2VuZS1pZGVhcy9zLmNjIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL3NwbGluZXMu
Y2MiLAotICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvc3BsaW5lcy5oIiwKLSAgICAgICJzcmMv
c3JjL3NjZW5lLWlkZWFzL3QuY2MiLAotICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvdGFibGUu
Y2MiLAotICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvdGFibGUuaCIsCi0gICAgXQotICAgIHB1
YmxpY19jb25maWdzID0gWyAiOmdsbWFyazJfc2NlbmVfaWRlYXNfY29uZmlnIiBdCi0gIH0KLX0K
LQotZ2xtYXJrMl9zY2VuZV9pZGVhcygiZ2xtYXJrMl9zY2VuZV9pZGVhc19nbGVzIikgewotICBk
ZXBzID0gWwotICAgICI6Z2xtYXJrMl9nbGVzIiwKLSAgICAiOmdsbWFyazJfbGlibWF0cml4X2ds
ZXMiLAotICBdCi19Ci0KLWdsbWFyazJfc2NlbmVfaWRlYXMoImdsbWFyazJfc2NlbmVfaWRlYXNf
Z2wiKSB7Ci0gIGRlcHMgPSBbCi0gICAgIjpnbG1hcmsyX2dsIiwKLSAgICAiOmdsbWFyazJfbGli
bWF0cml4X2dsIiwKLSAgXQotfQotCi1jb25maWcoImdsbWFyazJfc2NlbmVfdGVycmFpbl9jb25m
aWciKSB7Ci0gIGluY2x1ZGVfZGlycyA9IFsgInNyYy9zcmMvc2NlbmUtdGVycmFpbiIgXQotfQot
Ci10ZW1wbGF0ZSgiZ2xtYXJrMl9zY2VuZV90ZXJyYWluIikgewotICBzb3VyY2Vfc2V0KHRhcmdl
dF9uYW1lKSB7Ci0gICAgZm9yd2FyZF92YXJpYWJsZXNfZnJvbShpbnZva2VyLCAiKiIpCi0gICAg
c291cmNlcyA9IFsKLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vYmFzZS1yZW5kZXJlci5j
cHAiLAotICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi9ibHVyLXJlbmRlcmVyLmNwcCIsCi0g
ICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL2NvcHktcmVuZGVyZXIuY3BwIiwKLSAgICAgICJz
cmMvc3JjL3NjZW5lLXRlcnJhaW4vbHVtaW5hbmNlLXJlbmRlcmVyLmNwcCIsCi0gICAgICAic3Jj
L3NyYy9zY2VuZS10ZXJyYWluL25vcm1hbC1mcm9tLWhlaWdodC1yZW5kZXJlci5jcHAiLAotICAg
ICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi9vdmVybGF5LXJlbmRlcmVyLmNwcCIsCi0gICAgICAi
c3JjL3NyYy9zY2VuZS10ZXJyYWluL3JlbmRlcmVyLWNoYWluLmNwcCIsCi0gICAgICAic3JjL3Ny
Yy9zY2VuZS10ZXJyYWluL3JlbmRlcmVyLmgiLAotICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFp
bi9zaW1wbGV4LW5vaXNlLXJlbmRlcmVyLmNwcCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJy
YWluL3RlcnJhaW4tcmVuZGVyZXIuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4v
dGV4dHVyZS1yZW5kZXJlci5jcHAiLAotICAgIF0KLQotICAgIHB1YmxpY19jb25maWdzID0gWyAi
OmdsbWFyazJfc2NlbmVfdGVycmFpbl9jb25maWciIF0KLSAgfQotfQotCi1nbG1hcmsyX3NjZW5l
X3RlcnJhaW4oImdsbWFyazJfc2NlbmVfdGVycmFpbl9nbGVzIikgewotICBkZXBzID0gWwotICAg
ICI6Z2xtYXJrMl9nbGVzIiwKLSAgICAiOmdsbWFyazJfbGlibWF0cml4X2dsZXMiLAotICBdCi19
Ci0KLWdsbWFyazJfc2NlbmVfdGVycmFpbigiZ2xtYXJrMl9zY2VuZV90ZXJyYWluX2dsIikgewot
ICBkZXBzID0gWwotICAgICI6Z2xtYXJrMl9nbCIsCi0gICAgIjpnbG1hcmsyX2xpYm1hdHJpeF9n
bCIsCi0gIF0KLX0KLQotdGVtcGxhdGUoImdsbWFyazJfY29tbW9uIikgewotICBzb3VyY2Vfc2V0
KHRhcmdldF9uYW1lKSB7Ci0gICAgZm9yd2FyZF92YXJpYWJsZXNfZnJvbShpbnZva2VyLCAiKiIp
Ci0gICAgc291cmNlcyA9IFsKLSAgICAgICJzcmMvc3JjL2JlbmNobWFyay1jb2xsZWN0aW9uLmNw
cCIsCi0gICAgICAic3JjL3NyYy9iZW5jaG1hcmstY29sbGVjdGlvbi5oIiwKLSAgICAgICJzcmMv
c3JjL2JlbmNobWFyay5jcHAiLAotICAgICAgInNyYy9zcmMvYmVuY2htYXJrLmgiLAotICAgICAg
InNyYy9zcmMvZGVmYXVsdC1iZW5jaG1hcmtzLmgiLAotICAgICAgInNyYy9zcmMvZ2wtaGVhZGVy
cy5jcHAiLAotICAgICAgInNyYy9zcmMvZ2wtdmlzdWFsLWNvbmZpZy5jcHAiLAotICAgICAgInNy
Yy9zcmMvZ2wtdmlzdWFsLWNvbmZpZy5oIiwKLSAgICAgICJzcmMvc3JjL2ltYWdlLXJlYWRlci5j
cHAiLAotICAgICAgInNyYy9zcmMvaW1hZ2UtcmVhZGVyLmgiLAotICAgICAgInNyYy9zcmMvbWFp
bi1sb29wLmNwcCIsCi0gICAgICAic3JjL3NyYy9tYWluLWxvb3AuaCIsCi0gICAgICAic3JjL3Ny
Yy9tZXNoLmNwcCIsCi0gICAgICAic3JjL3NyYy9tb2RlbC5jcHAiLAotICAgICAgInNyYy9zcmMv
bW9kZWwuaCIsCi0gICAgICAic3JjL3NyYy9uYXRpdmUtc3RhdGUuaCIsCi0gICAgICAic3JjL3Ny
Yy9vcHRpb25zLmNwcCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1idWZmZXIuY3BwIiwKLSAgICAg
ICJzcmMvc3JjL3NjZW5lLWJ1aWxkLmNwcCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1idW1wLmNw
cCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1jbGVhci5jcHAiLAotICAgICAgInNyYy9zcmMvc2Nl
bmUtY29sbGVjdGlvbi5oIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWNvbmRpdGlvbmFscy5jcHAi
LAotICAgICAgInNyYy9zcmMvc2NlbmUtZGVmYXVsdC1vcHRpb25zLmNwcCIsCi0gICAgICAic3Jj
L3NyYy9zY2VuZS1kZXNrdG9wLmNwcCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1lZmZlY3QtMmQu
Y3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWZ1bmN0aW9uLmNwcCIsCi0gICAgICAic3JjL3Ny
Yy9zY2VuZS1ncmlkLmNwcCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy5jcHAiLAotICAg
ICAgInNyYy9zcmMvc2NlbmUtamVsbHlmaXNoLmNwcCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1q
ZWxseWZpc2guaCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1sb29wLmNwcCIsCi0gICAgICAic3Jj
L3NyYy9zY2VuZS1wdWxzYXIuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLXJlZnJhY3QuY3Bw
IiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLXJlZnJhY3QuaCIsCi0gICAgICAic3JjL3NyYy9zY2Vu
ZS1zaGFkaW5nLmNwcCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1zaGFkb3cuY3BwIiwKLSAgICAg
ICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4uY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLXRleHR1
cmUuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLmNwcCIsCi0gICAgICAic3JjL3NyYy9zaGFy
ZWQtbGlicmFyeS5jcHAiLAotICAgICAgInNyYy9zcmMvdGV4dC1yZW5kZXJlci5jcHAiLAotICAg
ICAgInNyYy9zcmMvdGV4dC1yZW5kZXJlci5oIiwKLSAgICAgICJzcmMvc3JjL3RleHR1cmUuY3Bw
IiwKLSAgICBdCi0KLSAgICBwdWJsaWNfZGVwcyArPSBbCi0gICAgICAiOmdsbWFyazJfaGVhZGVy
cyIsCi0gICAgICAiJHthbmdsZV9saWJwbmdfZGlyfTpsaWJwbmciLAotICAgICAgIiR7YW5nbGVf
cm9vdH0vdGhpcmRfcGFydHk6anBlZyIsCi0gICAgXQotICB9Ci19Ci0KLWdsbWFyazJfY29tbW9u
KCJnbG1hcmsyX2NvbW1vbl9nbGVzIikgewotICBwdWJsaWNfZGVwcyA9IFsKLSAgICAiOmdsbWFy
azJfZ2xlcyIsCi0gICAgIjpnbG1hcmsyX2xpYm1hdHJpeF9nbGVzIiwKLSAgICAiOmdsbWFyazJf
c2NlbmVfaWRlYXNfZ2xlcyIsCi0gICAgIjpnbG1hcmsyX3NjZW5lX3RlcnJhaW5fZ2xlcyIsCi0g
IF0KLX0KLQotZ2xtYXJrMl9jb21tb24oImdsbWFyazJfY29tbW9uX2dsIikgewotICBwdWJsaWNf
ZGVwcyA9IFsKLSAgICAiOmdsbWFyazJfZ2wiLAotICAgICI6Z2xtYXJrMl9saWJtYXRyaXhfZ2wi
LAotICAgICI6Z2xtYXJrMl9zY2VuZV9pZGVhc19nbCIsCi0gICAgIjpnbG1hcmsyX3NjZW5lX3Rl
cnJhaW5fZ2wiLAotICBdCi19Ci0KLWdsbWFyazJfdmVyc2lvbiA9ICIyMDE3LjA3IgotCi10ZW1w
bGF0ZSgiZ2xtYXJrMl9leGUiKSB7Ci0gIGV4ZWN1dGFibGUodGFyZ2V0X25hbWUpIHsKLSAgICBm
b3J3YXJkX3ZhcmlhYmxlc19mcm9tKGludm9rZXIsICIqIikKLSAgICBzb3VyY2VzICs9IFsKLSAg
ICAgICJzcmMvc3JjL2NhbnZhcy1nZW5lcmljLmNwcCIsCi0gICAgICAic3JjL3NyYy9jYW52YXMt
Z2VuZXJpYy5oIiwKLSAgICAgICJzcmMvc3JjL21haW4uY3BwIiwKLSAgICBdCi0gICAgZGF0YSA9
IFsKLSAgICAgICJzcmMvZGF0YS8iLAotICAgIF0KLQotICAgIGRlZmluZXMgKz0gWyAiR0xNQVJL
X1ZFUlNJT049XCIke2dsbWFyazJfdmVyc2lvbn1cIiIgXQotCi0gICAgaWYgKGlzX3dpbikgewot
ICAgICAgZGVmaW5lcyArPSBbICJHTE1BUksyX1VTRV9XSU4zMiIgXQotICAgICAgc291cmNlcyAr
PSBbCi0gICAgICAgICJzcmMvc3JjL25hdGl2ZS1zdGF0ZS13aW4zMi5jcHAiLAotICAgICAgICAi
c3JjL3NyYy9uYXRpdmUtc3RhdGUtd2luMzIuaCIsCi0gICAgICBdCi0gICAgfQotICAgIGlmIChp
c19saW51eCkgewotICAgICAgZGVmaW5lcyArPSBbICJHTE1BUksyX1VTRV9YMTEiIF0KLSAgICAg
IHNvdXJjZXMgKz0gWwotICAgICAgICAic3JjL3NyYy9uYXRpdmUtc3RhdGUteDExLmNwcCIsCi0g
ICAgICAgICJzcmMvc3JjL25hdGl2ZS1zdGF0ZS14MTEuaCIsCi0gICAgICBdCi0gICAgICBsaWJz
ID0gWyAiWDExIiBdCi0gICAgfQotICB9Ci19Ci0KLWdsbWFyazJfZXhlKCJnbG1hcmsyX2FuZ2xl
IikgewotICBzb3VyY2VzID0gWwotICAgICJzcmMvc3JjL2dsLXN0YXRlLWVnbC5jcHAiLAotICBd
Ci0gIGRlcHMgPSBbCi0gICAgIjpnbG1hcmsyX2NvbW1vbl9nbGVzIiwKLSAgXQotICBkYXRhX2Rl
cHMgPSBbCi0gICAgIiR7YW5nbGVfcm9vdH06bGliRUdMIiwKLSAgICAiJHthbmdsZV9yb290fTps
aWJHTEVTdjIiLAotICBdCi0KLSAgZGVmaW5lcyA9IFsKLSAgICAiRUdMX0VHTF9QUk9UT1RZUEVT
PTEiLAotICAgICJHTE1BUksyX1VTRV9FR0wiLAotICBdCi0KLSAgaWYgKGlzX2xpbnV4ICYmICFp
c19jb21wb25lbnRfYnVpbGQpIHsKLSAgICAjIFNldCBycGF0aCB0byBmaW5kIHNoYXJlZCBsaWJz
IGluIGEgbm9uLWNvbXBvbmVudCBidWlsZC4KLSAgICBwdWJsaWNfY29uZmlncyA9IFsgIi8vYnVp
bGQvY29uZmlnL2djYzpycGF0aF9mb3JfYnVpbHRfc2hhcmVkX2xpYnJhcmllcyIgXQotICB9Ci19
Ci0KLWlmIChpc19saW51eCkgewotICBnbG1hcmsyX2V4ZSgiZ2xtYXJrMl9nbHgiKSB7Ci0gICAg
c291cmNlcyA9IFsKLSAgICAgICJzcmMvc3JjL2dsLXN0YXRlLWdseC5jcHAiLAotICAgICAgInNy
Yy9zcmMvZ2xhZC9pbmNsdWRlL2dsYWQvZ2x4LmgiLAotICAgICAgInNyYy9zcmMvZ2xhZC9zcmMv
Z2x4LmMiLAotICAgIF0KLSAgICBkZXBzID0gWwotICAgICAgIjpnbG1hcmsyX2NvbW1vbl9nbCIs
Ci0gICAgXQotCi0gICAgZGVmaW5lcyA9IFsgIkdMTUFSSzJfVVNFX0dMWCIgXQotICB9Ci19Ci0K
LSMgb3BlbmdsMzIubGliL29wZW5nbDMyLmRsbCBhcmUgbm90IGF2YWlsYWJsZSBvbiBXaW5kb3dz
IEFSTTY0LgotaWYgKGlzX3dpbiAmJiB0YXJnZXRfY3B1ICE9ICJhcm02NCIpIHsKLSAgZ2xtYXJr
Ml9leGUoImdsbWFyazJfd2dsIikgewotICAgIHNvdXJjZXMgPSBbCi0gICAgICAic3JjL3NyYy9n
bC1zdGF0ZS13Z2wuY3BwIiwKLSAgICBdCi0gICAgZGVwcyA9IFsKLSAgICAgICI6Z2xtYXJrMl9j
b21tb25fZ2wiLAotICAgIF0KLQotICAgIGxpYnMgPSBbICJvcGVuZ2wzMi5saWIiIF0KLSAgICBk
ZWZpbmVzID0gWyAiR0xNQVJLMl9VU0VfV0dMIiBdCi0gIH0KLX0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3RoaXJkX3BhcnR5L2dsbWFyazIvUkVBRE1FLmFuZ2xlIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9SRUFETUUuYW5nbGUKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyYjYzNzFmZWQ4NDE1OTc1ZTJiZGU4ZTUxYWE1
OThmZmNmMDdmNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9SRUFETUUuYW5n
bGUKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1OYW1lOiBnbG1hcmsyCi1TaG9ydCBO
YW1lOiBnbG1hcmsyCi1VUkw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nbG1hcmsyL2dsbWFyazIKLVNl
Y3VyaXR5IENyaXRpY2FsOiBubwotTGljZW5zZTogR1BMIHYzCi1MaWNlbnNlIEZpbGU6IE5PVF9T
SElQUEVECi0KLURlc2NyaXB0aW9uOgotZ2xtYXJrMiBpcyBhbiBPcGVuR0wgMi4wIGFuZCBFUyAy
LjAgYmVuY2htYXJrLgotCi1nbG1hcmsyIGlzIGRldmVsb3BlZCBieSBBbGV4YW5kcm9zIEZyYW50
emlzIGFuZCBKZXNzZSBCYXJrZXIgYmFzZWQgb24gdGhlCi1vcmlnaW5hbCBnbG1hcmsgYmVuY2ht
YXJrIGJ5IEJlbiBTbWl0aC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rv
b2xzL2ZsZXgtYmlzb24vUkVBRE1FLm1kIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi9SRUFETUUubWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkZmUx
MjYyNjYwM2EzNzg4MzdjOWMxMjExYjJhYjI3N2EzYzllN2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi9SRUFETUUubWQKKysrIC9kZXYvbnVsbApAQCAtMSwxMjkgKzAsMCBAQAotIyBm
bGV4IGFuZCBiaXNvbiBiaW5hcmllcwotCi1UaGlzIGZvbGRlciBjb250YWlucyB0aGUgZmxleCBh
bmQgYmlzb24gYmluYXJpZXMuIFdlIHVzZSB0aGVzZSBiaW5hcmllcyB0bwotZ2VuZXJhdGUgdGhl
IEFOR0xFIHRyYW5zbGF0b3IncyBsZXhlciBhbmQgcGFyc2VyLgotCi1Vc2UgdGhlIHNjcmlwdCBb
YHVwZGF0ZV9mbGV4X2Jpc29uX2JpbmFyaWVzLnB5YF0odXBkYXRlX2ZsZXhfYmlzb25fYmluYXJp
ZXMucHkpCi10byB1cGRhdGUgdGhlIHZlcnNpb25zIG9mIHRoZXNlIGJpbmFyaWVzIGluIGNsb3Vk
IHN0b3JhZ2UuIEl0IG11c3QgYmUgcnVuIG9uCi1MaW51eCBvciBXaW5kb3dzLiBJdCB3aWxsIHVw
ZGF0ZSB0aGUgU0hBcyBmb3IgeW91ciBwbGF0Zm9ybS4gQWZ0ZXIgcnVubmluZyB0aGUKLXNjcmlw
dCBydW4gYGdpdCBjb21taXRgIGFuZCB0aGVuIGBnaXQgY2wgdXBsb2FkYCB0byBjb2RlIHJldmll
dyB1c2luZyB0aGUgbm9ybWFsCi1yZXZpZXcgcHJvY2Vzcy4gWW91IHdpbGwgYWxzbyB3YW50IHRv
IHJ1bgotW2BzY3JpcHRzL3J1bl9jb2RlX2dlbmVyYXRpb24ucHlgXSguLi8uLi9zY3JpcHRzL3J1
bl9jb2RlX2dlbmVyYXRpb24ucHkpIHRvCi11cGRhdGUgdGhlIGdlbmVyYXRlZCBmaWxlcy4KLQot
UGxlYXNlIHVwZGF0ZSBib3RoIFdpbmRvd3MgYW5kIExpbnV4IGJpbmFyaWVzIGF0IHRoZSBzYW1l
IHRpbWUuIFVzZSB0d28gQ0xzLiBPbmUKLWZvciBlYWNoIHBsYXRmb3JtLiBOb3RlIHRoYXQgd2Ug
ZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgTWFjIGZvciBnZW5lcmF0aW5nIHRoZQotbGV4ZXIgYW5k
IHBhcnNlciBmaWxlcy4gSWYgd2UgZG8gd2Ugc2hvdWxkIGFkZCBhIGZsZXgvYmlzb24gZG93bmxv
YWQgZm9yIE1hYyBhcwotd2VsbC4KLQotQ29udGFjdCBqbWFkaWxsIG9yIHN5b3Vzc2VmaSBmb3Ig
YW55IGhlbHAgd2l0aCB1cGRhdGluZyB0aGUgYmluYXJpZXMuCi0KLSMjIFVwZGF0aW5nIGZsZXgg
YW5kIGJpc29uIGJpbmFyaWVzCi0KLVRoaXMgaXMgZXhwZWN0ZWQgdG8gYmUgYSByYXJlIG9wZXJh
dGlvbiwgYW5kIGlzIGN1cnJlbnRseSBkb25lIGJhc2VkIG9uIHRoZQotZm9sbG93aW5nIGluc3Ry
dWN0aW9ucy4gIE5vdGU6IGdldCB0aGUgYmluYXJpZXMgZmlyc3Qgb24gd2luZG93cywgYXMgb25s
eSBhCi1zaW5nbGUgb3B0aW9uIGlzIGF2YWlsYWJsZSwgdGhlbiBidWlsZCB0aGUgYmluYXJpZXMg
Zm9yIHRoZSBzYW1lIHZlcnNpb24gb24KLUxpbnV4LgotCi0jIyMgT24gV2luZG93cwotCi1JbnN0
YWxsIE1TeXMyICh4ODZfNjQpIGZyb20gaHR0cDovL3d3dy5tc3lzMi5vcmcvIG9uIFdpbmRvd3Mu
ICBgZmxleGAgc2hvdWxkCi1hbHJlYWR5IGJlIGluc3RhbGxlZC4gIEluc3RhbGwgYmlzb246Ci0K
LWBgYAotJCBwYWNtYW4gLVMgYmlzb24KLWBgYAotCi1Ob3RlIHRoZSB2ZXJzaW9ucyBvZiBmbGV4
IGFuZCBiaXNvbiBzbyB0aGUgc2FtZSB2ZXJzaW9ucyBjYW4gYmUgYnVpbGQgb24gTGludXguCi1G
b3IgZXhhbXBsZToKLQotYGBgCi0kIGZsZXggLS12ZXJzaW9uCi1mbGV4IDIuNi40Ci0KLSQgYmlz
b24gLS12ZXJzaW9uCi1iaXNvbiAoR05VIEJpc29uKSAzLjMuMgotYGBgCi0KLVRoZSBvbmx5IGRl
cGVuZGVuY2llcyBmcm9tIE1TeXMyIHNob3VsZCBiZSB0aGUgZm9sbG93aW5nOgotCi1gYGAKLW1z
eXMtaW50bC04LmRsbAotbXN5cy1pY29udi0yLmRsbAotbXN5cy0yLjAuZGxsCi1gYGAKLQotVGhp
cyBjYW4gYmUgdmVyaWZpZWQgd2l0aDoKLQotYGBgCi0kIGxkZCAvdXNyL2Jpbi9mbGV4Ci0kIGxk
ZCAvdXNyL2Jpbi9iaXNvbgotYGBgCi0KLUFkZGl0aW9uYWxseSwgd2UgbmVlZCB0aGUgYmluYXJ5
IGZvciBtNCBhdCBgL3Vzci9iaW4vbTRgLgotCi1Db3B5IGFsbCB0aGVzZSA1IGZpbGVzIHRvIHRo
aXMgZGlyZWN0b3J5OgotCi1gYGAKLSQgY2QgYW5nbGUvCi0kIGNwIC91c3IvYmluL2ZsZXguZXhl
IFwKLSAgICAgL3Vzci9iaW4vYmlzb24uZXhlIFwKLSAgICAgL3Vzci9iaW4vbTQuZXhlIFwKLSAg
ICAgL3Vzci9iaW4vbXN5cy1pbnRsLTguZGxsIFwKLSAgICAgL3Vzci9iaW4vbXN5cy1pY29udi0y
LmRsbCBcCi0gICAgIC91c3IvYmluL21zeXMtMi4wLmRsbCBcCi0gICAgIHRvb2xzL2ZsZXgtYmlz
b24vd2luZG93cy8KLWBgYAotCi1VcGxvYWQgdGhlIGJpbmFyaWVzOgotCi1gYGAKLSQgY2QgYW5n
bGUvCi0kIHB5dGhvbiB0b29scy9mbGV4LWJpc29uL3VwZGF0ZV9mbGV4X2Jpc29uX2JpbmFyaWVz
LnB5Ci1gYGAKLQotIyMjIE9uIExpbnV4Ci0KLWBgYAotIyBHZXQgdGhlIHNvdXJjZSBvZiBmbGV4
Ci0kIGdpdCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vd2VzdGVzL2ZsZXguZ2l0Ci0kIGNkIGZs
ZXgvCi0jIENoZWNrb3V0IHRoZSBzYW1lIHZlcnNpb24gYXMgbXN5czIgb24gd2luZG93cwotJCBn
aXQgY2hlY2tvdXQgdjIuNi40Ci0jIEJ1aWxkCi0kIGF1dG9yZWNvbmYgLWkKLSQgbWtkaXIgYnVp
bGQgJiYgY2QgYnVpbGQKLSQgLi4vY29uZmlndXJlIENGTEFHUz0iLU8yIC1EX0dOVV9TT1VSQ0Ui
Ci0kIG1ha2UgLWoKLWBgYAotCi1gYGAKLSMgR2V0IHRoZSBzb3VyY2Ugb2YgYmlzb24KLSQgY3Vy
bCBodHRwOi8vZnRwLmdudS5vcmcvZ251L2Jpc29uL2Jpc29uLTMuMy4yLnRhci54eiB8IHRhciAt
eEoKLSQgY2QgYmlzb24tMy4zLjIKLSMgQnVpbGQKLSQgbWtkaXIgYnVpbGQgJiYgY2QgYnVpbGQK
LSQgLi4vY29uZmlndXJlIENGTEFHUz0iLU8yIgotJCBtYWtlIC1qCi1gYGAKLQotTm90ZTogQmlz
b24ncyBbaG9tZSBwYWdlXVtCaXNvbl0gbGlzdHMgZnRwIHNlcnZlciBhbmQgb3RoZXIgbWlycm9y
cy4gIElmIHRoZQotYWJvdmUgbGluayBpcyBicm9rZW4sIHJlcGxhY2Ugd2l0aCBhIG1pcnJvci4K
LQotQ29weSB0aGUgMiBleGVjdXRhYmxlcyB0byB0aGlzIGRpcmVjdG9yeToKLQotYGBgCi0kIGNk
IGFuZ2xlLwotJCBjcCAvcGF0aC90by9mbGV4L2J1aWxkL3NyYy9mbGV4IFwKLSAgICAgL3BhdGgv
dG8vYmlzb24vYnVpbGQvc3JjL2Jpc29uIFwKLSAgICAgdG9vbHMvZmxleC1iaXNvbi9saW51eC8K
LWBgYAotCi1VcGxvYWQgdGhlIGJpbmFyaWVzOgotCi1gYGAKLSQgY2QgYW5nbGUvCi0kIHB5dGhv
biB0b29scy9mbGV4LWJpc29uL3VwZGF0ZV9mbGV4X2Jpc29uX2JpbmFyaWVzLnB5Ci1gYGAKLQot
W0Jpc29uXTogaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9iaXNvbi8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vbGludXgvYmlzb24uc2hh
MSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vbGludXgvYmlzb24u
c2hhMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzkzZDkyZGU0MTkwOThhZWUwMTI0
MzZlNjBiZDYxY2QyM2VhNWQ1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL2xpbnV4
L2Jpc29uLnNoYTEKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1lNjI4YjczY2QwYTc2N2Q5
M2UxZjk0YjVhODZjZTUxY2E4M2M5OWQ1ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi9saW51eC9m
bGV4LnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL2xpbnV4
L2ZsZXguc2hhMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM0MDA0N2NhMTJjYWQw
MTU2ZWNkNjZiNTliZjM3MmM0OTQ3MWQwOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29u
L2xpbnV4L2ZsZXguc2hhMQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWU4MzBlNmMwNTA4
ZDk2ODU4NzZlNzczMDRiYmU3YzRhMTIyYzA4ZTgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3Ro
aXJkX3BhcnR5Ly5naXRhdHRyaWJ1dGVzIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi90aGlyZF9wYXJ0eS8uZ2l0YXR0cmlidXRlcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDY4OGM4YTE0OTE1MjhjMjYzNDY2NTVhNjQ0ODc2NTg2M2M4NDJkZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5Ly5naXRhdHRyaWJ1dGVzCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotKiAgICAgICAgICAgICAgICAgICAgZW9sPWxmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJk
X3BhcnR5L200c3VnYXIvTElDRU5TRSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2Zs
ZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9MSUNFTlNFCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkNTExOTA1YzE2NDdhMWUzMTFlOGIyMGQ1OTMwYTM3YTljMjUzMWNkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9MSUNFTlNFCisr
KyAvZGV2L251bGwKQEAgLTEsMzM5ICswLDAgQEAKLQkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBM
SUNFTlNFCi0JCSAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQotCi0gQ29weXJpZ2h0IChDKSAx
OTg5LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKLSA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCi0gRXZlcnlvbmUg
aXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCi0gb2Yg
dGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCi0K
LQkJCSAgICBQcmVhbWJsZQotCi0gIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUg
ZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKLWZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBp
dC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCi1MaWNlbnNlIGlzIGludGVu
ZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBmcmVlCi1z
b2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVz
ZXJzLiAgVGhpcwotR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcHBsaWVzIHRvIG1vc3Qgb2YgdGhl
IEZyZWUgU29mdHdhcmUKLUZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHBy
b2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8KLXVzaW5nIGl0LiAgKFNvbWUgb3RoZXIgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHNvZnR3YXJlIGlzIGNvdmVyZWQgYnkKLXRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW5zdGVhZC4pICBZb3UgY2FuIGFwcGx5IGl0IHRv
Ci15b3VyIHByb2dyYW1zLCB0b28uCi0KLSAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJl
LCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20sIG5vdAotcHJpY2UuICBPdXIgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQotaGF2ZSB0
aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hh
cmdlIGZvcgotdGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3Vy
Y2UgY29kZSBvciBjYW4gZ2V0IGl0Ci1pZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5n
ZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAotaW4gbmV3IGZyZWUgcHJvZ3JhbXM7
IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgotCi0gIFRvIHByb3Rl
Y3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQK
LWFueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5k
ZXIgdGhlIHJpZ2h0cy4KLVRoZXNlIHJlc3RyaWN0aW9ucyB0cmFuc2xhdGUgdG8gY2VydGFpbiBy
ZXNwb25zaWJpbGl0aWVzIGZvciB5b3UgaWYgeW91Ci1kaXN0cmlidXRlIGNvcGllcyBvZiB0aGUg
c29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCi0KLSAgRm9yIGV4YW1wbGUsIGlmIHlvdSBk
aXN0cmlidXRlIGNvcGllcyBvZiBzdWNoIGEgcHJvZ3JhbSwgd2hldGhlcgotZ3JhdGlzIG9yIGZv
ciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0
Ci15b3UgaGF2ZS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBv
ciBjYW4gZ2V0IHRoZQotc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNl
IHRlcm1zIHNvIHRoZXkga25vdyB0aGVpcgotcmlnaHRzLgotCi0gIFdlIHByb3RlY3QgeW91ciBy
aWdodHMgd2l0aCB0d28gc3RlcHM6ICgxKSBjb3B5cmlnaHQgdGhlIHNvZnR3YXJlLCBhbmQKLSgy
KSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9u
IHRvIGNvcHksCi1kaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgotCi0gIEFs
c28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFr
ZSBjZXJ0YWluCi10aGF0IGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHRoYXQgdGhlcmUgaXMgbm8gd2Fy
cmFudHkgZm9yIHRoaXMgZnJlZQotc29mdHdhcmUuICBJZiB0aGUgc29mdHdhcmUgaXMgbW9kaWZp
ZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHdlCi13YW50IGl0cyByZWNpcGllbnRz
IHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbwotdGhh
dCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0
aGUgb3JpZ2luYWwKLWF1dGhvcnMnIHJlcHV0YXRpb25zLgotCi0gIEZpbmFsbHksIGFueSBmcmVl
IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlCi1wYXRlbnRzLiAg
V2Ugd2lzaCB0byBhdm9pZCB0aGUgZGFuZ2VyIHRoYXQgcmVkaXN0cmlidXRvcnMgb2YgYSBmcmVl
Ci1wcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVm
ZmVjdCBtYWtpbmcgdGhlCi1wcm9ncmFtIHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB3
ZSBoYXZlIG1hZGUgaXQgY2xlYXIgdGhhdCBhbnkKLXBhdGVudCBtdXN0IGJlIGxpY2Vuc2VkIGZv
ciBldmVyeW9uZSdzIGZyZWUgdXNlIG9yIG5vdCBsaWNlbnNlZCBhdCBhbGwuCi0KLSAgVGhlIHBy
ZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQK
LW1vZGlmaWNhdGlvbiBmb2xsb3cuCi0KLQkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNF
Ci0gICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBN
T0RJRklDQVRJT04KLQotICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBv
ciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zCi1hIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHly
aWdodCBob2xkZXIgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZAotdW5kZXIgdGhlIHRlcm1z
IG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LAot
cmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQgb24g
dGhlIFByb2dyYW0iCi1tZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55IGRlcml2YXRpdmUg
d29yayB1bmRlciBjb3B5cmlnaHQgbGF3OgotdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWlu
aW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKLWVpdGhlciB2ZXJiYXRpbSBvciB3
aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyCi1sYW5ndWFn
ZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0
aW9uIGluCi10aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJl
c3NlZCBhcyAieW91Ii4KLQotQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1
dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKLWNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0
aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKLXJ1bm5pbmcgdGhlIFByb2dy
YW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0KLWlz
IGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24g
dGhlCi1Qcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRlIGJ5IHJ1bm5pbmcg
dGhlIFByb2dyYW0pLgotV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQ
cm9ncmFtIGRvZXMuCi0KLSAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGlt
IGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCi1zb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwg
aW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UKLWNvbnNwaWN1b3VzbHkgYW5kIGFwcHJv
cHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUKLWNvcHlyaWdodCBu
b3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUKLW5v
dGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFu
eSB3YXJyYW50eTsKLWFuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFt
IGEgY29weSBvZiB0aGlzIExpY2Vuc2UKLWFsb25nIHdpdGggdGhlIFByb2dyYW0uCi0KLVlvdSBt
YXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNv
cHksIGFuZAoteW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9u
IGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KLQotICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkg
b3IgY29waWVzIG9mIHRoZSBQcm9ncmFtIG9yIGFueSBwb3J0aW9uCi1vZiBpdCwgdGh1cyBmb3Jt
aW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGNvcHkgYW5kCi1kaXN0cmlidXRl
IHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEK
LWFib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlv
bnM6Ci0KLSAgICBhKSBZb3UgbXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2Fycnkg
cHJvbWluZW50IG5vdGljZXMKLSAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVz
IGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgotCi0gICAgYikgWW91IG11c3QgY2F1c2UgYW55
IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluCi0gICAgd2hvbGUg
b3IgaW4gcGFydCBjb250YWlucyBvciBpcyBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0gb3IgYW55
Ci0gICAgcGFydCB0aGVyZW9mLCB0byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJn
ZSB0byBhbGwgdGhpcmQKLSAgICBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vu
c2UuCi0KLSAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21t
YW5kcyBpbnRlcmFjdGl2ZWx5Ci0gICAgd2hlbiBydW4sIHlvdSBtdXN0IGNhdXNlIGl0LCB3aGVu
IHN0YXJ0ZWQgcnVubmluZyBmb3Igc3VjaAotICAgIGludGVyYWN0aXZlIHVzZSBpbiB0aGUgbW9z
dCBvcmRpbmFyeSB3YXksIHRvIHByaW50IG9yIGRpc3BsYXkgYW4KLSAgICBhbm5vdW5jZW1lbnQg
aW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKLSAgICBub3Rp
Y2UgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHBy
b3ZpZGUKLSAgICBhIHdhcnJhbnR5KSBhbmQgdGhhdCB1c2VycyBtYXkgcmVkaXN0cmlidXRlIHRo
ZSBwcm9ncmFtIHVuZGVyCi0gICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVz
ZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMKLSAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjog
aWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dAotICAgIGRvZXMgbm90IG5v
cm1hbGx5IHByaW50IHN1Y2ggYW4gYW5ub3VuY2VtZW50LCB5b3VyIHdvcmsgYmFzZWQgb24KLSAg
ICB0aGUgUHJvZ3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikK
LQotVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hv
bGUuICBJZgotaWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2
ZWQgZnJvbSB0aGUgUHJvZ3JhbSwKLWFuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGlu
ZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgotdGhlbXNlbHZlcywgdGhlbiB0aGlzIExp
Y2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQotc2VjdGlvbnMgd2hl
biB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91Ci1k
aXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBh
IHdvcmsgYmFzZWQKLW9uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9s
ZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgotdGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9u
cyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKLWVudGlyZSB3aG9sZSwgYW5kIHRo
dXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZSBpdC4KLQot
VGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0
cyBvciBjb250ZXN0Ci15b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91
OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KLWV4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9s
IHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgotY29sbGVjdGl2ZSB3b3JrcyBiYXNl
ZCBvbiB0aGUgUHJvZ3JhbS4KLQotSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5v
dGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3JhbQotd2l0aCB0aGUgUHJvZ3JhbSAob3Ig
d2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mCi1hIHN0b3Jh
Z2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1
bmRlcgotdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KLQotICAzLiBZb3UgbWF5IGNvcHkgYW5k
IGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGEgd29yayBiYXNlZCBvbiBpdCwKLXVuZGVyIFNl
Y3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJt
cyBvZgotU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9u
ZSBvZiB0aGUgZm9sbG93aW5nOgotCi0gICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBs
ZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZQotICAgIHNvdXJjZSBjb2RlLCB3aGlj
aCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucwotICAgIDEg
YW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50
ZXJjaGFuZ2U7IG9yLAotCi0gICAgYikgQWNjb21wYW55IGl0IHdpdGggYSB3cml0dGVuIG9mZmVy
LCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKLSAgICB5ZWFycywgdG8gZ2l2ZSBhbnkgdGhpcmQg
cGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91cgotICAgIGNvc3Qgb2YgcGh5c2lj
YWxseSBwZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKLSAgICBtYWNo
aW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUsIHRvIGJl
Ci0gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJv
dmUgb24gYSBtZWRpdW0KLSAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNo
YW5nZTsgb3IsCi0KLSAgICBjKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgaW5mb3JtYXRpb24geW91
IHJlY2VpdmVkIGFzIHRvIHRoZSBvZmZlcgotICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGlu
ZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCi0gICAgYWxsb3dlZCBvbmx5IGZv
ciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UKLSAgICByZWNlaXZl
ZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNo
Ci0gICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24gYiBhYm92ZS4pCi0KLVRo
ZSBzb3VyY2UgY29kZSBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUg
d29yayBmb3IKLW1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUg
d29yaywgY29tcGxldGUgc291cmNlCi1jb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9y
IGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueQotYXNzb2NpYXRlZCBpbnRlcmZhY2Ug
ZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvCi1jb250cm9sIGNvbXBp
bGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBh
Ci1zcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90
IGluY2x1ZGUKLWFueXRoaW5nIHRoYXQgaXMgbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhl
ciBzb3VyY2Ugb3IgYmluYXJ5Ci1mb3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21w
aWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZQotb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGlj
aCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKLWl0c2VsZiBhY2Nv
bXBhbmllcyB0aGUgZXhlY3V0YWJsZS4KLQotSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUg
b3Igb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZwotYWNjZXNzIHRvIGNvcHkgZnJvbSBh
IGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudAotYWNjZXNzIHRvIGNv
cHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCi1kaXN0cmli
dXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBu
b3QKLWNvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNv
ZGUuCi0KLSAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0
cmlidXRlIHRoZSBQcm9ncmFtCi1leGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRo
aXMgTGljZW5zZS4gIEFueSBhdHRlbXB0Ci1vdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJs
aWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gaXMKLXZvaWQsIGFuZCB3aWxsIGF1dG9t
YXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KLUhvd2V2
ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91
IHVuZGVyCi10aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5h
dGVkIHNvIGxvbmcgYXMgc3VjaAotcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgot
Ci0gIDUuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNl
IHlvdSBoYXZlIG5vdAotc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5
b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKLWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gb3IgaXRz
IGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQotcHJvaGliaXRlZCBieSBsYXcg
aWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQotbW9kaWZ5
aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhl
Ci1Qcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2Ug
dG8gZG8gc28sIGFuZAotYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywg
ZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZwotdGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24g
aXQuCi0KLSAgNi4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGFu
eSB3b3JrIGJhc2VkIG9uIHRoZQotUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxs
eSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKLW9yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHks
IGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8KLXRoZXNlIHRlcm1z
IGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCi1yZXN0cmlj
dGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBo
ZXJlaW4uCi1Zb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2Ug
YnkgdGhpcmQgcGFydGllcyB0bwotdGhpcyBMaWNlbnNlLgotCi0gIDcuIElmLCBhcyBhIGNvbnNl
cXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQKLWluZnJp
bmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlz
c3VlcyksCi1jb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBv
cmRlciwgYWdyZWVtZW50IG9yCi1vdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0
aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90Ci1leGN1c2UgeW91IGZyb20gdGhlIGNv
bmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdAotZGlzdHJpYnV0ZSBzbyBh
cyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwot
TGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNv
bnNlcXVlbmNlIHlvdQotbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gIEZv
ciBleGFtcGxlLCBpZiBhIHBhdGVudAotbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHkt
ZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQotYWxsIHRob3NlIHdobyByZWNl
aXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuCi10aGUg
b25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxk
IGJlIHRvCi1yZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFt
LgotCi1JZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVu
ZW5mb3JjZWFibGUgdW5kZXIKLWFueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFu
Y2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KLWFwcGx5IGFuZCB0aGUgc2VjdGlvbiBh
cyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyCi1jaXJjdW1zdGFuY2VzLgot
Ci1JdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8g
aW5mcmluZ2UgYW55Ci1wYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0
byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQotc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMg
dGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQotaW50ZWdyaXR5IG9mIHRoZSBmcmVl
IHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0sIHdoaWNoIGlzCi1pbXBsZW1lbnRlZCBieSBw
dWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKLWdlbmVyb3Vz
IGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQK
LXRocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlv
biBvZiB0aGF0Ci1zeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRl
IGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCi10byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2gg
YW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKLWltcG9zZSB0aGF0IGNob2lj
ZS4KLQotVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3
aGF0IGlzIGJlbGlldmVkIHRvCi1iZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMg
TGljZW5zZS4KLQotICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFBy
b2dyYW0gaXMgcmVzdHJpY3RlZCBpbgotY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVu
dHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCi1vcmlnaW5hbCBjb3B5cmlnaHQg
aG9sZGVyIHdobyBwbGFjZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBMaWNlbnNlCi1tYXkgYWRk
IGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRp
bmcKLXRob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9u
bHkgaW4gb3IgYW1vbmcKLWNvdW50cmllcyBub3QgdGh1cyBleGNsdWRlZC4gIEluIHN1Y2ggY2Fz
ZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcwotdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRl
biBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCi0KLSAgOS4gVGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKLW9mIHRo
ZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVy
c2lvbnMgd2lsbAotYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwg
YnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCi1hZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25j
ZXJucy4KLQotRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBu
dW1iZXIuICBJZiB0aGUgUHJvZ3JhbQotc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhp
cyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkKLWxhdGVyIHZlcnNpb24iLCB5
b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMK
LWVpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVk
IGJ5IHRoZSBGcmVlCi1Tb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBu
b3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mCi10aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hv
b3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi1Gb3Vu
ZGF0aW9uLgotCi0gIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUg
UHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKLXByb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25k
aXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKLXRvIGFzayBmb3IgcGVy
bWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcyBjb3B5cmlnaHRlZCBieSB0aGUgRnJlZQot
U29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgd2Ugc29tZXRpbWVzCi1tYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIgZGVjaXNpb24g
d2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2Fscwotb2YgcHJlc2VydmluZyB0aGUgZnJlZSBz
dGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZAotb2YgcHJv
bW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCi0KLQkJ
CSAgICBOTyBXQVJSQU5UWQotCi0gIDExLiBCRUNBVVNFIFRIRSBQUk9HUkFNIElTIExJQ0VOU0VE
IEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5UWQotRk9SIFRIRSBQUk9HUkFNLCBU
TyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOCi1P
VEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBP
VEhFUiBQQVJUSUVTCi1QUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRAotT1IgSU1QTElFRCwgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKLU1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJ
U0sgQVMKLVRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBX
SVRIIFlPVS4gIFNIT1VMRCBUSEUKLVBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1F
IFRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLAotUkVQQUlSIE9SIENPUlJFQ1RJ
T04uCi0KLSAgMTIuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExB
VyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwotV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1Ig
QU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUgotUkVESVNUUklCVVRFIFRIRSBQ
Uk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywK
LUlOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgQVJJU0lORwotT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBU
SEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRAotVE8gTE9TUyBPRiBEQVRBIE9S
IERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCi1Z
T1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFU
RSBXSVRIIEFOWSBPVEhFUgotUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVS
IFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFCi1QT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RVMuCi0KLQkJICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKLQotCSAgICBIb3cgdG8g
QXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKLQotICBJZiB5b3UgZGV2ZWxv
cCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0Ci1w
b3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBp
cyB0byBtYWtlIGl0Ci1mcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1
dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KLQotICBUbyBkbyBzbywgYXR0YWNoIHRo
ZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAotdG8gYXR0
YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3Rp
dmVseQotY29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hv
dWxkIGhhdmUgYXQgbGVhc3QKLXRoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8g
d2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgotCi0gICAgPG9uZSBsaW5lIHRvIGdpdmUg
dGhlIHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KLSAg
ICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgotCi0gICAgVGhpcyBwcm9n
cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp
ZnkKLSAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieQotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gICAgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICAg
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBhbG9uZwotICAgIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCi0gICAgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KLQotQWxzbyBhZGQgaW5mb3Jt
YXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwu
Ci0KLUlmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0
IG5vdGljZSBsaWtlIHRoaXMKLXdoZW4gaXQgc3RhcnRzIGluIGFuIGludGVyYWN0aXZlIG1vZGU6
Ci0KLSAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgbmFtZSBv
ZiBhdXRob3IKLSAgICBHbm9tb3Zpc2lvbiBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFO
VFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCi0gICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJl
LCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAotICAgIHVuZGVyIGNlcnRh
aW4gY29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KLQotVGhlIGh5cG90aGV0
aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJv
cHJpYXRlCi1wYXJ0cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwg
dGhlIGNvbW1hbmRzIHlvdSB1c2UgbWF5Ci1iZSBjYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4g
YHNob3cgdycgYW5kIGBzaG93IGMnOyB0aGV5IGNvdWxkIGV2ZW4gYmUKLW1vdXNlLWNsaWNrcyBv
ciBtZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCi0KLVlvdSBzaG91bGQg
YWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5
b3VyCi1zY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9y
IHRoZSBwcm9ncmFtLCBpZgotbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhl
IG5hbWVzOgotCi0gIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmln
aHQgaW50ZXJlc3QgaW4gdGhlIHByb2dyYW0KLSAgYEdub21vdmlzaW9uJyAod2hpY2ggbWFrZXMg
cGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCi0KLSAgPHNpZ25h
dHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTg5Ci0gIFR5IENvb24sIFByZXNpZGVudCBvZiBW
aWNlCi0KLVRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jw
b3JhdGluZyB5b3VyIHByb2dyYW0gaW50bwotcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3Vy
IHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdSBtYXkKLWNvbnNpZGVyIGl0IG1v
cmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRo
IHRoZQotbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwKLVB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90
aGlyZF9wYXJ0eS9tNHN1Z2FyL1JFQURNRS5jaHJvbWl1bSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9SRUFETUUuY2hyb21pdW0K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2MGE1ZmQ0ZmRjOTI3Y2Y4NjZhMzYyMWQ1
M2UwMWI3ZjZlZTAzYTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0
eS9tNHN1Z2FyL1JFQURNRS5jaHJvbWl1bQorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAK
LU5hbWU6IEF1dG9jb25mIE00IG1hY3JvcyB1c2VkIGJ5IEJpc29uCi1TaG9ydCBOYW1lOiBtNHN1
Z2FyCi1VUkw6IGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYvCi1WZXJzaW9u
OiB1bmtub3duCi1MaWNlbnNlOiBHUEwKLUxpY2Vuc2UgRmlsZTogTElDRU5TRQotU2VjdXJpdHkg
Y3JpdGljYWw6IG5vCi0KLURlc2NyaXB0aW9uOgotQmlzb24gdXNlcyBNNCB0byBnZW5lcmF0ZSBp
dHMgb3V0cHV0LCBhbmQgdXNlcyB0aGUgdXRpbGl0eSBNNCBtYWNyb3MgaW4gdGhpcwotZGlyZWN0
b3J5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNv
bi90aGlyZF9wYXJ0eS9tNHN1Z2FyL2ZvcmVhY2gubTQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3VnYXIvZm9yZWFjaC5tNApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzA5M2QwZmNjNGU4NThhOTk3YmU1NzA5NGRkZjVkZjdk
NDEwMzcxMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3Vn
YXIvZm9yZWFjaC5tNAorKysgL2Rldi9udWxsCkBAIC0xLDM2MiArMCwwIEBACi0jICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSot
Ci0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEF1dG9jb25mLgotIyBmb3JlYWNoLWJhc2VkIHJlcGxh
Y2VtZW50cyBmb3IgcmVjdXJzaXZlIGZ1bmN0aW9ucy4KLSMgU3BlZWRzIHVwIEdOVSBNNCAxLjQu
eCBieSBhdm9pZGluZyBxdWFkcmF0aWMgJEAgcmVjdXJzaW9uLCBidXQgcGVuYWxpemVzCi0jIEdO
VSBNNCAxLjYgYnkgcmVxdWlyaW5nIG1vcmUgbWVtb3J5IGFuZCBtYWNybyBleHBhbnNpb25zLgot
IwotIyBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4KLQotIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBBdXRvY29uZi4gIFRoaXMgcHJvZ3JhbSBpcyBm
cmVlCi0jIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0
IHVuZGVyIHRoZQotIyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0jIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwg
dmVyc2lvbiAzLCB5b3UgYXJlIGdyYW50ZWQgYWRkaXRpb25hbAotIyBwZXJtaXNzaW9ucyBkZXNj
cmliZWQgaW4gdGhlIEF1dG9jb25mIENvbmZpZ3VyZSBTY3JpcHQgRXhjZXB0aW9uLAotIyB2ZXJz
aW9uIDMuMCwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0j
Ci0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0jIGFuZCBhIGNvcHkgb2YgdGhlIEF1dG9jb25mIENvbmZpZ3VyZSBTY3Jp
cHQgRXhjZXB0aW9uIGFsb25nIHdpdGgKLSMgdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGVzIENP
UFlJTkd2MyBhbmQgQ09QWUlORy5FWENFUFRJT04KLSMgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBz
ZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLQotIyBXcml0dGVuIGJ5IEVyaWMg
Qmxha2UuCi0KLSMgSW4gTTQgMS40LngsIGV2ZXJ5IGJ5dGUgb2YgJEAgaXMgcmVzY2FubmVkLiAg
VGhpcyBtZWFucyB0aGF0IGFuCi0jIGFsZ29yaXRobSBvbiBuIGFyZ3VtZW50cyB0aGF0IHJlY3Vy
c2VzIHdpdGggb25lIGxlc3MgYXJndW1lbnQgZWFjaAotIyBpdGVyYXRpb24gd2lsbCBzY2FuIG4g
KiAobiArIDEpIC8gMiBhcmd1bWVudHMsIGZvciBPKG5eMikgdGltZS4gIEluCi0jIE00IDEuNiwg
dGhpcyB3YXMgZml4ZWQgc28gdGhhdCAkQCBpcyBvbmx5IHNjYW5uZWQgb25jZSwgdGhlbgotIyBi
YWNrLXJlZmVyZW5jZXMgYXJlIG1hZGUgdG8gaW5mb3JtYXRpb24gc3RvcmVkIGFib3V0IHRoZSBz
Y2FuLgotIyBUaHVzLCBuIGl0ZXJhdGlvbnMgbmVlZCBvbmx5IHNjYW4gbiBhcmd1bWVudHMsIGZv
ciBPKG4pIHRpbWUuCi0jIEFkZGl0aW9uYWxseSwgaW4gTTQgMS40LngsIHJlY3Vyc2l2ZSBhbGdv
cml0aG1zIGRpZCBub3QgY2xlYW4gdXAKLSMgbWVtb3J5IHZlcnkgd2VsbCwgcmVxdWlyaW5nIE8o
bl4yKSBtZW1vcnkgcmF0aGVyIHRoYW4gTyhuKSBmb3IgbgotIyBpdGVyYXRpb25zLgotIwotIyBU
aGlzIGZpbGUgaXMgZGVzaWduZWQgdG8gb3ZlcmNvbWUgdGhlIHF1YWRyYXRpYyBuYXR1cmUgb2Yg
JEAKLSMgcmVjdXJzaW9uIGJ5IHdyaXRpbmcgYSB2YXJpYW50IG9mIG00X2ZvcmVhY2ggdGhhdCB1
c2VzIG00X2ZvciByYXRoZXIKLSMgdGhhbiAkQCByZWN1cnNpb24gdG8gb3BlcmF0ZSBvbiB0aGUg
bGlzdC4gIFRoaXMgaW52b2x2ZXMgbW9yZSBtYWNybwotIyBleHBhbnNpb25zLCBidXQgYXZvaWRz
IHRoZSBuZWVkIHRvIHJlc2NhbiBhIHF1YWRyYXRpYyBudW1iZXIgb2YKLSMgYXJndW1lbnRzLCBt
YWtpbmcgdGhlc2UgcmVwbGFjZW1lbnRzIHZlcnkgYXR0cmFjdGl2ZSBmb3IgTTQgMS40LnguCi0j
IE9uIHRoZSBvdGhlciBoYW5kLCBpbiBhbnkgdmVyc2lvbiBvZiBNNCwgZXhwYW5kaW5nIGFkZGl0
aW9uYWwgbWFjcm9zCi0jIGNvc3RzIGFkZGl0aW9uYWwgdGltZTsgdGhlcmVmb3JlLCBpbiBNNCAx
LjYsIHdoZXJlICRAIHJlY3Vyc2lvbiB1c2VzCi0jIGZld2VyIG1hY3JvcywgdGhlc2UgcmVwbGFj
ZW1lbnRzIGFjdHVhbGx5IHBlc3NpbWl6ZSBwZXJmb3JtYW5jZS4KLSMgQWRkaXRpb25hbGx5LCB0
aGUgdXNlIG9mICQxMCB0byBtZWFuIHRoZSB0ZW50aCBhcmd1bWVudCB2aW9sYXRlcwotIyBQT1NJ
WDsgYWx0aG91Z2ggYWxsIHZlcnNpb25zIG9mIG00IDEuNC54IHN1cHBvcnQgdGhpcyBtZWFuaW5n
LCBhCi0jIGZ1dHVyZSBtNCB2ZXJzaW9uIG1heSBzd2l0Y2ggdG8gdGFrZSBpdCBhcyB0aGUgZmly
c3QgYXJndW1lbnQKLSMgY29uY2F0ZW5hdGVkIHdpdGggYSBsaXRlcmFsIDAsIHNvIHRoZSBpbXBs
ZW1lbnRhdGlvbnMgaW4gdGhpcyBmaWxlCi0jIGFyZSBub3QgZnV0dXJlLXByb29mLiAgVGh1cywg
dGhpcyBmaWxlIGlzIGNvbmRpdGlvbmFsbHkgaW5jbHVkZWQgYXMKLSMgcGFydCBvZiBtNF9pbml0
KCksIG9ubHkgd2hlbiBpdCBpcyBkZXRlY3RlZCB0aGF0IE00IHByb2JhYmx5IGhhcwotIyBxdWFk
cmF0aWMgYmVoYXZpb3IgKGllLiBpdCBsYWNrcyB0aGUgbWFjcm8gX19tNF92ZXJzaW9uX18pLgot
IwotIyBQbGVhc2Uga2VlcCB0aGlzIGZpbGUgaW4gc3luYyB3aXRoIG00c3VnYXIubTQuCi0KLSMg
X200X2ZvcmVhY2goUFJFLCBQT1NULCBJR05PUkVELCBBUkcuLi4pCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBGb3JtIHRoZSBjb21tb24gYmFzaXMgb2YgdGhl
IG00X2ZvcmVhY2ggYW5kIG00X21hcCBtYWNyb3MuICBGb3IgZWFjaAotIyBBUkcsIGV4cGFuZCBQ
UkVbQVJHXVBPU1RbXS4gIFRoZSBJR05PUkVEIGFyZ3VtZW50IG1ha2VzIHJlY3Vyc2lvbgotIyBl
YXNpZXIsIGFuZCBtdXN0IGJlIHN1cHBsaWVkIHJhdGhlciB0aGFuIGltcGxpY2l0LgotIwotIyBU
aGlzIHZlcnNpb24gbWluaW1pemVzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhhdCAkQCBpcyBldmFs
dWF0ZWQgYnkKLSMgdXNpbmcgbTRfZm9yIHRvIGdlbmVyYXRlIGEgYm9pbGVycGxhdGUgaW50byBf
bTRfZiB0aGVuIHBhc3NpbmcgJEAgdG8KLSMgdGhhdCB0ZW1wb3JhcnkgbWFjcm8uICBUaHVzLCB0
aGUgcmVjdXJzaW9uIGlzIGRvbmUgaW4gbTRfZm9yIHdpdGhvdXQKLSMgcmVwYXJzaW5nIGFueSB1
c2VyIGlucHV0LCBhbmQgaXMgbm90IHF1YWRyYXRpYy4gIEZvciBhbiBpZGVhIG9mIGhvdwotIyB0
aGlzIHdvcmtzLCBub3RlIHRoYXQgbTRfZm9yZWFjaChpLFsxLDJdLFtpXSkgY2FsbHMKLSMgICBf
bTRfZm9yZWFjaChbbTRfZGVmaW5lKFtpXSxdLFspaV0sW10sWzFdLFsyXSkKLSMgd2hpY2ggZGVm
aW5lcyBfbTRfZjoKLSMgICAkMVskNF0kMltdJDFbJDVdJDJbXV9tNF9wb3BkZWYoW19tNF9mXSkK
LSMgdGhlbiBjYWxscyBfbTRfZihbbTRfZGVmaW5lKFtpXSxdLFspaV0sW10sWzFdLFsyXSkgZm9y
IGEgbmV0IHJlc3VsdDoKLSMgICBtNF9kZWZpbmUoW2ldLFsxXSlpW11tNF9kZWZpbmUoW2ldLFsy
XSlpW11fbTRfcG9wZGVmKFtfbTRfZl0pLgotbTRfZGVmaW5lKFtfbTRfZm9yZWFjaF0sCi1bbTRf
aWYoWyQjXSwgWzNdLCBbXSwKLSAgICAgICBbbTRfcHVzaGRlZihbX200X2ZdLCBfbTRfZm9yKFs0
XSwgWyQjXSwgWzFdLAotICAgWyQwXyhbMV0sIFsyXSxdLCBbKV0pW19tNF9wb3BkZWYoW19tNF9m
XSldKV9tNF9mKCRAKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfZm9yZWFjaF9dLAotW1skJDFbJCQz
XSQkMltdXV0pCi0KLSMgbTRfY2FzZShTV0lUQ0gsIFZBTDEsIElGLVZBTDEsIFZBTDIsIElGLVZB
TDIsIC4uLiwgREVGQVVMVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRmluZCB0aGUgZmlyc3QgVkFMIHRoYXQgU1dJVENI
IG1hdGNoZXMsIGFuZCBleHBhbmQgdGhlIGNvcnJlc3BvbmRpbmcKLSMgSUYtVkFMLiAgSWYgdGhl
cmUgYXJlIG5vIG1hdGNoZXMsIGV4cGFuZCBERUZBVUxULgotIwotIyBVc2UgbTRfZm9yIHRvIGNy
ZWF0ZSBhIHRlbXBvcmFyeSBtYWNybyBpbiB0ZXJtcyBvZiBhIGJvaWxlcnBsYXRlCi0jIG00X2lm
IHdpdGggZmluYWwgY2xlYW51cC4gIElmICQjIGlzIGV2ZW4sIHdlIGhhdmUgREVGQVVMVDsgaWYg
aXQgaXMKLSMgb2RkLCB0aGVuIHJvdW5kaW5nIHRoZSBsYXN0ICQjIHVwIGluIHRoZSB0ZW1wb3Jh
cnkgbWFjcm8gaXMKLSMgaGFybWxlc3MuICBGb3IgZXhhbXBsZSwgYm90aCBtNF9jYXNlKDEsMiwz
LDQsNSkgYW5kCi0jIG00X2Nhc2UoMSwyLDMsNCw1LDYpIHJlc3VsdCBpbiB0aGUgaW50ZXJtZWRp
YXRlIF9tNF9jYXNlIGJlaW5nCi0jICAgbTRfaWYoWyQxXSxbJDJdLFskM10sWyQxXSxbJDRdLFsk
NV0sX200X3BvcGRlZihbX200X2Nhc2VdKVskNl0pCi1tNF9kZWZpbmUoW200X2Nhc2VdLAotW200
X2lmKG00X2V2YWwoWyQjIDw9IDJdKSwgWzFdLCBbJDJdLAotW200X3B1c2hkZWYoW18kMF0sIFtt
NF9pZihdX200X2ZvcihbMl0sIG00X2V2YWwoWygkIyAtIDEpIC8gMiAqIDJdKSwgWzJdLAotICAg
ICBbXyQwXyhdLCBbKV0pW19tNF9wb3BkZWYoCi0JIFtfJDBdKV1tNF9kcXVvdGUoJG00X2V2YWwo
WygkIyArIDEpICYgfjFdKSlbKV0pXyQwKCRAKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfY2FzZV9d
LAotWyQwXyhbMV0sIFskMV0sIG00X2luY3IoWyQxXSkpXSkKLQotbTRfZGVmaW5lKFtfbTRfY2Fz
ZV9fXSwKLVtbWyQkMV0sWyQkMl0sWyQkM10sXV0pCi0KLSMgbTRfYm1hdGNoKFNXSVRDSCwgUkUx
LCBWQUwxLCBSRTIsIFZBTDIsIC4uLiwgREVGQVVMVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgbTQgZXF1aXZhbGVudCBvZgotIwot
IyBpZiAoU1dJVENIID1+IFJFMSkKLSMgICBWQUwxOwotIyBlbGlmIChTV0lUQ0ggPX4gUkUyKQot
IyAgIFZBTDI7Ci0jIGVsaWYgLi4uCi0jICAgLi4uCi0jIGVsc2UKLSMgICBERUZBVUxUCi0jCi0j
IFdlIGJ1aWxkIHRoZSB0ZW1wb3JhcnkgbWFjcm8gX200X2I6Ci0jICAgbTRfZGVmaW5lKFtfbTRf
Yl0sIF9tNF9kZWZuKFtfbTRfYm1hdGNoXSkpX200X2IoWyQxXSwgWyQyXSwgWyQzXSkuLi4KLSMg
ICBfbTRfYihbJDFdLCBbJG0tMV0sIFskbV0pX200X2IoW10sIFtdLCBbJG0rMV1fbTRfcG9wZGVm
KFtfbTRfYl0pKQotIyB0aGVuIGludm9rZSBtNF91bnF1b3RlKF9tNF9iKCRAKSksIGZvciBjb25j
YXRlbmF0aW9uIHdpdGggbGF0ZXIgdGV4dC4KLW00X2RlZmluZShbbTRfYm1hdGNoXSwKLVttNF9p
ZihbJCNdLCAwLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCNdKV0sCi0gICAg
ICAgWyQjXSwgMSwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQjOiAkMV0pXSwK
LSAgICAgICBbJCNdLCAyLCBbJDJdLAotICAgICAgIFttNF9wdXNoZGVmKFtfbTRfYl0sIFttNF9k
ZWZpbmUoW19tNF9iXSwKLSAgX200X2RlZm4oW18kMF0pKV1fbTRfZm9yKFszXSwgbTRfZXZhbChb
KCQjICsgMSkgLyAyICogMiAtIDFdKSwKLSAgWzJdLCBbXyQwXyhdLCBbKV0pW19tNF9iKFtdLCBb
XSxdbTRfZHF1b3RlKFskXW00X2V2YWwoCi0gIFsoJCMgKyAxKSAvIDIgKiAyXSkpW19tNF9wb3Bk
ZWYoW19tNF9iXSkpXSltNF91bnF1b3RlKF9tNF9iKCRAKSldKV0pCi0KLW00X2RlZmluZShbX200
X2JtYXRjaF0sCi1bbTRfaWYobTRfYnJlZ2V4cChbJDFdLCBbJDJdKSwgWy0xXSwgW10sIFtbJDNd
bTRfZGVmaW5lKFskMF0pXSldKQotCi1tNF9kZWZpbmUoW19tNF9ibWF0Y2hfXSwKLVskMF8oWzFd
LCBtNF9kZWNyKFskMV0pLCBbJDFdKV0pCi0KLW00X2RlZmluZShbX200X2JtYXRjaF9fXSwKLVtb
X200X2IoWyQkMV0sIFskJDJdLCBbJCQzXSldXSkKLQotCi0jIG00X2NvbmQoVEVTVDEsIFZBTDEs
IElGLVZBTDEsIFRFU1QyLCBWQUwyLCBJRi1WQUwyLCAuLi4sIFtERUZBVUxUXSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotIyBTaW1pbGFyIHRvIG00X2lmLCBleGNlcHQgdGhhdCBlYWNoIFRFU1QgaXMgZXhwYW5k
ZWQgd2hlbiBlbmNvdW50ZXJlZC4KLSMgSWYgdGhlIGV4cGFuc2lvbiBvZiBURVNUbiBtYXRjaGVz
IHRoZSBzdHJpbmcgVkFMbiwgdGhlIHJlc3VsdCBpcyBJRi1WQUxuLgotIyBUaGUgcmVzdWx0IGlz
IERFRkFVTFQgaWYgbm8gdGVzdHMgcGFzc2VkLiAgVGhpcyBtYWNybyBhbGxvd3MKLSMgc2hvcnQt
Y2lyY3VpdGluZyBvZiBleHBlbnNpdmUgdGVzdHMsIHdoZXJlIGl0IHBheXMgdG8gYXJyYW5nZSBx
dWljawotIyBmaWx0ZXIgdGVzdHMgdG8gcnVuIGZpcnN0LgotIwotIyBtNF9jb25kIGFscmVhZHkg
Z3VhcmFudGVlcyBlaXRoZXIgMypuIG9yIDMqbiArIDEgYXJndW1lbnRzLCAxIDw9IG4uCi0jIFdl
IG9ubHkgaGF2ZSB0byBzcGVlZCB1cCBfbTRfY29uZCwgYnkgYnVpbGRpbmcgdGhlIHRlbXBvcmFy
eSBfbTRfYzoKLSMgICBtNF9kZWZpbmUoW19tNF9jXSwgX200X2RlZm4oW200X3VucXVvdGVdKSlf
bTRfYyhbbTRfaWYoKCQxKSwgWygkMildLAotIyAgIFtbJDNdbTRfZGVmaW5lKFtfbTRfY10pXSld
KV9tNF9jKFttNF9pZigoJDQpLCBbKCQ1KV0sCi0jICAgW1skNl1tNF9kZWZpbmUoW19tNF9jXSld
KV0pLi4uX200X2MoW200X2lmKCgkbS0yKSwgWygkbS0xKV0sCi0jICAgW1skbV1tNF9kZWZpbmUo
W19tNF9jXSldKV0pX200X2MoW1skbSsxXV1fbTRfcG9wZGVmKFtfbTRfY10pKQotIyBXZSBpbnZv
a2UgbTRfdW5xdW90ZShfbTRfYygkQCkpLCBmb3IgY29uY2F0ZW5hdGlvbiB3aXRoIGxhdGVyIHRl
eHQuCi1tNF9kZWZpbmUoW19tNF9jb25kXSwKLVttNF9wdXNoZGVmKFtfbTRfY10sIFttNF9kZWZp
bmUoW19tNF9jXSwKLSAgX200X2RlZm4oW200X3VucXVvdGVdKSldX200X2ZvcihbMl0sIG00X2V2
YWwoWyQjIC8gMyAqIDMgLSAxXSksIFszXSwKLSAgWyQwXyhdLCBbKV0pW19tNF9jKF1tNF9kcXVv
dGUobTRfZHF1b3RlKAotICBbJF1tNF9ldmFsKFskIyAvIDMgKiAzICsgMV0pKSlbX200X3BvcGRl
ZihbX200X2NdKSldKW00X3VucXVvdGUoX200X2MoJEApKV0pCi0KLW00X2RlZmluZShbX200X2Nv
bmRfXSwKLVskMF8obTRfZGVjcihbJDFdKSwgWyQxXSwgbTRfaW5jcihbJDFdKSldKQotCi1tNF9k
ZWZpbmUoW19tNF9jb25kX19dLAotW1tfbTRfYyhbbTRfaWYoKCQkMSksIFsoJCQyKV0sIFtbJCQz
XW00X2RlZmluZShbX200X2NdKV0pXSldXSkKLQotIyBtNF9icGF0c3Vic3RzKFNUUklORywgUkUx
LCBTVUJTVDEsIFJFMiwgU1VCU1QyLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgbTQgZXF1aXZhbGVudCBvZgotIwotIyAgICRf
ID0gU1RSSU5HOwotIyAgIHMvUkUxL1NVQlNUMS9nOwotIyAgIHMvUkUyL1NVQlNUMi9nOwotIyAg
IC4uLgotIwotIyBtNF9icGF0c3Vic3RzIGFscmVhZHkgdmFsaWRhdGVkIGFuIG9kZCBudW1iZXIg
b2YgYXJndW1lbnRzOyB3ZSBvbmx5Ci0jIG5lZWQgdG8gc3BlZWQgdXAgX200X2JwYXRzdWJzdHMu
ICBUbyBhdm9pZCBuZXN0aW5nLCB3ZSBidWlsZCB0aGUKLSMgdGVtcG9yYXJ5IF9tNF9wOgotIyAg
IG00X2RlZmluZShbX200X3BdLCBbJDFdKW00X2RlZmluZShbX200X3BdLAotIyAgIG00X2JwYXRz
dWJzdChtNF9kcXVvdGUoX200X2RlZm4oW19tNF9wXSkpLCBbJDJdLCBbJDNdKSltNF9kZWZpbmUo
W19tNF9wXSwKLSMgICBtNF9icGF0c3Vic3QobTRfZHF1b3RlKF9tNF9kZWZuKFtfbTRfcF0pKSwg
WyQ0XSwgWyQ1XSkpbTRfZGVmaW5lKFtfbTRfcF0sLi4uCi0jICAgbTRfYnBhdHN1YnN0KG00X2Rx
dW90ZShfbTRfZGVmbihbX200X3BdKSksIFskbS0xXSwgWyRtXSkpbTRfdW5xdW90ZSgKLSMgICBf
bTRfZGVmbihbX200X3BdKV9tNF9wb3BkZWYoW19tNF9wXSkpCi1tNF9kZWZpbmUoW19tNF9icGF0
c3Vic3RzXSwKLVttNF9wdXNoZGVmKFtfbTRfcF0sIFttNF9kZWZpbmUoW19tNF9wXSwKLSAgXW00
X2RxdW90ZShbJF0xKVspXV9tNF9mb3IoWzNdLCBbJCNdLCBbMl0sIFskMF8oXSwKLSAgWyldKVtt
NF91bnF1b3RlKF9tNF9kZWZuKFtfbTRfcF0pX200X3BvcGRlZihbX200X3BdKSldKV9tNF9wKCRA
KV0pCi0KLW00X2RlZmluZShbX200X2JwYXRzdWJzdHNfXSwKLVskMF8obTRfZGVjcihbJDFdKSwg
WyQxXSldKQotCi1tNF9kZWZpbmUoW19tNF9icGF0c3Vic3RzX19dLAotW1ttNF9kZWZpbmUoW19t
NF9wXSwKLW00X2JwYXRzdWJzdChtNF9kcXVvdGUoX200X2RlZm4oW19tNF9wXSkpLCBbJCQxXSwg
WyQkMl0pKV1dKQotCi0jIG00X3NoaWZ0bihOLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0j
IFJldHVybnMgLi4uIHNoaWZ0ZWQgTiB0aW1lcy4gIFVzZWZ1bCBmb3IgcmVjdXJzaXZlICJ2YXJh
cmdzIiBjb25zdHJ1Y3RzLgotIwotIyBtNF9zaGlmdG4gYWxyZWFkeSB2YWxpZGF0ZWQgYXJndW1l
bnRzOyB3ZSBvbmx5IG5lZWQgdG8gc3BlZWQgdXAKLSMgX200X3NoaWZ0bi4gIElmIE4gaXMgMywg
dGhlbiB3ZSBidWlsZCB0aGUgdGVtcG9yYXJ5IF9tNF9zLCBkZWZpbmVkIGFzCi0jICAgLFskNV0s
WyQ2XSwuLi4sWyRtXV9tNF9wb3BkZWYoW19tNF9zXSkKLSMgYmVmb3JlIGNhbGxpbmcgbTRfc2hp
ZnQoX200X3MoJEApKS4KLW00X2RlZmluZShbX200X3NoaWZ0bl0sCi1bbTRfaWYobTRfaW5jcihb
JDFdKSwgWyQjXSwgW10sIFttNF9wdXNoZGVmKFtfbTRfc10sCi0gIF9tNF9mb3IobTRfZXZhbChb
JDEgKyAyXSksIFskI10sIFsxXSwKLSAgW1ssXW00X2RxdW90ZSgkXSwgWyldKVtfbTRfcG9wZGVm
KFtfbTRfc10pXSltNF9zaGlmdChfbTRfcygkQCkpXSldKQotCi0jIG00X2RvKFNUUklORywgLi4u
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0KLSMgVGhpcyBtYWNybyBpbnZva2VzIGFsbCBpdHMgYXJn
dW1lbnRzIChpbiBzZXF1ZW5jZSwgb2YgY291cnNlKS4gIEl0IGlzCi0jIHVzZWZ1bCBmb3IgbWFr
aW5nIHlvdXIgbWFjcm9zIG1vcmUgc3RydWN0dXJlZCBhbmQgcmVhZGFibGUgYnkgZHJvcHBpbmcK
LSMgdW5uZWNlc3NhcnkgZG5sJ3MgYW5kIGhhdmUgdGhlIG1hY3JvcyBpbmRlbnRlZCBwcm9wZXJs
eS4KLSMKLSMgSGVyZSwgd2UgdXNlIHRoZSB0ZW1wb3JhcnkgbWFjcm8gX200X2RvLCBkZWZpbmVk
IGFzCi0jICAgJDFbXSQyW10uLi5bXSRuW11fbTRfcG9wZGVmKFtfbTRfZG9dKQotbTRfZGVmaW5l
KFttNF9kb10sCi1bbTRfaWYoWyQjXSwgWzBdLCBbXSwKLSAgICAgICBbbTRfcHVzaGRlZihbXyQw
XSwgX200X2ZvcihbMV0sIFskI10sIFsxXSwKLQkJICAgWyRdLCBbW1tdXV0pW19tNF9wb3BkZWYo
W18kMF0pXSlfJDAoJEApXSldKQotCi0jIG00X2RxdW90ZV9lbHQoQVJHUykKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLQotIyBSZXR1cm4gQVJHUyBhcyBhbiB1bnF1b3RlZCBsaXN0IG9mIGRvdWJsZS1x
dW90ZWQgYXJndW1lbnRzLgotIwotIyBfbTRfZm9yZWFjaCB0byB0aGUgcmVzY3VlLgotbTRfZGVm
aW5lKFttNF9kcXVvdGVfZWx0XSwKLVttNF9pZihbJCNdLCBbMF0sIFtdLCBbW1skMV1dX200X2Zv
cmVhY2goWyxtNF9kcXVvdGUoXSwgWyldLCAkQCldKV0pCi0KLSMgbTRfcmV2ZXJzZShBUkdTKQot
IyAtLS0tLS0tLS0tLS0tLS0tCi0jIE91dHB1dCBBUkdTIGluIHJldmVyc2Ugb3JkZXIuCi0jCi0j
IEludm9rZSBfbTRfcigkQCkgd2l0aCB0aGUgdGVtcG9yYXJ5IF9tNF9yIGJ1aWx0IGFzCi0jICAg
WyRtXSwgWyRtLTFdLCAuLi4sIFskMl0sIFskMV1fbTRfcG9wZGVmKFtfbTRfcl0pCi1tNF9kZWZp
bmUoW200X3JldmVyc2VdLAotW200X2lmKFskI10sIFswXSwgW10sIFskI10sIFsxXSwgW1skMV1d
LAotW200X3B1c2hkZWYoW19tNF9yXSwgW1skJCNdXV9tNF9mb3IobTRfZGVjcihbJCNdKSwgWzFd
LCBbLTFdLAotICAgIFtbLCBdbTRfZHF1b3RlKCRdLCBbKV0pW19tNF9wb3BkZWYoW19tNF9yXSld
KV9tNF9yKCRAKV0pXSkKLQotCi0jIG00X21hcF9hcmdzX3BhaXIoRVhQUkVTU0lPTiwgW0VORC1F
WFBSID0gRVhQUkVTU0lPTl0sIEFSRy4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQZXJmb3JtIGEgcGFpcndpc2Ug
Z3JvdXBpbmcgb2YgY29uc2VjdXRpdmUgQVJHcywgYnkgZXhwYW5kaW5nCi0jIEVYUFJFU1NJT04o
W0FSRzFdLCBbQVJHMl0pLiAgSWYgdGhlcmUgYXJlIGFuIG9kZCBudW1iZXIgb2YgQVJHcywgdGhl
Ci0jIGZpbmFsIGFyZ3VtZW50IGlzIGV4cGFuZGVkIHdpdGggRU5ELUVYUFIoW0FSR25dKS4KLSMK
LSMgQnVpbGQgdGhlIHRlbXBvcmFyeSBtYWNybyBfbTRfbWFwX2FyZ3NfcGFpciwgd2l0aCB0aGUg
JDIoWyRtKzFdKQotIyBvbmx5IG91dHB1dCBpZiAkIyBpcyBvZGQ6Ci0jICAgJDEoWyQzXSwgWyQ0
XSlbXSQxKFskNV0sIFskNl0pW10uLi4kMShbJG0tMV0sCi0jICAgWyRtXSlbXW00X2RlZmF1bHQo
WyQyXSwgWyQxXSkoWyRtKzFdKVtdX200X3BvcGRlZihbX200X21hcF9hcmdzX3BhaXJdKQotbTRf
ZGVmaW5lKFttNF9tYXBfYXJnc19wYWlyXSwKLVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChb
JDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkI10pXSwKLSAgICAgICBbJCNdLCBbMV0sIFttNF9mYXRh
bChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkIzogJDFdKV0sCi0gICAgICAgWyQjXSwgWzJdLCBb
XSwKLSAgICAgICBbJCNdLCBbM10sIFttNF9kZWZhdWx0KFskMl0sIFskMV0pKFskM10pW11dLAot
ICAgICAgIFttNF9wdXNoZGVmKFtfJDBdLCBfbTRfZm9yKFszXSwKLSAgIG00X2V2YWwoWyQjIC8g
MiAqIDIgLSAxXSksIFsyXSwgW18kMF8oXSwgWyldKV8kMF9lbmQoCi0gICBbMV0sIFsyXSwgWyQj
XSlbX200X3BvcGRlZihbXyQwXSldKV8kMCgkQCldKV0pCi0KLW00X2RlZmluZShbX200X21hcF9h
cmdzX3BhaXJfXSwKLVskMF8oWzFdLCBbJDFdLCBtNF9pbmNyKFskMV0pKV0pCi0KLW00X2RlZmlu
ZShbX200X21hcF9hcmdzX3BhaXJfX10sCi1bWyQkMShbJCQyXSwgWyQkM10pW11dXSkKLQotbTRf
ZGVmaW5lKFtfbTRfbWFwX2FyZ3NfcGFpcl9lbmRdLAotW200X2lmKG00X2V2YWwoWyQzICYgMV0p
LCBbMV0sIFtbbTRfZGVmYXVsdChbJCQyXSwgWyQkMV0pKFskJDNdKVtdXV0pXSkKLQotIyBtNF9q
b2luKFNFUCwgQVJHMSwgQVJHMi4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IFByb2R1Y2UgQVJHMVNFUEFSRzIuLi5TRVBBUkduLiAgQXZvaWQgYmFjay10by1iYWNrIFNFUCB3
aGVuIGEgZ2l2ZW4gQVJHCi0jIGlzIHRoZSBlbXB0eSBzdHJpbmcuICBObyBleHBhbnNpb24gaXMg
cGVyZm9ybWVkIG9uIFNFUCBvciBBUkdzLgotIwotIyBVc2UgYSBzZWxmLW1vZGlmeWluZyBzZXBh
cmF0b3IsIHNpbmNlIHdlIGRvbid0IGtub3cgaG93IG1hbnkKLSMgYXJndW1lbnRzIG1pZ2h0IGJl
IHNraXBwZWQgYmVmb3JlIGEgc2VwYXJhdG9yIGlzIGZpcnN0IHByaW50ZWQsIGJ1dAotIyBiZSBj
YXJlZnVsIGlmIHRoZSBzZXBhcmF0b3IgY29udGFpbnMgJC4gIF9tNF9mb3JlYWNoIHRvIHRoZSBy
ZXNjdWUuCi1tNF9kZWZpbmUoW200X2pvaW5dLAotW200X3B1c2hkZWYoW19tNF9zZXBdLCBbbTRf
ZGVmaW5lKFtfbTRfc2VwXSwgX200X2RlZm4oW200X2VjaG9dKSldKV1kbmwKLVtfbTRfZm9yZWFj
aChbXyQwKFskMV0sXSwgWyldLCAkQClfbTRfcG9wZGVmKFtfbTRfc2VwXSldKQotCi1tNF9kZWZp
bmUoW19tNF9qb2luXSwKLVttNF9pZihbJDJdLCBbXSwgW10sIFtfbTRfc2VwKFskMV0pWyQyXV0p
XSkKLQotIyBtNF9qb2luYWxsKFNFUCwgQVJHMSwgQVJHMi4uLikKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIFByb2R1Y2UgQVJHMVNFUEFSRzIuLi5TRVBBUkduLiAgQW4gZW1w
dHkgQVJHIHJlc3VsdHMgaW4gYmFjay10by1iYWNrIFNFUC4KLSMgTm8gZXhwYW5zaW9uIGlzIHBl
cmZvcm1lZCBvbiBTRVAgb3IgQVJHcy4KLSMKLSMgQSBiaXQgZWFzaWVyIHRoYW4gbTRfam9pbi4g
IF9tNF9mb3JlYWNoIHRvIHRoZSByZXNjdWUuCi1tNF9kZWZpbmUoW200X2pvaW5hbGxdLAotW1sk
Ml1tNF9pZihtNF9ldmFsKFskIyA8PSAyXSksIFsxXSwgW10sCi0JICAgW19tNF9mb3JlYWNoKFsk
MV0sIFtdLCBtNF9zaGlmdCgkQCkpXSldKQotCi0jIG00X2xpc3RfY21wKEEsIEIpCi0jIC0tLS0t
LS0tLS0tLS0tLS0tCi0jIENvbXBhcmUgdGhlIHR3byBsaXN0cyBvZiBpbnRlZ2VyIGV4cHJlc3Np
b25zIEEgYW5kIEIuCi0jCi0jIG00X2xpc3RfY21wIHRha2VzIGNhcmUgb2YgYW55IHNpZGUgZWZm
ZWN0czsgd2Ugb25seSBvdmVycmlkZQotIyBfbTRfbGlzdF9jbXBfcmF3LCB3aGVyZSB3ZSBjYW4g
c2FmZWx5IGV4cGFuZCBsaXN0cyBtdWx0aXBsZSB0aW1lcy4KLSMgRmlyc3QsIGluc2VydCBwYWRk
aW5nIHNvIHRoYXQgYm90aCBsaXN0cyBhcmUgdGhlIHNhbWUgbGVuZ3RoOyB0aGUKLSMgdHJhaWxp
bmcgKzAgaXMgbmVjZXNzYXJ5IHRvIGhhbmRsZSBhIG1pc3NpbmcgbGlzdC4gIE5leHQsIGNyZWF0
ZSBhCi0jIHRlbXBvcmFyeSBtYWNybyB0byBwZXJmb3JtIHBhaXJ3aXNlIGNvbXBhcmlzb25zIHVu
dGlsIGFuIGluZXF1YWxpdHkKLSMgaXMgZm91bmQuICBGb3IgZXhhbXBsZSwgbTRfbGlzdF9jbXAo
WzFdLCBbMSwyXSkgY3JlYXRlcyBfbTRfY21wIGFzCi0jICAgbTRfaWYobTRfZXZhbChbKCQxKSAh
PSAoJDMpXSksIFsxXSwgW200X2NtcChbJDFdLCBbJDNdKV0sCi0jICAgICAgICAgbTRfZXZhbChb
KCQyKSAhPSAoJDQpXSksIFsxXSwgW200X2NtcChbJDJdLCBbJDRdKV0sCi0jICAgICAgICAgWzBd
X200X3BvcGRlZihbX200X2NtcF0pKQotIyB0aGVuIGNhbGxzIF9tNF9jbXAoWzErMF0sIFswKjJd
LCBbMV0sIFsyKzBdKQotbTRfZGVmaW5lKFtfbTRfbGlzdF9jbXBfcmF3XSwKLVttNF9pZihbJDFd
LCBbJDJdLCAwLAotICAgICAgIFtfbTRfbGlzdF9jbXAoJDErMF9tNF9saXN0X3BhZChtNF9jb3Vu
dCgkMSksIG00X2NvdW50KCQyKSksCi0JCSAgICAgJDIrMF9tNF9saXN0X3BhZChtNF9jb3VudCgk
MiksIG00X2NvdW50KCQxKSkpXSldKQotCi1tNF9kZWZpbmUoW19tNF9saXN0X3BhZF0sCi1bbTRf
aWYobTRfZXZhbCgkMSA8ICQyKSwgWzFdLAotICAgICAgIFtfbTRfZm9yKG00X2luY3IoWyQxXSks
IFskMl0sIFsxXSwgWywwKl0pXSldKQotCi1tNF9kZWZpbmUoW19tNF9saXN0X2NtcF0sCi1bbTRf
cHVzaGRlZihbX200X2NtcF0sIFttNF9pZihdX200X2ZvcigKLSAgIFsxXSwgbTRfZXZhbChbJCMg
Pj4gMV0pLCBbMV0sIFskMF8oXSwgWyxdbTRfZXZhbChbJCMgPj4gMV0pWyldKVsKLSAgICAgIFsw
XV9tNF9wb3BkZWYoW19tNF9jbXBdKSldKV9tNF9jbXAoJEApXSkKLQotbTRfZGVmaW5lKFtfbTRf
bGlzdF9jbXBfXSwKLVskMF8oWyQxXSwgbTRfZXZhbChbJDEgKyAkMl0pKV0pCi0KLW00X2RlZmlu
ZShbX200X2xpc3RfY21wX19dLAotW1ttNF9ldmFsKFsoJCQxKSAhPSAoJCQyKV0pLCBbMV0sIFtt
NF9jbXAoWyQkMV0sIFskJDJdKV0sCi1dXSkKLQotIyBtNF9tYXgoRVhQUiwgLi4uKQotIyBtNF9t
aW4oRVhQUiwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLQotIyBSZXR1cm4gdGhlIGRlY2ltYWwg
dmFsdWUgb2YgdGhlIG1heGltdW0gKG9yIG1pbmltdW0pIGluIGEgc2VyaWVzIG9mCi0jIGludGVn
ZXIgZXhwcmVzc2lvbnMuCi0jCi0jIF9tNF9mb3JlYWNoIHRvIHRoZSByZXNjdWU7IHdlIG9ubHkg
bmVlZCB0byByZXBsYWNlIF9tNF9taW5tYXguICBIZXJlLAotIyB3ZSBuZWVkIGEgdGVtcG9yYXJ5
IG1hY3JvIHRvIHRyYWNrIHRoZSBiZXN0IGFuc3dlciBzbyBmYXIsIHNvIHRoYXQKLSMgdGhlIGZv
cmVhY2ggZXhwcmVzc2lvbiBpcyB0cmFjdGFibGUuCi1tNF9kZWZpbmUoW19tNF9taW5tYXhdLAot
W200X3B1c2hkZWYoW19tNF9iZXN0XSwgbTRfZXZhbChbJDJdKSlfbTRfZm9yZWFjaCgKLSAgW200
X2RlZmluZShbX200X2Jlc3RdLCAkMShfbTRfYmVzdCxdLCBbKSldLCBtNF9zaGlmdCgkQCkpXWRu
bAotW19tNF9iZXN0W11fbTRfcG9wZGVmKFtfbTRfYmVzdF0pXSkKLQotIyBtNF9zZXRfYWRkX2Fs
bChTRVQsIFZBTFVFLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBBZGQg
ZWFjaCBWQUxVRSBpbnRvIFNFVC4gIFRoaXMgaXMgTyhuKSBpbiB0aGUgbnVtYmVyIG9mIFZBTFVF
cywgYW5kCi0jIGNhbiBiZSBmYXN0ZXIgdGhhbiBjYWxsaW5nIG00X3NldF9hZGQgZm9yIGVhY2gg
VkFMVUUuCi0jCi0jIF9tNF9mb3JlYWNoIHRvIHRoZSByZXNjdWUuICBJZiBubyBkZWxldGlvbnMg
aGF2ZSBvY2N1cnJlZCwgdGhlbgotIyBhdm9pZCB0aGUgc3BlZWQgcGVuYWx0eSBvZiBtNF9zZXRf
YWRkLgotbTRfZGVmaW5lKFttNF9zZXRfYWRkX2FsbF0sCi1bbTRfaWYoWyQjXSwgWzBdLCBbXSwg
WyQjXSwgWzFdLCBbXSwKLSAgICAgICBbbTRfZGVmaW5lKFtfbTRfc2V0X3NpemUoJDEpXSwgbTRf
ZXZhbChtNF9zZXRfc2l6ZShbJDFdKQotCSAgKyBtNF9sZW4oX200X2ZvcmVhY2gobTRfaWZkZWYo
W19tNF9zZXRfY2xlYW51cCgkMSldLAotICBbW200X3NldF9hZGRdXSwgW1tfJDBdXSlbKFskMV0s
XSwgWyldLCAkQCkpKSldKV0pCi0KLW00X2RlZmluZShbX200X3NldF9hZGRfYWxsXSwKLVttNF9p
ZmRlZihbX200X3NldChbJDFdLCQyKV0sIFtdLAotCSAgW200X2RlZmluZShbX200X3NldChbJDFd
LCQyKV0sCi0JCSAgICAgWzFdKW00X3B1c2hkZWYoW19tNF9zZXQoWyQxXSldLCBbJDJdKS1dKV0p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3Ro
aXJkX3BhcnR5L200c3VnYXIvbTRzdWdhci5tNCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rv
b2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9tNHN1Z2FyLm00CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiYmQ2OTU4MzZhMjdkOWFiMDU5OGMzNGM2NDczOTU1ZWU2OWY5
MDg0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9t
NHN1Z2FyLm00CisrKyAvZGV2L251bGwKQEAgLTEsMzMwOCArMCwwIEBACi1kaXZlcnQoLTEpIyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9j
b25mIC0qLQotIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBBdXRvY29uZi4KLSMgQmFzZSBNNCBsYXll
ci4KLSMgUmVxdWlyZXMgR05VIE00LgotIwotIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAxNyBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLQotIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBBdXRv
Y29uZi4gIFRoaXMgcHJvZ3JhbSBpcyBmcmVlCi0jIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQotIyB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQotIyBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0jIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlCi0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0j
IFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJlIGdyYW50ZWQgYWRkaXRp
b25hbAotIyBwZXJtaXNzaW9ucyBkZXNjcmliZWQgaW4gdGhlIEF1dG9jb25mIENvbmZpZ3VyZSBT
Y3JpcHQgRXhjZXB0aW9uLAotIyB2ZXJzaW9uIDMuMCwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24uCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFuZCBhIGNvcHkgb2YgdGhl
IEF1dG9jb25mIENvbmZpZ3VyZSBTY3JpcHQgRXhjZXB0aW9uIGFsb25nIHdpdGgKLSMgdGhpcyBw
cm9ncmFtOyBzZWUgdGhlIGZpbGVzIENPUFlJTkd2MyBhbmQgQ09QWUlORy5FWENFUFRJT04KLSMg
cmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv
Pi4KLQotIyBXcml0dGVuIGJ5IEFraW0gRGVtYWlsbGUuCi0KLSMgU2V0IHRoZSBxdW90ZXMsIHdo
YXRldmVyIHRoZSBjdXJyZW50IHF1b3Rpbmcgc3lzdGVtLgotY2hhbmdlcXVvdGUoKQotY2hhbmdl
cXVvdGUoWywgXSkKLQotIyBTb21lIG9sZCBtNCdzIGRvbid0IHN1cHBvcnQgbTRleGl0LiAgQnV0
IHRoZXkgcHJvdmlkZQotIyBlcXVpdmFsZW50IGZ1bmN0aW9uYWxpdHkgYnkgY29yZSBkdW1waW5n
IGJlY2F1c2Ugb2YgdGhlCi0jIGxvbmcgbWFjcm9zIHdlIGRlZmluZS4KLWlmZGVmKFtfX2dudV9f
XSwgLAotW2VycnByaW50KE00c3VnYXIgcmVxdWlyZXMgR05VIE00LiBJbnN0YWxsIGl0IGJlZm9y
ZSBpbnN0YWxsaW5nIE00c3VnYXIgb3IKLXNldCB0aGUgTTQgZW52aXJvbm1lbnQgdmFyaWFibGUg
dG8gaXRzIGFic29sdXRlIGZpbGUgbmFtZS4pCi1tNGV4aXQoMildKQotCi0KLSMjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIDEuIFNpbXVsYXRlIC0tcHJlZml4LWJ1aWx0
aW5zLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBtNF9k
ZWZpbmUKLSMgbTRfZGVmbgotIyBtNF91bmRlZmluZQotZGVmaW5lKFttNF9kZWZpbmVdLCAgIGRl
Zm4oW2RlZmluZV0pKQotZGVmaW5lKFttNF9kZWZuXSwgICAgIGRlZm4oW2RlZm5dKSkKLWRlZmlu
ZShbbTRfdW5kZWZpbmVdLCBkZWZuKFt1bmRlZmluZV0pKQotCi1tNF91bmRlZmluZShbZGVmaW5l
XSkKLW00X3VuZGVmaW5lKFtkZWZuXSkKLW00X3VuZGVmaW5lKFt1bmRlZmluZV0pCi0KLQotIyBt
NF9jb3B5KFNSQywgRFNUKQotIyAtLS0tLS0tLS0tLS0tLS0tLQotIyBEZWZpbmUgRFNUIGFzIHRo
ZSBkZWZpbml0aW9uIG9mIFNSQy4KLSMgV2hhdCdzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW46Ci0j
IDEuIG00X2NvcHkoW2Zyb21dLCBbdG9dKQotIyAyLiBtNF9kZWZpbmUoW3RvXSwgW2Zyb20oJEAp
XSkKLSMgV2VsbCwgb2J2aW91c2x5IDEgaXMgbW9yZSBleHBlbnNpdmUgaW4gc3BhY2UuICBNYXli
ZSAyIGlzIG1vcmUgZXhwZW5zaXZlCi0jIGluIHRpbWUsIGJ1dCBiZWNhdXNlIG9mIHRoZSBzcGFj
ZSBjb3N0IG9mIDEsIGl0J3Mgbm90IHRoYXQgb2J2aW91cy4KLSMgTmV2ZXJ0aGVsZXNzLCBvbmUg
aHVnZSBkaWZmZXJlbmNlIGlzIHRoZSBoYW5kbGluZyBvZiBgJDAnLiAgSWYgYGZyb20nCi0jIHVz
ZXMgYCQwJywgdGhlbiB3aXRoIDEsIGB0bycncyBgJDAnIGlzIGB0bycsIHdoaWxlIGl0IGlzIGBm
cm9tJyBpbiAyLgotIyBUaGUgdXNlciB3b3VsZCBjZXJ0YWlubHkgcHJlZmVyIHRvIHNlZSBgdG8n
LgotIwotIyBUaGlzIGRlZmluaXRpb24gaXMgaW4gZWZmZWN0IGR1cmluZyBtNHN1Z2FyIGluaXRp
YWxpemF0aW9uLCB3aGVuCi0jIHRoZXJlIGFyZSBubyBwdXNoZGVmIHN0YWNrczsgbGF0ZXIgb24s
IHdlIHJlZGVmaW5lIGl0IHRvIHNvbWV0aGluZwotIyBtb3JlIHBvd2VyZnVsIGZvciBhbGwgb3Ro
ZXIgY2xpZW50cyB0byB1c2UuCi1tNF9kZWZpbmUoW200X2NvcHldLAotW200X2RlZmluZShbJDJd
LCBtNF9kZWZuKFskMV0pKV0pCi0KLQotIyBtNF9yZW5hbWUoU1JDLCBEU1QpCi0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgUmVuYW1lIHRoZSBtYWNybyBTUkMgdG8gRFNULgotbTRfZGVmaW5lKFtt
NF9yZW5hbWVdLAotW200X2NvcHkoWyQxXSwgWyQyXSltNF91bmRlZmluZShbJDFdKV0pCi0KLQot
IyBtNF9yZW5hbWVfbTQoTUFDUk8tTkFNRSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IFJlbmFtZSBNQUNSTy1OQU1FIHRvIG00X01BQ1JPLU5BTUUuCi1tNF9kZWZpbmUoW200X3JlbmFt
ZV9tNF0sCi1bbTRfcmVuYW1lKFskMV0sIFttNF8kMV0pXSkKLQotCi0jIG00X2NvcHlfdW5tNCht
NF9NQUNSTy1OQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQ29weSBtNF9N
QUNSTy1OQU1FIHRvIE1BQ1JPLU5BTUUuCi1tNF9kZWZpbmUoW200X2NvcHlfdW5tNF0sCi1bbTRf
Y29weShbJDFdLCBtNF9icGF0c3Vic3QoWyQxXSwgW15tNF9cKC4qXCldLCBbW1wxXV0pKV0pCi0K
LQotIyBTb21lIG00IGludGVybmFscyBoYXZlIG5hbWVzIGNvbGxpZGluZyB3aXRoIHRva2VucyB3
ZSBtaWdodCB1c2UuCi0jIFJlbmFtZSB0aGVtIGFgIGxhIGBtNCAtLXByZWZpeC1idWlsdGlucycu
ICBDb25kaXRpb25hbHMgZmlyc3QsIHNpbmNlCi0jIHNvbWUgc3Vic2VxdWVudCByZW5hbWVzIGFy
ZSBjb25kaXRpb25hbC4KLW00X3JlbmFtZV9tNChbaWZkZWZdKQotbTRfcmVuYW1lKFtpZmVsc2Vd
LCBbbTRfaWZdKQotCi1tNF9yZW5hbWVfbTQoW2J1aWx0aW5dKQotbTRfcmVuYW1lX200KFtjaGFu
Z2Vjb21dKQotbTRfcmVuYW1lX200KFtjaGFuZ2VxdW90ZV0pCi1tNF9pZmRlZihbY2hhbmdld29y
ZF0sZG5sIGNvbmRpdGlvbmFsbHkgYXZhaWxhYmxlIGluIDEuNC54Ci1bbTRfdW5kZWZpbmUoW2No
YW5nZXdvcmRdKV0pCi1tNF9yZW5hbWVfbTQoW2RlYnVnZmlsZV0pCi1tNF9yZW5hbWVfbTQoW2Rl
YnVnbW9kZV0pCi1tNF9yZW5hbWVfbTQoW2RlY3JdKQotbTRfcmVuYW1lX200KFtkaXZudW1dKQot
bTRfcmVuYW1lX200KFtkdW1wZGVmXSkKLW00X3JlbmFtZV9tNChbZXJycHJpbnRdKQotbTRfcmVu
YW1lX200KFtlc3lzY21kXSkKLW00X3JlbmFtZV9tNChbZXZhbF0pCi1tNF9yZW5hbWVfbTQoW2Zv
cm1hdF0pCi1tNF91bmRlZmluZShbaW5jbHVkZV0pCi1tNF9yZW5hbWVfbTQoW2luY3JdKQotbTRf
cmVuYW1lX200KFtpbmRleF0pCi1tNF9yZW5hbWVfbTQoW2luZGlyXSkKLW00X3JlbmFtZV9tNChb
bGVuXSkKLW00X3JlbmFtZShbbTRleGl0XSwgW200X2V4aXRdKQotbTRfdW5kZWZpbmUoW200d3Jh
cF0pCi1tNF9pZmRlZihbbWtzdGVtcF0sZG5sIGFkZGVkIGluIE00IDEuNC44Ci1bbTRfcmVuYW1l
X200KFtta3N0ZW1wXSkKLW00X2NvcHkoW200X21rc3RlbXBdLCBbbTRfbWFrZXRlbXBdKQotbTRf
dW5kZWZpbmUoW21ha2V0ZW1wXSldLAotW200X3JlbmFtZV9tNChbbWFrZXRlbXBdKQotbTRfY29w
eShbbTRfbWFrZXRlbXBdLCBbbTRfbWtzdGVtcF0pXSkKLW00X3JlbmFtZShbcGF0c3Vic3RdLCBb
bTRfYnBhdHN1YnN0XSkKLW00X3JlbmFtZV9tNChbcG9wZGVmXSkKLW00X3JlbmFtZV9tNChbcHVz
aGRlZl0pCi1tNF9yZW5hbWUoW3JlZ2V4cF0sIFttNF9icmVnZXhwXSkKLW00X3JlbmFtZV9tNChb
c2hpZnRdKQotbTRfdW5kZWZpbmUoW3NpbmNsdWRlXSkKLW00X3JlbmFtZV9tNChbc3Vic3RyXSkK
LW00X2lmZGVmKFtzeW1ib2xzXSxkbmwgcHJlc2VudCBvbmx5IGluIGFscGhhLXF1YWxpdHkgMS40
bwotW200X3JlbmFtZV9tNChbc3ltYm9sc10pXSkKLW00X3JlbmFtZV9tNChbc3lzY21kXSkKLW00
X3JlbmFtZV9tNChbc3lzdmFsXSkKLW00X3JlbmFtZV9tNChbdHJhY2VvZmZdKQotbTRfcmVuYW1l
X200KFt0cmFjZW9uXSkKLW00X3JlbmFtZV9tNChbdHJhbnNsaXRdKQotCi0jIF9tNF9kZWZuKEFS
RykKLSMgLS0tLS0tLS0tLS0tLQotIyBfbTRfZGVmbiBpcyBmb3IgaW50ZXJuYWwgdXNlIG9ubHkg
LSBpdCBieXBhc3NlcyB0aGUgd3JhcHBlciwgc28gaXQKLSMgbXVzdCBvbmx5IGJlIHVzZWQgb24g
b25lIGFyZ3VtZW50IGF0IGEgdGltZSwgYW5kIG9ubHkgb24gbWFjcm9zCi0jIGtub3duIHRvIGJl
IGRlZmluZWQuICBNYWtlIHN1cmUgdGhpcyBzdGlsbCB3b3JrcyBpZiB0aGUgdXNlciByZW5hbWVz
Ci0jIG00X2RlZm4gYnV0IG5vdCBfbTRfZGVmbi4KLW00X2NvcHkoW200X2RlZm5dLCBbX200X2Rl
Zm5dKQotCi0jIF9tNF9kaXZlcnRfcmF3KE5VTSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBf
bTRfZGl2ZXJ0X3JhdyBpcyBmb3IgaW50ZXJuYWwgdXNlIG9ubHkuICBVc2UgdGhpcyBpbnN0ZWFk
IG9mCi0jIG00X2J1aWx0aW4oW2RpdmVydF0sIE5VTSksIHNvIHRoYXQgdHJhY2luZyBkaXZlcnNp
b24gZmxvdyBpcyBlYXNpZXIuCi1tNF9yZW5hbWUoW2RpdmVydF0sIFtfbTRfZGl2ZXJ0X3Jhd10p
Ci0KLSMgX200X3BvcGRlZihBUkcuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLQotIyBfbTRfcG9w
ZGVmIGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seSAtIGl0IGJ5cGFzc2VzIHRoZSB3cmFwcGVyLCBz
byBpdAotIyBtdXN0IG9ubHkgYmUgdXNlZCBvbiBtYWNyb3Mga25vd24gdG8gYmUgZGVmaW5lZC4g
IE1ha2Ugc3VyZSB0aGlzCi0jIHN0aWxsIHdvcmtzIGlmIHRoZSB1c2VyIHJlbmFtZXMgbTRfcG9w
ZGVmIGJ1dCBub3QgX200X3BvcGRlZi4KLW00X2NvcHkoW200X3BvcGRlZl0sIFtfbTRfcG9wZGVm
XSkKLQotIyBfbTRfdW5kZWZpbmUoQVJHLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBf
bTRfdW5kZWZpbmUgaXMgZm9yIGludGVybmFsIHVzZSBvbmx5IC0gaXQgYnlwYXNzZXMgdGhlIHdy
YXBwZXIsIHNvCi0jIGl0IG11c3Qgb25seSBiZSB1c2VkIG9uIG1hY3JvcyBrbm93biB0byBiZSBk
ZWZpbmVkLiAgTWFrZSBzdXJlIHRoaXMKLSMgc3RpbGwgd29ya3MgaWYgdGhlIHVzZXIgcmVuYW1l
cyBtNF91bmRlZmluZSBidXQgbm90IF9tNF91bmRlZmluZS4KLW00X2NvcHkoW200X3VuZGVmaW5l
XSwgW19tNF91bmRlZmluZV0pCi0KLSMgX200X3VuZGl2ZXJ0KE5VTS4uLikKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgX200X3VuZGl2ZXJ0IGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seSwgYW5k
IHNob3VsZCBhbHdheXMgYmUgZ2l2ZW4KLSMgYXJndW1lbnRzLiAgVXNlIHRoaXMgaW5zdGVhZCBv
ZiBtNF9idWlsdGluKFt1bmRpdmVydF0sIE5VTS4uLiksIHNvCi0jIHRoYXQgdHJhY2luZyBkaXZl
cnNpb24gZmxvdyBpcyBlYXNpZXIuCi1tNF9yZW5hbWUoW3VuZGl2ZXJ0XSwgW19tNF91bmRpdmVy
dF0pCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgMi4gRXJyb3IgbWVzc2FnZXMu
ICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0KLSMgbTRfbG9jYXRpb24KLSMgLS0t
LS0tLS0tLS0KLSMgT3V0cHV0IHRoZSBjdXJyZW50IGZpbGUsIGNvbG9uLCBhbmQgdGhlIGN1cnJl
bnQgbGluZSBudW1iZXIuCi1tNF9kZWZpbmUoW200X2xvY2F0aW9uXSwKLVtfX2ZpbGVfXzpfX2xp
bmVfX10pCi0KLQotIyBtNF9lcnJwcmludG4oTVNHKQotIyAtLS0tLS0tLS0tLS0tLS0tLQotIyBT
YW1lIGFzIGBlcnJwcmludCcsIGJ1dCB3aXRoIHRoZSBtaXNzaW5nIGVuZCBvZiBsaW5lLgotbTRf
ZGVmaW5lKFttNF9lcnJwcmludG5dLAotW200X2VycnByaW50KFskMQotXSldKQotCi0KLSMgbTRf
d2FybmluZyhNU0cpCi0jIC0tLS0tLS0tLS0tLS0tLQotIyBXYXJuIHRoZSB1c2VyLgotbTRfZGVm
aW5lKFttNF93YXJuaW5nXSwKLVttNF9lcnJwcmludG4obTRfbG9jYXRpb25bOiB3YXJuaW5nOiAk
MV0pXSkKLQotCi0jIG00X2ZhdGFsKE1TRywgW0VYSVQtU1RBVFVTXSkKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotIyBGYXRhbCB0aGUgdXNlci4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6KQotbTRfZGVmaW5lKFttNF9mYXRhbF0s
Ci1bbTRfZXJycHJpbnRuKG00X2xvY2F0aW9uWzogZXJyb3I6ICQxXQotbTRfZXhwYW5zaW9uX3N0
YWNrKW00X2V4aXQobTRfaWYoWyQyXSwsIDEsIFskMl0pKV0pCi0KLQotIyBtNF9hc3NlcnQoRVhQ
UkVTU0lPTiwgW0VYSVQtU1RBVFVTID0gMV0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLSMgVGhpcyBtYWNybyBlbnN1cmVzIHRoYXQgRVhQUkVTU0lPTiBldmFs
dWF0ZXMgdG8gdHJ1ZSwgYW5kIGV4aXRzIGlmCi0jIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIGZh
bHNlLgotbTRfZGVmaW5lKFttNF9hc3NlcnRdLAotW200X2lmKG00X2V2YWwoWyQxXSksIDAsCi0g
ICAgICAgW200X2ZhdGFsKFthc3NlcnQgZmFpbGVkOiAkMV0sIFskMl0pXSldKQotCi0KLQotIyMg
LS0tLS0tLS0tLS0tLSAjIwotIyMgMy4gV2FybmluZ3MuICAjIwotIyMgLS0tLS0tLS0tLS0tLSAj
IwotCi0KLSMgX200X3dhcm4oQ0FURUdPUlksIE1FU1NBR0UsIFtTVEFDSy1UUkFDRV0pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSZXBvcnQgYSBNRVNT
QUdFIHRvIHRoZSB1c2VyIGlmIHRoZSBDQVRFR09SWSBvZiB3YXJuaW5ncyBpcyBlbmFibGVkLgot
IyBUaGlzIGlzIGZvciB0cmFjZXMgb25seS4KLSMgSWYgcHJlc2VudCwgU1RBQ0stVFJBQ0UgaXMg
YSBcbi1zZXBhcmF0ZWQgbGlzdCBvZiAiTE9DQVRJT046IE1FU1NBR0UiLAotIyB3aGVyZSB0aGUg
bGFzdCBsaW5lIChhbmQgbm8gb3RoZXIpIGVuZHMgd2l0aCAidGhlIHRvcCBsZXZlbCIuCi0jCi0j
IFdpdGhpbiBtNCwgdGhlIG1hY3JvIGlzIGEgbm8tb3AuICBUaGlzIG1hY3JvIHJlYWxseSBtYXR0
ZXJzCi0jIHdoZW4gYXV0b200dGUgcG9zdC1wcm9jZXNzZXMgdGhlIHRyYWNlIG91dHB1dC4KLW00
X2RlZmluZShbX200X3dhcm5dLCBbXSkKLQotCi0jIG00X3dhcm4oQ0FURUdPUlksIE1FU1NBR0Up
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFJlcG9ydCBhIE1FU1NBR0UgdG8gdGhl
IHVzZXIgaWYgdGhlIENBVEVHT1JZIG9mIHdhcm5pbmdzIGlzIGVuYWJsZWQuCi1tNF9kZWZpbmUo
W200X3dhcm5dLAotW19tNF93YXJuKFskMV0sIFskMl0sCi1tNF9pZmRlZihbX200X2V4cGFuc2lv
bl9zdGFja10sIFttNF9leHBhbnNpb25fc3RhY2tdKSldKQotCi0KLQotIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLSAjIwotIyMgNC4gRmlsZSBpbmNsdXNpb24uICAjIwotIyMgLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIwotCi0KLSMgV2UgYWxzbyB3YW50IHRvIG5ldXRyYWxpemUgaW5jbHVkZSAoYW5kIHNp
bmNsdWRlIGZvciBzeW1tZXRyeSksCi0jIGJ1dCB3ZSB3YW50IHRvIGV4dGVuZCB0aGVtIHNsaWdo
dGx5OiB3YXJuIHdoZW4gYSBmaWxlIGlzIGluY2x1ZGVkCi0jIHNldmVyYWwgdGltZXMuICBUaGlz
IGlzLCBpbiBnZW5lcmFsLCBhIGRhbmdlcm91cyBvcGVyYXRpb24sIGJlY2F1c2UKLSMgdG9vIG1h
bnkgcGVvcGxlIGZvcmdldCB0byBxdW90ZSB0aGUgZmlyc3QgYXJndW1lbnQgb2YgbTRfZGVmaW5l
LgotIwotIyBGb3IgaW5zdGFuY2UgaW4gdGhlIGZvbGxvd2luZyBjYXNlOgotIyAgIG00X2RlZmlu
ZShmb28sIFtiYXJdKQotIyB0aGVuIGEgc2Vjb25kIHJlYWRpbmcgd2lsbCB0dXJuIGludG8KLSMg
ICBtNF9kZWZpbmUoYmFyLCBbYmFyXSkKLSMgd2hpY2ggaXMgY2VydGFpbmx5IG5vdCB3aGF0IHdh
cyBtZWFudC4KLQotIyBtNF9pbmNsdWRlX3VuaXF1ZShGSUxFKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBEZWNsYXJlIHRoYXQgdGhlIEZJTEUgd2FzIGxvYWRpbmc7IGFuZCB3YXJuIGlm
IGl0IGhhcyBhbHJlYWR5Ci0jIGJlZW4gaW5jbHVkZWQuCi1tNF9kZWZpbmUoW200X2luY2x1ZGVf
dW5pcXVlXSwKLVttNF9pZmRlZihbbTRfaW5jbHVkZSgkMSldLAotCSAgW200X3dhcm4oW3N5bnRh
eF0sIFtmaWxlIGAkMScgaW5jbHVkZWQgc2V2ZXJhbCB0aW1lc10pXSlkbmwKLW00X2RlZmluZShb
bTRfaW5jbHVkZSgkMSldKV0pCi0KLQotIyBtNF9pbmNsdWRlKEZJTEUpCi0jIC0tLS0tLS0tLS0t
LS0tLS0KLSMgTGlrZSB0aGUgYnVpbHRpbiBpbmNsdWRlLCBidXQgd2FybnMgYWdhaW5zdCBtdWx0
aXBsZSBpbmNsdXNpb25zLgotbTRfZGVmaW5lKFttNF9pbmNsdWRlXSwKLVttNF9pbmNsdWRlX3Vu
aXF1ZShbJDFdKWRubAotbTRfYnVpbHRpbihbaW5jbHVkZV0sIFskMV0pXSkKLQotCi0jIG00X3Np
bmNsdWRlKEZJTEUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0jIExpa2UgdGhlIGJ1aWx0aW4gc2lu
Y2x1ZGUsIGJ1dCB3YXJucyBhZ2FpbnN0IG11bHRpcGxlIGluY2x1c2lvbnMuCi1tNF9kZWZpbmUo
W200X3NpbmNsdWRlXSwKLVttNF9pbmNsdWRlX3VuaXF1ZShbJDFdKWRubAotbTRfYnVpbHRpbihb
c2luY2x1ZGVdLCBbJDFdKV0pCi0KLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gIyMKLSMjIDUuIEFkZGl0aW9uYWwgYnJhbmNoaW5nIGNvbnN0cnVjdHMuICAjIwot
IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLSMgQm90aCBgbTRf
aWZ2YWwnIGFuZCBgbTRfaWZzZXQnIHRlc3RzIGFnYWluc3QgdGhlIGVtcHR5IHN0cmluZy4gIFRo
ZQotIyBkaWZmZXJlbmNlIGlzIHRoYXQgYG00X2lmc2V0JyBpcyBzcGVjaWFsaXplZCBvbiBtYWNy
b3MuCi0jCi0jIEluIGNhc2Ugb2YgYXJndW1lbnRzIG9mIG1hY3JvcywgZWcuICQxLCBpdCBtYWtl
cyBsaXR0bGUgZGlmZmVyZW5jZS4KLSMgSW4gdGhlIGNhc2Ugb2YgYSBtYWNybyBgRk9PJywgeW91
IGRvbid0IHdhbnQgdG8gY2hlY2sgYG00X2lmdmFsKEZPTywKLSMgVFJVRSknLCBiZWNhdXNlIGlm
IGBGT08nIGV4cGFuZHMgd2l0aCBjb21tYXMsIHRoZXJlIGlzIGEgc2hpZnRpbmcgb2YKLSMgdGhl
IGFyZ3VtZW50cy4gIFNvIHlvdSB3YW50IHRvIHJ1biBgbTRfaWZ2YWwoW0ZPT10pJywgYnV0IHRo
ZW4geW91IGp1c3QKLSMgY29tcGFyZSB0aGUgKnN0cmluZyogYEZPTycgYWdhaW5zdCBgJywgd2hp
Y2gsIG9mIGNvdXJzZSBmYWlscy4KLSMKLSMgU28geW91IHdhbnQgdGhlIHZhcmlhdGlvbiBgbTRf
aWZzZXQnIHRoYXQgZXhwZWN0cyBhIG1hY3JvIG5hbWUgYXMgJDEuCi0jIElmIHRoaXMgbWFjcm8g
aXMgYm90aCBkZWZpbmVkIGFuZCBkZWZpbmVkIHRvIGEgbm9uIGVtcHR5IHZhbHVlLCB0aGVuCi0j
IGl0IHJ1bnMgVFJVRSwgZXRjLgotCi0KLSMgbTRfaWZibGFuayhDT05ELCBbSUYtQkxBTktdLCBb
SUYtVEVYVF0pCi0jIG00X2lmbmJsYW5rKENPTkQsIFtJRi1URVhUXSwgW0lGLUJMQU5LXSkKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBDT05EIGlzIGVt
cHR5LCBvciBjb25zaXN0cyBvbmx5IG9mIGJsYW5rcyAoc3BhY2UsIHRhYiwgbmV3bGluZSksCi0j
IHRoZW4gZXhwYW5kIElGLUJMQU5LLCBvdGhlcndpc2UgZXhwYW5kIElGLVRFWFQuICBUaGlzIGRp
ZmZlcnMgZnJvbQotIyBtNF9pZnZhbCBvbmx5IGlmIENPTkQgaGFzIGp1c3Qgd2hpdGVzcGFjZSwg
YnV0IGl0IGhlbHBzIG9wdGltaXplIGluCi0jIHNwaXRlIG9mIHVzZXJzIHdobyBtaXN0YWtlbmx5
IGxlYXZlIHRyYWlsaW5nIHNwYWNlIGFmdGVyIHdoYXQgdGhleQotIyB0aG91Z2h0IHdhcyBhbiBl
bXB0eSBhcmd1bWVudDoKLSMgICBtYWNybygKLSMgICAgICAgICBbXQotIyAgICAgICAgKQotIwot
IyBXcml0aW5nIG9uZSBtYWNybyBpbiB0ZXJtcyBvZiB0aGUgb3RoZXIgY2F1c2VzIGV4dHJhIG92
ZXJoZWFkLCBzbwotIyB3ZSBpbmxpbmUgYm90aCBkZWZpbml0aW9ucy4KLW00X2RlZmluZShbbTRf
aWZibGFua10sCi1bbTRfaWYobTRfdHJhbnNsaXQoW1skMV1dLCAgWyBdWwldWwotXSksIFtdLCBb
JDJdLCBbJDNdKV0pCi0KLW00X2RlZmluZShbbTRfaWZuYmxhbmtdLAotW200X2lmKG00X3RyYW5z
bGl0KFtbJDFdXSwgIFsgXVsJXVsKLV0pLCBbXSwgWyQzXSwgWyQyXSldKQotCi0KLSMgbTRfaWZ2
YWwoQ09ORCwgW0lGLVRSVUVdLCBbSUYtRkFMU0VdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIElmIENPTkQgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcsIGV4cGFu
ZCBJRi1UUlVFLCBvdGhlcndpc2UgSUYtRkFMU0UuCi0jIENvbXBhcmFibGUgdG8gbTRfaWZkZWYu
Ci1tNF9kZWZpbmUoW200X2lmdmFsXSwKLVttNF9pZihbJDFdLCBbXSwgWyQzXSwgWyQyXSldKQot
Ci0KLSMgbTRfbihURVhUKQotIyAtLS0tLS0tLS0tCi0jIElmIFRFWFQgaXMgbm90IGVtcHR5LCBy
ZXR1cm4gVEVYVCBhbmQgYSBuZXcgbGluZSwgb3RoZXJ3aXNlIG5vdGhpbmcuCi1tNF9kZWZpbmUo
W200X25dLAotW200X2lmKFskMV0sCi0gICAgICAgW10sIFtdLAotCSAgIFskMQotXSldKQotCi0K
LSMgbTRfaWZ2YWxuKENPTkQsIFtJRi1UUlVFXSwgW0lGLUZBTFNFXSkKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgU2FtZSBhcyBgbTRfaWZ2YWwnLCBidXQgYWRk
IGFuIGV4dHJhIG5ld2xpbmUgdG8gSUYtVFJVRSBvciBJRi1GQUxTRQotIyB1bmxlc3MgdGhhdCBh
cmd1bWVudCBpcyBlbXB0eS4KLW00X2RlZmluZShbbTRfaWZ2YWxuXSwKLVttNF9pZihbJDFdLAot
ICAgICAgIFtdLCAgIFttNF9uKFskM10pXSwKLQkgICAgIFttNF9uKFskMl0pXSldKQotCi0KLSMg
bTRfaWZzZXQoTUFDUk8sIFtJRi1UUlVFXSwgW0lGLUZBTFNFXSkKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgTUFDUk8gaGFzIG5vIGRlZmluaXRpb24sIG9y
IG9mIGl0cyBkZWZpbml0aW9uIGlzIHRoZSBlbXB0eSBzdHJpbmcsCi0jIGV4cGFuZCBJRi1GQUxT
RSwgb3RoZXJ3aXNlIElGLVRSVUUuCi1tNF9kZWZpbmUoW200X2lmc2V0XSwKLVttNF9pZmRlZihb
JDFdLAotCSAgW200X2lmdmFsKF9tNF9kZWZuKFskMV0pLCBbJDJdLCBbJDNdKV0sCi0JICBbJDNd
KV0pCi0KLQotIyBtNF9pZm5kZWYoTkFNRSwgW0lGLU5PVC1ERUZJTkVEXSwgW0lGLURFRklORURd
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotbTRf
ZGVmaW5lKFttNF9pZm5kZWZdLAotW200X2lmZGVmKFskMV0sIFskM10sIFskMl0pXSkKLQotCi0j
IG00X2Nhc2UoU1dJVENILCBWQUwxLCBJRi1WQUwxLCBWQUwyLCBJRi1WQUwyLCAuLi4sIERFRkFV
TFQpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0jIG00IGVxdWl2YWxlbnQgb2YKLSMgc3dpdGNoIChTV0lUQ0gpCi0jIHsKLSMg
ICBjYXNlIFZBTDE6Ci0jICAgICBJRi1WQUwxOwotIyAgICAgYnJlYWs7Ci0jICAgY2FzZSBWQUwy
OgotIyAgICAgSUYtVkFMMjsKLSMgICAgIGJyZWFrOwotIyAgIC4uLgotIyAgIGRlZmF1bHQ6Ci0j
ICAgICBERUZBVUxUOwotIyAgICAgYnJlYWs7Ci0jIH0uCi0jIEFsbCB0aGUgdmFsdWVzIGFyZSBv
cHRpb25hbCwgYW5kIHRoZSBtYWNybyBpcyByb2J1c3QgdG8gYWN0aXZlCi0jIHN5bWJvbHMgcHJv
cGVybHkgcXVvdGVkLgotIwotIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBh
bnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgotbTRfZGVmaW5lKFttNF9jYXNlXSwKLVttNF9pZihb
JCNdLCAwLCBbXSwKLSAgICAgICBbJCNdLCAxLCBbXSwKLSAgICAgICBbJCNdLCAyLCBbJDJdLAot
ICAgICAgIFskMV0sIFskMl0sIFskM10sCi0gICAgICAgWyQwKFskMV0sIG00X3NoaWZ0MygkQCkp
XSldKQotCi0KLSMgbTRfYm1hdGNoKFNXSVRDSCwgUkUxLCBWQUwxLCBSRTIsIFZBTDIsIC4uLiwg
REVGQVVMVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLSMgbTQgZXF1aXZhbGVudCBvZgotIwotIyBpZiAoU1dJVENIID1+IFJFMSkKLSMg
ICBWQUwxOwotIyBlbGlmIChTV0lUQ0ggPX4gUkUyKQotIyAgIFZBTDI7Ci0jIGVsaWYgLi4uCi0j
ICAgLi4uCi0jIGVsc2UKLSMgICBERUZBVUxUCi0jCi0jIEFsbCB0aGUgdmFsdWVzIGFyZSBvcHRp
b25hbCwgYW5kIHRoZSBtYWNybyBpcyByb2J1c3QgdG8gYWN0aXZlIHN5bWJvbHMKLSMgcHJvcGVy
bHkgcXVvdGVkLgotIwotIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBhbnkg
YWRqdXN0bWVudHMgbWFkZSBoZXJlLgotbTRfZGVmaW5lKFttNF9ibWF0Y2hdLAotW200X2lmKFsk
I10sIDAsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkI10pXSwKLSAgICAgICBb
JCNdLCAxLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCM6ICQxXSldLAotICAg
ICAgIFskI10sIDIsIFskMl0sCi0gICAgICAgW200X2lmKG00X2JyZWdleHAoWyQxXSwgWyQyXSks
IC0xLCBbJDAoWyQxXSwgbTRfc2hpZnQzKCRAKSldLAotCSAgICAgIFskM10pXSldKQotCi0jIG00
X2FyZ24oTiwgQVJHUy4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeHRyYWN0IGFyZ3Vt
ZW50IE4gKGdyZWF0ZXIgdGhhbiAwKSBmcm9tIEFSR1MuICBFeGFtcGxlOgotIyAgIG00X2RlZmlu
ZShbYl0sIFtCXSkKLSMgICBtNF9hcmduKFsyXSwgW2FdLCBbYl0sIFtjXSkgPT4gYgotIwotIyBS
YXRoZXIgdGhhbiB1c2luZyBtNF9jYXIobTRfc2hpZnRuKFskMV0sICRAKSksIHdlIGV4cGxvaXQg
dGhlIGZhY3QgdGhhdAotIyBHTlUgbTQgY2FuIGRpcmVjdGx5IHJlZmVyZW5jZSBhbnkgYXJndW1l
bnQsIHRocm91Z2ggYW4gaW5kaXJlY3QgbWFjcm8uCi1tNF9kZWZpbmUoW200X2FyZ25dLAotW200
X2Fzc2VydChbMCA8ICQxXSldZG5sCi1bbTRfcHVzaGRlZihbXyQwXSwgW19tNF9wb3BkZWYoW18k
MF0pXW00X2RxdW90ZShbJF1tNF9pbmNyKFskMV0pKSlfJDAoJEApXSkKLQotCi0jIG00X2NhcihB
UkdTLi4uKQotIyBtNF9jZHIoQVJHUy4uLikKLSMgLS0tLS0tLS0tLS0tLS0tCi0jIE1hbmlwdWxh
dGUgbTQgbGlzdHMuICBtNF9jYXIgcmV0dXJucyB0aGUgZmlyc3QgYXJndW1lbnQuICBtNF9jZHIK
LSMgYnVuZGxlcyBhbGwgYnV0IHRoZSBmaXJzdCBhcmd1bWVudCBpbnRvIGEgcXVvdGVkIGxpc3Qu
ICBUaGVzZSB0d28KLSMgbWFjcm9zIGFyZSBnZW5lcmFsbHkgdXNlZCB3aXRoIGxpc3QgYXJndW1l
bnRzLCB3aXRoIHF1b3RpbmcgcmVtb3ZlZAotIyB0byBicmVhayB0aGUgbGlzdCBpbnRvIG11bHRp
cGxlIG00IEFSR1MuCi1tNF9kZWZpbmUoW200X2Nhcl0sIFtbJDFdXSkKLW00X2RlZmluZShbbTRf
Y2RyXSwKLVttNF9pZihbJCNdLCAwLCBbbTRfZmF0YWwoWyQwOiBjYW5ub3QgYmUgY2FsbGVkIHdp
dGhvdXQgYXJndW1lbnRzXSldLAotICAgICAgIFskI10sIDEsIFtdLAotICAgICAgIFttNF9kcXVv
dGUobTRfc2hpZnQoJEApKV0pXSkKLQotIyBfbTRfY2RyKEFSR1MuLi4pCi0jIC0tLS0tLS0tLS0t
LS0tLS0KLSMgTGlrZSBtNF9jZHIsIGV4Y2VwdCBpbmNsdWRlIGEgbGVhZGluZyBjb21tYSB1bmxl
c3Mgb25seSBvbmUgYXJndW1lbnQKLSMgcmVtYWlucy4gIFdoeT8gIEJlY2F1c2UgY29tcGFyaW5n
IGEgbGFyZ2UgbGlzdCBhZ2FpbnN0IFtdIGlzIG1vcmUKLSMgZXhwZW5zaXZlIGluIGV4cGFuc2lv
biB0aW1lIHRoYW4gY29tcGFyaW5nIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzOyBzbwotIyBfbTRf
Y2RyIGNhbiBiZSB1c2VkIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyB3aGVuIGl0
IGlzIHRpbWUKLSMgdG8gZW5kIHJlY3Vyc2lvbi4KLW00X2RlZmluZShbX200X2Nkcl0sCi1bbTRf
aWYoWyQjXSwgMSwgW10sCi0gICAgICAgWywgbTRfZHF1b3RlKG00X3NoaWZ0KCRAKSldKV0pCi0K
LQotCi0jIG00X2NvbmQoVEVTVDEsIFZBTDEsIElGLVZBTDEsIFRFU1QyLCBWQUwyLCBJRi1WQUwy
LCAuLi4sIFtERUZBVUxUXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTaW1pbGFyIHRvIG00X2lmLCBleGNl
cHQgdGhhdCBlYWNoIFRFU1QgaXMgZXhwYW5kZWQgd2hlbiBlbmNvdW50ZXJlZC4KLSMgSWYgdGhl
IGV4cGFuc2lvbiBvZiBURVNUbiBtYXRjaGVzIHRoZSBzdHJpbmcgVkFMbiwgdGhlIHJlc3VsdCBp
cyBJRi1WQUxuLgotIyBUaGUgcmVzdWx0IGlzIERFRkFVTFQgaWYgbm8gdGVzdHMgcGFzc2VkLiAg
VGhpcyBtYWNybyBhbGxvd3MKLSMgc2hvcnQtY2lyY3VpdGluZyBvZiBleHBlbnNpdmUgdGVzdHMs
IHdoZXJlIGl0IHBheXMgdG8gYXJyYW5nZSBxdWljawotIyBmaWx0ZXIgdGVzdHMgdG8gcnVuIGZp
cnN0LgotIwotIyBGb3IgYW4gZXhhbXBsZSwgY29uc2lkZXIgYSBwcmV2aW91cyBpbXBsZW1lbnRh
dGlvbiBvZiBfQVNfUVVPVEVfSUZFTFNFOgotIwotIyAgICBtNF9pZihtNF9pbmRleChbJDFdLCBb
XF0pLCBbLTFdLCBbJDJdLAotIyAgICAgICAgICBtNF9ldmFsKG00X2luZGV4KFskMV0sIFtcXF0p
ID49IDApLCBbMV0sIFskMl0sCi0jICAgICAgICAgIG00X2V2YWwobTRfaW5kZXgoWyQxXSwgW1wk
XSkgPj0gMCksIFsxXSwgWyQyXSwKLSMgICAgICAgICAgbTRfZXZhbChtNF9pbmRleChbJDFdLCBb
XGBdKSA+PSAwKSwgWzFdLCBbJDNdLAotIyAgICAgICAgICBtNF9ldmFsKG00X2luZGV4KFskMV0s
IFtcIl0pID49IDApLCBbMV0sIFskM10sCi0jICAgICAgICAgIFskMl0pCi0jCi0jIEhlcmUsIG00
X2luZGV4IGlzIGNvbXB1dGVkIDUgdGltZXMsIGFuZCBtNF9ldmFsIDQsIGV2ZW4gaWYgJDEgY29u
dGFpbnMKLSMgbm8gYmFja3NsYXNoLiAgSXQgaXMgbW9yZSBlZmZpY2llbnQgdG8gZG86Ci0jCi0j
ICAgIG00X2NvbmQoW200X2luZGV4KFskMV0sIFtcXSldLCBbLTFdLCBbJDJdLAotIyAgICAgICAg
ICAgIFttNF9ldmFsKG00X2luZGV4KFskMV0sIFtcXF0pID49IDApXSwgWzFdLCBbJDJdLAotIyAg
ICAgICAgICAgIFttNF9ldmFsKG00X2luZGV4KFskMV0sIFtcJF0pID49IDApXSwgWzFdLCBbJDJd
LAotIyAgICAgICAgICAgIFttNF9ldmFsKG00X2luZGV4KFskMV0sIFtcYF0pID49IDApXSwgWzFd
LCBbJDNdLAotIyAgICAgICAgICAgIFttNF9ldmFsKG00X2luZGV4KFskMV0sIFtcIl0pID49IDAp
XSwgWzFdLCBbJDNdLAotIyAgICAgICAgICAgIFskMl0pCi0jCi0jIEluIHRoZSBjb21tb24gY2Fz
ZSBvZiAkMSB3aXRoIG5vIGJhY2tzbGFzaCwgb25seSBvbmUgbTRfaW5kZXggZXhwYW5zaW9uCi0j
IG9jY3VycywgYW5kIG00X2V2YWwgaXMgYXZvaWRlZCBhbHRvZ2V0aGVyLgotIwotIyBQbGVhc2Ug
a2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgot
bTRfZGVmaW5lKFttNF9jb25kXSwKLVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbJDA6IGNh
bm5vdCBiZSBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHNdKV0sCi0gICAgICAgWyQjXSwgWzFdLCBb
JDFdLAotICAgICAgIG00X2V2YWwoWyQjICUgM10pLCBbMl0sIFttNF9mYXRhbChbJDA6IG1pc3Np
bmcgYW4gYXJndW1lbnRdKV0sCi0gICAgICAgW18kMCgkQCldKV0pCi0KLW00X2RlZmluZShbX200
X2NvbmRdLAotW200X2lmKCgkMSksIFsoJDIpXSwgWyQzXSwKLSAgICAgICBbJCNdLCBbM10sIFtd
LAotICAgICAgIFskI10sIFs0XSwgWyQ0XSwKLSAgICAgICBbJDAobTRfc2hpZnQzKCRAKSldKV0p
Ci0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMg
Ni4gRW5oYW5jZWQgdmVyc2lvbiBvZiBzb21lIHByaW1pdGl2ZXMuICAjIwotIyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0jIG00X2JwYXRzdWJzdHMoU1RS
SU5HLCBSRTEsIFNVQlNUMSwgUkUyLCBTVUJTVDIsIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBtNCBlcXVpdmFsZW50IG9mCi0j
Ci0jICAgJF8gPSBTVFJJTkc7Ci0jICAgcy9SRTEvU1VCU1QxL2c7Ci0jICAgcy9SRTIvU1VCU1Qy
L2c7Ci0jICAgLi4uCi0jCi0jIEFsbCB0aGUgdmFsdWVzIGFyZSBvcHRpb25hbCwgYW5kIHRoZSBt
YWNybyBpcyByb2J1c3QgdG8gYWN0aXZlIHN5bWJvbHMKLSMgcHJvcGVybHkgcXVvdGVkLgotIwot
IyBJIHdvdWxkIGhhdmUgbGlrZWQgdG8gbmFtZSB0aGlzIG1hY3JvIGBtNF9icGF0c3Vic3QnLCB1
bmZvcnR1bmF0ZWx5LAotIyBkdWUgdG8gcXVvdGF0aW9uIHByb2JsZW1zLCBJIG5lZWQgdG8gZG91
YmxlIHF1b3RlICQxIGJlbG93LCB0aGVyZWZvcmUKLSMgdGhlIGFuY2hvcnMgYXJlIGJyb2tlbiA6
KCAgSSBjYW4ndCBsZXQgdXNlcnMgYmUgdHJhcHBlZCBieSB0aGF0LgotIwotIyBSZWNhbGwgdGhh
dCBtNF9zaGlmdDMgYWx3YXlzIHJlc3VsdHMgaW4gYW4gYXJndW1lbnQuICBIZW5jZSwgd2UgbmVl
ZAotIyB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGEgZmluYWwgZGVsZXRpb24gdnMuIGVuZGluZyBy
ZWN1cnNpb24uCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBh
ZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW200X2JwYXRzdWJzdHNdLAotW200X2lm
KFskI10sIDAsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkI10pXSwKLSAgICAg
ICBbJCNdLCAxLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCM6ICQxXSldLAot
ICAgICAgIFskI10sIDIsIFttNF91bnF1b3RlKG00X2J1aWx0aW4oW3BhdHN1YnN0XSwgW1skMV1d
LCBbJDJdKSldLAotICAgICAgIFskI10sIDMsIFttNF91bnF1b3RlKG00X2J1aWx0aW4oW3BhdHN1
YnN0XSwgW1skMV1dLCBbJDJdLCBbJDNdKSldLAotICAgICAgIFtfJDAoJEBtNF9pZihtNF9ldmFs
KCQjICYgMSksIDAsIFssXSkpXSldKQotbTRfZGVmaW5lKFtfbTRfYnBhdHN1YnN0c10sCi1bbTRf
aWYoWyQjXSwgMiwgWyQxXSwKLSAgICAgICBbJDAobTRfYnVpbHRpbihbcGF0c3Vic3RdLCBbWyQx
XV0sIFskMl0sIFskM10pLAotCSAgIG00X3NoaWZ0MygkQCkpXSldKQotCi0KLSMgbTRfY29weShT
UkMsIERTVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVmaW5lIHRoZSBwdXNoZGVmIHN0YWNr
IERTVCBhcyBhIGNvcHkgb2YgdGhlIHB1c2hkZWYgc3RhY2sgU1JDOwotIyBnaXZlIGFuIGVycm9y
IGlmIERTVCBpcyBhbHJlYWR5IGRlZmluZWQuICBUaGlzIGlzIHBhcnRpY3VsYXJseSBuaWNlCi0j
IGZvciBjb3B5aW5nIHNlbGYtbW9kaWZ5aW5nIHB1c2hkZWYgc3RhY2tzLCB3aGVyZSB0aGUgdG9w
IGRlZmluaXRpb24KLSMgaW5jbHVkZXMgb25lLXNob3QgaW5pdGlhbGl6YXRpb24gdGhhdCBpcyBs
YXRlciBwb3BwZWQgdG8gdGhlIG5vcm1hbAotIyBkZWZpbml0aW9uLiAgVGhpcyB2ZXJzaW9uIGlu
dGVudGlvbmFsbHkgZG9lcyBub3RoaW5nIGlmIFNSQyBpcwotIyB1bmRlZmluZWQuCi0jCi0jIFNv
bWUgbWFjcm9zIHNpbXBseSBjYW4ndCBiZSByZW5hbWVkIHdpdGggdGhpcyBtZXRob2Q6IG5hbWVs
eSwgYW55dGhpbmcKLSMgaW52b2x2ZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIG00X3N0YWNr
X2ZvcmVhY2hfc2VwLgotbTRfZGVmaW5lKFttNF9jb3B5XSwKLVttNF9pZmRlZihbJDJdLCBbbTRf
ZmF0YWwoWyQwOiB3b24ndCBvdmVyd3JpdGUgZGVmaW5lZCBtYWNybzogJDJdKV0sCi0JICBbbTRf
c3RhY2tfZm9yZWFjaF9zZXAoWyQxXSwgW200X3B1c2hkZWYoWyQyXSxdLCBbKV0pXSldZG5sCi1b
bTRfaWZkZWYoW200X2xvY2F0aW9uKCQxKV0sIFttNF9kZWZpbmUoW200X2xvY2F0aW9uKCQyKV0s
IG00X2xvY2F0aW9uKV0pXSkKLQotCi0jIG00X2NvcHlfZm9yY2UoU1JDLCBEU1QpCi0jIG00X3Jl
bmFtZV9mb3JjZShTUkMsIERTVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBMaWtl
IG00X2NvcHkvbTRfcmVuYW1lLCBleGNlcHQgYmxpbmRseSBvdmVyd3JpdGUgYW55IGV4aXN0aW5n
IERTVC4KLSMgTm90ZSB0aGF0IG00X2NvcHlfZm9yY2UgdG9sZXJhdGVzIHVuZGVmaW5lZCBTUkMs
IHdoaWxlIG00X3JlbmFtZV9mb3JjZQotIyBkb2VzIG5vdC4KLW00X2RlZmluZShbbTRfY29weV9m
b3JjZV0sCi1bbTRfaWZkZWYoWyQyXSwgW19tNF91bmRlZmluZShbJDJdKV0pbTRfY29weSgkQCld
KQotCi1tNF9kZWZpbmUoW200X3JlbmFtZV9mb3JjZV0sCi1bbTRfaWZkZWYoWyQyXSwgW19tNF91
bmRlZmluZShbJDJdKV0pbTRfcmVuYW1lKCRAKV0pCi0KLQotIyBtNF9kZWZpbmVfZGVmYXVsdChN
QUNSTywgVkFMVUUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgTUFD
Uk8gaXMgdW5kZWZpbmVkLCBzZXQgaXQgdG8gVkFMVUUuCi1tNF9kZWZpbmUoW200X2RlZmluZV9k
ZWZhdWx0XSwKLVttNF9pZm5kZWYoWyQxXSwgW200X2RlZmluZSgkQCldKV0pCi0KLQotIyBtNF9k
ZWZhdWx0KEVYUDEsIEVYUDIpCi0jIG00X2RlZmF1bHRfbmJsYW5rKEVYUDEsIEVYUDIpCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFJldHVybnMgRVhQMSBpZiBub3QgZW1wdHkv
YmxhbmssIG90aGVyd2lzZSBFWFAyLiAgRXhwYW5kIHRoZSByZXN1bHQuCi0jCi0jIG00X2RlZmF1
bHQgaXMgY2FsbGVkIG9uIGhvdCBwYXRocywgc28gaW5saW5lIHRoZSBjb250ZW50cyBvZiBtNF9p
ZnZhbCwKLSMgZm9yIG9uZSBsZXNzIHJvdW5kIG9mIGV4cGFuc2lvbi4KLW00X2RlZmluZShbbTRf
ZGVmYXVsdF0sCi1bbTRfaWYoWyQxXSwgW10sIFskMl0sIFskMV0pXSkKLQotbTRfZGVmaW5lKFtt
NF9kZWZhdWx0X25ibGFua10sCi1bbTRfaWZibGFuayhbJDFdLCBbJDJdLCBbJDFdKV0pCi0KLQot
IyBtNF9kZWZhdWx0X3F1b3RlZChFWFAxLCBFWFAyKQotIyBtNF9kZWZhdWx0X25ibGFua19xdW90
ZWQoRVhQMSwgRVhQMikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IFJldHVybnMgRVhQMSBpZiBub24gZW1wdHkvYmxhbmssIG90aGVyd2lzZSBFWFAyLiAgTGVhdmUg
dGhlIHJlc3VsdCBxdW90ZWQuCi0jCi0jIEZvciBjb21wYXJpc29uOgotIyAgIG00X2RlZmluZShb
YWN0aXZlXSwgW0FDVElWRV0pCi0jICAgbTRfZGVmYXVsdChbYWN0aXZlXSwgW2RlZmF1bHRdKSA9
PiBBQ1RJVkUKLSMgICBtNF9kZWZhdWx0KFtdLCBbYWN0aXZlXSkgPT4gQUNUSVZFCi0jICAgLW00
X2RlZmF1bHQoWyBdLCBbYWN0aXZlXSktID0+IC0gLQotIyAgIC1tNF9kZWZhdWx0X25ibGFuayhb
IF0sIFthY3RpdmVdKS0gPT4gLUFDVElWRS0KLSMgICBtNF9kZWZhdWx0X3F1b3RlZChbYWN0aXZl
XSwgW2RlZmF1bHRdKSA9PiBhY3RpdmUKLSMgICBtNF9kZWZhdWx0X3F1b3RlZChbXSwgW2FjdGl2
ZV0pID0+IGFjdGl2ZQotIyAgIC1tNF9kZWZhdWx0X3F1b3RlZChbIF0sIFthY3RpdmVdKS0gPT4g
LSAtCi0jICAgLW00X2RlZmF1bHRfbmJsYW5rX3F1b3RlZChbIF0sIFthY3RpdmVdKS0gPT4gLWFj
dGl2ZS0KLSMKLSMgbTRfZGVmYXVsdCBtYWNybyBpcyBjYWxsZWQgb24gaG90IHBhdGhzLCBzbyBp
bmxpbmUgdGhlIGNvbnRlbnRzIG9mIG00X2lmdmFsLAotIyBmb3Igb25lIGxlc3Mgcm91bmQgb2Yg
ZXhwYW5zaW9uLgotbTRfZGVmaW5lKFttNF9kZWZhdWx0X3F1b3RlZF0sCi1bbTRfaWYoWyQxXSwg
W10sIFtbJDJdXSwgW1skMV1dKV0pCi0KLW00X2RlZmluZShbbTRfZGVmYXVsdF9uYmxhbmtfcXVv
dGVkXSwKLVttNF9pZmJsYW5rKFskMV0sIFtbJDJdXSwgW1skMV1dKV0pCi0KLQotIyBtNF9kZWZu
KE5BTUUpCi0jIC0tLS0tLS0tLS0tLS0KLSMgTGlrZSB0aGUgb3JpZ2luYWwsIGV4Y2VwdCBndWFy
YW50ZWUgYSB3YXJuaW5nIHdoZW4gdXNpbmcgc29tZXRoaW5nIHdoaWNoIGlzCi0jIHVuZGVmaW5l
ZCAodW5saWtlIE00IDEuNC54KS4gIFRoaXMgcmVwbGFjZW1lbnQgaXMgbm90IGEgZnVsbC1mZWF0
dXJlZAotIyByZXBsYWNlbWVudDogaWYgYW55IG9mIHRoZSBkZWZpbmVkIG1hY3JvcyBjb250YWlu
IHVuYmFsYW5jZWQgcXVvdGluZywgYnV0Ci0jIHdoZW4gcGFzdGVkIHRvZ2V0aGVyIHJlc3VsdCBp
biBhIHdlbGwtcXVvdGVkIHN0cmluZywgdGhlbiBvbmx5IG5hdGl2ZSBtNAotIyBzdXBwb3J0IGlz
IGFibGUgdG8gZ2V0IGl0IGNvcnJlY3QuICBCdXQgdGhhdCdzIHdoZXJlIHF1YWRyaWdyYXBocyBj
b21lIGluCi0jIGhhbmR5LCBpZiB5b3UgcmVhbGx5IG5lZWQgdW5iYWxhbmNlZCBxdW90ZXMgaW5z
aWRlIHlvdXIgbWFjcm9zLgotIwotIyBUaGlzIG1hY3JvIGlzIGNhbGxlZCBmcmVxdWVudGx5LCBz
byBtaW5pbWl6ZSB0aGUgYW1vdW50IG9mIGFkZGl0aW9uYWwKLSMgZXhwYW5zaW9ucyBieSBza2lw
cGluZyBtNF9pZm5kZWYuICBCZXR0ZXIgeWV0LCBpZiBfX200X3ZlcnNpb25fXyBleGlzdHMsCi0j
IChhZGRlZCBpbiBNNCAxLjYpLCB0aGVuIGxldCBtNCBkbyB0aGUgam9iIGZvciB1cyAoc2VlIG00
X2luaXQpLgotbTRfZGVmaW5lKFttNF9kZWZuXSwKLVttNF9pZihbJCNdLCBbMF0sIFtbJDBdXSwK
LSAgICAgICBbJCNdLCBbMV0sIFttNF9pZmRlZihbJDFdLCBbX200X2RlZm4oWyQxXSldLAotCQkJ
ICAgIFttNF9mYXRhbChbJDA6IHVuZGVmaW5lZCBtYWNybzogJDFdKV0pXSwKLSAgICAgICBbbTRf
bWFwX2FyZ3MoWyQwXSwgJEApXSldKQotCi0KLSMgbTRfZHVtcGRlZihOQU1FLi4uKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIEluIG00IDEuNC54LCBkdW1wZGVmIHdyaXRlcyB0byB0aGUgY3Vy
cmVudCBkZWJ1Z2ZpbGUsIHJhdGhlciB0aGFuCi0jIHN0ZGVyci4gIFRoaXMgaW4gdHVybiByb3lh
bGx5IGNvbmZ1c2VzIGF1dG9tNHRlOyBzbyB3ZSBmb2xsb3cgdGhlCi0jIGxlYWQgb2YgbmV3ZXIg
bTQgYW5kIGFsd2F5cyBkdW1wIHRvIHN0ZGVyci4gIFVubGlrZSB0aGUgb3JpZ2luYWwsCi0jIHRo
aXMgdmVyc2lvbiByZXF1aXJlcyBhbiBhcmd1bWVudCwgc2luY2UgdGhlcmUgaXMgbm8gY29udmVu
aWVudCB3YXkKLSMgaW4gbTQgMS40LnggdG8gZ3JhYiB0aGUgbmFtZXMgb2YgYWxsIGRlZmluZWQg
bWFjcm9zLiAgTmV3ZXIgbTQKLSMgYWx3YXlzIGR1bXBzIHRvIHN0ZGVyciwgcmVnYXJkbGVzcyBv
ZiB0aGUgY3VycmVudCBkZWJ1Z2ZpbGU7IGl0IGFsc28KLSMgcHJvdmlkZXMgbTRzeW1ib2xzIGFz
IGEgd2F5IHRvIGdyYWIgYWxsIGN1cnJlbnQgbWFjcm8gbmFtZXMuICBCdXQKLSMgZHVtcGRlZnMg
aXMgbm90IGZyZXF1ZW50bHkgY2FsbGVkLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0
Ci0jIGNvbmRpdGlvbmFsbHkgdXNpbmcgdGhlc2UgbmV3ZXIgZmVhdHVyZXMuICBBbHNvLCB0aGlz
IHZlcnNpb24KLSMgZG9lc24ndCBzb3J0IG11bHRpcGxlIGFyZ3VtZW50cy4KLSMKLSMgSWYgd2Ug
ZGV0ZWN0IG00IDEuNiBvciBuZXdlciwgdGhlbiBwcm92aWRlIGFuIGFsdGVybmF0ZSBkZWZpbml0
aW9uLAotIyBpbnN0YWxsZWQgZHVyaW5nIG00X2luaXQsIHRoYXQgYWxsb3dzIGJ1aWx0aW5zIHRo
cm91Z2guCi0jIFVuZm9ydHVuYXRlbHksIHRoZXJlIGlzIG5vIG5pY2Ugd2F5IGluIG00IDEuNC54
IHRvIGR1bXAgYnVpbHRpbnMuCi1tNF9kZWZpbmUoW200X2R1bXBkZWZdLAotW200X2lmKFskI10s
IFswXSwgW200X2ZhdGFsKFskMDogbWlzc2luZyBhcmd1bWVudF0pXSwKLSAgICAgICBbJCNdLCBb
MV0sIFttNF9pZmRlZihbJDFdLCBbbTRfZXJycHJpbnRuKAotICBbJDE6CV1tNF9kcXVvdGUoX200
X2RlZm4oWyQxXSkpKV0sIFttNF9mYXRhbChbJDA6IHVuZGVmaW5lZCBtYWNybzogJDFdKV0pXSwK
LSAgICAgICBbbTRfbWFwX2FyZ3MoWyQwXSwgJEApXSldKQotCi1tNF9kZWZpbmUoW19tNF9kdW1w
ZGVmXSwKLVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbJDA6IG1pc3NpbmcgYXJndW1lbnRd
KV0sCi0gICAgICAgWyQjXSwgWzFdLCBbbTRfYnVpbHRpbihbZHVtcGRlZl0sIFskMV0pXSwKLSAg
ICAgICBbbTRfbWFwX2FyZ3Nfc2VwKFttNF9idWlsdGluKFtkdW1wZGVmXSxdLCBbKV0sIFtdLCAk
QCldKV0pCi0KLQotIyBtNF9kdW1wZGVmcyhOQU1FLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LQotIyBTaW1pbGFyIHRvIGBtNF9kdW1wZGVmKE5BTUUpJywgYnV0IGlmIE5BTUUgd2FzIG00X3B1
c2hkZWYnZWQsIGRpc3BsYXkgaXRzCi0jIHZhbHVlIHN0YWNrIChtb3N0IHJlY2VudCBkaXNwbGF5
ZWQgZmlyc3QpLiAgQWxzbywgdGhpcyB2ZXJzaW9uIHNpbGVudGx5Ci0jIGlnbm9yZXMgdW5kZWZp
bmVkIG1hY3JvcywgcmF0aGVyIHRoYW4gZXJyb3Jpbmcgb3V0LgotIwotIyBUaGlzIG1hY3JvIGNo
ZWF0cywgYmVjYXVzZSBpdCByZWxpZXMgb24gdGhlIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBOQU1F
Ci0jIHdoaWxlIHRoZSBzZWNvbmQgYXJndW1lbnQgb2YgbTRfc3RhY2tfZm9yZWFjaF9saWZvIGlz
IGV2YWx1YXRlZCAod2hpY2gKLSMgd291bGQgYmUgdW5kZWZpbmVkIGFjY29yZGluZyB0byB0aGUg
QVBJKS4KLW00X2RlZmluZShbbTRfZHVtcGRlZnNdLAotW200X2lmKFskI10sIFswXSwgW200X2Zh
dGFsKFskMDogbWlzc2luZyBhcmd1bWVudF0pXSwKLSAgICAgICBbJCNdLCBbMV0sIFttNF9zdGFj
a19mb3JlYWNoX2xpZm8oWyQxXSwgW200X2R1bXBkZWYoWyQxXSltNF9pZ25vcmVdKV0sCi0gICAg
ICAgW200X21hcF9hcmdzKFskMF0sICRAKV0pXSkKLQotIyBtNF9lc3lzY21kX3MoQ09NTUFORCkK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIExpa2UgbTRfZXN5c2NtZCwgZXhjZXB0IHN0cmlw
IGFueSB0cmFpbGluZyBuZXdsaW5lcywgdGh1cyBiZWhhdmluZwotIyBtb3JlIGxpa2Ugc2hlbGwg
Y29tbWFuZCBzdWJzdGl0dXRpb24uCi1tNF9kZWZpbmUoW200X2VzeXNjbWRfc10sCi1bbTRfY2hv
bXBfYWxsKG00X2VzeXNjbWQoWyQxXSkpXSkKLQotCi0jIG00X3BvcGRlZihOQU1FKQotIyAtLS0t
LS0tLS0tLS0tLS0KLSMgTGlrZSB0aGUgb3JpZ2luYWwsIGV4Y2VwdCBndWFyYW50ZWUgYSB3YXJu
aW5nIHdoZW4gdXNpbmcgc29tZXRoaW5nIHdoaWNoIGlzCi0jIHVuZGVmaW5lZCAodW5saWtlIE00
IDEuNC54KS4KLSMKLSMgVGhpcyBtYWNybyBpcyBjYWxsZWQgZnJlcXVlbnRseSwgc28gbWluaW1p
emUgdGhlIGFtb3VudCBvZiBhZGRpdGlvbmFsCi0jIGV4cGFuc2lvbnMgYnkgc2tpcHBpbmcgbTRf
aWZuZGVmLiAgQmV0dGVyIHlldCwgaWYgX19tNF92ZXJzaW9uX18gZXhpc3RzLAotIyAoYWRkZWQg
aW4gTTQgMS42KSwgdGhlbiBsZXQgbTQgZG8gdGhlIGpvYiBmb3IgdXMgKHNlZSBtNF9pbml0KS4K
LW00X2RlZmluZShbbTRfcG9wZGVmXSwKLVttNF9pZihbJCNdLCBbMF0sIFtbJDBdXSwKLSAgICAg
ICBbJCNdLCBbMV0sIFttNF9pZmRlZihbJDFdLCBbX200X3BvcGRlZihbJDFdKV0sCi0JCQkgICAg
W200X2ZhdGFsKFskMDogdW5kZWZpbmVkIG1hY3JvOiAkMV0pXSldLAotICAgICAgIFttNF9tYXBf
YXJncyhbJDBdLCAkQCldKV0pCi0KLQotIyBtNF9zaGlmdG4oTiwgLi4uKQotIyAtLS0tLS0tLS0t
LS0tLS0tLQotIyBSZXR1cm5zIC4uLiBzaGlmdGVkIE4gdGltZXMuICBVc2VmdWwgZm9yIHJlY3Vy
c2l2ZSAidmFyYXJncyIgY29uc3RydWN0cy4KLSMKLSMgQXV0b2NvbmYgZG9lcyBub3QgdXNlIHRo
aXMgbWFjcm8sIGJlY2F1c2UgaXQgaXMgaW5oZXJlbnRseSBzbG93ZXIgdGhhbgotIyBjYWxsaW5n
IHRoZSBjb21tb24gY2FzZXMgb2YgbTRfc2hpZnQyIG9yIG00X3NoaWZ0MyBkaXJlY3RseS4gIEJ1
dCBpdAotIyBtaWdodCBhcyB3ZWxsIGJlIGZhc3QgZm9yIG90aGVyIGNsaWVudHMsIHN1Y2ggYXMg
TGlidG9vbC4gIE9uZSB3YXkgdG8KLSMgZG8gdGhpcyBpcyB0byBleHBhbmQgJEAgb25seSBvbmNl
IGluIF9tNF9zaGlmdG4gKG90aGVyd2lzZSwgZm9yIGxvbmcKLSMgbGlzdHMsIHRoZSBleHBhbnNp
b24gb2YgbTRfaWYgdGFrZXMgdHdpY2UgYXMgbXVjaCBtZW1vcnkgYXMgd2hhdCB0aGUKLSMgbGlz
dCBpdHNlbGYgb2NjdXBpZXMsIG9ubHkgdG8gdGhyb3cgYXdheSB0aGUgdW51c2VkIGJyYW5jaCku
ICBUaGUgZW5kCi0jIHJlc3VsdCBpcyBzdHJpY3RseSBlcXVpdmFsZW50IHRvCi0jICAgbTRfaWYo
WyQxXSwgMSwgW200X3NoaWZ0KCxtNF9zaGlmdChtNF9zaGlmdCgkQCkpKV0sCi0jICAgICAgICAg
W19tNF9zaGlmdG4obTRfZGVjcihbJDFdKSwgbTRfc2hpZnQobTRfc2hpZnQoJEApKSldKQotIyBi
dXQgd2l0aCB0aGUgZmluYWwgYG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpJyBzaGFyZWQgYmV0d2Vl
biB0aGUgdHdvCi0jIHBhdGhzLiAgVGhlIGZpcnN0IGxlZyB1c2VzIGEgbm8tb3AgbTRfc2hpZnQo
LCRAKSB0byBiYWxhbmNlIG91dCB0aGUgKCkuCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQg
aW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW200X3No
aWZ0bl0sCi1bbTRfYXNzZXJ0KDAgPCAkMSAmJiAkMSA8ICQjKV8kMCgkQCldKQotCi1tNF9kZWZp
bmUoW19tNF9zaGlmdG5dLAotW200X2lmKFskMV0sIDEsIFttNF9zaGlmdChdLAotICAgICAgIFsk
MChtNF9kZWNyKFskMV0pXSksIG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpXSkKLQotIyBtNF9zaGlm
dDIoLi4uKQotIyBtNF9zaGlmdDMoLi4uKQotIyAtLS0tLS0tLS0tLS0tLQotIyBSZXR1cm5zIC4u
LiBzaGlmdGVkIHR3aWNlLCBhbmQgdGhyZWUgdGltZXMuICBGYXN0ZXIgdGhhbiBtNF9zaGlmdG4u
Ci1tNF9kZWZpbmUoW200X3NoaWZ0Ml0sIFttNF9zaGlmdChtNF9zaGlmdCgkQCkpXSkKLW00X2Rl
ZmluZShbbTRfc2hpZnQzXSwgW200X3NoaWZ0KG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpXSkKLQot
IyBfbTRfc2hpZnQyKC4uLikKLSMgX200X3NoaWZ0MyguLi4pCi0jIC0tLS0tLS0tLS0tLS0tLQot
IyBMaWtlIG00X3NoaWZ0MiBvciBtNF9zaGlmdDMsIGV4Y2VwdCBpbmNsdWRlIGEgbGVhZGluZyBj
b21tYSB1bmxlc3Mgc2hpZnRpbmcKLSMgY29uc3VtZXMgYWxsIGFyZ3VtZW50cy4gIFdoeT8gIEJl
Y2F1c2UgaW4gcmVjdXJzaW9uLCBpdCBpcyBuaWNlIHRvCi0jIGRpc3Rpbmd1aXNoIGJldHdlZW4g
MSBlbGVtZW50IGxlZnQgYW5kIDAgZWxlbWVudHMgbGVmdCwgYmFzZWQgb24gaG93IG1hbnkKLSMg
YXJndW1lbnRzIHRoaXMgc2hpZnQgZXhwYW5kcyB0by4KLW00X2RlZmluZShbX200X3NoaWZ0Ml0s
Ci1bbTRfaWYoWyQjXSwgWzJdLCBbXSwKLSAgICAgICBbLCBtNF9zaGlmdChtNF9zaGlmdCgkQCkp
XSldKQotbTRfZGVmaW5lKFtfbTRfc2hpZnQzXSwKLVttNF9pZihbJCNdLCBbM10sIFtdLAotICAg
ICAgIFssIG00X3NoaWZ0KG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpXSldKQotCi0KLSMgbTRfdW5k
ZWZpbmUoTkFNRSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgTGlrZSB0aGUgb3JpZ2luYWwsIGV4
Y2VwdCBndWFyYW50ZWUgYSB3YXJuaW5nIHdoZW4gdXNpbmcgc29tZXRoaW5nIHdoaWNoIGlzCi0j
IHVuZGVmaW5lZCAodW5saWtlIE00IDEuNC54KS4KLSMKLSMgVGhpcyBtYWNybyBpcyBjYWxsZWQg
ZnJlcXVlbnRseSwgc28gbWluaW1pemUgdGhlIGFtb3VudCBvZiBhZGRpdGlvbmFsCi0jIGV4cGFu
c2lvbnMgYnkgc2tpcHBpbmcgbTRfaWZuZGVmLiAgQmV0dGVyIHlldCwgaWYgX19tNF92ZXJzaW9u
X18gZXhpc3RzLAotIyAoYWRkZWQgaW4gTTQgMS42KSwgdGhlbiBsZXQgbTQgZG8gdGhlIGpvYiBm
b3IgdXMgKHNlZSBtNF9pbml0KS4KLW00X2RlZmluZShbbTRfdW5kZWZpbmVdLAotW200X2lmKFsk
I10sIFswXSwgW1skMF1dLAotICAgICAgIFskI10sIFsxXSwgW200X2lmZGVmKFskMV0sIFtfbTRf
dW5kZWZpbmUoWyQxXSldLAotCQkJICAgIFttNF9mYXRhbChbJDA6IHVuZGVmaW5lZCBtYWNybzog
JDFdKV0pXSwKLSAgICAgICBbbTRfbWFwX2FyZ3MoWyQwXSwgJEApXSldKQotCi0jIF9tNF93cmFw
KFBSRSwgUE9TVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBIZWxwZXIgbWFjcm8gZm9yIG00
X3dyYXAgYW5kIG00X3dyYXBfbGlmby4gIEFsbG93cyBuZXN0ZWQgY2FsbHMgdG8KLSMgbTRfd3Jh
cCB3aXRoaW4gd3JhcHBlZCB0ZXh0LiAgVXNlIF9tNF9kZWZuIGFuZCBfbTRfcG9wZGVmIGZvciBz
cGVlZC4KLW00X2RlZmluZShbX200X3dyYXBdLAotW200X2lmZGVmKFskMF90ZXh0XSwKLQkgIFtt
NF9kZWZpbmUoWyQwX3RleHRdLCBbJDFdX200X2RlZm4oWyQwX3RleHRdKVskMl0pXSwKLQkgIFtt
NF9idWlsdGluKFttNHdyYXBdLCBbbTRfdW5xdW90ZSgKLSAgX200X2RlZm4oWyQwX3RleHRdKV9t
NF9wb3BkZWYoWyQwX3RleHRdKSldKW00X2RlZmluZShbJDBfdGV4dF0sIFskMSQyXSldKV0pCi0K
LSMgbTRfd3JhcChURVhUKQotIyAtLS0tLS0tLS0tLS0tCi0jIEFwcGVuZCBURVhUIHRvIHRoZSBs
aXN0IG9mIGhvb2tzIHRvIGJlIGV4ZWN1dGVkIGF0IHRoZSBlbmQgb2YgaW5wdXQuCi0jIFdoZXJl
YXMgdGhlIG9yZGVyIG9mIHRoZSBvcmlnaW5hbCBtYXkgYmUgTElGTyBpbiB0aGUgdW5kZXJseWlu
ZyBtNCwKLSMgdGhpcyB2ZXJzaW9uIGlzIGFsd2F5cyBGSUZPLgotbTRfZGVmaW5lKFttNF93cmFw
XSwKLVtfbTRfd3JhcChbXSwgWyQxW11dKV0pCi0KLSMgbTRfd3JhcF9saWZvKFRFWFQpCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLQotIyBQcmVwZW5kIFRFWFQgdG8gdGhlIGxpc3Qgb2YgaG9va3MgdG8g
YmUgZXhlY3V0ZWQgYXQgdGhlIGVuZCBvZiBpbnB1dC4KLSMgV2hlcmVhcyB0aGUgb3JkZXIgb2Yg
bTRfd3JhcCBtYXkgYmUgRklGTyBpbiB0aGUgdW5kZXJseWluZyBtNCwgdGhpcwotIyB2ZXJzaW9u
IGlzIGFsd2F5cyBMSUZPLgotbTRfZGVmaW5lKFttNF93cmFwX2xpZm9dLAotW19tNF93cmFwKFsk
MVtdXSldKQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyA3LiBRdW90aW5n
IG1hbmlwdWxhdGlvbi4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLQot
IyBtNF9hcHBseShNQUNSTywgTElTVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEludm9r
ZSBNQUNSTywgd2l0aCBhcmd1bWVudHMgcHJvdmlkZWQgZnJvbSB0aGUgcXVvdGVkIGxpc3Qgb2YK
LSMgY29tbWEtc2VwYXJhdGVkIHF1b3RlZCBhcmd1bWVudHMuICBJZiBMSVNUIGlzIGVtcHR5LCBp
bnZva2UgTUFDUk8KLSMgd2l0aG91dCBhcmd1bWVudHMuICBUaGUgZXhwYW5zaW9uIHdpbGwgbm90
IGJlIGNvbmNhdGVuYXRlZCB3aXRoCi0jIHN1YnNlcXVlbnQgdGV4dC4KLW00X2RlZmluZShbbTRf
YXBwbHldLAotW200X2lmKFskMl0sIFtdLCBbJDFdLCBbJDEoJDIpXSlbXV0pCi0KLSMgX200X2Fw
cGx5KE1BQ1JPLCBMSVNUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIExpa2UgbTRfYXBw
bHksIGV4Y2VwdCBkbyBub3RoaW5nIGlmIExJU1QgaXMgZW1wdHkuCi1tNF9kZWZpbmUoW19tNF9h
cHBseV0sCi1bbTRfaWYoWyQyXSwgW10sIFtdLCBbJDEoJDIpW11dKV0pCi0KLQotIyBtNF9jb3Vu
dChBUkdTKQotIyAtLS0tLS0tLS0tLS0tLQotIyBSZXR1cm4gYSBjb3VudCBvZiBob3cgbWFueSBB
UkdTIGFyZSBwcmVzZW50LgotbTRfZGVmaW5lKFttNF9jb3VudF0sIFskI10pCi0KLQotIyBtNF9j
dXJyeShNQUNSTywgQVJHLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQZXJmb3Jt
IGFyZ3VtZW50IGN1cnJ5aW5nLiAgVGhlIGV4cGFuc2lvbiBvZiB0aGlzIG1hY3JvIGlzIGFub3Ro
ZXIKLSMgbWFjcm8gdGhhdCB0YWtlcyBleGFjdGx5IG9uZSBhcmd1bWVudCwgYXBwZW5kcyBpdCB0
byB0aGUgZW5kIG9mIHRoZQotIyBvcmlnaW5hbCBBUkcgbGlzdCwgdGhlbiBpbnZva2VzIE1BQ1JP
LiAgRm9yIGV4YW1wbGU6Ci0jICAgbTRfY3VycnkoW200X2N1cnJ5XSwgW200X3JldmVyc2VdLCBb
MV0pKFsyXSkoWzNdKSA9PiAzLCAyLCAxCi0jIE5vdCBxdWl0ZSBhcyBwcmFjdGljYWwgYXMgbTRf
aW5jciwgYnV0IHlvdSBjb3VsZCBhbHNvIGRvOgotIyAgIG00X2RlZmluZShbYWRkXSwgW200X2V2
YWwoKFskMV0pICsgKFskMl0pKV0pCi0jICAgbTRfZGVmaW5lKFthZGRfb25lXSwgW200X2N1cnJ5
KFthZGRdLCBbMV0pXSkKLSMgICBhZGRfb25lKCkoWzJdKSA9PiAzCi1tNF9kZWZpbmUoW200X2N1
cnJ5XSwgWyQxKG00X3NoaWZ0KCRALClfJDBdKQotbTRfZGVmaW5lKFtfbTRfY3VycnldLCAgICAg
ICAgICAgICAgIFtbJDFdKV0pCi0KLQotIyBtNF9kbyhTVFJJTkcsIC4uLikKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tCi0jIFRoaXMgbWFjcm8gaW52b2tlcyBhbGwgaXRzIGFyZ3VtZW50cyAoaW4gc2Vx
dWVuY2UsIG9mIGNvdXJzZSkuICBJdCBpcwotIyB1c2VmdWwgZm9yIG1ha2luZyB5b3VyIG1hY3Jv
cyBtb3JlIHN0cnVjdHVyZWQgYW5kIHJlYWRhYmxlIGJ5IGRyb3BwaW5nCi0jIHVubmVjZXNzYXJ5
IGRubCdzIGFuZCBoYXZlIHRoZSBtYWNyb3MgaW5kZW50ZWQgcHJvcGVybHkuICBObyBjb25jYXRl
bmF0aW9uCi0jIG9jY3VycyBhZnRlciBhIFNUUklORzsgdXNlIG00X3VucXVvdGUobTRfam9pbigs
U1RSSU5HKSkgZm9yIHRoYXQuCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3
aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW200X2RvXSwKLVttNF9p
ZihbJCNdLCAwLCBbXSwKLSAgICAgICBbJCNdLCAxLCBbJDFbXV0sCi0gICAgICAgWyQxW10kMCht
NF9zaGlmdCgkQCkpXSldKQotCi0KLSMgbTRfZHF1b3RlKEFSR1MpCi0jIC0tLS0tLS0tLS0tLS0t
LQotIyBSZXR1cm4gQVJHUyBhcyBhIHF1b3RlZCBsaXN0IG9mIHF1b3RlZCBhcmd1bWVudHMuCi1t
NF9kZWZpbmUoW200X2RxdW90ZV0sICBbWyRAXV0pCi0KLQotIyBtNF9kcXVvdGVfZWx0KEFSR1Mp
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmV0dXJuIEFSR1MgYXMgYW4gdW5xdW90ZWQgbGlz
dCBvZiBkb3VibGUtcXVvdGVkIGFyZ3VtZW50cy4KLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5t
NCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShbbTRf
ZHF1b3RlX2VsdF0sCi1bbTRfaWYoWyQjXSwgWzBdLCBbXSwKLSAgICAgICBbJCNdLCBbMV0sIFtb
WyQxXV1dLAotICAgICAgIFtbWyQxXV0sJDAobTRfc2hpZnQoJEApKV0pXSkKLQotCi0jIG00X2Vj
aG8oQVJHUykKLSMgLS0tLS0tLS0tLS0tLQotIyBSZXR1cm4gdGhlIEFSR1MsIHdpdGggdGhlIHNh
bWUgbGV2ZWwgb2YgcXVvdGluZy4gIFdoaXRlc3BhY2UgYWZ0ZXIKLSMgdW5xdW90ZWQgY29tbWFz
IGFyZSBjb25zdW1lZC4KLW00X2RlZmluZShbbTRfZWNob10sIFskQF0pCi0KLQotIyBtNF9leHBh
bmQoQVJHKQotIyBfbTRfZXhwYW5kKEFSRykKLSMgLS0tLS0tLS0tLS0tLS0tCi0jIFJldHVybiB0
aGUgZXhwYW5zaW9uIG9mIEFSRyBhcyBhIHNpbmdsZSBzdHJpbmcuICBVbmxpa2UKLSMgbTRfcXVv
dGUoJDEpLCB0aGlzIHByZXNlcnZlcyB3aGl0ZXNwYWNlIGZvbGxvd2luZyBzaW5nbGUtcXVvdGVk
Ci0jIGNvbW1hcyB0aGF0IGFwcGVhciB3aXRoaW4gQVJHLiAgSXQgYWxzbyBkZWFscyB3aXRoIHNo
ZWxsIGNhc2UKLSMgc3RhdGVtZW50cy4KLSMKLSMgICBtNF9kZWZpbmUoW2FjdGl2ZV0sIFtBQ1Qs
IElWRV0pCi0jICAgbTRfZGVmaW5lKFthY3RpdmUyXSwgW1tBQ1QsIElWRV1dKQotIyAgIG00X3F1
b3RlKGFjdGl2ZSwgYWN0aXZlMikKLSMgICA9PiBBQ1QsSVZFLEFDVCwgSVZFCi0jICAgbTRfZXhw
YW5kKFthY3RpdmUsIGFjdGl2ZTJdKQotIyAgID0+IEFDVCwgSVZFLCBBQ1QsIElWRQotIwotIyBV
bmZvcnR1bmF0ZWx5LCBkdWUgdG8gbGltaXRhdGlvbnMgaW4gbTQsIEFSRyBtdXN0IGV4cGFuZCB0
bwotIyBzb21ldGhpbmcgd2l0aCBiYWxhbmNlZCBxdW90ZXMgKHVzZSBxdWFkcmlncmFwaHMgdG8g
Z2V0IGFyb3VuZAotIyB0aGlzKSwgYW5kIHNob3VsZCBub3QgY29udGFpbiB0aGUgdW5saWtlbHkg
ZGVsaW1pdGVycyAtPTx7KCBvcgotIyApfT49LS4gIEl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgdW5i
YWxhbmNlZCBxdW90ZWQgYCgnIG9yIGApJywgYXMgd2VsbAotIyBhcyB1bmJhbGFuY2VkIHVucXVv
dGVkIGApJy4gIG00X2V4cGFuZCBjYW4gaGFuZGxlIHVudGVybWluYXRlZAotIyBjb21tZW50cyBv
ciBkbmwgb24gdGhlIGZpbmFsIGxpbmUsIGF0IHRoZSBleHBlbnNlIG9mIHNwZWVkOyBpdCBhbHNv
Ci0jIGFpZHMgaW4gZGV0ZWN0aW5nIGF0dGVtcHRzIHRvIGluY29ycmVjdGx5IGNoYW5nZSB0aGUg
Y3VycmVudAotIyBkaXZlcnNpb24gaW5zaWRlIEFSRy4gIE1lYW53aGlsZSwgX200X2V4cGFuZCBp
cyBmYXN0ZXIgYnV0IG11c3QgYmUKLSMgZ2l2ZW4gYSB0ZXJtaW5hdGVkIGV4cGFuc2lvbiwgYW5k
IGhhcyBubyBzYWZldHkgY2hlY2tzIGZvcgotIyBtaXMtZGl2ZXJ0ZWQgdGV4dC4KLSMKLSMgRXhw
bG9pdCB0aGF0IGV4dHJhIHVucXVvdGVkICgpIHdpbGwgZ3JvdXAgdW5xdW90ZWQgY29tbWFzIGFu
ZCB0aGUKLSMgZm9sbG93aW5nIHdoaXRlc3BhY2UuICBtNF9icGF0c3Vic3QgY2FuJ3QgaGFuZGxl
IG5ld2xpbmVzIGluc2lkZSAkMSwKLSMgYW5kIG00X3N1YnN0ciBzdHJpcHMgcXVvdGluZy4gIFNv
IHdlIChhYil1c2UgbTRfY2hhbmdlcXVvdGUsIHVzaW5nCi0jIHRlbXBvcmFyeSBxdW90ZXMgdG8g
cmVtb3ZlIHRoZSBkZWxpbWl0ZXJzIHRoYXQgY29udmVuaWVudGx5IGluY2x1ZGVkCi0jIHRoZSB1
bnF1b3RlZCAoKSB0aGF0IHdlcmUgYWRkZWQgcHJpb3IgdG8gdGhlIGNoYW5nZXF1b3RlLgotIwot
IyBUaGFua3MgdG8gc2hlbGwgY2FzZSBzdGF0ZW1lbnRzLCB0b28gbWFueSBwZW9wbGUgYXJlIHBy
b25lIHRvIHBhc3MKLSMgdW5kZXJxdW90ZWQgYCknLCBzbyB3ZSB0cnkgdG8gZGV0ZWN0IHRoYXQg
YnkgcGFzc2luZyBhIG1hcmtlciBhcyBhCi0jIGZvdXJ0aCBhcmd1bWVudDsgaWYgdGhlIG1hcmtl
ciBpcyBub3QgcHJlc2VudCwgdGhlbiB3ZSBhc3N1bWUgdGhhdAotIyB3ZSBlbmNvdW50ZXJlZCBh
biBlYXJseSBgKScsIGFuZCByZS1leHBhbmQgdGhlIGZpcnN0IGFyZ3VtZW50LCBidXQKLSMgdGhp
cyB0aW1lIHdpdGggb25lIG1vcmUgYCgnIGluIHRoZSBzZWNvbmQgYXJndW1lbnQgYW5kIGluIHRo
ZQotIyBvcGVuLXF1b3RlIGRlbGltaXRlci4gIFdlIG11c3QgYWxzbyBpZ25vcmUgdGhlIHNsb3Ag
ZnJvbSB0aGUKLSMgcHJldmlvdXMgdHJ5LiAgVGhlIGZpbmFsIG1hY3JvIGlzIHRodXMgaGFsZiBs
aW5lLW5vaXNlLCBoYWxmIGFydC4KLW00X2RlZmluZShbbTRfZXhwYW5kXSwKLVttNF9wdXNoZGVm
KFttNF9kaXZlcnRdLCBfbTRfZGVmbihbX200X2RpdmVydF91bnNhZmVdKSldZG5sCi1bbTRfcHVz
aGRlZihbbTRfZGl2ZXJ0X3B1c2hdLCBfbTRfZGVmbihbX200X2RpdmVydF91bnNhZmVdKSldZG5s
Ci1bbTRfY2hvbXAoXyQwKFskMQotXSkpX200X3BvcGRlZihbbTRfZGl2ZXJ0XSwgW200X2RpdmVy
dF9wdXNoXSldKQotCi1tNF9kZWZpbmUoW19tNF9leHBhbmRdLCBbJDBfKFskMV0sIFsoXSwgLT08
eygkMSl9Pj0tLCBbfT49LV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfZXhwYW5kX10sCi1bbTRfaWYo
WyQ0XSwgW30+PS1dLAotICAgICAgIFttNF9jaGFuZ2VxdW90ZShbLT08eyQyXSwgWyl9Pj0tXSkk
M200X2NoYW5nZXF1b3RlKFssIF0pXSwKLSAgICAgICBbJDAoWyQxXSwgWygkMl0sIC09PHsoJDIk
MSl9Pj0tLCBbfT49LV0pbTRfaWdub3JlJDJdKV0pCi0KLQotIyBtNF9pZ25vcmUoQVJHUykKLSMg
LS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFuZHMgdG8gbm90aGluZy4gIFVzZWZ1bCBmb3IgY29uZGl0
aW9uYWxseSBpZ25vcmluZyBhbiBhcmJpdHJhcnkKLSMgbnVtYmVyIG9mIGFyZ3VtZW50cyAoc2Vl
IF9tNF9saXN0X2NtcCBmb3IgYW4gZXhhbXBsZSkuCi1tNF9kZWZpbmUoW200X2lnbm9yZV0pCi0K
LQotIyBtNF9tYWtlX2xpc3QoQVJHUykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFNpbWlsYXIg
dG8gbTRfZHF1b3RlLCB0aGlzIGNyZWF0ZXMgYSBxdW90ZWQgbGlzdCBvZiBxdW90ZWQgQVJHUy4g
IFRoaXMKLSMgdmVyc2lvbiBpcyBsZXNzIGVmZmljaWVudCB0aGFuIG00X2RxdW90ZSwgYnV0IHNl
cGFyYXRlcyBlYWNoIGFyZ3VtZW50Ci0jIHdpdGggYSBjb21tYSBhbmQgbmV3bGluZSwgcmF0aGVy
IHRoYW4ganVzdCBjb21tYSwgZm9yIHJlYWRhYmlsaXR5LgotIyBXaGVuIGRldmVsb3BpbmcgYW4g
bTRzdWdhciBhbGdvcml0aG0sIHlvdSBjb3VsZCB0ZW1wb3JhcmlseSB1c2UKLSMgICBtNF9wdXNo
ZGVmKFttNF9kcXVvdGVdLG00X2RlZm4oW200X21ha2VfbGlzdF0pKQotIyBhcm91bmQgeW91ciBj
b2RlIHRvIG1ha2UgZGVidWdnaW5nIGVhc2llci4KLW00X2RlZmluZShbbTRfbWFrZV9saXN0XSwg
W200X2pvaW4oWywKLV0sIG00X2RxdW90ZV9lbHQoJEApKV0pCi0KLQotIyBtNF9ub3F1b3RlKFNU
UklORykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFJldHVybiB0aGUgcmVzdWx0IG9mIGlnbm9y
aW5nIGFsbCBxdW90ZXMgaW4gU1RSSU5HIGFuZCBpbnZva2luZyB0aGUKLSMgbWFjcm9zIGl0IGNv
bnRhaW5zLiAgQW1vbmcgb3RoZXIgdGhpbmdzLCB0aGlzIGlzIHVzZWZ1bCBmb3IgZW5hYmxpbmcK
LSMgbWFjcm8gaW52b2NhdGlvbnMgaW5zaWRlIHN0cmluZ3Mgd2l0aCBbXSBibG9ja3MgKGZvciBp
bnN0YW5jZSByZWdleHBzCi0jIGFuZCBoZWxwLXN0cmluZ3MpLiAgT24gdGhlIG90aGVyIGhhbmQs
IHNpbmNlIGFsbCBxdW90ZXMgYXJlIGRpc2FibGVkLAotIyBhbnkgbWFjcm8gZXhwYW5kZWQgZHVy
aW5nIHRoaXMgdGltZSB0aGF0IHJlbGllcyBvbiBuZXN0ZWQgW10gcXVvdGluZwotIyB3aWxsIGxp
a2VseSBjcmFzaCBhbmQgYnVybi4gIFRoaXMgbWFjcm8gaXMgc2VsZG9tIHVzZWZ1bDsgY29uc2lk
ZXIKLSMgbTRfdW5xdW90ZSBvciBtNF9leHBhbmQgaW5zdGVhZC4KLW00X2RlZmluZShbbTRfbm9x
dW90ZV0sCi1bbTRfY2hhbmdlcXVvdGUoWy09PHsoXSxbKX0+PS1dKSQxLT08eygpfT49LW00X2No
YW5nZXF1b3RlKFssXSldKQotCi0KLSMgbTRfcXVvdGUoQVJHUykKLSMgLS0tLS0tLS0tLS0tLS0K
LSMgUmV0dXJuIEFSR1MgYXMgYSBzaW5nbGUgYXJndW1lbnQuICBBbnkgd2hpdGVzcGFjZSBhZnRl
ciB1bnF1b3RlZCBjb21tYXMKLSMgaXMgc3RyaXBwZWQuICBUaGVyZSBpcyBhbHdheXMgb3V0cHV0
LCBldmVuIHdoZW4gdGhlcmUgd2VyZSBubyBhcmd1bWVudHMuCi0jCi0jIEl0IGlzIGltcG9ydGFu
dCB0byByZWFsaXplIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYG00X3F1b3RlKGV4cCknIGFuZAot
IyBgW2V4cF0nOiBpbiB0aGUgZmlyc3QgY2FzZSB5b3Ugb2J0YWluIHRoZSBxdW90ZWQgKnJlc3Vs
dCogb2YgdGhlCi0jIGV4cGFuc2lvbiBvZiBFWFAsIHdoaWxlIGluIHRoZSBsYXR0ZXIgeW91IGp1
c3Qgb2J0YWluIHRoZSBzdHJpbmcKLSMgYGV4cCcuCi1tNF9kZWZpbmUoW200X3F1b3RlXSwgIFtb
JCpdXSkKLQotCi0jIF9tNF9xdW90ZShBUkdTKQotIyAtLS0tLS0tLS0tLS0tLS0KLSMgTGlrZSBt
NF9xdW90ZSwgZXhjZXB0IHRoYXQgd2hlbiB0aGVyZSBhcmUgbm8gYXJndW1lbnRzLCB0aGVyZSBp
cyBubwotIyBvdXRwdXQuICBGb3IgY29uZGl0aW9uYWwgc2NlbmFyaW9zIChzdWNoIGFzIHBhc3Np
bmcgX200X3F1b3RlIGFzIHRoZQotIyBtYWNybyBuYW1lIGluIG00X21hcGFsbCksIHRoaXMgZmVh
dHVyZSBjYW4gYmUgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuCi0jIG9uZSBhcmd1bWVudCBv
ZiB0aGUgZW1wdHkgc3RyaW5nIHZzLiBubyBhcmd1bWVudHMuICBIb3dldmVyLCBpbiB0aGUKLSMg
bm9ybWFsIGNhc2Ugd2l0aCBhcmd1bWVudHMgcHJlc2VudCwgdGhpcyBpcyBsZXNzIGVmZmljaWVu
dCB0aGFuIG00X3F1b3RlLgotbTRfZGVmaW5lKFtfbTRfcXVvdGVdLAotW200X2lmKFskI10sIFsw
XSwgW10sIFtbJCpdXSldKQotCi0KLSMgbTRfcmV2ZXJzZShBUkdTKQotIyAtLS0tLS0tLS0tLS0t
LS0tCi0jIE91dHB1dCBBUkdTIGluIHJldmVyc2Ugb3JkZXIuCi0jCi0jIFBsZWFzZSBrZWVwIGZv
cmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZp
bmUoW200X3JldmVyc2VdLAotW200X2lmKFskI10sIFswXSwgW10sIFskI10sIFsxXSwgW1skMV1d
LAotICAgICAgIFskMChtNF9zaGlmdCgkQCkpLCBbJDFdXSldKQotCi0KLSMgbTRfdW5xdW90ZShB
UkdTKQotIyAtLS0tLS0tLS0tLS0tLS0tCi0jIFJlbW92ZSBvbmUgbGF5ZXIgb2YgcXVvdGVzIGZy
b20gZWFjaCBBUkcsIHBlcmZvcm1pbmcgb25lIGxldmVsIG9mCi0jIGV4cGFuc2lvbi4gIEZvciBv
bmUgYXJndW1lbnQsIG00X3VucXVvdGUoW2FyZ10pIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4KLSMg
bTRfZG8oW2FyZ10pLCBidXQgZm9yIG11bHRpcGxlIGFyZ3VtZW50cywgdGhlIGRpZmZlcmVuY2Ug
aXMgdGhhdAotIyBtNF91bnF1b3RlIHNlcGFyYXRlcyBhcmd1bWVudHMgd2l0aCBjb21tYXMgd2hp
bGUgbTRfZG8gY29uY2F0ZW5hdGVzLgotIyBGb2xsb3cgdGhpcyBtYWNybyB3aXRoIFtdIGlmIGNv
bmNhdGVuYXRpb24gd2l0aCBzdWJzZXF1ZW50IHRleHQgaXMKLSMgdW5kZXNpcmVkLgotbTRfZGVm
aW5lKFttNF91bnF1b3RlXSwgWyQqXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSAjIwotIyMgOC4gSW1wbGVtZW50aW5nIG00IGxvb3BzLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMjCi0KLQotIyBtNF9mb3IoVkFSSUFCTEUsIEZJUlNULCBMQVNULCBbU1RF
UCA9ICsvLTFdLCBFWFBSRVNTSU9OKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbmQgRVhQUkVTU0lPTiBkZWZpbmluZyBW
QVJJQUJMRSB0byBGUk9NLCBGUk9NICsgMSwgLi4uLCBUTyB3aXRoCi0jIGluY3JlbWVudHMgb2Yg
U1RFUC4gIEJvdGggbGltaXRzIGFyZSBpbmNsdWRlZCwgYW5kIGJvdW5kcyBhcmUKLSMgY2hlY2tl
ZCBmb3IgY29uc2lzdGVuY3kuICBUaGUgYWxnb3JpdGhtIGlzIHJvYnVzdCB0byBpbmRpcmVjdAot
IyBWQVJJQUJMRSBuYW1lcy4gIENoYW5naW5nIFZBUklBQkxFIGluc2lkZSBFWFBSRVNTSU9OIHdp
bGwgbm90IGltcGFjdAotIyB0aGUgbnVtYmVyIG9mIGl0ZXJhdGlvbnMuCi0jCi0jIFVzZXMgX200
X2RlZm4gZm9yIHNwZWVkLCBhbmQgYXZvaWQgZG5sIGluIHRoZSBtYWNybyBib2R5LiAgRmFjdG9y
Ci0jIHRoZSBfbTRfZm9yIGNhbGwgc28gdGhhdCBFWFBSRVNTSU9OIGlzIG9ubHkgcGFyc2VkIG9u
Y2UuCi1tNF9kZWZpbmUoW200X2Zvcl0sCi1bbTRfcHVzaGRlZihbJDFdLCBtNF9ldmFsKFskMl0p
KV1kbmwKLVttNF9jb25kKFttNF9ldmFsKChbJDNdKSA+IChbJDJdKSldLCAxLAotCSAgIFttNF9w
dXNoZGVmKFtfbTRfc3RlcF0sIG00X2V2YWwobTRfZGVmYXVsdF9xdW90ZWQoWyQ0XSwKLQkgICAg
ICAxKSkpbTRfYXNzZXJ0KF9tNF9zdGVwID4gMClfJDAoX200X2RlZm4oWyQxXSksCi0gIG00X2V2
YWwoKChbJDNdKSAtIChbJDJdKSkgLyBfbTRfc3RlcCAqIF9tNF9zdGVwICsgKFskMl0pKSwgX200
X3N0ZXAsXSwKLQkgW200X2V2YWwoKFskM10pIDwgKFskMl0pKV0sIDEsCi0JICAgW200X3B1c2hk
ZWYoW19tNF9zdGVwXSwgbTRfZXZhbChtNF9kZWZhdWx0X3F1b3RlZChbJDRdLAotCSAgICAgIC0x
KSkpbTRfYXNzZXJ0KF9tNF9zdGVwIDwgMClfJDAoX200X2RlZm4oWyQxXSksCi0gIG00X2V2YWwo
KChbJDJdKSAtIChbJDNdKSkgLyAtKF9tNF9zdGVwKSAqIF9tNF9zdGVwICsgKFskMl0pKSwgX200
X3N0ZXAsXSwKLQkgW200X3B1c2hkZWYoW19tNF9zdGVwXSlfJDAoX200X2RlZm4oWyQxXSksIF9t
NF9kZWZuKFskMV0pLCAwLF0pXWRubAotW1ttNF9kZWZpbmUoWyQxXSxdLCBbKSQ1XSltNF9wb3Bk
ZWYoW19tNF9zdGVwXSwgWyQxXSldKQotCi0jIF9tNF9mb3IoQ09VTlQsIExBU1QsIFNURVAsIFBS
RSwgUE9TVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBDb3Jl
IG9mIHRoZSBsb29wLCBubyBjb25zaXN0ZW5jeSBjaGVja3MsIGFsbCBhcmd1bWVudHMgYXJlIHBs
YWluCi0jIG51bWJlcnMuICBFeHBhbmQgUFJFW0NPVU5UXVBPU1QsIHRoZW4gYWx0ZXIgQ09VTlQg
YnkgU1RFUCBhbmQKLSMgaXRlcmF0ZSBpZiBDT1VOVCBpcyBub3QgTEFTVC4KLW00X2RlZmluZShb
X200X2Zvcl0sCi1bJDRbJDFdJDVbXW00X2lmKFskMV0sIFskMl0sIFtdLAotCQkgWyQwKG00X2V2
YWwoWyQxICsgJDNdKSwgWyQyXSwgWyQzXSwgWyQ0XSwgWyQ1XSldKV0pCi0KLQotIyBJbXBsZW1l
bnRpbmcgYGZvcmVhY2gnIGxvb3BzIGluIG00IGlzIG11Y2ggbW9yZSB0cmlja3kgdGhhbiBpdCBt
YXkKLSMgc2VlbS4gIEZvciBleGFtcGxlLCB0aGUgb2xkIE00IDEuNC40IG1hbnVhbCBoYWQgYW4g
aW5jb3JyZWN0IGV4YW1wbGUsCi0jIHdoaWNoIGxvb2tlZCBsaWtlIHRoaXMgKHdoZW4gdHJhbnNs
YXRlZCB0byBtNHN1Z2FyKToKLSMKLSMgfCAjIGZvcmVhY2goVkFSLCAoTElTVCksIFNUTVQpCi0j
IHwgbTRfZGVmaW5lKFtmb3JlYWNoXSwKLSMgfCAgIFttNF9wdXNoZGVmKFskMV0pX2ZvcmVhY2go
WyQxXSwgWyQyXSwgWyQzXSltNF9wb3BkZWYoWyQxXSldKQotIyB8IG00X2RlZmluZShbX2FyZzFd
LCBbJDFdKQotIyB8IG00X2RlZmluZShbX2ZvcmVhY2hdLAotIyB8ICAgW200X2lmKFskMl0sIFso
KV0sICwKLSMgfCAgICAgW200X2RlZmluZShbJDFdLCBfYXJnMSQyKSQzW11fZm9yZWFjaChbJDFd
LCAobTRfc2hpZnQkMiksIFskM10pXSldKQotIwotIyBCdXQgdGhlbiBpZiB5b3UgcnVuCi0jCi0j
IHwgbTRfZGVmaW5lKGEsIDEpCi0jIHwgbTRfZGVmaW5lKGIsIDIpCi0jIHwgbTRfZGVmaW5lKGMs
IDMpCi0jIHwgZm9yZWFjaChbZl0sIFsoW2FdLCBbKGJdLCBbYyldKV0sIFtlY2hvIGYKLSMgfCBd
KQotIwotIyBpdCBnaXZlcwotIwotIyAgPT4gZWNobyAxCi0jICA9PiBlY2hvICgyLDMpCi0jCi0j
IHdoaWNoIGlzIG5vdCB3aGF0IGlzIGV4cGVjdGVkLgotIwotIyBPZiBjb3Vyc2UgdGhlIHByb2Js
ZW0gaXMgdGhhdCBtYW55IHF1b3RlcyBhcmUgbWlzc2luZy4gIFNvIHlvdSBhZGQKLSMgcGxlbnR5
IG9mIHF1b3RlcyBhdCByYW5kb20gcGxhY2VzLCB1bnRpbCB5b3UgcmVhY2ggdGhlIGV4cGVjdGVk
Ci0jIHJlc3VsdC4gIEFsdGVybmF0aXZlbHksIGlmIHlvdSBhcmUgYSBxdW90aW5nIHdpemFyZCwg
eW91IGRpcmVjdGx5Ci0jIHJlYWNoIHRoZSBmb2xsb3dpbmcgaW1wbGVtZW50YXRpb24gKGJ1dCBp
ZiB5b3UgcmVhbGx5IGRpZCwgdGhlbgotIyBhcHBseSB0byB0aGUgbWFpbnRlbmFuY2Ugb2YgbTRz
dWdhciEpLgotIwotIyB8ICMgZm9yZWFjaChWQVIsIChMSVNUKSwgU1RNVCkKLSMgfCBtNF9kZWZp
bmUoW2ZvcmVhY2hdLCBbbTRfcHVzaGRlZihbJDFdKV9mb3JlYWNoKCRAKW00X3BvcGRlZihbJDFd
KV0pCi0jIHwgbTRfZGVmaW5lKFtfYXJnMV0sIFtbJDFdXSkKLSMgfCBtNF9kZWZpbmUoW19mb3Jl
YWNoXSwKLSMgfCAgW200X2lmKCQyLCBbKCldLCAsCi0jIHwgICAgW200X2RlZmluZShbJDFdLCBb
X2FyZzEkMl0pJDNbXV9mb3JlYWNoKFskMV0sIFsobTRfc2hpZnQkMildLCBbJDNdKV0pXSkKLSMK
LSMgd2hpY2ggdGhpcyB0aW1lIGFuc3dlcnMKLSMKLSMgID0+IGVjaG8gYQotIyAgPT4gZWNobyAo
YgotIyAgPT4gZWNobyBjKQotIwotIyBCaW5nbyEKLSMKLSMgV2VsbCwgbm90IHF1aXRlLgotIwot
IyBXaXRoIGEgYmV0dGVyIGxvb2ssIHlvdSByZWFsaXplIHRoYXQgdGhlIHBhcmVucyBhcmUgbW9y
ZSBhIHBhaW4gdGhhbgotIyBhIGhlbHA6IHNpbmNlIGFueXdheSB5b3UgbmVlZCB0byBxdW90ZSBw
cm9wZXJseSB0aGUgbGlzdCwgeW91IGVuZCB1cAotIyB3aXRoIGFsd2F5cyB1c2luZyBhbiBvdXRl
cm1vc3QgcGFpciBvZiBwYXJlbnMgYW5kIGFuIG91dGVybW9zdCBwYWlyCi0jIG9mIHF1b3Rlcy4g
IFJlamVjdGluZyB0aGUgcGFyZW5zIGJvdGggZWFzZXMgdGhlIGltcGxlbWVudGF0aW9uLCBhbmQK
LSMgc2ltcGxpZmllcyB0aGUgdXNlOgotIwotIyB8ICMgZm9yZWFjaChWQVIsIChMSVNUKSwgU1RN
VCkKLSMgfCBtNF9kZWZpbmUoW2ZvcmVhY2hdLCBbbTRfcHVzaGRlZihbJDFdKV9mb3JlYWNoKCRA
KW00X3BvcGRlZihbJDFdKV0pCi0jIHwgbTRfZGVmaW5lKFtfYXJnMV0sIFskMV0pCi0jIHwgbTRf
ZGVmaW5lKFtfZm9yZWFjaF0sCi0jIHwgIFttNF9pZigkMiwgW10sICwKLSMgfCAgICBbbTRfZGVm
aW5lKFskMV0sIFtfYXJnMSgkMildKSQzW11fZm9yZWFjaChbJDFdLCBbbTRfc2hpZnQoJDIpXSwg
WyQzXSldKV0pCi0jCi0jCi0jIE5vdywganVzdCByZXBsYWNlIHRoZSBgJDInIHdpdGggYG00X3F1
b3RlKCQyKScgaW4gdGhlIG91dGVyIGBtNF9pZicKLSMgdG8gaW1wcm92ZSByb2J1c3RuZXNzLCBh
bmQgeW91IGNvbWUgdXAgd2l0aCBhIG5pY2UgaW1wbGVtZW50YXRpb24KLSMgdGhhdCBkb2Vzbid0
IHJlcXVpcmUgZXh0cmEgcGFyZW50aGVzZXMgaW4gdGhlIHVzZXIncyBMSVNULgotIwotIyBCdXQg
d2FpdCAtICBub3cgdGhlIGFsZ29yaXRobSBpcyBxdWFkcmF0aWMsIGJlY2F1c2UgZXZlcnkgcmVj
dXJzaW9uIG9mCi0jIHRoZSBhbGdvcml0aG0ga2VlcHMgdGhlIGVudGlyZSBMSVNUIGFuZCBtZXJl
bHkgYWRkcyBhbm90aGVyIG00X3NoaWZ0IHRvCi0jIHRoZSBxdW90ZWQgdGV4dC4gIElmIHRoZSB1
c2VyIGhhcyBhIGxvdCBvZiBlbGVtZW50cyBpbiBMSVNULCB5b3UgY2FuCi0jIGJyaW5nIHRoZSBz
eXN0ZW0gdG8gaXRzIGtuZWVzIHdpdGggdGhlIG1lbW9yeSBtNCB0aGVuIHJlcXVpcmVzLCBvciB0
cmlwCi0jIHRoZSBtNCAtLW5lc3RpbmctbGltaXQgcmVjdXJzaW9uIGZhY3Rvci4gIFRoZSBvbmx5
IHdheSB0byBhdm9pZAotIyBxdWFkcmF0aWMgZ3Jvd3RoIGlzIGVuc3VyZSBtNF9zaGlmdCBpcyBl
eHBhbmRlZCBwcmlvciB0byB0aGUgcmVjdXJzaW9uLgotIyBIZW5jZSB0aGUgZGVzaWduIGJlbG93
LgotIwotIyBUaGUgTTQgbWFudWFsIG5vdyBpbmNsdWRlcyBhIGNoYXB0ZXIgZGV2b3RlZCB0byB0
aGlzIGlzc3VlLCB3aXRoCi0jIHRoZSBsZXNzb25zIGxlYXJuZWQgZnJvbSBtNHN1Z2FyLiAgQW5k
IHN0aWxsLCB0aGlzIGRlc2lnbiBpcyBvbmx5Ci0jIG9wdGltYWwgZm9yIE00IDEuNjsgc2VlIGZv
cmVhY2gubTQgZm9yIHlldCBtb3JlIGNvbW1lbnRzIG9uIHdoeQotIyBNNCAxLjQueCB1c2VzIHll
dCBhbm90aGVyIGltcGxlbWVudGF0aW9uLgotCi0KLSMgbTRfZm9yZWFjaChWQVJJQUJMRSwgTElT
VCwgRVhQUkVTU0lPTikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSMKLSMgRXhwYW5kIEVYUFJFU1NJT04gYXNzaWduaW5nIGVhY2ggdmFsdWUgb2YgdGhlIExJU1Qg
dG8gVkFSSUFCTEUuCi0jIExJU1Qgc2hvdWxkIGhhdmUgdGhlIGZvcm0gYGl0ZW1fMSwgaXRlbV8y
LCAuLi4sIGl0ZW1fbicsIGkuZS4gdGhlCi0jIHdob2xlIGxpc3QgbXVzdCAqcXVvdGVkKi4gIFF1
b3RlIG1lbWJlcnMgdG9vIGlmIHlvdSBkb24ndCB3YW50IHRoZW0KLSMgdG8gYmUgZXhwYW5kZWQu
Ci0jCi0jIFRoaXMgbWFjcm8gaXMgcm9idXN0IHRvIGFjdGl2ZSBzeW1ib2xzOgotIyAgICAgIHwg
bTRfZGVmaW5lKGFjdGl2ZSwgW0FDVCwgSVZFXSkKLSMgICAgICB8IG00X2ZvcmVhY2goVmFyLCBb
YWN0aXZlLCBhY3RpdmVdLCBbLVZhci1dKQotIyAgICAgPT4gLUFDVC0tSVZFLS1BQ1QtLUlWRS0K
LSMKLSMgICAgICB8IG00X2ZvcmVhY2goVmFyLCBbW2FjdGl2ZV0sIFthY3RpdmVdXSwgWy1WYXIt
XSkKLSMgICAgID0+IC1BQ1QsIElWRS0tQUNULCBJVkUtCi0jCi0jICAgICAgfCBtNF9mb3JlYWNo
KFZhciwgW1tbYWN0aXZlXV0sIFtbYWN0aXZlXV1dLCBbLVZhci1dKQotIyAgICAgPT4gLWFjdGl2
ZS0tYWN0aXZlLQotIwotIyBUaGlzIG1hY3JvIGlzIGNhbGxlZCBmcmVxdWVudGx5LCBzbyBhdm9p
ZCBleHRyYSBleHBhbnNpb25zIHN1Y2ggYXMKLSMgbTRfaWZ2YWwgYW5kIGRubC4gIEFsc28sIHNp
bmNlICQyIG1pZ2h0IGJlIHF1aXRlIGxhcmdlLCB0cnkgdG8gdXNlIGl0Ci0jIGFzIGxpdHRsZSBh
cyBwb3NzaWJsZSBpbiBfbTRfZm9yZWFjaDsgZWFjaCBleHRyYSB1c2UgcmVxdWlyZXMgdGhhdCBt
dWNoCi0jIG1vcmUgbWVtb3J5IGZvciBleHBhbnNpb24uICBTbywgcmF0aGVyIHRoYW4gZGlyZWN0
bHkgY29tcGFyZSAkMiBhZ2FpbnN0Ci0jIFtdIGFuZCB1c2UgbTRfY2FyL200X2NkciBmb3IgcmVj
dXJzaW9uLCB3ZSBpbnN0ZWFkIHVuYm94IHRoZSBsaXN0ICh3aGljaAotIyByZXF1aXJlcyBzd2Fw
cGluZyB0aGUgYXJndW1lbnQgb3JkZXIgaW4gdGhlIGhlbHBlciksIGluc2VydCBhbiBpZ25vcmVk
Ci0jIHRoaXJkIGFyZ3VtZW50LCBhbmQgdXNlIG00X3NoaWZ0MyB0byBkZXRlY3Qgd2hlbiByZWN1
cnNpb24gaXMgY29tcGxldGUsCi0jIGF0IHdoaWNoIHBvaW50IHRoaXMgbG9va3MgdmVyeSBtdWNo
IGxpa2UgbTRfbWFwX2FyZ3MuCi1tNF9kZWZpbmUoW200X2ZvcmVhY2hdLAotW200X2lmKFskMl0s
IFtdLCBbXSwKLSAgICAgICBbbTRfcHVzaGRlZihbJDFdKV8kMChbbTRfZGVmaW5lKFskMV0sXSwg
WykkM10sIFtdLAotICAkMiltNF9wb3BkZWYoWyQxXSldKV0pCi0KLSMgX200X2ZvcmVhY2goUFJF
LCBQT1NULCBJR05PUkVELCBBUkcuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotIyBGb3JtIHRoZSBjb21tb24gYmFzaXMgb2YgdGhlIG00X2ZvcmVhY2ggYW5k
IG00X21hcCBtYWNyb3MuICBGb3IgZWFjaAotIyBBUkcsIGV4cGFuZCBQUkVbQVJHXVBPU1RbXS4g
IFRoZSBJR05PUkVEIGFyZ3VtZW50IG1ha2VzIHJlY3Vyc2lvbgotIyBlYXNpZXIsIGFuZCBtdXN0
IGJlIHN1cHBsaWVkIHJhdGhlciB0aGFuIGltcGxpY2l0LgotIwotIyBQbGVhc2Uga2VlcCBmb3Jl
YWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgotbTRfZGVmaW5l
KFtfbTRfZm9yZWFjaF0sCi1bbTRfaWYoWyQjXSwgWzNdLCBbXSwKLSAgICAgICBbJDFbJDRdJDJb
XSQwKFskMV0sIFskMl0sIG00X3NoaWZ0MygkQCkpXSldKQotCi0KLSMgbTRfZm9yZWFjaF93KFZB
UklBQkxFLCBMSVNULCBFWFBSRVNTSU9OKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0jIExpa2UgbTRfZm9yZWFjaCwgYnV0IHRoZSBsaXN0IGlzIHdoaXRlc3Bh
Y2Ugc2VwYXJhdGVkLiAgRGVwZW5kaW5nIG9uCi0jIEVYUFJFU1NJT04sIGl0IG1heSBiZSBtb3Jl
IGVmZmljaWVudCB0byB1c2UgbTRfbWFwX2FyZ3Nfdy4KLSMKLSMgVGhpcyBtYWNybyBpcyByb2J1
c3QgdG8gYWN0aXZlIHN5bWJvbHM6Ci0jICAgIG00X2ZvcmVhY2hfdyhbVmFyXSwgWyBhY3RpdmUK
LSMgICAgYglhY3RcCi0jICAgIGl2ZSAgXSwgWy1WYXItXSllbmQKLSMgICAgPT4gLWFjdGl2ZS0t
Yi0tYWN0aXZlLWVuZAotIwotIyBUaGlzIHVzZWQgdG8gdXNlIGEgc2xvd2VyIGltcGxlbWVudGF0
aW9uIGJhc2VkIG9uIG00X2ZvcmVhY2g6Ci0jICAgbTRfZm9yZWFjaChbJDFdLCBtNF9zcGxpdCht
NF9ub3JtYWxpemUoWyQyXSksIFsgXSksIFskM10pCi1tNF9kZWZpbmUoW200X2ZvcmVhY2hfd10s
Ci1bbTRfcHVzaGRlZihbJDFdKW00X21hcF9hcmdzX3coWyQyXSwKLSAgW200X2RlZmluZShbJDFd
LF0sIFspJDNdKW00X3BvcGRlZihbJDFdKV0pCi0KLQotIyBtNF9tYXAoTUFDUk8sIExJU1QpCi0j
IG00X21hcGFsbChNQUNSTywgTElTVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJbnZv
a2UgTUFDUk8oJDEpLCBNQUNSTygkMikgZXRjLiB3aGVyZSAkMSwgJDIuLi4gYXJlIHRoZSBlbGVt
ZW50cyBvZgotIyBMSVNULiAgJDEsICQyLi4uIG11c3QgaW4gdHVybiBiZSBsaXN0cywgYXBwcm9w
cmlhdGUgZm9yIG00X2FwcGx5LgotIyBJZiBMSVNUIGNvbnRhaW5zIGFuIGVtcHR5IHN1Ymxpc3Qs
IG00X21hcCBza2lwcyB0aGUgZXhwYW5zaW9uIG9mCi0jIE1BQ1JPLCB3aGlsZSBtNF9tYXBhbGwg
ZXhwYW5kcyBNQUNSTyB3aXRoIG5vIGFyZ3VtZW50cy4KLSMKLSMgU2luY2UgTElTVCBtYXkgYmUg
cXVpdGUgbGFyZ2UsIHdlIHdhbnQgdG8gbWluaW1pemUgaG93IG9mdGVuIGl0Ci0jIGFwcGVhcnMg
aW4gdGhlIGV4cGFuc2lvbi4gIFJhdGhlciB0aGFuIHVzZSBtNF9jYXIvbTRfY2RyIGl0ZXJhdGlv
biwKLSMgd2UgdW5ib3ggdGhlIGxpc3QsIGFuZCB1c2UgX200X2ZvcmVhY2ggZm9yIGl0ZXJhdGlv
bi4gIEZvciBtNF9tYXAsCi0jIGFuIGVtcHR5IGxpc3QgYmVoYXZlcyBsaWtlIGFuIGVtcHR5IHN1
Ymxpc3QgYW5kIGdldHMgaWdub3JlZDsgZm9yCi0jIG00X21hcGFsbCwgd2UgbXVzdCBzcGVjaWFs
LWNhc2UgdGhlIGVtcHR5IGxpc3QuCi1tNF9kZWZpbmUoW200X21hcF0sCi1bX200X2ZvcmVhY2go
W19tNF9hcHBseShbJDFdLF0sIFspXSwgW10sICQyKV0pCi0KLW00X2RlZmluZShbbTRfbWFwYWxs
XSwKLVttNF9pZihbJDJdLCBbXSwgW10sCi0gICAgICAgW19tNF9mb3JlYWNoKFttNF9hcHBseShb
JDFdLF0sIFspXSwgW10sICQyKV0pXSkKLQotCi0jIG00X21hcF9zZXAoTUFDUk8sIFtTRVBBUkFU
T1JdLCBMSVNUKQotIyBtNF9tYXBhbGxfc2VwKE1BQ1JPLCBbU0VQQVJBVE9SXSwgTElTVCkKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEludm9rZSBNQUNSTygk
MSksIFNFUEFSQVRPUiwgTUFDUk8oJDIpLCAuLi4sIE1BQ1JPKCROKSB3aGVyZSAkMSwKLSMgJDIu
Li4gJE4gYXJlIHRoZSBlbGVtZW50cyBvZiBMSVNULCBhbmQgYXJlIGluIHR1cm4gbGlzdHMgYXBw
cm9wcmlhdGUKLSMgZm9yIG00X2FwcGx5LiAgU0VQQVJBVE9SIGlzIGV4cGFuZGVkLCBpbiBvcmRl
ciB0byBhbGxvdyB0aGUgY3JlYXRpb24KLSMgb2YgYSBsaXN0IG9mIGFyZ3VtZW50cyBieSB1c2lu
ZyBhIHNpbmdsZS1xdW90ZWQgY29tbWEgYXMgdGhlCi0jIHNlcGFyYXRvci4gIEZvciBlYWNoIGVt
cHR5IHN1Ymxpc3QsIG00X21hcF9zZXAgc2tpcHMgdGhlIGV4cGFuc2lvbgotIyBvZiBNQUNSTyBh
bmQgU0VQQVJBVE9SLCB3aGlsZSBtNF9tYXBhbGxfc2VwIGV4cGFuZHMgTUFDUk8gd2l0aCBubwot
IyBhcmd1bWVudHMuCi0jCi0jIEZvciBtNF9tYXBhbGxfc2VwLCBtZXJlbHkgZXhwYW5kIHRoZSBm
aXJzdCBpdGVyYXRpb24gd2l0aG91dCB0aGUKLSMgc2VwYXJhdG9yLCB0aGVuIGluY2x1ZGUgc2Vw
YXJhdG9yIGFzIHBhcnQgb2Ygc3Vic2VxdWVudCByZWN1cnNpb247Ci0jIGJ1dCBhdm9pZCBleHRy
YSBleHBhbnNpb24gb2YgTElTVCdzIHNpZGUtZWZmZWN0cyB2aWEgYSBoZWxwZXIgbWFjcm8uCi0j
IEZvciBtNF9tYXBfc2VwLCB0aGluZ3MgYXJlIHRyaWNraWVyIC0gd2UgZG9uJ3Qga25vdyBpZiB0
aGUgZmlyc3QKLSMgbGlzdCBlbGVtZW50IGlzIGFuIGVtcHR5IHN1Ymxpc3QsIHNvIHdlIG11c3Qg
ZGVmaW5lIGEgc2VsZi1tb2RpZnlpbmcKLSMgaGVscGVyIG1hY3JvIGFuZCB1c2UgdGhhdCBhcyB0
aGUgc2VwYXJhdG9yIGluc3RlYWQuCi1tNF9kZWZpbmUoW200X21hcF9zZXBdLAotW200X3B1c2hk
ZWYoW200X1NlcF0sIFttNF9kZWZpbmUoW200X1NlcF0sIF9tNF9kZWZuKFttNF91bnF1b3RlXSkp
XSldZG5sCi1bX200X2ZvcmVhY2goW19tNF9hcHBseShbbTRfU2VwKFskMl0pW10kMV0sXSwgWyld
LCBbXSwgJDMpbTRfcG9wZGVmKFttNF9TZXBdKV0pCi0KLW00X2RlZmluZShbbTRfbWFwYWxsX3Nl
cF0sCi1bbTRfaWYoWyQzXSwgW10sIFtdLCBbXyQwKFskMV0sIFskMl0sICQzKV0pXSkKLQotbTRf
ZGVmaW5lKFtfbTRfbWFwYWxsX3NlcF0sCi1bbTRfYXBwbHkoWyQxXSwgWyQzXSlfbTRfZm9yZWFj
aChbbTRfYXBwbHkoWyQyW10kMV0sXSwgWyldLCBtNF9zaGlmdDIoJEApKV0pCi0KLSMgbTRfbWFw
X2FyZ3MoRVhQUkVTU0lPTiwgQVJHLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIEV4cGFuZCBFWFBSRVNTSU9OKFtBUkddKSBmb3IgZWFjaCBhcmd1bWVudC4gIE1vcmUg
ZWZmaWNpZW50IHRoYW4KLSMgICBtNF9mb3JlYWNoKFt2YXJdLCBbQVJHLi4uXSwgW0VYUFJFU1NJ
T04obTRfZGVmbihbdmFyXSkpXSkKLSMgU2hvcnRoYW5kIGZvciBtNF9tYXBfYXJnc19zZXAoW0VY
UFJFU1NJT04oXSwgWyldLCBbXSwgQVJHLi4uKS4KLW00X2RlZmluZShbbTRfbWFwX2FyZ3NdLAot
W200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQjXSld
LAotICAgICAgIFskI10sIFsxXSwgW10sCi0gICAgICAgWyQjXSwgWzJdLCBbJDEoWyQyXSlbXV0s
Ci0gICAgICAgW19tNF9mb3JlYWNoKFskMShdLCBbKV0sICRAKV0pXSkKLQotCi0jIG00X21hcF9h
cmdzX3BhaXIoRVhQUkVTU0lPTiwgW0VORC1FWFBSID0gRVhQUkVTU0lPTl0sIEFSRy4uLikKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotIyBQZXJmb3JtIGEgcGFpcndpc2UgZ3JvdXBpbmcgb2YgY29uc2VjdXRpdmUgQVJHcywg
YnkgZXhwYW5kaW5nCi0jIEVYUFJFU1NJT04oW0FSRzFdLCBbQVJHMl0pLiAgSWYgdGhlcmUgYXJl
IGFuIG9kZCBudW1iZXIgb2YgQVJHcywgdGhlCi0jIGZpbmFsIGFyZ3VtZW50IGlzIGV4cGFuZGVk
IHdpdGggRU5ELUVYUFIoW0FSR25dKS4KLSMKLSMgRm9yIGV4YW1wbGU6Ci0jICAgbTRfZGVmaW5l
KFtzaG93XSwgWygkKiltNF9uZXdsaW5lXSlkbmwKLSMgICBtNF9tYXBfYXJnc19wYWlyKFtzaG93
XSwgW10sIFthXSwgW2JdLCBbY10sIFtkXSwgW2VdKWRubAotIyAgID0+IChhLGIpCi0jICAgPT4g
KGMsZCkKLSMgICA9PiAoZSkKLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdp
dGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShbbTRfbWFwX2FyZ3NfcGFp
cl0sCi1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czog
JCNdKV0sCi0gICAgICAgWyQjXSwgWzFdLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50
czogJCM6ICQxXSldLAotICAgICAgIFskI10sIFsyXSwgW10sCi0gICAgICAgWyQjXSwgWzNdLCBb
bTRfZGVmYXVsdChbJDJdLCBbJDFdKShbJDNdKVtdXSwKLSAgICAgICBbJCNdLCBbNF0sIFskMShb
JDNdLCBbJDRdKVtdXSwKLSAgICAgICBbJDEoWyQzXSwgWyQ0XSlbXSQwKFskMV0sIFskMl0sIG00
X3NoaWZ0KG00X3NoaWZ0MygkQCkpKV0pXSkKLQotCi0jIG00X21hcF9hcmdzX3NlcChbUFJFXSwg
W1BPU1RdLCBbU0VQXSwgQVJHLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kIFBSRVtBUkddUE9TVCBmb3IgZWFjaCBhcmd1bWVudCwg
d2l0aCBTRVAgYmV0d2VlbiBhcmd1bWVudHMuCi1tNF9kZWZpbmUoW200X21hcF9hcmdzX3NlcF0s
Ci1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCNd
KV0sCi0gICAgICAgWyQjXSwgWzFdLCBbXSwKLSAgICAgICBbJCNdLCBbMl0sIFtdLAotICAgICAg
IFskI10sIFszXSwgW10sCi0gICAgICAgWyQjXSwgWzRdLCBbJDFbJDRdJDJbXV0sCi0gICAgICAg
WyQxWyQ0XSQyW11fbTRfZm9yZWFjaChbJDNbXSQxXSwgWyQyXSwgbTRfc2hpZnQzKCRAKSldKV0p
Ci0KLQotIyBtNF9tYXBfYXJnc193KFNUUklORywgW1BSRV0sIFtQT1NUXSwgW1NFUF0pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUGVyZm9ybSB0aGUg
ZXhwYW5zaW9uIG9mIFBSRVt3b3JkXVBPU1RbXSBmb3IgZWFjaCB3b3JkIGluIFNUUklORwotIyBz
ZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZS4gIE1vcmUgZWZmaWNpZW50IHRoYW46Ci0jICAgbTRfZm9y
ZWFjaF93KFt2YXJdLCBbU1RSSU5HXSwgW1BSRVtdbTRfZGVmbihbdmFyXSlQT1NUXSkKLSMgQWRk
aXRpb25hbGx5LCBleHBhbmQgU0VQIGJldHdlZW4gd29yZHMuCi0jCi0jIEFzIGxvbmcgYXMgd2Ug
aGF2ZSB0byB1c2UgbTRfYnBhdHN1YnN0IHRvIHNwbGl0IHRoZSBzdHJpbmcsIHdlIG1pZ2h0Ci0j
IGFzIHdlbGwgbWFrZSBpdCBhbHNvIGFwcGx5IFBSRSBhbmQgUE9TVDsgdGhpcyBhdm9pZHMgaXRl
cmF0aW9uCi0jIGFsdG9nZXRoZXIuICBCdXQgd2UgbXVzdCBiZSBjYXJlZnVsIG9mIGFueSBcIGlu
IFBSRSBvciBQT1NULgotIyBfbTRfc3RyaXAgcmV0dXJucyBhIHF1b3RlZCBzdHJpbmcsIGJ1dCB0
aGF0J3Mgb2theSwgc2luY2UgaXQgYWxzbwotIyBzdXBwbGllcyBhbiBlbXB0eSBsZWFkaW5nIGFu
ZCB0cmFpbGluZyBhcmd1bWVudCBkdWUgdG8gb3VyCi0jIGludGVudGlvbmFsIHdoaXRlc3BhY2Ug
YXJvdW5kIFNUUklORy4gIFdlIHVzZSBtNF9zdWJzdHIgdG8gc3RyaXAgdGhlCi0jIGVtcHR5IGVs
ZW1lbnRzIGFuZCByZW1vdmUgdGhlIGV4dHJhIGxheWVyIG9mIHF1b3RpbmcuCi1tNF9kZWZpbmUo
W200X21hcF9hcmdzX3ddLAotW18kMChfbTRfc3BsaXQoWyBdbTRfZmxhdHRlbihbJDFdKVsgXSwg
W1sJIF0rXSwKLQkgICAgICAgbTRfaWYobTRfaW5kZXgoWyQyJDMkNF0sIFtcXSksIFstMV0sIFtb
JDNbXSQ0W10kMl1dLAotCQkgICAgIFttNF9icGF0c3Vic3QoW1skM1tdJDRbXSQyXV0sIFtcXF0s
IFtcXFxcXSldKSksCi0gICAgIG00X2xlbihbW10kM1tdJDRdKSwgbTRfbGVuKFskNFtdJDJbXV0p
KV0pCi0KLW00X2RlZmluZShbX200X21hcF9hcmdzX3ddLAotW200X3N1YnN0cihbJDFdLCBbJDJd
LCBtNF9ldmFsKG00X2xlbihbJDFdKSAtIFskMl0gLSBbJDNdKSldKQotCi0KLSMgbTRfc3RhY2tf
Zm9yZWFjaChNQUNSTywgRlVOQykKLSMgbTRfc3RhY2tfZm9yZWFjaF9saWZvKE1BQ1JPLCBGVU5D
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFBhc3MgZWFjaCBzdGFj
a2VkIGRlZmluaXRpb24gb2YgTUFDUk8gdG8gdGhlIG9uZS1hcmd1bWVudCBtYWNybyBGVU5DLgot
IyBtNF9zdGFja19mb3JlYWNoIHByb2NlZWRzIGluIEZJRk8gb3JkZXIsIHdoaWxlIG00X3N0YWNr
X2ZvcmVhY2hfbGlmbwotIyBwcm9jZXNzZXMgdGhlIHRvcG1vc3QgZGVmaW5pdGlvbnMgZmlyc3Qu
ICBJbiBhZGRpdGlvbiwgRlVOQyBzaG91bGQKLSMgbm90IHB1c2ggb3IgcG9wIGRlZmluaXRpb25z
IG9mIE1BQ1JPLCBhbmQgc2hvdWxkIG5vdCBleHBlY3QgYW55dGhpbmcgYWJvdXQKLSMgdGhlIGFj
dGl2ZSBkZWZpbml0aW9uIG9mIE1BQ1JPIChpdCB3aWxsIG5vdCBiZSB0aGUgdG9wbW9zdCwgYW5k
IG1heSBub3QKLSMgYmUgdGhlIG9uZSBwYXNzZWQgdG8gRlVOQyBlaXRoZXIpLgotIwotIyBTb21l
IG1hY3JvcyBzaW1wbHkgY2FuJ3QgYmUgZXhhbWluZWQgd2l0aCB0aGlzIG1ldGhvZDogbmFtZWx5
LAotIyBhbnl0aGluZyBpbnZvbHZlZCBpbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgX200X3N0YWNr
X3JldmVyc2UuCi1tNF9kZWZpbmUoW200X3N0YWNrX2ZvcmVhY2hdLAotW19tNF9zdGFja19yZXZl
cnNlKFskMV0sIFttNF90bXAtJDFdKV1kbmwKLVtfbTRfc3RhY2tfcmV2ZXJzZShbbTRfdG1wLSQx
XSwgWyQxXSwgWyQyKF9tNF9kZWZuKFttNF90bXAtJDFdKSldKV0pCi0KLW00X2RlZmluZShbbTRf
c3RhY2tfZm9yZWFjaF9saWZvXSwKLVtfbTRfc3RhY2tfcmV2ZXJzZShbJDFdLCBbbTRfdG1wLSQx
XSwgWyQyKF9tNF9kZWZuKFttNF90bXAtJDFdKSldKV1kbmwKLVtfbTRfc3RhY2tfcmV2ZXJzZShb
bTRfdG1wLSQxXSwgWyQxXSldKQotCi0jIG00X3N0YWNrX2ZvcmVhY2hfc2VwKE1BQ1JPLCBbUFJF
XSwgW1BPU1RdLCBbU0VQXSkKLSMgbTRfc3RhY2tfZm9yZWFjaF9zZXBfbGlmbyhNQUNSTywgW1BS
RV0sIFtQT1NUXSwgW1NFUF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTaW1pbGFyIHRvIG00X3N0YWNrX2ZvcmVhY2ggYW5kIG00
X3N0YWNrX2ZvcmVhY2hfbGlmbywgaW4gdGhhdCBldmVyeQotIyBkZWZpbml0aW9uIG9mIGEgcHVz
aGRlZiBzdGFjayB3aWxsIGJlIHZpc2l0ZWQuICBCdXQgcmF0aGVyIHRoYW4KLSMgcGFzc2luZyB0
aGUgZGVmaW5pdGlvbiBhcyBhIHNpbmdsZSBhcmd1bWVudCB0byBhIG1hY3JvLCB0aGlzIHZhcmlh
bnQKLSMgZXhwYW5kcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiBQUkVbXWRlZmluaXRpb25bXVBPU1Qs
IGFuZCBleHBhbmRzIFNFUAotIyBiZXR3ZWVuIGNvbnNlY3V0aXZlIGV4cGFuc2lvbnMuICBOb3Rl
IHRoYXQgbTRfc3RhY2tfZm9yZWFjaChbYV0sIFtiXSkKLSMgaXMgZXF1aXZhbGVudCB0byBtNF9z
dGFja19mb3JlYWNoX3NlcChbYV0sIFtiKF0sIFspXSkuCi1tNF9kZWZpbmUoW200X3N0YWNrX2Zv
cmVhY2hfc2VwXSwKLVtfbTRfc3RhY2tfcmV2ZXJzZShbJDFdLCBbbTRfdG1wLSQxXSldZG5sCi1b
X200X3N0YWNrX3JldmVyc2UoW200X3RtcC0kMV0sIFskMV0sIFskMltdX200X2RlZm4oW200X3Rt
cC0kMV0pJDNdLCBbJDRbXV0pXSkKLQotbTRfZGVmaW5lKFttNF9zdGFja19mb3JlYWNoX3NlcF9s
aWZvXSwKLVtfbTRfc3RhY2tfcmV2ZXJzZShbJDFdLCBbbTRfdG1wLSQxXSwgWyQyW11fbTRfZGVm
bihbbTRfdG1wLSQxXSkkM10sIFskNFtdXSldZG5sCi1bX200X3N0YWNrX3JldmVyc2UoW200X3Rt
cC0kMV0sIFskMV0pXSkKLQotCi0jIF9tNF9zdGFja19yZXZlcnNlKE9MRCwgTkVXLCBbQUNUSU9O
XSwgW1NFUF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jIEEgcmVjdXJzaXZlIHdvcmtlciBmb3IgcHVzaGRlZiBzdGFjayBtYW5pcHVsYXRpb24uICBE
ZXN0cnVjdGl2ZWx5Ci0jIGNvcHkgdGhlIE9MRCBzdGFjayBpbnRvIHRoZSBORVcsIGFuZCBleHBh
bmRpbmcgQUNUSU9OIGZvciBlYWNoCi0jIGl0ZXJhdGlvbi4gIEFmdGVyIHRoZSBmaXJzdCBpdGVy
YXRpb24sIFNFUCBpcyBwcm9tb3RlZCB0byB0aGUgZnJvbnQKLSMgb2YgQUNUSU9OIChub3RlIHRo
YXQgU0VQIHNob3VsZCBpbmNsdWRlIGEgdHJhaWxpbmcgW10gaWYgaXQgaXMgdG8KLSMgYXZvaWQg
aW50ZXJmZXJpbmcgd2l0aCBBQ1RJT04pLiAgVGhlIGN1cnJlbnQgZGVmaW5pdGlvbiBpcyBleGFt
aW5lZAotIyBhZnRlciB0aGUgTkVXIGhhcyBiZWVuIHB1c2hlZCBidXQgYmVmb3JlIE9MRCBoYXMg
YmVlbiBwb3BwZWQ7IHRoaXMKLSMgb3JkZXIgaXMgaW1wb3J0YW50LCBhcyBBQ1RJT04gaXMgcGVy
bWl0dGVkIHRvIG9wZXJhdGUgb24gZWl0aGVyCi0jIF9tNF9kZWZuKFtPTERdKSBvciBfbTRfZGVm
bihbTkVXXSkuICBTaW5jZSB0aGUgb3BlcmF0aW9uIGlzCi0jIGRlc3RydWN0aXZlLCB0aGlzIG1h
Y3JvIGlzIGdlbmVyYWxseSB1c2VkIHR3aWNlLCB3aXRoIGEgdGVtcG9yYXJ5Ci0jIG1hY3JvIG5h
bWUgaG9sZGluZyB0aGUgc3dhcHBlZCBjb3B5LgotbTRfZGVmaW5lKFtfbTRfc3RhY2tfcmV2ZXJz
ZV0sCi1bbTRfaWZkZWYoWyQxXSwgW200X3B1c2hkZWYoWyQyXSwKLSAgX200X2RlZm4oWyQxXSkp
JDNbXV9tNF9wb3BkZWYoWyQxXSkkMChbJDFdLCBbJDJdLCBbJDQkM10pXSldKQotCi0KLQotIyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyA5LiBNb3JlIGRpdmVyc2lvbiBzdXBw
b3J0LiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0KLSMgbTRfY2xl
YXJkaXZlcnQoRElWRVJTSU9OLU5BTUUuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBEaXNjYXJkIGFueSB0ZXh0IGluIERJVkVSU0lPTi1OQU1FLgotIwotIyBUaGlz
IHdvcmtzIGV2ZW4gaW5zaWRlIG00X2V4cGFuZC4KLW00X2RlZmluZShbbTRfY2xlYXJkaXZlcnRd
LAotW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFskMDogbWlzc2luZyBhcmd1bWVudF0pXSwK
LSAgICAgICBbX200X2RpdmVydF9yYXcoWy0xXSltNF91bmRpdmVydCgkQClfbTRfZGl2ZXJ0X3Jh
dygKLQkgX200X2RpdmVydChfbTRfZGVmbihbX200X2RpdmVydF9kaXZlcnNpb25dKSwgWy1dKSld
KV0pCi0KLQotIyBfbTRfZGl2ZXJ0KERJVkVSU0lPTi1OQU1FIG9yIE5VTUJFUiwgW05PV0FSTl0p
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYg
RElWRVJTSU9OLU5BTUUgaXMgdGhlIG5hbWUgb2YgYSBkaXZlcnNpb24sIHJldHVybiBpdHMgbnVt
YmVyLAotIyBvdGhlcndpc2UgaWYgaXQgaXMgYSBOVU1CRVIgcmV0dXJuIGl0LiAgSXNzdWUgYSB3
YXJuaW5nIGFib3V0Ci0jIHRoZSB1c2Ugb2YgYSBudW1iZXIgaW5zdGVhZCBvZiBhIG5hbWUsIHVu
bGVzcyBOT1dBUk4gaXMgcHJvdmlkZWQuCi1tNF9kZWZpbmUoW19tNF9kaXZlcnRdLAotW200X2lm
ZGVmKFtfbTRfZGl2ZXJ0KCQxKV0sCi0JICBbbTRfaW5kaXIoW19tNF9kaXZlcnQoJDEpXSldLAot
CSAgW200X2lmKFskMl0sIFtdLCBbbTRfd2Fybihbc3ludGF4XSwKLQkgICAgIFtwcmVmZXIgbmFt
ZWQgZGl2ZXJzaW9uc10pXSkkMV0pXSkKLQotIyBLSUxMIGlzIG9ubHkgdXNlZCB0byBzdXBwcmVz
cyBvdXRwdXQuCi1tNF9kZWZpbmUoW19tNF9kaXZlcnQoS0lMTCldLCAgICAgICAgICAgLTEpCi0K
LSMgVGhlIGVtcHR5IGRpdmVyc2lvbiBuYW1lIGlzIGEgc3lub255bSBmb3IgMC4KLW00X2RlZmlu
ZShbX200X2RpdmVydCgpXSwgICAgICAgICAgICAgICAgMCkKLQotCi0jIG00X2RpdmVydF9zdGFj
awotIyAtLS0tLS0tLS0tLS0tLS0KLSMgUHJpbnQgdGhlIGRpdmVyc2lvbiBzdGFjaywgaWYgaXQn
cyBub25lbXB0eS4gIFRoZSBjYWxsZXIgaXMKLSMgcmVzcG9uc2libGUgZm9yIGFueSBsZWFkaW5n
IG9yIHRyYWlsaW5nIG5ld2xpbmUuCi1tNF9kZWZpbmUoW200X2RpdmVydF9zdGFja10sCi1bbTRf
c3RhY2tfZm9yZWFjaF9zZXBfbGlmbyhbX200X2RpdmVydF9zdGFja10sIFtdLCBbXSwgWwotXSld
KQotCi0KLSMgbTRfZGl2ZXJ0X3N0YWNrX3B1c2goTUFDUk8tTkFNRSwgRElWRVJTSU9OLU5BTUUp
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBG
b3JtIGFuIGVudHJ5IG9mIHRoZSBkaXZlcnNpb24gc3RhY2sgZnJvbSBjYWxsZXIgTUFDUk8tTkFN
RSBhbmQKLSMgZW50ZXJpbmcgRElWRVJTSU9OLU5BTUUgYW5kIHB1c2ggaXQuCi1tNF9kZWZpbmUo
W200X2RpdmVydF9zdGFja19wdXNoXSwKLVttNF9wdXNoZGVmKFtfbTRfZGl2ZXJ0X3N0YWNrXSwg
bTRfbG9jYXRpb25bOiAkMTogJDJdKV0pCi0KLQotIyBtNF9kaXZlcnQoRElWRVJTSU9OLU5BTUUp
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQ2hhbmdlIHRoZSBkaXZlcnNpb24gc3Ry
ZWFtIHRvIERJVkVSU0lPTi1OQU1FLgotbTRfZGVmaW5lKFttNF9kaXZlcnRdLAotW200X3BvcGRl
ZihbX200X2RpdmVydF9zdGFja10pXWRubAotW200X2RlZmluZShbX200X2RpdmVydF9kaXZlcnNp
b25dLCBbJDFdKV1kbmwKLVttNF9kaXZlcnRfc3RhY2tfcHVzaChbJDBdLCBbJDFdKV1kbmwKLVtf
bTRfZGl2ZXJ0X3JhdyhfbTRfZGl2ZXJ0KFskMV0pKV0pCi0KLQotIyBtNF9kaXZlcnRfcHVzaChE
SVZFUlNJT04tTkFNRSwgW05PV0FSTl0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgQ2hhbmdlIHRoZSBkaXZlcnNpb24gc3RyZWFtIHRvIERJVkVSU0lPTi1O
QU1FLCB3aGlsZSBzdGFja2luZyBvbGQgdmFsdWVzLgotIyBGb3IgaW50ZXJuYWwgdXNlIG9ubHk6
IGlmIE5PV0FSTiBpcyBub3QgZW1wdHksIERJVkVSU0lPTi1OQU1FIGNhbiBiZSBhCi0jIG51bWJl
ciBpbnN0ZWFkIG9mIGEgbmFtZS4KLW00X2RlZmluZShbbTRfZGl2ZXJ0X3B1c2hdLAotW200X2Rp
dmVydF9zdGFja19wdXNoKFskMF0sIFskMV0pXWRubAotW200X3B1c2hkZWYoW19tNF9kaXZlcnRf
ZGl2ZXJzaW9uXSwgWyQxXSldZG5sCi1bX200X2RpdmVydF9yYXcoX200X2RpdmVydChbJDFdLCBb
JDJdKSldKQotCi0KLSMgbTRfZGl2ZXJ0X3BvcChbRElWRVJTSU9OLU5BTUVdKQotIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIENoYW5nZSB0aGUgZGl2ZXJzaW9uIHN0cmVhbSB0
byBpdHMgcHJldmlvdXMgdmFsdWUsIHVuc3RhY2tpbmcgaXQuCi0jIElmIHNwZWNpZmllZCwgdmVy
aWZ5IHdlIGxlZnQgRElWRVJTSU9OLU5BTUUuCi0jIFdoZW4gd2UgcG9wIHRoZSBsYXN0IHZhbHVl
IGZyb20gdGhlIHN0YWNrLCB3ZSBkaXZlcnQgdG8gLTEuCi1tNF9kZWZpbmUoW200X2RpdmVydF9w
b3BdLAotW200X2lmKFskMV0sIFtdLCBbXSwKLSAgICAgICBbJDFdLCBfbTRfZGVmbihbX200X2Rp
dmVydF9kaXZlcnNpb25dKSwgW10sCi0gICAgICAgW200X2ZhdGFsKFskMCgkMSk6IGRpdmVyc2lv
biBtaXNtYXRjaDoKLV1tNF9kaXZlcnRfc3RhY2spXSldZG5sCi1bX200X3BvcGRlZihbX200X2Rp
dmVydF9zdGFja10sIFtfbTRfZGl2ZXJ0X2RpdmVyc2lvbl0pXWRubAotW200X2lmZGVmKFtfbTRf
ZGl2ZXJ0X2RpdmVyc2lvbl0sIFtdLAotCSAgIFttNF9mYXRhbChbdG9vIG1hbnkgbTRfZGl2ZXJ0
X3BvcF0pXSldZG5sCi1bX200X2RpdmVydF9yYXcoX200X2RpdmVydChfbTRfZGVmbihbX200X2Rp
dmVydF9kaXZlcnNpb25dKSwgWy1dKSldKQotCi0KLSMgbTRfZGl2ZXJ0X3RleHQoRElWRVJTSU9O
LU5BTUUsIENPTlRFTlQpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotIyBPdXRwdXQgQ09OVEVOVCBpbnRvIERJVkVSU0lPTi1OQU1FICh3aGljaCBtYXkgYmUgYSBu
dW1iZXIgYWN0dWFsbHkpLgotIyBBbiBlbmQgb2YgbGluZSBpcyBhcHBlbmRlZCBmb3IgZnJlZSB0
byBDT05URU5ULgotbTRfZGVmaW5lKFttNF9kaXZlcnRfdGV4dF0sCi1bbTRfZGl2ZXJ0X3B1c2go
WyQxXSkkMgotbTRfZGl2ZXJ0X3BvcChbJDFdKV0pCi0KLQotIyBtNF9kaXZlcnRfb25jZShESVZF
UlNJT04tTkFNRSwgQ09OVEVOVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIE91dHB1dCBDT05URU5UIGludG8gRElWRVJTSU9OLU5BTUUgb25jZSwgaWYgbm90
IGFscmVhZHkgdGhlcmUuCi0jIEFuIGVuZCBvZiBsaW5lIGlzIGFwcGVuZGVkIGZvciBmcmVlIHRv
IENPTlRFTlQuCi1tNF9kZWZpbmUoW200X2RpdmVydF9vbmNlXSwKLVttNF9leHBhbmRfb25jZShb
bTRfZGl2ZXJ0X3RleHQoWyQxXSwgWyQyXSldKV0pCi0KLQotIyBfbTRfZGl2ZXJ0X3Vuc2FmZShE
SVZFUlNJT04tTkFNRSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElz
c3VlIGEgd2FybmluZyB0aGF0IHRoZSBhdHRlbXB0IHRvIGNoYW5nZSB0aGUgY3VycmVudCBkaXZl
cnNpb24gdG8KLSMgRElWRVJTSU9OLU5BTUUgaXMgdW5zYWZlLCBiZWNhdXNlIHRoaXMgbWFjcm8g
aXMgYmVpbmcgZXhwYW5kZWQKLSMgZHVyaW5nIGFyZ3VtZW50IGNvbGxlY3Rpb24gb2YgbTRfZXhw
YW5kLgotbTRfZGVmaW5lKFtfbTRfZGl2ZXJ0X3Vuc2FmZV0sCi1bbTRfZmF0YWwoWyQwOiBjYW5u
b3QgY2hhbmdlIGRpdmVyc2lvbiB0byBgJDEnIGluc2lkZSBtNF9leHBhbmRdKV0pCi0KLQotIyBt
NF91bmRpdmVydChESVZFUlNJT04tTkFNRS4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIFVuZGl2ZXJ0IERJVkVSU0lPTi1OQU1FLiAgVW5saWtlIHRoZSBNNCB2ZXJzaW9u
LCB0aGlzIHJlcXVpcmVzIGF0Ci0jIGxlYXN0IG9uZSBESVZFUlNJT04tTkFNRTsgYWxzbywgZHVl
IHRvIHN1cHBvcnQgZm9yIG5hbWVkIGRpdmVyc2lvbnMsCi0jIHRoaXMgc2hvdWxkIG5vdCBiZSB1
c2VkIHRvIHVuZGl2ZXJ0IGZpbGVzLgotbTRfZGVmaW5lKFttNF91bmRpdmVydF0sCi1bbTRfaWYo
WyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiBtaXNzaW5nIGFyZ3VtZW50XSldLAotICAgICAgIFsk
I10sIFsxXSwgW19tNF91bmRpdmVydChfbTRfZGl2ZXJ0KFskMV0pKV0sCi0gICAgICAgW200X21h
cF9hcmdzKFskMF0sICRAKV0pXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIDEwLiBEZWZpbmluZyBtYWNyb3Mgd2l0aCBiZWxscyBh
bmQgd2hpc3RsZXMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tICMjCi0KLSMgYG00X2RlZnVuJyBpcyBiYXNpY2FsbHkgYG00X2RlZmluZScgYnV0
IGl0IGVxdWlwcyB0aGUgbWFjcm8gd2l0aCB0aGUKLSMgbmVlZGVkIG1hY2hpbmVyeSBmb3IgYG00
X3JlcXVpcmUnLiAgQSBtYWNybyBtdXN0IGJlIG00X2RlZnVuJ2QgaWYKLSMgZWl0aGVyIGl0IGlz
IG00X3JlcXVpcmUnZCwgb3IgaXQgbTRfcmVxdWlyZSdzLgotIwotIyBUd28gdGhpbmdzIGRlc2Vy
dmUgYXR0ZW50aW9uIGFuZCBhcmUgZGV0YWlsZWQgYmVsb3c6Ci0jICAxLiBJbXBsZW1lbnRhdGlv
biBvZiBtNF9yZXF1aXJlCi0jICAyLiBLZWVwaW5nIHRyYWNrIG9mIHRoZSBleHBhbnNpb24gc3Rh
Y2sKLSMKLSMgMS4gSW1wbGVtZW50YXRpb24gb2YgbTRfcmVxdWlyZQotIyA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0jCi0jIE9mIGNvdXJzZSBtNF9kZWZ1biBjYWxscyBtNF9wcm92
aWRlLCBzbyB0aGF0IGEgbWFjcm8gd2hpY2ggaGFzCi0jIGJlZW4gZXhwYW5kZWQgaXMgbm90IGV4
cGFuZGVkIGFnYWluIHdoZW4gbTRfcmVxdWlyZSdkLCBidXQgdGhlCi0jIGRpZmZpY3VsdCBwYXJ0
IGlzIHRoZSBwcm9wZXIgZXhwYW5zaW9uIG9mIG1hY3JvcyB3aGVuIHRoZXkgYXJlCi0jIG00X3Jl
cXVpcmUnZC4KLSMKLSMgVGhlIGltcGxlbWVudGF0aW9uIGlzIGJhc2VkIG9uIHRocmVlIGlkZWFz
LCAoaSkgdXNpbmcgZGl2ZXJzaW9ucyB0bwotIyBwcmVwYXJlIHRoZSBleHBhbnNpb24gb2YgdGhl
IG1hY3JvIGFuZCBpdHMgZGVwZW5kZW5jaWVzIChieSBGcmFuYyxvaXMKLSMgUGluYXJkKSwgKGlp
KSBleHBhbmQgdGhlIG1vc3QgcmVjZW50bHkgbTRfcmVxdWlyZSdkIG1hY3JvcyBfYWZ0ZXJfCi0j
IHRoZSBwcmV2aW91cyBtYWNyb3MgKGJ5IEF4ZWwgVGhpbW0pLCBhbmQgKGlpaSkgdHJhY2sgaW5z
dGFuY2VzIG9mCi0jIHByb3ZpZGUgYmVmb3JlIHJlcXVpcmUgKGJ5IEVyaWMgQmxha2UpLgotIwot
IwotIyBUaGUgZmlyc3QgaWRlYTogd2h5IHVzZSBkaXZlcnNpb25zPwotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIwotIyBXaGVuIGEgbWFjcm8gcmVxdWlyZXMgYW5vdGhl
ciwgdGhlIG90aGVyIG1hY3JvIGlzIGV4cGFuZGVkIGluIG5ldwotIyBkaXZlcnNpb24sIEdST1cu
ICBXaGVuIHRoZSBvdXRlciBtYWNybyBpcyBmdWxseSBleHBhbmRlZCwgd2UgZmlyc3QKLSMgdW5k
aXZlcnQgdGhlIG1vc3QgbmVzdGVkIGRpdmVyc2lvbnMgKEdST1cgLSAxLi4uKSwgYW5kIGZpbmFs
bHkKLSMgdW5kaXZlcnQgR1JPVy4gIFRvIHVuZGVyc3RhbmQgd2h5IHdlIG5lZWQgc2V2ZXJhbCBk
aXZlcnNpb25zLAotIyBjb25zaWRlciB0aGUgZm9sbG93aW5nIGV4YW1wbGU6Ci0jCi0jIHwgbTRf
ZGVmdW4oW1RFU1QxXSwgW1Rlc3QuLi5tNF9yZXF1aXJlKFtURVNUMl0pMV0pCi0jIHwgbTRfZGVm
dW4oW1RFU1QyXSwgW1Rlc3QuLi5tNF9yZXF1aXJlKFtURVNUM10pMl0pCi0jIHwgbTRfZGVmdW4o
W1RFU1QzXSwgW1Rlc3QuLi4zXSkKLSMKLSMgQmVjYXVzZSBtNF9yZXF1aXJlIGlzIG5vdCByZXF1
aXJlZCB0byBiZSBmaXJzdCBpbiB0aGUgb3V0ZXIgbWFjcm9zLCB3ZQotIyBtdXN0IGtlZXAgdGhl
IGV4cGFuc2lvbnMgb2YgdGhlIHZhcmlvdXMgbGV2ZWxzIG9mIG00X3JlcXVpcmUgc2VwYXJhdGVk
LgotIyBSaWdodCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBlcGlsb2d1ZSBvZiBURVNUMSwgd2UgaGF2
ZToKLSMKLSMJICAgR1JPVyAtIDI6IFRlc3QuLi4zCi0jCSAgIEdST1cgLSAxOiBUZXN0Li4uMgot
IwkgICBHUk9XOiAgICAgVGVzdC4uLjEKLSMJICAgQk9EWToKLSMKLSMgRmluYWxseSB0aGUgZXBp
bG9ndWUgb2YgVEVTVDEgdW5kaXZlcnRzIEdST1cgLSAyLCBHUk9XIC0gMSwgYW5kCi0jIEdST1cg
aW50byB0aGUgcmVndWxhciBmbG93LCBCT0RZLgotIwotIwkgICBHUk9XIC0gMjoKLSMJICAgR1JP
VyAtIDE6Ci0jCSAgIEdST1c6Ci0jCSAgIEJPRFk6ICAgICAgICBUZXN0Li4uMzsgVGVzdC4uLjI7
IFRlc3QuLi4xCi0jCi0jIChUaGUgc2VtaWNvbG9ucyBhcmUgaGVyZSBmb3IgY2xhcmlmaWNhdGlv
biwgYnV0IG9mIGNvdXJzZSBhcmUgbm90Ci0jIGVtaXR0ZWQuKSAgVGhpcyBpcyB3aGF0IEF1dG9j
b25mIDIuMCAoSSB0aGluaykgdG8gMi4xMyAoSSdtIHN1cmUpCi0jIGltcGxlbWVudC4KLSMKLSMK
LSMgVGhlIHNlY29uZCBpZGVhOiBmaXJzdCByZXF1aXJlZCBmaXJzdCBvdXQKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMKLSMgVGhlIG5hdHVyYWwgaW1wbGVt
ZW50YXRpb24gb2YgdGhlIGlkZWEgYWJvdmUgaXMgYnVnZ3kgYW5kIHByb2R1Y2VzCi0jIHZlcnkg
c3VycHJpc2luZyByZXN1bHRzIGluIHNvbWUgc2l0dWF0aW9ucy4gIExldCdzIGNvbnNpZGVyIHRo
ZQotIyBmb2xsb3dpbmcgZXhhbXBsZSB0byBleHBsYWluIHRoZSBidWc6Ci0jCi0jIHwgbTRfZGVm
dW4oW1RFU1QxXSwgIFttNF9yZXF1aXJlKFtURVNUMmFdKW00X3JlcXVpcmUoW1RFU1QyYl0pXSkK
LSMgfCBtNF9kZWZ1bihbVEVTVDJhXSwgW10pCi0jIHwgbTRfZGVmdW4oW1RFU1QyYl0sIFttNF9y
ZXF1aXJlKFtURVNUM10pXSkKLSMgfCBtNF9kZWZ1bihbVEVTVDNdLCAgW200X3JlcXVpcmUoW1RF
U1QyYV0pXSkKLSMgfAotIyB8IEFDX0lOSVQKLSMgfCBURVNUMQotIwotIyBUaGUgZGVwZW5kZW5j
aWVzIGJldHdlZW4gdGhlIG1hY3JvcyBhcmU6Ci0jCi0jCQkgMyAtLS0gMmIKLSMJCS8gICAgICAg
IFwgICAgICAgICAgICAgIGlzIG00X3JlcXVpcmUnZCBieQotIwkgICAgICAgLyAgICAgICAgICBc
ICAgICAgIGxlZnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0gcmlnaHQKLSMJICAgIDJhIC0tLS0tLS0t
LS0tLSAxCi0jCi0jIElmIHlvdSBzdHJpY3RseSBhcHBseSB0aGUgcnVsZXMgZ2l2ZW4gaW4gdGhl
IHByZXZpb3VzIHNlY3Rpb24geW91IGdldDoKLSMKLSMJICAgR1JPVyAtIDI6IFRFU1QzCi0jCSAg
IEdST1cgLSAxOiBURVNUMmE7IFRFU1QyYgotIwkgICBHUk9XOiAgICAgVEVTVDEKLSMJICAgQk9E
WToKLSMKLSMgKFRFU1QyYSwgYWx0aG91Z2ggcmVxdWlyZWQgYnkgVEVTVDMgaXMgbm90IGV4cGFu
ZGVkIGluIEdST1cgLSAzCi0jIGJlY2F1c2UgaXMgaGFzIGFscmVhZHkgYmVlbiBleHBhbmRlZCBi
ZWZvcmUgaW4gR1JPVyAtIDEsIHNvIGl0IGhhcwotIyBiZWVuIEFDX1BST1ZJREUnZCwgc28gaXQg
aXMgbm90IGV4cGFuZGVkIGFnYWluKSBzbyB3aGVuIHlvdSB1bmRpdmVydAotIyB0aGUgc3RhY2sg
b2YgZGl2ZXJzaW9ucywgeW91IGdldDoKLSMKLSMJICAgR1JPVyAtIDI6Ci0jCSAgIEdST1cgLSAx
OgotIwkgICBHUk9XOgotIwkgICBCT0RZOiAgICAgICAgVEVTVDM7IFRFU1QyYTsgVEVTVDJiOyBU
RVNUMQotIwotIyBpLmUuLCBURVNUMmEgaXMgZXhwYW5kZWQgYWZ0ZXIgVEVTVDMgYWx0aG91Z2gg
dGhlIGxhdHRlciByZXF1aXJlZCB0aGUKLSMgZm9ybWVyLgotIwotIyBTdGFydGluZyBmcm9tIDIu
NTAsIHdlIHVzZSBhbiBpbXBsZW1lbnRhdGlvbiBwcm92aWRlZCBieSBBeGVsIFRoaW1tLgotIyBU
aGUgaWRlYSBpcyBzaW1wbGU6IHRoZSBvcmRlciBpbiB3aGljaCBtYWNyb3MgYXJlIGVtaXR0ZWQg
bXVzdCBiZSB0aGUKLSMgc2FtZSBhcyB0aGUgb25lIGluIHdoaWNoIG1hY3JvcyBhcmUgZXhwYW5k
ZWQuICAoVGhlIGJ1ZyBhYm92ZSBjYW4KLSMgaW5kZWVkIGJlIGRlc2NyaWJlZCBhczogYSBtYWNy
byBoYXMgYmVlbiBtNF9wcm92aWRlJ2QgYmVmb3JlIGl0cwotIyBkZXBlbmRlbnQsIGJ1dCBpdCBp
cyBlbWl0dGVkIGFmdGVyOiB0aGUgbGFjayBvZiBjb3JyZWxhdGlvbiBiZXR3ZWVuCi0jIGVtaXNz
aW9uIGFuZCBleHBhbnNpb24gb3JkZXIgaXMgZ3VpbHR5KS4KLSMKLSMgSG93IHRvIGRvIHRoYXQ/
ICBZb3Uga2VlcCB0aGUgc3RhY2sgb2YgZGl2ZXJzaW9ucyB0byBlbGFib3JhdGUgdGhlCi0jIG1h
Y3JvcywgYnV0IGVhY2ggdGltZSBhIG1hY3JvIGlzIGZ1bGx5IGV4cGFuZGVkLCBlbWl0IGl0IGlt
bWVkaWF0ZWx5LgotIwotIyBJbiB0aGUgZXhhbXBsZSBhYm92ZSwgd2hlbiBURVNUMmEgaXMgZXhw
YW5kZWQsIGJ1dCBpdCdzIGVwaWxvZ3VlIGlzCi0jIG5vdCBydW4geWV0LCB5b3UgaGF2ZToKLSMK
LSMJICAgR1JPVyAtIDI6Ci0jCSAgIEdST1cgLSAxOiBURVNUMmEKLSMJICAgR1JPVzogICAgIEVs
YWJvcmF0aW9uIG9mIFRFU1QxCi0jCSAgIEJPRFk6Ci0jCi0jIFRoZSBlcGlsb2d1ZSBvZiBURVNU
MmEgZW1pdHMgaXQgaW1tZWRpYXRlbHk6Ci0jCi0jCSAgIEdST1cgLSAyOgotIwkgICBHUk9XIC0g
MToKLSMJICAgR1JPVzogICAgIEVsYWJvcmF0aW9uIG9mIFRFU1QxCi0jCSAgIEJPRFk6ICAgICBU
RVNUMmEKLSMKLSMgVEVTVDJiIHRoZW4gcmVxdWlyZXMgVEVTVDMsIHNvIHJpZ2h0IGJlZm9yZSB0
aGUgZXBpbG9ndWUgb2YgVEVTVDMsIHlvdQotIyBoYXZlOgotIwotIwkgICBHUk9XIC0gMjogVEVT
VDMKLSMJICAgR1JPVyAtIDE6IEVsYWJvcmF0aW9uIG9mIFRFU1QyYgotIwkgICBHUk9XOiAgICAg
RWxhYm9yYXRpb24gb2YgVEVTVDEKLSMJICAgQk9EWTogICAgICBURVNUMmEKLSMKLSMgVGhlIGVw
aWxvZ3VlIG9mIFRFU1QzIGVtaXRzIGl0OgotIwotIwkgICBHUk9XIC0gMjoKLSMJICAgR1JPVyAt
IDE6IEVsYWJvcmF0aW9uIG9mIFRFU1QyYgotIwkgICBHUk9XOiAgICAgRWxhYm9yYXRpb24gb2Yg
VEVTVDEKLSMJICAgQk9EWTogICAgIFRFU1QyYTsgVEVTVDMKLSMKLSMgVEVTVDJiIGlzIG5vdyBj
b21wbGV0ZWx5IGV4cGFuZGVkLCBhbmQgZW1pdHRlZDoKLSMKLSMJICAgR1JPVyAtIDI6Ci0jCSAg
IEdST1cgLSAxOgotIwkgICBHUk9XOiAgICAgRWxhYm9yYXRpb24gb2YgVEVTVDEKLSMJICAgQk9E
WTogICAgIFRFU1QyYTsgVEVTVDM7IFRFU1QyYgotIwotIyBhbmQgZmluYWxseSwgVEVTVDEgaXMg
ZmluaXNoZWQgYW5kIGVtaXR0ZWQ6Ci0jCi0jCSAgIEdST1cgLSAyOgotIwkgICBHUk9XIC0gMToK
LSMJICAgR1JPVzoKLSMJICAgQk9EWTogICAgIFRFU1QyYTsgVEVTVDM7IFRFU1QyYjogVEVTVDEK
LSMKLSMgVGhlIGlkZWEgaXMgc2ltcGxlLCBidXQgdGhlIGltcGxlbWVudGF0aW9uIGlzIGEgYml0
IGludm9sdmVkLiAgSWYKLSMgeW91IGFyZSBsaWtlIG1lLCB5b3Ugd2lsbCB3YW50IHRvIHNlZSB0
aGUgYWN0dWFsIGZ1bmN0aW9uaW5nIG9mIHRoaXMKLSMgaW1wbGVtZW50YXRpb24gdG8gYmUgY29u
dmluY2VkLiAgVGhlIG5leHQgc2VjdGlvbiBnaXZlcyB0aGUgZnVsbAotIyBkZXRhaWxzLgotIwot
IwotIyBUaGUgQXhlbCBUaGltbSBpbXBsZW1lbnRhdGlvbiBhdCB3b3JrCi0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMKLSMgV2UgY29uc2lkZXIgdGhlIG1hY3JvcyBh
Ym92ZSwgYW5kIHRoaXMgY29uZmlndXJlLmFjOgotIwotIwkgICAgQUNfSU5JVAotIwkgICAgVEVT
VDEKLSMKLSMgWW91IHNob3VsZCBrZWVwIHRoZSBkZWZpbml0aW9ucyBvZiBfbTRfZGVmdW5fcHJv
LCBfbTRfZGVmdW5fZXBpLCBhbmQKLSMgbTRfcmVxdWlyZSBhdCBoYW5kIHRvIGZvbGxvdyB0aGUg
c3RlcHMuCi0jCi0jIFRoaXMgaW1wbGVtZW50YXRpb24gdHJpZXMgbm90IHRvIGFzc3VtZSB0aGF0
IHRoZSBjdXJyZW50IGRpdmVyc2lvbiBpcwotIyBCT0RZLCBzbyBhcyBzb29uIGFzIGEgbWFjcm8g
KG00X2RlZnVuJ2QpIGlzIGV4cGFuZGVkLCB3ZSBmaXJzdAotIyByZWNvcmQgdGhlIGN1cnJlbnQg
ZGl2ZXJzaW9uIHVuZGVyIHRoZSBuYW1lIF9tNF9kaXZlcnRfZHVtcCAoZGVub3RlZAotIyBEVU1Q
IGJlbG93IGZvciBzaG9ydCkuICBUaGlzIGludHJvZHVjZXMgYW4gaW1wb3J0YW50IGRpZmZlcmVu
Y2Ugd2l0aAotIyB0aGUgcHJldmlvdXMgdmVyc2lvbnMgb2YgQXV0b2NvbmY6IHlvdSBjYW5ub3Qg
dXNlIG00X3JlcXVpcmUgaWYgeW91Ci0jIGFyZSBub3QgaW5zaWRlIGFuIG00X2RlZnVuJ2QgbWFj
cm8sIGFuZCBlc3BlY2lhbGx5LCB5b3UgY2Fubm90Ci0jIG00X3JlcXVpcmUgZGlyZWN0bHkgZnJv
bSB0aGUgdG9wIGxldmVsLgotIwotIyBXZSBoYXZlIG5vdCB0cmllZCB0byBzaW11bGF0ZSB0aGUg
b2xkIGJlaGF2aW9yIChiZXR0ZXIgeWV0LCB3ZQotIyBkaWFnbm9zZSBpdCksIGJlY2F1c2UgaXQg
aXMgdG9vIGRhbmdlcm91czogYSBtYWNybyBtNF9yZXF1aXJlJ2QgZnJvbQotIyB0aGUgdG9wIGxl
dmVsIGlzIGV4cGFuZGVkIGJlZm9yZSB0aGUgYm9keSBvZiBgY29uZmlndXJlJywgaS5lLiwgYmVm
b3JlCi0jIGFueSBvdGhlciB0ZXN0IHdhcyBydW4uICBJIGxldCB5b3UgaW1hZ2luZSB0aGUgcmVz
dWx0IG9mIHJlcXVpcmluZwotIyBBQ19TVERDX0hFQURFUlMgZm9yIGluc3RhbmNlLCBiZWZvcmUg
QUNfUFJPR19DQyB3YXMgYWN0dWFsbHkgcnVuLi4uLgotIwotIyBBZnRlciBBQ19JTklUIHdhcyBy
dW4sIHRoZSBjdXJyZW50IGRpdmVyc2lvbiBpcyBCT0RZLgotIyAqIEFDX0lOSVQgd2FzIHJ1bgot
IyAgIERVTVA6ICAgICAgICAgICAgICAgIHVuZGVmaW5lZAotIyAgIGRpdmVyc2lvbiBzdGFjazog
ICAgIEJPRFkgfC0KLSMKLSMgKiBURVNUMSBpcyBleHBhbmRlZAotIyBUaGUgcHJvbG9ndWUgb2Yg
VEVTVDEgc2V0cyBfbTRfZGl2ZXJ0X2R1bXAsIHdoaWNoIGlzIHRoZSBkaXZlcnNpb24KLSMgd2hl
cmUgdGhlIGN1cnJlbnQgZWxhYm9yYXRpb24gd2lsbCBiZSBkdW1wZWQsIHRvIHRoZSBjdXJyZW50
Ci0jIGRpdmVyc2lvbi4gIEl0IGFsc28gbTRfZGl2ZXJ0X3B1c2ggdG8gR1JPVywgd2hlcmUgdGhl
IGZ1bGwKLSMgZXhwYW5zaW9uIG9mIFRFU1QxIGFuZCBpdHMgZGVwZW5kZW5jaWVzIHdpbGwgYmUg
ZWxhYm9yYXRlZC4KLSMgICBEVU1QOiAgICAgICAgQk9EWQotIyAgIEJPRFk6ICAgICAgICBlbXB0
eQotIyAgIGRpdmVyc2lvbnM6ICBHUk9XLCBCT0RZIHwtCi0jCi0jICogVEVTVDEgcmVxdWlyZXMg
VEVTVDJhCi0jIF9tNF9yZXF1aXJlX2NhbGwgbTRfZGl2ZXJ0X3B1c2hlcyBhbm90aGVyIHRlbXBv
cmFyeSBkaXZlcnNpb24sCi0jIEdST1cgLSAxLCBhbmQgZXhwYW5kcyBURVNUMmEgaW4gdGhlcmUu
Ci0jICAgRFVNUDogICAgICAgIEJPRFkKLSMgICBCT0RZOiAgICAgICAgZW1wdHkKLSMgICBHUk9X
IC0gMTogICAgVEVTVDJhCi0jICAgZGl2ZXJzaW9uczogIEdST1cgLSAxLCBHUk9XLCBCT0RZIHwt
Ci0jIFRoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIHRlbXBvcmFyeSBkaXZlcnNpb24gaXMgbW92ZWQg
dG8gRFVNUCBhbmQgdGhlCi0jIHRlbXBvcmFyeSBkaXZlcnNpb24gaXMgcG9wcGVkLgotIyAgIERV
TVA6ICAgICAgICBCT0RZCi0jICAgQk9EWTogICAgICAgIFRFU1QyYQotIyAgIGRpdmVyc2lvbnM6
ICBHUk9XLCBCT0RZIHwtCi0jCi0jICogVEVTVDEgcmVxdWlyZXMgVEVTVDJiCi0jIEFnYWluLCBf
bTRfcmVxdWlyZV9jYWxsIHB1c2hlcyBHUk9XIC0gMSBhbmQgaGVhZHMgdG8gZXhwYW5kIFRFU1Qy
Yi4KLSMgICBEVU1QOiAgICAgICAgQk9EWQotIyAgIEJPRFk6ICAgICAgICBURVNUMmEKLSMgICBk
aXZlcnNpb25zOiAgR1JPVyAtIDEsIEdST1csIEJPRFkgfC0KLSMKLSMgKiBURVNUMmIgcmVxdWly
ZXMgVEVTVDMKLSMgX200X3JlcXVpcmVfY2FsbCBwdXNoZXMgR1JPVyAtIDIgYW5kIGV4cGFuZHMg
VEVTVDMgaGVyZS4KLSMgKFRFU1QzIHJlcXVpcmVzIFRFU1QyYSwgYnV0IFRFU1QyYSBoYXMgYWxy
ZWFkeSBiZWVuIG00X3Byb3ZpZGUnZCwgc28KLSMgbm90aGluZyBoYXBwZW5zLikKLSMgICBEVU1Q
OiAgICAgICAgQk9EWQotIyAgIEJPRFk6ICAgICAgICBURVNUMmEKLSMgICBHUk9XIC0gMjogICAg
VEVTVDMKLSMgICBkaXZlcnNpb25zOiAgR1JPVyAtIDIsIEdST1cgLSAxLCBHUk9XLCBCT0RZIHwt
Ci0jIFRoZW4gdGhlIGRpdmVyc2lvbiBpcyBhcHBlbmRlZCB0byBEVU1QLCBhbmQgcG9wcGVkLgot
IyAgIERVTVA6ICAgICAgICBCT0RZCi0jICAgQk9EWTogICAgICAgIFRFU1QyYTsgVEVTVDMKLSMg
ICBkaXZlcnNpb25zOiAgR1JPVyAtIDEsIEdST1csIEJPRFkgfC0KLSMKLSMgKiBURVNUMSByZXF1
aXJlcyBURVNUMmIgKGNvbnRkLikKLSMgVGhlIGNvbnRlbnQgb2YgVEVTVDJiIGlzIGV4cGFuZGVk
Li4uCi0jICAgRFVNUDogICAgICAgIEJPRFkKLSMgICBCT0RZOiAgICAgICAgVEVTVDJhOyBURVNU
MwotIyAgIEdST1cgLSAxOiAgICBURVNUMmIsCi0jICAgZGl2ZXJzaW9uczogIEdST1cgLSAxLCBH
Uk9XLCBCT0RZIHwtCi0jIC4uLiBhbmQgbW92ZWQgdG8gRFVNUC4KLSMgICBEVU1QOiAgICAgICAg
Qk9EWQotIyAgIEJPRFk6ICAgICAgICBURVNUMmE7IFRFU1QzOyBURVNUMmIKLSMgICBkaXZlcnNp
b25zOiAgR1JPVywgQk9EWSB8LQotIwotIyAqIFRFU1QxIGlzIGV4cGFuZGVkOiBlcGlsb2d1ZQot
IyBURVNUMSdzIG93biBjb250ZW50IGlzIGluIEdST1cuLi4KLSMgICBEVU1QOiAgICAgICAgQk9E
WQotIyAgIEJPRFk6ICAgICAgICBURVNUMmE7IFRFU1QzOyBURVNUMmIKLSMgICBHUk9XOiAgICAg
ICAgVEVTVDEKLSMgICBkaXZlcnNpb25zOiAgQk9EWSB8LQotIyAuLi4gYW5kIGl0J3MgZXBpbG9n
dWUgbW92ZXMgaXQgdG8gRFVNUCBhbmQgdGhlbiB1bmRlZmluZXMgRFVNUC4KLSMgICBEVU1QOiAg
ICAgICB1bmRlZmluZWQKLSMgICBCT0RZOiAgICAgICBURVNUMmE7IFRFU1QzOyBURVNUMmI7IFRF
U1QxCi0jICAgZGl2ZXJzaW9uczogQk9EWSB8LQotIwotIwotIyBUaGUgdGhpcmQgaWRlYTogdHJh
Y2sgbWFjcm9zIHByb3ZpZGVkIGJlZm9yZSB0aGV5IHdlcmUgcmVxdWlyZWQKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
Ci0jIFVzaW5nIGp1c3QgdGhlIGZpcnN0IHR3byBpZGVhcywgQXV0b2NvbmYgMi41MCB0aHJvdWdo
IDIuNjMgc3RpbGwgaGFkCi0jIGEgc3VidGxlIGJ1ZyBmb3IgbW9yZSB0aGFuIHNldmVuIHllYXJz
LiAgTGV0J3MgY29uc2lkZXIgdGhlCi0jIGZvbGxvd2luZyBleGFtcGxlIHRvIGV4cGxhaW4gdGhl
IGJ1ZzoKLSMKLSMgfCBtNF9kZWZ1bihbVEVTVDFdLCBbMV0pCi0jIHwgbTRfZGVmdW4oW1RFU1Qy
XSwgWzJbXW00X3JlcXVpcmUoW1RFU1QxXSldKQotIyB8IG00X2RlZnVuKFtURVNUM10sIFszIFRF
U1QxIG00X3JlcXVpcmUoW1RFU1QyXSldKQotIyB8IFRFU1QzCi0jCi0jIEFmdGVyIHRoZSBwcm9s
b2d1ZSBvZiBURVNUMywgd2UgYXJlIGNvbGxlY3RpbmcgdGV4dCBpbiBHUk9XIHdpdGggdGhlCi0j
IGludGVudCBvZiBkdW1waW5nIGl0IGluIEJPRFkgZHVyaW5nIHRoZSBlcGlsb2d1ZS4gIE5leHQs
IHdlCi0jIGVuY291bnRlciB0aGUgZGlyZWN0IGludm9jYXRpb24gb2YgVEVTVDEsIHdoaWNoIHBy
b3ZpZGVzIHRoZSBtYWNybwotIyBpbiBwbGFjZSBpbiBHUk9XLiAgRnJvbSB0aGVyZSwgd2UgZW5j
b3VudGVyIGEgcmVxdWlyZW1lbnQgZm9yIFRFU1QyLAotIyB3aGljaCBtdXN0IGJlIGNvbGxlY3Rl
ZCBpbiBhIG5ldyBkaXZlcnNpb24uICBXaGlsZSBleHBhbmRpbmcgVEVTVDIsCi0jIHdlIGVuY291
bnRlciBhIHJlcXVpcmVtZW50IGZvciBURVNUMSwgYnV0IHNpbmNlIGl0IGhhcyBhbHJlYWR5IGJl
ZW4KLSMgZXhwYW5kZWQsIHRoZSBBeGVsIFRoaW1tIGFsZ29yaXRobSBzdGF0ZXMgdGhhdCB3ZSBj
YW4gdHJlYXQgaXQgYXMgYQotIyBuby1vcC4gIEJ1dCB0aGF0IHdvdWxkIGxlYWQgdG8gYW4gZW5k
IHJlc3VsdCBvZiBgMiAzIDEnLCBtZWFuaW5nCi0jIHRoYXQgd2UgaGF2ZSBvbmNlIGFnYWluIG91
dHB1dCBhIG1hY3JvIChURVNUMikgcHJpb3IgdG8gaXRzCi0jIHJlcXVpcmVtZW50cyAoVEVTVDEp
LgotIwotIyBUaGUgcHJvYmxlbSBjYW4gb25seSBvY2N1ciBpZiBhIHNpbmdsZSBkZWZ1bidkIG1h
Y3JvIGZpcnN0IHByb3ZpZGVzLAotIyB0aGVuIGxhdGVyIGluZGlyZWN0bHkgcmVxdWlyZXMsIHRo
ZSBzYW1lIG1hY3JvLiAgTm90ZSB0aGF0IGRpcmVjdGx5Ci0jIGV4cGFuZGluZyB0aGVuIHJlcXVp
cmluZyBhIG1hY3JvIGlzIG9rYXk6IGJlY2F1c2UgdGhlIGRlcGVuZGVuY3kgd2FzCi0jIG1ldCwg
dGhlIHJlcXVpcmUgcGhhc2UgY2FuIGJlIGEgbm8tb3AuICBGb3IgdGhhdCBtYXR0ZXIsIHRoZSBv
dXRlcgotIyBtYWNybyBjYW4gZXZlbiByZXF1aXJlIHR3byBoZWxwZXJzLCB3aGVyZSB0aGUgZmly
c3QgaGVscGVyIGV4cGFuZHMKLSMgdGhlIG1hY3JvLCBhbmQgdGhlIHNlY29uZCBoZWxwZXIgaW5k
aXJlY3RseSByZXF1aXJlcyB0aGUgbWFjcm8uCi0jIE91dC1vZi1vcmRlciBleHBhbnNpb24gaXMg
b25seSBwcmVzZW50IGlmIHRoZSBpbm5lciBtYWNybyBpcwotIyByZXF1aXJlZCBieSBzb21ldGhp
bmcgdGhhdCB3aWxsIGJlIGhvaXN0ZWQgaW4gZnJvbnQgb2Ygd2hlcmUgdGhlCi0jIGRpcmVjdCBl
eHBhbnNpb24gb2NjdXJyZWQuICBJbiBvdGhlciB3b3Jkcywgd2UgbXVzdCBiZSBjYXJlZnVsIG5v
dAotIyB0byB3YXJuIG9uOgotIwotIyB8IG00X2RlZnVuKFtURVNUNF0sIFs0XSkKLSMgfCBtNF9k
ZWZ1bihbVEVTVDVdLCBbNSBURVNUNCBtNF9yZXF1aXJlKFtURVNUNF0pXSkKLSMgfCBURVNUNSA9
PiA1IDQKLSMKLSMgb3IgZXZlbiB0aGUgbW9yZSBjb21wbGV4OgotIwotIyB8IG00X2RlZnVuKFtU
RVNUNl0sIFs2XSkKLSMgfCBtNF9kZWZ1bihbVEVTVDddLCBbNyBURVNUNl0pCi0jIHwgbTRfZGVm
dW4oW1RFU1Q4XSwgWzggbTRfcmVxdWlyZShbVEVTVDZdKV0pCi0jIHwgbTRfZGVmdW4oW1RFU1Q5
XSwgWzkgbTRfcmVxdWlyZShbVEVTVDhdKV0pCi0jIHwgbTRfZGVmdW4oW1RFU1QxMF0sIFsxMCBt
NF9yZXF1aXJlKFtURVNUN10pIG00X3JlcXVpcmUoW1RFU1Q5XSldKQotIyB8IFRFU1QxMCA9PiA3
IDYgOCA5IDEwCi0jCi0jIFNvLCB0byBkZXRlY3Qgd2hldGhlciBhIHJlcXVpcmUgd2FzIGRpcmVj
dCBvciBpbmRpcmVjdCwgbTRfZGVmdW4gYW5kCi0jIG00X3JlcXVpcmUgdHJhY2sgdGhlIG5hbWUg
b2YgdGhlIG1hY3JvIHRoYXQgY2F1c2VkIGEgZGl2ZXJzaW9uIHRvIGJlCi0jIGNyZWF0ZWQgKHVz
aW5nIHRoZSBzdGFjayBfbTRfZGl2ZXJ0aW5nLCBjb3VwbGVkIHdpdGggYW4gTygxKSBsb29rdXAK
LSMgX200X2RpdmVydGluZyhbTkFNRV0pKSwgYW5kIG00X3Byb3ZpZGUgc3RvcmVzIHRoZSBuYW1l
IGFzc29jaWF0ZWQKLSMgd2l0aCB0aGUgZGl2ZXJzaW9uIGF0IHdoaWNoIGEgbWFjcm8gd2FzIHBy
b3ZpZGVkLiAgQSByZXF1aXJlIGNhbGwgaXMKLSMgZGlyZWN0IGlmIGl0IG9jY3VycyB3aXRoaW4g
dGhlIHNhbWUgZGl2ZXJzaW9uIHdoZXJlIHRoZSBtYWNybyB3YXMKLSMgcHJvdmlkZWQsIG9yIGlm
IHRoZSBkaXZlcnNpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm92aWRpbmcgY29udGV4dAotIyBo
YXMgYmVlbiBjb2xsZWN0ZWQuCi0jCi0jIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgd2Fybmlu
ZyBpbnZvbHZlcyB0cmFja2luZyB0aGUgc2V0IG9mCi0jIG1hY3JvcyB3aGljaCBoYXZlIGJlZW4g
cHJvdmlkZWQgc2luY2UgdGhlIHN0YXJ0IG9mIHRoZSBvdXRlcm1vc3QKLSMgZGVmdW4nZCBtYWNy
byAodGhlIHNldCBpcyBuYW1lZCBfbTRfcHJvdmlkZSkuICBXaGVuIHN0YXJ0aW5nIGFuCi0jIG91
dGVybW9zdCBtYWNybywgdGhlIHNldCBpcyBlbXB0aWVkOyB3aGVuIGEgbWFjcm8gaXMgcHJvdmlk
ZWQsIGl0IGlzCi0jIGFkZGVkIHRvIHRoZSBzZXQ7IHdoZW4gcmVxdWlyZSBleHBhbmRzIHRoZSBi
b2R5IG9mIGEgbWFjcm8sIGl0IGlzCi0jIHJlbW92ZWQgZnJvbSB0aGUgc2V0OyBhbmQgd2hlbiBh
IG1hY3JvIGlzIGluZGlyZWN0bHkgcmVxdWlyZWQsIHRoZQotIyBzZXQgaXMgY2hlY2tlZC4gIElm
IGEgbWFjcm8gaXMgaW4gdGhlIHNldCwgdGhlbiBpdCBoYXMgYmVlbiBwcm92aWRlZAotIyBiZWZv
cmUgaXQgd2FzIHJlcXVpcmVkLCBhbmQgd2Ugc2F0aXNmeSBkZXBlbmRlbmNpZXMgYnkgZXhwYW5k
aW5nIHRoZQotIyBtYWNybyBhcyBpZiBpdCBoYWQgbmV2ZXIgYmVlbiBwcm92aWRlZDsgaW4gdGhl
IGV4YW1wbGUgZ2l2ZW4gYWJvdmUsCi0jIHRoaXMgbWVhbnMgd2Ugbm93IG91dHB1dCBgMSAyIDMg
MScuICBNZWFud2hpbGUsIGEgd2FybmluZyBpcyBpc3N1ZWQKLSMgdG8gaW5mb3JtIHRoZSB1c2Vy
IHRoYXQgaGVyIG1hY3JvcyB0cmlnZ2VyIHRoZSBidWcgaW4gb2xkZXIgYXV0b2NvbmYKLSMgdmVy
c2lvbnMsIGFuZCB0aGF0IGhlciBvdXRwdXQgZmlsZSBub3cgY29udGFpbnMgcmVkdW5kYW50IGNv
bnRlbnRzCi0jIChhbmQgcG9zc2libHkgbmV3IHByb2JsZW1zLCBpZiB0aGUgcmVwZWF0ZWQgbWFj
cm8gd2FzIG5vdAotIyBpZGVtcG90ZW50KS4gIE1lYW53aGlsZSwgbWFjcm9zIGRlZmluZWQgYnkg
bTRfZGVmdW5fb25jZSBpbnN0ZWFkIG9mCi0jIG00X2RlZnVuIGFyZSBpZGVtcG90ZW50LCBhdm9p
ZGluZyBhbnkgd2FybmluZyBvciBkdXBsaWNhdGUgb3V0cHV0LgotIwotIwotIyAyLiBLZWVwaW5n
IHRyYWNrIG9mIHRoZSBleHBhbnNpb24gc3RhY2sKLSMgPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0jCi0jIFdoZW4gTTQgZXhwYW5zaW9uIGdvZXMgd3JvbmcgaXQgaXMg
b2Z0ZW4gZXh0cmVtZWx5IGhhcmQgdG8gZmluZCB0aGUKLSMgcGF0aCBhbW9uZ3N0IG1hY3JvcyB0
aGF0IGRyb3ZlIHRvIHRoZSBmYWlsdXJlLiAgV2hhdCBpcyBuZWVkZWQgaXMKLSMgdGhlIHN0YWNr
IG9mIG1hY3JvIGBjYWxscycuIE9uZSBjb3VsZCBpbWFnaW5lIHRoYXQgR05VIE00IHdvdWxkCi0j
IG1haW50YWluIGEgc3RhY2sgb2YgbWFjcm8gZXhwYW5zaW9ucywgdW5mb3J0dW5hdGVseSBpdCBk
b2Vzbid0LCBzbwotIyB3ZSBkbyBpdCBieSBoYW5kLiAgVGhpcyBpcyBvZiBjb3Vyc2UgZXh0cmVt
ZWx5IGNvc3RseSwgYnV0IHRoZSBoZWxwCi0jIHRoaXMgc3RhY2sgcHJvdmlkZXMgaXMgd29ydGgg
aXQuICBOZXZlcnRoZWxlc3MgdG8gbGltaXQgdGhlCi0jIHBlcmZvcm1hbmNlIHBlbmFsdHkgdGhp
cyBpcyBpbXBsZW1lbnRlZCBvbmx5IGZvciBtNF9kZWZ1bidkIG1hY3JvcywKLSMgbm90IGZvciBk
ZWZpbmUnZCBtYWNyb3MuCi0jCi0jIEVhY2ggdGltZSB3ZSBlbnRlciBhbiBtNF9kZWZ1bidkIG1h
Y3Jvcywgd2UgYWRkIGEgZGVmaW5pdGlvbiBpbgotIyBfbTRfZXhwYW5zaW9uX3N0YWNrLCBhbmQg
d2hlbiB3ZSBleGl0IHRoZSBtYWNybywgd2UgcmVtb3ZlIGl0ICh0aGFua3MKLSMgdG8gcHVzaGRl
Zi9wb3BkZWYpLiAgbTRfc3RhY2tfZm9yZWFjaCBpcyB1c2VkIHRvIHByaW50IHRoZSBleHBhbnNp
b24KLSMgc3RhY2sgaW4gdGhlIHJhcmUgY2FzZXMgd2hlbiBpdCdzIG5lZWRlZC4KLSMKLSMgSW4g
YWRkaXRpb24sIHdlIHdhbnQgdG8gZGV0ZWN0IGNpcmN1bGFyIG00X3JlcXVpcmUgZGVwZW5kZW5j
aWVzLgotIyBFYWNoIHRpbWUgd2UgZXhwYW5kIGEgbWFjcm8gRk9PIHdlIGRlZmluZSBfbTRfZXhw
YW5kaW5nKEZPTyk7IGFuZAotIyBtNF9yZXF1aXJlKEJBUikgc2ltcGx5IGNoZWNrcyB3aGV0aGVy
IF9tNF9leHBhbmRpbmcoQkFSKSBpcyBkZWZpbmVkLgotCi0KLSMgbTRfZXhwYW5zaW9uX3N0YWNr
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbmRzIHRvIHRoZSBlbnRpcmUgY29udGVudHMg
b2YgdGhlIGV4cGFuc2lvbiBzdGFjay4gIFRoZSBjYWxsZXIKLSMgbXVzdCBzdXBwbHkgYSB0cmFp
bGluZyBuZXdsaW5lLiAgVGhpcyBtYWNybyBhbHdheXMgcHJpbnRzIGEKLSMgbG9jYXRpb247IGNo
ZWNrIHdoZXRoZXIgX200X2V4cGFuc2lvbl9zdGFjayBpcyBkZWZpbmVkIHRvIGZpbHRlciBvdXQK
LSMgdGhlIGNhc2Ugd2hlbiBubyBkZWZ1bidkIG1hY3JvIGlzIGluIGZvcmNlLgotbTRfZGVmaW5l
KFttNF9leHBhbnNpb25fc3RhY2tdLAotW200X3N0YWNrX2ZvcmVhY2hfc2VwX2xpZm8oW18kMF0s
IFtfJDBfZW50cnkoXSwgWykKLV0pbTRfbG9jYXRpb25bOiB0aGUgdG9wIGxldmVsXV0pCi0KLSMg
X200X2V4cGFuc2lvbl9zdGFja19lbnRyeShNQUNSTykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgRm9ybWF0IGFuIGVudHJ5IGZvciBNQUNSTyBmb3VuZCBvbiB0aGUgZXhw
YW5zaW9uIHN0YWNrLgotbTRfZGVmaW5lKFtfbTRfZXhwYW5zaW9uX3N0YWNrX2VudHJ5XSwKLVtf
bTRfZGVmbihbbTRfbG9jYXRpb24oJDEpXSlbOiAkMSBpcyBleHBhbmRlZCBmcm9tLi4uXV0pCi0K
LSMgbTRfZXhwYW5zaW9uX3N0YWNrX3B1c2goTUFDUk8pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotIyBGb3JtIGFuIGVudHJ5IG9mIHRoZSBleHBhbnNpb24gc3RhY2sgb24gZW50
cnkgdG8gTUFDUk8gYW5kIHB1c2ggaXQuCi1tNF9kZWZpbmUoW200X2V4cGFuc2lvbl9zdGFja19w
dXNoXSwKLVttNF9wdXNoZGVmKFtfbTRfZXhwYW5zaW9uX3N0YWNrXSwgWyQxXSldKQotCi0KLSMg
X200X2RpdmVydChHUk9XKQotIyAtLS0tLS0tLS0tLS0tLS0tCi0jIFRoaXMgZGl2ZXJzaW9uIGlz
IHVzZWQgYnkgdGhlIG00X2RlZnVuL200X3JlcXVpcmUgbWFjaGluZXJ5LiAgSXQgaXMKLSMgaW1w
b3J0YW50IHRvIGtlZXAgcm9vbSBiZWZvcmUgR1JPVyBiZWNhdXNlIGZvciBlYWNoIG5lc3RlZAot
IyBBQ19SRVFVSVJFIHdlIHVzZSBhbiBhZGRpdGlvbmFsIGRpdmVyc2lvbiAoaS5lLiwgdHdvIG00
X3JlcXVpcmUncwotIyB3aWxsIHVzZSBHUk9XIC0gMi4gIE1vcmUgdGhhbiAzIGxldmVscyBoYXMg
bmV2ZXIgc2VlbWVkIHRvIGJlCi0jIG5lZWRlZC4pCi0jCi0jIC4uLgotIyAtIEdST1cgLSAyCi0j
ICAgbTRfcmVxdWlyZSdkIGNvZGUsIDIgbGV2ZWwgZGVlcAotIyAtIEdST1cgLSAxCi0jICAgbTRf
cmVxdWlyZSdkIGNvZGUsIDEgbGV2ZWwgZGVlcAotIyAtIEdST1cKLSMgICBtNF9kZWZ1bidkIG1h
Y3JvcyBhcmUgZWxhYm9yYXRlZCBoZXJlLgotCi1tNF9kZWZpbmUoW19tNF9kaXZlcnQoR1JPVyld
LCAgICAgICAxMDAwMCkKLQotCi0jIF9tNF9kZWZ1bl9wcm8oTUFDUk8tTkFNRSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBUaGUgcHJvbG9ndWUgZm9yIEF1dG9jb25mIG1hY3Jvcy4K
LSMKLSMgVGhpcyBpcyBjYWxsZWQgZnJlcXVlbnRseSwgc28gbWluaW1pemUgdGhlIG51bWJlciBv
ZiBtYWNybyBpbnZvY2F0aW9ucwotIyBieSBhdm9pZGluZyBkbmwgYW5kIG00X2RlZm4gb3Zlcmhl
YWQuCi1tNF9kZWZpbmUoW19tNF9kZWZ1bl9wcm9dLAotW200X2lmZGVmKFtfbTRfZXhwYW5zaW9u
X3N0YWNrXSwgW10sIFtfbTRfZGVmdW5fcHJvX291dGVyKFskMV0pXSldZG5sCi1bbTRfZXhwYW5z
aW9uX3N0YWNrX3B1c2goWyQxXSltNF9wdXNoZGVmKFtfbTRfZXhwYW5kaW5nKCQxKV0pXSkKLQot
bTRfZGVmaW5lKFtfbTRfZGVmdW5fcHJvX291dGVyXSwKLVttNF9zZXRfZGVsZXRlKFtfbTRfcHJv
dmlkZV0pXWRubAotW200X3B1c2hkZWYoW19tNF9kaXZlcnRpbmcoWyQxXSldKW00X3B1c2hkZWYo
W19tNF9kaXZlcnRpbmddLCBbJDFdKV1kbmwKLVttNF9wdXNoZGVmKFtfbTRfZGl2ZXJ0X2R1bXBd
LCBtNF9kaXZudW0pbTRfZGl2ZXJ0X3B1c2goW0dST1ddKV0pCi0KLSMgX200X2RlZnVuX2VwaShN
QUNSTy1OQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFRoZSBFcGlsb2d1ZSBm
b3IgQXV0b2NvbmYgbWFjcm9zLiAgTUFDUk8tTkFNRSBvbmx5IGhlbHBzIHRyYWNpbmcKLSMgdGhl
IFBSTy9FUEkgcGFpcnMuCi0jCi0jIFRoaXMgaXMgY2FsbGVkIGZyZXF1ZW50bHksIHNvIG1pbmlt
aXplIHRoZSBudW1iZXIgb2YgbWFjcm8gaW52b2NhdGlvbnMKLSMgYnkgYXZvaWRpbmcgZG5sIGFu
ZCBtNF9wb3BkZWYgb3ZlcmhlYWQuCi1tNF9kZWZpbmUoW19tNF9kZWZ1bl9lcGldLAotW19tNF9w
b3BkZWYoW19tNF9leHBhbmRpbmcoJDEpXSwgW19tNF9leHBhbnNpb25fc3RhY2tdKV1kbmwKLVtt
NF9pZmRlZihbX200X2V4cGFuc2lvbl9zdGFja10sIFtdLCBbX200X2RlZnVuX2VwaV9vdXRlcihb
JDFdKV0pXWRubAotW200X3Byb3ZpZGUoWyQxXSldKQotCi1tNF9kZWZpbmUoW19tNF9kZWZ1bl9l
cGlfb3V0ZXJdLAotW19tNF9wb3BkZWYoW19tNF9kaXZlcnRfZHVtcF0sIFtfbTRfZGl2ZXJ0aW5n
KFskMV0pXSwgW19tNF9kaXZlcnRpbmddKV1kbmwKLVttNF9kaXZlcnRfcG9wKFtHUk9XXSltNF91
bmRpdmVydChbR1JPV10pXSkKLQotCi0jIF9tNF9kaXZlcnRfZHVtcAotIyAtLS0tLS0tLS0tLS0t
LS0KLSMgSWYgYmxhbmssIHdlIGFyZSBvdXRzaWRlIG9mIGFueSBkZWZ1bidkIG1hY3JvLiAgT3Ro
ZXJ3aXNlLCBleHBhbmRzCi0jIHRvIHRoZSBkaXZlcnNpb24gbnVtYmVyIChub3QgbmFtZSkgd2hl
cmUgcmVxdWlyZSdkIG1hY3JvcyBzaG91bGQgYmUKLSMgbW92ZWQgb25jZSBjb21wbGV0ZWQuCi1t
NF9kZWZpbmUoW19tNF9kaXZlcnRfZHVtcF0pCi0KLQotIyBtNF9kaXZlcnRfcmVxdWlyZShESVZF
UlNJT04sIE5BTUUtVE8tQ0hFQ0ssIFtCT0RZLVRPLUVYUEFORF0pCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgU2FtZSBh
cyBtNF9yZXF1aXJlLCBidXQgQk9EWS1UTy1FWFBBTkQgZ29lcyBpbnRvIHRoZSBuYW1lZCBESVZF
UlNJT047Ci0jIHJlcXVpcmVtZW50cyBzdGlsbCBnbyBpbiB0aGUgY3VycmVudCBkaXZlcnNpb24g
dGhvdWdoLgotIwotbTRfZGVmaW5lKFttNF9kaXZlcnRfcmVxdWlyZV0sCi1bbTRfaWZkZWYoW19t
NF9leHBhbmRpbmcoJDIpXSwKLSAgW200X2ZhdGFsKFskMDogY2lyY3VsYXIgZGVwZW5kZW5jeSBv
ZiAkMl0pXSldZG5sCi1bbTRfaWYoX200X2RpdmVydF9kdW1wLCBbXSwKLSAgW200X2ZhdGFsKFsk
MCgkMik6IGNhbm5vdCBiZSB1c2VkIG91dHNpZGUgb2YgYW4gbTRfZGVmdW4nZCBtYWNyb10pXSld
ZG5sCi1bbTRfcHJvdmlkZV9pZihbJDJdLCBbXSwKLSAgW19tNF9yZXF1aXJlX2NhbGwoWyQyXSwg
WyQzXSwgX200X2RpdmVydChbJDFdLCBbLV0pKV0pXSkKLQotCi0jIG00X2RlZnVuKE5BTUUsIEVY
UEFOU0lPTiwgW01BQ1JPID0gbTRfZGVmaW5lXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBEZWZpbmUgYSBtYWNybyBOQU1FIHdoaWNoIGF1dG9t
YXRpY2FsbHkgcHJvdmlkZXMgaXRzZWxmLiAgQWRkCi0jIG1hY2hpbmVyeSBzbyB0aGUgbWFjcm8g
YXV0b21hdGljYWxseSBzd2l0Y2hlcyBleHBhbnNpb24gdG8gdGhlCi0jIGRpdmVyc2lvbiBzdGFj
ayBpZiBpdCBpcyBub3QgYWxyZWFkeSB1c2luZyBpdCwgcHJpb3IgdG8gRVhQQU5TSU9OLgotIyBJ
biB0aGlzIGNhc2UsIG9uY2UgZmluaXNoZWQsIGl0IHdpbGwgYnJpbmcgYmFjayBhbGwgdGhlIGNv
ZGUKLSMgYWNjdW11bGF0ZWQgaW4gdGhlIGRpdmVyc2lvbiBzdGFjay4gIFRoaXMsIGNvbWJpbmVk
IHdpdGggbTRfcmVxdWlyZSwKLSMgYWNoaWV2ZXMgdGhlIHRvcG9sb2dpY2FsIG9yZGVyaW5nIG9m
IG1hY3Jvcy4gIFdlIGRvbid0IHVzZSB0aGlzCi0jIG1hY3JvIHRvIGRlZmluZSBzb21lIGZyZXF1
ZW50bHkgY2FsbGVkIG1hY3JvcyB0aGF0IGFyZSBub3QgaW52b2x2ZWQKLSMgaW4gb3JkZXJpbmcg
Y29uc3RyYWludHMsIHRvIHNhdmUgbTQgcHJvY2Vzc2luZy4KLSMKLSMgTUFDUk8gaXMgYW4gdW5k
b2N1bWVudGVkIGFyZ3VtZW50OyB3aGVuIHNldCB0byBtNF9wdXNoZGVmLCBhbmQgTkFNRQotIyBp
cyBhbHJlYWR5IGRlZmluZWQsIHRoZSBuZXcgZGVmaW5pdGlvbiBpcyBhZGRlZCB0byB0aGUgcHVz
aGRlZgotIyBzdGFjaywgcmF0aGVyIHRoYW4gb3ZlcndyaXRpbmcgdGhlIGN1cnJlbnQgZGVmaW5p
dGlvbi4gIEl0IGNhbiB0aHVzCi0jIGJlIHVzZWQgdG8gd3JpdGUgc2VsZi1tb2RpZnlpbmcgbWFj
cm9zLCB3aGljaCBwb3AgdGhlbXNlbHZlcyB0byBhCi0jIHByZXZpb3VzbHkgbTRfZGVmaW5lJ2Qg
ZGVmaW5pdGlvbiBzbyB0aGF0IHN1YnNlcXVlbnQgdXNlIG9mIHRoZQotIyBtYWNybyBpcyBmYXN0
ZXIuCi1tNF9kZWZpbmUoW200X2RlZnVuXSwKLVttNF9kZWZpbmUoW200X2xvY2F0aW9uKCQxKV0s
IG00X2xvY2F0aW9uKV1kbmwKLVttNF9kZWZhdWx0KFskM10sIFttNF9kZWZpbmVdKShbJDFdLAot
ICBbX200X2RlZnVuX3BybyhdbTRfZHF1b3RlKCRbMF0pWykkMltdX200X2RlZnVuX2VwaShdbTRf
ZHF1b3RlKCRbMF0pWyldKV0pCi0KLQotIyBtNF9kZWZ1bl9pbml0KE5BTUUsIElOSVQsIENPTU1P
TikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIExpa2UgbTRfZGVmdW4s
IGJ1dCBzcGxpdCBFWFBBTlNJT04gaW50byB0d28gcG9ydGlvbnM6IElOSVQgd2hpY2ggaXMKLSMg
ZG9uZSBvbmx5IHRoZSBmaXJzdCB0aW1lIE5BTUUgaXMgaW52b2tlZCwgYW5kIENPTU1PTiB3aGlj
aCBpcwotIyBleHBhbmRlZCBldmVyeSB0aW1lLgotIwotIyBGb3Igbm93LCB0aGUgQ09NTU9OIGRl
ZmluaXRpb24gaXMgYWx3YXlzIG00X2RlZmluZSdkLCBnaXZpbmcgYW4gZXZlbgotIyBsaWdodGVy
LXdlaWdodCBkZWZpbml0aW9uLiAgbTRfZGVmdW4gYWxsb3dzIHNlbGYtcHJvdmlkaW5nLCBidXQg
b25jZQotIyBhIG1hY3JvIGlzIHByb3ZpZGVkLCBtNF9yZXF1aXJlIG5vIGxvbmdlciBjYXJlcyBp
ZiBpdCBpcyBtNF9kZWZpbmUnZAotIyBvciBtNF9kZWZ1bidkLiAgbTRfZGVmdW4gYWxzbyBwcm92
aWRlcyBsb2NhdGlvbiB0cmFja2luZyB0byBpZGVudGlmeQotIyBkZXBlbmRlbmN5IGJ1Z3MsIGJ1
dCBvbmNlIHRoZSBJTklUIGhhcyBiZWVuIGV4cGFuZGVkLCB3ZSBrbm93IHRoZXJlCi0jIGFyZSBu
byBkZXBlbmRlbmN5IGJ1Z3MuICBIb3dldmVyLCBpZiBhIGZ1dHVyZSB1c2UgbmVlZHMgQ09NTU9O
IHRvIGJlCi0jIG00X2RlZnVuJ2QsIHdlIGNhbiBhZGQgYSBwYXJhbWV0ZXIsIHNpbWlsYXIgdG8g
dGhlIHRoaXJkIHBhcmFtZXRlcgotIyB0byBtNF9kZWZ1bi4KLW00X2RlZmluZShbbTRfZGVmdW5f
aW5pdF0sCi1bbTRfZGVmaW5lKFskMV0sIFskM1tdXSltNF9kZWZ1bihbJDFdLAotICAgWyQyW11f
bTRfcG9wZGVmKF1tNF9kcXVvdGUoJFswXSlbKW00X2luZGlyKF1tNF9kcXVvdGUoJFswXSlkbmwK
LVttNF9pZihdbTRfZHF1b3RlKCRbI10pWywgWzBdLCBbXSwgXW00X2RxdW90ZShbLCRdQClbKSld
LCBbbTRfcHVzaGRlZl0pXSkKLQotCi0jIG00X2RlZnVuX29uY2UoTkFNRSwgRVhQQU5TSU9OKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTGlrZSBtNF9kZWZ1biwgYnV0IGd1
YXJhbnRlZSB0aGF0IEVYUEFOU0lPTiBvbmx5IGhhcHBlbnMgb25jZQotIyAodGhlcmVhZnRlciwg
dXNpbmcgTkFNRSBpcyBhIG5vLW9wKS4KLSMKLSMgSWYgX200X2RpdmVydF9kdW1wIGlzIGVtcHR5
LCB3ZSBhcmUgY2FsbGVkIGF0IHRoZSB0b3AgbGV2ZWw7Ci0jIG90aGVyd2lzZSwgd2UgbXVzdCBl
bnN1cmUgdGhhdCB3ZSBhcmUgcmVxdWlyZWQgaW4gZnJvbnQgb2YgdGhlCi0jIGN1cnJlbnQgZGVm
dW4nZCBtYWNyby4gIFVzZSBhIGhlbHBlciBtYWNybyBzbyB0aGF0IEVYUEFOU0lPTiBuZWVkCi0j
IG9ubHkgb2NjdXIgb25jZSBpbiB0aGUgZGVmaW5pdGlvbiBvZiBOQU1FLCBzaW5jZSBpdCBtaWdo
dCBiZSBsYXJnZS4KLW00X2RlZmluZShbbTRfZGVmdW5fb25jZV0sCi1bbTRfZGVmaW5lKFttNF9s
b2NhdGlvbigkMSldLCBtNF9sb2NhdGlvbildZG5sCi1bbTRfZGVmaW5lKFskMV0sIFtfbTRfZGVm
dW5fb25jZShbJDFdLCBbJDJdLCBtNF9pZihfbTRfZGl2ZXJ0X2R1bXAsIFtdLAotICBbW19tNF9k
ZWZ1bl9wcm8oWyQxXSltNF91bnF1b3RlKF0sIFspX200X2RlZnVuX2VwaShbJDFdKV1dLAotbTRf
aWZkZWYoW19tNF9kaXZlcnRpbmcoWyQxXSldLCBbLV0pLCBbLV0sIFtbbTRfdW5xdW90ZShdLCBb
KV1dLAotICBbW19tNF9yZXF1aXJlX2NhbGwoWyQxXSxdLCBbLCBfbTRfZGl2ZXJ0X2R1bXApXV0p
KV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfZGVmdW5fb25jZV0sCi1bbTRfcHVzaGRlZihbJDFdKSQz
WyQyW11tNF9wcm92aWRlKFskMV0pXSQ0XSkKLQotCi0jIG00X3BhdHRlcm5fZm9yYmlkKEVSRSwg
W1dIWV0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlY2xhcmUgdGhhdCBu
byB0b2tlbiBtYXRjaGluZyB0aGUgZm9yYmlkZGVuIHBlcmwgZXh0ZW5kZWQgcmVndWxhcgotIyBl
eHByZXNzaW9uIEVSRSBzaG91bGQgYmUgc2VlbiBpbiB0aGUgb3V0cHV0IHVubGVzcy4uLgotbTRf
ZGVmaW5lKFttNF9wYXR0ZXJuX2ZvcmJpZF0sIFtdKQotCi0KLSMgbTRfcGF0dGVybl9hbGxvdyhF
UkUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyAuLi4gdGhhdCB0b2tlbiBhbHNvIG1hdGNo
ZXMgdGhlIGFsbG93ZWQgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9uIEVSRS4KLSMgQm90aCB1
c2VkIHZpYSB0cmFjZXMsIGJ5IGF1dG9tNHRlIHBvc3QtcHJvY2Vzc2luZy4KLW00X2RlZmluZShb
bTRfcGF0dGVybl9hbGxvd10sIFtdKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAjIwotIyMgMTEuIERlcGVuZGVuY2llcyBiZXR3ZWVuIG1hY3Jvcy4gICMjCi0jIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotCi0jIG00X2JlZm9yZShUSElT
LU1BQ1JPLU5BTUUsIENBTExFRC1NQUNSTy1OQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSXNzdWUgYSB3YXJuaW5nIGlmIENBTExFRC1NQUNS
Ty1OQU1FIHdhcyBjYWxsZWQgYmVmb3JlIFRISVMtTUFDUk8tTkFNRS4KLW00X2RlZmluZShbbTRf
YmVmb3JlXSwKLVttNF9wcm92aWRlX2lmKFskMl0sCi0JICAgICAgIFttNF93YXJuKFtzeW50YXhd
LCBbJDIgd2FzIGNhbGxlZCBiZWZvcmUgJDFdKV0pXSkKLQotCi0jIG00X3JlcXVpcmUoTkFNRS1U
Ty1DSEVDSywgW0JPRFktVE8tRVhQQU5EID0gTkFNRS1UTy1DSEVDS10pCi0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIE5B
TUUtVE8tQ0hFQ0sgaGFzIG5ldmVyIGJlZW4gZXhwYW5kZWQgKGFjdHVhbGx5LCBpZiBpdCBpcyBu
b3QKLSMgbTRfcHJvdmlkZSdkKSwgZXhwYW5kIEJPRFktVE8tRVhQQU5EICpiZWZvcmUqIHRoZSBj
dXJyZW50IG1hY3JvCi0jIGV4cGFuc2lvbjsgZm9sbG93IHRoZSBleHBhbnNpb24gd2l0aCBhIG5l
d2xpbmUuICBPbmNlIGV4cGFuZGVkLCBlbWl0Ci0jIGl0IGluIF9tNF9kaXZlcnRfZHVtcC4gIEtl
ZXAgdHJhY2sgb2YgdGhlIG00X3JlcXVpcmUgY2hhaW4gaW4KLSMgX200X2V4cGFuc2lvbl9zdGFj
ay4KLSMKLSMgVGhlIG5vcm1hbCBjYXNlcyBhcmU6Ci0jCi0jIC0gTkFNRS1UTy1DSEVDSyA9PSBC
T0RZLVRPLUVYUEFORAotIyAgIFdoaWNoIHlvdSBjYW4gdXNlIGZvciByZWd1bGFyIG1hY3JvcyB3
aXRoIG9yIHdpdGhvdXQgYXJndW1lbnRzLCBlLmcuLAotIyAgICAgbTRfcmVxdWlyZShbQUNfUFJP
R19DQ10sIFtBQ19QUk9HX0NDXSkKLSMgICAgIG00X3JlcXVpcmUoW0FDX0NIRUNLX0hFQURFUlMo
dGhyZWFkcy5oKV0sIFtBQ19DSEVDS19IRUFERVJTKHRocmVhZHMuaCldKQotIyAgIHdoaWNoIGlz
IGp1c3QgdGhlIHNhbWUgYXMKLSMgICAgIG00X3JlcXVpcmUoW0FDX1BST0dfQ0NdKQotIyAgICAg
bTRfcmVxdWlyZShbQUNfQ0hFQ0tfSEVBREVSUyh0aHJlYWRzLmgpXSkKLSMKLSMgLSBCT0RZLVRP
LUVYUEFORCA9PSBtNF9pbmRpcihbTkFNRS1UTy1DSEVDS10pCi0jICAgSW4gdGhlIGNhc2Ugb2Yg
bWFjcm9zIHdpdGggaXJyZWd1bGFyIG5hbWVzLiAgRm9yIGluc3RhbmNlOgotIyAgICAgbTRfcmVx
dWlyZShbQUNfTEFOR19DT01QSUxFUihDKV0sIFtpbmRpcihbQUNfTEFOR19DT01QSUxFUihDKV0p
XSkKLSMgICB3aGljaCBtZWFucyBgaWYgdGhlIG1hY3JvIG5hbWVkIGBBQ19MQU5HX0NPTVBJTEVS
KEMpJyAodGhlIHBhcmVucyBhcmUKLSMgICBwYXJ0IG9mIHRoZSBuYW1lLCBpdCBpcyBub3QgYW4g
YXJndW1lbnQpIGhhcyBub3QgYmVlbiBydW4sIHRoZW4KLSMgICBjYWxsIGl0LicKLSMgICBIYWQg
eW91IHVzZWQKLSMgICAgIG00X3JlcXVpcmUoW0FDX0xBTkdfQ09NUElMRVIoQyldLCBbQUNfTEFO
R19DT01QSUxFUihDKV0pCi0jICAgdGhlbiBtNF9yZXF1aXJlIHdvdWxkIGhhdmUgdHJpZWQgdG8g
ZXhwYW5kIGBBQ19MQU5HX0NPTVBJTEVSKEMpJywgaS5lLiwKLSMgICBjYWxsIHRoZSBtYWNybyBg
QUNfTEFOR19DT01QSUxFUicgd2l0aCBgQycgYXMgYXJndW1lbnQuCi0jCi0jICAgWW91IGNvdWxk
IGFyZ3VlIHRoYXQgYEFDX0xBTkdfQ09NUElMRVInLCB3aGVuIGl0IHJlY2VpdmVzIGFuIGFyZ3Vt
ZW50Ci0jICAgc3VjaCBhcyBgQycgc2hvdWxkIGRpc3BhdGNoIHRoZSBjYWxsIHRvIGBBQ19MQU5H
X0NPTVBJTEVSKEMpJy4gIEJ1dCB0aGlzCi0jICAgYGV4dGVuc2lvbicgcHJldmVudHMgYEFDX0xB
TkdfQ09NUElMRVInIGZyb20gaGF2aW5nIGFjdHVhbCBhcmd1bWVudHMgdGhhdAotIyAgIGl0IHBh
c3NlcyB0byBgQUNfTEFOR19DT01QSUxFUihDKScuCi0jCi0jIFRoaXMgaXMgY2FsbGVkIGZyZXF1
ZW50bHksIHNvIG1pbmltaXplIHRoZSBudW1iZXIgb2YgbWFjcm8gaW52b2NhdGlvbnMKLSMgYnkg
YXZvaWRpbmcgZG5sIGFuZCBvdGhlciBvdmVyaGVhZCBvbiB0aGUgY29tbW9uIHBhdGguCi1tNF9k
ZWZpbmUoW200X3JlcXVpcmVdLAotW200X2lmZGVmKFtfbTRfZXhwYW5kaW5nKCQxKV0sCi0gIFtt
NF9mYXRhbChbJDA6IGNpcmN1bGFyIGRlcGVuZGVuY3kgb2YgJDFdKV0pXWRubAotW200X2lmKF9t
NF9kaXZlcnRfZHVtcCwgW10sCi0gIFttNF9mYXRhbChbJDAoJDEpOiBjYW5ub3QgYmUgdXNlZCBv
dXRzaWRlIG9mIGFuIF1kbmwKLW00X2lmKFskMF0sIFttNF9yZXF1aXJlXSwgW1ttNF9kZWZ1bl1d
LCBbW0FDX0RFRlVOXV0pWydkIG1hY3JvXSldKV1kbmwKLVttNF9wcm92aWRlX2lmKFskMV0sIFtt
NF9zZXRfY29udGFpbnMoW19tNF9wcm92aWRlXSwgWyQxXSwKLSAgICBbX200X3JlcXVpcmVfY2hl
Y2soWyQxXSwgX200X2RlZm4oW200X3Byb3ZpZGUoJDEpXSksIFskMF0pXSwgW200X2lnbm9yZV0p
XSwKLSAgW19tNF9yZXF1aXJlX2NhbGxdKShbJDFdLCBbJDJdLCBfbTRfZGl2ZXJ0X2R1bXApXSkK
LQotCi0jIF9tNF9yZXF1aXJlX2NhbGwoTkFNRS1UTy1DSEVDSywgW0JPRFktVE8tRVhQQU5EID0g
TkFNRS1UTy1DSEVDS10sCi0jICAgICAgICAgICAgICAgICAgRElWRVJTSU9OLU5VTUJFUikKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLSMgSWYgbTRfcmVxdWlyZSBkZWNpZGVzIHRvIGV4cGFuZCB0aGUgYm9keSwgaXQg
Y2FsbHMgdGhpcyBtYWNyby4gIFRoZQotIyBleHBhbnNpb24gaXMgcGxhY2VkIGluIERJVkVSU0lP
Ti1OVU1CRVIuCi0jCi0jIFRoaXMgaXMgY2FsbGVkIGZyZXF1ZW50bHksIHNvIG1pbmltaXplIHRo
ZSBudW1iZXIgb2YgbWFjcm8gaW52b2NhdGlvbnMKLSMgYnkgYXZvaWRpbmcgZG5sIGFuZCBvdGhl
ciBvdmVyaGVhZCBvbiB0aGUgY29tbW9uIHBhdGguCi0jIFRoZSB1c2Ugb2YgYSB3aXRuZXNzIG1h
Y3JvIHByb3RlY3RpbmcgdGhlIHdhcm5pbmcgYWxsb3dzIGFjbG9jYWwKLSMgdG8gc2lsZW5jZSBh
bnkgd2FybmluZ3Mgd2hlbiBwcm9iaW5nIGZvciB3aGF0IG1hY3JvcyBhcmUgcmVxdWlyZWQKLSMg
YW5kIG11c3QgdGhlcmVmb3JlIGJlIGxvY2F0ZWQsIHdoZW4gdXNpbmcgdGhlIEF1dG9jb25mLXdp
dGhvdXQtYWNsb2NhbC1tNAotIyBhdXRvbTR0ZSBsYW5ndWFnZS4gIEZvciBtb3JlIGJhY2tncm91
bmQsIHNlZToKLSMgaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS1w
YXRjaGVzLzIwMTItMTEvbXNnMDAwMzUuaHRtbAotbTRfZGVmaW5lKFtfbTRfcmVxdWlyZV9jYWxs
XSwKLVttNF9wdXNoZGVmKFtfbTRfZGl2ZXJ0X2dyb3ddLCBtNF9kZWNyKF9tNF9kaXZlcnRfZ3Jv
dykpXWRubAotW200X3B1c2hkZWYoW19tNF9kaXZlcnRpbmcoWyQxXSldKW00X3B1c2hkZWYoW19t
NF9kaXZlcnRpbmddLCBbJDFdKV1kbmwKLVttNF9kaXZlcnRfcHVzaChfbTRfZGl2ZXJ0X2dyb3cs
IFstXSldZG5sCi1bbTRfaWYoWyQyXSwgW10sIFskMV0sIFskMl0pCi1tNF9wcm92aWRlX2lmKFsk
MV0sIFttNF9zZXRfcmVtb3ZlKFtfbTRfcHJvdmlkZV0sIFskMV0pXSwKLSAgW200X2lmbmRlZihb
bTRfcmVxdWlyZV9zaWxlbnRfcHJvYmVdLAotICAgIFttNF93YXJuKFtzeW50YXhdLCBbJDEgaXMg
bTRfcmVxdWlyZSdkIGJ1dCBub3QgbTRfZGVmdW4nZF0pXSldKV1kbmwKLVtfbTRfZGl2ZXJ0X3Jh
dygkMylfbTRfdW5kaXZlcnQoX200X2RpdmVydF9ncm93KV1kbmwKLVttNF9kaXZlcnRfcG9wKF9t
NF9kaXZlcnRfZ3JvdylfbTRfcG9wZGVmKFtfbTRfZGl2ZXJ0X2dyb3ddLAotW19tNF9kaXZlcnRp
bmcoWyQxXSldLCBbX200X2RpdmVydGluZ10pXSkKLQotCi0jIF9tNF9yZXF1aXJlX2NoZWNrKE5B
TUUtVE8tQ0hFQ0ssIE9XTkVSLCBDQUxMRVIpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE5BTUUtVE8tQ0hFQ0sgaGFzIGJlZW4gaWRlbnRpZmll
ZCBhcyBwcmV2aW91c2x5IGV4cGFuZGVkIGluIHRoZQotIyBkaXZlcnNpb24gb3duZWQgYnkgT1dO
RVIuICBJZiB0aGlzIGlzIGEgcHJvYmxlbSwgd2FybiBvbiBiZWhhbGYgb2YKLSMgQ0FMTEVSIGFu
ZCByZXR1cm4gX200X3JlcXVpcmVfY2FsbDsgb3RoZXJ3aXNlIHJldHVybiBtNF9pZ25vcmUuCi1t
NF9kZWZpbmUoW19tNF9yZXF1aXJlX2NoZWNrXSwKLVttNF9pZihfbTRfZGVmbihbX200X2RpdmVy
dGluZ10pLCBbJDJdLCBbbTRfaWdub3JlXSwKLSAgICAgICBtNF9pZmRlZihbX200X2RpdmVydGlu
ZyhbJDJdKV0sIFstXSksIFstXSwgW200X3dhcm4oW3N5bnRheF0sCi0gICBbJDM6IGAkMScgd2Fz
IGV4cGFuZGVkIGJlZm9yZSBpdCB3YXMgcmVxdWlyZWQKLWh0dHBzOi8vd3d3LmdudS5vcmcvc29m
dHdhcmUvYXV0b2NvbmYvbWFudWFsL2F1dG9jb25mLmh0bWwjRXhwYW5kZWQtQmVmb3JlLVJlcXVp
cmVkXSlfbTRfcmVxdWlyZV9jYWxsXSwKLSAgICAgICBbbTRfaWdub3JlXSldKQotCi0KLSMgX200
X2RpdmVydF9ncm93Ci0jIC0tLS0tLS0tLS0tLS0tLQotIyBUaGUgY291bnRlciBmb3IgX200X3Jl
cXVpcmVfY2FsbC4KLW00X2RlZmluZShbX200X2RpdmVydF9ncm93XSwgX200X2RpdmVydChbR1JP
V10pKQotCi0KLSMgbTRfZXhwYW5kX29uY2UoVEVYVCwgW1dJVE5FU1MgPSBURVhUXSkKLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgVEVYVCBoYXMgbmV2ZXIg
YmVlbiBleHBhbmRlZCwgZXhwYW5kIGl0ICpoZXJlKi4gIFVzZSBXSVRORVNTIGFzCi0jIGFzIGEg
bWVtb3J5IHRoYXQgVEVYVCBoYXMgYWxyZWFkeSBiZWVuIGV4cGFuZGVkLgotbTRfZGVmaW5lKFtt
NF9leHBhbmRfb25jZV0sCi1bbTRfcHJvdmlkZV9pZihtNF9kZWZhdWx0X3F1b3RlZChbJDJdLCBb
JDFdKSwKLQkgICAgICAgW10sCi0JICAgICAgIFttNF9wcm92aWRlKG00X2RlZmF1bHRfcXVvdGVk
KFskMl0sIFskMV0pKVtdJDFdKV0pCi0KLQotIyBtNF9wcm92aWRlKE1BQ1JPLU5BTUUpCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbbTRfcHJvdmlkZV0sCi1bbTRfaWZkZWYo
W200X3Byb3ZpZGUoJDEpXSwgW10sCi1bbTRfc2V0X2FkZChbX200X3Byb3ZpZGVdLCBbJDFdLCBb
bTRfZGVmaW5lKFttNF9wcm92aWRlKCQxKV0sCi0gIG00X2lmZGVmKFtfbTRfZGl2ZXJ0aW5nXSwg
W19tNF9kZWZuKFtfbTRfZGl2ZXJ0aW5nXSldKSldKV0pXSkKLQotCi0jIG00X3Byb3ZpZGVfaWYo
TUFDUk8tTkFNRSwgSUYtUFJPVklERUQsIElGLU5PVC1QUk9WSURFRCkKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBNQUNSTy1O
QU1FIGlzIHByb3ZpZGVkIGRvIElGLVBST1ZJREVELCBlbHNlIElGLU5PVC1QUk9WSURFRC4KLSMg
VGhlIHB1cnBvc2Ugb2YgdGhpcyBtYWNybyBpcyB0byBwcm92aWRlIHRoZSB1c2VyIHdpdGggYSBt
ZWFucyB0bwotIyBjaGVjayBtYWNyb3Mgd2hpY2ggYXJlIHByb3ZpZGVkIHdpdGhvdXQgbGV0dGlu
ZyBoZXIga25vdyBob3cgdGhlCi0jIGluZm9ybWF0aW9uIGlzIGNvZGVkLgotbTRfZGVmaW5lKFtt
NF9wcm92aWRlX2lmXSwKLVttNF9pZmRlZihbbTRfcHJvdmlkZSgkMSldLAotCSAgWyQyXSwgWyQz
XSldKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgMTIuIFRleHQgcHJvY2Vz
c2luZy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotCi0jIG00X2NyX2xldHRl
cnMKLSMgbTRfY3JfTEVUVEVSUwotIyBtNF9jcl9MZXR0ZXJzCi0jIC0tLS0tLS0tLS0tLS0KLW00
X2RlZmluZShbbTRfY3JfbGV0dGVyc10sIFthYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5el0pCi1t
NF9kZWZpbmUoW200X2NyX0xFVFRFUlNdLCBbQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpdKQot
bTRfZGVmaW5lKFttNF9jcl9MZXR0ZXJzXSwKLW00X2RlZm4oW200X2NyX2xldHRlcnNdKWRubAot
bTRfZGVmbihbbTRfY3JfTEVUVEVSU10pZG5sCi0pCi0KLQotIyBtNF9jcl9kaWdpdHMKLSMgLS0t
LS0tLS0tLS0tCi1tNF9kZWZpbmUoW200X2NyX2RpZ2l0c10sIFswMTIzNDU2Nzg5XSkKLQotCi0j
IG00X2NyX2FsbnVtCi0jIC0tLS0tLS0tLS0tCi1tNF9kZWZpbmUoW200X2NyX2FsbnVtXSwKLW00
X2RlZm4oW200X2NyX0xldHRlcnNdKWRubAotbTRfZGVmbihbbTRfY3JfZGlnaXRzXSlkbmwKLSkK
LQotCi0jIG00X2NyX3N5bWJvbHMxCi0jIG00X2NyX3N5bWJvbHMyCi0jIC0tLS0tLS0tLS0tLS0t
Ci1tNF9kZWZpbmUoW200X2NyX3N5bWJvbHMxXSwKLW00X2RlZm4oW200X2NyX0xldHRlcnNdKWRu
bAotXykKLQotbTRfZGVmaW5lKFttNF9jcl9zeW1ib2xzMl0sCi1tNF9kZWZuKFttNF9jcl9zeW1i
b2xzMV0pZG5sCi1tNF9kZWZuKFttNF9jcl9kaWdpdHNdKWRubAotKQotCi0jIG00X2NyX2FsbAot
IyAtLS0tLS0tLS0KLSMgVGhlIGNoYXJhY3RlciByYW5nZSByZXByZXNlbnRpbmcgZXZlcnl0aGlu
Zywgd2l0aCBgLScgYXMgdGhlIGxhc3QKLSMgY2hhcmFjdGVyLCBzaW5jZSBpdCBpcyBzcGVjaWFs
IHRvIG00X3RyYW5zbGl0LiAgVXNlIHdpdGggY2FyZSwgYmVjYXVzZQotIyBpdCBjb250YWlucyBj
aGFyYWN0ZXJzIHNwZWNpYWwgdG8gTTQgKGZvcnR1bmF0ZWx5LCBib3RoIEFTQ0lJIGFuZCBFQkNE
SUMKLSMgaGF2ZSBbXSBpbiBvcmRlciwgc28gbTRfZGVmbihbbTRfY3JfYWxsXSkgcmVtYWlucyBh
IHZhbGlkIHN0cmluZykuICBJdAotIyBhbHNvIGNvbnRhaW5zIGNoYXJhY3RlcnMgc3BlY2lhbCB0
byB0ZXJtaW5hbHMsIHNvIGl0IHNob3VsZCBuZXZlciBiZQotIyBkaXNwbGF5ZWQgaW4gYW4gZXJy
b3IgbWVzc2FnZS4gIEFsc28sIGF0dGVtcHRzIHRvIG1hcCBbIGFuZCBdIHRvIG90aGVyCi0jIGNo
YXJhY3RlcnMgdmlhIG00X3RyYW5zbGl0IG11c3QgZGVhbCB3aXRoIHRoZSBmYWN0IHRoYXQgbTRf
dHJhbnNsaXQgZG9lcwotIyBub3QgYWRkIHF1b3RlcyB0byB0aGUgb3V0cHV0LgotIwotIyBJbiBF
QkNESUMsICQgaXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgKiwgd2hpY2ggbGVhZHMgdG8gcHJv
YmxlbXMKLSMgaWYgbTRfY3JfYWxsIGlzIGlubGluZWQgaW50byBhIG1hY3JvIGRlZmluaXRpb247
IHNvIHN3YXAgdGhlbS4KLSMKLSMgSXQgaXMgbWFpbmx5IHVzZWZ1bCBpbiBnZW5lcmF0aW5nIGlu
dmVydGVkIGNoYXJhY3RlciByYW5nZSBtYXBzLCBmb3IgdXNlCi0jIGluIHBsYWNlcyB3aGVyZSBt
NF90cmFuc2xpdCBpcyBmYXN0ZXIgdGhhbiBhbiBlcXVpdmFsZW50IG00X2JwYXRzdWJzdDsKLSMg
dGhlIHJlZ2V4IGBbXmEtel0nIGlzIGVxdWl2YWxlbnQgdG86Ci0jICBtNF90cmFuc2xpdChtNF9k
cXVvdGUobTRfZGVmbihbbTRfY3JfYWxsXSkpLCBbYS16XSkKLW00X2RlZmluZShbbTRfY3JfYWxs
XSwKLW00X3RyYW5zbGl0KG00X2RxdW90ZShtNF9mb3JtYXQobTRfZHF1b3RlKG00X2ZvcigKLSAg
LDEsMjU1LCxbWyVjXV0pKW00X2ZvcihbaV0sMSwyNTUsLFssaV0pKSksIFskKi1dLCBbKiRdKS0p
Ci0KLQotIyBfbTRfZGVmaW5lX2NyX25vdChDQVRFR09SWSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0jIERlZmluZSBtNF9jcl9ub3RfQ0FURUdPUlkgYXMgdGhlIGludmVyc2Ugb2Yg
bTRfY3JfQ0FURUdPUlkuCi1tNF9kZWZpbmUoW19tNF9kZWZpbmVfY3Jfbm90XSwKLVttNF9kZWZp
bmUoW200X2NyX25vdF8kMV0sCi0JICAgbTRfdHJhbnNsaXQobTRfZHF1b3RlKG00X2RlZm4oW200
X2NyX2FsbF0pKSwKLQkJICAgICAgIG00X2RlZm4oW200X2NyXyQxXSkpKV0pCi0KLQotIyBtNF9j
cl9ub3RfbGV0dGVycwotIyBtNF9jcl9ub3RfTEVUVEVSUwotIyBtNF9jcl9ub3RfTGV0dGVycwot
IyBtNF9jcl9ub3RfZGlnaXRzCi0jIG00X2NyX25vdF9hbG51bQotIyBtNF9jcl9ub3Rfc3ltYm9s
czEKLSMgbTRfY3Jfbm90X3N5bWJvbHMyCi0jIC0tLS0tLS0tLS0tLS0tLS0tLQotIyBJbnZlcnNl
IGNoYXJhY3RlciBzZXRzCi1fbTRfZGVmaW5lX2NyX25vdChbbGV0dGVyc10pCi1fbTRfZGVmaW5l
X2NyX25vdChbTEVUVEVSU10pCi1fbTRfZGVmaW5lX2NyX25vdChbTGV0dGVyc10pCi1fbTRfZGVm
aW5lX2NyX25vdChbZGlnaXRzXSkKLV9tNF9kZWZpbmVfY3Jfbm90KFthbG51bV0pCi1fbTRfZGVm
aW5lX2NyX25vdChbc3ltYm9sczFdKQotX200X2RlZmluZV9jcl9ub3QoW3N5bWJvbHMyXSkKLQot
Ci0jIG00X25ld2xpbmUoW1NUUklOR10pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFu
ZHMgdG8gYSBuZXdsaW5lLCBwb3NzaWJseSBmb2xsb3dlZCBieSBTVFJJTkcuICBFeGlzdHMgbW9z
dGx5IGZvcgotIyBmb3JtYXR0aW5nIHJlYXNvbnMuCi1tNF9kZWZpbmUoW200X25ld2xpbmVdLCBb
Ci0kMV0pCi0KLQotIyBtNF9yZV9lc2NhcGUoU1RSSU5HKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LQotIyBFc2NhcGUgUkUgYWN0aXZlIGNoYXJhY3RlcnMgaW4gU1RSSU5HLgotbTRfZGVmaW5lKFtt
NF9yZV9lc2NhcGVdLAotW200X2JwYXRzdWJzdChbJDFdLAotCSAgICAgIFtbXVsqKy4/XF4kXV0s
IFtcXFwmXSldKQotCi0KLSMgbTRfcmVfc3RyaW5nCi0jIC0tLS0tLS0tLS0tLQotIyBSZWdleHAg
Zm9yIGBbYS16QS1aXzAtOV0qJwotIyBtNF9kcXVvdGUgcHJvdmlkZXMgbGl0ZXJhbCBbXSBmb3Ig
dGhlIGNoYXJhY3RlciBjbGFzcy4KLW00X2RlZmluZShbbTRfcmVfc3RyaW5nXSwKLW00X2RxdW90
ZShtNF9kZWZuKFttNF9jcl9zeW1ib2xzMl0pKWRubAotWypdZG5sCi0pCi0KLQotIyBtNF9yZV93
b3JkCi0jIC0tLS0tLS0tLS0KLSMgUmVnZXhwIGZvciBgW2EtekEtWl9dW2EtekEtWl8wLTldKicK
LW00X2RlZmluZShbbTRfcmVfd29yZF0sCi1tNF9kcXVvdGUobTRfZGVmbihbbTRfY3Jfc3ltYm9s
czFdKSlkbmwKLW00X2RlZm4oW200X3JlX3N0cmluZ10pZG5sCi0pCi0KLQotIyBtNF90b2xvd2Vy
KFNUUklORykKLSMgbTRfdG91cHBlcihTVFJJTkcpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLQotIyBU
aGVzZSBtYWNyb3MgY29udmVydCBTVFJJTkcgdG8gbG93ZXJjYXNlIG9yIHVwcGVyY2FzZS4KLSMK
LSMgUmF0aGVyIHRoYW4gZXhwYW5kIHRoZSBtNF9kZWZuIGVhY2ggdGltZSwgd2UgaW5saW5lIHRo
ZW0gdXAgZnJvbnQuCi1tNF9kZWZpbmUoW200X3RvbG93ZXJdLAotW200X3RyYW5zbGl0KFtbJDFd
XSwgXW00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9MRVRURVJTXSkpWywKLQkJICAgICBdbTRfZHF1
b3RlKG00X2RlZm4oW200X2NyX2xldHRlcnNdKSlbKV0pCi1tNF9kZWZpbmUoW200X3RvdXBwZXJd
LAotW200X3RyYW5zbGl0KFtbJDFdXSwgXW00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9sZXR0ZXJz
XSkpWywKLQkJICAgICBdbTRfZHF1b3RlKG00X2RlZm4oW200X2NyX0xFVFRFUlNdKSlbKV0pCi0K
LQotIyBtNF9zcGxpdChTVFJJTkcsIFtSRUdFWFBdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotIyBTcGxpdCBTVFJJTkcgaW50byBhbiBtNCBsaXN0IG9mIHF1b3RlZCBlbGVtZW50cy4g
IFRoZSBlbGVtZW50cyBhcmUKLSMgcXVvdGVkIHdpdGggWyBhbmQgXS4gIEJlZ2lubmluZyBzcGFj
ZXMgYW5kIGVuZCBzcGFjZXMgKmFyZSBrZXB0Ki4KLSMgVXNlIG00X3N0cmlwIHRvIHJlbW92ZSB0
aGVtLgotIwotIyBSRUdFWFAgc3BlY2lmaWVzIHdoZXJlIHRvIHNwbGl0LiAgRGVmYXVsdCBpcyBb
XHQgXSsuCi0jCi0jIElmIFNUUklORyBpcyBlbXB0eSwgdGhlIHJlc3VsdCBpcyBhbiBlbXB0eSBs
aXN0LgotIwotIyBQYXkgYXR0ZW50aW9uIHRvIHRoZSBtNF9jaGFuZ2VxdW90ZXMuICBXaGVuIG00
IHJlYWRzIHRoZSBkZWZpbml0aW9uIG9mCi0jIG00X3NwbGl0LCBpdCBzdGlsbCBoYXMgcXVvdGVz
IHNldCB0byBbIGFuZCBdLiAgTHVja2lseSwgdGhlc2UgYXJlIG1hdGNoZWQKLSMgaW4gdGhlIG1h
Y3JvIGJvZHksIHNvIHRoZSBkZWZpbml0aW9uIGlzIHN0b3JlZCBjb3JyZWN0bHkuICBVc2UgdGhl
IHNhbWUKLSMgYWx0ZXJuYXRlIHF1b3RlcyBhcyBtNF9ub3F1b3RlOyBpdCBtdXN0IGJlIHVubGlr
ZWx5IHRvIGFwcGVhciBpbiAkMS4KLSMKLSMgQWxzbywgbm90aWNlIHRoYXQgJDEgaXMgcXVvdGVk
IHR3aWNlLCBzaW5jZSB3ZSB3YW50IHRoZSByZXN1bHQgdG8KLSMgYmUgcXVvdGVkLiAgVGhlbiB5
b3Ugc2hvdWxkIHVuZGVyc3RhbmQgdGhhdCB0aGUgYXJndW1lbnQgb2YKLSMgcGF0c3Vic3QgaXMg
LT08eyhTVFJJTkcpfT49LSAoaS5lLiwgd2l0aCBhZGRpdGlvbmFsIC09PHsoIGFuZCApfT49LSku
Ci0jCi0jIFRoaXMgbWFjcm8gaXMgc2FmZSBvbiBhY3RpdmUgc3ltYm9scywgaS5lLjoKLSMgICBt
NF9kZWZpbmUoYWN0aXZlLCBBQ1RJVkUpCi0jICAgbTRfc3BsaXQoW2FjdGl2ZSBhY3RpdmUgXSll
bmQKLSMgICA9PiBbYWN0aXZlXSwgW2FjdGl2ZV0sIFtdZW5kCi0jCi0jIE9wdGltaXplIG9uIHJl
Z2V4IG9mIGAgJyAoc3BhY2UpLCBzaW5jZSBtNF9mb3JlYWNoX3cgYWxyZWFkeSBndWFyYW50ZWVz
Ci0jIHRoYXQgdGhlIGxpc3QgY29udGFpbnMgc2luZ2xlIHNwYWNlIHNlcGFyYXRvcnMsIGFuZCBh
IGNvbW1vbiBjYXNlIGlzCi0jIHNwbGl0dGluZyBhIHNpbmdsZS1lbGVtZW50IGxpc3QuICBUaGlz
IG1hY3JvIGlzIGNhbGxlZCBmcmVxdWVudGx5LAotIyBzbyBhdm9pZCB1bm5lY2Vzc2FyeSBkbmwg
aW5zaWRlIHRoZSBkZWZpbml0aW9uLgotbTRfZGVmaW5lKFttNF9zcGxpdF0sCi1bbTRfaWYoWyQx
XSwgW10sIFtdLAotICAgICAgIFskMl0sIFsgXSwgW200X2lmKG00X2luZGV4KFskMV0sIFsgXSks
IFstMV0sIFtbWyQxXV1dLAotCQkJIFtfJDAoWyQxXSwgWyQyXSwgWywgXSldKV0sCi0gICAgICAg
WyQyXSwgW10sIFtfJDAoWyQxXSwgW1sJIF0rXSwgWywgXSldLAotICAgICAgIFtfJDAoWyQxXSwg
WyQyXSwgWywgXSldKV0pCi0KLW00X2RlZmluZShbX200X3NwbGl0XSwKLVttNF9jaGFuZ2VxdW90
ZShbLT08eyhdLFspfT49LV0pXWRubAotW1ttNF9icGF0c3Vic3QoLT08eygtPTx7KCQxKX0+PS0p
fT49LSwgLT08eygkMil9Pj0tLAotCSAgICAgICAtPTx7KF0kM1spfT49LSldbTRfY2hhbmdlcXVv
dGUoWywgXSldKQotCi0KLSMgbTRfY2hvbXAoU1RSSU5HKQotIyBtNF9jaG9tcF9hbGwoU1RSSU5H
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSZXR1cm4gU1RSSU5HIHF1b3RlZCwgYnV0IHdp
dGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lLiAgbTRfY2hvbXAKLSMgcmVtb3ZlcyBhdCBtb3N0IG9u
ZSBuZXdsaW5lLCB3aGlsZSBtNF9jaG9tcF9hbGwgcmVtb3ZlcyBhbGwKLSMgY29uc2VjdXRpdmUg
dHJhaWxpbmcgbmV3bGluZXMuICBFbWJlZGRlZCBuZXdsaW5lcyBhcmUgbm90IHRvdWNoZWQsCi0j
IGFuZCBhIHRyYWlsaW5nIGJhY2tzbGFzaC1uZXdsaW5lIGxlYXZlcyBqdXN0IGEgdHJhaWxpbmcg
YmFja3NsYXNoLgotIwotIyBtNF9icmVnZXhwIGlzIHNsb3dlciB0aGFuIG00X2luZGV4LCBhbmQg
d2UgZG9uJ3QgYWx3YXlzIHdhbnQgdG8KLSMgcmVtb3ZlIGFsbCBuZXdsaW5lczsgaGVuY2UgdGhl
IHR3byB2YXJpYW50cy4gIFdlIG1hc3NhZ2UgY2hhcmFjdGVycwotIyB0byBnaXZlIGEgbmljZXIg
cGF0dGVybiB0byBtYXRjaCwgcGFydGljdWxhcmx5IHNpbmNlIG00X2JyZWdleHAgaXMKLSMgbGlu
ZS1vcmllbnRlZC4gIEJvdGggdmVyc2lvbnMgbXVzdCBndWFyYW50ZWUgYSBtYXRjaCwgdG8gYXZv
aWQgYnVncwotIyB3aXRoIHByZWNpc2lvbiAtMSBpbiBtNF9mb3JtYXQgaW4gb2xkZXIgbTQuCi1t
NF9kZWZpbmUoW200X2Nob21wXSwKLVttNF9mb3JtYXQoW1slLipzXV0sIG00X2luZGV4KG00X3Ry
YW5zbGl0KFtbJDFdXSwgWwotLy5dLCBbLyAgXSlbLi8uXSwgWy8uXSksIFskMV0pXSkKLQotbTRf
ZGVmaW5lKFttNF9jaG9tcF9hbGxdLAotW200X2Zvcm1hdChbWyUuKnNdXSwgbTRfYnJlZ2V4cCht
NF90cmFuc2xpdChbWyQxXV0sIFsKLS9dLCBbLyBdKSwgWy8qJF0pLCBbJDFdKV0pCi0KLQotIyBt
NF9mbGF0dGVuKFNUUklORykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIFNUUklORyBjb250
YWlucyBlbmQgb2YgbGluZXMsIHJlcGxhY2UgdGhlbSB3aXRoIHNwYWNlcy4gIElmIHRoZXJlCi0j
IGFyZSBiYWNrc2xhc2hlZCBlbmQgb2YgbGluZXMsIHJlbW92ZSB0aGVtLiAgVGhpcyBtYWNybyBp
cyBzYWZlIHdpdGgKLSMgYWN0aXZlIHN5bWJvbHMuCi0jICAgIG00X2RlZmluZShhY3RpdmUsIEFD
VElWRSkKLSMgICAgbTRfZmxhdHRlbihbYWN0aXZlCi0jICAgIGFjdFwKLSMgICAgaXZlXSllbmQK
LSMgICAgPT4gYWN0aXZlIGFjdGl2ZWVuZAotIwotIyBJbiBtNCwgbTRfYnBhdHN1YnN0IGlzIGV4
cGVuc2l2ZSwgc28gZmlyc3QgY2hlY2sgZm9yIGEgbmV3bGluZS4KLW00X2RlZmluZShbbTRfZmxh
dHRlbl0sCi1bbTRfaWYobTRfaW5kZXgoWyQxXSwgWwotXSksIFstMV0sIFtbJDFdXSwKLSAgICAg
ICBbbTRfdHJhbnNsaXQobTRfYnBhdHN1YnN0KFtbWyQxXV1dLCBbXFwKLV0pLCBbCi1dLCBbIF0p
XSldKQotCi0KLSMgbTRfc3RyaXAoU1RSSU5HKQotIyAtLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFu
ZHMgaW50byBTVFJJTkcgd2l0aCB0YWJzIGFuZCBzcGFjZXMgc2luZ2xlZCBvdXQgaW50byBhIHNp
bmdsZQotIyBzcGFjZSwgYW5kIHJlbW92aW5nIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlcy4K
LSMKLSMgVGhpcyBtYWNybyBpcyByb2J1c3QgdG8gYWN0aXZlIHN5bWJvbHMuCi0jICAgIG00X2Rl
ZmluZShhY3RpdmUsIEFDVElWRSkKLSMgICAgbTRfc3RyaXAoWyAgYWN0aXZlIDx0YWI+IDx0YWI+
YWN0aXZlIF0pZW5kCi0jICAgID0+IGFjdGl2ZSBhY3RpdmVlbmQKLSMKLSMgRmlyc3QsIG5vdGlj
ZSB0aGF0IHdlIGd1YXJhbnRlZSB0cmFpbGluZyBzcGFjZS4gIFdoeT8gIEJlY2F1c2UgcmVndWxh
cgotIyBleHByZXNzaW9ucyBhcmUgZ3JlZWR5LCBhbmQgYC4qID8nIHdvdWxkIGFsd2F5cyBncm91
cCB0aGUgc3BhY2UgaW50byB0aGUKLSMgLiogcG9ydGlvbi4gIFRoZSBhbGdvcml0aG0gaXMgc2lt
cGxlciBieSBhdm9pZGluZyBgPycgYXQgdGhlIGVuZC4gIFRoZQotIyBhbGdvcml0aG0gY29ycmVj
dGx5IHN0cmlwcyBldmVyeXRoaW5nIGlmIFNUUklORyBpcyBqdXN0IGAgJy4KLSMKLSMgVGhlbiBu
b3RpY2UgdGhlIHNlY29uZCBwYXR0ZXJuOiBpdCBpcyBpbiBjaGFyZ2Ugb2YgcmVtb3ZpbmcgdGhl
Ci0jIGxlYWRpbmcvdHJhaWxpbmcgc3BhY2VzLiAgV2h5IG5vdCBqdXN0IGBbXiBdJz8gIEJlY2F1
c2UgdGhleSBhcmUKLSMgYXBwbGllZCB0byBvdmVyLXF1b3RlZCBzdHJpbmdzLCBpLmUuIG1vcmUg
b3IgbGVzcyBbU1RSSU5HXSwgZHVlCi0jIHRvIHRoZSBsaW1pdGF0aW9ucyBvZiBtNF9icGF0c3Vi
c3RzLiAgU28gdGhlIGxlYWRpbmcgc3BhY2UgaW4gU1RSSU5HCi0jIGlzIHRoZSAqc2Vjb25kKiBj
aGFyYWN0ZXI7IGVxdWFsbHkgZm9yIHRoZSB0cmFpbGluZyBzcGFjZS4KLW00X2RlZmluZShbbTRf
c3RyaXBdLAotW200X2JwYXRzdWJzdHMoWyQxIF0sCi0JICAgICAgIFtbCSBdK10sIFsgXSwKLQkg
ICAgICAgW14uID9cKC4qXCkgLiRdLCBbW1tcMV1dXSldKQotCi0KLSMgbTRfbm9ybWFsaXplKFNU
UklORykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQXBwbHkgbTRfZmxhdHRlbiBhbmQgbTRf
c3RyaXAgdG8gU1RSSU5HLgotIwotIyBUaGUgYXJndW1lbnQgaXMgcXVvdGVkLCBzbyB0aGF0IHRo
ZSBtYWNybyBpcyByb2J1c3QgdG8gYWN0aXZlIHN5bWJvbHM6Ci0jCi0jICAgIG00X2RlZmluZShh
Y3RpdmUsIEFDVElWRSkKLSMgICAgbTRfbm9ybWFsaXplKFsgIGFjdFwKLSMgICAgaXZlCi0jICAg
IGFjdGl2ZSBdKWVuZAotIyAgICA9PiBhY3RpdmUgYWN0aXZlZW5kCi0KLW00X2RlZmluZShbbTRf
bm9ybWFsaXplXSwKLVttNF9zdHJpcChtNF9mbGF0dGVuKFskMV0pKV0pCi0KLQotCi0jIG00X2pv
aW4oU0VQLCBBUkcxLCBBUkcyLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMg
UHJvZHVjZSBBUkcxU0VQQVJHMi4uLlNFUEFSR24uICBBdm9pZCBiYWNrLXRvLWJhY2sgU0VQIHdo
ZW4gYSBnaXZlbiBBUkcKLSMgaXMgdGhlIGVtcHR5IHN0cmluZy4gIE5vIGV4cGFuc2lvbiBpcyBw
ZXJmb3JtZWQgb24gU0VQIG9yIEFSR3MuCi0jCi0jIFNpbmNlIHRoZSBudW1iZXIgb2YgYXJndW1l
bnRzIHRvIGpvaW4gY2FuIGJlIGFyYml0cmFyaWx5IGxvbmcsIHdlCi0jIHdhbnQgdG8gYXZvaWQg
aGF2aW5nIG1vcmUgdGhhbiBvbmUgJEAgaW4gdGhlIG1hY3JvIGRlZmluaXRpb247Ci0jIG90aGVy
d2lzZSwgdGhlIGV4cGFuc2lvbiB3b3VsZCByZXF1aXJlIHR3aWNlIHRoZSBtZW1vcnkgb2YgdGhl
IGFscmVhZHkKLSMgbG9uZyBsaXN0LiAgSGVuY2UsIG00X2pvaW4gbWVyZWx5IGxvb2tzIGZvciB0
aGUgZmlyc3Qgbm9uLWVtcHR5IGVsZW1lbnQsCi0jIGFuZCBvdXRwdXRzIGp1c3QgdGhhdCBlbGVt
ZW50OyB3aGlsZSBfbTRfam9pbiBsb29rcyBmb3IgYWxsIG5vbi1lbXB0eQotIyBlbGVtZW50cywg
YW5kIG91dHB1dHMgdGhlbSBmb2xsb3dpbmcgYSBzZXBhcmF0b3IuICBUaGUgZmluYWwgdHJpY2sg
dG8KLSMgbm90ZSBpcyB0aGF0IHdlIGRlY2lkZSBiZXR3ZWVuIHJlY3Vyc2luZyB3aXRoICQwIG9y
IF8kMCBiYXNlZCBvbiB0aGUKLSMgbmVzdGVkIG00X2lmIGVuZGluZyB3aXRoIGBfJy4KLSMKLSMg
UGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUg
aGVyZS4KLW00X2RlZmluZShbbTRfam9pbl0sCi1bbTRfaWYoWyQjXSwgWzFdLCBbXSwKLSAgICAg
ICBbJCNdLCBbMl0sIFtbJDJdXSwKLSAgICAgICBbbTRfaWYoWyQyXSwgW10sIFtdLCBbWyQyXV9d
KSQwKFskMV0sIG00X3NoaWZ0MigkQCkpXSldKQotbTRfZGVmaW5lKFtfbTRfam9pbl0sCi1bbTRf
aWYoWyQjJDJdLCBbMl0sIFtdLAotICAgICAgIFttNF9pZihbJDJdLCBbXSwgW10sIFtbJDEkMl1d
KSQwKFskMV0sIG00X3NoaWZ0MigkQCkpXSldKQotCi0jIG00X2pvaW5hbGwoU0VQLCBBUkcxLCBB
UkcyLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUHJvZHVjZSBBUkcx
U0VQQVJHMi4uLlNFUEFSR24uICBBbiBlbXB0eSBBUkcgcmVzdWx0cyBpbiBiYWNrLXRvLWJhY2sg
U0VQLgotIyBObyBleHBhbnNpb24gaXMgcGVyZm9ybWVkIG9uIFNFUCBvciBBUkdzLgotIwotIyBQ
bGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBo
ZXJlLgotbTRfZGVmaW5lKFttNF9qb2luYWxsXSwgW1skMl1fJDAoWyQxXSwgbTRfc2hpZnQoJEAp
KV0pCi1tNF9kZWZpbmUoW19tNF9qb2luYWxsXSwKLVttNF9pZihbJCNdLCBbMl0sIFtdLCBbWyQx
JDNdJDAoWyQxXSwgbTRfc2hpZnQyKCRAKSldKV0pCi0KLSMgbTRfY29tYmluZShbU0VQQVJBVE9S
XSwgUFJFRklYLUxJU1QsIFtJTkZJWF0sIFNVRkZJWC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUHJvZHVjZSB0aGUgcGFp
cndpc2UgY29tYmluYXRpb24gb2YgZXZlcnkgZWxlbWVudCBpbiB0aGUgcXVvdGVkLAotIyBjb21t
YS1zZXBhcmF0ZWQgUFJFRklYLUxJU1Qgd2l0aCBldmVyeSBlbGVtZW50IGZyb20gdGhlIFNVRkZJ
WCBhcmd1bWVudHMuCi0jIEVhY2ggcGFpciBpcyBqb2luZWQgd2l0aCBJTkZJWCwgYW5kIHBhaXJz
IGFyZSBzZXBhcmF0ZWQgYnkgU0VQQVJBVE9SLgotIyBObyBleHBhbnNpb24gb2NjdXJzIG9uIFNF
UEFSQVRPUiwgSU5GSVgsIG9yIGVsZW1lbnRzIG9mIGVpdGhlciBsaXN0LgotIwotIyBGb3IgZXhh
bXBsZToKLSMgICBtNF9jb21iaW5lKFssIF0sIFtbYV0sIFtiXSwgW2NdXSwgWy1dLCBbMV0sIFsy
XSwgWzNdKQotIyAgID0+IGEtMSwgYS0yLCBhLTMsIGItMSwgYi0yLCBiLTMsIGMtMSwgYy0yLCBj
LTMKLSMKLSMgVGhpcyBkZWZpbml0aW9uIGlzIGEgYml0IGhhaXJ5OyB0aGUgdGhpbmcgdG8gcmVh
bGl6ZSBpcyB0aGF0IHdlIHdhbnQKLSMgdG8gY29uc3RydWN0IG00X21hcF9hcmdzX3NlcChbW3By
ZWZpeCQzXV0sIFtdLCBbWyQxXV0sIG00X3NoaWZ0MygkQCkpCi0jIGFzIHRoZSBpbm5lciBsb29w
LCB1c2luZyBlYWNoIHByZWZpeCBnZW5lcmF0ZWQgYnkgdGhlIG91dGVyIGxvb3AsCi0jIGFuZCB3
aXRob3V0IHJlY2FsY3VsYXRpbmcgbTRfc2hpZnQzIGV2ZXJ5IG91dGVyIGl0ZXJhdGlvbi4KLW00
X2RlZmluZShbbTRfY29tYmluZV0sCi1bbTRfaWYoWyQyXSwgW10sIFtdLCBtNF9ldmFsKFskIyA+
IDNdKSwgWzFdLAotW200X21hcF9hcmdzX3NlcChbbTRfbWFwX2FyZ3Nfc2VwKG00X2RxdW90ZShd
LCBbKVtbJDNdXSwgW10sIFtbJDFdXSxdXV1kbmwKLVttNF9kcXVvdGUobTRfZHF1b3RlKG00X3No
aWZ0MygkQCkpKVtbKV0sIFtbJDFdXSwgJDIpXSldKQotCi0KLSMgbTRfYXBwZW5kKE1BQ1JPLU5B
TUUsIFNUUklORywgW1NFUEFSQVRPUl0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotIyBSZWRlZmluZSBNQUNSTy1OQU1FIHRvIGhvbGQgaXRzIGZvcm1lciBj
b250ZW50IHBsdXMgYFNFUEFSQVRPUmAnU1RSSU5HJwotIyBhdCB0aGUgZW5kLiAgSXQgaXMgdmFs
aWQgdG8gdXNlIHRoaXMgbWFjcm8gd2l0aCBNQUNSTy1OQU1FIHVuZGVmaW5lZCwKLSMgaW4gd2hp
Y2ggY2FzZSBubyBTRVBBUkFUT1IgaXMgYWRkZWQuICBCZSBhd2FyZSB0aGF0IHRoZSBjcml0ZXJp
b24gaXMKLSMgYG5vdCBiZWluZyBkZWZpbmVkJywgYW5kIG5vdCBgbm90IGJlaW5nIGVtcHR5Jy4K
LSMKLSMgTm90ZSB0aGF0IG5laXRoZXIgU1RSSU5HIG5vciBTRVBBUkFUT1IgYXJlIGV4cGFuZGVk
IGhlcmU7IHJhdGhlciwgd2hlbgotIyB5b3UgZXhwYW5kIE1BQ1JPLU5BTUUsIHRoZXkgd2lsbCBi
ZSBleHBhbmRlZCBhdCB0aGF0IHBvaW50IGluIHRpbWUuCi0jCi0jIFRoaXMgbWFjcm8gaXMgcm9i
dXN0IHRvIGFjdGl2ZSBzeW1ib2xzLiAgSXQgY2FuIGJlIHVzZWQgdG8gZ3JvdwotIyBzdHJpbmdz
LgotIwotIyAgICB8IG00X2RlZmluZShhY3RpdmUsIEFDVElWRSlkbmwKLSMgICAgfCBtNF9hcHBl
bmQoW3NlbnRlbmNlXSwgW1RoaXMgaXMgYW5dKWRubAotIyAgICB8IG00X2FwcGVuZChbc2VudGVu
Y2VdLCBbIGFjdGl2ZSBdKWRubAotIyAgICB8IG00X2FwcGVuZChbc2VudGVuY2VdLCBbc3ltYm9s
Ll0pZG5sCi0jICAgIHwgc2VudGVuY2UKLSMgICAgfCBtNF91bmRlZmluZShbYWN0aXZlXSlkbmwK
LSMgICAgfCBzZW50ZW5jZQotIyAgICA9PiBUaGlzIGlzIGFuIEFDVElWRSBzeW1ib2wuCi0jICAg
ID0+IFRoaXMgaXMgYW4gYWN0aXZlIHN5bWJvbC4KLSMKLSMgSXQgY2FuIGJlIHVzZWQgdG8gZGVm
aW5lIGhvb2tzLgotIwotIyAgICB8IG00X2RlZmluZShhY3RpdmUsIEFDVElWRSlkbmwKLSMgICAg
fCBtNF9hcHBlbmQoW2hvb2tzXSwgW200X2RlZmluZShbYWN0MV0sIFthY3QyXSldKWRubAotIyAg
ICB8IG00X2FwcGVuZChbaG9va3NdLCBbbTRfZGVmaW5lKFthY3QyXSwgW2FjdGl2ZV0pXSlkbmwK
LSMgICAgfCBtNF91bmRlZmluZShbYWN0aXZlXSlkbmwKLSMgICAgfCBhY3QxCi0jICAgIHwgaG9v
a3MKLSMgICAgfCBhY3QxCi0jICAgID0+IGFjdDEKLSMgICAgPT4KLSMgICAgPT4gYWN0aXZlCi0j
Ci0jIEl0IGNhbiBhbHNvIGJlIHVzZWQgdG8gY3JlYXRlIGxpc3RzLCBhbHRob3VnaCB0aGlzIHBh
cnRpY3VsYXIgdXNhZ2Ugd2FzCi0jIGJyb2tlbiBwcmlvciB0byBhdXRvY29uZiAyLjYyLgotIyAg
ICB8IG00X2FwcGVuZChbbGlzdF0sIFtvbmVdLCBbLCBdKWRubAotIyAgICB8IG00X2FwcGVuZChb
bGlzdF0sIFt0d29dLCBbLCBdKWRubAotIyAgICB8IG00X2FwcGVuZChbbGlzdF0sIFt0aHJlZV0s
IFssIF0pZG5sCi0jICAgIHwgbGlzdAotIyAgICB8IG00X2RxdW90ZShsaXN0KQotIyAgICA9PiBv
bmUsIHR3bywgdGhyZWUKLSMgICAgPT4gW29uZV0sW3R3b10sW3RocmVlXQotIwotIyBOb3RlIHRo
YXQgbTRfYXBwZW5kIGNhbiBiZW5lZml0IGZyb20gYW1vcnRpemVkIE8obikgbTQgYmVoYXZpb3Is
IGlmCi0jIHRoZSB1bmRlcmx5aW5nIG00IGltcGxlbWVudGF0aW9uIGlzIHNtYXJ0IGVub3VnaCB0
byBhdm9pZCBjb3B5aW5nIGV4aXN0aW5nCi0jIGNvbnRlbnRzIHdoZW4gZW5sYXJnaW5nIGEgbWFj
cm8ncyBkZWZpbml0aW9uIGludG8gYW55IHByZS1hbGxvY2F0ZWQgc3RvcmFnZQotIyAobTQgMS40
LnggdW5mb3J0dW5hdGVseSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhpcyBvcHRpbWl6YXRpb24pLiAg
V2UgZG8KLSMgbm90IGltcGxlbWVudCBtNF9wcmVwZW5kLCBzaW5jZSBpdCBpcyBpbmhlcmVudGx5
IE8obl4yKSAocHJlLWFsbG9jYXRlZAotIyBzdG9yYWdlIG9ubHkgb2NjdXJzIGF0IHRoZSBlbmQg
b2YgYSBtYWNybywgc28gdGhlIGV4aXN0aW5nIGNvbnRlbnRzIG11c3QKLSMgYWx3YXlzIGJlIG1v
dmVkKS4KLSMKLSMgVXNlIF9tNF9kZWZuIGZvciBzcGVlZC4KLW00X2RlZmluZShbbTRfYXBwZW5k
XSwKLVttNF9kZWZpbmUoWyQxXSwgbTRfaWZkZWYoWyQxXSwgW19tNF9kZWZuKFskMV0pWyQzXV0p
WyQyXSldKQotCi0KLSMgbTRfYXBwZW5kX3VuaXEoTUFDUk8tTkFNRSwgU1RSSU5HLCBbU0VQQVJB
VE9SXSwgW0lGLVVOSVFdLCBbSUYtRFVQXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTGlrZSBgbTRfYXBw
ZW5kJywgYnV0IGFwcGVuZCBvbmx5IGlmIG5vdCB5ZXQgcHJlc2VudC4gIEFkZGl0aW9uYWxseSwK
LSMgZXhwYW5kIElGLVVOSVEgaWYgU1RSSU5HIHdhcyBhcHBlbmRlZCwgb3IgSUYtRFVQIGlmIFNU
UklORyB3YXMgYWxyZWFkeQotIyBwcmVzZW50LiAgQWxzbywgd2FybiBpZiBTRVBBUkFUT1IgaXMg
bm90IGVtcHR5IGFuZCBvY2N1cnMgd2l0aGluIFNUUklORywKLSMgYXMgdGhlIGFsZ29yaXRobSBu
byBsb25nZXIgZ3VhcmFudGVlcyB1bmlxdWVuZXNzLgotIwotIyBOb3RlIHRoYXQgd2hpbGUgbTRf
YXBwZW5kIGNhbiBiZSBPKG4pIChkZXBlbmRpbmcgb24gdGhlIHF1YWxpdHkgb2YgdGhlCi0jIHVu
ZGVybHlpbmcgTTQgaW1wbGVtZW50YXRpb24pLCBtNF9hcHBlbmRfdW5pcSBpcyBpbmhlcmVudGx5
IE8obl4yKQotIyBiZWNhdXNlIGVhY2ggYXBwZW5kIG9wZXJhdGlvbiBzZWFyY2hlcyB0aGUgZW50
aXJlIHN0cmluZy4KLW00X2RlZmluZShbbTRfYXBwZW5kX3VuaXFdLAotW200X2lmdmFsKFskM10s
IFttNF9pZihtNF9pbmRleChbJDJdLCBbJDNdKSwgWy0xXSwgW10sCi0JCSAgICAgICBbbTRfd2Fy
bihbc3ludGF4XSwKLQkJCQlbJDA6IGAkMicgY29udGFpbnMgYCQzJ10pXSldKV8kMCgkQCldKQot
bTRfZGVmaW5lKFtfbTRfYXBwZW5kX3VuaXFdLAotW200X2lmZGVmKFskMV0sCi0JICBbbTRfaWYo
bTRfaW5kZXgoWyQzXV9tNF9kZWZuKFskMV0pWyQzXSwgWyQzJDIkM10pLCBbLTFdLAotCQkgW200
X2FwcGVuZChbJDFdLCBbJDJdLCBbJDNdKSQ0XSwgWyQ1XSldLAotCSAgW200X2RlZmluZShbJDFd
LCBbJDJdKSQ0XSldKQotCi0jIG00X2FwcGVuZF91bmlxX3coTUFDUk8tTkFNRSwgU1RSSU5HUykK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBGb3IgZWFjaCBvZiB0
aGUgd29yZHMgaW4gdGhlIHdoaXRlc3BhY2Ugc2VwYXJhdGVkIGxpc3QgU1RSSU5HUywgYXBwZW5k
Ci0jIG9ubHkgdGhlIHVuaXF1ZSBzdHJpbmdzIHRvIHRoZSBkZWZpbml0aW9uIG9mIE1BQ1JPLU5B
TUUuCi0jCi0jIFVzZSBfbTRfZGVmbiBmb3Igc3BlZWQuCi1tNF9kZWZpbmUoW200X2FwcGVuZF91
bmlxX3ddLAotW200X21hcF9hcmdzX3coWyQyXSwgW19tNF9hcHBlbmRfdW5pcShbJDFdLF0sIFss
IFsgXSldKV0pCi0KLQotIyBtNF9lc2NhcGUoU1RSSU5HKQotIyAtLS0tLS0tLS0tLS0tLS0tLQot
IyBPdXRwdXQgcXVvdGVkIFNUUklORywgYnV0IHdpdGggZW1iZWRkZWQgIywgJCwgWyBhbmQgXSB0
dXJuZWQgaW50bwotIyBxdWFkcmlncmFwaHMuCi0jCi0jIEl0IGlzIGZhc3RlciB0byBjaGVjayBp
ZiBTVFJJTkcgaXMgYWxyZWFkeSBnb29kIHVzaW5nIG00X3RyYW5zbGl0Ci0jIHRoYW4gdG8gYmxp
bmRseSBwZXJmb3JtIGZvdXIgbTRfYnBhdHN1YnN0LgotIwotIyBCZWNhdXNlIHRoZSB0cmFuc2xp
dCBpcyBzdHJpcHBpbmcgcXVvdGVzLCBpdCBtdXN0IGFsc28gbmV1dHJhbGl6ZQotIyBhbnl0aGlu
ZyB0aGF0IG1pZ2h0IGJlIGluIGEgbWFjcm8gbmFtZSwgYXMgd2VsbCBhcyBjb21tZW50cywgY29t
bWFzLAotIyBhbmQgcGFyZW50aGVzZXMuICBBbGwgdGhlIHByb2JsZW0gY2hhcmFjdGVycyBhcmUg
dW5pZmllZCBzbyB0aGF0IGEKLSMgc2luZ2xlIG00X2luZGV4IGNhbiBzY2FuIHRoZSByZXN1bHQu
Ci0jCi0jIFJhdGhlciB0aGFuIGV4cGFuZCBtNF9kZWZuIGV2ZXJ5IHRpbWUgbTRfZXNjYXBlIGlz
IGV4cGFuZGVkLCB3ZQotIyBpbmxpbmUgaXRzIGV4cGFuc2lvbiB1cCBmcm9udC4KLW00X2RlZmlu
ZShbbTRfZXNjYXBlXSwKLVttNF9pZihtNF9pbmRleChtNF90cmFuc2xpdChbJDFdLAotICAgW1td
IywoKV1dbTRfZHF1b3RlKG00X2RlZm4oW200X2NyX3N5bWJvbHMyXSkpWywgWyQkJF0pLCBbJF0p
LAotICBbLTFdLCBbbTRfZWNob10sIFtfJDBdKShbJDFdKV0pCi0KLW00X2RlZmluZShbX200X2Vz
Y2FwZV0sCi1bbTRfY2hhbmdlcXVvdGUoWy09PHsoXSxbKX0+PS1dKV1kbmwKLVttNF9icGF0c3Vi
c3QobTRfYnBhdHN1YnN0KG00X2JwYXRzdWJzdChtNF9icGF0c3Vic3QoCi0JICAtPTx7KC09PHso
LT08eygtPTx7KC09PHsoJDEpfT49LSl9Pj0tKX0+PS0pfT49LSl9Pj0tLAotCS09PHsoIyl9Pj0t
LCAtPTx7KEAlOkApfT49LSksCi0gICAgICAtPTx7KFxbKX0+PS0sIC09PHsoQDw6QCl9Pj0tKSwK
LSAgICAtPTx7KFxdKX0+PS0sIC09PHsoQDo+QCl9Pj0tKSwKLSAgLT08eyhcJCl9Pj0tLCAtPTx7
KEBTfEApfT49LSltNF9jaGFuZ2VxdW90ZShbLF0pXSkKLQotCi0jIG00X3RleHRfd3JhcChTVFJJ
TkcsIFtQUkVGSVhdLCBbRklSU1QtUFJFRklYXSwgW1dJRFRIXSkKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbmRzIGludG8g
U1RSSU5HIHdyYXBwZWQgdG8gaG9sZCBpbiBXSURUSCBjb2x1bW5zIChkZWZhdWx0ID0gNzkpLgot
IyBJZiBQUkVGSVggaXMgZ2l2ZW4sIGVhY2ggbGluZSBpcyBwcmVmaXhlZCB3aXRoIGl0LiAgSWYg
RklSU1QtUFJFRklYIGlzCi0jIHNwZWNpZmllZCwgdGhlbiB0aGUgZmlyc3QgbGluZSBpcyBwcmVm
aXhlZCB3aXRoIGl0LiAgQXMgYSBzcGVjaWFsIGNhc2UsCi0jIGlmIHRoZSBsZW5ndGggb2YgRklS
U1QtUFJFRklYIGlzIGdyZWF0ZXIgdGhhbiB0aGF0IG9mIFBSRUZJWCwgdGhlbgotIyBGSVJTVC1Q
UkVGSVggd2lsbCBiZSBsZWZ0IGFsb25lIG9uIHRoZSBmaXJzdCBsaW5lLgotIwotIyBObyBleHBh
bnNpb24gb2NjdXJzIG9uIHRoZSBjb250ZW50cyBTVFJJTkcsIFBSRUZJWCwgb3IgRklSU1QtUFJF
RklYLAotIyBhbHRob3VnaCBxdWFkcmlncmFwaHMgYXJlIGNvcnJlY3RseSByZWNvZ25pemVkLiAg
TW9yZSBwcmVjaXNlbHksCi0jIHlvdSBtYXkgcmVkZWZpbmUgbTRfcWxlbiB0byByZWNvZ25pemUg
d2hhdGV2ZXIgZXNjYXBlIHNlcXVlbmNlcyB0aGF0Ci0jIHlvdSB3aWxsIHBvc3QtcHJvY2Vzcy4K
LSMKLSMgVHlwaWNhbCBvdXRwdXRzIGFyZToKLSMKLSMgbTRfdGV4dF93cmFwKFtTaG9ydCBzdHJp
bmcgKi9dLCBbICAgXSwgWy8qIF0sIDIwKQotIyAgPT4gLyogU2hvcnQgc3RyaW5nICovCi0jCi0j
IG00X3RleHRfd3JhcChbTXVjaCBsb25nZXIgc3RyaW5nICovXSwgWyAgIF0sIFsvKiBdLCAyMCkK
LSMgID0+IC8qIE11Y2ggbG9uZ2VyCi0jICA9PiAgICBzdHJpbmcgKi8KLSMKLSMgbTRfdGV4dF93
cmFwKFtTaG9ydCBkb2MuXSwgWyAgICAgICAgICBdLCBbICAtLXNob3J0IF0sIDMwKQotIyAgPT4g
ICAtLXNob3J0IFNob3J0IGRvYy4KLSMKLSMgbTRfdGV4dF93cmFwKFtTaG9ydCBkb2MuXSwgWyAg
ICAgICAgICBdLCBbICAtLXRvby13aWRlIF0sIDMwKQotIyAgPT4gICAtLXRvby13aWRlCi0jICA9
PiAgICAgICAgICAgU2hvcnQgZG9jLgotIwotIyBtNF90ZXh0X3dyYXAoW1N1cGVyIGxvbmcgZG9j
dW1lbnRhdGlvbi5dLCBbICAgICAgICAgIF0sIFsgIC0tdG9vLXdpZGUgXSwgMzApCi0jICA9PiAg
IC0tdG9vLXdpZGUKLSMgID0+ICAgICAgU3VwZXIgbG9uZwotIyAgPT4gICAgICBkb2N1bWVudGF0
aW9uLgotIwotIyBGSVhNRTogdGhlcmUgaXMgbm8gY2hlY2tpbmcgb2YgYSBsb25nZXIgUFJFRklY
IHRoYW4gV0lEVEgsIGJ1dCBkbwotIyB3ZSByZWFsbHkgd2FudCB0byBib3RoZXIgd2l0aCBwZW9w
bGUgdHJ5aW5nIGVhY2ggc2luZ2xlIGNvcm5lcgotIyBvZiBhIHNvZnR3YXJlPwotIwotIyBUaGlz
IG1hY3JvIGRvZXMgbm90IGxlYXZlIGEgdHJhaWxpbmcgc3BhY2UgYmVoaW5kIHRoZSBsYXN0IHdv
cmQgb2YgYSBsaW5lLAotIyB3aGljaCBjb21wbGljYXRlcyBpdCBhIGJpdC4gIFRoZSBhbGdvcml0
aG0gaXMgb3RoZXJ3aXNlIHN0dXBpZCBhbmQgc2ltcGxlOgotIyBhbGwgdGhlIHdvcmRzIGFyZSBw
cmVjZWRlZCBieSBtNF9TZXBhcmF0b3Igd2hpY2ggaXMgZGVmaW5lZCB0byBlbXB0eSBmb3IKLSMg
dGhlIGZpcnN0IHdvcmQsIGFuZCB0aGVuIGAgJyAoc2luZ2xlIHNwYWNlKSBmb3IgYWxsIHRoZSBv
dGhlcnMuCi0jCi0jIFRoZSBhbGdvcml0aG0gdXNlcyBhIGhlbHBlciB0aGF0IHVzZXMgJDIgdGhy
b3VnaCAkNCBkaXJlY3RseSwgcmF0aGVyIHRoYW4KLSMgdXNpbmcgbG9jYWwgdmFyaWFibGVzLCB0
byBhdm9pZCBtNF9kZWZuIG92ZXJoZWFkLCBvciBleHBhbnNpb24gc3dhbGxvd2luZwotIyBhbnkg
JC4gIEl0IGFsc28gYnlwYXNzZXMgbTRfcG9wZGVmIG92ZXJoZWFkIHdpdGggX200X3BvcGRlZiBz
aW5jZSBubyB1c2VyCi0jIG1hY3JvIGV4cGFuc2lvbiBvY2N1cnMgaW4gdGhlIG1lYW50aW1lLiAg
QWxzbywgdGhlIGRlZmluaXRpb24gaXMgd3JpdHRlbgotIyB3aXRoIG00X2RvLCB0byBhdm9pZCB0
aW1lIHdhc3RlZCBvbiBkbmwgZHVyaW5nIGV4cGFuc2lvbiAoc2luY2UgdGhpcyBpcwotIyBhbHJl
YWR5IGEgdGltZS1jb25zdW1pbmcgbWFjcm8pLgotbTRfZGVmaW5lKFttNF90ZXh0X3dyYXBdLAot
W18kMChtNF9lc2NhcGUoWyQxXSksIFskMl0sIG00X2RlZmF1bHRfcXVvdGVkKFskM10sIFskMl0p
LAotICAgICBtNF9kZWZhdWx0X3F1b3RlZChbJDRdLCBbNzldKSldKQotCi1tNF9kZWZpbmUoW19t
NF90ZXh0X3dyYXBdLAotbTRfZG8oZG5sIHNldCB1cCBsb2NhbCB2YXJpYWJsZXMsIHRvIGF2b2lk
IHJlcGVhdGVkIGNhbGN1bGF0aW9ucwotW1ttNF9wdXNoZGVmKFttNF9JbmRlbnRdLCBtNF9xbGVu
KFskMl0pKV1dLAotW1ttNF9wdXNoZGVmKFttNF9DdXJzb3JdLCBtNF9xbGVuKFskM10pKV1dLAot
W1ttNF9wdXNoZGVmKFttNF9TZXBhcmF0b3JdLCBbbTRfZGVmaW5lKFttNF9TZXBhcmF0b3JdLCBb
IF0pXSldXSwKLWRubCBleHBhbmQgdGhlIGZpcnN0IHByZWZpeCwgdGhlbiBjaGVjayBpdHMgbGVu
Z3RoIHZzLiByZWd1bGFyIHByZWZpeAotZG5sIHNhbWUgbGVuZ3RoOiBub3RoaW5nIHNwZWNpYWwK
LWRubCBwcmVmaXgxIGxvbmdlcjogb3V0cHV0IG9uIGxpbmUgYnkgaXRzZWxmLCBhbmQgcmVzZXQg
Y3Vyc29yCi1kbmwgcHJlZml4MSBzaG9ydGVyOiBwYWQgdG8gbGVuZ3RoIG9mIHByZWZpeCwgYW5k
IHJlc2V0IGN1cnNvcgotW1tbJDNdbTRfY29uZChbbTRfQ3Vyc29yXSwgbTRfSW5kZW50LCBbXSwK
LQkgICAgICBbbTRfZXZhbChtNF9DdXJzb3IgPiBtNF9JbmRlbnQpXSwgWzFdLCBbCi1bJDJdbTRf
ZGVmaW5lKFttNF9DdXJzb3JdLCBtNF9JbmRlbnQpXSwKLQkgICAgICBbbTRfZm9ybWF0KFslKnNd
LCBtNF9tYXgoWzBdLAotICBtNF9ldmFsKG00X0luZGVudCAtIG00X0N1cnNvcikpLCBbXSltNF9k
ZWZpbmUoW200X0N1cnNvcl0sIG00X0luZGVudCldKV1dLAotZG5sIG5vdywgZm9yIGVhY2ggd29y
ZCwgY29tcHV0ZSB0aGUgY3Vyc29yIGFmdGVyIHRoZSB3b3JkIGlzIG91dHB1dCwgdGhlbgotZG5s
IGNoZWNrIGlmIHRoZSBjdXJzb3Igd291bGQgZXhjZWVkIHRoZSB3cmFwIGNvbHVtbgotZG5sIGlm
IHNvLCByZXNldCBjdXJzb3IsIGFuZCBpbnNlcnQgbmV3bGluZSBhbmQgcHJlZml4Ci1kbmwgaWYg
bm90LCBpbnNlcnQgdGhlIHNlcGFyYXRvciAodXN1YWxseSBhIHNwYWNlKQotZG5sIGVpdGhlciB3
YXksIGluc2VydCB0aGUgd29yZAotW1ttNF9tYXBfYXJnc193KFskMV0sIFskMF93b3JkKF0sIFss
IFskMl0sIFskNF0pXSldXSwKLWRubCBmaW5hbGx5LCBjbGVhbiB1cCB0aGUgbG9jYWwgdmFyaWFi
bGVzCi1bW19tNF9wb3BkZWYoW200X1NlcGFyYXRvcl0sIFttNF9DdXJzb3JdLCBbbTRfSW5kZW50
XSldXSkpCi0KLW00X2RlZmluZShbX200X3RleHRfd3JhcF93b3JkXSwKLVttNF9kZWZpbmUoW200
X0N1cnNvcl0sIG00X2V2YWwobTRfQ3Vyc29yICsgbTRfcWxlbihbJDFdKSArIDEpKV1kbmwKLVtt
NF9pZihtNF9ldmFsKG00X0N1cnNvciA+IChbJDNdKSksCi0gICAgICBbMV0sIFttNF9kZWZpbmUo
W200X0N1cnNvcl0sIG00X2V2YWwobTRfSW5kZW50ICsgbTRfcWxlbihbJDFdKSArIDEpKQotWyQy
XV0sCi0gICAgICBbbTRfU2VwYXJhdG9yW11dKVskMV1dKQotCi0jIG00X3RleHRfYm94KE1FU1NB
R0UsIFtGUkFNRS1DSEFSQUNURVIgPSBgLSddKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgVHVybiBNRVNTQUdFIGludG86Ci0jICAjIyAtLS0tLS0t
ICMjCi0jICAjIyBNRVNTQUdFICMjCi0jICAjIyAtLS0tLS0tICMjCi0jIHVzaW5nIEZSQU1FLUNI
QVJBQ1RFUiBpbiB0aGUgYm9yZGVyLgotIwotIyBRdWFkcmlncmFwaHMgYXJlIGNvcnJlY3RseSBy
ZWNvZ25pemVkLiAgTW9yZSBwcmVjaXNlbHksIHlvdSBtYXkKLSMgcmVkZWZpbmUgbTRfcWxlbiB0
byByZWNvZ25pemUgd2hhdGV2ZXIgZXNjYXBlIHNlcXVlbmNlcyB0aGF0IHlvdQotIyB3aWxsIHBv
c3QtcHJvY2Vzcy4KLW00X2RlZmluZShbbTRfdGV4dF9ib3hdLAotW200X3B1c2hkZWYoW200X0Jv
cmRlcl0sCi0JICAgIG00X3RyYW5zbGl0KG00X2Zvcm1hdChbW1slKnNdXV0sIG00X2RlY3IobTRf
cWxlbihfbTRfZXhwYW5kKFskMQotXSkpKSwgW10pLCBbIF0sIG00X2RlZmF1bHRfcXVvdGVkKFsk
Ml0sIFstXSkpKV1kbmwKLVtbIyNdIF9tNF9kZWZuKFttNF9Cb3JkZXJdKSBbIyNdCi1bIyNdICQx
IFsjI10KLVsjI10gX200X2RlZm4oW200X0JvcmRlcl0pIFsjI11fbTRfcG9wZGVmKFttNF9Cb3Jk
ZXJdKV0pCi0KLQotIyBtNF9xbGVuKFNUUklORykKLSMgLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFu
ZHMgdG8gdGhlIGxlbmd0aCBvZiBTVFJJTkcgYWZ0ZXIgYXV0b200dGUgY29udmVydHMgYWxsIHF1
YWRyaWdyYXBocy4KLSMKLSMgSWYgeW91IHVzZSBzb21lIG90aGVyIG1lYW5zIG9mIHBvc3QtcHJv
Y2Vzc2luZyBtNCBvdXRwdXQgcmF0aGVyIHRoYW4KLSMgYXV0b200dGUsIHRoZW4geW91IG1heSBy
ZWRlZmluZSB0aGlzIG1hY3JvIHRvIHJlY29nbml6ZSB3aGF0ZXZlcgotIyBlc2NhcGUgc2VxdWVu
Y2VzIHlvdXIgcG9zdC1wcm9jZXNzb3Igd2lsbCBoYW5kbGUuICBGb3IgdGhhdCBtYXR0ZXIsCi0j
IG00X2RlZmluZShbbTRfcWxlbl0sIG00X2RlZm4oW200X2xlbl0pKSBpcyBzdWZmaWNpZW50IGlm
IHlvdSBkb24ndAotIyBkbyBhbnkgcG9zdC1wcm9jZXNzaW5nLgotIwotIyBBdm9pZCBicGF0c3Vi
c3RzIGZvciB0aGUgY29tbW9uIGNhc2Ugb2Ygbm8gcXVhZHJpZ3JhcGhzLiAgQ2FjaGUKLSMgcmVz
dWx0cywgYXMgY29uZmlndXJlIHNjcmlwdHMgdGVuZCB0byBhc2sgYWJvdXQgbGVuZ3RocyBvZiBj
b21tb24KLSMgc3RyaW5ncyBsaWtlIGAvKicgYW5kIGAqLycgcmF0aGVyIGZyZXF1ZW50bHkuICBN
aW5pbWl6ZSB0aGUgbnVtYmVyCi0jIG9mIHRpbWVzIHRoYXQgJDEgb2NjdXJzIGluIG00X3FsZW4s
IHNvIHRoZXJlIGlzIGxlc3MgdGV4dCB0byBwYXJzZQotIyBvbiBhIGNhY2hlIGhpdC4KLW00X2Rl
ZmluZShbbTRfcWxlbl0sCi1bbTRfaWZkZWYoWyQwLSQxXSwgW19tNF9kZWZuKFskMC1dXSwgW18k
MChdKVskMV0pXSkKLW00X2RlZmluZShbX200X3FsZW5dLAotW200X2RlZmluZShbbTRfcWxlbi0k
MV0sCi1tNF9pZihtNF9pbmRleChbJDFdLCBbQF0pLCBbLTFdLCBbbTRfbGVuKFskMV0pXSwKLSAg
ICAgIFttNF9sZW4obTRfYnBhdHN1YnN0KFtbJDFdXSwKLQkJCSAgIFtAXChcKDw6XHw6Plx8U3xc
fCU6XHxcezpcfDpcfVwpXChAXClcfCZ0QFwpXSwKLQkJCSAgIFtcM10pKV0pKV9tNF9kZWZuKFtt
NF9xbGVuLSQxXSldKQotCi0jIG00X2NvcHlyaWdodF9jb25kZW5zZShURVhUKQotIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQ29uZGVuc2UgdGhlIGNvcHlyaWdodCBub3RpY2UgaW4g
VEVYVCB0byBvbmx5IGRpc3BsYXkgdGhlIGZpbmFsCi0jIHllYXIsIHdyYXBwaW5nIHRoZSByZXN1
bHRzIHRvIGZpdCBpbiA4MCBjb2x1bW5zLgotbTRfZGVmaW5lKFttNF9jb3B5cmlnaHRfY29uZGVu
c2VdLAotW200X3RleHRfd3JhcChtNF9icGF0c3Vic3QobTRfZmxhdHRlbihbWyQxXV0pLAotWyhD
KVstCSAsMC05XSpcKFsxLTldWzAtOV1bMC05XVswLTldXCldLCBbKEMpIFwxXSkpXSkKLQotIyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIDEzLiBOdW1iZXIgcHJvY2Vzc2luZy4gICMj
Ci0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0jIG00X2NtcChBLCBCKQotIyAtLS0t
LS0tLS0tLS0KLSMgQ29tcGFyZSB0d28gaW50ZWdlciBleHByZXNzaW9ucy4KLSMgQSA8IEIgLT4g
LTEKLSMgQSA9IEIgLT4gIDAKLSMgQSA+IEIgLT4gIDEKLW00X2RlZmluZShbbTRfY21wXSwKLVtt
NF9ldmFsKCgoWyQxXSkgPiAoWyQyXSkpIC0gKChbJDFdKSA8IChbJDJdKSkpXSkKLQotCi0jIG00
X2xpc3RfY21wKEEsIEIpCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0jCi0jIENvbXBhcmUgdGhlIHR3
byBsaXN0cyBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIEEgYW5kIEIuICBGb3IgaW5zdGFuY2U6Ci0j
ICAgbTRfbGlzdF9jbXAoWzEsIDBdLCAgICAgWzFdKSAgICAtPiAgMAotIyAgIG00X2xpc3RfY21w
KFsxLCAwXSwgICAgIFsxLCAwXSkgLT4gIDAKLSMgICBtNF9saXN0X2NtcChbMSwgMl0sICAgICBb
MSwgMF0pIC0+ICAxCi0jICAgbTRfbGlzdF9jbXAoWzEsIDIsIDNdLCAgWzEsIDJdKSAtPiAgMQot
IyAgIG00X2xpc3RfY21wKFsxLCAyLCAtM10sIFsxLCAyXSkgLT4gLTEKLSMgICBtNF9saXN0X2Nt
cChbMSwgMF0sICAgICBbMSwgMl0pIC0+IC0xCi0jICAgbTRfbGlzdF9jbXAoWzFdLCAgICAgICAg
WzEsIDJdKSAtPiAtMQotIyAgIG00X2RlZmluZShbeGFdLCBbb29wc10pZG5sCi0jICAgbTRfbGlz
dF9jbXAoW1sweGFdXSwgICAgWzUrNV0pICAtPiAwCi0jCi0jIFJhdGhlciB0aGFuIGZhY2UgdGhl
IG92ZXJoZWFkIG9mIG00X2Nhc2UsIHdlIHVzZSBhIGhlbHBlciBmdW5jdGlvbiB3aG9zZQotIyBl
eHBhbnNpb24gaW5jbHVkZXMgdGhlIG5hbWUgb2YgdGhlIG1hY3JvIHRvIGludm9rZSBvbiB0aGUg
dGFpbCwgZWl0aGVyCi0jIG00X2lnbm9yZSBvciBtNF91bnF1b3RlLiAgVGhpcyBpcyBwYXJ0aWN1
bGFybHkgdXNlZnVsIHdoZW4gY29tcGFyaW5nCi0jIGxvbmcgbGlzdHMsIHNpbmNlIGxlc3MgdGV4
dCBpcyBiZWluZyBleHBhbmRlZCBmb3IgZGVjaWRpbmcgd2hlbiB0byBlbmQKLSMgcmVjdXJzaW9u
LiAgVGhlIHJlY3Vyc2lvbiBpcyBiZXR3ZWVuIGEgcGFpciBvZiBtYWNyb3MgdGhhdCBhbHRlcm5h
dGUKLSMgd2hpY2ggbGlzdCBpcyB0cmltbWVkIGJ5IG9uZSBlbGVtZW50OyB0aGlzIGlzIG1vcmUg
ZWZmaWNpZW50IHRoYW4KLSMgY2FsbGluZyBtNF9jZHIgb24gYm90aCBsaXN0cyBmcm9tIGEgc2lu
Z2xlIG1hY3JvLiAgR3VhcmFudGVlIGV4YWN0bHkKLSMgb25lIGV4cGFuc2lvbiBvZiBib3RoIGxp
c3RzJyBzaWRlIGVmZmVjdHMuCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3
aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW200X2xpc3RfY21wXSwK
LVtfJDBfcmF3KG00X2RxdW90ZSgkMSksIG00X2RxdW90ZSgkMikpXSkKLQotbTRfZGVmaW5lKFtf
bTRfbGlzdF9jbXBfcmF3XSwKLVttNF9pZihbJDFdLCBbJDJdLCBbMF0sIFtfbTRfbGlzdF9jbXBf
MShbJDFdLCAkMildKV0pCi0KLW00X2RlZmluZShbX200X2xpc3RfY21wXSwKLVttNF9pZihbJDFd
LCBbXSwgWzBtNF9pZ25vcmVdLCBbJDJdLCBbMF0sIFttNF91bnF1b3RlXSwgWyQybTRfaWdub3Jl
XSldKQotCi1tNF9kZWZpbmUoW19tNF9saXN0X2NtcF8xXSwKLVtfbTRfbGlzdF9jbXBfMihbJDJd
LCBbbTRfc2hpZnQyKCRAKV0sICQxKV0pCi0KLW00X2RlZmluZShbX200X2xpc3RfY21wXzJdLAot
W19tNF9saXN0X2NtcChbJDEkM10sIG00X2NtcChbJDMrMF0sIFskMSswXSkpKAotICBbX200X2xp
c3RfY21wXzEobTRfZHF1b3RlKG00X3NoaWZ0MygkQCkpLCAkMildKV0pCi0KLSMgbTRfbWF4KEVY
UFIsIC4uLikKLSMgbTRfbWluKEVYUFIsIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmV0
dXJuIHRoZSBkZWNpbWFsIHZhbHVlIG9mIHRoZSBtYXhpbXVtIChvciBtaW5pbXVtKSBpbiBhIHNl
cmllcyBvZgotIyBpbnRlZ2VyIGV4cHJlc3Npb25zLgotIwotIyBNNCAxLjQueCBkb2Vzbid0IHBy
b3ZpZGUgPzouICBIZW5jZSB0aGlzIGh1Z2UgbTRfZXZhbC4gIEF2b2lkIG00X2V2YWwKLSMgaWYg
Ym90aCBhcmd1bWVudHMgYXJlIGlkZW50aWNhbCwgYnV0IGJlIGF3YXJlIG9mIG00X21heCgweGEs
IDEwKSAoaGVuY2UKLSMgdGhlIHVzZSBvZiA8PSwgbm90IGp1c3QgPCwgaW4gdGhlIHNlY29uZCBt
dWx0aXBseSkuCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBh
ZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW200X21heF0sCi1bbTRfaWYoWyQjXSwg
WzBdLCBbbTRfZmF0YWwoW3RvbyBmZXcgYXJndW1lbnRzIHRvICQwXSldLAotICAgICAgIFskI10s
IFsxXSwgW200X2V2YWwoWyQxXSldLAotICAgICAgIFskIyQxXSwgWzIkMl0sIFttNF9ldmFsKFsk
MV0pXSwKLSAgICAgICBbJCNdLCBbMl0sIFtfJDAoJEApXSwKLSAgICAgICBbX200X21pbm1heChb
XyQwXSwgJEApXSldKQotCi1tNF9kZWZpbmUoW19tNF9tYXhdLAotW200X2V2YWwoKChbJDFdKSA+
IChbJDJdKSkgKiAoWyQxXSkgKyAoKFskMV0pIDw9IChbJDJdKSkgKiAoWyQyXSkpXSkKLQotbTRf
ZGVmaW5lKFttNF9taW5dLAotW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFt0b28gZmV3IGFy
Z3VtZW50cyB0byAkMF0pXSwKLSAgICAgICBbJCNdLCBbMV0sIFttNF9ldmFsKFskMV0pXSwKLSAg
ICAgICBbJCMkMV0sIFsyJDJdLCBbbTRfZXZhbChbJDFdKV0sCi0gICAgICAgWyQjXSwgWzJdLCBb
XyQwKCRAKV0sCi0gICAgICAgW19tNF9taW5tYXgoW18kMF0sICRAKV0pXSkKLQotbTRfZGVmaW5l
KFtfbTRfbWluXSwKLVttNF9ldmFsKCgoWyQxXSkgPCAoWyQyXSkpICogKFskMV0pICsgKChbJDFd
KSA+PSAoWyQyXSkpICogKFskMl0pKV0pCi0KLSMgX200X21pbm1heChNRVRIT0QsIEFSRzEsIEFS
RzIuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBDb21tb24gcmVj
dXJzaW9uIGNvZGUgZm9yIG00X21heCBhbmQgbTRfbWluLiAgTUVUSE9EIG11c3QgYmUgX200X21h
eAotIyBvciBfbTRfbWluLCBhbmQgdGhlcmUgbXVzdCBiZSBhdCBsZWFzdCB0d28gYXJndW1lbnRz
IHRvIGNvbWJpbmUuCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFu
eSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW19tNF9taW5tYXhdLAotW200X2lm
KFskI10sIFszXSwgWyQxKFskMl0sIFskM10pXSwKLSAgICAgICBbJDAoWyQxXSwgJDEoWyQyXSwg
WyQzXSksIG00X3NoaWZ0MygkQCkpXSldKQotCi0KLSMgbTRfc2lnbihBKQotIyAtLS0tLS0tLS0t
Ci0jIFRoZSBzaWduIG9mIHRoZSBpbnRlZ2VyIGV4cHJlc3Npb24gQS4KLW00X2RlZmluZShbbTRf
c2lnbl0sCi1bbTRfZXZhbCgoKFskMV0pID4gMCkgLSAoKFskMV0pIDwgMCkpXSkKLQotCi0KLSMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgMTQuIFZlcnNpb24gcHJvY2Vzc2luZy4g
ICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotCi0jIG00X3ZlcnNpb25fdW5s
ZXR0ZXIoVkVSU0lPTikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBOb3JtYWxp
emUgYmV0YSB2ZXJzaW9uIG51bWJlcnMgd2l0aCBsZXR0ZXJzIHRvIG51bWVyaWMgZXhwcmVzc2lv
bnMsIHdoaWNoCi0jIGNhbiB0aGVuIGJlIGhhbmRlZCB0byBtNF9ldmFsIGZvciB0aGUgcHVycG9z
ZSBvZiBjb21wYXJpc29uLgotIwotIyAgIE5sIC0+IChOKzEpLi0xLihsIykKLSMKLSMgZm9yIGV4
YW1wbGU6Ci0jICAgWzIuMTRhXSAtPiBbMCwyLDE0KzEsLTEsWzByMzY6YV1dIC0+IDIuMTUuLTEu
MTAKLSMgICBbMi4xNGJdIC0+IFswLDIsMTUrMSwtMSxbMHIzNjpiXV0gLT4gMi4xNS4tMS4xMQot
IyAgIFsyLjYxYWEuYl0gLT4gWzAsMi42MSwxLC0xLFswcjM2OmFhXSwrMSwtMSxbMHIzNjpiXV0g
LT4gMi42Mi4tMS4zNzAuMS4tMS4xMQotIyAgIFswOF0gLT4gWzAsWzByMTA6MF04XSAtPiA4Ci0j
Ci0jIFRoaXMgbWFjcm8gZXhwZWN0cyByZWFzb25hYmxlIHZlcnNpb24gbnVtYmVycywgYnV0IGNh
biBoYW5kbGUgZG91YmxlCi0jIGxldHRlcnMgYW5kIGRvZXMgbm90IGV4cGFuZCBhbnkgbWFjcm9z
LiAgT3JpZ2luYWwgdmVyc2lvbiBzdHJpbmdzIGNhbgotIyB1c2UgYm90aCBgLicgYW5kIGAtJyBz
ZXBhcmF0b3JzLgotIwotIyBJbmxpbmUgY29uc3RhbnQgZXhwYW5zaW9ucywgdG8gYXZvaWQgbTRf
ZGVmbiBvdmVyaGVhZC4KLSMgX200X3ZlcnNpb25fdW5sZXR0ZXIgaXMgdGhlIHJlYWwgd29ya2hv
cnNlIHVzZWQgYnkgbTRfdmVyc2lvbl9jb21wYXJlLAotIyBidXQgc2luY2UgWzByMzY6YV0gYW5k
IGNvbW1hcyBhcmUgbGVzcyByZWFkYWJsZSB0aGFuIDEwIGFuZCBkb3RzLCB3ZQotIyBwcm92aWRl
IGEgd3JhcHBlciBmb3IgaHVtYW4gdXNlLgotbTRfZGVmaW5lKFttNF92ZXJzaW9uX3VubGV0dGVy
XSwKLVttNF9zdWJzdHIobTRfbWFwX2FyZ3MoWy5tNF9ldmFsXSwgbTRfdW5xdW90ZShfJDAoWyQx
XSkpKSwgWzNdKV0pCi1tNF9kZWZpbmUoW19tNF92ZXJzaW9uX3VubGV0dGVyXSwKLVttNF9icGF0
c3Vic3QobTRfYnBhdHN1YnN0KG00X3RyYW5zbGl0KFtbW1swLCQxXV1dXSwgWy4tXSwgWywsXSks
XWRubAotbTRfZHF1b3RlKG00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9MZXR0ZXJzXSkpKVtbK10s
Ci0JICAgICAgWysxLC0xLFswcjM2OlwmXV0pLCBbLDBdLCBbLFswcjEwOjBdXSldKQotCi0KLSMg
bTRfdmVyc2lvbl9jb21wYXJlKFZFUlNJT04tMSwgVkVSU0lPTi0yKQotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIENvbXBhcmUgdGhlIHR3byB2ZXJzaW9uIG51
bWJlcnMgYW5kIGV4cGFuZCBpbnRvCi0jICAtMSBpZiBWRVJTSU9OLTEgPCBWRVJTSU9OLTIKLSMg
ICAwIGlmICAgICAgICAgICA9Ci0jICAgMSBpZiAgICAgICAgICAgPgotIwotIyBTaW5jZSBfbTRf
dmVyc2lvbl91bmxldHRlciBkb2VzIG5vdCBvdXRwdXQgc2lkZSBlZmZlY3RzLCB3ZSBjYW4KLSMg
c2FmZWx5IGJ5cGFzcyB0aGUgb3ZlcmhlYWQgb2YgbTRfdmVyc2lvbl9jbXAuCi1tNF9kZWZpbmUo
W200X3ZlcnNpb25fY29tcGFyZV0sCi1bX200X2xpc3RfY21wX3JhdyhfbTRfdmVyc2lvbl91bmxl
dHRlcihbJDFdKSwgX200X3ZlcnNpb25fdW5sZXR0ZXIoWyQyXSkpXSkKLQotCi0jIG00X1BBQ0tB
R0VfTkFNRQotIyBtNF9QQUNLQUdFX1RBUk5BTUUKLSMgbTRfUEFDS0FHRV9WRVJTSU9OCi0jIG00
X1BBQ0tBR0VfU1RSSU5HCi0jIG00X1BBQ0tBR0VfQlVHUkVQT1JUCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIElmIG00c3VnYXIvdmVyc2lvbi5tNCBpcyBwcmVzZW50LCB0aGVuIGRlZmluZSB2
ZXJzaW9uIHN0cmluZ3MuICBUaGlzCi0jIGZpbGUgaXMgb3B0aW9uYWwsIHByb3ZpZGVkIGJ5IEF1
dG9jb25mIGJ1dCBhYnNlbnQgaW4gQmlzb24uCi1tNF9zaW5jbHVkZShbbTRzdWdhci92ZXJzaW9u
Lm00XSkKLQotCi0jIG00X3ZlcnNpb25fcHJlcmVxKFZFUlNJT04sIFtJRi1PS10sIFtJRi1OT1Qg
PSBGQUlMXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBDaGVjayB0aGlzIEF1dG9jb25mIHZlcnNpb24gYWdhaW5zdCBWRVJTSU9OLgot
bTRfZGVmaW5lKFttNF92ZXJzaW9uX3ByZXJlcV0sCi1tNF9pZmRlZihbbTRfUEFDS0FHRV9WRVJT
SU9OXSwKLVtbbTRfaWYobTRfdmVyc2lvbl9jb21wYXJlKF1tNF9kcXVvdGUobTRfZGVmbihbbTRf
UEFDS0FHRV9WRVJTSU9OXSkpWywgWyQxXSksCi0JWy0xXSwKLQlbbTRfZGVmYXVsdChbJDNdLAot
CQkgICAgW200X2ZhdGFsKFtBdXRvY29uZiB2ZXJzaW9uICQxIG9yIGhpZ2hlciBpcyByZXF1aXJl
ZF0sCi0JCQkgICAgICBbNjNdKV0pXSwKLQlbJDJdKV1dLAotW1ttNF9mYXRhbChbbTRzdWdhci92
ZXJzaW9uLm00IG5vdCBmb3VuZF0pXV0pKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLSAjIwot
IyMgMTUuIFNldCBoYW5kbGluZy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBB
dXRvY29uZiBsaWtlcyB0byBjcmVhdGUgYXJiaXRyYXJpbHkgbGFyZ2Ugc2V0czsgZm9yIGV4YW1w
bGUsIGFzIG9mCi0jIHRoaXMgd3JpdGluZywgdGhlIGNvbmZpZ3VyZS5hYyBmb3IgY29yZXV0aWxz
IHRyYWNrcyBhIHNldCBvZiBtb3JlCi0jIHRoYW4gNDAwIEFDX1NVQlNULiAgSG93IGRvIHdlIHRy
YWNrIGFsbCBvZiB0aGVzZSBzZXQgbWVtYmVycywKLSMgd2l0aG91dCBpbnRyb2R1Y2luZyBkdXBs
aWNhdGVzPyAgV2UgY291bGQgdXNlIG00X2FwcGVuZF91bmlxLCB3aXRoCi0jIHRoZSBzZXQgTkFN
RSByZXNpZGluZyBpbiB0aGUgY29udGVudHMgb2YgdGhlIG1hY3JvIE5BTUUuCi0jIFVuZm9ydHVu
YXRlbHksIG00X2FwcGVuZF91bmlxIGlzIHF1YWRyYXRpYyBmb3Igc2V0IGNyZWF0aW9uLCBiZWNh
dXNlCi0jIGl0IGNvc3RzIE8obikgdG8gc2VhcmNoIHRoZSBzdHJpbmcgZm9yIGVhY2ggb2YgTyhu
KSBpbnNlcnRpb25zOyBub3QKLSMgdG8gbWVudGlvbiB0aGF0IHdpdGggbTQgMS40LngsIGV2ZW4g
dXNpbmcgbTRfYXBwZW5kIGlzIHNsb3csIGNvc3RpbmcKLSMgTyhuKSByYXRoZXIgdGhhbiBPKDEp
IHBlciBpbnNlcnRpb24uICBPdGhlciBzZXQgb3BlcmF0aW9ucywgbm90IHVzZWQKLSMgYnkgQXV0
b2NvbmYgYnV0IHN0aWxsIHBvc3NpYmxlIGJ5IG1hbmlwdWxhdGlvbiBvZiB0aGUgZGVmaW5pdGlv
bgotIyB0cmFja2VkIGluIG1hY3JvIE5BTUUsIGluY2x1ZGUgTyhuKSBkZWxldGlvbiBvZiBvbmUg
ZWxlbWVudCBhbmQgTyhuKQotIyBjb21wdXRhdGlvbiBvZiBzZXQgc2l6ZS4gIEJlY2F1c2UgdGhl
IHNldCBpcyBleHBvc2VkIHRvIHRoZSB1c2VyIHZpYQotIyB0aGUgZGVmaW5pdGlvbiBvZiBhIHNp
bmdsZSBtYWNybywgd2UgY2Fubm90IGNhY2hlIGFueSBkYXRhIGFib3V0IHRoZQotIyBzZXQgd2l0
aG91dCByaXNraW5nIHRoZSBjYWNoZSBiZWluZyBpbnZhbGlkYXRlZCBieSB0aGUgdXNlcgotIyBy
ZWRlZmluaW5nIE5BTUUuCi0jCi0jIENhbiB3ZSBkbyBiZXR0ZXI/ICBZZXMsIGJlY2F1c2UgbTQg
Z2l2ZXMgdXMgYW4gTygxKSBzZWFyY2ggZnVuY3Rpb24KLSMgZm9yIGZyZWU6IGlmZGVmLiAgQWRk
aXRpb25hbGx5LCBldmVuIG00IDEuNC54IGdpdmVzIHVzIGFuIE8oMSkKLSMgaW5zZXJ0IG9wZXJh
dGlvbiBmb3IgZnJlZTogcHVzaGRlZi4gIEJ1dCB0byB1c2UgdGhlc2UsIHdlIG11c3QKLSMgcmVw
cmVzZW50IHRoZSBzZXQgdmlhIGEgZ3JvdXAgb2YgbWFjcm9zOyB0byBrZWVwIHRoZSBzZXQgY29u
c2lzdGVudCwKLSMgd2UgbXVzdCBoaWRlIHRoZSBzZXQgc28gdGhhdCB0aGUgdXNlciBjYW4gb25s
eSBtYW5pcHVsYXRlIGl0IHRocm91Z2gKLSMgYWNjZXNzb3IgbWFjcm9zLiAgVGhlIGNvbnRlbnRz
IG9mIHRoZSBzZXQgYXJlIG1haW50YWluZWQgdGhyb3VnaCB0d28KLSMgYWNjZXNzIHBvaW50czsg
X200X3NldChbbmFtZV0pIGlzIGEgcHVzaGRlZiBzdGFjayBvZiB2YWx1ZXMgaW4gdGhlCi0jIHNl
dCwgdXNlZnVsIGZvciBPKG4pIHRyYXZlcnNhbCBvZiB0aGUgc2V0IGNvbnRlbnRzOyB3aGlsZSB0
aGUKLSMgZXhpc3RlbmNlIG9mIF9tNF9zZXQoW25hbWVdLHZhbHVlKSB3aXRoIG5vIHBhcnRpY3Vs
YXIgdmFsdWUgaXMKLSMgdXNlZnVsIGZvciBPKDEpIHF1ZXJ5aW5nIG9mIHNldCBtZW1iZXJzaGlw
LiAgQW5kIHNpbmNlIHRoZSB1c2VyCi0jIGNhbm5vdCBleHRlcm5hbGx5IG1hbmlwdWxhdGUgdGhl
IHNldCwgd2UgYXJlIGZyZWUgdG8gYWRkIGFkZGl0aW9uYWwKLSMgY2FjaGluZyBtYWNyb3MgZm9y
IG90aGVyIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cy4gIERlbGV0aW9uIGNhbiBiZQotIyBPKDEp
IHBlciBlbGVtZW50IHJhdGhlciB0aGFuIE8obiksIGJ5IHJld29ya2luZyB0aGUgZGVmaW5pdGlv
biBvZgotIyBfbTRfc2V0KFtuYW1lXSx2YWx1ZSkgdG8gYmUgMCBvciAxIGJhc2VkIG9uIGN1cnJl
bnQgbWVtYmVyc2hpcCwgYW5kCi0jIGFkZGluZyBfbTRfc2V0X2NsZWFudXAobmFtZSkgdG8gZGVm
ZXIgdGhlIE8obikgY2xlYW51cCBvZgotIyBfbTRfc2V0KFtuYW1lXSkgdW50aWwgd2UgaGF2ZSBh
bm90aGVyIHJlYXNvbiB0byBkbyBhbiBPKG4pCi0jIHRyYXZlcnNhbC4gIFRoZSBleGlzdGVuY2Ug
b2YgX200X3NldF9jbGVhbnVwKG5hbWUpIGNhbiB0aGVuIGJlIHVzZWQKLSMgZWxzZXdoZXJlIHRv
IGRldGVybWluZSBpZiB3ZSBtdXN0IGRlcmVmZXJlbmNlIF9tNF9zZXQoW25hbWVdLHZhbHVlKSwK
LSMgb3IgYXNzdW1lIHRoYXQgZGVmaW5pdGlvbiBpbXBsaWVzIHNldCBtZW1iZXJzaGlwLiAgRmlu
YWxseSwgc2l6ZSBjYW4KLSMgYmUgdHJhY2tlZCBpbiBhbiBPKDEpIGZhc2hpb24gd2l0aCBfbTRf
c2V0X3NpemUobmFtZSkuCi0jCi0jIFRoZSBxdW90aW5nIGluIF9tNF9zZXQoW25hbWVdLHZhbHVl
KSBpcyBjaG9zZW4gc28gdGhhdCB0aGVyZSBpcyBubwotIyBhbWJpZ3VpdHkgd2l0aCBhIHNldCB3
aG9zZSBuYW1lIGNvbnRhaW5zIGEgY29tbWEsIGFuZCBzbyB0aGF0IHdlIGNhbgotIyBzdXBwbHkg
dGhlIHZhbHVlIHZpYSBfbTRfZGVmbihbX200X3NldChbbmFtZV0pXSkgd2l0aG91dCBuZWVkaW5n
IGFueQotIyBxdW90ZSBtYW5pcHVsYXRpb24uCi0KLSMgbTRfc2V0X2FkZChTRVQsIFZBTFVFLCBb
SUYtVU5JUV0sIFtJRi1EVVBdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0jIEFkZCBWQUxVRSBhcyBhbiBlbGVtZW50IG9mIFNFVC4gIEV4cGFuZCBJRi1V
TklRIG9uIHRoZSBmaXJzdAotIyBhZGRpdGlvbiwgYW5kIElGLURVUCBpZiBpdCBpcyBhbHJlYWR5
IGluIHRoZSBzZXQuICBBZGRpdGlvbiBvZiBvbmUKLSMgZWxlbWVudCBpcyBPKDEpLCBzdWNoIHRo
YXQgb3ZlcmFsbCBzZXQgY3JlYXRpb24gaXMgTyhuKS4KLSMKLSMgV2UgZG8gbm90IHdhbnQgdG8g
YWRkIGEgZHVwbGljYXRlIGZvciBhIHByZXZpb3VzbHkgZGVsZXRlZCBidXQKLSMgdW5wcnVuZWQg
ZWxlbWVudCwgYnV0IGl0IGlzIGp1c3QgYXMgZWFzeSB0byBjaGVjayBleGlzdGVuY2UgZGlyZWN0
bHkKLSMgYXMgaXQgaXMgdG8gcXVlcnkgX200X3NldF9jbGVhbnVwKCQxKS4KLW00X2RlZmluZShb
bTRfc2V0X2FkZF0sCi1bbTRfaWZkZWYoW19tNF9zZXQoWyQxXSwkMildLAotCSAgW200X2lmKG00
X2luZGlyKFtfbTRfc2V0KFskMV0sJDIpXSksIFswXSwKLQkJIFttNF9kZWZpbmUoW19tNF9zZXQo
WyQxXSwkMildLAotCQkJICAgIFsxXSlfbTRfc2V0X3NpemUoWyQxXSwgW200X2luY3JdKSQzXSwg
WyQ0XSldLAotCSAgW200X2RlZmluZShbX200X3NldChbJDFdLCQyKV0sCi0JCSAgICAgWzFdKW00
X3B1c2hkZWYoW19tNF9zZXQoWyQxXSldLAotCQkJCSAgICBbJDJdKV9tNF9zZXRfc2l6ZShbJDFd
LCBbbTRfaW5jcl0pJDNdKV0pCi0KLSMgbTRfc2V0X2FkZF9hbGwoU0VULCBWQUxVRS4uLikKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQWRkIGVhY2ggVkFMVUUgaW50byBTRVQu
ICBUaGlzIGlzIE8obikgaW4gdGhlIG51bWJlciBvZiBWQUxVRXMsIGFuZAotIyBjYW4gYmUgZmFz
dGVyIHRoYW4gY2FsbGluZyBtNF9zZXRfYWRkIGZvciBlYWNoIFZBTFVFLgotIwotIyBJbXBsZW1l
bnQgdHdvIHJlY3Vyc2lvbiBoZWxwZXJzOyB0aGUgY2hlY2sgdmFyaWFudCBpcyBzbG93ZXIgYnV0
Ci0jIGhhbmRsZXMgdGhlIGNhc2Ugd2hlcmUgYW4gZWxlbWVudCBoYXMgcHJldmlvdXNseSBiZWVu
IHJlbW92ZWQgYnV0Ci0jIG5vdCBwcnVuZWQuICBUaGUgcmVjdXJzaW9uIGhlbHBlcnMgaWdub3Jl
IHRoZWlyIHNlY29uZCBhcmd1bWVudCwgc28KLSMgdGhhdCB3ZSBjYW4gdXNlIHRoZSBmYXN0ZXIg
bTRfc2hpZnQyIGFuZCAyIGFyZ3VtZW50cywgcmF0aGVyIHRoYW4KLSMgX200X3NoaWZ0MiBhbmQg
b25lIGFyZ3VtZW50LCBhcyB0aGUgc2lnbmFsIHRvIGVuZCByZWN1cnNpb24uCi0jCi0jIFBsZWFz
ZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUu
Ci1tNF9kZWZpbmUoW200X3NldF9hZGRfYWxsXSwKLVttNF9kZWZpbmUoW19tNF9zZXRfc2l6ZSgk
MSldLCBtNF9ldmFsKG00X3NldF9zaXplKFskMV0pCi0gICsgbTRfbGVuKG00X2lmZGVmKFtfbTRf
c2V0X2NsZWFudXAoJDEpXSwgW18kMF9jaGVja10sIFtfJDBdKShbJDFdLCAkQCkpKSldKQotCi1t
NF9kZWZpbmUoW19tNF9zZXRfYWRkX2FsbF0sCi1bbTRfaWYoWyQjXSwgWzJdLCBbXSwKLSAgICAg
ICBbbTRfaWZkZWYoW19tNF9zZXQoWyQxXSwkMyldLCBbXSwKLQkJIFttNF9kZWZpbmUoW19tNF9z
ZXQoWyQxXSwkMyldLCBbMV0pbTRfcHVzaGRlZihbX200X3NldChbJDFdKV0sCi0JICAgWyQzXSkt
XSkkMChbJDFdLCBtNF9zaGlmdDIoJEApKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfc2V0X2FkZF9h
bGxfY2hlY2tdLAotW200X2lmKFskI10sIFsyXSwgW10sCi0gICAgICAgW200X3NldF9hZGQoWyQx
XSwgWyQzXSkkMChbJDFdLCBtNF9zaGlmdDIoJEApKV0pXSkKLQotIyBtNF9zZXRfY29udGFpbnMo
U0VULCBWQUxVRSwgW0lGLVBSRVNFTlRdLCBbSUYtQUJTRU5UXSkKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFuZCBJRi1QUkVT
RU5UIGlmIFNFVCBjb250YWlucyBWQUxVRSwgb3RoZXJ3aXNlIGV4cGFuZCBJRi1BQlNFTlQuCi0j
IFRoaXMgaXMgYWx3YXlzIE8oMSkuCi1tNF9kZWZpbmUoW200X3NldF9jb250YWluc10sCi1bbTRf
aWZkZWYoW19tNF9zZXRfY2xlYW51cCgkMSldLAotCSAgW200X2lmKG00X2lmZGVmKFtfbTRfc2V0
KFskMV0sJDIpXSwKLQkJICAgIFttNF9pbmRpcihbX200X3NldChbJDFdLCQyKV0pXSwgWzBdKSwg
WzFdLCBbJDNdLCBbJDRdKV0sCi0JICBbbTRfaWZkZWYoW19tNF9zZXQoWyQxXSwkMildLCBbJDNd
LCBbJDRdKV0pXSkKLQotIyBtNF9zZXRfY29udGVudHMoU0VULCBbU0VQXSkKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFuZCB0byBhIHNpbmdsZSBzdHJpbmcgY29udGFpbmlu
ZyBhbGwgdGhlIGVsZW1lbnRzIGluIFNFVCwKLSMgc2VwYXJhdGVkIGJ5IFNFUCwgd2l0aG91dCBt
b2RpZnlpbmcgU0VULiAgTm8gcHJvdmlzaW9uIGlzIG1hZGUgZm9yCi0jIGRpc2FtYmlndWF0aW5n
IHNldCBlbGVtZW50cyB0aGF0IGNvbnRhaW4gbm9uLWVtcHR5IFNFUCBhcyBhCi0jIHN1Yi1zdHJp
bmcsIG9yIGZvciByZWNvZ25pemluZyBhIHNldCB0aGF0IGNvbnRhaW5zIG9ubHkgdGhlIGVtcHR5
Ci0jIHN0cmluZy4gIE9yZGVyIG9mIHRoZSBvdXRwdXQgaXMgbm90IGd1YXJhbnRlZWQuICBJZiBh
bnkgZWxlbWVudHMKLSMgaGF2ZSBiZWVuIHByZXZpb3VzbHkgcmVtb3ZlZCBmcm9tIHRoZSBzZXQs
IHRoaXMgYWN0aW9uIHdpbGwgcHJ1bmUKLSMgdGhlIHVudXNlZCBtZW1vcnkuICBUaGlzIGlzIE8o
bikgaW4gdGhlIHNpemUgb2YgdGhlIHNldCBiZWZvcmUKLSMgcHJ1bmluZy4KLSMKLSMgVXNlIF9t
NF9wb3BkZWYgZm9yIHNwZWVkLiAgVGhlIGV4aXN0ZW5jZSBvZiBfbTRfc2V0X2NsZWFudXAoJDEp
Ci0jIGRldGVybWluZXMgd2hpY2ggdmVyc2lvbiBvZiBfMSBoZWxwZXIgd2UgdXNlLgotbTRfZGVm
aW5lKFttNF9zZXRfY29udGVudHNdLAotW200X3NldF9tYXBfc2VwKFskMV0sIFtdLCBbXSwgW1sk
Ml1dKV0pCi0KLSMgX200X3NldF9jb250ZW50c18xKFNFVCkKLSMgX200X3NldF9jb250ZW50c18x
YyhTRVQpCi0jIF9tNF9zZXRfY29udGVudHNfMihTRVQsIFtQUkVdLCBbUE9TVF0sIFtTRVBdKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5k
IHRvIGEgbGlzdCBvZiBxdW90ZWQgZWxlbWVudHMgY3VycmVudGx5IGluIHRoZSBzZXQsIGVhY2gK
LSMgc3Vycm91bmRlZCBieSBQUkUgYW5kIFBPU1QsIGFuZCBtb3ZpbmcgU0VQIGluIGZyb250IG9m
IFBSRSBvbgotIyByZWN1cnNpb24uICBUbyBhdm9pZCBuZXN0aW5nIGxpbWl0IHJlc3RyaWN0aW9u
cywgdGhlIGFsZ29yaXRobSBtdXN0Ci0jIGJlIGJyb2tlbiBpbnRvIHR3byBwYXJ0czsgXzEgZGVz
dHJ1Y3RpdmVseSBjb3BpZXMgdGhlIHN0YWNrIGluCi0jIHJldmVyc2UgaW50byBfbTRfc2V0Xygk
MSksIHByb2R1Y2luZyBubyBvdXRwdXQ7IHRoZW4gXzIKLSMgZGVzdHJ1Y3RpdmVseSBjb3BpZXMg
X200X3NldF8oJDEpIGJhY2sgaW50byB0aGUgc3RhY2sgaW4gcmV2ZXJzZS4KLSMgSWYgbm8gZWxl
bWVudHMgd2VyZSBkZWxldGVkLCB0aGVuIHRoaXMgdmlzaXRzIHRoZSBzZXQgaW4gdGhlIG9yZGVy
Ci0jIHRoYXQgZWxlbWVudHMgd2VyZSBpbnNlcnRlZC4gIEJlaGF2aW9yIGlzIHVuZGVmaW5lZCBp
ZiBQUkUvUE9TVC9TRVAKLSMgdHJpZXMgdG8gcmVjdXJzaXZlbHkgbGlzdCBvciBtb2RpZnkgU0VU
IGluIGFueSB3YXkgb3RoZXIgdGhhbgotIyBjYWxsaW5nIG00X3NldF9yZW1vdmUgb24gdGhlIGN1
cnJlbnQgZWxlbWVudC4gIFVzZSBfMSBpZiBhbGwgZW50cmllcwotIyBpbiB0aGUgc3RhY2sgYXJl
IGd1YXJhbnRlZWQgdG8gYmUgaW4gdGhlIHNldCwgYW5kIF8xYyB0byBwcnVuZQotIyByZW1vdmVk
IGVudHJpZXMuICBVc2VzIF9tNF9kZWZuIGFuZCBfbTRfcG9wZGVmIGZvciBzcGVlZC4KLW00X2Rl
ZmluZShbX200X3NldF9jb250ZW50c18xXSwKLVtfbTRfc3RhY2tfcmV2ZXJzZShbX200X3NldChb
JDFdKV0sIFtfbTRfc2V0XygkMSldKV0pCi0KLW00X2RlZmluZShbX200X3NldF9jb250ZW50c18x
Y10sCi1bbTRfaWZkZWYoW19tNF9zZXQoWyQxXSldLAotCSAgW200X3NldF9jb250YWlucyhbJDFd
LCBfbTRfZGVmbihbX200X3NldChbJDFdKV0pLAotCQkgICBbbTRfcHVzaGRlZihbX200X3NldF8o
JDEpXSwgX200X2RlZm4oW19tNF9zZXQoWyQxXSldKSldLAotCQkgICBbX200X3BvcGRlZihbX200
X3NldChbJDFdLF1fbTRfZGVmbigKLSAgICAgIFtfbTRfc2V0KFskMV0pXSlbKV0pXSlfbTRfcG9w
ZGVmKFtfbTRfc2V0KFskMV0pXSkkMChbJDFdKV0sCi0JICBbX200X3BvcGRlZihbX200X3NldF9j
bGVhbnVwKCQxKV0pXSldKQotCi1tNF9kZWZpbmUoW19tNF9zZXRfY29udGVudHNfMl0sCi1bX200
X3N0YWNrX3JldmVyc2UoW19tNF9zZXRfKCQxKV0sIFtfbTRfc2V0KFskMV0pXSwKLSAgWyQyW11f
bTRfZGVmbihbX200X3NldF8oJDEpXSkkM10sIFskNFtdXSldKQotCi0jIG00X3NldF9kZWxldGUo
U0VUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVsZXRlIGFsbCBlbGVtZW50cyBpbiBTRVQs
IGFuZCByZWNsYWltIGFueSBtZW1vcnkgb2NjdXBpZWQgYnkgdGhlCi0jIHNldC4gIFRoaXMgaXMg
TyhuKSBpbiB0aGUgc2V0IHNpemUuCi0jCi0jIFVzZSBfbTRfZGVmbiBhbmQgX200X3BvcGRlZiBm
b3Igc3BlZWQuCi1tNF9kZWZpbmUoW200X3NldF9kZWxldGVdLAotW200X2lmZGVmKFtfbTRfc2V0
KFskMV0pXSwKLQkgIFtfbTRfcG9wZGVmKFtfbTRfc2V0KFskMV0sXV9tNF9kZWZuKFtfbTRfc2V0
KFskMV0pXSlbKV0sCi0JCSAgICAgIFtfbTRfc2V0KFskMV0pXSkkMChbJDFdKV0sCi0JICBbbTRf
aWZkZWYoW19tNF9zZXRfY2xlYW51cCgkMSldLAotCQkgICAgW19tNF9wb3BkZWYoW19tNF9zZXRf
Y2xlYW51cCgkMSldKV0pbTRfaWZkZWYoCi0JCSAgICBbX200X3NldF9zaXplKCQxKV0sCi0JCSAg
ICBbX200X3BvcGRlZihbX200X3NldF9zaXplKCQxKV0pXSldKV0pCi0KLSMgbTRfc2V0X2RpZmZl
cmVuY2UoU0VUMSwgU0VUMikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUHJv
ZHVjZSBhIExJU1Qgb2YgcXVvdGVkIGVsZW1lbnRzIHRoYXQgb2NjdXIgaW4gU0VUMSBidXQgbm90
IFNFVDIuCi0jIE91dHB1dCBhIGNvbW1hIHByaW9yIHRvIGFueSBlbGVtZW50cywgdG8gZGlzdGlu
Z3Vpc2ggdGhlIGVtcHR5Ci0jIHN0cmluZyBmcm9tIG5vIGVsZW1lbnRzLiAgVGhpcyBjYW4gYmUg
ZGlyZWN0bHkgdXNlZCBhcyBhIHNlcmllcyBvZgotIyBhcmd1bWVudHMsIHN1Y2ggYXMgZm9yIG00
X2pvaW4sIG9yIHdyYXBwZWQgaW5zaWRlIHF1b3RlcyBmb3IgdXNlIGluCi0jIG00X2ZvcmVhY2gu
ICBPcmRlciBvZiB0aGUgb3V0cHV0IGlzIG5vdCBndWFyYW50ZWVkLgotIwotIyBTaG9ydC1jaXJj
dWl0IHRoZSBpZGVtcG90ZW5jZSByZWxhdGlvbi4KLW00X2RlZmluZShbbTRfc2V0X2RpZmZlcmVu
Y2VdLAotW200X2lmKFskMV0sIFskMl0sIFtdLCBbbTRfc2V0X21hcF9zZXAoWyQxXSwgW18kMChb
JDJdLF0sIFspXSldKV0pCi0KLW00X2RlZmluZShbX200X3NldF9kaWZmZXJlbmNlXSwKLVttNF9z
ZXRfY29udGFpbnMoWyQxXSwgWyQyXSwgW10sIFssWyQyXV0pXSkKLQotIyBtNF9zZXRfZHVtcChT
RVQsIFtTRVBdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbmQgdG8gYSBzaW5n
bGUgc3RyaW5nIGNvbnRhaW5pbmcgYWxsIHRoZSBlbGVtZW50cyBpbiBTRVQsCi0jIHNlcGFyYXRl
ZCBieSBTRVAsIHRoZW4gZGVsZXRlIFNFVC4gIEluIGdlbmVyYWwsIGlmIHlvdSBvbmx5IG5lZWQg
dG8KLSMgbGlzdCB0aGUgY29udGVudHMgb25jZSwgdGhpcyBpcyBmYXN0ZXIgdGhhbiBtNF9zZXRf
Y29udGVudHMuICBObwotIyBwcm92aXNpb24gaXMgbWFkZSBmb3IgZGlzYW1iaWd1YXRpbmcgc2V0
IGVsZW1lbnRzIHRoYXQgY29udGFpbgotIyBub24tZW1wdHkgU0VQIGFzIGEgc3ViLXN0cmluZy4g
IE9yZGVyIG9mIHRoZSBvdXRwdXQgaXMgbm90Ci0jIGd1YXJhbnRlZWQuICBUaGlzIGlzIE8obikg
aW4gdGhlIHNpemUgb2YgdGhlIHNldCBiZWZvcmUgcHJ1bmluZy4KLSMKLSMgVXNlIF9tNF9wb3Bk
ZWYgZm9yIHNwZWVkLiAgVXNlIGV4aXN0ZW5jZSBvZiBfbTRfc2V0X2NsZWFudXAoJDEpIHRvCi0j
IGRlY2lkZSBpZiBtb3JlIGV4cGVuc2l2ZSByZWN1cnNpb24gaXMgbmVlZGVkLgotbTRfZGVmaW5l
KFttNF9zZXRfZHVtcF0sCi1bbTRfaWZkZWYoW19tNF9zZXRfc2l6ZSgkMSldLAotCSAgW19tNF9w
b3BkZWYoW19tNF9zZXRfc2l6ZSgkMSldKV0pbTRfaWZkZWYoW19tNF9zZXRfY2xlYW51cCgkMSld
LAotICAgIFtfJDBfY2hlY2tdLCBbXyQwXSkoWyQxXSwgW10sIFskMl0pXSkKLQotIyBfbTRfc2V0
X2R1bXAoU0VULCBbU0VQXSwgW1BSRVBdKQotIyBfbTRfc2V0X2R1bXBfY2hlY2soU0VULCBbU0VQ
XSwgW1BSRVBdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQ
cmludCBTRVAgYW5kIHRoZSBjdXJyZW50IGVsZW1lbnQsIHRoZW4gZGVsZXRlIHRoZSBlbGVtZW50
IGFuZAotIyByZWN1cnNlIHdpdGggZW1wdHkgU0VQIGNoYW5nZWQgdG8gUFJFUC4gIFRoZSBjaGVj
ayB2YXJpYW50IGNoZWNrcwotIyB3aGV0aGVyIHRoZSBlbGVtZW50IGhhcyBiZWVuIHByZXZpb3Vz
bHkgcmVtb3ZlZC4gIFVzZSBfbTRfZGVmbiBhbmQKLSMgX200X3BvcGRlZiBmb3Igc3BlZWQuCi1t
NF9kZWZpbmUoW19tNF9zZXRfZHVtcF0sCi1bbTRfaWZkZWYoW19tNF9zZXQoWyQxXSldLAotCSAg
W1skMl1fbTRfZGVmbihbX200X3NldChbJDFdKV0pX200X3BvcGRlZihbX200X3NldChbJDFdLF1f
bTRfZGVmbigKLQkJW19tNF9zZXQoWyQxXSldKVspXSwgW19tNF9zZXQoWyQxXSldKSQwKFskMV0s
IFskMiQzXSldKV0pCi0KLW00X2RlZmluZShbX200X3NldF9kdW1wX2NoZWNrXSwKLVttNF9pZmRl
ZihbX200X3NldChbJDFdKV0sCi0JICBbbTRfc2V0X2NvbnRhaW5zKFskMV0sIF9tNF9kZWZuKFtf
bTRfc2V0KFskMV0pXSksCi0JCQkgICBbWyQyXV9tNF9kZWZuKFtfbTRfc2V0KFskMV0pXSldKV9t
NF9wb3BkZWYoCi0gICAgW19tNF9zZXQoWyQxXSxdX200X2RlZm4oW19tNF9zZXQoWyQxXSldKVsp
XSwKLSAgICBbX200X3NldChbJDFdKV0pJDAoWyQxXSwgWyQyJDNdKV0sCi0JICBbX200X3BvcGRl
ZihbX200X3NldF9jbGVhbnVwKCQxKV0pXSldKQotCi0jIG00X3NldF9lbXB0eShTRVQsIFtJRi1F
TVBUWV0sIFtJRi1FTEVNRU5UU10pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0jIEV4cGFuZCBJRi1FTVBUWSBpZiBTRVQgaGFzIG5vIGVsZW1lbnRzLCBv
dGhlcndpc2UgSUYtRUxFTUVOVFMuCi1tNF9kZWZpbmUoW200X3NldF9lbXB0eV0sCi1bbTRfaWZk
ZWYoW19tNF9zZXRfc2l6ZSgkMSldLAotCSAgW200X2lmKG00X2luZGlyKFtfbTRfc2V0X3NpemUo
JDEpXSksIFswXSwgWyQyXSwgWyQzXSldLCBbJDJdKV0pCi0KLSMgbTRfc2V0X2ZvcmVhY2goU0VU
LCBWQVIsIEFDVElPTikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRm9y
IGVhY2ggZWxlbWVudCBvZiBTRVQsIGRlZmluZSBWQVIgdG8gdGhlIGVsZW1lbnQgYW5kIGV4cGFu
ZAotIyBBQ1RJT04uICBBQ1RJT04gc2hvdWxkIG5vdCByZWN1cnNpdmVseSBsaXN0IFNFVCdzIGNv
bnRlbnRzLCBhZGQKLSMgZWxlbWVudHMgdG8gU0VULCBub3IgZGVsZXRlIGFueSBlbGVtZW50IGZy
b20gU0VUIGV4Y2VwdCB0aGUgb25lCi0jIGN1cnJlbnRseSBpbiBWQVIuICBUaGUgb3JkZXIgdGhh
dCB0aGUgZWxlbWVudHMgYXJlIHZpc2l0ZWQgaW4gaXMgbm90Ci0jIGd1YXJhbnRlZWQuICBUaGlz
IGlzIGZhc3RlciB0aGFuIHRoZSBjb3JyZXNwb25kaW5nIG00X2ZvcmVhY2goW1ZBUl0sCi0jICAg
bTRfaW5kaXIoW200X2RxdW90ZV1tNF9zZXRfbGlzdGMoW1NFVF0pKSwgW0FDVElPTl0pCi1tNF9k
ZWZpbmUoW200X3NldF9mb3JlYWNoXSwKLVttNF9wdXNoZGVmKFskMl0pbTRfc2V0X21hcF9zZXAo
WyQxXSwKLVttNF9kZWZpbmUoWyQyXSxdLCBbKSQzXSltNF9wb3BkZWYoWyQyXSldKQotCi0jIG00
X3NldF9pbnRlcnNlY3Rpb24oU0VUMSwgU0VUMikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBQcm9kdWNlIGEgTElTVCBvZiBxdW90ZWQgZWxlbWVudHMgdGhhdCBvY2N1ciBp
biBib3RoIFNFVDEgb3IgU0VUMi4KLSMgT3V0cHV0IGEgY29tbWEgcHJpb3IgdG8gYW55IGVsZW1l
bnRzLCB0byBkaXN0aW5ndWlzaCB0aGUgZW1wdHkKLSMgc3RyaW5nIGZyb20gbm8gZWxlbWVudHMu
ICBUaGlzIGNhbiBiZSBkaXJlY3RseSB1c2VkIGFzIGEgc2VyaWVzIG9mCi0jIGFyZ3VtZW50cywg
c3VjaCBhcyBmb3IgbTRfam9pbiwgb3Igd3JhcHBlZCBpbnNpZGUgcXVvdGVzIGZvciB1c2UgaW4K
LSMgbTRfZm9yZWFjaC4gIE9yZGVyIG9mIHRoZSBvdXRwdXQgaXMgbm90IGd1YXJhbnRlZWQuCi0j
Ci0jIEl0ZXJhdGUgb3ZlciB0aGUgc21hbGxlciBzZXQsIGFuZCBzaG9ydC1jaXJjdWl0IHRoZSBp
ZGVtcG90ZW5jZQotIyByZWxhdGlvbi4KLW00X2RlZmluZShbbTRfc2V0X2ludGVyc2VjdGlvbl0s
Ci1bbTRfaWYoWyQxXSwgWyQyXSwgW200X3NldF9saXN0YyhbJDFdKV0sCi0gICAgICAgbTRfZXZh
bChtNF9zZXRfc2l6ZShbJDJdKSA8IG00X3NldF9zaXplKFskMV0pKSwgWzFdLCBbJDAoWyQyXSwg
WyQxXSldLAotICAgICAgIFttNF9zZXRfbWFwX3NlcChbJDFdLCBbXyQwKFskMl0sXSwgWyldKV0p
XSkKLQotbTRfZGVmaW5lKFtfbTRfc2V0X2ludGVyc2VjdGlvbl0sCi1bbTRfc2V0X2NvbnRhaW5z
KFskMV0sIFskMl0sIFssWyQyXV0pXSkKLQotIyBtNF9zZXRfbGlzdChTRVQpCi0jIG00X3NldF9s
aXN0YyhTRVQpCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0jIFByb2R1Y2UgYSBMSVNUIG9mIHF1b3Rl
ZCBlbGVtZW50cyBvZiBTRVQuICBUaGlzIGNhbiBiZSBkaXJlY3RseSB1c2VkCi0jIGFzIGEgc2Vy
aWVzIG9mIGFyZ3VtZW50cywgc3VjaCBhcyBmb3IgbTRfam9pbiBvciBtNF9zZXRfYWRkX2FsbCwg
b3IKLSMgd3JhcHBlZCBpbnNpZGUgcXVvdGVzIGZvciB1c2UgaW4gbTRfZm9yZWFjaCBvciBtNF9t
YXAuICBXaXRoCi0jIG00X3NldF9saXN0LCB0aGVyZSBpcyBubyB3YXkgdG8gZGlzdGluZ3Vpc2gg
YW4gZW1wdHkgc2V0IGZyb20gYSBzZXQKLSMgY29udGFpbmluZyBvbmx5IHRoZSBlbXB0eSBzdHJp
bmc7IHdpdGggbTRfc2V0X2xpc3RjLCBhIGxlYWRpbmcgY29tbWEKLSMgaXMgb3V0cHV0IGlmIHRo
ZXJlIGFyZSBhbnkgZWxlbWVudHMuCi1tNF9kZWZpbmUoW200X3NldF9saXN0XSwKLVttNF9zZXRf
bWFwX3NlcChbJDFdLCBbXSwgW10sIFssXSldKQotCi1tNF9kZWZpbmUoW200X3NldF9saXN0Y10s
Ci1bbTRfc2V0X21hcF9zZXAoWyQxXSwgWyxdKV0pCi0KLSMgbTRfc2V0X21hcChTRVQsIEFDVElP
TikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRm9yIGVhY2ggZWxlbWVudCBvZiBTRVQs
IGV4cGFuZCBBQ1RJT04gd2l0aCBhIHNpbmdsZSBhcmd1bWVudCBvZiB0aGUKLSMgY3VycmVudCBl
bGVtZW50LiAgQUNUSU9OIHNob3VsZCBub3QgcmVjdXJzaXZlbHkgbGlzdCBTRVQncyBjb250ZW50
cywKLSMgYWRkIGVsZW1lbnRzIHRvIFNFVCwgbm9yIGRlbGV0ZSBhbnkgZWxlbWVudCBmcm9tIFNF
VCBleGNlcHQgdGhlIG9uZQotIyBwYXNzZWQgYXMgYW4gYXJndW1lbnQuICBUaGUgb3JkZXIgdGhh
dCB0aGUgZWxlbWVudHMgYXJlIHZpc2l0ZWQgaW4KLSMgaXMgbm90IGd1YXJhbnRlZWQuICBUaGlz
IGlzIGZhc3RlciB0aGFuIGVpdGhlciBvZiB0aGUgY29ycmVzcG9uZGluZwotIyAgIG00X21hcF9h
cmdzKFtBQ1RJT05dbTRfc2V0X2xpc3RjKFtTRVRdKSkKLSMgICBtNF9zZXRfZm9yZWFjaChbU0VU
XSwgW1ZBUl0sIFtBQ1RJT04obTRfZGVmbihbVkFSXSkpXSkKLW00X2RlZmluZShbbTRfc2V0X21h
cF0sCi1bbTRfc2V0X21hcF9zZXAoWyQxXSwgWyQyKF0sIFspXSldKQotCi0jIG00X3NldF9tYXBf
c2VwKFNFVCwgW1BSRV0sIFtQT1NUXSwgW1NFUF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIEZvciBlYWNoIGVsZW1lbnQgb2YgU0VULCBleHBhbmQgUFJF
W3ZhbHVlXVBPU1RbXSwgYW5kIGV4cGFuZCBTRVAKLSMgYmV0d2VlbiBlbGVtZW50cy4KLW00X2Rl
ZmluZShbbTRfc2V0X21hcF9zZXBdLAotW200X2lmZGVmKFtfbTRfc2V0X2NsZWFudXAoJDEpXSwg
W19tNF9zZXRfY29udGVudHNfMWNdLAotCSAgW19tNF9zZXRfY29udGVudHNfMV0pKFskMV0pX200
X3NldF9jb250ZW50c18yKCRAKV0pCi0KLSMgbTRfc2V0X3JlbW92ZShTRVQsIFZBTFVFLCBbSUYt
UFJFU0VOVF0sIFtJRi1BQlNFTlRdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIFZBTFVFIGlzIGFuIGVsZW1lbnQgb2YgU0VULCBk
ZWxldGUgaXQgYW5kIGV4cGFuZCBJRi1QUkVTRU5ULgotIyBPdGhlcndpc2UgZXhwYW5kIElGLUFC
U0VOVC4gIERlbGV0aW5nIGEgc2luZ2xlIHZhbHVlIGlzIE8oMSksCi0jIGFsdGhvdWdoIGl0IGxl
YXZlcyBtZW1vcnkgb2NjdXBpZWQgdW50aWwgdGhlIG5leHQgTyhuKSB0cmF2ZXJzYWwgb2YKLSMg
dGhlIHNldCB3aGljaCB3aWxsIGNvbXBhY3QgdGhlIHNldC4KLSMKLSMgT3B0aW1pemUgaWYgdGhl
IGVsZW1lbnQgYmVpbmcgcmVtb3ZlZCBpcyB0aGUgbW9zdCByZWNlbnRseSBhZGRlZCwKLSMgc2lu
Y2UgZGVmaW5pbmcgX200X3NldF9jbGVhbnVwKCQxKSBzbG93cyBkb3duIHNvIG1hbnkgb3RoZXIg
bWFjcm9zLgotIyBJbiBwYXJ0aWN1bGFyLCB0aGlzIHBsYXlzIHdlbGwgd2l0aCBtNF9zZXRfZm9y
ZWFjaCBhbmQgbTRfc2V0X21hcC4KLW00X2RlZmluZShbbTRfc2V0X3JlbW92ZV0sCi1bbTRfc2V0
X2NvbnRhaW5zKFskMV0sIFskMl0sIFtfbTRfc2V0X3NpemUoWyQxXSwKLSAgICBbbTRfZGVjcl0p
bTRfaWYoX200X2RlZm4oW19tNF9zZXQoWyQxXSldKSwgWyQyXSwKLQkJICAgIFtfbTRfcG9wZGVm
KFtfbTRfc2V0KFskMV0sJDIpXSwgW19tNF9zZXQoWyQxXSldKV0sCi0JCSAgICBbbTRfZGVmaW5l
KFtfbTRfc2V0X2NsZWFudXAoJDEpXSltNF9kZWZpbmUoCi0JCSAgICAgIFtfbTRfc2V0KFskMV0s
JDIpXSwgWzBdKV0pJDNdLCBbJDRdKV0pCi0KLSMgbTRfc2V0X3NpemUoU0VUKQotIyAtLS0tLS0t
LS0tLS0tLS0tCi0jIEV4cGFuZCB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGN1cnJlbnRseSBp
biBTRVQuICBUaGlzIG9wZXJhdGlvbgotIyBpcyBPKDEpLCBhbmQgdGh1cyBtb3JlIGVmZmljaWVu
dCB0aGFuIG00X2NvdW50KG00X3NldF9saXN0KFtTRVRdKSkuCi1tNF9kZWZpbmUoW200X3NldF9z
aXplXSwKLVttNF9pZmRlZihbX200X3NldF9zaXplKCQxKV0sIFttNF9pbmRpcihbX200X3NldF9z
aXplKCQxKV0pXSwgWzBdKV0pCi0KLSMgX200X3NldF9zaXplKFNFVCwgQUNUSU9OKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEFDVElPTiBtdXN0IGJlIGVpdGhlciBtNF9pbmNyIG9y
IG00X2RlY3IsIGFuZCB0aGUgc2l6ZSBvZiBTRVQgaXMKLSMgY2hhbmdlZCBhY2NvcmRpbmdseS4g
IElmIHRoZSBzZXQgaXMgZW1wdHksIEFDVElPTiBtdXN0IG5vdCBiZQotIyBtNF9kZWNyLgotbTRf
ZGVmaW5lKFtfbTRfc2V0X3NpemVdLAotW200X2RlZmluZShbX200X3NldF9zaXplKCQxKV0sCi0J
ICAgbTRfaWZkZWYoW19tNF9zZXRfc2l6ZSgkMSldLCBbJDIobTRfaW5kaXIoW19tNF9zZXRfc2l6
ZSgkMSldKSldLAotCQkgICAgWzFdKSldKQotCi0jIG00X3NldF91bmlvbihTRVQxLCBTRVQyKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUHJvZHVjZSBhIExJU1Qgb2YgZG91YmxlIHF1
b3RlZCBlbGVtZW50cyB0aGF0IG9jY3VyIGluIGVpdGhlciBTRVQxCi0jIG9yIFNFVDIsIHdpdGhv
dXQgZHVwbGljYXRlcy4gIE91dHB1dCBhIGNvbW1hIHByaW9yIHRvIGFueSBlbGVtZW50cywKLSMg
dG8gZGlzdGluZ3Vpc2ggdGhlIGVtcHR5IHN0cmluZyBmcm9tIG5vIGVsZW1lbnRzLiAgVGhpcyBj
YW4gYmUKLSMgZGlyZWN0bHkgdXNlZCBhcyBhIHNlcmllcyBvZiBhcmd1bWVudHMsIHN1Y2ggYXMg
Zm9yIG00X2pvaW4sIG9yCi0jIHdyYXBwZWQgaW5zaWRlIHF1b3RlcyBmb3IgdXNlIGluIG00X2Zv
cmVhY2guICBPcmRlciBvZiB0aGUgb3V0cHV0IGlzCi0jIG5vdCBndWFyYW50ZWVkLgotIwotIyBX
ZSBjYW4gcmVseSBvbiB0aGUgZmFjdCB0aGF0IG00X3NldF9saXN0YyBwcnVuZXMgU0VUMSwgc28g
d2UgZG9uJ3QKLSMgbmVlZCB0byBjaGVjayBfbTRfc2V0KFskMV0sZWxlbWVudCkgZm9yIDAuICBT
aG9ydC1jaXJjdWl0IHRoZQotIyBpZGVtcG90ZW5jZSByZWxhdGlvbi4KLW00X2RlZmluZShbbTRf
c2V0X3VuaW9uXSwKLVttNF9zZXRfbGlzdGMoWyQxXSltNF9pZihbJDFdLCBbJDJdLCBbXSwKLSAg
W200X3NldF9tYXBfc2VwKFskMl0sIFtfJDAoWyQxXSxdLCBbKV0pXSldKQotCi1tNF9kZWZpbmUo
W19tNF9zZXRfdW5pb25dLAotW200X2lmZGVmKFtfbTRfc2V0KFskMV0sJDIpXSwgW10sIFssWyQy
XV0pXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyAxNi4gRmlsZSBoYW5kbGlu
Zy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLQotIyBJdCBpcyBhIHJlYWwgcGl0
eSB0aGF0IE00IGNvbWVzIHdpdGggbm8gbWFjcm9zIHRvIGJpbmQgYSBkaXZlcnNpb24KLSMgdG8g
YSBmaWxlLiAgU28gd2UgaGF2ZSB0byBkZWFsIHdpdGhvdXQsIHdoaWNoIG1ha2VzIHVzIGEgbG90
IG1vcmUKLSMgZnJhZ2lsZSB0aGFuIHdlIHNob3VsZC4KLQotCi0jIG00X2ZpbGVfYXBwZW5kKEZJ
TEUtTkFNRSwgQ09OVEVOVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
bTRfZGVmaW5lKFttNF9maWxlX2FwcGVuZF0sCi1bbTRfc3lzY21kKFtjYXQgPj4kMSA8PF9tNGVv
ZgotJDIKLV9tNGVvZgotXSkKLW00X2lmKG00X3N5c3ZhbCwgWzBdLCBbXSwKLSAgICAgIFttNF9m
YXRhbChbJDA6IGNhbm5vdCB3cml0ZTogJDFdKV0pXSkKLQotCi0KLSMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSAjIwotIyMgMTcuIFNldHRpbmcgTTRzdWdhciB1cC4gICMjCi0jIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBfbTRfZGl2ZXJ0X2RpdmVyc2lvbiBzaG91bGQgYmUg
ZGVmaW5lZC4KLW00X2RpdmVydF9wdXNoKFtLSUxMXSkKLQotIyBtNF9pbml0Ci0jIC0tLS0tLS0K
LSMgSW5pdGlhbGl6ZSB0aGUgbTRzdWdhciBsYW5ndWFnZS4KLW00X2RlZmluZShbbTRfaW5pdF0s
Ci1bIyBBbGwgdGhlIE00c3VnYXIgbWFjcm9zIHN0YXJ0IHdpdGggYG00XycsIGV4Y2VwdCBgZG5s
JyBrZXB0IGFzIGlzCi0jIGZvciBzYWtlIG9mIHNpbXBsaWNpdHkuCi1tNF9wYXR0ZXJuX2ZvcmJp
ZChbXl8/bTRfXSkKLW00X3BhdHRlcm5fZm9yYmlkKFteZG5sJF0pCi0KLSMgSWYgX19tNF92ZXJz
aW9uX18gaXMgZGVmaW5lZCwgd2UgYXNzdW1lIHRoYXQgd2UgYXJlIGJlaW5nIHJ1biBieSBNNAot
IyAxLjYgb3IgbmV3ZXIsIHRodXMgJEAgcmVjdXJzaW9uIGlzIGxpbmVhciwgYW5kIGRlYnVnbW9k
ZSgrZG8pCi0jIGlzIGF2YWlsYWJsZSBmb3IgZmFzdGVyIGNoZWNrcyBvZiBkZXJlZmVyZW5jaW5n
IHVuZGVmaW5lZCBtYWNyb3MKLSMgYW5kIGZvcmNpbmcgZHVtcGRlZiB0byBwcmludCB0byBzdGRl
cnIgcmVnYXJkbGVzcyBvZiBkZWJ1Z2ZpbGUuCi0jIEJ1dCBpZiBpdCBpcyBtaXNzaW5nLCB3ZSBh
c3N1bWUgd2UgYXJlIGJlaW5nIHJ1biBieSBNNCAxLjQueCwgdGhhdAotIyAkQCByZWN1cnNpb24g
aXMgcXVhZHJhdGljLCBhbmQgdGhhdCB3ZSBuZWVkIGZvcmVhY2gtYmFzZWQKLSMgcmVwbGFjZW1l
bnQgbWFjcm9zLiAgQWxzbywgbTQgcHJpb3IgdG8gMS40LjggbG9zZXMgdHJhY2sgb2YgbG9jYXRp
b24KLSMgZHVyaW5nIG00d3JhcCB0ZXh0OyBfX2xpbmVfXyBzaG91bGQgbmV2ZXIgYmUgMC4KLSMK
LSMgVXNlIHRoZSByYXcgYnVpbHRpbiB0byBhdm9pZCB0cmlwcGluZyB1cCBpbmNsdWRlIHRyYWNp
bmcuCi0jIE1lYW53aGlsZSwgYXZvaWQgbTRfY29weSwgc2luY2UgaXQgdGVtcG9yYXJpbHkgdW5k
ZWZpbmVzIG00X2RlZm4uCi1tNF9pZmRlZihbX19tNF92ZXJzaW9uX19dLAotW200X2RlYnVnbW9k
ZShbK2RvXSkKLW00X2RlZmluZShbbTRfZGVmbl0sIF9tNF9kZWZuKFtfbTRfZGVmbl0pKQotbTRf
ZGVmaW5lKFttNF9kdW1wZGVmXSwgX200X2RlZm4oW19tNF9kdW1wZGVmXSkpCi1tNF9kZWZpbmUo
W200X3BvcGRlZl0sIF9tNF9kZWZuKFtfbTRfcG9wZGVmXSkpCi1tNF9kZWZpbmUoW200X3VuZGVm
aW5lXSwgX200X2RlZm4oW19tNF91bmRlZmluZV0pKV0sCi1bbTRfYnVpbHRpbihbaW5jbHVkZV0s
IFttNHN1Z2FyL2ZvcmVhY2gubTRdKQotbTRfd3JhcF9saWZvKFttNF9pZihfX2xpbmVfXywgWzBd
LCBbbTRfcHVzaGRlZihbbTRfbG9jYXRpb25dLAotXV1tNF9kcXVvdGUobTRfZHF1b3RlKG00X2Rx
dW90ZShfX2ZpbGVfXzpfX2xpbmVfXykpKVtbKV0pXSldKQotCi0jIFJld3JpdGUgdGhlIGZpcnN0
IGVudHJ5IG9mIHRoZSBkaXZlcnNpb24gc3RhY2suCi1tNF9kaXZlcnQoW0tJTExdKQotCi0jIENo
ZWNrIHRoZSBkaXZlcnQgcHVzaC9wb3AgcGVyZmVjdCBiYWxhbmNlLgotIyBTb21lIHVzZXJzIGFy
ZSBwcm9uZSB0byBhbHNvIHVzZSBtNF93cmFwIHRvIHJlZ2lzdGVyIGxhc3QtbWludXRlCi0jIG00
X2RpdmVydF90ZXh0OyBzbyBhZnRlciBvdXIgZGl2ZXJzaW9uIGNsZWFudXBzLCB3ZSByZXN0b3Jl
Ci0jIEtJTEwgYXMgdGhlIGJvdHRvbSBvZiB0aGUgZGl2ZXJzaW9uIHN0YWNrLgotbTRfd3JhcChb
bTRfcG9wZGVmKFtfbTRfZGl2ZXJ0X2RpdmVyc2lvbl0pbTRfaWZkZWYoCi0gIFtfbTRfZGl2ZXJ0
X2RpdmVyc2lvbl0sIFttNF9mYXRhbChbJDA6IHVuYmFsYW5jZWQgbTRfZGl2ZXJ0X3B1c2g6Ci1d
bTRfZGl2ZXJ0X3N0YWNrKV0pX200X3BvcGRlZihbX200X2RpdmVydF9zdGFja10pbTRfZGl2ZXJ0
X3B1c2goW0tJTExdKV0pCi1dKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
dG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvTElDRU5TRSBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL0xJ
Q0VOU0UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0YTllZDAyNGQzODU5NzkzNjE4
MTUyZWE1NTlhMTY4YmJjYmI1ZTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGly
ZF9wYXJ0eS9za2VsZXRvbnMvTElDRU5TRQorKysgL2Rldi9udWxsCkBAIC0xLDY3NCArMCwwIEBA
Ci0gICAgICAgICAgICAgICAgICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCi0gICAgICAg
ICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3Ci0KLSBDb3B5cmlnaHQgKEMp
IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIDxodHRwOi8vZnNmLm9yZy8+Ci0g
RXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29w
aWVzCi0gb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFs
bG93ZWQuCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQotCi0gIFRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBhIGZyZWUsIGNvcHlsZWZ0IGxpY2Vuc2UgZm9y
Ci1zb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCi0KLSAgVGhlIGxpY2Vuc2VzIGZv
ciBtb3N0IHNvZnR3YXJlIGFuZCBvdGhlciBwcmFjdGljYWwgd29ya3MgYXJlIGRlc2lnbmVkCi10
byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAg
QnkgY29udHJhc3QsCi10aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgaW50ZW5kZWQg
dG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0bwotc2hhcmUgYW5kIGNoYW5nZSBhbGwgdmVyc2lv
bnMgb2YgYSBwcm9ncmFtLS10byBtYWtlIHN1cmUgaXQgcmVtYWlucyBmcmVlCi1zb2Z0d2FyZSBm
b3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2Ug
dGhlCi1HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9zdCBvZiBvdXIgc29mdHdhcmU7
IGl0IGFwcGxpZXMgYWxzbyB0bwotYW55IG90aGVyIHdvcmsgcmVsZWFzZWQgdGhpcyB3YXkgYnkg
aXRzIGF1dGhvcnMuICBZb3UgY2FuIGFwcGx5IGl0IHRvCi15b3VyIHByb2dyYW1zLCB0b28uCi0K
LSAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZy
ZWVkb20sIG5vdAotcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2ln
bmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQotaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRl
IGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgotdGhlbSBpZiB5b3Ugd2lz
aCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdCBpZiB5b3UKLXdh
bnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2Yg
aXQgaW4gbmV3Ci1mcmVlIHByb2dyYW1zLCBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRo
ZXNlIHRoaW5ncy4KLQotICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZl
bnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKLXRoZXNlIHJpZ2h0cyBvciBhc2tpbmcgeW91IHRv
IHN1cnJlbmRlciB0aGUgcmlnaHRzLiAgVGhlcmVmb3JlLCB5b3UgaGF2ZQotY2VydGFpbiByZXNw
b25zaWJpbGl0aWVzIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9y
IGlmCi15b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVk
b20gb2Ygb3RoZXJzLgotCi0gIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMg
b2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKLWdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0
IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKLWZyZWVkb21zIHRoYXQgeW91IHJl
Y2VpdmVkLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlCi1vciBj
YW4gZ2V0IHRoZSBzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVy
bXMgc28gdGhleQota25vdyB0aGVpciByaWdodHMuCi0KLSAgRGV2ZWxvcGVycyB0aGF0IHVzZSB0
aGUgR05VIEdQTCBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOgotKDEpIGFzc2Vy
dCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vu
c2UKLWdpdmluZyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9v
ciBtb2RpZnkgaXQuCi0KLSAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVj
dGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCi10aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5
IGZvciB0aGlzIGZyZWUgc29mdHdhcmUuICBGb3IgYm90aCB1c2VycycgYW5kCi1hdXRob3JzJyBz
YWtlLCB0aGUgR1BMIHJlcXVpcmVzIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgYmUgbWFya2VkIGFz
Ci1jaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQg
ZXJyb25lb3VzbHkgdG8KLWF1dGhvcnMgb2YgcHJldmlvdXMgdmVyc2lvbnMuCi0KLSAgU29tZSBk
ZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1
bgotbW9kaWZpZWQgdmVyc2lvbnMgb2YgdGhlIHNvZnR3YXJlIGluc2lkZSB0aGVtLCBhbHRob3Vn
aCB0aGUgbWFudWZhY3R1cmVyCi1jYW4gZG8gc28uICBUaGlzIGlzIGZ1bmRhbWVudGFsbHkgaW5j
b21wYXRpYmxlIHdpdGggdGhlIGFpbSBvZgotcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBj
aGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKLXBhdHRlcm4gb2Ygc3VjaCBhYnVz
ZSBvY2N1cnMgaW4gdGhlIGFyZWEgb2YgcHJvZHVjdHMgZm9yIGluZGl2aWR1YWxzIHRvCi11c2Us
IHdoaWNoIGlzIHByZWNpc2VseSB3aGVyZSBpdCBpcyBtb3N0IHVuYWNjZXB0YWJsZS4gIFRoZXJl
Zm9yZSwgd2UKLWhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGli
aXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQotcHJvZHVjdHMuICBJZiBzdWNoIHByb2JsZW1zIGFy
aXNlIHN1YnN0YW50aWFsbHkgaW4gb3RoZXIgZG9tYWlucywgd2UKLXN0YW5kIHJlYWR5IHRvIGV4
dGVuZCB0aGlzIHByb3Zpc2lvbiB0byB0aG9zZSBkb21haW5zIGluIGZ1dHVyZSB2ZXJzaW9ucwot
b2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCi0K
LSAgRmluYWxseSwgZXZlcnkgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50bHkgYnkgc29m
dHdhcmUgcGF0ZW50cy4KLVN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJp
Y3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgotc29mdHdhcmUgb24gZ2VuZXJhbC1wdXJwb3NlIGNv
bXB1dGVycywgYnV0IGluIHRob3NlIHRoYXQgZG8sIHdlIHdpc2ggdG8KLWF2b2lkIHRoZSBzcGVj
aWFsIGRhbmdlciB0aGF0IHBhdGVudHMgYXBwbGllZCB0byBhIGZyZWUgcHJvZ3JhbSBjb3VsZAot
bWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQ
TCBhc3N1cmVzIHRoYXQKLXBhdGVudHMgY2Fubm90IGJlIHVzZWQgdG8gcmVuZGVyIHRoZSBwcm9n
cmFtIG5vbi1mcmVlLgotCi0gIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBj
b3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCi1tb2RpZmljYXRpb24gZm9sbG93LgotCi0gICAgICAg
ICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCi0KLSAgMC4gRGVmaW5pdGlvbnMu
Ci0KLSAgIlRoaXMgTGljZW5zZSIgcmVmZXJzIHRvIHZlcnNpb24gMyBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UuCi0KLSAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQt
bGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKLXdvcmtzLCBzdWNoIGFzIHNl
bWljb25kdWN0b3IgbWFza3MuCi0KLSAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHly
aWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCi1MaWNlbnNlLiAgRWFjaCBsaWNlbnNl
ZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuICAiTGljZW5zZWVzIiBhbmQKLSJyZWNpcGllbnRzIiBt
YXkgYmUgaW5kaXZpZHVhbHMgb3Igb3JnYW5pemF0aW9ucy4KLQotICBUbyAibW9kaWZ5IiBhIHdv
cmsgbWVhbnMgdG8gY29weSBmcm9tIG9yIGFkYXB0IGFsbCBvciBwYXJ0IG9mIHRoZSB3b3JrCi1p
biBhIGZhc2hpb24gcmVxdWlyaW5nIGNvcHlyaWdodCBwZXJtaXNzaW9uLCBvdGhlciB0aGFuIHRo
ZSBtYWtpbmcgb2YgYW4KLWV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVk
IGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQotZWFybGllciB3b3JrIG9yIGEgd29yayAiYmFz
ZWQgb24iIHRoZSBlYXJsaWVyIHdvcmsuCi0KLSAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRo
ZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKLW9uIHRoZSBQcm9ncmFt
LgotCi0gIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0
IHRoYXQsIHdpdGhvdXQKLXBlcm1pc3Npb24sIHdvdWxkIG1ha2UgeW91IGRpcmVjdGx5IG9yIHNl
Y29uZGFyaWx5IGxpYWJsZSBmb3IKLWluZnJpbmdlbWVudCB1bmRlciBhcHBsaWNhYmxlIGNvcHly
aWdodCBsYXcsIGV4Y2VwdCBleGVjdXRpbmcgaXQgb24gYQotY29tcHV0ZXIgb3IgbW9kaWZ5aW5n
IGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKLWRpc3RyaWJ1
dGlvbiAod2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiksIG1ha2luZyBhdmFpbGFibGUgdG8g
dGhlCi1wdWJsaWMsIGFuZCBpbiBzb21lIGNvdW50cmllcyBvdGhlciBhY3Rpdml0aWVzIGFzIHdl
bGwuCi0KLSAgVG8gImNvbnZleSIgYSB3b3JrIG1lYW5zIGFueSBraW5kIG9mIHByb3BhZ2F0aW9u
IHRoYXQgZW5hYmxlcyBvdGhlcgotcGFydGllcyB0byBtYWtlIG9yIHJlY2VpdmUgY29waWVzLiAg
TWVyZSBpbnRlcmFjdGlvbiB3aXRoIGEgdXNlciB0aHJvdWdoCi1hIGNvbXB1dGVyIG5ldHdvcmss
IHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgotCi0gIEFuIGlu
dGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlIGRpc3BsYXlzICJBcHByb3ByaWF0ZSBMZWdhbCBOb3Rp
Y2VzIgotdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJv
bWluZW50bHkgdmlzaWJsZQotZmVhdHVyZSB0aGF0ICgxKSBkaXNwbGF5cyBhbiBhcHByb3ByaWF0
ZSBjb3B5cmlnaHQgbm90aWNlLCBhbmQgKDIpCi10ZWxscyB0aGUgdXNlciB0aGF0IHRoZXJlIGlz
IG5vIHdhcnJhbnR5IGZvciB0aGUgd29yayAoZXhjZXB0IHRvIHRoZQotZXh0ZW50IHRoYXQgd2Fy
cmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQotd29y
ayB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZCBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcyBMaWNl
bnNlLiAgSWYKLXRoZSBpbnRlcmZhY2UgcHJlc2VudHMgYSBsaXN0IG9mIHVzZXIgY29tbWFuZHMg
b3Igb3B0aW9ucywgc3VjaCBhcyBhCi1tZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0
IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgotCi0gIDEuIFNvdXJjZSBDb2RlLgotCi0gIFRoZSAic291
cmNlIGNvZGUiIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3Jr
Ci1mb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICAiT2JqZWN0IGNvZGUiIG1lYW5zIGFu
eSBub24tc291cmNlCi1mb3JtIG9mIGEgd29yay4KLQotICBBICJTdGFuZGFyZCBJbnRlcmZhY2Ui
IG1lYW5zIGFuIGludGVyZmFjZSB0aGF0IGVpdGhlciBpcyBhbiBvZmZpY2lhbAotc3RhbmRhcmQg
ZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBv
ZgotaW50ZXJmYWNlcyBzcGVjaWZpZWQgZm9yIGEgcGFydGljdWxhciBwcm9ncmFtbWluZyBsYW5n
dWFnZSwgb25lIHRoYXQKLWlzIHdpZGVseSB1c2VkIGFtb25nIGRldmVsb3BlcnMgd29ya2luZyBp
biB0aGF0IGxhbmd1YWdlLgotCi0gIFRoZSAiU3lzdGVtIExpYnJhcmllcyIgb2YgYW4gZXhlY3V0
YWJsZSB3b3JrIGluY2x1ZGUgYW55dGhpbmcsIG90aGVyCi10aGFuIHRoZSB3b3JrIGFzIGEgd2hv
bGUsIHRoYXQgKGEpIGlzIGluY2x1ZGVkIGluIHRoZSBub3JtYWwgZm9ybSBvZgotcGFja2FnaW5n
IGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgot
Q29tcG9uZW50LCBhbmQgKGIpIHNlcnZlcyBvbmx5IHRvIGVuYWJsZSB1c2Ugb2YgdGhlIHdvcmsg
d2l0aCB0aGF0Ci1NYWpvciBDb21wb25lbnQsIG9yIHRvIGltcGxlbWVudCBhIFN0YW5kYXJkIElu
dGVyZmFjZSBmb3Igd2hpY2ggYW4KLWltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUg
cHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCi0iTWFqb3IgQ29tcG9uZW50IiwgaW4gdGhp
cyBjb250ZXh0LCBtZWFucyBhIG1ham9yIGVzc2VudGlhbCBjb21wb25lbnQKLShrZXJuZWwsIHdp
bmRvdyBzeXN0ZW0sIGFuZCBzbyBvbikgb2YgdGhlIHNwZWNpZmljIG9wZXJhdGluZyBzeXN0ZW0K
LShpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxl
ciB1c2VkIHRvCi1wcm9kdWNlIHRoZSB3b3JrLCBvciBhbiBvYmplY3QgY29kZSBpbnRlcnByZXRl
ciB1c2VkIHRvIHJ1biBpdC4KLQotICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3
b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCi10aGUgc291cmNlIGNvZGUgbmVlZGVk
IHRvIGdlbmVyYXRlLCBpbnN0YWxsLCBhbmQgKGZvciBhbiBleGVjdXRhYmxlCi13b3JrKSBydW4g
dGhlIG9iamVjdCBjb2RlIGFuZCB0byBtb2RpZnkgdGhlIHdvcmssIGluY2x1ZGluZyBzY3JpcHRz
IHRvCi1jb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNs
dWRlIHRoZSB3b3JrJ3MKLVN5c3RlbSBMaWJyYXJpZXMsIG9yIGdlbmVyYWwtcHVycG9zZSB0b29s
cyBvciBnZW5lcmFsbHkgYXZhaWxhYmxlIGZyZWUKLXByb2dyYW1zIHdoaWNoIGFyZSB1c2VkIHVu
bW9kaWZpZWQgaW4gcGVyZm9ybWluZyB0aG9zZSBhY3Rpdml0aWVzIGJ1dAotd2hpY2ggYXJlIG5v
dCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCi1p
bmNsdWRlcyBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcyBhc3NvY2lhdGVkIHdpdGggc291cmNl
IGZpbGVzIGZvcgotdGhlIHdvcmssIGFuZCB0aGUgc291cmNlIGNvZGUgZm9yIHNoYXJlZCBsaWJy
YXJpZXMgYW5kIGR5bmFtaWNhbGx5Ci1saW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBp
cyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKLXN1Y2ggYXMgYnkgaW50aW1hdGUg
ZGF0YSBjb21tdW5pY2F0aW9uIG9yIGNvbnRyb2wgZmxvdyBiZXR3ZWVuIHRob3NlCi1zdWJwcm9n
cmFtcyBhbmQgb3RoZXIgcGFydHMgb2YgdGhlIHdvcmsuCi0KLSAgVGhlIENvcnJlc3BvbmRpbmcg
U291cmNlIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCB1c2VycwotY2FuIHJlZ2VuZXJh
dGUgYXV0b21hdGljYWxseSBmcm9tIG90aGVyIHBhcnRzIG9mIHRoZSBDb3JyZXNwb25kaW5nCi1T
b3VyY2UuCi0KLSAgVGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhIHdvcmsgaW4gc291cmNl
IGNvZGUgZm9ybSBpcyB0aGF0Ci1zYW1lIHdvcmsuCi0KLSAgMi4gQmFzaWMgUGVybWlzc2lvbnMu
Ci0KLSAgQWxsIHJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSBhcmUgZ3JhbnRlZCBm
b3IgdGhlIHRlcm0gb2YKLWNvcHlyaWdodCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGFyZSBpcnJldm9j
YWJsZSBwcm92aWRlZCB0aGUgc3RhdGVkCi1jb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vu
c2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCi1wZXJtaXNzaW9uIHRvIHJ1biB0
aGUgdW5tb2RpZmllZCBQcm9ncmFtLiAgVGhlIG91dHB1dCBmcm9tIHJ1bm5pbmcgYQotY292ZXJl
ZCB3b3JrIGlzIGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlIG9ubHkgaWYgdGhlIG91dHB1dCwgZ2l2
ZW4gaXRzCi1jb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5z
ZSBhY2tub3dsZWRnZXMgeW91cgotcmlnaHRzIG9mIGZhaXIgdXNlIG9yIG90aGVyIGVxdWl2YWxl
bnQsIGFzIHByb3ZpZGVkIGJ5IGNvcHlyaWdodCBsYXcuCi0KLSAgWW91IG1heSBtYWtlLCBydW4g
YW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdAotY29udmV5LCB3aXRo
b3V0IGNvbmRpdGlvbnMgc28gbG9uZyBhcyB5b3VyIGxpY2Vuc2Ugb3RoZXJ3aXNlIHJlbWFpbnMK
LWluIGZvcmNlLiAgWW91IG1heSBjb252ZXkgY292ZXJlZCB3b3JrcyB0byBvdGhlcnMgZm9yIHRo
ZSBzb2xlIHB1cnBvc2UKLW9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNp
dmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQotd2l0aCBmYWNpbGl0aWVzIGZvciBydW5uaW5n
IHRob3NlIHdvcmtzLCBwcm92aWRlZCB0aGF0IHlvdSBjb21wbHkgd2l0aAotdGhlIHRlcm1zIG9m
IHRoaXMgTGljZW5zZSBpbiBjb252ZXlpbmcgYWxsIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8K
LW5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhl
IGNvdmVyZWQgd29ya3MKLWZvciB5b3UgbXVzdCBkbyBzbyBleGNsdXNpdmVseSBvbiB5b3VyIGJl
aGFsZiwgdW5kZXIgeW91ciBkaXJlY3Rpb24KLWFuZCBjb250cm9sLCBvbiB0ZXJtcyB0aGF0IHBy
b2hpYml0IHRoZW0gZnJvbSBtYWtpbmcgYW55IGNvcGllcyBvZgoteW91ciBjb3B5cmlnaHRlZCBt
YXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KLQotICBDb252ZXlp
bmcgdW5kZXIgYW55IG90aGVyIGNpcmN1bXN0YW5jZXMgaXMgcGVybWl0dGVkIHNvbGVseSB1bmRl
cgotdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxv
d2VkOyBzZWN0aW9uIDEwCi1tYWtlcyBpdCB1bm5lY2Vzc2FyeS4KLQotICAzLiBQcm90ZWN0aW5n
IFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgotCi0gIE5v
IGNvdmVyZWQgd29yayBzaGFsbCBiZSBkZWVtZWQgcGFydCBvZiBhbiBlZmZlY3RpdmUgdGVjaG5v
bG9naWNhbAotbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxp
Z2F0aW9ucyB1bmRlciBhcnRpY2xlCi0xMSBvZiB0aGUgV0lQTyBjb3B5cmlnaHQgdHJlYXR5IGFk
b3B0ZWQgb24gMjAgRGVjZW1iZXIgMTk5Niwgb3IKLXNpbWlsYXIgbGF3cyBwcm9oaWJpdGluZyBv
ciByZXN0cmljdGluZyBjaXJjdW12ZW50aW9uIG9mIHN1Y2gKLW1lYXN1cmVzLgotCi0gIFdoZW4g
eW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgeW91IHdhaXZlIGFueSBsZWdhbCBwb3dlciB0byBm
b3JiaWQKLWNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0
ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgotaXMgZWZmZWN0ZWQgYnkgZXhlcmNpc2luZyByaWdodHMg
dW5kZXIgdGhpcyBMaWNlbnNlIHdpdGggcmVzcGVjdCB0bwotdGhlIGNvdmVyZWQgd29yaywgYW5k
IHlvdSBkaXNjbGFpbSBhbnkgaW50ZW50aW9uIHRvIGxpbWl0IG9wZXJhdGlvbiBvcgotbW9kaWZp
Y2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3
b3JrJ3MKLXVzZXJzLCB5b3VyIG9yIHRoaXJkIHBhcnRpZXMnIGxlZ2FsIHJpZ2h0cyB0byBmb3Ji
aWQgY2lyY3VtdmVudGlvbiBvZgotdGVjaG5vbG9naWNhbCBtZWFzdXJlcy4KLQotICA0LiBDb252
ZXlpbmcgVmVyYmF0aW0gQ29waWVzLgotCi0gIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGll
cyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQotcmVjZWl2ZSBpdCwgaW4gYW55
IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UgY29uc3BpY3VvdXNseSBhbmQKLWFwcHJvcHJpYXRl
bHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZTsK
LWtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFu
eQotbm9uLXBlcm1pc3NpdmUgdGVybXMgYWRkZWQgaW4gYWNjb3JkIHdpdGggc2VjdGlvbiA3IGFw
cGx5IHRvIHRoZSBjb2RlOwota2VlcCBpbnRhY3QgYWxsIG5vdGljZXMgb2YgdGhlIGFic2VuY2Ug
b2YgYW55IHdhcnJhbnR5OyBhbmQgZ2l2ZSBhbGwKLXJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMg
TGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgotCi0gIFlvdSBtYXkgY2hhcmdlIGFueSBw
cmljZSBvciBubyBwcmljZSBmb3IgZWFjaCBjb3B5IHRoYXQgeW91IGNvbnZleSwKLWFuZCB5b3Ug
bWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCi0KLSAg
NS4gQ29udmV5aW5nIE1vZGlmaWVkIFNvdXJjZSBWZXJzaW9ucy4KLQotICBZb3UgbWF5IGNvbnZl
eSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIG9yIHRoZSBtb2RpZmljYXRpb25zIHRvCi1w
cm9kdWNlIGl0IGZyb20gdGhlIFByb2dyYW0sIGluIHRoZSBmb3JtIG9mIHNvdXJjZSBjb2RlIHVu
ZGVyIHRoZQotdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQg
YWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6Ci0KLSAgICBhKSBUaGUgd29yayBtdXN0IGNhcnJ5IHBy
b21pbmVudCBub3RpY2VzIHN0YXRpbmcgdGhhdCB5b3UgbW9kaWZpZWQKLSAgICBpdCwgYW5kIGdp
dmluZyBhIHJlbGV2YW50IGRhdGUuCi0KLSAgICBiKSBUaGUgd29yayBtdXN0IGNhcnJ5IHByb21p
bmVudCBub3RpY2VzIHN0YXRpbmcgdGhhdCBpdCBpcwotICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMg
TGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgotICAgIDcuICBU
aGlzIHJlcXVpcmVtZW50IG1vZGlmaWVzIHRoZSByZXF1aXJlbWVudCBpbiBzZWN0aW9uIDQgdG8K
LSAgICAia2VlcCBpbnRhY3QgYWxsIG5vdGljZXMiLgotCi0gICAgYykgWW91IG11c3QgbGljZW5z
ZSB0aGUgZW50aXJlIHdvcmssIGFzIGEgd2hvbGUsIHVuZGVyIHRoaXMKLSAgICBMaWNlbnNlIHRv
IGFueW9uZSB3aG8gY29tZXMgaW50byBwb3NzZXNzaW9uIG9mIGEgY29weS4gIFRoaXMKLSAgICBM
aWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNl
Y3Rpb24gNwotICAgIGFkZGl0aW9uYWwgdGVybXMsIHRvIHRoZSB3aG9sZSBvZiB0aGUgd29yaywg
YW5kIGFsbCBpdHMgcGFydHMsCi0gICAgcmVnYXJkbGVzcyBvZiBob3cgdGhleSBhcmUgcGFja2Fn
ZWQuICBUaGlzIExpY2Vuc2UgZ2l2ZXMgbm8KLSAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhl
IHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90Ci0gICAgaW52YWxpZGF0ZSBz
dWNoIHBlcm1pc3Npb24gaWYgeW91IGhhdmUgc2VwYXJhdGVseSByZWNlaXZlZCBpdC4KLQotICAg
IGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVz
dCBkaXNwbGF5Ci0gICAgQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlczsgaG93ZXZlciwgaWYgdGhl
IFByb2dyYW0gaGFzIGludGVyYWN0aXZlCi0gICAgaW50ZXJmYWNlcyB0aGF0IGRvIG5vdCBkaXNw
bGF5IEFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXMsIHlvdXIKLSAgICB3b3JrIG5lZWQgbm90IG1h
a2UgdGhlbSBkbyBzby4KLQotICBBIGNvbXBpbGF0aW9uIG9mIGEgY292ZXJlZCB3b3JrIHdpdGgg
b3RoZXIgc2VwYXJhdGUgYW5kIGluZGVwZW5kZW50Ci13b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0
aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAotYW5kIHdoaWNoIGFy
ZSBub3QgY29tYmluZWQgd2l0aCBpdCBzdWNoIGFzIHRvIGZvcm0gYSBsYXJnZXIgcHJvZ3JhbSwK
LWluIG9yIG9uIGEgdm9sdW1lIG9mIGEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtLCBp
cyBjYWxsZWQgYW4KLSJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3Vs
dGluZyBjb3B5cmlnaHQgYXJlIG5vdAotdXNlZCB0byBsaW1pdCB0aGUgYWNjZXNzIG9yIGxlZ2Fs
IHJpZ2h0cyBvZiB0aGUgY29tcGlsYXRpb24ncyB1c2VycwotYmV5b25kIHdoYXQgdGhlIGluZGl2
aWR1YWwgd29ya3MgcGVybWl0LiAgSW5jbHVzaW9uIG9mIGEgY292ZXJlZCB3b3JrCi1pbiBhbiBh
Z2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhl
cgotcGFydHMgb2YgdGhlIGFnZ3JlZ2F0ZS4KLQotICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBG
b3Jtcy4KLQotICBZb3UgbWF5IGNvbnZleSBhIGNvdmVyZWQgd29yayBpbiBvYmplY3QgY29kZSBm
b3JtIHVuZGVyIHRoZSB0ZXJtcwotb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5
b3UgYWxzbyBjb252ZXkgdGhlCi1tYWNoaW5lLXJlYWRhYmxlIENvcnJlc3BvbmRpbmcgU291cmNl
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsCi1pbiBvbmUgb2YgdGhlc2Ugd2F5czoK
LQotICAgIGEpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBo
eXNpY2FsIHByb2R1Y3QKLSAgICAoaW5jbHVkaW5nIGEgcGh5c2ljYWwgZGlzdHJpYnV0aW9uIG1l
ZGl1bSksIGFjY29tcGFuaWVkIGJ5IHRoZQotICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVk
IG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KLSAgICBjdXN0b21hcmlseSB1c2VkIGZvciBz
b2Z0d2FyZSBpbnRlcmNoYW5nZS4KLQotICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4s
IG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKLSAgICAoaW5jbHVkaW5nIGEgcGh5
c2ljYWwgZGlzdHJpYnV0aW9uIG1lZGl1bSksIGFjY29tcGFuaWVkIGJ5IGEKLSAgICB3cml0dGVu
IG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUgeWVhcnMgYW5kIHZhbGlkIGZvciBhcwot
ICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9y
IHRoYXQgcHJvZHVjdAotICAgIG1vZGVsLCB0byBnaXZlIGFueW9uZSB3aG8gcG9zc2Vzc2VzIHRo
ZSBvYmplY3QgY29kZSBlaXRoZXIgKDEpIGEKLSAgICBjb3B5IG9mIHRoZSBDb3JyZXNwb25kaW5n
IFNvdXJjZSBmb3IgYWxsIHRoZSBzb2Z0d2FyZSBpbiB0aGUKLSAgICBwcm9kdWN0IHRoYXQgaXMg
Y292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAotICAgIG1lZGl1
bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZSwgZm9yIGEgcHJpY2Ug
bm8KLSAgICBtb3JlIHRoYW4geW91ciByZWFzb25hYmxlIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJm
b3JtaW5nIHRoaXMKLSAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNv
cHkgdGhlCi0gICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgZnJvbSBhIG5ldHdvcmsgc2VydmVyIGF0
IG5vIGNoYXJnZS4KLQotICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2Jq
ZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCi0gICAgd3JpdHRlbiBvZmZlciB0byBwcm92aWRl
IHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4gIFRoaXMKLSAgICBhbHRlcm5hdGl2ZSBpcyBhbGxv
d2VkIG9ubHkgb2NjYXNpb25hbGx5IGFuZCBub25jb21tZXJjaWFsbHksIGFuZAotICAgIG9ubHkg
aWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFj
Y29yZAotICAgIHdpdGggc3Vic2VjdGlvbiA2Yi4KLQotICAgIGQpIENvbnZleSB0aGUgb2JqZWN0
IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCi0gICAgcGxhY2UgKGdy
YXRpcyBvciBmb3IgYSBjaGFyZ2UpLCBhbmQgb2ZmZXIgZXF1aXZhbGVudCBhY2Nlc3MgdG8gdGhl
Ci0gICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgaW4gdGhlIHNhbWUgd2F5IHRocm91Z2ggdGhlIHNh
bWUgcGxhY2UgYXQgbm8KLSAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJl
IHJlY2lwaWVudHMgdG8gY29weSB0aGUKLSAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBhbG9uZyB3
aXRoIHRoZSBvYmplY3QgY29kZS4gIElmIHRoZSBwbGFjZSB0bwotICAgIGNvcHkgdGhlIG9iamVj
dCBjb2RlIGlzIGEgbmV0d29yayBzZXJ2ZXIsIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZQotICAg
IG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJk
IHBhcnR5KQotICAgIHRoYXQgc3VwcG9ydHMgZXF1aXZhbGVudCBjb3B5aW5nIGZhY2lsaXRpZXMs
IHByb3ZpZGVkIHlvdSBtYWludGFpbgotICAgIGNsZWFyIGRpcmVjdGlvbnMgbmV4dCB0byB0aGUg
b2JqZWN0IGNvZGUgc2F5aW5nIHdoZXJlIHRvIGZpbmQgdGhlCi0gICAgQ29ycmVzcG9uZGluZyBT
b3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQotICAgIENvcnJlc3Bv
bmRpbmcgU291cmNlLCB5b3UgcmVtYWluIG9ibGlnYXRlZCB0byBlbnN1cmUgdGhhdCBpdCBpcwot
ICAgIGF2YWlsYWJsZSBmb3IgYXMgbG9uZyBhcyBuZWVkZWQgdG8gc2F0aXNmeSB0aGVzZSByZXF1
aXJlbWVudHMuCi0KLSAgICBlKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIHVzaW5nIHBlZXItdG8t
cGVlciB0cmFuc21pc3Npb24sIHByb3ZpZGVkCi0gICAgeW91IGluZm9ybSBvdGhlciBwZWVycyB3
aGVyZSB0aGUgb2JqZWN0IGNvZGUgYW5kIENvcnJlc3BvbmRpbmcKLSAgICBTb3VyY2Ugb2YgdGhl
IHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCi0gICAg
Y2hhcmdlIHVuZGVyIHN1YnNlY3Rpb24gNmQuCi0KLSAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0
aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCi1mcm9tIHRoZSBD
b3JyZXNwb25kaW5nIFNvdXJjZSBhcyBhIFN5c3RlbSBMaWJyYXJ5LCBuZWVkIG5vdCBiZQotaW5j
bHVkZWQgaW4gY29udmV5aW5nIHRoZSBvYmplY3QgY29kZSB3b3JrLgotCi0gIEEgIlVzZXIgUHJv
ZHVjdCIgaXMgZWl0aGVyICgxKSBhICJjb25zdW1lciBwcm9kdWN0Iiwgd2hpY2ggbWVhbnMgYW55
Ci10YW5naWJsZSBwZXJzb25hbCBwcm9wZXJ0eSB3aGljaCBpcyBub3JtYWxseSB1c2VkIGZvciBw
ZXJzb25hbCwgZmFtaWx5LAotb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcg
ZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgotaW50byBhIGR3ZWxsaW5nLiAgSW4g
ZGV0ZXJtaW5pbmcgd2hldGhlciBhIHByb2R1Y3QgaXMgYSBjb25zdW1lciBwcm9kdWN0LAotZG91
YnRmdWwgY2FzZXMgc2hhbGwgYmUgcmVzb2x2ZWQgaW4gZmF2b3Igb2YgY292ZXJhZ2UuICBGb3Ig
YSBwYXJ0aWN1bGFyCi1wcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9y
bWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKLXR5cGljYWwgb3IgY29tbW9uIHVzZSBvZiB0aGF0IGNs
YXNzIG9mIHByb2R1Y3QsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YXR1cwotb2YgdGhlIHBhcnRpY3Vs
YXIgdXNlciBvciBvZiB0aGUgd2F5IGluIHdoaWNoIHRoZSBwYXJ0aWN1bGFyIHVzZXIKLWFjdHVh
bGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4g
IEEgcHJvZHVjdAotaXMgYSBjb25zdW1lciBwcm9kdWN0IHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0
aGUgcHJvZHVjdCBoYXMgc3Vic3RhbnRpYWwKLWNvbW1lcmNpYWwsIGluZHVzdHJpYWwgb3Igbm9u
LWNvbnN1bWVyIHVzZXMsIHVubGVzcyBzdWNoIHVzZXMgcmVwcmVzZW50Ci10aGUgb25seSBzaWdu
aWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KLQotICAiSW5zdGFsbGF0aW9uIElu
Zm9ybWF0aW9uIiBmb3IgYSBVc2VyIFByb2R1Y3QgbWVhbnMgYW55IG1ldGhvZHMsCi1wcm9jZWR1
cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRv
IGluc3RhbGwKLWFuZCBleGVjdXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIGEgY292ZXJlZCB3b3Jr
IGluIHRoYXQgVXNlciBQcm9kdWN0IGZyb20KLWEgbW9kaWZpZWQgdmVyc2lvbiBvZiBpdHMgQ29y
cmVzcG9uZGluZyBTb3VyY2UuICBUaGUgaW5mb3JtYXRpb24gbXVzdAotc3VmZmljZSB0byBlbnN1
cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QK
LWNvZGUgaXMgaW4gbm8gY2FzZSBwcmV2ZW50ZWQgb3IgaW50ZXJmZXJlZCB3aXRoIHNvbGVseSBi
ZWNhdXNlCi1tb2RpZmljYXRpb24gaGFzIGJlZW4gbWFkZS4KLQotICBJZiB5b3UgY29udmV5IGFu
IG9iamVjdCBjb2RlIHdvcmsgdW5kZXIgdGhpcyBzZWN0aW9uIGluLCBvciB3aXRoLCBvcgotc3Bl
Y2lmaWNhbGx5IGZvciB1c2UgaW4sIGEgVXNlciBQcm9kdWN0LCBhbmQgdGhlIGNvbnZleWluZyBv
Y2N1cnMgYXMKLXBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9z
c2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQotVXNlciBQcm9kdWN0IGlzIHRyYW5zZmVycmVkIHRvIHRo
ZSByZWNpcGllbnQgaW4gcGVycGV0dWl0eSBvciBmb3IgYQotZml4ZWQgdGVybSAocmVnYXJkbGVz
cyBvZiBob3cgdGhlIHRyYW5zYWN0aW9uIGlzIGNoYXJhY3Rlcml6ZWQpLCB0aGUKLUNvcnJlc3Bv
bmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFu
aWVkCi1ieSB0aGUgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uLiAgQnV0IHRoaXMgcmVxdWlyZW1l
bnQgZG9lcyBub3QgYXBwbHkKLWlmIG5laXRoZXIgeW91IG5vciBhbnkgdGhpcmQgcGFydHkgcmV0
YWlucyB0aGUgYWJpbGl0eSB0byBpbnN0YWxsCi1tb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUg
VXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCi1iZWVuIGluc3RhbGxlZCBp
biBST00pLgotCi0gIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZv
cm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKLXJlcXVpcmVtZW50IHRvIGNvbnRpbnVlIHRvIHBy
b3ZpZGUgc3VwcG9ydCBzZXJ2aWNlLCB3YXJyYW50eSwgb3IgdXBkYXRlcwotZm9yIGEgd29yayB0
aGF0IGhhcyBiZWVuIG1vZGlmaWVkIG9yIGluc3RhbGxlZCBieSB0aGUgcmVjaXBpZW50LCBvciBm
b3IKLXRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5z
dGFsbGVkLiAgQWNjZXNzIHRvIGEKLW5ldHdvcmsgbWF5IGJlIGRlbmllZCB3aGVuIHRoZSBtb2Rp
ZmljYXRpb24gaXRzZWxmIG1hdGVyaWFsbHkgYW5kCi1hZHZlcnNlbHkgYWZmZWN0cyB0aGUgb3Bl
cmF0aW9uIG9mIHRoZSBuZXR3b3JrIG9yIHZpb2xhdGVzIHRoZSBydWxlcyBhbmQKLXByb3RvY29s
cyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCi0KLSAgQ29ycmVzcG9uZGlu
ZyBTb3VyY2UgY29udmV5ZWQsIGFuZCBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24gcHJvdmlkZWQs
Ci1pbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlz
IHB1YmxpY2x5Ci1kb2N1bWVudGVkIChhbmQgd2l0aCBhbiBpbXBsZW1lbnRhdGlvbiBhdmFpbGFi
bGUgdG8gdGhlIHB1YmxpYyBpbgotc291cmNlIGNvZGUgZm9ybSksIGFuZCBtdXN0IHJlcXVpcmUg
bm8gc3BlY2lhbCBwYXNzd29yZCBvciBrZXkgZm9yCi11bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29w
eWluZy4KLQotICA3LiBBZGRpdGlvbmFsIFRlcm1zLgotCi0gICJBZGRpdGlvbmFsIHBlcm1pc3Np
b25zIiBhcmUgdGVybXMgdGhhdCBzdXBwbGVtZW50IHRoZSB0ZXJtcyBvZiB0aGlzCi1MaWNlbnNl
IGJ5IG1ha2luZyBleGNlcHRpb25zIGZyb20gb25lIG9yIG1vcmUgb2YgaXRzIGNvbmRpdGlvbnMu
Ci1BZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGly
ZSBQcm9ncmFtIHNoYWxsCi1iZSB0cmVhdGVkIGFzIHRob3VnaCB0aGV5IHdlcmUgaW5jbHVkZWQg
aW4gdGhpcyBMaWNlbnNlLCB0byB0aGUgZXh0ZW50Ci10aGF0IHRoZXkgYXJlIHZhbGlkIHVuZGVy
IGFwcGxpY2FibGUgbGF3LiAgSWYgYWRkaXRpb25hbCBwZXJtaXNzaW9ucwotYXBwbHkgb25seSB0
byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQot
dW5kZXIgdGhvc2UgcGVybWlzc2lvbnMsIGJ1dCB0aGUgZW50aXJlIFByb2dyYW0gcmVtYWlucyBn
b3Zlcm5lZCBieQotdGhpcyBMaWNlbnNlIHdpdGhvdXQgcmVnYXJkIHRvIHRoZSBhZGRpdGlvbmFs
IHBlcm1pc3Npb25zLgotCi0gIFdoZW4geW91IGNvbnZleSBhIGNvcHkgb2YgYSBjb3ZlcmVkIHdv
cmssIHlvdSBtYXkgYXQgeW91ciBvcHRpb24KLXJlbW92ZSBhbnkgYWRkaXRpb25hbCBwZXJtaXNz
aW9ucyBmcm9tIHRoYXQgY29weSwgb3IgZnJvbSBhbnkgcGFydCBvZgotaXQuICAoQWRkaXRpb25h
bCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgotcmVtb3Zh
bCBpbiBjZXJ0YWluIGNhc2VzIHdoZW4geW91IG1vZGlmeSB0aGUgd29yay4pICBZb3UgbWF5IHBs
YWNlCi1hZGRpdGlvbmFsIHBlcm1pc3Npb25zIG9uIG1hdGVyaWFsLCBhZGRlZCBieSB5b3UgdG8g
YSBjb3ZlcmVkIHdvcmssCi1mb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlh
dGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCi0KLSAgTm90d2l0aHN0YW5kaW5nIGFueSBvdGhlciBw
cm92aXNpb24gb2YgdGhpcyBMaWNlbnNlLCBmb3IgbWF0ZXJpYWwgeW91Ci1hZGQgdG8gYSBjb3Zl
cmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJz
IG9mCi10aGF0IG1hdGVyaWFsKSBzdXBwbGVtZW50IHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2Ug
d2l0aCB0ZXJtczoKLQotICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxp
YWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQotICAgIHRlcm1zIG9mIHNlY3Rpb25zIDE1IGFu
ZCAxNiBvZiB0aGlzIExpY2Vuc2U7IG9yCi0KLSAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9u
IG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKLSAgICBhdXRob3IgYXR0
cmlidXRpb25zIGluIHRoYXQgbWF0ZXJpYWwgb3IgaW4gdGhlIEFwcHJvcHJpYXRlIExlZ2FsCi0g
ICAgTm90aWNlcyBkaXNwbGF5ZWQgYnkgd29ya3MgY29udGFpbmluZyBpdDsgb3IKLQotICAgIGMp
IFByb2hpYml0aW5nIG1pc3JlcHJlc2VudGF0aW9uIG9mIHRoZSBvcmlnaW4gb2YgdGhhdCBtYXRl
cmlhbCwgb3IKLSAgICByZXF1aXJpbmcgdGhhdCBtb2RpZmllZCB2ZXJzaW9ucyBvZiBzdWNoIG1h
dGVyaWFsIGJlIG1hcmtlZCBpbgotICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJv
bSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKLQotICAgIGQpIExpbWl0aW5nIHRoZSB1c2UgZm9y
IHB1YmxpY2l0eSBwdXJwb3NlcyBvZiBuYW1lcyBvZiBsaWNlbnNvcnMgb3IKLSAgICBhdXRob3Jz
IG9mIHRoZSBtYXRlcmlhbDsgb3IKLQotICAgIGUpIERlY2xpbmluZyB0byBncmFudCByaWdodHMg
dW5kZXIgdHJhZGVtYXJrIGxhdyBmb3IgdXNlIG9mIHNvbWUKLSAgICB0cmFkZSBuYW1lcywgdHJh
ZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKLQotICAgIGYpIFJlcXVpcmluZyBpbmRlbW5p
ZmljYXRpb24gb2YgbGljZW5zb3JzIGFuZCBhdXRob3JzIG9mIHRoYXQKLSAgICBtYXRlcmlhbCBi
eSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBv
ZgotICAgIGl0KSB3aXRoIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIG9mIGxpYWJpbGl0eSB0byB0
aGUgcmVjaXBpZW50LCBmb3IKLSAgICBhbnkgbGlhYmlsaXR5IHRoYXQgdGhlc2UgY29udHJhY3R1
YWwgYXNzdW1wdGlvbnMgZGlyZWN0bHkgaW1wb3NlIG9uCi0gICAgdGhvc2UgbGljZW5zb3JzIGFu
ZCBhdXRob3JzLgotCi0gIEFsbCBvdGhlciBub24tcGVybWlzc2l2ZSBhZGRpdGlvbmFsIHRlcm1z
IGFyZSBjb25zaWRlcmVkICJmdXJ0aGVyCi1yZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmlu
ZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91Ci1yZWNlaXZlZCBpdCwgb3Ig
YW55IHBhcnQgb2YgaXQsIGNvbnRhaW5zIGEgbm90aWNlIHN0YXRpbmcgdGhhdCBpdCBpcwotZ292
ZXJuZWQgYnkgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggYSB0ZXJtIHRoYXQgaXMgYSBmdXJ0aGVy
Ci1yZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRv
Y3VtZW50IGNvbnRhaW5zCi1hIGZ1cnRoZXIgcmVzdHJpY3Rpb24gYnV0IHBlcm1pdHMgcmVsaWNl
bnNpbmcgb3IgY29udmV5aW5nIHVuZGVyIHRoaXMKLUxpY2Vuc2UsIHlvdSBtYXkgYWRkIHRvIGEg
Y292ZXJlZCB3b3JrIG1hdGVyaWFsIGdvdmVybmVkIGJ5IHRoZSB0ZXJtcwotb2YgdGhhdCBsaWNl
bnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMK
LW5vdCBzdXJ2aXZlIHN1Y2ggcmVsaWNlbnNpbmcgb3IgY29udmV5aW5nLgotCi0gIElmIHlvdSBh
ZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5
b3UKLW11c3QgcGxhY2UsIGluIHRoZSByZWxldmFudCBzb3VyY2UgZmlsZXMsIGEgc3RhdGVtZW50
IG9mIHRoZQotYWRkaXRpb25hbCB0ZXJtcyB0aGF0IGFwcGx5IHRvIHRob3NlIGZpbGVzLCBvciBh
IG5vdGljZSBpbmRpY2F0aW5nCi13aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgot
Ci0gIEFkZGl0aW9uYWwgdGVybXMsIHBlcm1pc3NpdmUgb3Igbm9uLXBlcm1pc3NpdmUsIG1heSBi
ZSBzdGF0ZWQgaW4gdGhlCi1mb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9y
IHN0YXRlZCBhcyBleGNlcHRpb25zOwotdGhlIGFib3ZlIHJlcXVpcmVtZW50cyBhcHBseSBlaXRo
ZXIgd2F5LgotCi0gIDguIFRlcm1pbmF0aW9uLgotCi0gIFlvdSBtYXkgbm90IHByb3BhZ2F0ZSBv
ciBtb2RpZnkgYSBjb3ZlcmVkIHdvcmsgZXhjZXB0IGFzIGV4cHJlc3NseQotcHJvdmlkZWQgdW5k
ZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgot
bW9kaWZ5IGl0IGlzIHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIg
cmlnaHRzIHVuZGVyCi10aGlzIExpY2Vuc2UgKGluY2x1ZGluZyBhbnkgcGF0ZW50IGxpY2Vuc2Vz
IGdyYW50ZWQgdW5kZXIgdGhlIHRoaXJkCi1wYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCi0KLSAg
SG93ZXZlciwgaWYgeW91IGNlYXNlIGFsbCB2aW9sYXRpb24gb2YgdGhpcyBMaWNlbnNlLCB0aGVu
IHlvdXIKLWxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWlu
c3RhdGVkIChhKQotcHJvdmlzaW9uYWxseSwgdW5sZXNzIGFuZCB1bnRpbCB0aGUgY29weXJpZ2h0
IGhvbGRlciBleHBsaWNpdGx5IGFuZAotZmluYWxseSB0ZXJtaW5hdGVzIHlvdXIgbGljZW5zZSwg
YW5kIChiKSBwZXJtYW5lbnRseSwgaWYgdGhlIGNvcHlyaWdodAotaG9sZGVyIGZhaWxzIHRvIG5v
dGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKLXByaW9y
IHRvIDYwIGRheXMgYWZ0ZXIgdGhlIGNlc3NhdGlvbi4KLQotICBNb3Jlb3ZlciwgeW91ciBsaWNl
bnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKLXJlaW5zdGF0ZWQgcGVy
bWFuZW50bHkgaWYgdGhlIGNvcHlyaWdodCBob2xkZXIgbm90aWZpZXMgeW91IG9mIHRoZQotdmlv
bGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucywgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB5
b3UgaGF2ZQotcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZv
ciBhbnkgd29yaykgZnJvbSB0aGF0Ci1jb3B5cmlnaHQgaG9sZGVyLCBhbmQgeW91IGN1cmUgdGhl
IHZpb2xhdGlvbiBwcmlvciB0byAzMCBkYXlzIGFmdGVyCi15b3VyIHJlY2VpcHQgb2YgdGhlIG5v
dGljZS4KLQotICBUZXJtaW5hdGlvbiBvZiB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIHNlY3Rpb24g
ZG9lcyBub3QgdGVybWluYXRlIHRoZQotbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNl
aXZlZCBjb3BpZXMgb3IgcmlnaHRzIGZyb20geW91IHVuZGVyCi10aGlzIExpY2Vuc2UuICBJZiB5
b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5Ci1yZWlu
c3RhdGVkLCB5b3UgZG8gbm90IHF1YWxpZnkgdG8gcmVjZWl2ZSBuZXcgbGljZW5zZXMgZm9yIHRo
ZSBzYW1lCi1tYXRlcmlhbCB1bmRlciBzZWN0aW9uIDEwLgotCi0gIDkuIEFjY2VwdGFuY2UgTm90
IFJlcXVpcmVkIGZvciBIYXZpbmcgQ29waWVzLgotCi0gIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRv
IGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgotcnVuIGEgY29weSBv
ZiB0aGUgUHJvZ3JhbS4gIEFuY2lsbGFyeSBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQgd29yawot
b2NjdXJyaW5nIHNvbGVseSBhcyBhIGNvbnNlcXVlbmNlIG9mIHVzaW5nIHBlZXItdG8tcGVlciB0
cmFuc21pc3Npb24KLXRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUg
YWNjZXB0YW5jZS4gIEhvd2V2ZXIsCi1ub3RoaW5nIG90aGVyIHRoYW4gdGhpcyBMaWNlbnNlIGdy
YW50cyB5b3UgcGVybWlzc2lvbiB0byBwcm9wYWdhdGUgb3IKLW1vZGlmeSBhbnkgY292ZXJlZCB3
b3JrLiAgVGhlc2UgYWN0aW9ucyBpbmZyaW5nZSBjb3B5cmlnaHQgaWYgeW91IGRvCi1ub3QgYWNj
ZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5n
IGEKLWNvdmVyZWQgd29yaywgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExp
Y2Vuc2UgdG8gZG8gc28uCi0KLSAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVh
bSBSZWNpcGllbnRzLgotCi0gIEVhY2ggdGltZSB5b3UgY29udmV5IGEgY292ZXJlZCB3b3JrLCB0
aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkKLXJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBv
cmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZAotcHJvcGFnYXRlIHRoYXQgd29y
aywgc3ViamVjdCB0byB0aGlzIExpY2Vuc2UuICBZb3UgYXJlIG5vdCByZXNwb25zaWJsZQotZm9y
IGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgd2l0aCB0aGlzIExpY2Vuc2Uu
Ci0KLSAgQW4gImVudGl0eSB0cmFuc2FjdGlvbiIgaXMgYSB0cmFuc2FjdGlvbiB0cmFuc2ZlcnJp
bmcgY29udHJvbCBvZiBhbgotb3JnYW5pemF0aW9uLCBvciBzdWJzdGFudGlhbGx5IGFsbCBhc3Nl
dHMgb2Ygb25lLCBvciBzdWJkaXZpZGluZyBhbgotb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9y
Z2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKLXdvcmsgcmVzdWx0cyBm
cm9tIGFuIGVudGl0eSB0cmFuc2FjdGlvbiwgZWFjaCBwYXJ0eSB0byB0aGF0Ci10cmFuc2FjdGlv
biB3aG8gcmVjZWl2ZXMgYSBjb3B5IG9mIHRoZSB3b3JrIGFsc28gcmVjZWl2ZXMgd2hhdGV2ZXIK
LWxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0
IGhhZCBvciBjb3VsZAotZ2l2ZSB1bmRlciB0aGUgcHJldmlvdXMgcGFyYWdyYXBoLCBwbHVzIGEg
cmlnaHQgdG8gcG9zc2Vzc2lvbiBvZiB0aGUKLUNvcnJlc3BvbmRpbmcgU291cmNlIG9mIHRoZSB3
b3JrIGZyb20gdGhlIHByZWRlY2Vzc29yIGluIGludGVyZXN0LCBpZgotdGhlIHByZWRlY2Vzc29y
IGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgotCi0gIFlvdSBt
YXkgbm90IGltcG9zZSBhbnkgZnVydGhlciByZXN0cmljdGlvbnMgb24gdGhlIGV4ZXJjaXNlIG9m
IHRoZQotcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9y
IGV4YW1wbGUsIHlvdSBtYXkKLW5vdCBpbXBvc2UgYSBsaWNlbnNlIGZlZSwgcm95YWx0eSwgb3Ig
b3RoZXIgY2hhcmdlIGZvciBleGVyY2lzZSBvZgotcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBM
aWNlbnNlLCBhbmQgeW91IG1heSBub3QgaW5pdGlhdGUgbGl0aWdhdGlvbgotKGluY2x1ZGluZyBh
IGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQK
LWFueSBwYXRlbnQgY2xhaW0gaXMgaW5mcmluZ2VkIGJ5IG1ha2luZywgdXNpbmcsIHNlbGxpbmcs
IG9mZmVyaW5nIGZvcgotc2FsZSwgb3IgaW1wb3J0aW5nIHRoZSBQcm9ncmFtIG9yIGFueSBwb3J0
aW9uIG9mIGl0LgotCi0gIDExLiBQYXRlbnRzLgotCi0gIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNv
cHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKLUxpY2Vuc2Ugb2Yg
dGhlIFByb2dyYW0gb3IgYSB3b3JrIG9uIHdoaWNoIHRoZSBQcm9ncmFtIGlzIGJhc2VkLiAgVGhl
Ci13b3JrIHRodXMgbGljZW5zZWQgaXMgY2FsbGVkIHRoZSBjb250cmlidXRvcidzICJjb250cmli
dXRvciB2ZXJzaW9uIi4KLQotICBBIGNvbnRyaWJ1dG9yJ3MgImVzc2VudGlhbCBwYXRlbnQgY2xh
aW1zIiBhcmUgYWxsIHBhdGVudCBjbGFpbXMKLW93bmVkIG9yIGNvbnRyb2xsZWQgYnkgdGhlIGNv
bnRyaWJ1dG9yLCB3aGV0aGVyIGFscmVhZHkgYWNxdWlyZWQgb3IKLWhlcmVhZnRlciBhY3F1aXJl
ZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZAotYnkg
dGhpcyBMaWNlbnNlLCBvZiBtYWtpbmcsIHVzaW5nLCBvciBzZWxsaW5nIGl0cyBjb250cmlidXRv
ciB2ZXJzaW9uLAotYnV0IGRvIG5vdCBpbmNsdWRlIGNsYWltcyB0aGF0IHdvdWxkIGJlIGluZnJp
bmdlZCBvbmx5IGFzIGEKLWNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRo
ZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCi1wdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24s
ICJjb250cm9sIiBpbmNsdWRlcyB0aGUgcmlnaHQgdG8gZ3JhbnQKLXBhdGVudCBzdWJsaWNlbnNl
cyBpbiBhIG1hbm5lciBjb25zaXN0ZW50IHdpdGggdGhlIHJlcXVpcmVtZW50cyBvZgotdGhpcyBM
aWNlbnNlLgotCi0gIEVhY2ggY29udHJpYnV0b3IgZ3JhbnRzIHlvdSBhIG5vbi1leGNsdXNpdmUs
IHdvcmxkd2lkZSwgcm95YWx0eS1mcmVlCi1wYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJp
YnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KLW1ha2UsIHVzZSwgc2VsbCwgb2Zm
ZXIgZm9yIHNhbGUsIGltcG9ydCBhbmQgb3RoZXJ3aXNlIHJ1biwgbW9kaWZ5IGFuZAotcHJvcGFn
YXRlIHRoZSBjb250ZW50cyBvZiBpdHMgY29udHJpYnV0b3IgdmVyc2lvbi4KLQotICBJbiB0aGUg
Zm9sbG93aW5nIHRocmVlIHBhcmFncmFwaHMsIGEgInBhdGVudCBsaWNlbnNlIiBpcyBhbnkgZXhw
cmVzcwotYWdyZWVtZW50IG9yIGNvbW1pdG1lbnQsIGhvd2V2ZXIgZGVub21pbmF0ZWQsIG5vdCB0
byBlbmZvcmNlIGEgcGF0ZW50Ci0oc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJh
Y3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCi1zdWUgZm9yIHBhdGVudCBpbmZyaW5n
ZW1lbnQpLiAgVG8gImdyYW50IiBzdWNoIGEgcGF0ZW50IGxpY2Vuc2UgdG8gYQotcGFydHkgbWVh
bnMgdG8gbWFrZSBzdWNoIGFuIGFncmVlbWVudCBvciBjb21taXRtZW50IG5vdCB0byBlbmZvcmNl
IGEKLXBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KLQotICBJZiB5b3UgY29udmV5IGEgY292ZXJl
ZCB3b3JrLCBrbm93aW5nbHkgcmVseWluZyBvbiBhIHBhdGVudCBsaWNlbnNlLAotYW5kIHRoZSBD
b3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlv
bmUKLXRvIGNvcHksIGZyZWUgb2YgY2hhcmdlIGFuZCB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBM
aWNlbnNlLCB0aHJvdWdoIGEKLXB1YmxpY2x5IGF2YWlsYWJsZSBuZXR3b3JrIHNlcnZlciBvciBv
dGhlciByZWFkaWx5IGFjY2Vzc2libGUgbWVhbnMsCi10aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkg
Y2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCi1hdmFpbGFibGUsIG9yICgy
KSBhcnJhbmdlIHRvIGRlcHJpdmUgeW91cnNlbGYgb2YgdGhlIGJlbmVmaXQgb2YgdGhlCi1wYXRl
bnQgbGljZW5zZSBmb3IgdGhpcyBwYXJ0aWN1bGFyIHdvcmssIG9yICgzKSBhcnJhbmdlLCBpbiBh
IG1hbm5lcgotY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNl
LCB0byBleHRlbmQgdGhlIHBhdGVudAotbGljZW5zZSB0byBkb3duc3RyZWFtIHJlY2lwaWVudHMu
ICAiS25vd2luZ2x5IHJlbHlpbmciIG1lYW5zIHlvdSBoYXZlCi1hY3R1YWwga25vd2xlZGdlIHRo
YXQsIGJ1dCBmb3IgdGhlIHBhdGVudCBsaWNlbnNlLCB5b3VyIGNvbnZleWluZyB0aGUKLWNvdmVy
ZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3Zl
cmVkIHdvcmsKLWluIGEgY291bnRyeSwgd291bGQgaW5mcmluZ2Ugb25lIG9yIG1vcmUgaWRlbnRp
ZmlhYmxlIHBhdGVudHMgaW4gdGhhdAotY291bnRyeSB0aGF0IHlvdSBoYXZlIHJlYXNvbiB0byBi
ZWxpZXZlIGFyZSB2YWxpZC4KLQotICBJZiwgcHVyc3VhbnQgdG8gb3IgaW4gY29ubmVjdGlvbiB3
aXRoIGEgc2luZ2xlIHRyYW5zYWN0aW9uIG9yCi1hcnJhbmdlbWVudCwgeW91IGNvbnZleSwgb3Ig
cHJvcGFnYXRlIGJ5IHByb2N1cmluZyBjb252ZXlhbmNlIG9mLCBhCi1jb3ZlcmVkIHdvcmssIGFu
ZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKLXJlY2Vpdmlu
ZyB0aGUgY292ZXJlZCB3b3JrIGF1dGhvcml6aW5nIHRoZW0gdG8gdXNlLCBwcm9wYWdhdGUsIG1v
ZGlmeQotb3IgY29udmV5IGEgc3BlY2lmaWMgY29weSBvZiB0aGUgY292ZXJlZCB3b3JrLCB0aGVu
IHRoZSBwYXRlbnQgbGljZW5zZQoteW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQg
dG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKLXdvcmsgYW5kIHdvcmtzIGJhc2VkIG9u
IGl0LgotCi0gIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2Vz
IG5vdCBpbmNsdWRlIHdpdGhpbgotdGhlIHNjb3BlIG9mIGl0cyBjb3ZlcmFnZSwgcHJvaGliaXRz
IHRoZSBleGVyY2lzZSBvZiwgb3IgaXMKLWNvbmRpdGlvbmVkIG9uIHRoZSBub24tZXhlcmNpc2Ug
b2Ygb25lIG9yIG1vcmUgb2YgdGhlIHJpZ2h0cyB0aGF0IGFyZQotc3BlY2lmaWNhbGx5IGdyYW50
ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAotd29y
ayBpZiB5b3UgYXJlIGEgcGFydHkgdG8gYW4gYXJyYW5nZW1lbnQgd2l0aCBhIHRoaXJkIHBhcnR5
IHRoYXQgaXMKLWluIHRoZSBidXNpbmVzcyBvZiBkaXN0cmlidXRpbmcgc29mdHdhcmUsIHVuZGVy
IHdoaWNoIHlvdSBtYWtlIHBheW1lbnQKLXRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUg
ZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCi10aGUgd29yaywgYW5kIHVuZGVy
IHdoaWNoIHRoZSB0aGlyZCBwYXJ0eSBncmFudHMsIHRvIGFueSBvZiB0aGUKLXBhcnRpZXMgd2hv
IHdvdWxkIHJlY2VpdmUgdGhlIGNvdmVyZWQgd29yayBmcm9tIHlvdSwgYSBkaXNjcmltaW5hdG9y
eQotcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNv
dmVyZWQgd29yawotY29udmV5ZWQgYnkgeW91IChvciBjb3BpZXMgbWFkZSBmcm9tIHRob3NlIGNv
cGllcyksIG9yIChiKSBwcmltYXJpbHkKLWZvciBhbmQgaW4gY29ubmVjdGlvbiB3aXRoIHNwZWNp
ZmljIHByb2R1Y3RzIG9yIGNvbXBpbGF0aW9ucyB0aGF0Ci1jb250YWluIHRoZSBjb3ZlcmVkIHdv
cmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCi1vciB0aGF0IHBh
dGVudCBsaWNlbnNlIHdhcyBncmFudGVkLCBwcmlvciB0byAyOCBNYXJjaCAyMDA3LgotCi0gIE5v
dGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3Ig
bGltaXRpbmcKLWFueSBpbXBsaWVkIGxpY2Vuc2Ugb3Igb3RoZXIgZGVmZW5zZXMgdG8gaW5mcmlu
Z2VtZW50IHRoYXQgbWF5Ci1vdGhlcndpc2UgYmUgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhcHBs
aWNhYmxlIHBhdGVudCBsYXcuCi0KLSAgMTIuIE5vIFN1cnJlbmRlciBvZiBPdGhlcnMnIEZyZWVk
b20uCi0KLSAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291
cnQgb3JkZXIsIGFncmVlbWVudCBvcgotb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNv
bmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAotZXhjdXNlIHlvdSBmcm9tIHRo
ZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QgY29udmV5IGEKLWNv
dmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlv
bnMgdW5kZXIgdGhpcwotTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9u
cywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdSBtYXkKLW5vdCBjb252ZXkgaXQgYXQgYWxsLiAg
Rm9yIGV4YW1wbGUsIGlmIHlvdSBhZ3JlZSB0byB0ZXJtcyB0aGF0IG9ibGlnYXRlIHlvdQotdG8g
Y29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hv
bSB5b3UgY29udmV5Ci10aGUgUHJvZ3JhbSwgdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5
IGJvdGggdGhvc2UgdGVybXMgYW5kIHRoaXMKLUxpY2Vuc2Ugd291bGQgYmUgdG8gcmVmcmFpbiBl
bnRpcmVseSBmcm9tIGNvbnZleWluZyB0aGUgUHJvZ3JhbS4KLQotICAxMy4gVXNlIHdpdGggdGhl
IEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KLQotICBOb3R3aXRoc3RhbmRpbmcg
YW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCi1wZXJtaXNzaW9u
IHRvIGxpbmsgb3IgY29tYmluZSBhbnkgY292ZXJlZCB3b3JrIHdpdGggYSB3b3JrIGxpY2Vuc2Vk
Ci11bmRlciB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBpbnRvIGEgc2luZ2xlCi1jb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRp
bmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCi1MaWNlbnNlIHdpbGwgY29udGludWUgdG8gYXBw
bHkgdG8gdGhlIHBhcnQgd2hpY2ggaXMgdGhlIGNvdmVyZWQgd29yaywKLWJ1dCB0aGUgc3BlY2lh
bCByZXF1aXJlbWVudHMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwK
LXNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2ls
bCBhcHBseSB0byB0aGUKLWNvbWJpbmF0aW9uIGFzIHN1Y2guCi0KLSAgMTQuIFJldmlzZWQgVmVy
c2lvbnMgb2YgdGhpcyBMaWNlbnNlLgotCi0gIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24g
bWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zIG9mCi10aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3
aWxsCi1iZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5
IGRpZmZlciBpbiBkZXRhaWwgdG8KLWFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgot
Ci0gIEVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVy
LiAgSWYgdGhlCi1Qcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgY2VydGFpbiBudW1iZXJlZCB2ZXJz
aW9uIG9mIHRoZSBHTlUgR2VuZXJhbAotUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJz
aW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKLW9wdGlvbiBvZiBmb2xsb3dpbmcgdGhl
IHRlcm1zIGFuZCBjb25kaXRpb25zIGVpdGhlciBvZiB0aGF0IG51bWJlcmVkCi12ZXJzaW9uIG9y
IG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQotRm91
bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJl
ciBvZiB0aGUKLUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkg
dmVyc2lvbiBldmVyIHB1Ymxpc2hlZAotYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4K
LQotICBJZiB0aGUgUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIHByb3h5IGNhbiBkZWNpZGUgd2hp
Y2ggZnV0dXJlCi12ZXJzaW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgY2Fu
IGJlIHVzZWQsIHRoYXQgcHJveHkncwotcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9m
IGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQotdG8gY2hvb3NlIHRoYXQgdmVy
c2lvbiBmb3IgdGhlIFByb2dyYW0uCi0KLSAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2
ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKLXBlcm1pc3Npb25zLiAgSG93ZXZlciwgbm8g
YWRkaXRpb25hbCBvYmxpZ2F0aW9ucyBhcmUgaW1wb3NlZCBvbiBhbnkKLWF1dGhvciBvciBjb3B5
cmlnaHQgaG9sZGVyIGFzIGEgcmVzdWx0IG9mIHlvdXIgY2hvb3NpbmcgdG8gZm9sbG93IGEKLWxh
dGVyIHZlcnNpb24uCi0KLSAgMTUuIERpc2NsYWltZXIgb2YgV2FycmFudHkuCi0KLSAgVEhFUkUg
SVMgTk8gV0FSUkFOVFkgRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBC
WQotQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTiBPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJ
TkcgVEhFIENPUFlSSUdIVAotSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRI
RSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQotT0YgQU5ZIEtJTkQsIEVJVEhFUiBF
WFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi1USEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi1QVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFO
RCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQotSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFIFBS
T0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GCi1BTEwgTkVDRVNT
QVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uCi0KLSAgMTYuIExpbWl0YXRpb24g
b2YgTGlhYmlsaXR5LgotCi0gIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNB
QkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwotV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERF
UiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNT0RJRklFUyBBTkQvT1IgQ09OVkVZUwotVEhFIFBS
T0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLCBJ
TkNMVURJTkcgQU5ZCi1HRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKLVVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRI
RSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIExPU1MgT0YKLURBVEEgT1Ig
REFUQSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkgWU9V
IE9SIFRISVJECi1QQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRF
IFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKLUVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIg
UEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLVNVQ0ggREFNQUdF
Uy4KLQotICAxNy4gSW50ZXJwcmV0YXRpb24gb2YgU2VjdGlvbnMgMTUgYW5kIDE2LgotCi0gIElm
IHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBw
cm92aWRlZAotYWJvdmUgY2Fubm90IGJlIGdpdmVuIGxvY2FsIGxlZ2FsIGVmZmVjdCBhY2NvcmRp
bmcgdG8gdGhlaXIgdGVybXMsCi1yZXZpZXdpbmcgY291cnRzIHNoYWxsIGFwcGx5IGxvY2FsIGxh
dyB0aGF0IG1vc3QgY2xvc2VseSBhcHByb3hpbWF0ZXMKLWFuIGFic29sdXRlIHdhaXZlciBvZiBh
bGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKLVByb2dyYW0sIHVubGVz
cyBhIHdhcnJhbnR5IG9yIGFzc3VtcHRpb24gb2YgbGlhYmlsaXR5IGFjY29tcGFuaWVzIGEKLWNv
cHkgb2YgdGhlIFByb2dyYW0gaW4gcmV0dXJuIGZvciBhIGZlZS4KLQotICAgICAgICAgICAgICAg
ICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCi0KLSAgICAgICAgICAgIEhvdyB0byBB
cHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwotCi0gIElmIHlvdSBkZXZlbG9w
IGEgbmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKLXBv
c3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlz
IHRvIG1ha2UgaXQKLWZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0
ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgotCi0gIFRvIGRvIHNvLCBhdHRhY2ggdGhl
IGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0Ci10byBhdHRh
Y2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2
ZWx5Ci1zdGF0ZSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3Vs
ZCBoYXZlIGF0IGxlYXN0Ci10aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdo
ZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KLQotICAgIDxvbmUgbGluZSB0byBnaXZlIHRo
ZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+Ci0gICAg
Q29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KLQotICAgIFRoaXMgcHJvZ3Jh
bSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
Ci0gICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkKLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotICAgIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgICBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3
LmdudS5vcmcvbGljZW5zZXMvPi4KLQotQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNv
bnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCi0KLSAgSWYgdGhlIHByb2dy
YW0gZG9lcyB0ZXJtaW5hbCBpbnRlcmFjdGlvbiwgbWFrZSBpdCBvdXRwdXQgYSBzaG9ydAotbm90
aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgotCi0g
ICAgPHByb2dyYW0+ICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgotICAg
IFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRh
aWxzIHR5cGUgYHNob3cgdycuCi0gICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFy
ZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAotICAgIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9u
czsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KLQotVGhlIGh5cG90aGV0aWNhbCBjb21tYW5k
cyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCi1wYXJ0
cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgeW91ciBwcm9ncmFt
J3MgY29tbWFuZHMKLW1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91
IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KLQotICBZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIg
ZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3Igc2Nob29sLAotaWYgYW55
LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5l
Y2Vzc2FyeS4KLUZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMsIGFuZCBob3cgdG8gYXBwbHkg
YW5kIGZvbGxvdyB0aGUgR05VIEdQTCwgc2VlCi08aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz
Lz4uCi0KLSAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGRvZXMgbm90IHBlcm1pdCBp
bmNvcnBvcmF0aW5nIHlvdXIgcHJvZ3JhbQotaW50byBwcm9wcmlldGFyeSBwcm9ncmFtcy4gIElm
IHlvdXIgcHJvZ3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwgeW91Ci1tYXkgY29uc2lkZXIg
aXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25z
IHdpdGgKLXRoZSBsaWJyYXJ5LiAgSWYgdGhpcyBpcyB3aGF0IHlvdSB3YW50IHRvIGRvLCB1c2Ug
dGhlIEdOVSBMZXNzZXIgR2VuZXJhbAotUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExp
Y2Vuc2UuICBCdXQgZmlyc3QsIHBsZWFzZSByZWFkCi08aHR0cDovL3d3dy5nbnUub3JnL3BoaWxv
c29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+LgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvUkVBRE1FLmNocm9t
aXVtIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0
eS9za2VsZXRvbnMvUkVBRE1FLmNocm9taXVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyMTVkODJlNjM2NmU1OTliMDQyNjlhZjE0MTBhMzA0OWQwZmRjNGZiLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL1JFQURNRS5jaHJvbWl1bQor
KysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLU5hbWU6IEJpc29uIHNrZWxldG9ucwotVVJM
OiBodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Jpc29uLwotVmVyc2lvbjogMy4zLjIKLUxp
Y2Vuc2U6IEdQTAotTGljZW5zZSBGaWxlOiBMSUNFTlNFCi1TZWN1cml0eSBjcml0aWNhbDogbm8K
LQotRGVzY3JpcHRpb246Ci1CaXNvbiBpcyBhIHBhcnNlciBnZW5lcmF0b3IuIEl0IHVzZXMgc2tl
bGV0b24gZmlsZXMgYXMgdGVtcGxhdGVzIGZvciBidWlsZGluZwotc2ltaWxhciBsYW5ndWFnZXMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3Ro
aXJkX3BhcnR5L3NrZWxldG9ucy9iaXNvbi5tNCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rv
b2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2Jpc29uLm00CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlMzU5MTg3NWMwZjYyM2Q1ZjEwOGJiYzI5ZmQ3YWY1ODRmNmU3
MzcxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25z
L2Jpc29uLm00CisrKyAvZGV2L251bGwKQEAgLTEsMTExMSArMCwwIEBACi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2Nv
bmYgLSotCi0KLSMgTGFuZ3VhZ2UtaW5kZXBlbmRlbnQgTTQgTWFjcm9zIGZvciBCaXNvbi4KLQot
IyBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDQtMjAxNSwgMjAxOC0yMDE5IEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwKLSMgSW5jLgotCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMg
cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlCi0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg
bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotCi0KLSMjIC0tLS0tLS0t
LS0tLS0tLS0gIyMKLSMjIElkZW50aWZpY2F0aW9uLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0g
IyMKLQotIyBiNF9nZW5lcmF0ZWRfYnkKLSMgLS0tLS0tLS0tLS0tLS0tCi1tNF9kZWZpbmUoW2I0
X2dlbmVyYXRlZF9ieV0sCi1bYjRfY29tbWVudChbQSBCaXNvbiBwYXJzZXIsIG1hZGUgYnkgR05V
IEJpc29uIGI0X3ZlcnNpb24uXSkKLV0pCi0KLSMgYjRfY29weXJpZ2h0KFRJVExFLCBbWUVBUlNd
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIFlFQVJTIGFyZSBub3QgZGVm
aW5lZCwgdXNlIGI0X2NvcHlyaWdodF95ZWFycy4KLW00X2RlZmluZShbYjRfY29weXJpZ2h0XSwK
LVtiNF9nZW5lcmF0ZWRfYnkKLWI0X2NvbW1lbnQoWyQxCi0KLV1tNF9kcXVvdGUobTRfdGV4dF93
cmFwKFtDb3B5cmlnaHQgKEMpCi1dbTRfaWZ2YWwoWyQyXSwgW1skMl1dLCBbbTRfZGVmbihbYjRf
Y29weXJpZ2h0X3llYXJzXSldKVsKLUZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLl0pKVsK
LQotVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkKLWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KLQotVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi1idXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLWFsb25nIHdpdGggdGhp
cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Ll0p
Ci0KLWI0X2NvbW1lbnQoW0FzIGEgc3BlY2lhbCBleGNlcHRpb24sIHlvdSBtYXkgY3JlYXRlIGEg
bGFyZ2VyIHdvcmsgdGhhdCBjb250YWlucwotcGFydCBvciBhbGwgb2YgdGhlIEJpc29uIHBhcnNl
ciBza2VsZXRvbiBhbmQgZGlzdHJpYnV0ZSB0aGF0IHdvcmsKLXVuZGVyIHRlcm1zIG9mIHlvdXIg
Y2hvaWNlLCBzbyBsb25nIGFzIHRoYXQgd29yayBpc24ndCBpdHNlbGYgYQotcGFyc2VyIGdlbmVy
YXRvciB1c2luZyB0aGUgc2tlbGV0b24gb3IgYSBtb2RpZmllZCB2ZXJzaW9uIHRoZXJlb2YKLWFz
IGEgcGFyc2VyIHNrZWxldG9uLiAgQWx0ZXJuYXRpdmVseSwgaWYgeW91IG1vZGlmeSBvciByZWRp
c3RyaWJ1dGUKLXRoZSBwYXJzZXIgc2tlbGV0b24gaXRzZWxmLCB5b3UgbWF5IChhdCB5b3VyIG9w
dGlvbikgcmVtb3ZlIHRoaXMKLXNwZWNpYWwgZXhjZXB0aW9uLCB3aGljaCB3aWxsIGNhdXNlIHRo
ZSBza2VsZXRvbiBhbmQgdGhlIHJlc3VsdGluZwotQmlzb24gb3V0cHV0IGZpbGVzIHRvIGJlIGxp
Y2Vuc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKLUxpY2Vuc2Ugd2l0aG91dCB0aGlz
IHNwZWNpYWwgZXhjZXB0aW9uLgotCi1UaGlzIHNwZWNpYWwgZXhjZXB0aW9uIHdhcyBhZGRlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluCi12ZXJzaW9uIDIuMiBvZiBCaXNvbi5d
KQotXSkKLQotCi0jIGI0X2Rpc2NsYWltZXIKLSMgLS0tLS0tLS0tLS0tLQotIyBJc3N1ZSBhIHdh
cm5pbmcgYWJvdXQgcHJpdmF0ZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLgotbTRfZGVmaW5lKFti
NF9kaXNjbGFpbWVyXSwKLVtiNF9jb21tZW50KFtVbmRvY3VtZW50ZWQgbWFjcm9zLCBlc3BlY2lh
bGx5IHRob3NlIHdob3NlIG5hbWUgc3RhcnQgd2l0aCBZWV8sCi1hcmUgcHJpdmF0ZSBpbXBsZW1l
bnRhdGlvbiBkZXRhaWxzLiAgRG8gbm90IHJlbHkgb24gdGhlbS5dKQotXSkKLQotCi0KLSMgYjRf
cmVxdWlyZWRfdmVyc2lvbl9pZihWRVJTSU9OLCBJRl9ORVdFUiwgSUZfT0xERVIpCi0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiB0aGUg
dmVyc2lvbiAlcmVxdWlyZSdkIGJ5IHRoZSB1c2VyIGlzIFZFUlNJT04gKG9yIG5ld2VyKSBleHBh
bmQKLSMgSUZfTkVXRVIsIG90aGVyd2lzZSBJRl9PTERFUi4gIFZFUlNJT04gc2hvdWxkIGJlIGFu
IGludGVnZXIsIGUuZy4sCi0jIDMwMiBmb3IgMy4yLgotbTRfZGVmaW5lKFtiNF9yZXF1aXJlZF92
ZXJzaW9uX2lmXSwKLVttNF9pZihtNF9ldmFsKCQxIDw9IGI0X3JlcXVpcmVkX3ZlcnNpb24pLAot
ICAgICAgICAgICAgICBbMV0sIFskMl0sIFskM10pXSkKLQotCi0jIyAtLS0tLS0tLSAjIwotIyMg
T3V0cHV0LiAgIyMKLSMjIC0tLS0tLS0tICMjCi0KLSMgYjRfb3V0cHV0X2JlZ2luKEZJTEUxLCBG
SUxFMikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRW5hYmxlIG91dHB1dCwg
aS5lLiwgc2VuZCB0byBkaXZlcnNpb24gMCwgZXhwYW5kIGFmdGVyICIjIiwgYW5kCi0jIGdlbmVy
YXRlIHRoZSB0YWcgdG8gb3V0cHV0IGludG8gRklMRS4gIE11c3QgYmUgZm9sbG93ZWQgYnkgRU9M
LgotIyBGSUxFIGlzIEZJTEUxIGNvbmNhdGVuYXRlZCB0byBGSUxFMi4gIEZJTEUyIGNhbiBiZSBl
bXB0eSwgb3IgYmUKLSMgYWJzb2x1dGU6IGRvIHRoZSByaWdodCB0aGluZy4KLW00X2RlZmluZShb
YjRfb3V0cHV0X2JlZ2luXSwKLVttNF9jaGFuZ2Vjb20oKQotbTRfZGl2ZXJ0X3B1c2goMClkbmwK
LUBvdXRwdXQobTRfdW5xdW90ZShbJDFdKUAsbTRfdW5xdW90ZShbJDJdKUApQGRubAotXSkKLQot
Ci0jIGI0X291dHB1dF9lbmQKLSMgLS0tLS0tLS0tLS0tLQotIyBPdXRwdXQgbm90aGluZywgcmVz
dG9yZSAjIGFzIGNvbW1lbnQgY2hhcmFjdGVyIChubyBleHBhbnNpb25zIGFmdGVyICMpLgotbTRf
ZGVmaW5lKFtiNF9vdXRwdXRfZW5kXSwKLVttNF9kaXZlcnRfcG9wKDApCi1tNF9jaGFuZ2Vjb20o
WyNdKQotXSkKLQotCi0jIGI0X2RpdmVydF9raWxsKENPREUpCi0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIEV4cGFuZCBDT0RFIGZvciBpdHMgc2lkZSBlZmZlY3RzLCBkaXNjYXJkIGl0cyBvdXRw
dXQuCi1tNF9kZWZpbmUoW2I0X2RpdmVydF9raWxsXSwKLVttNF9kaXZlcnRfdGV4dChbS0lMTF0s
IFskMV0pXSkKLQotCi0jIGI0X2RlZmluZV9zaWxlbnQoTUFDUk8sIENPREUpCi0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFNhbWUgYXMgbTRfZGVmaW5lLCBidXQgdGhyb3cgYXdh
eSB0aGUgZXhwYW5zaW9uIG9mIENPREUuCi1tNF9kZWZpbmUoW2I0X2RlZmluZV9zaWxlbnRdLAot
W200X2RlZmluZShbJDFdLCBbYjRfZGl2ZXJ0X2tpbGwoWyQyXSldKV0pCi0KLQotIyMgLS0tLS0t
LS0tLS0tLS0tLSAjIwotIyMgRXJyb3IgaGFuZGxpbmcuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0t
LSAjIwotCi0jIFRoZSBmb2xsb3dpbmcgZXJyb3IgaGFuZGxpbmcgbWFjcm9zIHByaW50IGVycm9y
IGRpcmVjdGl2ZXMgdGhhdCBzaG91bGQgbm90Ci0jIGJlY29tZSBhcmd1bWVudHMgb2Ygb3RoZXIg
bWFjcm8gaW52b2NhdGlvbnMgc2luY2UgdGhleSB3b3VsZCBsaWtlbHkgdGhlbiBiZQotIyBtYW5n
bGVkLiAgVGh1cywgdGhleSBwcmludCB0byBzdGRvdXQgZGlyZWN0bHkuCi0KLSMgYjRfY2F0KFRF
WFQpCi0jIC0tLS0tLS0tLS0tLQotIyBXcml0ZSBURVhUIHRvIHN0ZG91dC4gIFByZWNlZGUgdGhl
IGZpbmFsIG5ld2xpbmUgd2l0aCBhbiBAIHNvIHRoYXQgaXQncwotIyBlc2NhcGVkLiAgRm9yIGV4
YW1wbGU6Ci0jCi0jICAgYjRfY2F0KFtbQGNvbXBsYWluKGludmFsaWQgaW5wdXRAKV1dKQotbTRf
ZGVmaW5lKFtiNF9jYXRdLAotW200X3N5c2NtZChbY2F0IDw8J19tNGVvZicKLV1tNF9icGF0c3Vi
c3QobTRfZHF1b3RlKCQxKSwgW19tNGVvZl0sIFtfbTRAYGVvZl0pW0AKLV9tNGVvZgotXSlkbmwK
LW00X2lmKG00X3N5c3ZhbCwgWzBdLCBbXSwgW200X2ZhdGFsKFskMDogY2Fubm90IHdyaXRlIHRv
IHN0ZG91dF0pXSldKQotCi0jIGI0X2Vycm9yKEtJTkQsIFNUQVJULCBFTkQsIEZPUk1BVCwgW0FS
RzFdLCBbQVJHMl0sIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBXcml0ZSBAS0lORChTVEFSVEAsRU5EQCxGT1JNQVRALEFS
RzFALEFSRzJALC4uLkApIHRvIHN0ZG91dC4KLSMKLSMgRm9yIGV4YW1wbGU6Ci0jCi0jICAgYjRf
ZXJyb3IoW1tjb21wbGFpbl1dLCBbW2lucHV0Lnk6Mi4zXV0sIFtbaW5wdXQueTo1LjRdXSwKLSMg
ICAgICAgICAgICBbW2ludmFsaWQgJXNdXSwgW1tmb29dXSkKLW00X2RlZmluZShbYjRfZXJyb3Jd
LAotW2I0X2NhdChbW0Bjb21wbGFpbl1bKF0kMVtALF0kMltALF0kM1tALF0kNFtdXWRubAotW200
X2lmKFskI10sIFs0XSwgW10sCi0gICAgICAgW200X2ZvcmVhY2goW2I0X2FyZ10sCi0gICAgICAg
ICAgICAgICAgICAgbTRfZHF1b3RlKG00X3NoaWZ0KG00X3NoaWZ0KG00X3NoaWZ0KG00X3NoaWZ0
KCRAKSkpKSksCi0gICAgICAgICAgICAgICAgICAgW1tALF1iNF9hcmddKV0pW0ApXV0pXSkKLQot
IyBiNF93YXJuKEZPUk1BVCwgW0FSRzFdLCBbQVJHMl0sIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFdyaXRlIEB3YXJuKEZPUk1BVEAsQVJHMUAsQVJHMkAs
Li4uQCkgdG8gc3Rkb3V0LgotIwotIyBGb3IgZXhhbXBsZToKLSMKLSMgICBiNF93YXJuKFtbaW52
YWxpZCB2YWx1ZSBmb3IgJyVzJzogJXNdXSwgW1tmb29dXSwgW1szXV0pCi0jCi0jIEFzIGEgc2lt
cGxlIHRlc3Qgc3VpdGUsIHRoaXM6Ci0jCi0jICAgbTRfZGl2ZXJ0KC0xKQotIyAgIG00X2RlZmlu
ZShbYXNkZl0sIFtBU0RGXSkKLSMgICBtNF9kZWZpbmUoW2ZzYV0sIFtGU0FdKQotIyAgIG00X2Rl
ZmluZShbZmRzYV0sIFtGRFNBXSkKLSMgICBiNF93YXJuX2F0KFtbW2FzZGYpLCBhc2RmXV1dLCBb
W1tmc2EpLCBmc2FdXV0sIFtbW2Zkc2EpLCBmZHNhXV1dKQotIyAgIGI0X3dhcm5fYXQoW1thc2Rm
KSwgYXNkZl1dLCBbW2ZzYSksIGZzYV1dLCBbW2Zkc2EpLCBmZHNhXV0pCi0jICAgYjRfd2Fybl9h
dCgpCi0jICAgYjRfd2Fybl9hdCgxKQotIyAgIGI0X3dhcm5fYXQoMSwgMikKLSMKLSMgU2hvdWxk
IHByb2R1Y2UgdGhpcyB3aXRob3V0IG5ld2xpbmVzOgotIwotIyAgIEB3YXJuX2F0KFthc2RmKSwg
YXNkZl1ALEAsQCxbZnNhKSwgZnNhXUAsW2Zkc2EpLCBmZHNhXUApCi0jICAgQHdhcm4oYXNkZiks
IGFzZGZALEAsQCxmc2EpLCBmc2FALGZkc2EpLCBmZHNhQCkKLSMgICBAd2FybihAKQotIyAgIEB3
YXJuKDFAKQotIyAgIEB3YXJuKDFALDJAKQotbTRfZGVmaW5lKFtiNF93YXJuXSwKLVtiNF9lcnJv
cihbW3dhcm5dXSwgW10sIFtdLCAkQCldKQotCi0jIGI0X3dhcm5fYXQoU1RBUlQsIEVORCwgRk9S
TUFULCBbQVJHMV0sIFtBUkcyXSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgV3JpdGUgQHdhcm4oU1RBUlRALEVOREAsRk9STUFU
QCxBUkcxQCxBUkcyQCwuLi5AKSB0byBzdGRvdXQuCi0jCi0jIEZvciBleGFtcGxlOgotIwotIyAg
IGI0X3dhcm5fYXQoW1tpbnB1dC55OjIuM11dLCBbW2lucHV0Lnk6NS40XV0sIFtbaW52YWxpZCAl
c11dLCBbW2Zvb11dKQotbTRfZGVmaW5lKFtiNF93YXJuX2F0XSwKLVtiNF9lcnJvcihbW3dhcm5d
XSwgJEApXSkKLQotIyBiNF9jb21wbGFpbihGT1JNQVQsIFtBUkcxXSwgW0FSRzJdLCAuLi4pCi0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQm91bmNlIHRvIGI0
X2NvbXBsYWluX2F0LgotIwotIyBTZWUgYjRfd2FybiBleGFtcGxlLgotbTRfZGVmaW5lKFtiNF9j
b21wbGFpbl0sCi1bYjRfZXJyb3IoW1tjb21wbGFpbl1dLCBbXSwgW10sICRAKV0pCi0KLSMgYjRf
Y29tcGxhaW5fYXQoU1RBUlQsIEVORCwgRk9STUFULCBbQVJHMV0sIFtBUkcyXSwgLi4uKQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IFdyaXRlIEBjb21wbGFpbihTVEFSVEAsRU5EQCxGT1JNQVRALEFSRzFALEFSRzJALC4uLkApIHRv
IHN0ZG91dC4KLSMKLSMgU2VlIGI0X3dhcm5fYXQgZXhhbXBsZS4KLW00X2RlZmluZShbYjRfY29t
cGxhaW5fYXRdLAotW2I0X2Vycm9yKFtbY29tcGxhaW5dXSwgJEApXSkKLQotIyBiNF9mYXRhbChG
T1JNQVQsIFtBUkcxXSwgW0FSRzJdLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgQm91bmNlIHRvIGI0X2ZhdGFsX2F0LgotIwotIyBTZWUgYjRfd2FybiBl
eGFtcGxlLgotbTRfZGVmaW5lKFtiNF9mYXRhbF0sCi1bYjRfZXJyb3IoW1tmYXRhbF1dLCBbXSwg
W10sICRAKWRubAotbTRfZXhpdCgxKV0pCi0KLSMgYjRfZmF0YWxfYXQoU1RBUlQsIEVORCwgRk9S
TUFULCBbQVJHMV0sIFtBUkcyXSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFdyaXRlIEBmYXRhbChTVEFSVEAsRU5EQCxGT1JN
QVRALEFSRzFALEFSRzJALC4uLkApIHRvIHN0ZG91dCBhbmQgZXhpdC4KLSMKLSMgU2VlIGI0X3dh
cm5fYXQgZXhhbXBsZS4KLW00X2RlZmluZShbYjRfZmF0YWxfYXRdLAotW2I0X2Vycm9yKFtbZmF0
YWxdXSwgJEApZG5sCi1tNF9leGl0KDEpXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0gIyMKLSMjIERh
dGEgVHlwZXMuICAjIwotIyMgLS0tLS0tLS0tLS0tICMjCi0KLSMgYjRfaW50c19pbihJTlQxLCBJ
TlQyLCBMT1csIEhJR0gpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBS
ZXR1cm4gMSBpZmYgYm90aCBJTlQxIGFuZCBJTlQyIGFyZSBpbiBbTE9XLCBISUdIXSwgMCBvdGhl
cndpc2UuCi1tNF9kZWZpbmUoW2I0X2ludHNfaW5dLAotW200X2V2YWwoWyQzIDw9ICQxICYmICQx
IDw9ICQ0ICYmICQzIDw9ICQyICYmICQyIDw9ICQ0XSldKQotCi0KLSMgYjRfc3VidHJhY3QoTEhT
LCBSSFMpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFdmFsdWF0ZSBMSFMgLSBSSFMgaWYg
dGhleSBhcmUgaW50ZWdlciBsaXRlcmFscywgb3RoZXJ3aXNlIGV4cGFuZAotIyB0byAoTEhTKSAt
IChSSFMpLgotbTRfZGVmaW5lKFtiNF9zdWJ0cmFjdF0sCi1bbTRfYm1hdGNoKFskMSQyXSwgW15b
MDEyMzQ1Njc4OV0qJF0sCi0gICAgICAgICAgIFttNF9ldmFsKFskMSAtICQyXSldLAotICAgICAg
ICAgICBbKCQxKSAtICgkMildKV0pCi0KLSMgYjRfam9pbihBUkcxLCAuLi4pCi0jIF9iNF9qb2lu
KEFSRzEsIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBKb2luIHdpdGggY29tbWEsIHNr
aXBwaW5nIGVtcHR5IGFyZ3VtZW50cy4KLSMgYjRfam9pbiBjYWxscyBpdHNlbGYgcmVjdXJzaXZl
bHkgdW50aWwgaXQgc2VlcyB0aGUgZmlyc3Qgbm9uLWVtcHR5Ci0jIGFyZ3VtZW50LCB0aGVuIGNh
bGxzIF9iNF9qb2luIChpLmUuLCBgXyQwYCkgd2hpY2ggcHJlcGVuZHMgZWFjaAotIyBub24tZW1w
dHkgYXJndW1lbnQgd2l0aCBhIGNvbW1hLgotbTRfZGVmaW5lKFtiNF9qb2luXSwKLVttNF9pZihb
JCMkMV0sCi0gICAgICAgWzFdLCBbXSwKLSAgICAgICBbbTRfaWZ2YWwoWyQxXSwKLSAgICAgICAg
ICAgICAgICAgWyQxW11fJDAobTRfc2hpZnQoJEApKV0sCi0gICAgICAgICAgICAgICAgIFskMCht
NF9zaGlmdCgkQCkpXSldKV0pCi0KLSMgX2I0X2pvaW4oQVJHUzEsIC4uLikKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLW00X2RlZmluZShbX2I0X2pvaW5dLAotW200X2lmKFskIyQxXSwKLSAgICAg
ICBbMV0sIFtdLAotICAgICAgIFttNF9pZnZhbChbJDFdLCBbLCAkMV0pW10kMChtNF9zaGlmdCgk
QCkpXSldKQotCi0KLQotCi0jIGI0X2ludGVncmFsX3BhcnNlcl90YWJsZXNfbWFwKE1BQ1JPKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE1hcCBNQUNSTyBvbiBh
bGwgdGhlIGludGVncmFsIHRhYmxlcy4gIE1BQ1JPIGlzIGV4cGVjdGVkIHRvIGhhdmUKLSMgdGhl
IHNpZ25hdHVyZSBNQUNSTyhUQUJMRS1OQU1FLCBDT05URU5ULCBDT01NRU5UKS4KLW00X2RlZmlu
ZShbYjRfaW50ZWdyYWxfcGFyc2VyX3RhYmxlc19tYXBdLAotWyQxKFtwYWN0XSwgW2I0X3BhY3Rd
LAotICAgIFtbWVlQQUNUW1NUQVRFLU5VTV0gLS0gSW5kZXggaW4gWVlUQUJMRSBvZiB0aGUgcG9y
dGlvbiBkZXNjcmliaW5nCi1TVEFURS1OVU0uXV0pCi0KLSQxKFtkZWZhY3RdLCBbYjRfZGVmYWN0
XSwKLSAgIFtbWVlERUZBQ1RbU1RBVEUtTlVNXSAtLSBEZWZhdWx0IHJlZHVjdGlvbiBudW1iZXIg
aW4gc3RhdGUgU1RBVEUtTlVNLgotUGVyZm9ybWVkIHdoZW4gWVlUQUJMRSBkb2VzIG5vdCBzcGVj
aWZ5IHNvbWV0aGluZyBlbHNlIHRvIGRvLiAgWmVybwotbWVhbnMgdGhlIGRlZmF1bHQgaXMgYW4g
ZXJyb3IuXV0pCi0KLSQxKFtwZ290b10sIFtiNF9wZ290b10sIFtbWVlQR09UT1tOVEVSTS1OVU1d
Ll1dKQotCi0kMShbZGVmZ290b10sIFtiNF9kZWZnb3RvXSwgW1tZWURFRkdPVE9bTlRFUk0tTlVN
XS5dXSkKLQotJDEoW3RhYmxlXSwgW2I0X3RhYmxlXSwKLSAgIFtbWVlUQUJMRVtZWVBBQ1RbU1RB
VEUtTlVNXV0gLS0gV2hhdCB0byBkbyBpbiBzdGF0ZSBTVEFURS1OVU0uICBJZgotcG9zaXRpdmUs
IHNoaWZ0IHRoYXQgdG9rZW4uICBJZiBuZWdhdGl2ZSwgcmVkdWNlIHRoZSBydWxlIHdob3NlCi1u
dW1iZXIgaXMgdGhlIG9wcG9zaXRlLiAgSWYgWVlUQUJMRV9OSU5GLCBzeW50YXggZXJyb3IuXV0p
Ci0KLSQxKFtjaGVja10sIFtiNF9jaGVja10pCi0KLSQxKFtzdG9zXSwgW2I0X3N0b3NdLAotICAg
W1tZWVNUT1NbU1RBVEUtTlVNXSAtLSBUaGUgKGludGVybmFsIG51bWJlciBvZiB0aGUpIGFjY2Vz
c2luZwotc3ltYm9sIG9mIHN0YXRlIFNUQVRFLU5VTS5dXSkKLQotJDEoW3IxXSwgW2I0X3IxXSwK
LSAgIFtbWVlSMVtZWU5dIC0tIFN5bWJvbCBudW1iZXIgb2Ygc3ltYm9sIHRoYXQgcnVsZSBZWU4g
ZGVyaXZlcy5dXSkKLQotJDEoW3IyXSwgW2I0X3IyXSwKLSAgIFtbWVlSMltZWU5dIC0tIE51bWJl
ciBvZiBzeW1ib2xzIG9uIHRoZSByaWdodCBoYW5kIHNpZGUgb2YgcnVsZSBZWU4uXV0pCi1dKQot
Ci0KLSMgYjRfcGFyc2VyX3RhYmxlc19kZWNsYXJlCi0jIGI0X3BhcnNlcl90YWJsZXNfZGVmaW5l
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBEZWZpbmUvZGVjbGFyZSB0aGUgKGRldGVy
bWluaXN0aWMpIHBhcnNlciB0YWJsZXMuCi1tNF9kZWZpbmUoW2I0X3BhcnNlcl90YWJsZXNfZGVj
bGFyZV0sCi1bYjRfaW50ZWdyYWxfcGFyc2VyX3RhYmxlc19tYXAoW2I0X2ludGVncmFsX3BhcnNl
cl90YWJsZV9kZWNsYXJlXSldKQotCi1tNF9kZWZpbmUoW2I0X3BhcnNlcl90YWJsZXNfZGVmaW5l
XSwKLVtiNF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVzX21hcChbYjRfaW50ZWdyYWxfcGFyc2VyX3Rh
YmxlX2RlZmluZV0pXSkKLQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgRGVjb2Rp
bmcgb3B0aW9ucy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBiNF9mbGFnX2lm
KEZMQUcsIElGLVRSVUUsIElGLUZBTFNFKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBSdW4gSUYtVFJVRSBpZiBiNF9GTEFHX2ZsYWcgaXMgMSwgSUYtRkFMU0UgaWYg
RkxBRyBpcyAwLCBvdGhlcndpc2UgZmFpbC4KLW00X2RlZmluZShbYjRfZmxhZ19pZl0sCi1bbTRf
Y2FzZShiNF8kMV9mbGFnLAotICAgICAgICAgWzBdLCBbJDNdLAotICAgICAgICAgWzFdLCBbJDJd
LAotICAgICAgICAgW200X2ZhdGFsKFtpbnZhbGlkICQxIHZhbHVlOiBdYjRfJDFfZmxhZyldKV0p
Ci0KLQotIyBiNF9kZWZpbmVfZmxhZ19pZihGTEFHKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotIyBEZWZpbmUgImI0X0ZMQUdfaWYoSUYtVFJVRSwgSUYtRkFMU0UpIiB0aGF0IGRlcGVuZHMg
b24gdGhlCi0jIHZhbHVlIG9mIHRoZSBCb29sZWFuIEZMQUcuCi1tNF9kZWZpbmUoW2I0X2RlZmlu
ZV9mbGFnX2lmXSwKLVtfYjRfZGVmaW5lX2ZsYWdfaWYoJFsxXSwgJFsyXSwgWyQxXSldKQotCi0j
IF9iNF9kZWZpbmVfZmxhZ19pZigkMSwgJDIsIEZMQUcpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0jIFdvcmsgYXJvdW5kIHRoZSBpbXBvc3NpYmlsaXR5IHRvIGRlZmluZSBt
YWNyb3MgaW5zaWRlIG1hY3JvcywKLSMgYmVjYXVzZSBpc3N1aW5nICdbJDFdJyBpcyBub3QgcG9z
c2libGUgaW4gTTQuICBHTlUgTTQgc2hvdWxkIHByb3ZpZGUKLSMgJCQxIGEgbGEgTTUvVGVYLgot
bTRfZGVmaW5lKFtfYjRfZGVmaW5lX2ZsYWdfaWZdLAotW200X2lmKFskMSQyXSwgJFsxXSRbMl0s
IFtdLAotICAgICAgIFttNF9mYXRhbChbJDA6IEludmFsaWQgYXJndW1lbnRzOiAkQF0pXSlkbmwK
LW00X2RlZmluZShbYjRfJDNfaWZdLAotICAgICAgICAgIFtiNF9mbGFnX2lmKFskM10sIFskMV0s
IFskMl0pXSldKQotCi0KLSMgYjRfRkxBR19pZihJRi1UUlVFLCBJRi1GQUxTRSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kIElGLVRSVUUsIGlmIEZMQUcgaXMgdHJ1
ZSwgSUYtRkFMU0Ugb3RoZXJ3aXNlLgotYjRfZGVmaW5lX2ZsYWdfaWYoW2RlZmluZXNdKSAgICAg
ICAgICAgICMgV2hldGhlciBoZWFkZXJzIGFyZSByZXF1ZXN0ZWQuCi1iNF9kZWZpbmVfZmxhZ19p
ZihbZ2xyXSkgICAgICAgICAgICAgICAgIyBXaGV0aGVyIGEgR0xSIHBhcnNlciBpcyByZXF1ZXN0
ZWQuCi1iNF9kZWZpbmVfZmxhZ19pZihbbm9uZGV0ZXJtaW5pc3RpY10pICAgIyBXaGV0aGVyIGNv
bmZsaWN0cyBzaG91bGQgYmUgaGFuZGxlZC4KLWI0X2RlZmluZV9mbGFnX2lmKFt0b2tlbl90YWJs
ZV0pICAgICAgICAjIFdoZXRoZXIgeXl0b2tlbl90YWJsZSBpcyBkZW1hbmRlZC4KLWI0X2RlZmlu
ZV9mbGFnX2lmKFt5YWNjXSkgICAgICAgICAgICAgICAjIFdoZXRoZXIgUE9TSVggWWFjYyBpcyBl
bXVsYXRlZC4KLQotCi0jIGI0X2dscl9jY19pZihbSUYtVFJVRV0sIFtJRi1GQUxTRV0pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1tNF9kZWZpbmUoW2I0X2dscl9jY19p
Zl0sCi0gICAgICAgICAgW200X2lmKGI0X3NrZWxldG9uLCBbImdsci5jYyJdLCAkQCldKQotCi0K
LSMjIC0tLS0tLS0tLSAjIwotIyMgU3ltYm9scy4gICMjCi0jIyAtLS0tLS0tLS0gIyMKLQotIyBG
b3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgU3ltYm9sIGhhbmRsaW5nLCBzZWUgUkVBRE1FLgotIwot
IyBUaGUgZm9sbG93aW5nIG1hY3JvcyBwcm92aWRlIGFjY2VzcyB0byBzeW1ib2wgcmVsYXRlZCB2
YWx1ZXMuCi0KLSMgX19iNF9zeW1ib2woTlVNLCBGSUVMRCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSMgUmVjb3ZlciBhIEZJRUxEIGFib3V0IHN5bWJvbCAjTlVNLiAgVGhhbmtzIHRvIG00
X2luZGlyLCBmYWlscyBpZgotIyB1bmRlZmluZWQuCi1tNF9kZWZpbmUoW19fYjRfc3ltYm9sXSwK
LVttNF9pbmRpcihbYjRfc3ltYm9sKCQxLCAkMildKV0pCi0KLQotIyBfYjRfc3ltYm9sKE5VTSwg
RklFTEQpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmVjb3ZlciBhIEZJRUxEIGFib3V0
IHN5bWJvbCAjTlVNIChvciAib3JpZyBOVU0iKS4gIEZhaWxzIGlmCi0jIHVuZGVmaW5lZC4KLW00
X2RlZmluZShbX2I0X3N5bWJvbF0sCi1bbTRfaWZkZWYoW2I0X3N5bWJvbCgkMSwgbnVtYmVyKV0s
Ci0gICAgICAgICAgW19fYjRfc3ltYm9sKG00X2luZGlyKFtiNF9zeW1ib2woJDEsIG51bWJlcild
KSwgJDIpXSwKLSAgICAgICAgICBbX19iNF9zeW1ib2woWyQxXSwgWyQyXSldKV0pCi0KLQotCi0j
IGI0X3N5bWJvbChOVU0sIEZJRUxEKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmVjb3Zl
ciBhIEZJRUxEIGFib3V0IHN5bWJvbCAjTlVNIChvciAib3JpZyBOVU0iKS4gIEZhaWxzIGlmCi0j
IHVuZGVmaW5lZC4gIElmIEZJRUxEID0gaWQsIHByZXBlbmQgdGhlIHRva2VuIHByZWZpeC4KLW00
X2RlZmluZShbYjRfc3ltYm9sXSwKLVttNF9jYXNlKFskMl0sCi0gICAgICAgICBbaWRdLCAgICBb
bTRfZG8oW2I0X3BlcmNlbnRfZGVmaW5lX2dldChbYXBpLnRva2VuLnByZWZpeF0pXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBbX2I0X3N5bWJvbChbJDFdLCBbaWRdKV0pXSwKLSAgICAgICAg
IFtfYjRfc3ltYm9sKCRAKV0pXSkKLQotCi0jIGI0X3N5bWJvbF9pZihOVU0sIEZJRUxELCBJRi1U
UlVFLCBJRi1GQUxTRSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotIyBJZiBGSUVMRCBhYm91dCBzeW1ib2wgI05VTSBpcyAxIGV4cGFuZCBJRi1UUlVFLCBp
ZiBpcyAwLCBleHBhbmQgSUYtRkFMU0UuCi0jIE90aGVyd2lzZSBhbiBlcnJvci4KLW00X2RlZmlu
ZShbYjRfc3ltYm9sX2lmXSwKLVttNF9jYXNlKGI0X3N5bWJvbChbJDFdLCBbJDJdKSwKLSAgICAg
ICAgIFsxXSwgWyQzXSwKLSAgICAgICAgIFswXSwgWyQ0XSwKLSAgICAgICAgIFttNF9mYXRhbChb
JDA6IGZpZWxkICQyIG9mICQxIGlzIG5vdCBhIEJvb2xlYW46XSBiNF9zeW1ib2woWyQxXSwgWyQy
XSkpXSldKQotCi0KLSMgYjRfc3ltYm9sX3RhZ19jb21tZW50KFNZTUJPTC1OVU0pCi0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJc3N1ZSBhIGNvbW1lbnQgZ2l2aW5nIHRo
ZSB0YWcgb2Ygc3ltYm9sIE5VTS4KLW00X2RlZmluZShbYjRfc3ltYm9sX3RhZ19jb21tZW50XSwK
LVtiNF9jb21tZW50KFtiNF9zeW1ib2woWyQxXSwgW3RhZ10pXSkKLV0pCi0KLQotIyBiNF9zeW1i
b2xfYWN0aW9uX2xvY2F0aW9uKFNZTUJPTC1OVU0sIEtJTkQpCi0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmVwb3J0IHRoZSBsb2NhdGlvbiBvZiB0aGUg
S0lORCBhY3Rpb24gYXMgRklMRTpMSU5FLgotbTRfZGVmaW5lKFtiNF9zeW1ib2xfYWN0aW9uX2xv
Y2F0aW9uXSwKLVtiNF9zeW1ib2woWyQxXSwgWyQyX2ZpbGVdKTpiNF9zeW5jbGluZShbYjRfc3lt
Ym9sKFskMV0sIFskMl9saW5lXSldKV0pCi0KLQotIyBiNF9zeW1ib2xfYWN0aW9uKFNZTUJPTC1O
VU0sIEtJTkQpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUnVuIHRo
ZSBhY3Rpb24gS0lORCAoZGVzdHJ1Y3RvciBvciBwcmludGVyKSBmb3IgU1lNQk9MLU5VTS4KLW00
X2RlZmluZShbYjRfc3ltYm9sX2FjdGlvbl0sCi1bYjRfc3ltYm9sX2lmKFskMV0sIFtoYXNfJDJd
LAotW2I0X2RvbGxhcl9wdXNoZGVmKFsoKnl5dmFsdWVwKV0sCi0gICAgICAgICAgICAgICAgICAg
WyQxXSwKLSAgICAgICAgICAgICAgICAgICBbXSwKLSAgICAgICAgICAgICAgICAgICBbKCp5eWxv
Y2F0aW9ucCldKWRubAotICAgIF9iNF9zeW1ib2xfY2FzZShbJDFdKVtdZG5sCi1iNF9zeW5jbGlu
ZShbYjRfc3ltYm9sKFskMV0sIFskMl9saW5lXSldLCBbYjRfc3ltYm9sKFskMV0sIFskMl9maWxl
XSldKQotICAgICAgYjRfc3ltYm9sKFskMV0sIFskMl0pCi1iNF9zeW5jbGluZShbQG9saW5lQF0s
IFtAb2ZpbGVAXSkKLSAgICAgICAgYnJlYWs7Ci0KLWI0X2RvbGxhcl9wb3BkZWZbXWRubAotXSld
KQotCi0KLSMgYjRfc3ltYm9sX2Rlc3RydWN0b3IoU1lNQk9MLU5VTSkKLSMgYjRfc3ltYm9sX3By
aW50ZXIoU1lNQk9MLU5VTSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLW00
X2RlZmluZShbYjRfc3ltYm9sX2Rlc3RydWN0b3JdLCBbYjRfc3ltYm9sX2FjdGlvbihbJDFdLCBb
ZGVzdHJ1Y3Rvcl0pXSkKLW00X2RlZmluZShbYjRfc3ltYm9sX3ByaW50ZXJdLCAgICBbYjRfc3lt
Ym9sX2FjdGlvbihbJDFdLCBbcHJpbnRlcl0pXSkKLQotCi0jIGI0X3N5bWJvbF9hY3Rpb25zKEtJ
TkQsIFtUWVBFID0geXl0eXBlXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBFbWl0IHRoZSBzeW1ib2wgYWN0aW9ucyBmb3IgS0lORCAoInByaW50ZXIiIG9y
ICJkZXN0cnVjdG9yIikuCi0jIERpc3BhdGNoIG9uIFRZUEUuCi1tNF9kZWZpbmUoW2I0X3N5bWJv
bF9hY3Rpb25zXSwKLVttNF9wdXNoZGVmKFtiNF9hY3Rpb25zX10sIG00X2V4cGFuZChbYjRfc3lt
Ym9sX2ZvcmVhY2goW2I0X3N5bWJvbF8kMV0pXSkpZG5sCi1tNF9pZnZhbChtNF9kZWZuKFtiNF9h
Y3Rpb25zX10pLAotW3N3aXRjaCAobTRfZGVmYXVsdChbJDJdLCBbeXl0eXBlXSkpCi0gICAgewot
bTRfZGVmbihbYjRfYWN0aW9uc19dKVtdZG5sCi0gICAgICBkZWZhdWx0OgotICAgICAgICBicmVh
azsKLSAgICB9ZG5sCi1dLAotW1lZVVNFIChtNF9kZWZhdWx0KFskMl0sIFt5eXR5cGVdKSk7XSlk
bmwKLW00X3BvcGRlZihbYjRfYWN0aW9uc19dKWRubAotXSkKLQotIyBfYjRfc3ltYm9sX2Nhc2Uo
U1lNQk9MLU5VTSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElzc3VlIGEgImNh
c2UgTlVNIiBmb3IgU1lNQk9MLU5VTS4gIEVuZHMgd2l0aCBpdHMgRU9MIHRvIG1ha2UgaXQKLSMg
ZWFzaWVyIHRvIHVzZSB3aXRoIG00X21hcCwgYnV0IHRoZW4sIHVzZSBbXWRubCB0byBzdXBwcmVz
cyB0aGUgbGFzdAotIyBvbmUuCi1tNF9kZWZpbmUoW19iNF9zeW1ib2xfY2FzZV0sCi1bY2FzZSBi
NF9zeW1ib2woWyQxXSwgW251bWJlcl0pOiBiNF9zeW1ib2xfdGFnX2NvbW1lbnQoWyQxXSldKQot
XSkKLQotCi0jIGI0X3N5bWJvbF9mb3JlYWNoKE1BQ1JPKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSMgSW52b2tlIE1BQ1JPKFNZTUJPTC1OVU0pIGZvciBlYWNoIFNZTUJPTC1OVU0uCi1t
NF9kZWZpbmUoW2I0X3N5bWJvbF9mb3JlYWNoXSwKLSAgICAgICAgICBbbTRfbWFwKFskMV0sIG00
X2RlZm4oW2I0X3N5bWJvbF9udW1iZXJzXSkpXSkKLQotIyBiNF9zeW1ib2xfbWFwKE1BQ1JPKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSZXR1cm4gYSBsaXN0IChwb3NzaWJseSBlbXB0eSBl
bGVtZW50cykgb2YgTUFDUk8gaW52b2tlZCBmb3IgZWFjaAotIyBTWU1CT0wtTlVNLgotbTRfZGVm
aW5lKFtiNF9zeW1ib2xfbWFwXSwKLVttNF9tYXBfYXJnc19zZXAoWyQxKF0sIFspXSwgWyxdLCBi
NF9zeW1ib2xfbnVtYmVycyldKQotCi0KLSMgYjRfdG9rZW5fdmlzaWJsZV9pZihOVU0sIElGLVRS
VUUsIElGLUZBTFNFKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIFdoZXRoZXIgTlVNIGRlbm90ZXMgYSB0b2tlbiB0aGF0IGhhcyBhbiBleHBvcnRlZCBk
ZWZpbml0aW9uIChpLmUuLAotIyBzaG93cyBpbiBlbnVtIHl5dG9rZW50eXBlKS4KLW00X2RlZmlu
ZShbYjRfdG9rZW5fdmlzaWJsZV9pZl0sCi1bYjRfc3ltYm9sX2lmKFskMV0sIFtpc190b2tlbl0s
Ci0gICAgICAgICAgICAgIFtiNF9zeW1ib2xfaWYoWyQxXSwgW2hhc19pZF0sIFskMl0sIFskM10p
XSwKLSAgICAgICAgICAgICAgWyQzXSldKQotCi0jIGI0X3Rva2VuX2hhc19kZWZpbml0aW9uKE5V
TSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyAxIGlmIE5VTSBpcyB2aXNpYmxl
LCBub3RoaW5nIG90aGVyd2lzZS4KLW00X2RlZmluZShbYjRfdG9rZW5faGFzX2RlZmluaXRpb25d
LAotW2I0X3Rva2VuX3Zpc2libGVfaWYoWyQxXSwgWzFdKV0pCi0KLSMgYjRfYW55X3Rva2VuX3Zp
c2libGVfaWYoW0lGLVRSVUVdLCBbSUYtRkFMU0VdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFdoZXRoZXIgdGhlcmUgaXMgYSB0b2tlbiB0aGF0
IG5lZWRzIHRvIGJlIGRlZmluZWQuCi1tNF9kZWZpbmUoW2I0X2FueV90b2tlbl92aXNpYmxlX2lm
XSwKLVttNF9pZnZhbChiNF9zeW1ib2xfZm9yZWFjaChbYjRfdG9rZW5faGFzX2RlZmluaXRpb25d
KSwKLSAgICAgICAgICBbJDFdLCBbJDJdKV0pCi0KLQotIyBiNF90b2tlbl9mb3JtYXQoRk9STUFU
LCBOVU0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfdG9r
ZW5fZm9ybWF0XSwKLVtiNF90b2tlbl92aXNpYmxlX2lmKFskMl0sCi1bbTRfcXVvdGUobTRfZm9y
bWF0KFskMV0sCi0gICAgICAgICAgICAgICAgICAgICBbYjRfc3ltYm9sKFskMl0sIFtpZF0pXSwK
LSAgICAgICAgICAgICAgICAgICAgIFtiNF9zeW1ib2woWyQyXSwgW3VzZXJfbnVtYmVyXSldKSld
KV0pCi0KLQotIyMgLS0tLS0tLSAjIwotIyMgVHlwZXMuICAjIwotIyMgLS0tLS0tLSAjIwotCi0j
IF9iNF90eXBlX2FjdGlvbihOVU1TKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUnVuIGFj
dGlvbnMgZm9yIHRoZSBzeW1ib2wgTlVNUyB0aGF0IGFsbCBoYXZlIHRoZSBzYW1lIHR5cGUtbmFt
ZS4KLSMgU2tpcCBOVU1TIHRoYXQgaGF2ZSBubyB0eXBlLW5hbWUuCi0jCi0jIFRvIHNwZWNpZnkg
dGhlIGFjdGlvbiB0byBydW4sIGRlZmluZSBiNF9kb2xsYXJfZG9sbGFyKFNZTUJPTC1OVU0sCi0j
IFRBRywgVFlQRSkuCi1tNF9kZWZpbmUoW19iNF90eXBlX2FjdGlvbl0sCi1bYjRfc3ltYm9sX2lm
KFskMV0sIFtoYXNfdHlwZV0sCi1bbTRfbWFwKFsgICAgICBfYjRfc3ltYm9sX2Nhc2VdLCBbJEBd
KVtdZG5sCi0gICAgICAgIGI0X2RvbGxhcl9kb2xsYXIoW2I0X3N5bWJvbChbJDFdLCBbbnVtYmVy
XSldLAotICAgICAgICAgICAgICAgICAgICAgICAgIFtiNF9zeW1ib2woWyQxXSwgW3RhZ10pXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBbYjRfc3ltYm9sKFskMV0sIFt0eXBlXSldKTsKLSAg
ICAgICAgYnJlYWs7Ci0KLV0pXSkKLQotIyBiNF90eXBlX2ZvcmVhY2goTUFDUk8pCi0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgSW52b2tlIE1BQ1JPKFNZTUJPTC1OVU1TKSBmb3IgZWFjaCBz
ZXQgb2YgU1lNQk9MLU5VTVMgZm9yIGVhY2ggdHlwZSBzZXQuCi1tNF9kZWZpbmUoW2I0X3R5cGVf
Zm9yZWFjaF0sCi0gICAgICAgICAgW200X21hcChbJDFdLCBtNF9kZWZuKFtiNF90eXBlX25hbWVz
XSkpXSkKLQotCi0KLSMjIC0tLS0tLS0tLS0tICMjCi0jIyBTeW5jbGluZXMuICAjIwotIyMgLS0t
LS0tLS0tLS0gIyMKLQotIyBiNF9iYXNlbmFtZShOQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLQot
IyBTaW1pbGFyIHRvIFBPU0lYIGJhc2VuYW1lOyB0aGUgZGlmZmVyZW5jZXMgZG9uJ3QgbWF0dGVy
IGhlcmUuCi0jIEJld2FyZSB0aGF0IE5BTUUgaXMgbm90IGV2YWx1YXRlZC4KLW00X2RlZmluZShb
YjRfYmFzZW5hbWVdLAotW200X2JwYXRzdWJzdChbJDFdLCBbXi4qL1woW14vXStcKS8qJF0sIFtc
MV0pXSkKLQotCi0jIGI0X3N5bmNsaW5lKExJTkUsIEZJTEUpCi0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi1tNF9kZWZpbmUoW2I0X3N5bmNsaW5lXSwKLVtiNF9mbGFnX2lmKFtzeW5jbGluZXNd
LAotW2I0X3N5bmNfc3RhcnQoWyQxXSwgWyQyXSkgYjRfc3luY19lbmQoW19fbGluZV9fXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiNF9iYXNlbmFtZShtNF9xdW90
ZShfX2ZpbGVfXykpXSlbXWRubAotXSldKQotCi0jIGI0X3N5bmNfc3RhcnQoTElORSwgRklMRSkK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgU3luY2xpbmUgZm9yIHRoZSBuZXcgcGxhY2Uu
ICBUeXBpY2FsbHkgYSBkaXJlY3RpdmUgZm9yIHRoZSBjb21waWxlci4KLW00X2RlZmluZShbYjRf
c3luY19zdGFydF0sIFtiNF9jb21tZW50KFskMjokMV0pXSkKLQotIyBiNF9zeW5jX2VuZChMSU5F
LCBGSUxFKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTeW5jbGluZSBmb3IgdGhlIGN1
cnJlbnQgcGxhY2UsIHdoaWNoIGVuZHMuICBUeXBpY2FsbHkgYSBjb21tZW50Ci0jIGxlZnQgZm9y
IHRoZSByZWFkZXIuCi1tNF9kZWZpbmUoW2I0X3N5bmNfZW5kXSwgICBbYjRfY29tbWVudChbJDI6
JDFdKV0pCi0KLQotIyBiNF91c2VyX2NvZGUoVVNFUi1DT0RFKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBFbWl0IGNvZGUgZnJvbSB0aGUgdXNlciwgZW5kaW5nIGl0IHdpdGggc3luY2xp
bmVzLgotbTRfZGVmaW5lKFtiNF91c2VyX2NvZGVdLAotWyQxCi1iNF9zeW5jbGluZShbQG9saW5l
QF0sIFtAb2ZpbGVAXSldKQotCi0KLSMgYjRfZGVmaW5lX3VzZXJfY29kZShNQUNSTywgQ09NTUVO
VCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRnJvbSBiNF9NQUNS
TywgaWYgZGVmaW5lZCwgYnVpbGQgYjRfdXNlcl9NQUNSTyB0aGF0IGluY2x1ZGVzIHRoZSBzeW5j
bGluZXMuCi1tNF9kZWZpbmUoW2I0X2RlZmluZV91c2VyX2NvZGVdLAotW200X2RlZmluZShbYjRf
dXNlcl8kMV0sCi0gICAgICAgICAgIFttNF9pZmRlZihbYjRfJDFdLAotICAgICAgICAgICAgICAg
ICAgICAgW200X2lmdmFsKFskMl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2I0
X2NvbW1lbnQoWyQyXSkKLV0pYjRfdXNlcl9jb2RlKFtiNF8kMV0pXSldKV0pCi0KLSMgYjRfdXNl
cl9hY3Rpb25zCi0jIGI0X3VzZXJfaW5pdGlhbF9hY3Rpb24KLSMgYjRfdXNlcl9wb3N0X3Byb2xv
Z3VlCi0jIGI0X3VzZXJfcHJlX3Byb2xvZ3VlCi0jIGI0X3VzZXJfdW5pb25fbWVtYmVycwotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE1hY3JvcyB0aGF0IGlzc3VlIHVzZXIgY29kZSwgZW5k
aW5nIHdpdGggc3luY2xpbmVzLgotYjRfZGVmaW5lX3VzZXJfY29kZShbYWN0aW9uc10pCi1iNF9k
ZWZpbmVfdXNlcl9jb2RlKFtpbml0aWFsX2FjdGlvbl0sIFtVc2VyIGluaXRpYWxpemF0aW9uIGNv
ZGUuXSkKLWI0X2RlZmluZV91c2VyX2NvZGUoW3Bvc3RfcHJvbG9ndWVdLCBbU2Vjb25kIHBhcnQg
b2YgdXNlciBwcm9sb2d1ZS5dKQotYjRfZGVmaW5lX3VzZXJfY29kZShbcHJlX3Byb2xvZ3VlXSwg
W0ZpcnN0IHBhcnQgb2YgdXNlciBwcm9sb2d1ZS5dKQotYjRfZGVmaW5lX3VzZXJfY29kZShbdW5p
b25fbWVtYmVyc10pCi0KLQotIyBiNF9jaGVja191c2VyX25hbWVzKFdIQVQsIFVTRVItTElTVCwg
QklTT04tTkFNRVNQQUNFKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotIyBDb21wbGFpbiBpZiBhbnkgbmFtZSBvZiB0eXBlIFdIQVQgaXMg
dXNlZCBieSB0aGUgdXNlciAoYXMgcmVjb3JkZWQgaW4KLSMgVVNFUi1MSVNUKSBidXQgaXMgbm90
IHVzZWQgYnkgQmlzb24gKGFzIHJlY29yZGVkIGJ5IG1hY3JvcyBpbiB0aGUKLSMgbmFtZXNwYWNl
IEJJU09OLU5BTUVTUEFDRSkuCi0jCi0jIFVTRVItTElTVCBtdXN0IGV4cGFuZCB0byBhIGxpc3Qg
c3BlY2lmeWluZyBhbGwgdXNlciBvY2N1cnJlbmNlcyBvZiBhbGwgbmFtZXMKLSMgb2YgdHlwZSBX
SEFULiAgIEVhY2ggaXRlbSBpbiB0aGUgbGlzdCBtdXN0IGJlIGEgdHJpcGxldCBzcGVjaWZ5aW5n
IG9uZQotIyBvY2N1cnJlbmNlOiBuYW1lLCBzdGFydCBib3VuZGFyeSwgYW5kIGVuZCBib3VuZGFy
eS4gIEVtcHR5IHN0cmluZyBuYW1lcyBhcmUKLSMgZmluZS4gIEFuIGVtcHR5IGxpc3QgaXMgZmlu
ZS4KLSMKLSMgRm9yIGV4YW1wbGUsIHRvIGRlZmluZSBiNF9mb29fdXNlcl9uYW1lcyB0byBiZSB1
c2VkIGZvciBVU0VSLUxJU1Qgd2l0aCB0aHJlZQotIyBuYW1lIG9jY3VycmVuY2VzIGFuZCB3aXRo
IGNvcnJlY3QgcXVvdGluZzoKLSMKLSMgICBtNF9kZWZpbmUoW2I0X2Zvb191c2VyX25hbWVzXSwK
LSMgICAgICAgICAgICAgW1tbW1tbYmFyXV0sIFtbcGFyc2VyLnk6MS43XV0sIFtbcGFyc2VyLnk6
MS4xNl1dXV0sCi0jICAgICAgICAgICAgICAgW1tbW2Jhcl1dLCBbW3BhcnNlci55OjUuN11dLCBb
W3BhcnNlci55OjUuMTZdXV1dLAotIyAgICAgICAgICAgICAgIFtbW1tiYXpdXSwgW1twYXJzZXIu
eTo4LjddXSwgW1twYXJzZXIueTo4LjE2XV1dXV1dKQotIwotIyBUaGUgbWFjcm8gQklTT04tTkFN
RVNQQUNFKGJhcikgbXVzdCBiZSBkZWZpbmVkIGlmZiB0aGUgbmFtZSBiYXIgb2YgdHlwZSBXSEFU
Ci0jIGlzIHVzZWQgYnkgQmlzb24gKGluIHRoZSBmcm9udC1lbmQgb3IgaW4gdGhlIHNrZWxldG9u
KS4gIEVtcHR5IHN0cmluZyBuYW1lcwotIyBhcmUgZmluZSwgYnV0IGl0IHdvdWxkIGJlIHVnbHkg
Zm9yIEJpc29uIHRvIGFjdHVhbGx5IHVzZSBvbmUuCi0jCi0jIEZvciBleGFtcGxlLCB0byB1c2Ug
YjRfZm9vX2Jpc29uX25hbWVzIGZvciBCSVNPTi1OQU1FU1BBQ0UgYW5kIGRlZmluZSB0aGF0Ci0j
IHRoZSBuYW1lcyBiYXIgYW5kIGJheiBhcmUgdXNlZCBieSBCaXNvbjoKLSMKLSMgICBtNF9kZWZp
bmUoW2I0X2Zvb19iaXNvbl9uYW1lcyhiYXIpXSkKLSMgICBtNF9kZWZpbmUoW2I0X2Zvb19iaXNv
bl9uYW1lcyhiYXopXSkKLSMKLSMgVG8gaW52b2tlIGI0X2NoZWNrX3VzZXJfbmFtZXMgd2l0aCBU
WVBFIGZvbywgd2l0aCBVU0VSLUxJU1QKLSMgYjRfZm9vX3VzZXJfbmFtZXMsIHdpdGggQklTT04t
TkFNRVNQQUNFIGI0X2Zvb19iaXNvbl9uYW1lcywgYW5kIHdpdGggY29ycmVjdAotIyBxdW90aW5n
OgotIwotIyAgIGI0X2NoZWNrX3VzZXJfbmFtZXMoW1tmb29dXSwgW2I0X2Zvb191c2VyX25hbWVz
XSwKLSMgICAgICAgICAgICAgICAgICAgICAgIFtbYjRfZm9vX2Jpc29uX25hbWVzXV0pCi1tNF9k
ZWZpbmUoW2I0X2NoZWNrX3VzZXJfbmFtZXNdLAotW200X2ZvcmVhY2goW2I0X29jY3VycmVuY2Vd
LCAkMiwKLVttNF9wdXNoZGVmKFtiNF9vY2N1cnJlbmNlXSwgYjRfb2NjdXJyZW5jZSlkbmwKLW00
X3B1c2hkZWYoW2I0X3VzZXJfbmFtZV0sIG00X2NhcihiNF9vY2N1cnJlbmNlKSlkbmwKLW00X3B1
c2hkZWYoW2I0X3N0YXJ0XSwgbTRfY2FyKG00X3NoaWZ0KGI0X29jY3VycmVuY2UpKSlkbmwKLW00
X3B1c2hkZWYoW2I0X2VuZF0sIG00X3NoaWZ0KG00X3NoaWZ0KGI0X29jY3VycmVuY2UpKSlkbmwK
LW00X2lmbmRlZigkM1soXW00X3F1b3RlKGI0X3VzZXJfbmFtZSlbKV0sCi0gICAgICAgICAgW2I0
X2NvbXBsYWluX2F0KFtiNF9zdGFydF0sIFtiNF9lbmRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBbWyVzICclcycgaXMgbm90IHVzZWRdXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
WyQxXSwgW2I0X3VzZXJfbmFtZV0pXSlbXWRubAotbTRfcG9wZGVmKFtiNF9vY2N1cnJlbmNlXSlk
bmwKLW00X3BvcGRlZihbYjRfdXNlcl9uYW1lXSlkbmwKLW00X3BvcGRlZihbYjRfc3RhcnRdKWRu
bAotbTRfcG9wZGVmKFtiNF9lbmRdKWRubAotXSldKQotCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMjCi0jIyBiNF9wZXJjZW50X2RlZmluZV8qLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAjIwotCi0KLSMgYjRfcGVyY2VudF9kZWZpbmVfdXNlKFZBUklBQkxFKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlY2xhcmUgdGhhdCBWQVJJQUJMRSB3YXMg
dXNlZC4KLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfdXNlXSwKLVttNF9kZWZpbmUoW2I0
X3BlcmNlbnRfZGVmaW5lX2Jpc29uX3ZhcmlhYmxlcyhdJDFbKV0pZG5sCi1dKQotCi0jIGI0X3Bl
cmNlbnRfZGVmaW5lX2dldChWQVJJQUJMRSwgW0RFRkFVTFRdKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTWltaWMgbXVzY2xlX3BlcmNlbnRfZGVmaW5l
X2dldCBpbiAuLi9zcmMvbXVzY2xlLXRhYi5oLiAgVGhhdCBpcywgaWYKLSMgdGhlICVkZWZpbmUg
dmFyaWFibGUgVkFSSUFCTEUgaXMgZGVmaW5lZCwgZW1pdCBpdHMgdmFsdWUuICBDb250cmFyeQot
IyB0byBpdHMgQyBjb3VudGVycGFydCwgcmV0dXJuIERFRkFVTFQgb3RoZXJ3aXNlLiAgQWxzbywg
cmVjb3JkCi0jIEJpc29uJ3MgdXNhZ2Ugb2YgVkFSSUFCTEUgYnkgZGVmaW5pbmcKLSMgYjRfcGVy
Y2VudF9kZWZpbmVfYmlzb25fdmFyaWFibGVzKFZBUklBQkxFKS4KLSMKLSMgRm9yIGV4YW1wbGU6
Ci0jCi0jICAgYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbZm9vXV0pCi1tNF9kZWZpbmUoW2I0X3Bl
cmNlbnRfZGVmaW5lX2dldF0sCi1bYjRfcGVyY2VudF9kZWZpbmVfdXNlKFskMV0pZG5sCi1fYjRf
cGVyY2VudF9kZWZpbmVfaWZkZWYoWyQxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBbbTRf
aW5kaXIoW2I0X3BlcmNlbnRfZGVmaW5lKF0kMVspXSldLAotICAgICAgICAgICAgICAgICAgICAg
ICAgIFskMl0pXSkKLQotIyBiNF9wZXJjZW50X2RlZmluZV9nZXRfbG9jKFZBUklBQkxFKQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBNaW1pYyBtdXNjbGVfcGVyY2Vu
dF9kZWZpbmVfZ2V0X2xvYyBpbiAuLi9zcmMvbXVzY2xlLXRhYi5oIGV4YWN0bHkuICBUaGF0IGlz
LAotIyBpZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyB1bmRlZmluZWQsIGNvbXBs
YWluIGZhdGFsbHkgc2luY2UgdGhhdCdzCi0jIGEgQmlzb24gb3Igc2tlbGV0b24gZXJyb3IuICBP
dGhlcndpc2UsIHJldHVybiBpdHMgZGVmaW5pdGlvbiBsb2NhdGlvbiBpbiBhCi0jIGZvcm0gYXBw
cm9wcmlhdGUgZm9yIHRoZSBmaXJzdCB0d28gYXJndW1lbnRzIG9mIGI0X3dhcm5fYXQsIGI0X2Nv
bXBsYWluX2F0LCBvcgotIyBiNF9mYXRhbF9hdC4gIERvbid0IHJlY29yZCB0aGlzIGFzIGEgQmlz
b24gdXNhZ2Ugb2YgVkFSSUFCTEUgYXMgdGhlcmUncyBubwotIyByZWFzb24gdG8gc3VzcGVjdCB0
aGF0IHRoZSB1c2VyLXN1cHBsaWVkIHZhbHVlIGhhcyB5ZXQgaW5mbHVlbmNlZCB0aGUgb3V0cHV0
LgotIwotIyBGb3IgZXhhbXBsZToKLSMKLSMgICBiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50X2Rl
ZmluZV9nZXRfbG9jKFtbZm9vXV0pLCBbW2ludmFsaWQgZm9vXV0pCi1tNF9kZWZpbmUoW2I0X3Bl
cmNlbnRfZGVmaW5lX2dldF9sb2NdLAotW200X2lmZGVmKFtiNF9wZXJjZW50X2RlZmluZV9sb2Mo
XSQxWyldLAotICAgICAgICAgIFttNF9wdXNoZGVmKFtiNF9sb2NdLCBtNF9pbmRpcihbYjRfcGVy
Y2VudF9kZWZpbmVfbG9jKF0kMVspXSkpZG5sCi1iNF9sb2NbXWRubAotbTRfcG9wZGVmKFtiNF9s
b2NdKV0sCi0gICAgICAgICAgW2I0X2ZhdGFsKFtbJDA6IHVuZGVmaW5lZCAlJWRlZmluZSB2YXJp
YWJsZSAnJXMnXV0sIFskMV0pXSldKQotCi0jIGI0X3BlcmNlbnRfZGVmaW5lX2dldF9raW5kKFZB
UklBQkxFKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgR2V0IHRo
ZSBraW5kIChjb2RlLCBrZXl3b3JkLCBzdHJpbmcpIG9mIFZBUklBQkxFLCBpLmUuLCBob3cgaXRz
Ci0jIHZhbHVlIHdhcyBkZWZpbmVkIChicmFjZXMsIG5vdCBkZWxpbWl0ZXJzLCBxdW90ZXMpLgot
IwotIyBJZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyB1bmRlZmluZWQsIGNvbXBs
YWluIGZhdGFsbHkKLSMgc2luY2UgdGhhdCdzIGEgQmlzb24gb3Igc2tlbGV0b24gZXJyb3IuICBE
b24ndCByZWNvcmQgdGhpcyBhcyBhCi0jIEJpc29uIHVzYWdlIG9mIFZBUklBQkxFIGFzIHRoZXJl
J3Mgbm8gcmVhc29uIHRvIHN1c3BlY3QgdGhhdCB0aGUKLSMgdXNlci1zdXBwbGllZCB2YWx1ZSBo
YXMgeWV0IGluZmx1ZW5jZWQgdGhlIG91dHB1dC4KLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZp
bmVfZ2V0X2tpbmRdLAotW200X2lmZGVmKFtiNF9wZXJjZW50X2RlZmluZV9raW5kKF0kMVspXSwK
LSAgICAgICAgICBbbTRfaW5kaXIoW2I0X3BlcmNlbnRfZGVmaW5lX2tpbmQoXSQxWyldKV0sCi0g
ICAgICAgICAgW2I0X2ZhdGFsKFtbJDA6IHVuZGVmaW5lZCAlJWRlZmluZSB2YXJpYWJsZSAnJXMn
XV0sIFskMV0pXSldKQotCi0jIGI0X3BlcmNlbnRfZGVmaW5lX2dldF9zeW5jbGluZShWQVJJQUJM
RSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBNaW1pYyBt
dXNjbGVfcGVyY2VudF9kZWZpbmVfZ2V0X3N5bmNsaW5lIGluIC4uL3NyYy9tdXNjbGUtdGFiLmgg
ZXhhY3RseS4KLSMgVGhhdCBpcywgaWYgdGhlICVkZWZpbmUgdmFyaWFibGUgVkFSSUFCTEUgaXMg
dW5kZWZpbmVkLCBjb21wbGFpbiBmYXRhbGx5Ci0jIHNpbmNlIHRoYXQncyBhIEJpc29uIG9yIHNr
ZWxldG9uIGVycm9yLiAgT3RoZXJ3aXNlLCByZXR1cm4gaXRzIGRlZmluaXRpb24KLSMgbG9jYXRp
b24gYXMgYSBiNF9zeW5jbGluZSBpbnZvY2F0aW9uLiAgRG9uJ3QgcmVjb3JkIHRoaXMgYXMgYSBC
aXNvbiB1c2FnZSBvZgotIyBWQVJJQUJMRSBhcyB0aGVyZSdzIG5vIHJlYXNvbiB0byBzdXNwZWN0
IHRoYXQgdGhlIHVzZXItc3VwcGxpZWQgdmFsdWUgaGFzIHlldAotIyBpbmZsdWVuY2VkIHRoZSBv
dXRwdXQuCi0jCi0jIEZvciBleGFtcGxlOgotIwotIyAgIGI0X3BlcmNlbnRfZGVmaW5lX2dldF9z
eW5jbGluZShbW2Zvb11dKQotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9nZXRfc3luY2xp
bmVdLAotW200X2lmZGVmKFtiNF9wZXJjZW50X2RlZmluZV9zeW5jbGluZShdJDFbKV0sCi0gICAg
ICAgICAgW200X2luZGlyKFtiNF9wZXJjZW50X2RlZmluZV9zeW5jbGluZShdJDFbKV0pXSwKLSAg
ICAgICAgICBbYjRfZmF0YWwoW1skMDogdW5kZWZpbmVkICUlZGVmaW5lIHZhcmlhYmxlICclcydd
XSwgWyQxXSldKV0pCi0KLSMgX2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFZBUklBQkxFLCBJRi1U
UlVFLCBbSUYtRkFMU0VdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgdGhlICVkZWZpbmUgdmFyaWFibGUgVkFSSUFCTEUgaXMg
ZGVmaW5lZCwgZXhwYW5kIElGLVRSVUUsIGVsc2UgZXhwYW5kCi0jIElGLUZBTFNFLiAgRG9uJ3Qg
cmVjb3JkIHVzYWdlIG9mIFZBUklBQkxFLgotIwotIyBGb3IgZXhhbXBsZToKLSMKLSMgICBfYjRf
cGVyY2VudF9kZWZpbmVfaWZkZWYoW1tmb29dXSwgW1tpdCdzIGRlZmluZWRdXSwgW1tpdCdzIHVu
ZGVmaW5lZF1dKQotbTRfZGVmaW5lKFtfYjRfcGVyY2VudF9kZWZpbmVfaWZkZWZdLAotW200X2lm
ZGVmKFtiNF9wZXJjZW50X2RlZmluZShdJDFbKV0sCi0gICAgICAgICAgWyQyXSwKLSAgICAgICAg
ICBbJDNdKV0pCi0KLSMgYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoVkFSSUFCTEUsIElGLVRSVUUs
IFtJRi1GQUxTRV0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotIyBNaW1pYyBtdXNjbGVfcGVyY2VudF9kZWZpbmVfaWZkZWYgaW4gLi4v
c3JjL211c2NsZS10YWIuaCBleGFjdGx5LiAgVGhhdCBpcywKLSMgaWYgdGhlICVkZWZpbmUgdmFy
aWFibGUgVkFSSUFCTEUgaXMgZGVmaW5lZCwgZXhwYW5kIElGLVRSVUUsIGVsc2UgZXhwYW5kCi0j
IElGLUZBTFNFLiAgQWxzbywgcmVjb3JkIEJpc29uJ3MgdXNhZ2Ugb2YgVkFSSUFCTEUgYnkgZGVm
aW5pbmcKLSMgYjRfcGVyY2VudF9kZWZpbmVfYmlzb25fdmFyaWFibGVzKFZBUklBQkxFKS4KLSMK
LSMgRm9yIGV4YW1wbGU6Ci0jCi0jICAgYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoW1tmb29dXSwg
W1tpdCdzIGRlZmluZWRdXSwgW1tpdCdzIHVuZGVmaW5lZF1dKQotbTRfZGVmaW5lKFtiNF9wZXJj
ZW50X2RlZmluZV9pZmRlZl0sCi1bX2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFskMV0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgW2I0X3BlcmNlbnRfZGVmaW5lX3VzZShbJDFdKSQyXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBbJDNdKV0pCi0KLQotIyBiNF9wZXJjZW50X2RlZmluZV9j
aGVja19maWxlX2NvbXBsYWluKFZBUklBQkxFKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBXYXJuIGFib3V0ICVkZWZpbmUgdmFyaWFibGUgVkFS
SUFCTEUgaGF2aW5nIGFuIGluY29ycmVjdAotIyB2YWx1ZS4KLW00X2RlZmluZShbYjRfcGVyY2Vu
dF9kZWZpbmVfY2hlY2tfZmlsZV9jb21wbGFpbl0sCi1bYjRfY29tcGxhaW5fYXQoYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0X2xvYyhbJDFdKSwKLSAgICAgICAgICAgICAgICBbWyUlZGVmaW5lIHZhcmlh
YmxlICclcycgcmVxdWlyZXMgJ25vbmUnIG9yICciLi4uIicgdmFsdWVzXV0sCi0gICAgICAgICAg
ICAgICAgWyQxXSldKQotCi0KLSMgYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfZmlsZShNQUNSTywg
VkFSSUFCTEUsIERFRkFVTFQpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRToK
LSMgLSBpcyB1bmRlZmluZWQsIHRoZW4gaWYgREVGQVVMVCBpcyBub24tZW1wdHksIGRlZmluZSBN
QUNSTyB0byBERUZBVUxUCi0jIC0gaXMgYSBzdHJpbmcsIGRlZmluZSBNQUNSTyB0byBpdHMgdmFs
dWUKLSMgLSBpcyB0aGUga2V5d29yZCAnbm9uZScsIGRvIG5vdGhpbmcKLSMgLSBvdGhlcndpc2Us
IHdhcm4gYWJvdXQgdGhlIGluY29ycmVjdCB2YWx1ZS4KLW00X2RlZmluZShbYjRfcGVyY2VudF9k
ZWZpbmVfY2hlY2tfZmlsZV0sCi1bYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoWyQyXSwKLSAgW200
X2Nhc2UoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2tpbmQoWyQyXSksCi0gICAgW3N0cmluZ10sCi0g
ICAgICAgICBbbTRfZGVmaW5lKFskMV0sIGI0X3BlcmNlbnRfZGVmaW5lX2dldChbJDJdKSldLAot
ICAgIFtrZXl3b3JkXSwKLSAgICAgICAgIFttNF9pZihiNF9wZXJjZW50X2RlZmluZV9nZXQoWyQy
XSksIFtub25lXSwgW10sCi0gICAgICAgICAgICAgICAgW2I0X3BlcmNlbnRfZGVmaW5lX2NoZWNr
X2ZpbGVfY29tcGxhaW4oWyQyXSldKV0sCi0gICAgW2I0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX2Zp
bGVfY29tcGxhaW4oWyQyXSldKQotICAgXSwKLSAgIFttNF9pZnZhbChbJDNdLAotICAgICAgICAg
ICAgIFttNF9kZWZpbmUoWyQxXSwgWyQzXSldKV0pCi1dKQotCi0KLQotIyMgLS0tLS0tLS0tICMj
Ci0jIyBPcHRpb25zLiAgIyMKLSMjIC0tLS0tLS0tLSAjIwotCi0KLSMgYjRfcGVyY2VudF9kZWZp
bmVfZmxhZ19pZihWQVJJQUJMRSwgSUYtVFJVRSwgW0lGLUZBTFNFXSkKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTWltaWMgbXVz
Y2xlX3BlcmNlbnRfZGVmaW5lX2ZsYWdfaWYgaW4gLi4vc3JjL211c2NsZS10YWIuaCBleGFjdGx5
LiAgVGhhdCBpcywKLSMgaWYgdGhlICVkZWZpbmUgdmFyaWFibGUgVkFSSUFCTEUgaXMgZGVmaW5l
ZCB0byAiIiBvciAidHJ1ZSIsIGV4cGFuZCBJRi1UUlVFLgotIyBJZiBpdCBpcyBkZWZpbmVkIHRv
ICJmYWxzZSIsIGV4cGFuZCBJRi1GQUxTRS4gIENvbXBsYWluIGlmIGl0IGlzIHVuZGVmaW5lZAot
IyAoYSBCaXNvbiBvciBza2VsZXRvbiBlcnJvciBzaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZSBzaG91
bGQgaGF2ZSBiZWVuIHNldAotIyBhbHJlYWR5KSBvciBkZWZpbmVkIHRvIGFueSBvdGhlciB2YWx1
ZSAocG9zc2libHkgYSB1c2VyIGVycm9yKS4gIEFsc28sIHJlY29yZAotIyBCaXNvbidzIHVzYWdl
IG9mIFZBUklBQkxFIGJ5IGRlZmluaW5nCi0jIGI0X3BlcmNlbnRfZGVmaW5lX2Jpc29uX3Zhcmlh
YmxlcyhWQVJJQUJMRSkuCi0jCi0jIEZvciBleGFtcGxlOgotIwotIyAgIGI0X3BlcmNlbnRfZGVm
aW5lX2ZsYWdfaWYoW1tmb29dXSwgW1tpdCdzIHRydWVdXSwgW1tpdCdzIGZhbHNlXV0pCi1tNF9k
ZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2ZsYWdfaWZdLAotW2I0X3BlcmNlbnRfZGVmaW5lX2lm
ZGVmKFskMV0sCi0gIFttNF9jYXNlKGI0X3BlcmNlbnRfZGVmaW5lX2dldChbJDFdKSwKLSAgICAg
ICAgICAgW10sIFskMl0sIFt0cnVlXSwgWyQyXSwgW2ZhbHNlXSwgWyQzXSwKLSAgICAgICAgICAg
W200X2V4cGFuZF9vbmNlKFtiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50X2RlZmluZV9nZXRfbG9j
KFskMV0pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbaW52
YWxpZCB2YWx1ZSBmb3IgJSVkZWZpbmUgQm9vbGVhbiB2YXJpYWJsZSAnJXMnXV0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyQxXSldLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgW1tiNF9wZXJjZW50X2RlZmluZV9mbGFnX2lmKCQxKV1dKV0pXSwKLSAg
W2I0X2ZhdGFsKFtbJDA6IHVuZGVmaW5lZCAlJWRlZmluZSB2YXJpYWJsZSAnJXMnXV0sIFskMV0p
XSldKQotCi0KLSMgYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdChWQVJJQUJMRSwgREVGQVVMVCwg
W0tJTkQgPSBrZXl3b3JkXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTWltaWMgbXVzY2xlX3BlcmNlbnRfZGVmaW5l
X2RlZmF1bHQgaW4gLi4vc3JjL211c2NsZS10YWIuaCBleGFjdGx5LiAgVGhhdCBpcywKLSMgaWYg
dGhlICVkZWZpbmUgdmFyaWFibGUgVkFSSUFCTEUgaXMgdW5kZWZpbmVkLCBzZXQgaXRzIHZhbHVl
IHRvIERFRkFVTFQuCi0jIERvbid0IHJlY29yZCB0aGlzIGFzIGEgQmlzb24gdXNhZ2Ugb2YgVkFS
SUFCTEUgYXMgdGhlcmUncyBubyByZWFzb24gdG8KLSMgc3VzcGVjdCB0aGF0IHRoZSB2YWx1ZSBo
YXMgeWV0IGluZmx1ZW5jZWQgdGhlIG91dHB1dC4KLSMKLSMgRm9yIGV4YW1wbGU6Ci0jCi0jICAg
YjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdChbW2Zvb11dLCBbW2RlZmF1bHQgdmFsdWVdXSkKLW00
X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdF0sCi1bX2I0X3BlcmNlbnRfZGVmaW5l
X2lmZGVmKFskMV0sIFtdLAotICAgICAgICAgICBbbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmlu
ZShdJDFbKV0sIFskMl0pZG5sCi0gICAgICAgICAgICBtNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVm
aW5lX2tpbmQoXSQxWyldLAotICAgICAgICAgICAgICAgICAgICAgIFttNF9kZWZhdWx0KFskM10s
IFtrZXl3b3JkXSldKWRubAotICAgICAgICAgICAgbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmlu
ZV9sb2MoXSQxWyldLAotICAgICAgICAgICAgICAgICAgICAgIFtbW1s8c2tlbGV0b24gZGVmYXVs
dCB2YWx1ZT46LTEuLTFdXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFtbPHNrZWxldG9uIGRl
ZmF1bHQgdmFsdWU+Oi0xLi0xXV1dXSlkbmwKLSAgICAgICAgICAgIG00X2RlZmluZShbYjRfcGVy
Y2VudF9kZWZpbmVfc3luY2xpbmUoXSQxWyldLCBbW11dKV0pXSkKLQotCi0jIGI0X3BlcmNlbnRf
ZGVmaW5lX2lmX2RlZmluZShOQU1FLCBbVkFSSUFCTEUgPSBOQU1FXSkKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBEZWZpbmUgYjRfTkFN
RV9pZiB0aGF0IGV4ZWN1dGVzIGl0cyAkMSBvciAkMiBkZXBlbmRpbmcgd2hldGhlcgotIyBWQVJJ
QUJMRSB3YXMgJWRlZmluZWQuICBUaGUgY2hhcmFjdGVycyAnLicgYW5kIGAtJyBpbiBWQVJJQUJM
RSBhcmUgbWFwcGVkCi0jIHRvICdfJy4KLW00X2RlZmluZShbX2I0X3BlcmNlbnRfZGVmaW5lX2lm
X2RlZmluZV0sCi1bbTRfZGVmaW5lKG00X2JwYXRzdWJzdChbYjRfJDFfaWZdLCBbWy0uXV0sIFtf
XSksCi0gICAgICAgICAgIFtiNF9wZXJjZW50X2RlZmluZV9mbGFnX2lmKG00X2RlZmF1bHQoWyQy
XSwgWyQxXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFskM10sIFsk
NF0pXSldKQotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9pZl9kZWZpbmVdLAotW2I0X3Bl
cmNlbnRfZGVmaW5lX2RlZmF1bHQoW200X2RlZmF1bHQoWyQyXSwgWyQxXSldLCBbW2ZhbHNlXV0p
Ci1fYjRfcGVyY2VudF9kZWZpbmVfaWZfZGVmaW5lKFskMV0sIFskMl0sICRbMV0sICRbMl0pXSkK
LQotCi0jIGI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX2tpbmQoVkFSSUFCTEUsIEtJTkQsIFtESUFH
Tk9TVElDID0gY29tcGxhaW5dKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfcGVyY2Vu
dF9kZWZpbmVfY2hlY2tfa2luZF0sCi1bX2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFskMV0sCi0g
IFttNF9pZihiNF9wZXJjZW50X2RlZmluZV9nZXRfa2luZChbJDFdKSwgWyQyXSwgW10sCi0gICAg
W2I0X2Vycm9yKFttNF9kZWZhdWx0KFskM10sIFtjb21wbGFpbl0pXSwKLSAgICAgICAgICAgICAg
YjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhbJDFdKSwKLSAgICAgICAgICAgICAgW200X2Nhc2Uo
WyQyXSwKLSAgICAgICAgICAgICAgICAgW2NvZGVdLCAgICBbWyUlZGVmaW5lIHZhcmlhYmxlICcl
cycgcmVxdWlyZXMgJ3suLi59JyB2YWx1ZXNdXSwKLSAgICAgICAgICAgICAgICAgW2tleXdvcmRd
LCBbWyUlZGVmaW5lIHZhcmlhYmxlICclcycgcmVxdWlyZXMga2V5d29yZCB2YWx1ZXNdXSwKLSAg
ICAgICAgICAgICAgICAgW3N0cmluZ10sICBbWyUlZGVmaW5lIHZhcmlhYmxlICclcycgcmVxdWly
ZXMgJyIuLi4iJyB2YWx1ZXNdXSldLAotICAgICAgICAgICAgICBbJDFdKV0pXSlkbmwKLV0pCi0K
LQotIyBiNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXMoVkFMVUVTKQotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBNaW1pYyBtdXNjbGVfcGVyY2VudF9kZWZp
bmVfY2hlY2tfdmFsdWVzIGluIC4uL3NyYy9tdXNjbGUtdGFiLmggZXhhY3RseQotIyBleGNlcHQg
dGhhdCB0aGUgVkFMVUVTIHN0cnVjdHVyZSBpcyBtb3JlIGFwcHJvcHJpYXRlIGZvciBNNC4gIFRo
YXQgaXMsIFZBTFVFUwotIyBpcyBhIGxpc3Qgb2Ygc3VibGlzdHMgb2Ygc3RyaW5ncy4gIEZvciBl
YWNoIHN1Ymxpc3QsIHRoZSBmaXJzdCBzdHJpbmcgaXMgdGhlCi0jIG5hbWUgb2YgYSAlZGVmaW5l
IHZhcmlhYmxlLCBhbmQgYWxsIHJlbWFpbmluZyBzdHJpbmdzIGluIHRoYXQgc3VibGlzdCBhcmUg
dGhlCi0jIHZhbGlkIHZhbHVlcyBmb3IgdGhhdCB2YXJpYWJsZS4gIENvbXBsYWluIGlmIHN1Y2gg
YSB2YXJpYWJsZSBpcyB1bmRlZmluZWQgKGEKLSMgQmlzb24gZXJyb3Igc2luY2UgdGhlIGRlZmF1
bHQgdmFsdWUgc2hvdWxkIGhhdmUgYmVlbiBzZXQgYWxyZWFkeSkgb3IgZGVmaW5lZAotIyB0byBh
bnkgb3RoZXIgdmFsdWUgKHBvc3NpYmx5IGEgdXNlciBlcnJvcikuICBEb24ndCByZWNvcmQgdGhp
cyBhcyBhIEJpc29uCi0jIHVzYWdlIG9mIHRoZSB2YXJpYWJsZSBhcyB0aGVyZSdzIG5vIHJlYXNv
biB0byBzdXNwZWN0IHRoYXQgdGhlIHZhbHVlIGhhcyB5ZXQKLSMgaW5mbHVlbmNlZCB0aGUgb3V0
cHV0LgotIwotIyBGb3IgZXhhbXBsZToKLSMKLSMgICBiNF9wZXJjZW50X2RlZmluZV9jaGVja192
YWx1ZXMoW1tbW2Zvb11dLCBbW2Zvby12YWx1ZTFdXSwgW1tmb28tdmFsdWUyXV1dXSwKLSMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1tbW2Jhcl1dLCBbW2Jhci12YWx1ZTFdXV1d
KQotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXNdLAotW200X2ZvcmVh
Y2goW2I0X3N1Ymxpc3RdLCBtNF9xdW90ZSgkQCksCi0gICAgICAgICAgICBbX2I0X3BlcmNlbnRf
ZGVmaW5lX2NoZWNrX3ZhbHVlcyhiNF9zdWJsaXN0KV0pXSkKLQotbTRfZGVmaW5lKFtfYjRfcGVy
Y2VudF9kZWZpbmVfY2hlY2tfdmFsdWVzXSwKLVtfYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoWyQx
XSwKLSAgW2I0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX2tpbmQoXSQxWywgW2tleXdvcmRdLCBbZGVw
cmVjYXRlZF0pZG5sCi0gICBtNF9wdXNoZGVmKFtiNF9nb29kX3ZhbHVlXSwgWzBdKWRubAotICAg
bTRfaWYoJCMsIDEsIFtdLAotICAgICAgICAgW200X2ZvcmVhY2goW2I0X3ZhbHVlXSwgbTRfZHF1
b3RlKG00X3NoaWZ0KCRAKSksCi0gICAgICAgICAgICAgICAgICAgICBbbTRfaWYobTRfaW5kaXIo
W2I0X3BlcmNlbnRfZGVmaW5lKF0kMVspXSksIGI0X3ZhbHVlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFttNF9kZWZpbmUoW2I0X2dvb2RfdmFsdWVdLCBbMV0pXSldKV0pZG5sCi0gICBt
NF9pZihiNF9nb29kX3ZhbHVlLCBbMF0sCi0gICAgICAgICBbYjRfY29tcGxhaW5fYXQoYjRfcGVy
Y2VudF9kZWZpbmVfZ2V0X2xvYyhbJDFdKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBbW2lu
dmFsaWQgdmFsdWUgZm9yICUlZGVmaW5lIHZhcmlhYmxlICclcyc6ICclcyddXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBbJDFdLAotICAgICAgICAgICAgICAgICAgICAgICAgIG00X2RxdW90
ZShtNF9pbmRpcihbYjRfcGVyY2VudF9kZWZpbmUoXSQxWyldKSkpCi0gICAgICAgICAgbTRfZm9y
ZWFjaChbYjRfdmFsdWVdLCBtNF9kcXVvdGUobTRfc2hpZnQoJEApKSwKLSAgICAgICAgICAgICAg
ICAgICAgIFtiNF9lcnJvcihbW25vdGVdXSwgYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhbJDFd
KSwgW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW2FjY2VwdGVkIHZh
bHVlOiAnJXMnXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbTRfZHF1
b3RlKGI0X3ZhbHVlKSldKV0pZG5sCi0gICBtNF9wb3BkZWYoW2I0X2dvb2RfdmFsdWVdKV0sCi0g
IFtiNF9mYXRhbChbWyQwOiB1bmRlZmluZWQgJSVkZWZpbmUgdmFyaWFibGUgJyVzJ11dLCBbJDFd
KV0pXSkKLQotIyBiNF9wZXJjZW50X2NvZGVfZ2V0KFtRVUFMSUZJRVJdKQotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBhbnkgJWNvZGUgYmxvY2tzIGZvciBRVUFMSUZJ
RVIgYXJlIGRlZmluZWQsIGVtaXQgdGhlbSBiZWdpbm5pbmcgd2l0aCBhCi0jIGNvbW1lbnQgYW5k
IGVuZGluZyB3aXRoIHN5bmNsaW5lcyBhbmQgYSBuZXdsaW5lLiAgSWYgUVVBTElGSUVSIGlzIG5v
dAotIyBzcGVjaWZpZWQgb3IgZW1wdHksIGRvIHRoaXMgZm9yIHRoZSB1bnF1YWxpZmllZCAlY29k
ZSBibG9ja3MuICBBbHNvLCByZWNvcmQKLSMgQmlzb24ncyB1c2FnZSBvZiBRVUFMSUZJRVIgKGlm
IHNwZWNpZmllZCkgYnkgZGVmaW5pbmcKLSMgYjRfcGVyY2VudF9jb2RlX2Jpc29uX3F1YWxpZmll
cnMoUVVBTElGSUVSKS4KLSMKLSMgRm9yIGV4YW1wbGUsIHRvIGVtaXQgYW55IHVucXVhbGlmaWVk
ICVjb2RlIGJsb2NrcyBmb2xsb3dlZCBieSBhbnkgJWNvZGUKLSMgYmxvY2tzIGZvciB0aGUgcXVh
bGlmaWVyIGZvbzoKLSMKLSMgICBiNF9wZXJjZW50X2NvZGVfZ2V0Ci0jICAgYjRfcGVyY2VudF9j
b2RlX2dldChbW2Zvb11dKQotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2NvZGVfZ2V0XSwKLVttNF9w
dXNoZGVmKFtiNF9tYWNyb19uYW1lXSwgW1tiNF9wZXJjZW50X2NvZGUoXSQxWyldXSlkbmwKLW00
X2lmdmFsKFskMV0sIFttNF9kZWZpbmUoW2I0X3BlcmNlbnRfY29kZV9iaXNvbl9xdWFsaWZpZXJz
KF0kMVspXSldKWRubAotbTRfaWZkZWYoYjRfbWFjcm9fbmFtZSwKLVtiNF9jb21tZW50KFttNF9p
ZihbJCNdLCBbMF0sIFtbVW5xdWFsaWZpZWQgJWNvZGVdXSwKLSAgICAgICAgICAgICAgICAgICBb
WyIlY29kZSBdJDFbIl1dKVsgYmxvY2tzLl1dKQotYjRfdXNlcl9jb2RlKFttNF9pbmRpcihiNF9t
YWNyb19uYW1lKV0pCi1dKWRubAotbTRfcG9wZGVmKFtiNF9tYWNyb19uYW1lXSldKQotCi0jIGI0
X3BlcmNlbnRfY29kZV9pZmRlZihRVUFMSUZJRVIsIElGLVRSVUUsIFtJRi1GQUxTRV0pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElm
IGFueSAlY29kZSBibG9ja3MgZm9yIFFVQUxJRklFUiAob3IgdW5xdWFsaWZpZWQgJWNvZGUgYmxv
Y2tzIGlmCi0jIFFVQUxJRklFUiBpcyBlbXB0eSkgYXJlIGRlZmluZWQsIGV4cGFuZCBJRi1UUlVF
LCBlbHNlIGV4cGFuZCBJRi1GQUxTRS4KLSMgQWxzbywgcmVjb3JkIEJpc29uJ3MgdXNhZ2Ugb2Yg
UVVBTElGSUVSIChpZiBzcGVjaWZpZWQpIGJ5IGRlZmluaW5nCi0jIGI0X3BlcmNlbnRfY29kZV9i
aXNvbl9xdWFsaWZpZXJzKFFVQUxJRklFUikuCi1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfY29kZV9p
ZmRlZl0sCi1bbTRfaWZkZWYoW2I0X3BlcmNlbnRfY29kZShdJDFbKV0sCi0gICAgICAgICAgW200
X2lmdmFsKFskMV0sIFttNF9kZWZpbmUoW2I0X3BlcmNlbnRfY29kZV9iaXNvbl9xdWFsaWZpZXJz
KF0kMVspXSldKSQyXSwKLSAgICAgICAgICBbJDNdKV0pCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0t
LS0tICMjCi0jIyBDb21tb24gdmFyaWFibGVzLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLSAj
IwotCi0KLSMgYjRfcGFyc2VfYXNzZXJ0X2lmKFtJRi1BU1NFUlRJT05TLUFSRS1VU0VEXSwgW0lG
LU5PVF0pCi0jIGI0X3BhcnNlX3RyYWNlX2lmKFtJRi1ERUJVRy1UUkFDRVMtQVJFLUVOQUJMRURd
LCBbSUYtTk9UXSkKLSMgYjRfdG9rZW5fY3Rvcl9pZihbSUYtWVlMRVgtUkVUVVJOUy1BLVRPS0VO
XSwgW0lGLU5PVF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLWI0X3BlcmNlbnRfZGVmaW5lX2lmX2RlZmluZShbdG9rZW5fY3Rv
cl0sIFthcGkudG9rZW4uY29uc3RydWN0b3JdKQotYjRfcGVyY2VudF9kZWZpbmVfaWZfZGVmaW5l
KFtsb2NhdGlvbnNdKSAgICAgIyBXaGV0aGVyIGxvY2F0aW9ucyBhcmUgdHJhY2tlZC4KLWI0X3Bl
cmNlbnRfZGVmaW5lX2lmX2RlZmluZShbcGFyc2UuYXNzZXJ0XSkKLWI0X3BlcmNlbnRfZGVmaW5l
X2lmX2RlZmluZShbcGFyc2UudHJhY2VdKQotCi0KLSMgYjRfYmlzb25fbG9jYXRpb25zX2lmKFtJ
Ri1UUlVFXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kIElG
LVRSVUUgaWYgdXNpbmcgbG9jYXRpb25zLCBhbmQgdXNpbmcgdGhlIGRlZmF1bHQgbG9jYXRpb24K
LSMgdHlwZS4KLW00X2RlZmluZShbYjRfYmlzb25fbG9jYXRpb25zX2lmXSwKLVtiNF9sb2NhdGlv
bnNfaWYoW2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFtbYXBpLmxvY2F0aW9uLnR5cGVdXSwgW10s
IFskMV0pXSldKQotCi0KLSMgYjRfZXJyb3JfdmVyYm9zZV9pZihbSUYtRVJST1JTLUFSRS1WRVJC
T1NFXSwgW0lGLU5PVF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotIyBNYXAgJWRlZmluZSBwYXJzZS5lcnJvciAiKHNpbXBsZXx2ZXJi
b3NlKSIgdG8gYjRfZXJyb3JfdmVyYm9zZV9pZiBhbmQKLSMgYjRfZXJyb3JfdmVyYm9zZV9mbGFn
LgotYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdChbW3BhcnNlLmVycm9yXV0sIFtbc2ltcGxlXV0p
Ci1iNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXMoW1tbW3BhcnNlLmVycm9yXV0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW3NpbXBsZV1dLCBbW3ZlcmJvc2VdXV1dKQot
bTRfZGVmaW5lKFtiNF9lcnJvcl92ZXJib3NlX2ZsYWddLAotICAgICAgICAgIFttNF9jYXNlKGI0
X3BlcmNlbnRfZGVmaW5lX2dldChbW3BhcnNlLmVycm9yXV0pLAotICAgICAgICAgICAgICAgICAg
IFtzaW1wbGVdLCAgW1swXV0sCi0gICAgICAgICAgICAgICAgICAgW3ZlcmJvc2VdLCBbWzFdXSld
KQotYjRfZGVmaW5lX2ZsYWdfaWYoW2Vycm9yX3ZlcmJvc2VdKQotCi0jIHl5dG9rZW5fdGFibGUg
aXMgbmVlZGVkIHRvIHN1cHBvcnQgdmVyYm9zZSBlcnJvcnMuCi1iNF9lcnJvcl92ZXJib3NlX2lm
KFttNF9kZWZpbmUoW2I0X3Rva2VuX3RhYmxlX2ZsYWddLCBbMV0pXSkKLQotCi0jIGI0X3Zhcmlh
bnRfaWYoW0lGLVZBUklBTlQtQVJFLVVTRURdLCBbSUYtTk9UXSkKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotYjRfcGVyY2VudF9kZWZpbmVfaWZfZGVm
aW5lKFt2YXJpYW50XSkKLW00X2RlZmluZShbYjRfdmFyaWFudF9mbGFnXSwgW1swXV0pCi1iNF9w
ZXJjZW50X2RlZmluZV9pZmRlZihbW2FwaS52YWx1ZS50eXBlXV0sCi0gICBbbTRfY2FzZShiNF9w
ZXJjZW50X2RlZmluZV9nZXRfa2luZChbW2FwaS52YWx1ZS50eXBlXV0pLCBba2V5d29yZF0sCi0g
ICAgICAgICAgICBbbTRfY2FzZShiNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkudmFsdWUudHlw
ZV1dKSwgW3ZhcmlhbnRdLAotICAgICAgICAgICAgICAgICAgICBbbTRfZGVmaW5lKFtiNF92YXJp
YW50X2ZsYWddLCBbWzFdXSldKV0pXSkKLWI0X2RlZmluZV9mbGFnX2lmKFt2YXJpYW50XSkKLQot
Ci0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAjIwotIyMgQWZ0ZXIgcHJvY2Vzc2luZyB0aGUgc2tlbGV0b25zLCBjaGVjayB0aGF0
IGFsbCB0aGUgdXNlcidzICAgIyMKLSMjICVkZWZpbmUgdmFyaWFibGVzIGFuZCAlY29kZSBxdWFs
aWZpZXJzIHdlcmUgdXNlZCBieSBCaXNvbi4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi1tNF9kZWZpbmUoW2I0
X2NoZWNrX3VzZXJfbmFtZXNfd3JhcF0sCi1bbTRfaWZkZWYoW2I0X3BlcmNlbnRfXSQxW191c2Vy
X10kMltzXSwKLSAgICAgICAgICBbYjRfY2hlY2tfdXNlcl9uYW1lcyhbWyVdJDEgJDJdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiNF9wZXJjZW50X10kMVtfdXNlcl9dJDJbc10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1tiNF9wZXJjZW50X10kMVtfYmlzb25f
XSQyW3NdXSldKV0pCi0KLW00X3dyYXBfbGlmbyhbCi1iNF9jaGVja191c2VyX25hbWVzX3dyYXAo
W1tkZWZpbmVdXSwgW1t2YXJpYWJsZV1dKQotYjRfY2hlY2tfdXNlcl9uYW1lc193cmFwKFtbY29k
ZV1dLCBbW3F1YWxpZmllcl1dKQotXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCi0jIyBE
ZWZhdWx0IHZhbHVlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCi0KLSMgbTRfZGVmaW5l
X2RlZmF1bHQoW2I0X2xleF9wYXJhbV0sIFtdKSAgIGRubCBicmVha3Mgb3RoZXIgc2tlbGV0b25z
Ci1tNF9kZWZpbmVfZGVmYXVsdChbYjRfZXBpbG9ndWVdLCBbXSkKLW00X2RlZmluZV9kZWZhdWx0
KFtiNF9wYXJzZV9wYXJhbV0sIFtdKQotCi0jIFRoZSBpbml0aWFsIGNvbHVtbiBhbmQgbGluZS4K
LW00X2RlZmluZV9kZWZhdWx0KFtiNF9sb2NhdGlvbl9pbml0aWFsX2NvbHVtbl0sIFsxXSkKLW00
X2RlZmluZV9kZWZhdWx0KFtiNF9sb2NhdGlvbl9pbml0aWFsX2xpbmVdLCAgIFsxXSkKLQotCi0j
IyAtLS0tLS0tLS0tLS0tLS0gIyMKLSMjIFNhbml0eSBjaGVja3MuICAjIwotIyMgLS0tLS0tLS0t
LS0tLS0tICMjCi0KLSMgYXBpLmxvY2F0aW9uLnByZWZpeD17Li4ufSAoSmF2YSBhbmQgQysrKS4K
LWI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX2tpbmQoW2FwaS5sb2NhdGlvbi50eXBlXSwgW2NvZGVd
LCBbZGVwcmVjYXRlZF0pCi0KLSMgYXBpLnBvc2l0aW9uLnByZWZpeD17Li4ufSAoSmF2YSkuCi1i
NF9wZXJjZW50X2RlZmluZV9jaGVja19raW5kKFthcGkucG9zaXRpb24udHlwZV0sIFtjb2RlXSwg
W2RlcHJlY2F0ZWRdKQotCi0jIGFwaS5wcmVmaXggPjwgJW5hbWUtcHJlZml4LgotYjRfcGVyY2Vu
dF9kZWZpbmVfY2hlY2tfa2luZChbYXBpLnByZWZpeF0sIFtjb2RlXSwgW2RlcHJlY2F0ZWRdKQot
YjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoW2FwaS5wcmVmaXhdLAotW200X2lmZGVmKFtiNF9wcmVm
aXhdLAotW2I0X2NvbXBsYWluX2F0KGI0X3BlcmNlbnRfZGVmaW5lX2dldF9sb2MoW2FwaS5wcmVm
aXhdKSwKLSAgICAgICAgICAgICAgICBbWyclcycgYW5kICclcycgY2Fubm90IGJlIHVzZWQgdG9n
ZXRoZXJdXSwKLSAgICAgICAgICAgICAgICBbJW5hbWUtcHJlZml4XSwKLSAgICAgICAgICAgICAg
ICBbJWRlZmluZSBhcGkucHJlZml4XSldKV0pCi0KLSMgYXBpLnRva2VuLnByZWZpeD17Li4ufQot
IyBNYWtlIGl0IGEgd2FybmluZyBmb3IgdGhvc2Ugd2hvIHVzZWQgYmV0YXMgb2YgQmlzb24gMy4w
LgotYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfa2luZChbYXBpLnRva2VuLnByZWZpeF0sIFtjb2Rl
XSwgW2RlcHJlY2F0ZWRdKQotCi0jIGFwaS52YWx1ZS50eXBlID48ICV1bmlvbi4KLWI0X3BlcmNl
bnRfZGVmaW5lX2lmZGVmKFthcGkudmFsdWUudHlwZV0sCi1bbTRfaWZkZWYoW2I0X3VuaW9uX21l
bWJlcnNdLAotW2I0X2NvbXBsYWluX2F0KGI0X3BlcmNlbnRfZGVmaW5lX2dldF9sb2MoW2FwaS52
YWx1ZS50eXBlXSksCi0gICAgICAgICAgICAgICAgW1snJXMnIGFuZCAnJXMnIGNhbm5vdCBiZSB1
c2VkIHRvZ2V0aGVyXV0sCi0gICAgICAgICAgICAgICAgWyV1bmlvbl0sCi0gICAgICAgICAgICAg
ICAgWyVkZWZpbmUgYXBpLnZhbHVlLnR5cGVdKV0pXSkKLQotIyBhcGkudmFsdWUudHlwZT11bmlv
biA+PCAleWFjYy4KLWI0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFthcGkudmFsdWUudHlwZV0sCi1b
bTRfaWYoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFthcGkudmFsdWUudHlwZV0pLCBbdW5pb25dLAot
W2I0X3lhY2NfaWYoZG5sCi1bYjRfY29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xv
YyhbYXBpLnZhbHVlLnR5cGVdKSwKLSAgICAgICAgICAgICAgICBbWyclcycgYW5kICclcycgY2Fu
bm90IGJlIHVzZWQgdG9nZXRoZXJdXSwKLSAgICAgICAgICAgICAgICBbJXlhY2NdLAotICAgICAg
ICAgICAgICAgIFslZGVmaW5lIGFwaS52YWx1ZS50eXBlICJ1bmlvbiJdKV0pXSldKQotCi0jIGFw
aS52YWx1ZS51bmlvbi5uYW1lLgotYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfa2luZChbYXBpLnZh
bHVlLnVuaW9uLm5hbWVdLCBba2V5d29yZF0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9jLWxpa2UubTQg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3Nr
ZWxldG9ucy9jLWxpa2UubTQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkODkxYjY3
ZWY5N2IwOWExMjFmMDQ4N2YwMGM3YTI1YzM1NzgzMTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxl
eC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvYy1saWtlLm00CisrKyAvZGV2L251bGwKQEAg
LTEsNjYgKzAsMCBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQotCi0jIENvbW1vbiBjb2RlIGZvciBD
LWxpa2UgbGFuZ3VhZ2VzIChDLCBDKyssIEphdmEsIGV0Yy4pCi0KLSMgQ29weXJpZ2h0IChDKSAy
MDEyLTIwMTUsIDIwMTgtMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLQotIyBU
aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQotIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotIyAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotIyBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
IyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v
cmcvbGljZW5zZXMvPi4KLQotIyBfYjRfY29tbWVudChURVhULCBPUEVOLCBDT05USU5VRSwgRU5E
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQdXQgVEVYVCBp
biBjb21tZW50LiAgQXZvaWQgdHJhaWxpbmcgc3BhY2VzOiBkb24ndCBpbmRlbnQgZW1wdHkgbGlu
ZXMuCi0jIEF2b2lkIGFkZGluZyBpbmRlbnRhdGlvbiB0byB0aGUgZmlyc3QgbGluZSwgYXMgdGhl
IGluZGVudGF0aW9uIGNvbWVzCi0jIGZyb20gT1BFTi4gIFRoYXQncyB3aHkgd2UgZG9uJ3QgcGF0
c3Vic3QoWyQxXSwgW15cKC5cKV0sIFsgICBcMV0pLgotIwotIyBQcmVmaXggYWxsIHRoZSBvdXRw
dXQgbGluZXMgd2l0aCBQUkVGSVguCi1tNF9kZWZpbmUoW19iNF9jb21tZW50XSwKLVskMltdbTRf
YnBhdHN1YnN0KG00X2V4cGFuZChbWyQxXV0pLCBbCi1cKC5cKV0sIFsKLSQzXDFdKSQ0XSkKLQot
Ci0jIGI0X2NvbW1lbnQoVEVYVCwgW1BSRUZJWF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIFB1dCBURVhUIGluIGNvbW1lbnQuICBQcmVmaXggYWxsIHRoZSBvdXRwdXQgbGluZXMg
d2l0aCBQUkVGSVguCi1tNF9kZWZpbmUoW2I0X2NvbW1lbnRdLAotW19iNF9jb21tZW50KFskMV0s
IFskMi8qIF0sIFskMiAgIF0sIFsgICovXSldKQotCi0KLQotCi0jIF9iNF9kb2xsYXJfZG9sbGFy
KFZBTFVFLCBTWU1CT0wtTlVNLCBGSUVMRCwgREVGQVVMVC1GSUVMRCkKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBGSUVM
RCAob3IgREVGQVVMVC1GSUVMRCkgaXMgbm9uLW51bGwsIHJldHVybiAiVkFMVUUuRklFTEQiLAot
IyBvdGhlcndpc2UganVzdCBWQUxVRS4gIEJlIHN1cmUgdG8gcGFzcyAiKFZBTFVFKSIgaWYgVkFM
VUUgaXMgYQotIyBwb2ludGVyLgotbTRfZGVmaW5lKFtfYjRfZG9sbGFyX2RvbGxhcl0sCi1bYjRf
c3ltYm9sX3ZhbHVlKFskMV0sCi0gICAgICAgICAgICAgICAgIFskMl0sCi0gICAgICAgICAgICAg
ICAgIG00X2lmKFskM10sIFtbXV0sCi0gICAgICAgICAgICAgICAgICAgICAgIFtbJDRdXSwgW1sk
M11dKSldKQotCi0jIGI0X2RvbGxhcl9wdXNoZGVmKFZBTFVFLVBPSU5URVIsIFNZTUJPTC1OVU0s
IFtUWVBFX1RBR10sIExPQ0FUSU9OKQotIyBiNF9kb2xsYXJfcG9wZGVmCi0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
IyBEZWZpbmUgYjRfZG9sbGFyX2RvbGxhciBmb3IgVkFMVUUtUE9JTlRFUiBhbmQgREVGQVVMVC1G
SUVMRCwKLSMgYW5kIGI0X2F0X2RvbGxhciBmb3IgTE9DQVRJT04uCi1tNF9kZWZpbmUoW2I0X2Rv
bGxhcl9wdXNoZGVmXSwKLVttNF9wdXNoZGVmKFtiNF9kb2xsYXJfZG9sbGFyXSwKLSAgICAgICAg
ICAgIFtfYjRfZG9sbGFyX2RvbGxhcihbJDFdLCBbJDJdLCBtNF9kcXVvdGUoJF1bMSksIFskM10p
XSlkbmwKLW00X3B1c2hkZWYoW2I0X2F0X2RvbGxhcl0sIFskNF0pZG5sCi1dKQotbTRfZGVmaW5l
KFtiNF9kb2xsYXJfcG9wZGVmXSwKLVttNF9wb3BkZWYoW2I0X2F0X2RvbGxhcl0pZG5sCi1tNF9w
b3BkZWYoW2I0X2RvbGxhcl9kb2xsYXJdKWRubAotXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2MubTQg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3Nr
ZWxldG9ucy9jLm00CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2RlMDRhOTU3MWIx
MGFmODkwMzdjNTk3ZDhjYjk0OTU0ZmY4YjY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlz
b24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2MubTQKKysrIC9kZXYvbnVsbApAQCAtMSw4ODMgKzAs
MCBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLSotIEF1dG9jb25mIC0qLQotCi0jIEMgTTQgTWFjcm9zIGZvciBCaXNvbi4KLQot
IyBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDQtMjAxNSwgMjAxOC0yMDE5IEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwKLSMgSW5jLgotCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMg
cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlCi0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg
bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotCi1tNF9pbmNsdWRlKGI0
X3NrZWxldG9uc2Rpci9bYy1saWtlLm00XSkKLQotIyBiNF90b2NwcChTVFJJTkcpCi0jIC0tLS0t
LS0tLS0tLS0tLS0KLSMgQ29udmVydCBTVFJJTkcgaW50byBhIHZhbGlkIEMgbWFjcm8gbmFtZS4K
LW00X2RlZmluZShbYjRfdG9jcHBdLAotW200X3RvdXBwZXIobTRfYnBhdHN1YnN0KG00X3F1b3Rl
KCQxKSwgW1teYS16QS1aMC05XStdLCBbX10pKV0pCi0KLQotIyBiNF9jcHBfZ3VhcmQoRklMRSkK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEEgdmFsaWQgQyBtYWNybyBuYW1lIHRvIHVzZSBhcyBh
IENQUCBoZWFkZXIgZ3VhcmQgZm9yIEZJTEUuCi1tNF9kZWZpbmUoW2I0X2NwcF9ndWFyZF0sCi1b
W1lZX11iNF90b2NwcChtNF9kZWZuKFtiNF9wcmVmaXhdKS9bJDFdKVtfSU5DTFVERURdXSkKLQot
Ci0jIGI0X2NwcF9ndWFyZF9vcGVuKEZJTEUpCi0jIGI0X2NwcF9ndWFyZF9jbG9zZShGSUxFKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgRklMRSBkb2VzIG5vdCBleHBhbmQgdG8g
bm90aGluZywgb3Blbi9jbG9zZSBDUFAgaW5jbHVzaW9uIGd1YXJkcyBmb3IgRklMRS4KLW00X2Rl
ZmluZShbYjRfY3BwX2d1YXJkX29wZW5dLAotW200X2lmdmFsKG00X3F1b3RlKCQxKSwKLVsjaWZu
ZGVmIGI0X2NwcF9ndWFyZChbJDFdKQotIyBkZWZpbmUgYjRfY3BwX2d1YXJkKFskMV0pXSldKQot
Ci1tNF9kZWZpbmUoW2I0X2NwcF9ndWFyZF9jbG9zZV0sCi1bbTRfaWZ2YWwobTRfcXVvdGUoJDEp
LAotWyNlbmRpZiBiNF9jb21tZW50KFshYjRfY3BwX2d1YXJkKFskMV0pXSldKV0pCi0KLQotIyMg
LS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgSWRlbnRpZmljYXRpb24uICAjIwotIyMgLS0tLS0tLS0t
LS0tLS0tLSAjIwotCi0jIGI0X2lkZW50aWZpY2F0aW9uCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0j
IERlcGVuZHMgb24gaW5kaXZpZHVhbCBza2VsZXRvbnMgdG8gZGVmaW5lIGI0X3B1cmVfZmxhZywg
YjRfcHVzaF9mbGFnLCBvcgotIyBiNF9wdWxsX2ZsYWcgaWYgdGhleSB1c2UgdGhlIHZhbHVlcyBv
ZiB0aGUgJWRlZmluZSB2YXJpYWJsZXMgYXBpLnB1cmUgb3IKLSMgYXBpLnB1c2gtcHVsbC4KLW00
X2RlZmluZShbYjRfaWRlbnRpZmljYXRpb25dLAotW1svKiBJZGVudGlmeSBCaXNvbiBvdXRwdXQu
ICAqLwotI2RlZmluZSBZWUJJU09OIDEKLQotLyogQmlzb24gdmVyc2lvbi4gICovCi0jZGVmaW5l
IFlZQklTT05fVkVSU0lPTiAiXWI0X3ZlcnNpb25bIgotCi0vKiBTa2VsZXRvbiBuYW1lLiAgKi8K
LSNkZWZpbmUgWVlTS0VMRVRPTl9OQU1FIF1iNF9za2VsZXRvbltdbTRfaWZkZWYoW2I0X3B1cmVf
ZmxhZ10sIFtbCi0KLS8qIFB1cmUgcGFyc2Vycy4gICovCi0jZGVmaW5lIFlZUFVSRSBdYjRfcHVy
ZV9mbGFnXSlbXW00X2lmZGVmKFtiNF9wdXNoX2ZsYWddLCBbWwotCi0vKiBQdXNoIHBhcnNlcnMu
ICAqLwotI2RlZmluZSBZWVBVU0ggXWI0X3B1c2hfZmxhZ10pW11tNF9pZmRlZihbYjRfcHVsbF9m
bGFnXSwgW1sKLQotLyogUHVsbCBwYXJzZXJzLiAgKi8KLSNkZWZpbmUgWVlQVUxMIF1iNF9wdWxs
X2ZsYWddKVsKLV1dKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIERlZmF1bHQgdmFs
dWVzLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBiNF9hcGlfcHJlZml4LCBiNF9h
cGlfUFJFRklYCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQ29ycmVzcG9uZHMg
dG8gJWRlZmluZSBhcGkucHJlZml4Ci1iNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbYXBpLnBy
ZWZpeF1dLCBbW3l5XV0pCi1tNF9kZWZpbmUoW2I0X2FwaV9wcmVmaXhdLAotW2I0X3BlcmNlbnRf
ZGVmaW5lX2dldChbW2FwaS5wcmVmaXhdXSldKQotbTRfZGVmaW5lKFtiNF9hcGlfUFJFRklYXSwK
LVttNF90b3VwcGVyKGI0X2FwaV9wcmVmaXgpXSkKLQotCi0jIGI0X3ByZWZpeAotIyAtLS0tLS0t
LS0KLSMgSWYgdGhlICVuYW1lLXByZWZpeCBpcyBub3QgZ2l2ZW4sIGl0IGlzIGFwaS5wcmVmaXgu
Ci1tNF9kZWZpbmVfZGVmYXVsdChbYjRfcHJlZml4XSwgW2I0X2FwaV9wcmVmaXhdKQotCi0jIElm
IHRoZSAldW5pb24gaXMgbm90IG5hbWVkLCBpdHMgbmFtZSBpcyBZWVNUWVBFLgotYjRfcGVyY2Vu
dF9kZWZpbmVfZGVmYXVsdChbW2FwaS52YWx1ZS51bmlvbi5uYW1lXV0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIFtiNF9hcGlfUFJFRklYW11bU1RZUEVdXSkKLQotCi0jIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gIyMKLSMjIFB1cmUvaW1wdXJlIGludGVyZmFjZXMuICAjIwotIyMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLSMgYjRfbGV4X2Zvcm1hbHMKLSMgLS0tLS0tLS0t
LS0tLS0KLSMgQWxsIHRoZSB5eWxleCBmb3JtYWwgYXJndW1lbnRzLgotIyBiNF9sZXhfcGFyYW0g
YXJyaXZlcyBxdW90ZWQgdHdpY2UsIGJ1dCB3ZSB3YW50IHRvIGtlZXAgb25seSBvbmUgbGV2ZWwu
Ci1tNF9kZWZpbmUoW2I0X2xleF9mb3JtYWxzXSwKLVtiNF9wdXJlX2lmKFtbW1tZWVNUWVBFICp5
eWx2YWxwXV0sIFtbJnl5bHZhbF1dXVtdZG5sCi1iNF9sb2NhdGlvbnNfaWYoWywgW1tZWUxUWVBF
ICp5eWxsb2NwXSwgWyZ5eWxsb2NdXV0pXSlkbmwKLW00X2lmZGVmKFtiNF9sZXhfcGFyYW1dLCBb
LCBdYjRfbGV4X3BhcmFtKV0pCi0KLQotIyBiNF9sZXgKLSMgLS0tLS0tCi0jIENhbGwgeXlsZXgu
Ci1tNF9kZWZpbmUoW2I0X2xleF0sCi1bYjRfZnVuY3Rpb25fY2FsbChbeXlsZXhdLCBbaW50XSwg
YjRfbGV4X2Zvcm1hbHMpXSkKLQotCi0jIGI0X3VzZXJfYXJncwotIyAtLS0tLS0tLS0tLS0KLW00
X2RlZmluZShbYjRfdXNlcl9hcmdzXSwKLVttNF9pZnNldChbYjRfcGFyc2VfcGFyYW1dLCBbLCBi
NF9hcmdzKGI0X3BhcnNlX3BhcmFtKV0pXSkKLQotCi0jIGI0X3BhcnNlX3BhcmFtCi0jIC0tLS0t
LS0tLS0tLS0tCi0jIElmIGRlZmluZWQsIGI0X3BhcnNlX3BhcmFtIGFycml2ZXMgZG91YmxlIHF1
b3RlZCwgYnV0IGJlbG93IHdlIHByZWZlcgotIyBpdCB0byBiZSBzaW5nbGUgcXVvdGVkLgotbTRf
ZGVmaW5lKFtiNF9wYXJzZV9wYXJhbV0sCi1iNF9wYXJzZV9wYXJhbSkKLQotCi0jIGI0X3BhcnNl
X3BhcmFtX2ZvcihERUNMLCBGT1JNQUwsIEJPRFkpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotIyBJdGVyYXRlIG92ZXIgdGhlIHVzZXIgcGFyYW1ldGVycywgYmlu
ZGluZyB0aGUgZGVjbGFyYXRpb24gdG8gREVDTCwKLSMgdGhlIGZvcm1hbCBuYW1lIHRvIEZPUk1B
TCwgYW5kIGV2YWx1YXRpbmcgdGhlIEJPRFkuCi1tNF9kZWZpbmUoW2I0X3BhcnNlX3BhcmFtX2Zv
cl0sCi1bbTRfZm9yZWFjaChbJDFfJDJdLCBtNF9kZWZuKFtiNF9wYXJzZV9wYXJhbV0pLAotW200
X3B1c2hkZWYoWyQxXSwgbTRfdW5xdW90ZShtNF9jYXIoJDFfJDIpKSlkbmwKLW00X3B1c2hkZWYo
WyQyXSwgbTRfc2hpZnQoJDFfJDIpKWRubAotJDNbXWRubAotbTRfcG9wZGVmKFskMl0pZG5sCi1t
NF9wb3BkZWYoWyQxXSlkbmwKLV0pXSkKLQotIyBiNF9wYXJzZV9wYXJhbV91c2UoW1ZBTF0sIFtM
T0NdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyAnWVlVU0UnIFZBTCwg
TE9DIGlmIGxvY2F0aW9ucyBhcmUgZW5hYmxlZCwgYW5kIGFsbCB0aGUgcGFyc2UtcGFyYW1zLgot
bTRfZGVmaW5lKFtiNF9wYXJzZV9wYXJhbV91c2VdLAotW200X2lmdmFsbihbJDFdLCBbICBZWVVT
RSAoWyQxXSk7XSlkbmwKLWI0X2xvY2F0aW9uc19pZihbbTRfaWZ2YWxuKFskMl0sIFsgIFlZVVNF
IChbJDJdKTtdKV0pZG5sCi1iNF9wYXJzZV9wYXJhbV9mb3IoW0RlY2xdLCBbRm9ybWFsXSwgWyAg
WVlVU0UgKEZvcm1hbCk7Ci1dKWRubAotXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0gIyMKLSMjIERh
dGEgVHlwZXMuICAjIwotIyMgLS0tLS0tLS0tLS0tICMjCi0KLSMgYjRfaW50X3R5cGUoTUlOLCBN
QVgpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSZXR1cm4gdGhlIHNtYWxsZXN0IGludCB0
eXBlIGFibGUgdG8gaGFuZGxlIG51bWJlcnMgcmFuZ2luZyBmcm9tCi0jIE1JTiB0byBNQVggKGlu
Y2x1ZGVkKS4KLW00X2RlZmluZShbYjRfaW50X3R5cGVdLAotW200X2lmKGI0X2ludHNfaW4oJEAs
ICAgICAgWzBdLCAgIFsyNTVdKSwgWzFdLCBbdW5zaWduZWQgY2hhcl0sCi0gICAgICAgYjRfaW50
c19pbigkQCwgICBbLTEyOF0sICAgWzEyN10pLCBbMV0sIFtzaWduZWQgY2hhcl0sCi0KLSAgICAg
ICBiNF9pbnRzX2luKCRALCAgICAgIFswXSwgWzY1NTM1XSksIFsxXSwgW3Vuc2lnbmVkIHNob3J0
XSwKLSAgICAgICBiNF9pbnRzX2luKCRALCBbLTMyNzY4XSwgWzMyNzY3XSksIFsxXSwgW3Nob3J0
XSwKLQotICAgICAgIG00X2V2YWwoWzAgPD0gJDFdKSwgICAgICAgICAgICAgICAgWzFdLCBbdW5z
aWduZWRdLAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtpbnRdKV0pCi0KLQotIyBiNF9pbnRfdHlwZV9mb3IoTkFNRSkKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIFJldHVybiB0aGUgc21hbGxlc3QgaW50IHR5cGUgYWJsZSB0byBoYW5kbGUgbnVt
YmVycyByYW5naW5nIGZyb20KLSMgJ05BTUVfbWluJyB0byAnTkFNRV9tYXgnIChpbmNsdWRlZCku
Ci1tNF9kZWZpbmUoW2I0X2ludF90eXBlX2Zvcl0sCi1bYjRfaW50X3R5cGUoJDFfbWluLCAkMV9t
YXgpXSkKLQotCi0jIGI0X3RhYmxlX3ZhbHVlX2VxdWFscyhUQUJMRSwgVkFMVUUsIExJVEVSQUwp
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFdpdGhv
dXQgaW5kdWNpbmcgYSBjb21wYXJpc29uIHdhcm5pbmcgZnJvbSB0aGUgY29tcGlsZXIsIGNoZWNr
IGlmIHRoZQotIyBsaXRlcmFsIHZhbHVlIExJVEVSQUwgZXF1YWxzIFZBTFVFIGZyb20gdGFibGUg
VEFCTEUsIHdoaWNoIG11c3QgaGF2ZQotIyBUQUJMRV9taW4gYW5kIFRBQkxFX21heCBkZWZpbmVk
LgotbTRfZGVmaW5lKFtiNF90YWJsZV92YWx1ZV9lcXVhbHNdLAotW200X2lmKG00X2V2YWwoJDMg
PCBtNF9pbmRpcihbYjRfXSQxW19taW5dKQotICAgICAgICAgICAgICAgfHwgbTRfaW5kaXIoW2I0
X10kMVtfbWF4XSkgPCAkMyksIFsxXSwKLSAgICAgICBbWzBdXSwKLSAgICAgICBbKCEhKCgkMikg
PT0gKCQzKSkpXSldKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyBDb21waWxlciBp
c3N1ZXMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBiNF9hdHRyaWJ1dGVfZGVm
aW5lKFtub3JldHVybl0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUHJv
dmlkZSBwb3J0YWJsZSBjb21waWxlciAiYXR0cmlidXRlcyIuICBJZiAibm9yZXR1cm4iIGlzIHBh
c3NlZCwgZGVmaW5lCi0jIF9Ob3JldHVybi4KLW00X2RlZmluZShbYjRfYXR0cmlidXRlX2RlZmlu
ZV0sCi1bWyNpZm5kZWYgWVlfQVRUUklCVVRFCi0jIGlmIChkZWZpbmVkIF9fR05VQ19fICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAmJiAoMiA8
IF9fR05VQ19fIHx8IChfX0dOVUNfXyA9PSAyICYmIDk2IDw9IF9fR05VQ19NSU5PUl9fKSkpICBc
Ci0gICAgIHx8IGRlZmluZWQgX19TVU5QUk9fQyAmJiAweDUxMTAgPD0gX19TVU5QUk9fQwotIyAg
ZGVmaW5lIFlZX0FUVFJJQlVURShTcGVjKSBfX2F0dHJpYnV0ZV9fKFNwZWMpCi0jIGVsc2UKLSMg
IGRlZmluZSBZWV9BVFRSSUJVVEUoU3BlYykgLyogZW1wdHkgKi8KLSMgZW5kaWYKLSNlbmRpZgot
Ci0jaWZuZGVmIFlZX0FUVFJJQlVURV9QVVJFCi0jIGRlZmluZSBZWV9BVFRSSUJVVEVfUFVSRSAg
IFlZX0FUVFJJQlVURSAoKF9fcHVyZV9fKSkKLSNlbmRpZgotCi0jaWZuZGVmIFlZX0FUVFJJQlVU
RV9VTlVTRUQKLSMgZGVmaW5lIFlZX0FUVFJJQlVURV9VTlVTRUQgWVlfQVRUUklCVVRFICgoX191
bnVzZWRfXykpCi0jZW5kaWYKLQotXW00X2JtYXRjaChbJDFdLCBbXGJub3JldHVyblxiXSwgW1sv
KiBUaGUgX05vcmV0dXJuIGtleXdvcmQgb2YgQzExLiAgKi8KLSNpZiAhIGRlZmluZWQgX05vcmV0
dXJuCi0jIGlmIGRlZmluZWQgX19jcGx1c3BsdXMgJiYgMjAxMTAzTCA8PSBfX2NwbHVzcGx1cwot
IyAgZGVmaW5lIF9Ob3JldHVybiBbW25vcmV0dXJuXV0KLSMgZWxpZiAhKGRlZmluZWQgX19TVERD
X1ZFUlNJT05fXyAmJiAyMDExMTIgPD0gX19TVERDX1ZFUlNJT05fXykKLSMgIGlmICgzIDw9IF9f
R05VQ19fIHx8IChfX0dOVUNfXyA9PSAyICYmIDggPD0gX19HTlVDX01JTk9SX18pIFwKLSAgICAg
ICB8fCAweDUxMTAgPD0gX19TVU5QUk9fQykKLSMgICBkZWZpbmUgX05vcmV0dXJuIF9fYXR0cmli
dXRlX18gKChfX25vcmV0dXJuX18pKQotIyAgZWxpZiBkZWZpbmVkIF9NU0NfVkVSICYmIDEyMDAg
PD0gX01TQ19WRVIKLSMgICBkZWZpbmUgX05vcmV0dXJuIF9fZGVjbHNwZWMgKG5vcmV0dXJuKQot
IyAgZWxzZQotIyAgIGRlZmluZSBfTm9yZXR1cm4KLSMgIGVuZGlmCi0jIGVuZGlmCi0jZW5kaWYK
LQotXV0pWy8qIFN1cHByZXNzIHVudXNlZC12YXJpYWJsZSB3YXJuaW5ncyBieSAidXNpbmciIEUu
ICAqLwotI2lmICEgZGVmaW5lZCBsaW50IHx8IGRlZmluZWQgX19HTlVDX18KLSMgZGVmaW5lIFlZ
VVNFKEUpICgodm9pZCkgKEUpKQotI2Vsc2UKLSMgZGVmaW5lIFlZVVNFKEUpIC8qIGVtcHR5ICov
Ci0jZW5kaWYKLQotI2lmIGRlZmluZWQgX19HTlVDX18gJiYgISBkZWZpbmVkIF9fSUNDICYmIDQw
NyA8PSBfX0dOVUNfXyAqIDEwMCArIF9fR05VQ19NSU5PUl9fCi0vKiBTdXBwcmVzcyBhbiBpbmNv
cnJlY3QgZGlhZ25vc3RpYyBhYm91dCB5eWx2YWwgYmVpbmcgdW5pbml0aWFsaXplZC4gICovCi0j
IGRlZmluZSBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9CRUdJTiBcCi0gICAgX1ByYWdt
YSAoIkdDQyBkaWFnbm9zdGljIHB1c2giKSBcCi0gICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGlj
IGlnbm9yZWQgXCItV3VuaW5pdGlhbGl6ZWRcIiIpXAotICAgIF9QcmFnbWEgKCJHQ0MgZGlhZ25v
c3RpYyBpZ25vcmVkIFwiLVdtYXliZS11bmluaXRpYWxpemVkXCIiKQotIyBkZWZpbmUgWVlfSUdO
T1JFX01BWUJFX1VOSU5JVElBTElaRURfRU5EIFwKLSAgICBfUHJhZ21hICgiR0NDIGRpYWdub3N0
aWMgcG9wIikKLSNlbHNlCi0jIGRlZmluZSBZWV9JTklUSUFMX1ZBTFVFKFZhbHVlKSBWYWx1ZQot
I2VuZGlmCi0jaWZuZGVmIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOCi0jIGRl
ZmluZSBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9CRUdJTgotIyBkZWZpbmUgWVlfSUdO
T1JFX01BWUJFX1VOSU5JVElBTElaRURfRU5ECi0jZW5kaWYKLSNpZm5kZWYgWVlfSU5JVElBTF9W
QUxVRQotIyBkZWZpbmUgWVlfSU5JVElBTF9WQUxVRShWYWx1ZSkgLyogTm90aGluZy4gKi8KLSNl
bmRpZgotXV0pCi0KLQotIyBiNF9udWxsX2RlZmluZQotIyAtLS0tLS0tLS0tLS0tLQotIyBQb3J0
YWJpbGl0eSBpc3N1ZXM6IGRlZmluZSBhIFlZX05VTExQVFIgYXBwcm9wcmlhdGUgZm9yIHRoZSBj
dXJyZW50Ci0jIGxhbmd1YWdlIChDLCBDKys5OCwgb3IgQysrMTEpLgotIwotIyBJbiBDKysgcHJl
IEMrKzExIGl0IGlzIHN0YW5kYXJkIHByYWN0aWNlIHRvIHVzZSAwIChub3QgTlVMTCkgZm9yIHRo
ZQotIyBudWxsIHBvaW50ZXIuICBJbiBDLCBwcmVmZXIgKCh2b2lkKikwKSB0byBhdm9pZCBoYXZp
bmcgdG8gaW5jbHVkZSBzdGRsaWIuaC4KLW00X2RlZmluZShbYjRfbnVsbF9kZWZpbmVdLAotWyMg
aWZuZGVmIFlZX05VTExQVFIKLSMgIGlmIGRlZmluZWQgX19jcGx1c3BsdXMKLSMgICBpZiAyMDEx
MDNMIDw9IF9fY3BsdXNwbHVzCi0jICAgIGRlZmluZSBZWV9OVUxMUFRSIG51bGxwdHIKLSMgICBl
bHNlCi0jICAgIGRlZmluZSBZWV9OVUxMUFRSIDAKLSMgICBlbmRpZgotIyAgZWxzZQotIyAgIGRl
ZmluZSBZWV9OVUxMUFRSICgodm9pZCopMCkKLSMgIGVuZGlmCi0jIGVuZGlmW11kbmwKLV0pCi0K
LQotIyBiNF9udWxsCi0jIC0tLS0tLS0KLSMgUmV0dXJuIGEgbnVsbCBwb2ludGVyIGNvbnN0YW50
LgotbTRfZGVmaW5lKFtiNF9udWxsXSwgW1lZX05VTExQVFJdKQotCi0KLQotIyMgLS0tLS0tLS0t
IyMKLSMjIFZhbHVlcy4gICMjCi0jIyAtLS0tLS0tLS0jIwotCi0jIGI0X2ludGVncmFsX3BhcnNl
cl90YWJsZV9kZWZpbmUoVEFCTEUtTkFNRSwgQ09OVEVOVCwgQ09NTUVOVCkKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBE
ZWZpbmUgInl5PFRBQkxFLU5BTUU+IiB3aG9zZSBjb250ZW50cyBpcyBDT05URU5ULgotbTRfZGVm
aW5lKFtiNF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVfZGVmaW5lXSwKLVttNF9pZnZhbG4oWyQzXSwg
W2I0X2NvbW1lbnQoWyQzXSwgWyAgXSldKWRubAotc3RhdGljIGNvbnN0IGI0X2ludF90eXBlX2Zv
cihbJDJdKSB5eSQxW1tdXSA9Ci17Ci0gICQyCi19O2RubAotXSkKLQotCi0jIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tICMjCi0jIyBBc3NpZ25pbmcgdG9rZW4gbnVtYmVycy4gICMjCi0jIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLSMgYjRfdG9rZW5fZGVmaW5lKFRPS0VOLU5V
TSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgT3V0cHV0IHRoZSBkZWZpbml0aW9u
IG9mIHRoaXMgdG9rZW4gYXMgI2RlZmluZS4KLW00X2RlZmluZShbYjRfdG9rZW5fZGVmaW5lXSwK
LVtiNF90b2tlbl9mb3JtYXQoWyNkZWZpbmUgJXMgJXNdLCBbJDFdKV0pCi0KLSMgYjRfdG9rZW5f
ZGVmaW5lcwotIyAtLS0tLS0tLS0tLS0tLS0tCi0jIE91dHB1dCB0aGUgZGVmaW5pdGlvbiBvZiB0
aGUgdG9rZW5zLgotbTRfZGVmaW5lKFtiNF90b2tlbl9kZWZpbmVzXSwKLVtiNF9hbnlfdG9rZW5f
dmlzaWJsZV9pZihbLyogVG9rZW5zLiAgKi8KLW00X2pvaW4oWwotXSwgYjRfc3ltYm9sX21hcChb
YjRfdG9rZW5fZGVmaW5lXSkpCi1dKV0pCi0KLQotIyBiNF90b2tlbl9lbnVtKFRPS0VOLU5VTSkK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE91dHB1dCB0aGUgZGVmaW5pdGlvbiBvZiB0
aGlzIHRva2VuIGFzIGFuIGVudW0uCi1tNF9kZWZpbmUoW2I0X3Rva2VuX2VudW1dLAotW2I0X3Rv
a2VuX2Zvcm1hdChbJXMgPSAlc10sIFskMV0pXSkKLQotCi0jIGI0X3Rva2VuX2VudW1zCi0jIC0t
LS0tLS0tLS0tLS0tCi0jIE91dHB1dCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgdG9rZW5zIChpZiB0
aGVyZSBhcmUpIGFzIGVudW1zLgotbTRfZGVmaW5lKFtiNF90b2tlbl9lbnVtc10sCi1bYjRfYW55
X3Rva2VuX3Zpc2libGVfaWYoW1svKiBUb2tlbiB0eXBlLiAgKi8KLSNpZm5kZWYgXWI0X2FwaV9Q
UkVGSVhbVE9LRU5UWVBFCi0jIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtUT0tFTlRZUEUKLSAgZW51
bSBdYjRfYXBpX3ByZWZpeFt0b2tlbnR5cGUKLSAgewotICAgIF1tNF9qb2luKFssCi0gICAgXSwK
LSAgICAgICAgICAgICBiNF9zeW1ib2xfbWFwKFtiNF90b2tlbl9lbnVtXSkpWwotICB9OwotI2Vu
ZGlmCi1dXSldKQotCi0KLSMgYjRfdG9rZW5fZW51bXNfZGVmaW5lcwotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0jIE91dHB1dCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgdG9rZW5zIChpZiB0aGVy
ZSBhcmUgYW55KSBhcyBlbnVtcyBhbmQsCi0jIGlmIFBPU0lYIFlhY2MgaXMgZW5hYmxlZCwgYXMg
I2RlZmluZXMuCi1tNF9kZWZpbmUoW2I0X3Rva2VuX2VudW1zX2RlZmluZXNdLAotW2I0X3Rva2Vu
X2VudW1zW11iNF95YWNjX2lmKFtiNF90b2tlbl9kZWZpbmVzXSldKQotCi0KLSMjIC0tLS0tLS0t
LS0tLS0tLS0tICMjCi0jIyBTZW1hbnRpYyBWYWx1ZXMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0t
LS0gIyMKLQotCi0jIGI0X3N5bWJvbF92YWx1ZShWQUwsIFtTWU1CT0wtTlVNXSwgW1RZUEUtVEFH
XSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBT
ZWUgUkVBRE1FLgotbTRfZGVmaW5lKFtiNF9zeW1ib2xfdmFsdWVdLAotW200X2lmdmFsKFskM10s
Ci0gICAgICAgICAgWygkMS4kMyldLAotICAgICAgICAgIFttNF9pZnZhbChbJDJdLAotICAgICAg
ICAgICAgICAgICAgICBbYjRfc3ltYm9sX2lmKFskMl0sIFtoYXNfdHlwZV0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgWygkMS5iNF9zeW1ib2woWyQyXSwgW3R5cGVdKSldLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFskMV0pXSwKLSAgICAgICAgICAgICAg
ICAgICAgWyQxXSldKV0pCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgRGVm
aW5pbmcgQyBmdW5jdGlvbnMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0K
LSMgYjRfZnVuY3Rpb25fZGVmaW5lKE5BTUUsIFJFVFVSTi1WQUxVRSwgW0RFQ0wxLCBOQU1FMV0s
IC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgRGVjbGFyZSB0aGUgZnVuY3Rpb24gTkFNRSBpbiBDLgotbTRfZGVmaW5l
KFtiNF9mdW5jdGlvbl9kZWZpbmVdLAotWyQyCi0kMSAoYjRfZm9ybWFscyhtNF9zaGlmdDIoJEAp
KSlbXWRubAotXSkKLQotCi0jIGI0X2Zvcm1hbHMoW0RFQ0wxLCBOQU1FMV0sIC4uLikKLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBUaGUgZm9ybWFsIGFyZ3VtZW50cyBvZiBh
IEMgZnVuY3Rpb24gZGVmaW5pdGlvbi4KLW00X2RlZmluZShbYjRfZm9ybWFsc10sCi1bbTRfaWYo
WyQjXSwgWzBdLCBbdm9pZF0sCi0gICAgICAgWyQjJDFdLCBbMV0sIFt2b2lkXSwKLSAgICAgICAg
ICAgICAgIFttNF9tYXBfc2VwKFtiNF9mb3JtYWxdLCBbLCBdLCBbJEBdKV0pXSkKLQotbTRfZGVm
aW5lKFtiNF9mb3JtYWxdLAotWyQxXSkKLQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
ICMjCi0jIyBEZWNsYXJpbmcgQyBmdW5jdGlvbnMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gIyMKLQotCi0jIGI0X2Z1bmN0aW9uX2RlY2xhcmUoTkFNRSwgUkVUVVJOLVZBTFVFLCBb
REVDTDEsIE5BTUUxXSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVjbGFyZSB0aGUgZnVuY3Rpb24gTkFNRS4K
LW00X2RlZmluZShbYjRfZnVuY3Rpb25fZGVjbGFyZV0sCi1bJDIgJDEgKGI0X2Zvcm1hbHMobTRf
c2hpZnQyKCRAKSkpO1tdZG5sCi1dKQotCi0KLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKLSMjIENhbGxpbmcgQyBmdW5jdGlvbnMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
ICMjCi0KLQotIyBiNF9mdW5jdGlvbl9jYWxsKE5BTUUsIFJFVFVSTi1WQUxVRSwgW0RFQ0wxLCBO
QU1FMV0sIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgQ2FsbCB0aGUgZnVuY3Rpb24gTkFNRSB3aXRoIGFyZ3VtZW50
cyBOQU1FMSwgTkFNRTIgZXRjLgotbTRfZGVmaW5lKFtiNF9mdW5jdGlvbl9jYWxsXSwKLVskMSAo
YjRfYXJncyhtNF9zaGlmdDIoJEApKSlbXWRubAotXSkKLQotCi0jIGI0X2FyZ3MoW0RFQ0wxLCBO
QU1FMV0sIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBPdXRwdXQgdGhl
IGFyZ3VtZW50cyBOQU1FMSwgTkFNRTIuLi4KLW00X2RlZmluZShbYjRfYXJnc10sCi1bbTRfbWFw
X3NlcChbYjRfYXJnXSwgWywgXSwgWyRAXSldKQotCi1tNF9kZWZpbmUoW2I0X2FyZ10sCi1bJDJd
KQotCi0KLSMjIC0tLS0tLS0tLS0tICMjCi0jIyBTeW5jbGluZXMuICAjIwotIyMgLS0tLS0tLS0t
LS0gIyMKLQotIyBiNF9zeW5jX3N0YXJ0KExJTkUsIEZJTEUpCi0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLW00X2RlZmluZShbYjRfc3luY19zdGFydF0sIFtbI11saW5lICQxICQyXSkKLQot
Ci0jIyAtLS0tLS0tLS0tLS0tLSAjIwotIyMgVXNlciBhY3Rpb25zLiAgIyMKLSMjIC0tLS0tLS0t
LS0tLS0tICMjCi0KLSMgYjRfY2FzZShMQUJFTCwgU1RBVEVNRU5UUykKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfY2FzZV0sCi1bICBjYXNlICQxOgotJDIKLWI0
X3N5bmNsaW5lKFtAb2xpbmVAXSwgW0BvZmlsZUBdKQotICAgIGJyZWFrO10pCi0KLQotIyBiNF9w
cmVkaWNhdGVfY2FzZShMQUJFTCwgQ09ORElUSU9OUykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1tNF9kZWZpbmUoW2I0X3ByZWRpY2F0ZV9jYXNlXSwKLVsgIGNhc2Ug
JDE6Ci0gICAgaWYgKCEgKAotJDIpKSBZWUVSUk9SOwotYjRfc3luY2xpbmUoW0BvbGluZUBdLCBb
QG9maWxlQF0pCi0gICAgYnJlYWs7XSkKLQotCi0jIGI0X3l5ZGVzdHJ1Y3RfZGVmaW5lCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlZmluZSB0aGUgInl5ZGVzdHJ1Y3QiIGZ1bmN0aW9uLgot
bTRfZGVmaW5lX2RlZmF1bHQoW2I0X3l5ZGVzdHJ1Y3RfZGVmaW5lXSwKLVtbLyotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KLXwgUmVsZWFzZSB0aGUgbWVt
b3J5IGFzc29jaWF0ZWQgdG8gdGhpcyBzeW1ib2wuICB8Ci1gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotCi1dYjRfZnVuY3Rpb25fZGVmaW5lKFt5eWRl
c3RydWN0XSwKLSAgICBbc3RhdGljIHZvaWRdLAotICAgIFtbY29uc3QgY2hhciAqeXltc2ddLCAg
ICBbeXltc2ddXSwKLSAgICBbW2ludCB5eXR5cGVdLCAgICAgICAgICAgW3l5dHlwZV1dLAotICAg
IFtbWVlTVFlQRSAqeXl2YWx1ZXBdLCAgICBbeXl2YWx1ZXBdXVtdZG5sCi1iNF9sb2NhdGlvbnNf
aWYoICAgICAgICAgICAgWywgW1tZWUxUWVBFICp5eWxvY2F0aW9ucF0sIFt5eWxvY2F0aW9ucF1d
XSlbXWRubAotbTRfaWZzZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywgYjRfcGFyc2VfcGFyYW1dKSlb
Ci17Ci1dYjRfcGFyc2VfcGFyYW1fdXNlKFt5eXZhbHVlcF0sIFt5eWxvY2F0aW9ucF0pZG5sCi1b
ICBpZiAoIXl5bXNnKQotICAgIHl5bXNnID0gIkRlbGV0aW5nIjsKLSAgWVlfU1lNQk9MX1BSSU5U
ICh5eW1zZywgeXl0eXBlLCB5eXZhbHVlcCwgeXlsb2NhdGlvbnApOwotCi0gIFlZX0lHTk9SRV9N
QVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOCi0gIF1iNF9zeW1ib2xfYWN0aW9ucyhbZGVzdHJ1Y3Rv
cl0pWwotICBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9FTkQKLX1dZG5sCi1dKQotCi0K
LSMgYjRfeXlfc3ltYm9sX3ByaW50X2RlZmluZQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jIERlZmluZSB0aGUgInl5X3N5bWJvbF9wcmludCIgZnVuY3Rpb24uCi1tNF9kZWZpbmVfZGVm
YXVsdChbYjRfeXlfc3ltYm9sX3ByaW50X2RlZmluZV0sCi1bWwotLyotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS4KLXwgUHJpbnQgdGhpcyBzeW1ib2wncyB2YWx1ZSBvbiBZWU8u
ICB8Ci1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotCi1dYjRfZnVuY3Rp
b25fZGVmaW5lKFt5eV9zeW1ib2xfdmFsdWVfcHJpbnRdLAotICAgIFtzdGF0aWMgdm9pZF0sCi0g
ICAgICAgICAgICAgICBbW0ZJTEUgKnl5b10sICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt5
eW9dXSwKLSAgICAgICAgICAgICAgIFtbaW50IHl5dHlwZV0sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgW3l5dHlwZV1dLAotICAgICAgICAgICAgICAgW1tZWVNUWVBFIGNvbnN0ICogY29uc3Qg
eXl2YWx1ZXBdLCAgICAgICBbeXl2YWx1ZXBdXVtdZG5sCi1iNF9sb2NhdGlvbnNfaWYoWywgW1tZ
WUxUWVBFIGNvbnN0ICogY29uc3QgeXlsb2NhdGlvbnBdLCBbeXlsb2NhdGlvbnBdXV0pW11kbmwK
LW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssIGI0X3BhcnNlX3BhcmFtXSkpWwotewotICBG
SUxFICp5eW91dHB1dCA9IHl5bzsKLV1iNF9wYXJzZV9wYXJhbV91c2UoW3l5b3V0cHV0XSwgW3l5
bG9jYXRpb25wXSlkbmwKLVsgIGlmICgheXl2YWx1ZXApCi0gICAgcmV0dXJuO10KLWRubCBnbHIu
YyBkb2VzIG5vdCBmZWF0dXJlIHl5dG9rbnVtLgotbTRfaWYoYjRfc2tlbGV0b24sIFsieWFjYy5j
Il0sCi1bWyMgaWZkZWYgWVlQUklOVAotICBpZiAoeXl0eXBlIDwgWVlOVE9LRU5TKQotICAgIFlZ
UFJJTlQgKHl5bywgeXl0b2tudW1beXl0eXBlXSwgKnl5dmFsdWVwKTsKLSMgZW5kaWYKLV1dKWRu
bAotICBiNF9zeW1ib2xfYWN0aW9ucyhbcHJpbnRlcl0pWwotfQotCi0KLS8qLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLgotfCBQcmludCB0aGlzIHN5bWJvbCBvbiBZWU8uICB8Ci1gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLQotXWI0X2Z1bmN0aW9uX2RlZmluZShbeXlfc3ltYm9s
X3ByaW50XSwKLSAgICBbc3RhdGljIHZvaWRdLAotICAgICAgICAgICAgICAgW1tGSUxFICp5eW9d
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICBbeXlvXV0sCi0gICAgICAgICAgICAgICBbW2lu
dCB5eXR5cGVdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIFt5eXR5cGVdXSwKLSAgICAgICAg
ICAgICAgIFtbWVlTVFlQRSBjb25zdCAqIGNvbnN0IHl5dmFsdWVwXSwgICAgICAgW3l5dmFsdWVw
XV1bXWRubAotYjRfbG9jYXRpb25zX2lmKFssIFtbWVlMVFlQRSBjb25zdCAqIGNvbnN0IHl5bG9j
YXRpb25wXSwgW3l5bG9jYXRpb25wXV1dKVtdZG5sCi1tNF9pZnNldChbYjRfcGFyc2VfcGFyYW1d
LCBbLCBiNF9wYXJzZV9wYXJhbV0pKVsKLXsKLSAgWVlGUFJJTlRGICh5eW8sICIlcyAlcyAoIiwK
LSAgICAgICAgICAgICB5eXR5cGUgPCBZWU5UT0tFTlMgPyAidG9rZW4iIDogIm50ZXJtIiwgeXl0
bmFtZVt5eXR5cGVdKTsKLQotXWI0X2xvY2F0aW9uc19pZihbICBZWV9MT0NBVElPTl9QUklOVCAo
eXlvLCAqeXlsb2NhdGlvbnApOwotICBZWUZQUklOVEYgKHl5bywgIjogIik7Ci1dKWRubAotWyAg
eXlfc3ltYm9sX3ZhbHVlX3ByaW50ICh5eW8sIHl5dHlwZSwgeXl2YWx1ZXBdZG5sCi1iNF9sb2Nh
dGlvbnNfaWYoWywgeXlsb2NhdGlvbnBdKVtdYjRfdXNlcl9hcmdzWyk7Ci0gIFlZRlBSSU5URiAo
eXlvLCAiKSIpOwotfV1kbmwKLV0pCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgYXBp
LnZhbHVlLnR5cGUuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0KLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSAjCi0jIGFwaS52YWx1ZS50eXBlPXVuaW9uLiAgIwotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMKLQotIyBiNF9zeW1ib2xfdHlwZV9yZWdpc3RlcihTWU1CT0wtTlVNKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTeW1ib2wgU1lNQk9MLU5V
TSBoYXMgYSB0eXBlIChmb3IgdmFyaWFudCkgaW5zdGVhZCBvZiBhIHR5cGUtdGFnLgotIyBFeHRl
bmQgdGhlIGRlZmluaXRpb24gb2YgJXVuaW9uJ3MgYm9keSAoYjRfdW5pb25fbWVtYmVycykgd2l0
aCBhCi0jIGZpZWxkIG9mIHRoYXQgdHlwZSwgYW5kIGV4dGVuZCB0aGUgc3ltYm9sJ3MgInR5cGUi
IGZpZWxkIHRvIHBvaW50IHRvCi0jIHRoZSBmaWVsZCBuYW1lLCBpbnN0ZWFkIG9mIHRoZSB0eXBl
IG5hbWUuCi1tNF9kZWZpbmUoW2I0X3N5bWJvbF90eXBlX3JlZ2lzdGVyXSwKLVttNF9kZWZpbmUo
W2I0X3N5bWJvbCgkMSwgdHlwZV90YWcpXSwKLSAgICAgICAgICAgW2I0X3N5bWJvbF9pZihbJDFd
LCBbaGFzX2lkXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBbYjRfc3ltYm9sKFskMV0sIFtp
ZF0pXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBbeXl0eXBlX1tdYjRfc3ltYm9sKFskMV0s
IFtudW1iZXJdKV0pXSlkbmwKLW00X2FwcGVuZChbYjRfdW5pb25fbWVtYmVyc10sCi1tNF9leHBh
bmQoWwotICBiNF9zeW1ib2xfdGFnX2NvbW1lbnQoWyQxXSlkbmwKLSAgYjRfc3ltYm9sKFskMV0s
IFt0eXBlXSkgYjRfc3ltYm9sKFskMV0sIFt0eXBlX3RhZ10pO10pKQotXSkKLQotCi0jIGI0X3R5
cGVfZGVmaW5lX3RhZyhTWU1CT0wxLU5VTSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLSMgRm9yIHRoZSBiYXRjaCBvZiBzeW1ib2xzIFNZTUJPTDEtTlVNLi4u
ICh3aGljaCBhbGwgaGF2ZSB0aGUgc2FtZQotIyB0eXBlKSwgZW5oYW5jZSB0aGUgJXVuaW9uIGRl
ZmluaXRpb24gZm9yIGVhY2ggb2YgdGhlbSwgYW5kIHNldAotIyB0aGVyZSAidHlwZSIgZmllbGQg
dG8gdGhlIGZpZWxkIHRhZyBuYW1lLCBpbnN0ZWFkIG9mIHRoZSB0eXBlIG5hbWUuCi1tNF9kZWZp
bmUoW2I0X3R5cGVfZGVmaW5lX3RhZ10sCi1bYjRfc3ltYm9sX2lmKFskMV0sIFtoYXNfdHlwZV0s
Ci0gICAgICAgICAgICAgIFttNF9tYXAoW2I0X3N5bWJvbF90eXBlX3JlZ2lzdGVyXSwgWyRAXSld
KQotXSkKLQotCi0jIGI0X3N5bWJvbF92YWx1ZV91bmlvbihWQUwsIFNZTUJPTC1OVU0sIFtUWVBF
XSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBT
YW1lIG9mIGI0X3N5bWJvbF92YWx1ZSwgYnV0IHdoZW4gYXBpLnZhbHVlLnR5cGU9dW5pb24uCi1t
NF9kZWZpbmUoW2I0X3N5bWJvbF92YWx1ZV91bmlvbl0sCi1bbTRfaWZ2YWwoWyQzXSwKLSAgICAg
ICAgICBbKCooJDMqKSgmJDEpKV0sCi0gICAgICAgICAgW200X2lmdmFsKFskMl0sCi0gICAgICAg
ICAgICAgICAgICAgIFtiNF9zeW1ib2xfaWYoWyQyXSwgW2hhc190eXBlXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbKCQxLmI0X3N5bWJvbChbJDJdLCBbdHlwZV90YWddKSld
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFskMV0pXSwKLSAgICAgICAgICAg
ICAgICAgICAgWyQxXSldKV0pCi0KLQotIyBiNF92YWx1ZV90eXBlX3NldHVwX3VuaW9uCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgU2V0dXAgc3VwcG9ydCBmb3IgYXBpLnZhbHVlLnR5
cGU9dW5pb24uICBTeW1ib2xzIGFyZSBkZWZpbmVkIHdpdGggYQotIyB0eXBlIGluc3RlYWQgb2Yg
YSB1bmlvbiBtZW1iZXIgbmFtZTogYnVpbGQgdGhlIGNvcnJlc3BvbmRpbmcgdW5pb24sCi0jIGFu
ZCBnaXZlIHRoZSBzeW1ib2xzIHRoZWlyIHRhZy4KLW00X2RlZmluZShbYjRfdmFsdWVfdHlwZV9z
ZXR1cF91bmlvbl0sCi1bbTRfZGVmaW5lKFtiNF91bmlvbl9tZW1iZXJzXSkKLWI0X3R5cGVfZm9y
ZWFjaChbYjRfdHlwZV9kZWZpbmVfdGFnXSkKLW00X2NvcHlfZm9yY2UoW2I0X3N5bWJvbF92YWx1
ZV91bmlvbl0sIFtiNF9zeW1ib2xfdmFsdWVdKQotXSkKLQotCi0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tICMKLSMgYXBpLnZhbHVlLnR5cGUgPSB2YXJpYW50LiAgIwotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSAjCi0KLSMgYjRfdmFsdWVfdHlwZV9zZXR1cF92YXJpYW50Ci0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTZXR1cCBzdXBwb3J0IGZvciBhcGkudmFsdWUu
dHlwZT12YXJpYW50LiAgQnkgZGVmYXVsdCwgZmFpbCwgc3BlY2lhbGl6ZWQKLSMgYnkgb3RoZXIg
c2tlbGV0b25zLgotbTRfZGVmaW5lKFtiNF92YWx1ZV90eXBlX3NldHVwX3ZhcmlhbnRdLAotW2I0
X2NvbXBsYWluX2F0KGI0X3BlcmNlbnRfZGVmaW5lX2dldF9sb2MoW1thcGkudmFsdWUudHlwZV1d
KSwKLSAgICAgICAgICAgICAgICBbWyclcycgZG9lcyBub3Qgc3VwcG9ydCAnJXMnXV0sCi0gICAg
ICAgICAgICAgICAgW2I0X3NrZWxldG9uXSwKLSAgICAgICAgICAgICAgICBbJWRlZmluZSBhcGku
dmFsdWUudHlwZSB2YXJpYW50XSldKQotCi0KLSMgX2I0X3ZhbHVlX3R5cGVfc2V0dXBfa2V5d29y
ZAotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIGFwaS52YWx1ZS50eXBlIGlzIGRl
ZmluZWQgd2l0aCBhIGtleXdvcmQvc3RyaW5nIHN5bnRheC4gIENoZWNrIGlmCi0jIHRoYXQgaXMg
cHJvcGVybHkgZGVmaW5lZCwgYW5kIHByZXBhcmUgaXRzIHVzZS4KLW00X2RlZmluZShbX2I0X3Zh
bHVlX3R5cGVfc2V0dXBfa2V5d29yZF0sCi1bYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfdmFsdWVz
KFtbW1thcGkudmFsdWUudHlwZV1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtbbm9uZV1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbdW5pb25dXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW3VuaW9uLWRpcmVjdGl2ZV1dLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbdmFyaWFudF1dLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFtbeXlzdHlwZV1dXV0pZG5sCi1tNF9jYXNlKGI0X3Bl
cmNlbnRfZGVmaW5lX2dldChbW2FwaS52YWx1ZS50eXBlXV0pLAotICAgICAgICBbdW5pb25dLCAg
IFtiNF92YWx1ZV90eXBlX3NldHVwX3VuaW9uXSwKLSAgICAgICAgW3ZhcmlhbnRdLCBbYjRfdmFs
dWVfdHlwZV9zZXR1cF92YXJpYW50XSldKQotCi0KLSMgYjRfdmFsdWVfdHlwZV9zZXR1cAotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIENoZWNrIGlmIGFwaS52YWx1ZS50eXBlIGlzIHByb3Blcmx5
IGRlZmluZWQsIGFuZCBwb3NzaWJseSBwcmVwYXJlCi0jIGl0cyB1c2UuCi1iNF9kZWZpbmVfc2ls
ZW50KFtiNF92YWx1ZV90eXBlX3NldHVwXSwKLVsjIERlZmluZSBkZWZhdWx0IHZhbHVlLgotYjRf
cGVyY2VudF9kZWZpbmVfaWZkZWYoW1thcGkudmFsdWUudHlwZV1dLCBbXSwKLVsjICV1bmlvbiA9
PiBhcGkudmFsdWUudHlwZT11bmlvbi1kaXJlY3RpdmUKLW00X2lmZGVmKFtiNF91bmlvbl9tZW1i
ZXJzXSwKLVttNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2tpbmQoYXBpLnZhbHVlLnR5cGUp
XSwgW2tleXdvcmRdKQotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZShhcGkudmFsdWUudHlw
ZSldLCBbdW5pb24tZGlyZWN0aXZlXSldLAotWyMgbm8gdGFnIHNlZW4gPT4gYXBpLnZhbHVlLnR5
cGU9e2ludH0KLW00X2lmKGI0X3RhZ19zZWVuX2ZsYWcsIDAsCi1bbTRfZGVmaW5lKFtiNF9wZXJj
ZW50X2RlZmluZV9raW5kKGFwaS52YWx1ZS50eXBlKV0sIFtjb2RlXSkKLW00X2RlZmluZShbYjRf
cGVyY2VudF9kZWZpbmUoYXBpLnZhbHVlLnR5cGUpXSwgW2ludF0pXSwKLVsjIG90aGVyd2lzZSBh
cGkudmFsdWUudHlwZT15eXN0eXBlCi1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2tpbmQo
YXBpLnZhbHVlLnR5cGUpXSwgW2tleXdvcmRdKQotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmlu
ZShhcGkudmFsdWUudHlwZSldLCBbeXlzdHlwZV0pXSldKV0pCi0KLSMgU2V0IHVwLgotbTRfYm1h
dGNoKGI0X3BlcmNlbnRfZGVmaW5lX2dldF9raW5kKFtbYXBpLnZhbHVlLnR5cGVdXSksCi0gICBb
a2V5d29yZFx8c3RyaW5nXSwgW19iNF92YWx1ZV90eXBlX3NldHVwX2tleXdvcmRdKQotXSkKLQot
Ci0jIyAtLS0tLS0tLS0tLS0tLSAjIwotIyMgRGVjbGFyYXRpb25zLiAgIyMKLSMjIC0tLS0tLS0t
LS0tLS0tICMjCi0KLQotIyBiNF92YWx1ZV90eXBlX2RlZmluZQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLQotbTRfZGVmaW5lKFtiNF92YWx1ZV90eXBlX2RlZmluZV0sCi1bYjRfdmFsdWVfdHlwZV9z
ZXR1cFtdZG5sCi0vKiBWYWx1ZSB0eXBlLiAgKi8KLW00X2JtYXRjaChiNF9wZXJjZW50X2RlZmlu
ZV9nZXRfa2luZChbW2FwaS52YWx1ZS50eXBlXV0pLAotW2NvZGVdLAotW1sjaWYgISBkZWZpbmVk
IF1iNF9hcGlfUFJFRklYW1NUWVBFICYmICEgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtTVFlQRV9J
U19ERUNMQVJFRAotdHlwZWRlZiBdYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbYXBpLnZhbHVlLnR5
cGVdXSlbIF1iNF9hcGlfUFJFRklYW1NUWVBFOwotIyBkZWZpbmUgXWI0X2FwaV9QUkVGSVhbU1RZ
UEVfSVNfVFJJVklBTCAxCi0jIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtTVFlQRV9JU19ERUNMQVJF
RCAxCi0jZW5kaWYKLV1dLAotW200X2JtYXRjaChiNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGku
dmFsdWUudHlwZV1dKSwKLVt1bmlvblx8dW5pb24tZGlyZWN0aXZlXSwKLVtbI2lmICEgZGVmaW5l
ZCBdYjRfYXBpX1BSRUZJWFtTVFlQRSAmJiAhIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbU1RZUEVf
SVNfREVDTEFSRUQKLV1iNF9wZXJjZW50X2RlZmluZV9nZXRfc3luY2xpbmUoW1thcGkudmFsdWUu
dW5pb24ubmFtZV1dKVsKLXVuaW9uIF1iNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkudmFsdWUu
dW5pb24ubmFtZV1dKVsKLXsKLV1iNF91c2VyX3VuaW9uX21lbWJlcnNbCi19OwotXWI0X3BlcmNl
bnRfZGVmaW5lX2dldF9zeW5jbGluZShbW2FwaS52YWx1ZS51bmlvbi5uYW1lXV0pWwotdHlwZWRl
ZiB1bmlvbiBdYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbYXBpLnZhbHVlLnVuaW9uLm5hbWVdXSlb
IF1iNF9hcGlfUFJFRklYW1NUWVBFOwotIyBkZWZpbmUgXWI0X2FwaV9QUkVGSVhbU1RZUEVfSVNf
VFJJVklBTCAxCi0jIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtTVFlQRV9JU19ERUNMQVJFRCAxCi0j
ZW5kaWYKLV1dKV0pXSkKLQotCi0jIGI0X2xvY2F0aW9uX3R5cGVfZGVmaW5lCi0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi1tNF9kZWZpbmUoW2I0X2xvY2F0aW9uX3R5cGVfZGVmaW5lXSwKLVtb
LyogTG9jYXRpb24gdHlwZS4gICovCi0jaWYgISBkZWZpbmVkIF1iNF9hcGlfUFJFRklYW0xUWVBF
ICYmICEgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtMVFlQRV9JU19ERUNMQVJFRAotdHlwZWRlZiBz
dHJ1Y3QgXWI0X2FwaV9QUkVGSVhbTFRZUEUgXWI0X2FwaV9QUkVGSVhbTFRZUEU7Ci1zdHJ1Y3Qg
XWI0X2FwaV9QUkVGSVhbTFRZUEUKLXsKLSAgaW50IGZpcnN0X2xpbmU7Ci0gIGludCBmaXJzdF9j
b2x1bW47Ci0gIGludCBsYXN0X2xpbmU7Ci0gIGludCBsYXN0X2NvbHVtbjsKLX07Ci0jIGRlZmlu
ZSBdYjRfYXBpX1BSRUZJWFtMVFlQRV9JU19ERUNMQVJFRCAxCi0jIGRlZmluZSBdYjRfYXBpX1BS
RUZJWFtMVFlQRV9JU19UUklWSUFMIDEKLSNlbmRpZgotXV0pCi0KLQotIyBiNF9kZWNsYXJlX3l5
bHN0eXBlCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVjbGFyYXRpb25zIHRoYXQgbWlnaHQg
ZWl0aGVyIGdvIGludG8gdGhlIGhlYWRlciAoaWYgLS1kZWZpbmVzKSBvcgotIyBpbiB0aGUgcGFy
c2VyIGJvZHkuICBEZWNsYXJlIFlZU1RZUEUvWVlMVFlQRSwgYW5kIHl5bHZhbC95eWxsb2MuCi1t
NF9kZWZpbmUoW2I0X2RlY2xhcmVfeXlsc3R5cGVdLAotW2I0X3ZhbHVlX3R5cGVfZGVmaW5lW11i
NF9sb2NhdGlvbnNfaWYoWwotYjRfbG9jYXRpb25fdHlwZV9kZWZpbmVdKQotCi1iNF9wdXJlX2lm
KFtdLCBbW2V4dGVybiBdYjRfYXBpX1BSRUZJWFtTVFlQRSBdYjRfcHJlZml4W2x2YWw7Ci1dYjRf
bG9jYXRpb25zX2lmKFtbZXh0ZXJuIF1iNF9hcGlfUFJFRklYW0xUWVBFIF1iNF9wcmVmaXhbbGxv
YztdXSldKVtdZG5sCi1dKQotCi0KLSMgYjRfWVlERUJVR19kZWZpbmUKLSMgLS0tLS0tLS0tLS0t
LS0tLS0KLW00X2RlZmluZShbYjRfWVlERUJVR19kZWZpbmVdLAotW1svKiBEZWJ1ZyB0cmFjZXMu
ICAqLwotXW00X2lmKGI0X2FwaV9wcmVmaXgsIFt5eV0sCi1bWyNpZm5kZWYgWVlERUJVRwotIyBk
ZWZpbmUgWVlERUJVRyBdYjRfcGFyc2VfdHJhY2VfaWYoWzFdLCBbMF0pWwotI2VuZGlmXV0sCi1b
WyNpZm5kZWYgXWI0X2FwaV9QUkVGSVhbREVCVUcKLSMgaWYgZGVmaW5lZCBZWURFQlVHCi0jaWYg
WVlERUJVRwotIyAgIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtERUJVRyAxCi0jICBlbHNlCi0jICAg
ZGVmaW5lIF1iNF9hcGlfUFJFRklYW0RFQlVHIDAKLSMgIGVuZGlmCi0jIGVsc2UgLyogISBkZWZp
bmVkIFlZREVCVUcgKi8KLSMgIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtERUJVRyBdYjRfcGFyc2Vf
dHJhY2VfaWYoWzFdLCBbMF0pWwotIyBlbmRpZiAvKiAhIGRlZmluZWQgWVlERUJVRyAqLwotI2Vu
ZGlmICAvKiAhIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbREVCVUcgKi9dXSlbXWRubAotXSkKLQot
IyBiNF9kZWNsYXJlX3l5ZGVidWcKLSMgLS0tLS0tLS0tLS0tLS0tLS0tCi1tNF9kZWZpbmUoW2I0
X2RlY2xhcmVfeXlkZWJ1Z10sCi1bYjRfWVlERUJVR19kZWZpbmVbCi0jaWYgXWI0X2FwaV9QUkVG
SVhbREVCVUcKLWV4dGVybiBpbnQgXWI0X3ByZWZpeFtkZWJ1ZzsKLSNlbmRpZl1bXWRubAotXSkK
LQotIyBiNF95eWxsb2NfZGVmYXVsdF9kZWZpbmUKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jIERlZmluZSBZWUxMT0NfREVGQVVMVC4KLW00X2RlZmluZShbYjRfeXlsbG9jX2RlZmF1bHRf
ZGVmaW5lXSwKLVtbLyogWVlMTE9DX0RFRkFVTFQgLS0gU2V0IENVUlJFTlQgdG8gc3BhbiBmcm9t
IFJIU1sxXSB0byBSSFNbTl0uCi0gICBJZiBOIGlzIDAsIHRoZW4gc2V0IENVUlJFTlQgdG8gdGhl
IGVtcHR5IGxvY2F0aW9uIHdoaWNoIGVuZHMKLSAgIHRoZSBwcmV2aW91cyBzeW1ib2w6IFJIU1sw
XSAoYWx3YXlzIGRlZmluZWQpLiAgKi8KLQotI2lmbmRlZiBZWUxMT0NfREVGQVVMVAotIyBkZWZp
bmUgWVlMTE9DX0RFRkFVTFQoQ3VycmVudCwgUmhzLCBOKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIGRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKE4pICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgIChDdXJyZW50KS5maXJzdF9saW5lICAgPSBZWVJIU0xPQyAoUmhz
LCAxKS5maXJzdF9saW5lOyAgICAgICAgXAotICAgICAgICAgIChDdXJyZW50KS5maXJzdF9jb2x1
bW4gPSBZWVJIU0xPQyAoUmhzLCAxKS5maXJzdF9jb2x1bW47ICAgICAgXAotICAgICAgICAgIChD
dXJyZW50KS5sYXN0X2xpbmUgICAgPSBZWVJIU0xPQyAoUmhzLCBOKS5sYXN0X2xpbmU7ICAgICAg
ICAgXAotICAgICAgICAgIChDdXJyZW50KS5sYXN0X2NvbHVtbiAgPSBZWVJIU0xPQyAoUmhzLCBO
KS5sYXN0X2NvbHVtbjsgICAgICAgXAotICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgZWxzZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgIChDdXJyZW50KS5maXJzdF9saW5lICAgPSAo
Q3VycmVudCkubGFzdF9saW5lICAgPSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgWVlSSFNM
T0MgKFJocywgMCkubGFzdF9saW5lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgIChDdXJyZW50KS5maXJzdF9jb2x1bW4gPSAoQ3VycmVudCkubGFzdF9jb2x1bW4g
PSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgWVlSSFNMT0MgKFJocywgMCkubGFzdF9jb2x1
bW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHdoaWxlICgwKQotI2VuZGlmCi1dXSkKLQotIyBiNF95eV9sb2NhdGlvbl9wcmludF9kZWZpbmUK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlZmluZSBZWV9MT0NBVElPTl9QUklO
VC4KLW00X2RlZmluZShbYjRfeXlfbG9jYXRpb25fcHJpbnRfZGVmaW5lXSwKLVtiNF9sb2NhdGlv
bnNfaWYoW1sKLS8qIFlZX0xPQ0FUSU9OX1BSSU5UIC0tIFByaW50IHRoZSBsb2NhdGlvbiBvbiB0
aGUgc3RyZWFtLgotICAgVGhpcyBtYWNybyB3YXMgbm90IG1hbmRhdGVkIG9yaWdpbmFsbHk6IGRl
ZmluZSBvbmx5IGlmIHdlIGtub3cKLSAgIHdlIHdvbid0IGJyZWFrIHVzZXIgY29kZTogd2hlbiB0
aGVzZSBhcmUgdGhlIGxvY2F0aW9ucyB3ZSBrbm93LiAgKi8KLQotI2lmbmRlZiBZWV9MT0NBVElP
Tl9QUklOVAotIyBpZiBkZWZpbmVkIF1iNF9hcGlfUFJFRklYW0xUWVBFX0lTX1RSSVZJQUwgJiYg
XWI0X2FwaV9QUkVGSVhbTFRZUEVfSVNfVFJJVklBTAotCi0vKiBQcmludCAqWVlMT0NQIG9uIFlZ
Ty4gIFByaXZhdGUsIGRvIG5vdCByZWx5IG9uIGl0cyBleGlzdGVuY2UuICovCi0KLVlZX0FUVFJJ
QlVURV9VTlVTRUQKLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5X2xvY2F0aW9uX3ByaW50X10sCi0g
ICAgW3N0YXRpYyBpbnRdLAotICAgICAgICAgICAgICAgW1tGSUxFICp5eW9dLCAgICAgICAgICAg
ICAgICAgICAgW3l5b11dLAotICAgICAgICAgICAgICAgW1tZWUxUWVBFIGNvbnN0ICogY29uc3Qg
eXlsb2NwXSwgW3l5bG9jcF1dKVsKLXsKLSAgaW50IHJlcyA9IDA7Ci0gIGludCBlbmRfY29sID0g
MCAhPSB5eWxvY3AtPmxhc3RfY29sdW1uID8geXlsb2NwLT5sYXN0X2NvbHVtbiAtIDEgOiAwOwot
ICBpZiAoMCA8PSB5eWxvY3AtPmZpcnN0X2xpbmUpCi0gICAgewotICAgICAgcmVzICs9IFlZRlBS
SU5URiAoeXlvLCAiJWQiLCB5eWxvY3AtPmZpcnN0X2xpbmUpOwotICAgICAgaWYgKDAgPD0geXls
b2NwLT5maXJzdF9jb2x1bW4pCi0gICAgICAgIHJlcyArPSBZWUZQUklOVEYgKHl5bywgIi4lZCIs
IHl5bG9jcC0+Zmlyc3RfY29sdW1uKTsKLSAgICB9Ci0gIGlmICgwIDw9IHl5bG9jcC0+bGFzdF9s
aW5lKQotICAgIHsKLSAgICAgIGlmICh5eWxvY3AtPmZpcnN0X2xpbmUgPCB5eWxvY3AtPmxhc3Rf
bGluZSkKLSAgICAgICAgewotICAgICAgICAgIHJlcyArPSBZWUZQUklOVEYgKHl5bywgIi0lZCIs
IHl5bG9jcC0+bGFzdF9saW5lKTsKLSAgICAgICAgICBpZiAoMCA8PSBlbmRfY29sKQotICAgICAg
ICAgICAgcmVzICs9IFlZRlBSSU5URiAoeXlvLCAiLiVkIiwgZW5kX2NvbCk7Ci0gICAgICAgIH0K
LSAgICAgIGVsc2UgaWYgKDAgPD0gZW5kX2NvbCAmJiB5eWxvY3AtPmZpcnN0X2NvbHVtbiA8IGVu
ZF9jb2wpCi0gICAgICAgIHJlcyArPSBZWUZQUklOVEYgKHl5bywgIi0lZCIsIGVuZF9jb2wpOwot
ICAgIH0KLSAgcmV0dXJuIHJlczsKLSB9Ci0KLSMgIGRlZmluZSBZWV9MT0NBVElPTl9QUklOVChG
aWxlLCBMb2MpICAgICAgICAgIFwKLSAgeXlfbG9jYXRpb25fcHJpbnRfIChGaWxlLCAmKExvYykp
Ci0KLSMgZWxzZQotIyAgZGVmaW5lIFlZX0xPQ0FUSU9OX1BSSU5UKEZpbGUsIExvYykgKCh2b2lk
KSAwKQotIyBlbmRpZgotI2VuZGlmXV0sCi1bWy8qIFRoaXMgbWFjcm8gaXMgcHJvdmlkZWQgZm9y
IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuICovCi0jaWZuZGVmIFlZX0xPQ0FUSU9OX1BSSU5UCi0j
IGRlZmluZSBZWV9MT0NBVElPTl9QUklOVChGaWxlLCBMb2MpICgodm9pZCkgMCkKLSNlbmRpZl1d
KQotXSkKLQotIyBiNF95eWxvY19kZWZhdWx0Ci0jIC0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5k
IHRvIGEgcG9zc2libGUgZGVmYXVsdCB2YWx1ZSBmb3IgeXlsbG9jLgotbTRfZGVmaW5lKFtiNF95
eWxvY19kZWZhdWx0XSwKLVtbCi0jIGlmIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbTFRZUEVfSVNf
VFJJVklBTCAmJiBdYjRfYXBpX1BSRUZJWFtMVFlQRV9JU19UUklWSUFMCi0gID0geyBdbTRfam9p
bihbLCBdLAotICAgICAgICAgICAgICAgbTRfZGVmbihbYjRfbG9jYXRpb25faW5pdGlhbF9saW5l
XSksCi0gICAgICAgICAgICAgICBtNF9kZWZuKFtiNF9sb2NhdGlvbl9pbml0aWFsX2NvbHVtbl0p
LAotICAgICAgICAgICAgICAgbTRfZGVmbihbYjRfbG9jYXRpb25faW5pdGlhbF9saW5lXSksCi0g
ICAgICAgICAgICAgICBtNF9kZWZuKFtiNF9sb2NhdGlvbl9pbml0aWFsX2NvbHVtbl0pKVsgfQot
IyBlbmRpZgotXV0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9m
bGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy95YWNjLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy95YWNjLmMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0ZTQwZTY3NDEyZTRjZTc3OGQ3YzU1MjRjYzBj
MDg4MDg4YWQ2YzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9z
a2VsZXRvbnMveWFjYy5jCisrKyAvZGV2L251bGwKQEAgLTEsMTkyNyArMCwwIEBACi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSot
IEMgLSotCi0jIFlhY2MgY29tcGF0aWJsZSBza2VsZXRvbiBmb3IgQmlzb24KLQotIyBDb3B5cmln
aHQgKEMpIDE5ODQsIDE5ODktMTk5MCwgMjAwMC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2Fy
ZQotIyBGb3VuZGF0aW9uLCBJbmMuCi0KLW00X3B1c2hkZWYoW2I0X2NvcHlyaWdodF95ZWFyc10s
Ci0gICAgICAgICAgIFsxOTg0LCAxOTg5LTE5OTAsIDIwMDAtMjAxNSwgMjAxOC0yMDE5XSkKLQot
IyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQotIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotIyAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotIyBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu
dS5vcmcvbGljZW5zZXMvPi4KLQotIyBDaGVjayB0aGUgdmFsdWUgb2YgJWRlZmluZSBhcGkucHVz
aC1wdWxsLgotYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdChbW2FwaS5wdXNoLXB1bGxdXSwgW1tw
dWxsXV0pCi1iNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXMoW1tbW2FwaS5wdXNoLXB1bGxd
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbcHVsbF1dLCBbW3B1c2hdXSwg
W1tib3RoXV1dXSkKLWI0X2RlZmluZV9mbGFnX2lmKFtwdWxsXSkgbTRfZGVmaW5lKFtiNF9wdWxs
X2ZsYWddLCBbWzFdXSkKLWI0X2RlZmluZV9mbGFnX2lmKFtwdXNoXSkgbTRfZGVmaW5lKFtiNF9w
dXNoX2ZsYWddLCBbWzFdXSkKLW00X2Nhc2UoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbYXBpLnB1
c2gtcHVsbF1dKSwKLSAgICAgICAgW3B1bGxdLCBbbTRfZGVmaW5lKFtiNF9wdXNoX2ZsYWddLCBb
WzBdXSldLAotICAgICAgICBbcHVzaF0sIFttNF9kZWZpbmUoW2I0X3B1bGxfZmxhZ10sIFtbMF1d
KV0pCi0KLSMgSGFuZGxlIEJJU09OX1VTRV9QVVNIX0ZPUl9QVUxMIGZvciB0aGUgdGVzdCBzdWl0
ZS4gIFNvIHRoYXQgcHVzaCBwYXJzaW5nCi0jIHRlc3RzIGZ1bmN0aW9uIGFzIHdyaXR0ZW4sIGRv
IG5vdCBsZXQgQklTT05fVVNFX1BVU0hfRk9SX1BVTEwgbW9kaWZ5IHRoZQotIyBiZWhhdmlvciBv
ZiBCaXNvbiBhdCBhbGwgd2hlbiBwdXNoIHBhcnNpbmcgaXMgYWxyZWFkeSByZXF1ZXN0ZWQuCi1i
NF9kZWZpbmVfZmxhZ19pZihbdXNlX3B1c2hfZm9yX3B1bGxdKQotYjRfdXNlX3B1c2hfZm9yX3B1
bGxfaWYoWwotICBiNF9wdXNoX2lmKFttNF9kZWZpbmUoW2I0X3VzZV9wdXNoX2Zvcl9wdWxsX2Zs
YWddLCBbWzBdXSldLAotICAgICAgICAgICAgIFttNF9kZWZpbmUoW2I0X3B1c2hfZmxhZ10sIFtb
MV1dKV0pXSkKLQotIyBDaGVjayB0aGUgdmFsdWUgb2YgJWRlZmluZSBwYXJzZS5sYWMgYW5kIGZy
aWVuZHMsIHdoZXJlIExBQyBzdGFuZHMgZm9yCi0jIGxvb2thaGVhZCBjb3JyZWN0aW9uLgotYjRf
cGVyY2VudF9kZWZpbmVfZGVmYXVsdChbW3BhcnNlLmxhY11dLCBbW25vbmVdXSkKLWI0X3BlcmNl
bnRfZGVmaW5lX2RlZmF1bHQoW1twYXJzZS5sYWMuZXMtY2FwYWNpdHktaW5pdGlhbF1dLCBbWzIw
XV0pCi1iNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbcGFyc2UubGFjLm1lbW9yeS10cmFjZV1d
LCBbW2ZhaWx1cmVzXV0pCi1iNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXMoW1tbW3BhcnNl
LmxhY11dLCBbW2Z1bGxdXSwgW1tub25lXV1dXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbW1tbcGFyc2UubGFjLm1lbW9yeS10cmFjZV1dLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW1tmYWlsdXJlc11dLCBbW2Z1bGxdXV1dKQotYjRfZGVmaW5lX2ZsYWdfaWYo
W2xhY10pCi1tNF9kZWZpbmUoW2I0X2xhY19mbGFnXSwKLSAgICAgICAgICBbbTRfaWYoYjRfcGVy
Y2VudF9kZWZpbmVfZ2V0KFtbcGFyc2UubGFjXV0pLAotICAgICAgICAgICAgICAgICBbbm9uZV0s
IFtbMF1dLCBbWzFdXSldKQotCi1tNF9pbmNsdWRlKGI0X3NrZWxldG9uc2Rpci9bYy5tNF0pCi0K
LSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIERlZmF1bHQgdmFsdWVzLiAgIyMKLSMjIC0tLS0t
LS0tLS0tLS0tLS0gIyMKLQotIyBTdGFjayBwYXJhbWV0ZXJzLgotbTRfZGVmaW5lX2RlZmF1bHQo
W2I0X3N0YWNrX2RlcHRoX21heF0sIFsxMDAwMF0pCi1tNF9kZWZpbmVfZGVmYXVsdChbYjRfc3Rh
Y2tfZGVwdGhfaW5pdF0sICBbMjAwXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKLSMjIFB1cmUvaW1wdXJlIGludGVyZmFjZXMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMjCi0KLWI0X3BlcmNlbnRfZGVmaW5lX2RlZmF1bHQoW1thcGkucHVyZV1dLCBbW2Zh
bHNlXV0pCi1iNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXMoW1tbW2FwaS5wdXJlXV0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW2ZhbHNlXV0sIFtbdHJ1ZV1dLCBbW11d
LCBbW2Z1bGxdXV1dKQotCi1tNF9kZWZpbmUoW2I0X3B1cmVfZmxhZ10sIFtbMF1dKQotbTRfY2Fz
ZShiNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkucHVyZV1dKSwKLSAgICAgICAgW2ZhbHNlXSwg
W200X2RlZmluZShbYjRfcHVyZV9mbGFnXSwgW1swXV0pXSwKLSAgICAgICAgW3RydWVdLCAgW200
X2RlZmluZShbYjRfcHVyZV9mbGFnXSwgW1sxXV0pXSwKLSAgICAgICAgW10sICAgICAgW200X2Rl
ZmluZShbYjRfcHVyZV9mbGFnXSwgW1sxXV0pXSwKLSAgICAgICAgW2Z1bGxdLCAgW200X2RlZmlu
ZShbYjRfcHVyZV9mbGFnXSwgW1syXV0pXSkKLQotbTRfZGVmaW5lKFtiNF9wdXJlX2lmXSwKLVtt
NF9jYXNlKGI0X3B1cmVfZmxhZywKLSAgICAgICAgIFswXSwgWyQyXSwKLSAgICAgICAgIFsxXSwg
WyQxXSwKLSAgICAgICAgIFsyXSwgWyQxXSldKQotICAgICAgICAgW200X2ZhdGFsKFtpbnZhbGlk
IGFwaS5wdXJlIHZhbHVlOiBdJDEpXSldKQotCi0jIGI0X3l5ZXJyb3JfYXJnX2xvY19pZihBUkcp
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFuZCBBUkcgaWZmIHl5ZXJyb3Ig
aXMgdG8gYmUgZ2l2ZW4gYSBsb2NhdGlvbiBhcyBhcmd1bWVudC4KLW00X2RlZmluZShbYjRfeXll
cnJvcl9hcmdfbG9jX2lmXSwKLVtiNF9sb2NhdGlvbnNfaWYoW200X2Nhc2UoYjRfcHVyZV9mbGFn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBbMV0sIFttNF9pZnNldChbYjRfcGFyc2VfcGFy
YW1dLCBbJDFdKV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSwgWyQxXSldKV0pCi0K
LSMgYjRfeXllcnJvcl9hcmdzCi0jIC0tLS0tLS0tLS0tLS0tLQotIyBBcmd1bWVudHMgcGFzc2Vk
IHRvIHl5ZXJyb3I6IHVzZXIgYXJncyBwbHVzIHl5bGxvYy4KLW00X2RlZmluZShbYjRfeXllcnJv
cl9hcmdzXSwKLVtiNF95eWVycm9yX2FyZ19sb2NfaWYoWyZ5eWxsb2MsIF0pZG5sCi1tNF9pZnNl
dChbYjRfcGFyc2VfcGFyYW1dLCBbYjRfYXJncyhiNF9wYXJzZV9wYXJhbSksIF0pXSkKLQotCi0K
LSMjIC0tLS0tLS0tLS0tLSAjIwotIyMgRGF0YSBUeXBlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0g
IyMKLQotIyBiNF9pbnRfdHlwZShNSU4sIE1BWCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IFJldHVybiB0aGUgc21hbGxlc3QgaW50IHR5cGUgYWJsZSB0byBoYW5kbGUgbnVtYmVycyByYW5n
aW5nIGZyb20KLSMgTUlOIHRvIE1BWCAoaW5jbHVkZWQpLiAgT3ZlcndyaXRlIHRoZSB2ZXJzaW9u
IGZyb20gYy5tNCwgd2hpY2gKLSMgdXNlcyBvbmx5IEM4OSB0eXBlcywgc28gdGhhdCB0aGUgdXNl
ciBjYW4gb3ZlcnJpZGUgdGhlIHNob3J0ZXIKLSMgdHlwZXMsIGFuZCBzbyB0aGF0IHByZS1DODkg
Y29tcGlsZXJzIGFyZSBoYW5kbGVkIGNvcnJlY3RseS4KLW00X2RlZmluZShbYjRfaW50X3R5cGVd
LAotW200X2lmKGI0X2ludHNfaW4oJEAsICAgICAgWzBdLCAgIFsyNTVdKSwgWzFdLCBbeXl0eXBl
X3VpbnQ4XSwKLSAgICAgICBiNF9pbnRzX2luKCRALCAgIFstMTI4XSwgICBbMTI3XSksIFsxXSwg
W3l5dHlwZV9pbnQ4XSwKLQotICAgICAgIGI0X2ludHNfaW4oJEAsICAgICAgWzBdLCBbNjU1MzVd
KSwgWzFdLCBbeXl0eXBlX3VpbnQxNl0sCi0gICAgICAgYjRfaW50c19pbigkQCwgWy0zMjc2OF0s
IFszMjc2N10pLCBbMV0sIFt5eXR5cGVfaW50MTZdLAotCi0gICAgICAgbTRfZXZhbChbMCA8PSAk
MV0pLCAgICAgICAgICAgICAgICBbMV0sIFt1bnNpZ25lZF0sCi0KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ludF0pXSkKLQotCi0jIyAtLS0tLS0tLS0t
LS0tLS0tLSAjIwotIyMgU2VtYW50aWMgVmFsdWVzLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0t
ICMjCi0KLQotIyBiNF9saHNfdmFsdWUoU1lNQk9MLU5VTSwgW1RZUEVdKQotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTZWUgUkVBRE1FLgotbTRfZGVmaW5lKFtiNF9saHNf
dmFsdWVdLAotW2I0X3N5bWJvbF92YWx1ZSh5eXZhbCwgWyQxXSwgWyQyXSldKQotCi0KLSMgYjRf
cmhzX3ZhbHVlKFJVTEUtTEVOR1RILCBQT1MsIFtTWU1CT0wtTlVNXSwgW1RZUEVdKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFNlZSBS
RUFETUUuCi1tNF9kZWZpbmUoW2I0X3Joc192YWx1ZV0sCi1bYjRfc3ltYm9sX3ZhbHVlKFt5eXZz
cEB7YjRfc3VidHJhY3QoWyQyXSwgWyQxXSlAfV0sIFskM10sIFskNF0pXSkKLQotCi0jIyAtLS0t
LS0tLS0tLSAjIwotIyMgTG9jYXRpb25zLiAgIyMKLSMjIC0tLS0tLS0tLS0tICMjCi0KLSMgYjRf
bGhzX2xvY2F0aW9uKCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5zaW9uIG9mIEAkLgot
bTRfZGVmaW5lKFtiNF9saHNfbG9jYXRpb25dLAotWyh5eWxvYyldKQotCi0KLSMgYjRfcmhzX2xv
Y2F0aW9uKFJVTEUtTEVOR1RILCBQT1MpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotIyBFeHBhbnNpb24gb2YgQFBPUywgd2hlcmUgdGhlIGN1cnJlbnQgcnVsZSBoYXMgUlVM
RS1MRU5HVEggc3ltYm9scwotIyBvbiBSSFMuCi1tNF9kZWZpbmUoW2I0X3Joc19sb2NhdGlvbl0s
Ci1bKHl5bHNwQHtiNF9zdWJ0cmFjdChbJDJdLCBbJDFdKUB9KV0pCi0KLQotIyMgLS0tLS0tLS0t
LS0tLS0gIyMKLSMjIERlY2xhcmF0aW9ucy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLSAjIwotCi0j
IGI0X2RlY2xhcmVfc2Nhbm5lcl9jb21tdW5pY2F0aW9uX3ZhcmlhYmxlcwotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVjbGFyZSB0aGUgdmFyaWFibGVz
IHRoYXQgYXJlIGdsb2JhbCwgb3IgbG9jYWwgdG8gWVlQQVJTRSBpZgotIyBwdXJlLXBhcnNlci4K
LW00X2RlZmluZShbYjRfZGVjbGFyZV9zY2FubmVyX2NvbW11bmljYXRpb25fdmFyaWFibGVzXSwg
W1sKLS8qIFRoZSBsb29rYWhlYWQgc3ltYm9sLiAgKi8KLWludCB5eWNoYXI7Ci0KLV1iNF9wdXJl
X2lmKFtbCi0vKiBUaGUgc2VtYW50aWMgdmFsdWUgb2YgdGhlIGxvb2thaGVhZCBzeW1ib2wuICAq
LwotLyogRGVmYXVsdCB2YWx1ZSB1c2VkIGZvciBpbml0aWFsaXphdGlvbiwgZm9yIHBhY2lmeWlu
ZyBvbGRlciBHQ0NzCi0gICBvciBub24tR0NDIGNvbXBpbGVycy4gICovCi1ZWV9JTklUSUFMX1ZB
TFVFIChzdGF0aWMgWVlTVFlQRSB5eXZhbF9kZWZhdWx0OykKLVlZU1RZUEUgeXlsdmFsIFlZX0lO
SVRJQUxfVkFMVUUgKD0geXl2YWxfZGVmYXVsdCk7XWI0X2xvY2F0aW9uc19pZihbWwotCi0vKiBM
b2NhdGlvbiBkYXRhIGZvciB0aGUgbG9va2FoZWFkIHN5bWJvbC4gICovCi1zdGF0aWMgWVlMVFlQ
RSB5eWxvY19kZWZhdWx0XWI0X3l5bG9jX2RlZmF1bHRbOwotWVlMVFlQRSB5eWxsb2MgPSB5eWxv
Y19kZWZhdWx0O11dKV0sCi1bWy8qIFRoZSBzZW1hbnRpYyB2YWx1ZSBvZiB0aGUgbG9va2FoZWFk
IHN5bWJvbC4gICovCi1ZWVNUWVBFIHl5bHZhbDtdYjRfbG9jYXRpb25zX2lmKFtbCi0vKiBMb2Nh
dGlvbiBkYXRhIGZvciB0aGUgbG9va2FoZWFkIHN5bWJvbC4gICovCi1ZWUxUWVBFIHl5bGxvY11i
NF95eWxvY19kZWZhdWx0WztdXSlbCi0vKiBOdW1iZXIgb2Ygc3ludGF4IGVycm9ycyBzbyBmYXIu
ICAqLwotaW50IHl5bmVycnM7XV0pXSkKLQotCi0jIGI0X2RlY2xhcmVfcGFyc2VyX3N0YXRlX3Zh
cmlhYmxlcwotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVjbGFyZSBh
bGwgdGhlIHZhcmlhYmxlcyB0aGF0IGFyZSBuZWVkZWQgdG8gbWFpbnRhaW4gdGhlIHBhcnNlciBz
dGF0ZQotIyBiZXR3ZWVuIGNhbGxzIHRvIHl5cHVzaF9wYXJzZS4KLW00X2RlZmluZShbYjRfZGVj
bGFyZV9wYXJzZXJfc3RhdGVfdmFyaWFibGVzXSwgW2I0X3B1cmVfaWYoW1sKLSAgICAvKiBOdW1i
ZXIgb2Ygc3ludGF4IGVycm9ycyBzbyBmYXIuICAqLwotICAgIGludCB5eW5lcnJzOwotXV0pWwot
ICAgIGludCB5eXN0YXRlOwotICAgIC8qIE51bWJlciBvZiB0b2tlbnMgdG8gc2hpZnQgYmVmb3Jl
IGVycm9yIG1lc3NhZ2VzIGVuYWJsZWQuICAqLwotICAgIGludCB5eWVycnN0YXR1czsKLQotICAg
IC8qIFRoZSBzdGFja3MgYW5kIHRoZWlyIHRvb2xzOgotICAgICAgICd5eXNzJzogcmVsYXRlZCB0
byBzdGF0ZXMuCi0gICAgICAgJ3l5dnMnOiByZWxhdGVkIHRvIHNlbWFudGljIHZhbHVlcy5dYjRf
bG9jYXRpb25zX2lmKFtbCi0gICAgICAgJ3l5bHMnOiByZWxhdGVkIHRvIGxvY2F0aW9ucy5dXSlb
Ci0KLSAgICAgICBSZWZlciB0byB0aGUgc3RhY2tzIHRocm91Z2ggc2VwYXJhdGUgcG9pbnRlcnMs
IHRvIGFsbG93IHl5b3ZlcmZsb3cKLSAgICAgICB0byByZWFsbG9jYXRlIHRoZW0gZWxzZXdoZXJl
LiAgKi8KLQotICAgIC8qIFRoZSBzdGF0ZSBzdGFjay4gICovCi0gICAgeXl0eXBlX2ludDE2IHl5
c3NhW1lZSU5JVERFUFRIXTsKLSAgICB5eXR5cGVfaW50MTYgKnl5c3M7Ci0gICAgeXl0eXBlX2lu
dDE2ICp5eXNzcDsKLQotICAgIC8qIFRoZSBzZW1hbnRpYyB2YWx1ZSBzdGFjay4gICovCi0gICAg
WVlTVFlQRSB5eXZzYVtZWUlOSVRERVBUSF07Ci0gICAgWVlTVFlQRSAqeXl2czsKLSAgICBZWVNU
WVBFICp5eXZzcDtdYjRfbG9jYXRpb25zX2lmKFtbCi0KLSAgICAvKiBUaGUgbG9jYXRpb24gc3Rh
Y2suICAqLwotICAgIFlZTFRZUEUgeXlsc2FbWVlJTklUREVQVEhdOwotICAgIFlZTFRZUEUgKnl5
bHM7Ci0gICAgWVlMVFlQRSAqeXlsc3A7Ci0KLSAgICAvKiBUaGUgbG9jYXRpb25zIHdoZXJlIHRo
ZSBlcnJvciBzdGFydGVkIGFuZCBlbmRlZC4gICovCi0gICAgWVlMVFlQRSB5eWVycm9yX3Jhbmdl
WzNdO11dKVsKLQotICAgIFlZU0laRV9UIHl5c3RhY2tzaXplO11iNF9sYWNfaWYoW1sKLQotICAg
IHl5dHlwZV9pbnQxNiB5eWVzYUB7XWI0X3BlcmNlbnRfZGVmaW5lX2dldChbW3BhcnNlLmxhYy5l
cy1jYXBhY2l0eS1pbml0aWFsXV0pW0B9OwotICAgIHl5dHlwZV9pbnQxNiAqeXllczsKLSAgICBZ
WVNJWkVfVCB5eWVzX2NhcGFjaXR5O11dKV0pCi0KLQotIyBfYjRfZGVjbGFyZV95eXBhcnNlX3B1
c2gKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlY2xhcmF0aW9uIG9mIHl5cGFyc2Ug
KGFuZCBkZXBlbmRlbmNpZXMpIHdoZW4gdXNpbmcgdGhlIHB1c2ggcGFyc2VyCi0jIChpbmNsdWRp
bmcgaW4gcHVsbCBtb2RlKS4KLW00X2RlZmluZShbX2I0X2RlY2xhcmVfeXlwYXJzZV9wdXNoXSwK
LVtbI2lmbmRlZiBZWVBVU0hfTU9SRV9ERUZJTkVECi0jIGRlZmluZSBZWVBVU0hfTU9SRV9ERUZJ
TkVECi1lbnVtIHsgWVlQVVNIX01PUkUgPSA0IH07Ci0jZW5kaWYKLQotdHlwZWRlZiBzdHJ1Y3Qg
XWI0X3ByZWZpeFtwc3RhdGUgXWI0X3ByZWZpeFtwc3RhdGU7Ci0KLV1iNF9wdWxsX2lmKFtiNF9m
dW5jdGlvbl9kZWNsYXJlKFtiNF9wcmVmaXhbcGFyc2VdXSwgW1tpbnRdXSwgYjRfcGFyc2VfcGFy
YW0pCi1dKWI0X2Z1bmN0aW9uX2RlY2xhcmUoW2I0X3ByZWZpeFtwdXNoX3BhcnNlXV0sIFtbaW50
XV0sCi0gIFtbYjRfcHJlZml4W3BzdGF0ZSAqcHNdXSwgW1twc11dXWI0X3B1cmVfaWYoWywKLSAg
W1tbaW50IHB1c2hlZF9jaGFyXV0sIFtbcHVzaGVkX2NoYXJdXV0sCi0gIFtbYjRfYXBpX1BSRUZJ
WFtTVFlQRSBjb25zdCAqcHVzaGVkX3ZhbF1dLCBbW3B1c2hlZF92YWxdXV1iNF9sb2NhdGlvbnNf
aWYoWywKLSAgW1tiNF9hcGlfUFJFRklYW0xUWVBFICpwdXNoZWRfbG9jXV0sIFtbcHVzaGVkX2xv
Y11dXV0pXSltNF9pZnNldChbYjRfcGFyc2VfcGFyYW1dLCBbLAotICBiNF9wYXJzZV9wYXJhbV0p
KQotYjRfcHVsbF9pZihbYjRfZnVuY3Rpb25fZGVjbGFyZShbYjRfcHJlZml4W3B1bGxfcGFyc2Vd
XSwgW1tpbnRdXSwKLSAgW1tiNF9wcmVmaXhbcHN0YXRlICpwc11dLCBbW3BzXV1dbTRfaWZzZXQo
W2I0X3BhcnNlX3BhcmFtXSwgWywKLSAgYjRfcGFyc2VfcGFyYW1dKSldKQotYjRfZnVuY3Rpb25f
ZGVjbGFyZShbYjRfcHJlZml4W3BzdGF0ZV9uZXddXSwgW2I0X3ByZWZpeFtwc3RhdGUgKl1dLAot
ICAgICAgICAgICAgICAgICAgICBbW1t2b2lkXV0sIFtdXSkKLWI0X2Z1bmN0aW9uX2RlY2xhcmUo
W2I0X3ByZWZpeFtwc3RhdGVfZGVsZXRlXV0sIFtbdm9pZF1dLAotICAgICAgICAgICAgICAgICAg
IFtbYjRfcHJlZml4W3BzdGF0ZSAqcHNdXSwgW1twc11dXSlkbmwKLV0pCi0KLSMgX2I0X2RlY2xh
cmVfeXlwYXJzZQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFdoZW4gbm90IHRoZSBwdXNoIHBh
cnNlci4KLW00X2RlZmluZShbX2I0X2RlY2xhcmVfeXlwYXJzZV0sCi1bYjRfZnVuY3Rpb25fZGVj
bGFyZShiNF9wcmVmaXhbcGFyc2VdLCBbaW50XSwgYjRfcGFyc2VfcGFyYW0pXSkKLQotCi0jIGI0
X2RlY2xhcmVfeXlwYXJzZQotIyAtLS0tLS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfZGVj
bGFyZV95eXBhcnNlXSwKLVtiNF9wdXNoX2lmKFtfYjRfZGVjbGFyZV95eXBhcnNlX3B1c2hdLAot
ICAgICAgICAgICAgW19iNF9kZWNsYXJlX3l5cGFyc2VdKVtdZG5sCi1dKQotCi0KLSMgYjRfc2hh
cmVkX2RlY2xhcmF0aW9ucwotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlY2xhcmF0aW9u
IHRoYXQgbWlnaHQgZWl0aGVyIGdvIGludG8gdGhlIGhlYWRlciAoaWYgLS1kZWZpbmVzKQotIyBv
ciBvcGVuIGNvZGVkIGluIHRoZSBwYXJzZXIgYm9keS4KLW00X2RlZmluZShbYjRfc2hhcmVkX2Rl
Y2xhcmF0aW9uc10sCi1bYjRfY3BwX2d1YXJkX29wZW4oW2I0X3NwZWNfZGVmaW5lc19maWxlXSlb
Ci1dYjRfZGVjbGFyZV95eWRlYnVnWwotXWI0X3BlcmNlbnRfY29kZV9nZXQoW1tyZXF1aXJlc11d
KVsKLV1iNF90b2tlbl9lbnVtc19kZWZpbmVzWwotXWI0X2RlY2xhcmVfeXlsc3R5cGVbCi1dYjRf
ZGVjbGFyZV95eXBhcnNlWwotXWI0X3BlcmNlbnRfY29kZV9nZXQoW1twcm92aWRlc11dKVsKLV1i
NF9jcHBfZ3VhcmRfY2xvc2UoW2I0X3NwZWNfZGVmaW5lc19maWxlXSlbXWRubAotXSkKLQotIyMg
LS0tLS0tLS0tLS0tLS0gIyMKLSMjIE91dHB1dCBmaWxlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0t
LSAjIwotCi1iNF9vdXRwdXRfYmVnaW4oW2I0X3BhcnNlcl9maWxlX25hbWVdKVsKLV1iNF9jb3B5
cmlnaHQoW0Jpc29uIGltcGxlbWVudGF0aW9uIGZvciBZYWNjLWxpa2UgcGFyc2VycyBpbiBDXSlb
Ci0vKiBDIExBTFIoMSkgcGFyc2VyIHNrZWxldG9uIHdyaXR0ZW4gYnkgUmljaGFyZCBTdGFsbG1h
biwgYnkKLSAgIHNpbXBsaWZ5aW5nIHRoZSBvcmlnaW5hbCBzby1jYWxsZWQgInNlbWFudGljIiBw
YXJzZXIuICAqLwotCi0vKiBBbGwgc3ltYm9scyBkZWZpbmVkIGJlbG93IHNob3VsZCBiZWdpbiB3
aXRoIHl5IG9yIFlZLCB0byBhdm9pZAotICAgaW5mcmluZ2luZyBvbiB1c2VyIG5hbWUgc3BhY2Uu
ICBUaGlzIHNob3VsZCBiZSBkb25lIGV2ZW4gZm9yIGxvY2FsCi0gICB2YXJpYWJsZXMsIGFzIHRo
ZXkgbWlnaHQgb3RoZXJ3aXNlIGJlIGV4cGFuZGVkIGJ5IHVzZXIgbWFjcm9zLgotICAgVGhlcmUg
YXJlIHNvbWUgdW5hdm9pZGFibGUgZXhjZXB0aW9ucyB3aXRoaW4gaW5jbHVkZSBmaWxlcyB0bwot
ICAgZGVmaW5lIG5lY2Vzc2FyeSBsaWJyYXJ5IHN5bWJvbHM7IHRoZXkgYXJlIG5vdGVkICJJTkZS
SU5HRVMgT04KLSAgIFVTRVIgTkFNRSBTUEFDRSIgYmVsb3cuICAqLwotCi1dYjRfZGlzY2xhaW1l
clsKLV1iNF9pZGVudGlmaWNhdGlvblsKLV1iNF9wZXJjZW50X2NvZGVfZ2V0KFtbdG9wXV0pW11k
bmwKLW00X2lmKGI0X2FwaV9wcmVmaXgsIFt5eV0sIFtdLAotW1svKiBTdWJzdGl0dXRlIHRoZSB0
eXBlIG5hbWVzLiAgKi8KLSNkZWZpbmUgWVlTVFlQRSAgICAgICAgIF1iNF9hcGlfUFJFRklYW1NU
WVBFXWI0X2xvY2F0aW9uc19pZihbWwotI2RlZmluZSBZWUxUWVBFICAgICAgICAgXWI0X2FwaV9Q
UkVGSVhbTFRZUEVdXSldKVsKLV1tNF9pZihiNF9wcmVmaXgsIFt5eV0sIFtdLAotW1svKiBTdWJz
dGl0dXRlIHRoZSB2YXJpYWJsZSBhbmQgZnVuY3Rpb24gbmFtZXMuICAqL11iNF9wdWxsX2lmKFtb
Ci0jZGVmaW5lIHl5cGFyc2UgICAgICAgICBdYjRfcHJlZml4W3BhcnNlXV0pYjRfcHVzaF9pZihb
WwotI2RlZmluZSB5eXB1c2hfcGFyc2UgICAgXWI0X3ByZWZpeFtwdXNoX3BhcnNlXWI0X3B1bGxf
aWYoW1sKLSNkZWZpbmUgeXlwdWxsX3BhcnNlICAgIF1iNF9wcmVmaXhbcHVsbF9wYXJzZV1dKVsK
LSNkZWZpbmUgeXlwc3RhdGVfbmV3ICAgIF1iNF9wcmVmaXhbcHN0YXRlX25ldwotI2RlZmluZSB5
eXBzdGF0ZV9kZWxldGUgXWI0X3ByZWZpeFtwc3RhdGVfZGVsZXRlCi0jZGVmaW5lIHl5cHN0YXRl
ICAgICAgICBdYjRfcHJlZml4W3BzdGF0ZV1dKVsKLSNkZWZpbmUgeXlsZXggICAgICAgICAgIF1i
NF9wcmVmaXhbbGV4Ci0jZGVmaW5lIHl5ZXJyb3IgICAgICAgICBdYjRfcHJlZml4W2Vycm9yCi0j
ZGVmaW5lIHl5ZGVidWcgICAgICAgICBdYjRfcHJlZml4W2RlYnVnCi0jZGVmaW5lIHl5bmVycnMg
ICAgICAgICBdYjRfcHJlZml4W25lcnJzCi1dXWI0X3B1cmVfaWYoW10sIFtbCi0jZGVmaW5lIHl5
bHZhbCAgICAgICAgICBdYjRfcHJlZml4W2x2YWwKLSNkZWZpbmUgeXljaGFyICAgICAgICAgIF1i
NF9wcmVmaXhbY2hhcl1iNF9sb2NhdGlvbnNfaWYoW1sKLSNkZWZpbmUgeXlsbG9jICAgICAgICAg
IF1iNF9wcmVmaXhbbGxvY11dKV0pKVsKLQotXWI0X3VzZXJfcHJlX3Byb2xvZ3VlWwotXWI0X251
bGxfZGVmaW5lWwotCi0vKiBFbmFibGluZyB2ZXJib3NlIGVycm9yIG1lc3NhZ2VzLiAgKi8KLSNp
ZmRlZiBZWUVSUk9SX1ZFUkJPU0UKLSMgdW5kZWYgWVlFUlJPUl9WRVJCT1NFCi0jIGRlZmluZSBZ
WUVSUk9SX1ZFUkJPU0UgMQotI2Vsc2UKLSMgZGVmaW5lIFlZRVJST1JfVkVSQk9TRSBdYjRfZXJy
b3JfdmVyYm9zZV9pZihbMV0sIFswXSlbCi0jZW5kaWYKLQotXW00X2lmdmFsKG00X3F1b3RlKGI0
X3NwZWNfZGVmaW5lc19maWxlKSwKLVtbLyogSW4gYSBmdXR1cmUgcmVsZWFzZSBvZiBCaXNvbiwg
dGhpcyBzZWN0aW9uIHdpbGwgYmUgcmVwbGFjZWQKLSAgIGJ5ICNpbmNsdWRlICJAYmFzZW5hbWUo
XWI0X3NwZWNfZGVmaW5lc19maWxlW0ApIi4gICovCi1dXSlkbmwKLWI0X3NoYXJlZF9kZWNsYXJh
dGlvbnNbCi0KLV1iNF91c2VyX3Bvc3RfcHJvbG9ndWVbCi1dYjRfcGVyY2VudF9jb2RlX2dldFtd
ZG5sCi0KLVsjaWZkZWYgc2hvcnQKLSMgdW5kZWYgc2hvcnQKLSNlbmRpZgotCi0jaWZkZWYgWVlU
WVBFX1VJTlQ4Ci10eXBlZGVmIFlZVFlQRV9VSU5UOCB5eXR5cGVfdWludDg7Ci0jZWxzZQotdHlw
ZWRlZiB1bnNpZ25lZCBjaGFyIHl5dHlwZV91aW50ODsKLSNlbmRpZgotCi0jaWZkZWYgWVlUWVBF
X0lOVDgKLXR5cGVkZWYgWVlUWVBFX0lOVDggeXl0eXBlX2ludDg7Ci0jZWxzZQotdHlwZWRlZiBz
aWduZWQgY2hhciB5eXR5cGVfaW50ODsKLSNlbmRpZgotCi0jaWZkZWYgWVlUWVBFX1VJTlQxNgot
dHlwZWRlZiBZWVRZUEVfVUlOVDE2IHl5dHlwZV91aW50MTY7Ci0jZWxzZQotdHlwZWRlZiB1bnNp
Z25lZCBzaG9ydCB5eXR5cGVfdWludDE2OwotI2VuZGlmCi0KLSNpZmRlZiBZWVRZUEVfSU5UMTYK
LXR5cGVkZWYgWVlUWVBFX0lOVDE2IHl5dHlwZV9pbnQxNjsKLSNlbHNlCi10eXBlZGVmIHNob3J0
IHl5dHlwZV9pbnQxNjsKLSNlbmRpZgotCi0jaWZuZGVmIFlZU0laRV9UCi0jIGlmZGVmIF9fU0la
RV9UWVBFX18KLSMgIGRlZmluZSBZWVNJWkVfVCBfX1NJWkVfVFlQRV9fCi0jIGVsaWYgZGVmaW5l
ZCBzaXplX3QKLSMgIGRlZmluZSBZWVNJWkVfVCBzaXplX3QKLSMgZWxpZiAhIGRlZmluZWQgWVlT
SVpFX1QKLSMgIGluY2x1ZGUgPHN0ZGRlZi5oPiAvKiBJTkZSSU5HRVMgT04gVVNFUiBOQU1FIFNQ
QUNFICovCi0jICBkZWZpbmUgWVlTSVpFX1Qgc2l6ZV90Ci0jIGVsc2UKLSMgIGRlZmluZSBZWVNJ
WkVfVCB1bnNpZ25lZAotIyBlbmRpZgotI2VuZGlmCi0KLSNkZWZpbmUgWVlTSVpFX01BWElNVU0g
KChZWVNJWkVfVCkgLTEpCi0KLSNpZm5kZWYgWVlfCi0jIGlmIGRlZmluZWQgWVlFTkFCTEVfTkxT
ICYmIFlZRU5BQkxFX05MUwotIyAgaWYgRU5BQkxFX05MUwotIyAgIGluY2x1ZGUgPGxpYmludGwu
aD4gLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLwotIyAgIGRlZmluZSBZWV8oTXNn
aWQpIGRnZXR0ZXh0ICgiYmlzb24tcnVudGltZSIsIE1zZ2lkKQotIyAgZW5kaWYKLSMgZW5kaWYK
LSMgaWZuZGVmIFlZXwotIyAgZGVmaW5lIFlZXyhNc2dpZCkgTXNnaWQKLSMgZW5kaWYKLSNlbmRp
ZgotCi1dYjRfYXR0cmlidXRlX2RlZmluZVsKLQotI2lmIF1iNF9sYWNfaWYoW1sxXV0sIFtbISBk
ZWZpbmVkIHl5b3ZlcmZsb3cgfHwgWVlFUlJPUl9WRVJCT1NFXV0pWwotCi0vKiBUaGUgcGFyc2Vy
IGludm9rZXMgYWxsb2NhIG9yIG1hbGxvYzsgZGVmaW5lIHRoZSBuZWNlc3Nhcnkgc3ltYm9scy4g
ICovXWRubAotYjRfcHVzaF9pZihbXSwgW2I0X2xhY19pZihbXSwgW1sKLQotIyBpZmRlZiBZWVNU
QUNLX1VTRV9BTExPQ0EKLSMgIGlmIFlZU1RBQ0tfVVNFX0FMTE9DQQotIyAgIGlmZGVmIF9fR05V
Q19fCi0jICAgIGRlZmluZSBZWVNUQUNLX0FMTE9DIF9fYnVpbHRpbl9hbGxvY2EKLSMgICBlbGlm
IGRlZmluZWQgX19CVUlMVElOX1ZBX0FSR19JTkNSCi0jICAgIGluY2x1ZGUgPGFsbG9jYS5oPiAv
KiBJTkZSSU5HRVMgT04gVVNFUiBOQU1FIFNQQUNFICovCi0jICAgZWxpZiBkZWZpbmVkIF9BSVgK
LSMgICAgZGVmaW5lIFlZU1RBQ0tfQUxMT0MgX19hbGxvY2EKLSMgICBlbGlmIGRlZmluZWQgX01T
Q19WRVIKLSMgICAgaW5jbHVkZSA8bWFsbG9jLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUg
U1BBQ0UgKi8KLSMgICAgZGVmaW5lIGFsbG9jYSBfYWxsb2NhCi0jICAgZWxzZQotIyAgICBkZWZp
bmUgWVlTVEFDS19BTExPQyBhbGxvY2EKLSMgICAgaWYgISBkZWZpbmVkIF9BTExPQ0FfSCAmJiAh
IGRlZmluZWQgRVhJVF9TVUNDRVNTCi0jICAgICBpbmNsdWRlIDxzdGRsaWIuaD4gLyogSU5GUklO
R0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLwotICAgICAgLyogVXNlIEVYSVRfU1VDQ0VTUyBhcyBh
IHdpdG5lc3MgZm9yIHN0ZGxpYi5oLiAgKi8KLSMgICAgIGlmbmRlZiBFWElUX1NVQ0NFU1MKLSMg
ICAgICBkZWZpbmUgRVhJVF9TVUNDRVNTIDAKLSMgICAgIGVuZGlmCi0jICAgIGVuZGlmCi0jICAg
ZW5kaWYKLSMgIGVuZGlmCi0jIGVuZGlmXV0pXSlbCi0KLSMgaWZkZWYgWVlTVEFDS19BTExPQwot
ICAgLyogUGFjaWZ5IEdDQydzICdlbXB0eSBpZi1ib2R5JyB3YXJuaW5nLiAgKi8KLSMgIGRlZmlu
ZSBZWVNUQUNLX0ZSRUUoUHRyKSBkbyB7IC8qIGVtcHR5ICovOyB9IHdoaWxlICgwKQotIyAgaWZu
ZGVmIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTQotICAgIC8qIFRoZSBPUyBtaWdodCBndWFyYW50ZWUg
b25seSBvbmUgZ3VhcmQgcGFnZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBzdGFjaywKLSAgICAgICBh
bmQgYSBwYWdlIHNpemUgY2FuIGJlIGFzIHNtYWxsIGFzIDQwOTYgYnl0ZXMuICBTbyB3ZSBjYW5u
b3Qgc2FmZWx5Ci0gICAgICAgaW52b2tlIGFsbG9jYSAoTikgaWYgTiBleGNlZWRzIDQwOTYuICBV
c2UgYSBzbGlnaHRseSBzbWFsbGVyIG51bWJlcgotICAgICAgIHRvIGFsbG93IGZvciBhIGZldyBj
b21waWxlci1hbGxvY2F0ZWQgdGVtcG9yYXJ5IHN0YWNrIHNsb3RzLiAgKi8KLSMgICBkZWZpbmUg
WVlTVEFDS19BTExPQ19NQVhJTVVNIDQwMzIgLyogcmVhc29uYWJsZSBjaXJjYSAyMDA2ICovCi0j
ICBlbmRpZgotIyBlbHNlCi0jICBkZWZpbmUgWVlTVEFDS19BTExPQyBZWU1BTExPQwotIyAgZGVm
aW5lIFlZU1RBQ0tfRlJFRSBZWUZSRUUKLSMgIGlmbmRlZiBZWVNUQUNLX0FMTE9DX01BWElNVU0K
LSMgICBkZWZpbmUgWVlTVEFDS19BTExPQ19NQVhJTVVNIFlZU0laRV9NQVhJTVVNCi0jICBlbmRp
ZgotIyAgaWYgKGRlZmluZWQgX19jcGx1c3BsdXMgJiYgISBkZWZpbmVkIEVYSVRfU1VDQ0VTUyBc
Ci0gICAgICAgJiYgISAoKGRlZmluZWQgWVlNQUxMT0MgfHwgZGVmaW5lZCBtYWxsb2MpIFwKLSAg
ICAgICAgICAgICAmJiAoZGVmaW5lZCBZWUZSRUUgfHwgZGVmaW5lZCBmcmVlKSkpCi0jICAgaW5j
bHVkZSA8c3RkbGliLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KLSMgICBp
Zm5kZWYgRVhJVF9TVUNDRVNTCi0jICAgIGRlZmluZSBFWElUX1NVQ0NFU1MgMAotIyAgIGVuZGlm
Ci0jICBlbmRpZgotIyAgaWZuZGVmIFlZTUFMTE9DCi0jICAgZGVmaW5lIFlZTUFMTE9DIG1hbGxv
YwotIyAgIGlmICEgZGVmaW5lZCBtYWxsb2MgJiYgISBkZWZpbmVkIEVYSVRfU1VDQ0VTUwotdm9p
ZCAqbWFsbG9jIChZWVNJWkVfVCk7IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8K
LSMgICBlbmRpZgotIyAgZW5kaWYKLSMgIGlmbmRlZiBZWUZSRUUKLSMgICBkZWZpbmUgWVlGUkVF
IGZyZWUKLSMgICBpZiAhIGRlZmluZWQgZnJlZSAmJiAhIGRlZmluZWQgRVhJVF9TVUNDRVNTCi12
b2lkIGZyZWUgKHZvaWQgKik7IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KLSMg
ICBlbmRpZgotIyAgZW5kaWYKLSMgZW5kaWZdYjRfbGFjX2lmKFtbCi0jIGRlZmluZSBZWUNPUFlf
TkVFREVEIDFdXSlbCi0jZW5kaWZdYjRfbGFjX2lmKFtdLCBbWyAvKiAhIGRlZmluZWQgeXlvdmVy
ZmxvdyB8fCBZWUVSUk9SX1ZFUkJPU0UgKi9dXSlbCi0KLQotI2lmICghIGRlZmluZWQgeXlvdmVy
ZmxvdyBcCi0gICAgICYmICghIGRlZmluZWQgX19jcGx1c3BsdXMgXAotICAgICAgICAgfHwgKF1i
NF9sb2NhdGlvbnNfaWYoW1tkZWZpbmVkIF1iNF9hcGlfUFJFRklYW0xUWVBFX0lTX1RSSVZJQUwg
JiYgXWI0X2FwaV9QUkVGSVhbTFRZUEVfSVNfVFJJVklBTCBcCi0gICAgICAgICAgICAgJiYgXV0p
W2RlZmluZWQgXWI0X2FwaV9QUkVGSVhbU1RZUEVfSVNfVFJJVklBTCAmJiBdYjRfYXBpX1BSRUZJ
WFtTVFlQRV9JU19UUklWSUFMKSkpCi0KLS8qIEEgdHlwZSB0aGF0IGlzIHByb3Blcmx5IGFsaWdu
ZWQgZm9yIGFueSBzdGFjayBtZW1iZXIuICAqLwotdW5pb24geXlhbGxvYwotewotICB5eXR5cGVf
aW50MTYgeXlzc19hbGxvYzsKLSAgWVlTVFlQRSB5eXZzX2FsbG9jO11iNF9sb2NhdGlvbnNfaWYo
WwotICBZWUxUWVBFIHl5bHNfYWxsb2M7XSlbCi19OwotCi0vKiBUaGUgc2l6ZSBvZiB0aGUgbWF4
aW11bSBnYXAgYmV0d2VlbiBvbmUgYWxpZ25lZCBzdGFjayBhbmQgdGhlIG5leHQuICAqLwotIyBk
ZWZpbmUgWVlTVEFDS19HQVBfTUFYSU1VTSAoc2l6ZW9mICh1bmlvbiB5eWFsbG9jKSAtIDEpCi0K
LS8qIFRoZSBzaXplIG9mIGFuIGFycmF5IGxhcmdlIHRvIGVub3VnaCB0byBob2xkIGFsbCBzdGFj
a3MsIGVhY2ggd2l0aAotICAgTiBlbGVtZW50cy4gICovCi1dYjRfbG9jYXRpb25zX2lmKAotWyMg
ZGVmaW5lIFlZU1RBQ0tfQllURVMoTikgXAotICAgICAoKE4pICogKHNpemVvZiAoeXl0eXBlX2lu
dDE2KSArIHNpemVvZiAoWVlTVFlQRSkgKyBzaXplb2YgKFlZTFRZUEUpKSBcCi0gICAgICArIDIg
KiBZWVNUQUNLX0dBUF9NQVhJTVVNKV0sCi1bIyBkZWZpbmUgWVlTVEFDS19CWVRFUyhOKSBcCi0g
ICAgICgoTikgKiAoc2l6ZW9mICh5eXR5cGVfaW50MTYpICsgc2l6ZW9mIChZWVNUWVBFKSkgXAot
ICAgICAgKyBZWVNUQUNLX0dBUF9NQVhJTVVNKV0pWwotCi0jIGRlZmluZSBZWUNPUFlfTkVFREVE
IDEKLQotLyogUmVsb2NhdGUgU1RBQ0sgZnJvbSBpdHMgb2xkIGxvY2F0aW9uIHRvIHRoZSBuZXcg
b25lLiAgVGhlCi0gICBsb2NhbCB2YXJpYWJsZXMgWVlTSVpFIGFuZCBZWVNUQUNLU0laRSBnaXZl
IHRoZSBvbGQgYW5kIG5ldyBudW1iZXIgb2YKLSAgIGVsZW1lbnRzIGluIHRoZSBzdGFjaywgYW5k
IFlZUFRSIGdpdmVzIHRoZSBuZXcgbG9jYXRpb24gb2YgdGhlCi0gICBzdGFjay4gIEFkdmFuY2Ug
WVlQVFIgdG8gYSBwcm9wZXJseSBhbGlnbmVkIGxvY2F0aW9uIGZvciB0aGUgbmV4dAotICAgc3Rh
Y2suICAqLwotIyBkZWZpbmUgWVlTVEFDS19SRUxPQ0FURShTdGFja19hbGxvYywgU3RhY2spICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRvICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICBZWVNJWkVfVCB5eW5ld2J5dGVzOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBZWUNPUFkgKCZ5eXB0ci0+U3RhY2tfYWxs
b2MsIFN0YWNrLCB5eXNpemUpOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBTdGFjayA9
ICZ5eXB0ci0+U3RhY2tfYWxsb2M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICB5eW5ld2J5dGVzID0geXlzdGFja3NpemUgKiBzaXplb2YgKCpTdGFjaykgKyBZ
WVNUQUNLX0dBUF9NQVhJTVVNOyBcCi0gICAgICAgIHl5cHRyICs9IHl5bmV3Ynl0ZXMgLyBzaXpl
b2YgKCp5eXB0cik7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgd2hpbGUgKDApCi0KLSNlbmRpZgotCi0jaWYgZGVmaW5lZCBZWUNPUFlfTkVFREVEICYm
IFlZQ09QWV9ORUVERUQKLS8qIENvcHkgQ09VTlQgb2JqZWN0cyBmcm9tIFNSQyB0byBEU1QuICBU
aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBkbwotICAgbm90IG92ZXJsYXAuICAqLwotIyBpZm5k
ZWYgWVlDT1BZCi0jICBpZiBkZWZpbmVkIF9fR05VQ19fICYmIDEgPCBfX0dOVUNfXwotIyAgIGRl
ZmluZSBZWUNPUFkoRHN0LCBTcmMsIENvdW50KSBcCi0gICAgICBfX2J1aWx0aW5fbWVtY3B5IChE
c3QsIFNyYywgKENvdW50KSAqIHNpemVvZiAoKihTcmMpKSkKLSMgIGVsc2UKLSMgICBkZWZpbmUg
WVlDT1BZKERzdCwgU3JjLCBDb3VudCkgICAgICAgICAgICAgIFwKLSAgICAgIGRvICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBZWVNJWkVfVCB5eWk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBmb3IgKHl5aSA9IDA7IHl5aSA8IChDb3Vu
dCk7IHl5aSsrKSAgIFwKLSAgICAgICAgICAgIChEc3QpW3l5aV0gPSAoU3JjKVt5eWldOyAgICAg
ICAgICAgIFwKLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIHdoaWxlICgwKQotIyAgZW5kaWYKLSMgZW5kaWYKLSNlbmRpZiAvKiAhWVlDT1BZ
X05FRURFRCAqLwotCi0vKiBZWUZJTkFMIC0tIFN0YXRlIG51bWJlciBvZiB0aGUgdGVybWluYXRp
b24gc3RhdGUuICAqLwotI2RlZmluZSBZWUZJTkFMICBdYjRfZmluYWxfc3RhdGVfbnVtYmVyWwot
LyogWVlMQVNUIC0tIExhc3QgaW5kZXggaW4gWVlUQUJMRS4gICovCi0jZGVmaW5lIFlZTEFTVCAg
IF1iNF9sYXN0WwotCi0vKiBZWU5UT0tFTlMgLS0gTnVtYmVyIG9mIHRlcm1pbmFscy4gICovCi0j
ZGVmaW5lIFlZTlRPS0VOUyAgXWI0X3Rva2Vuc19udW1iZXJbCi0vKiBZWU5OVFMgLS0gTnVtYmVy
IG9mIG5vbnRlcm1pbmFscy4gICovCi0jZGVmaW5lIFlZTk5UUyAgXWI0X250ZXJtc19udW1iZXJb
Ci0vKiBZWU5SVUxFUyAtLSBOdW1iZXIgb2YgcnVsZXMuICAqLwotI2RlZmluZSBZWU5SVUxFUyAg
XWI0X3J1bGVzX251bWJlclsKLS8qIFlZTlNUQVRFUyAtLSBOdW1iZXIgb2Ygc3RhdGVzLiAgKi8K
LSNkZWZpbmUgWVlOU1RBVEVTICBdYjRfc3RhdGVzX251bWJlclsKLQotI2RlZmluZSBZWVVOREVG
VE9LICBdYjRfdW5kZWZfdG9rZW5fbnVtYmVyWwotI2RlZmluZSBZWU1BWFVUT0sgICBdYjRfdXNl
cl90b2tlbl9udW1iZXJfbWF4WwotCi0vKiBZWVRSQU5TTEFURShUT0tFTi1OVU0pIC0tIFN5bWJv
bCBudW1iZXIgY29ycmVzcG9uZGluZyB0byBUT0tFTi1OVU0KLSAgIGFzIHJldHVybmVkIGJ5IHl5
bGV4LCB3aXRoIG91dC1vZi1ib3VuZHMgY2hlY2tpbmcuICAqLwotI2RlZmluZSBZWVRSQU5TTEFU
RShZWVgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAoKHVuc2lnbmVkKSAoWVlYKSA8PSBZWU1BWFVUT0sgPyB5eXRyYW5zbGF0ZVtZWVhdIDogWVlV
TkRFRlRPSykKLQotLyogWVlUUkFOU0xBVEVbVE9LRU4tTlVNXSAtLSBTeW1ib2wgbnVtYmVyIGNv
cnJlc3BvbmRpbmcgdG8gVE9LRU4tTlVNCi0gICBhcyByZXR1cm5lZCBieSB5eWxleC4gICovCi1z
dGF0aWMgY29uc3QgXWI0X2ludF90eXBlX2ZvcihbYjRfdHJhbnNsYXRlXSlbIHl5dHJhbnNsYXRl
W10gPQotewotICBdYjRfdHJhbnNsYXRlWwotfTsKLQotI2lmIF1iNF9hcGlfUFJFRklYW0RFQlVH
Ci1dYjRfaW50ZWdyYWxfcGFyc2VyX3RhYmxlX2RlZmluZShbcmxpbmVdLCBbYjRfcmxpbmVdLAot
ICAgICBbW1lZUkxJTkVbWVlOXSAtLSBTb3VyY2UgbGluZSB3aGVyZSBydWxlIG51bWJlciBZWU4g
d2FzIGRlZmluZWQuXV0pWwotI2VuZGlmCi0KLSNpZiBdYjRfYXBpX1BSRUZJWFtERUJVRyB8fCBZ
WUVSUk9SX1ZFUkJPU0UgfHwgXWI0X3Rva2VuX3RhYmxlX2ZsYWdbCi0vKiBZWVROQU1FW1NZTUJP
TC1OVU1dIC0tIFN0cmluZyBuYW1lIG9mIHRoZSBzeW1ib2wgU1lNQk9MLU5VTS4KLSAgIEZpcnN0
LCB0aGUgdGVybWluYWxzLCB0aGVuLCBzdGFydGluZyBhdCBZWU5UT0tFTlMsIG5vbnRlcm1pbmFs
cy4gICovCi1zdGF0aWMgY29uc3QgY2hhciAqY29uc3QgeXl0bmFtZVtdID0KLXsKLSAgXWI0X3Ru
YW1lWwotfTsKLSNlbmRpZgotCi0jIGlmZGVmIFlZUFJJTlQKLS8qIFlZVE9LTlVNW05VTV0gLS0g
KEV4dGVybmFsKSB0b2tlbiBudW1iZXIgY29ycmVzcG9uZGluZyB0byB0aGUKLSAgIChpbnRlcm5h
bCkgc3ltYm9sIG51bWJlciBOVU0gKHdoaWNoIG11c3QgYmUgdGhhdCBvZiBhIHRva2VuKS4gICov
Ci1zdGF0aWMgY29uc3QgXWI0X2ludF90eXBlX2ZvcihbYjRfdG9rbnVtXSlbIHl5dG9rbnVtW10g
PQotewotICBdYjRfdG9rbnVtWwotfTsKLSMgZW5kaWYKLQotI2RlZmluZSBZWVBBQ1RfTklORiBd
YjRfcGFjdF9uaW5mWwotCi0jZGVmaW5lIHl5cGFjdF92YWx1ZV9pc19kZWZhdWx0KFl5c3RhdGUp
IFwKLSAgXWI0X3RhYmxlX3ZhbHVlX2VxdWFscyhbW3BhY3RdXSwgW1tZeXN0YXRlXV0sIFtiNF9w
YWN0X25pbmZdKVsKLQotI2RlZmluZSBZWVRBQkxFX05JTkYgXWI0X3RhYmxlX25pbmZbCi0KLSNk
ZWZpbmUgeXl0YWJsZV92YWx1ZV9pc19lcnJvcihZeXRhYmxlX3ZhbHVlKSBcCi0gIF1iNF90YWJs
ZV92YWx1ZV9lcXVhbHMoW1t0YWJsZV1dLCBbW1l5dGFibGVfdmFsdWVdXSwgW2I0X3RhYmxlX25p
bmZdKVsKLQotXWI0X3BhcnNlcl90YWJsZXNfZGVmaW5lWwotCi0jZGVmaW5lIHl5ZXJyb2sgICAg
ICAgICAoeXllcnJzdGF0dXMgPSAwKQotI2RlZmluZSB5eWNsZWFyaW4gICAgICAgKHl5Y2hhciA9
IFlZRU1QVFkpCi0jZGVmaW5lIFlZRU1QVFkgICAgICAgICAoLTIpCi0jZGVmaW5lIFlZRU9GICAg
ICAgICAgICAwCi0KLSNkZWZpbmUgWVlBQ0NFUFQgICAgICAgIGdvdG8geXlhY2NlcHRsYWIKLSNk
ZWZpbmUgWVlBQk9SVCAgICAgICAgIGdvdG8geXlhYm9ydGxhYgotI2RlZmluZSBZWUVSUk9SICAg
ICAgICAgZ290byB5eWVycm9ybGFiCi0KLQotI2RlZmluZSBZWVJFQ09WRVJJTkcoKSAgKCEheXll
cnJzdGF0dXMpCi0KLSNkZWZpbmUgWVlCQUNLVVAoVG9rZW4sIFZhbHVlKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoeXljaGFyID09IFlZ
RU1QVFkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgeXljaGFyID0gKFRva2VuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgeXlsdmFsID0gKFZhbHVlKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgWVlQT1BTVEFDSyAoeXlsZW4pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgeXlzdGF0ZSA9
ICp5eXNzcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxdYjRfbGFj
X2lmKFtbCi0gICAgICAgIFlZX0xBQ19ESVNDQVJEICgiWVlCQUNLVVAiKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcXV0pWwotICAgICAgICBnb3RvIHl5YmFja3VwOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGVsc2Ug
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICB5eWVycm9yIChdYjRfeXllcnJvcl9hcmdzW1lZXygic3lu
dGF4IGVycm9yOiBjYW5ub3QgYmFjayB1cCIpKTsgXAotICAgICAgICBZWUVSUk9SOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB3aGlsZSAoMCkKLQotLyogRXJyb3IgdG9rZW4gbnVtYmVyICovCi0jZGVmaW5lIFlZVEVSUk9S
ICAgICAgICAxCi0jZGVmaW5lIFlZRVJSQ09ERSAgICAgICAyNTYKLQotXWI0X2xvY2F0aW9uc19p
ZihbWwotXWI0X3l5bGxvY19kZWZhdWx0X2RlZmluZVsKLSNkZWZpbmUgWVlSSFNMT0MoUmhzLCBL
KSAoKFJocylbS10pCi1dXSlbCi0KLS8qIEVuYWJsZSBkZWJ1Z2dpbmcgaWYgcmVxdWVzdGVkLiAg
Ki8KLSNpZiBdYjRfYXBpX1BSRUZJWFtERUJVRwotCi0jIGlmbmRlZiBZWUZQUklOVEYKLSMgIGlu
Y2x1ZGUgPHN0ZGlvLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KLSMgIGRl
ZmluZSBZWUZQUklOVEYgZnByaW50ZgotIyBlbmRpZgotCi0jIGRlZmluZSBZWURQUklOVEYoQXJn
cykgICAgICAgICAgICAgICAgICAgICAgICBcCi1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGlmICh5eWRlYnVnKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgWVlGUFJJTlRGIEFyZ3M7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi19IHdoaWxlICgwKQotCi1dYjRfeXlfbG9jYXRpb25fcHJpbnRfZGVmaW5lWwot
Ci0jIGRlZmluZSBZWV9TWU1CT0xfUFJJTlQoVGl0bGUsIFR5cGUsIFZhbHVlLCBMb2NhdGlvbikg
ICAgICAgICAgICAgICAgICAgIFwKLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBpZiAoeXlkZWJ1Zykg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIFlZRlBSSU5URiAoc3RkZXJyLCAiJXMgIiwg
VGl0bGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgeXlfc3lt
Ym9sX3ByaW50IChzdGRlcnIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICBUeXBlLCBWYWx1ZV1iNF9sb2NhdGlvbnNfaWYoWywg
TG9jYXRpb25dKVtdYjRfdXNlcl9hcmdzWyk7IFwKLSAgICAgIFlZRlBSSU5URiAoc3RkZXJyLCAi
XG4iKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi19IHdoaWxlICgwKQotCi1dYjRfeXlfc3ltYm9sX3ByaW50X2RlZmluZVsK
LQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0uCi18IHl5X3N0YWNrX3ByaW50IC0tIFByaW50IHRoZSBzdGF0ZSBzdGFj
ayBmcm9tIGl0cyBCT1RUT00gdXAgdG8gaXRzIHwKLXwgVE9QIChpbmNsdWRlZCkuICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotYC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSov
Ci0KLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5X3N0YWNrX3ByaW50XSwgW3N0YXRpYyB2b2lkXSwK
LSAgICAgICAgICAgICAgICAgICBbW3l5dHlwZV9pbnQxNiAqeXlib3R0b21dLCBbeXlib3R0b21d
XSwKLSAgICAgICAgICAgICAgICAgICBbW3l5dHlwZV9pbnQxNiAqeXl0b3BdLCAgICBbeXl0b3Bd
XSlbCi17Ci0gIFlZRlBSSU5URiAoc3RkZXJyLCAiU3RhY2sgbm93Iik7Ci0gIGZvciAoOyB5eWJv
dHRvbSA8PSB5eXRvcDsgeXlib3R0b20rKykKLSAgICB7Ci0gICAgICBpbnQgeXlib3QgPSAqeXli
b3R0b207Ci0gICAgICBZWUZQUklOVEYgKHN0ZGVyciwgIiAlZCIsIHl5Ym90KTsKLSAgICB9Ci0g
IFlZRlBSSU5URiAoc3RkZXJyLCAiXG4iKTsKLX0KLQotIyBkZWZpbmUgWVlfU1RBQ0tfUFJJTlQo
Qm90dG9tLCBUb3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLWRvIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGlm
ICh5eWRlYnVnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIHl5X3N0YWNrX3ByaW50ICgoQm90dG9tKSwgKFRvcCkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLX0gd2hpbGUgKDApCi0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCi18IFJlcG9ydCB0aGF0IHRoZSBZWVJVTEUgaXMg
Z29pbmcgdG8gYmUgcmVkdWNlZC4gIHwKLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0qLwotCi1dYjRfZnVuY3Rpb25fZGVmaW5lKFt5eV9yZWR1Y2VfcHJp
bnRdLCBbc3RhdGljIHZvaWRdLAotICAgICAgICAgICAgICAgICAgIFtbeXl0eXBlX2ludDE2ICp5
eXNzcF0sIFt5eXNzcF1dLAotICAgICAgICAgICAgICAgICAgIFtbWVlTVFlQRSAqeXl2c3BdLCBb
eXl2c3BdXSwKLSAgICBiNF9sb2NhdGlvbnNfaWYoW1tbWVlMVFlQRSAqeXlsc3BdLCBbeXlsc3Bd
XSwKLSAgICAgICAgICAgICAgICAgICBdKVtbaW50IHl5cnVsZV0sIFt5eXJ1bGVdXW00X2lmc2V0
KFtiNF9wYXJzZV9wYXJhbV0sIFssCi0gICAgICAgICAgICAgICAgICAgYjRfcGFyc2VfcGFyYW1d
KSlbCi17Ci0gIHVuc2lnbmVkIGxvbmcgeXlsbm8gPSB5eXJsaW5lW3l5cnVsZV07Ci0gIGludCB5
eW5yaHMgPSB5eXIyW3l5cnVsZV07Ci0gIGludCB5eWk7Ci0gIFlZRlBSSU5URiAoc3RkZXJyLCAi
UmVkdWNpbmcgc3RhY2sgYnkgcnVsZSAlZCAobGluZSAlbHUpOlxuIiwKLSAgICAgICAgICAgICB5
eXJ1bGUgLSAxLCB5eWxubyk7Ci0gIC8qIFRoZSBzeW1ib2xzIGJlaW5nIHJlZHVjZWQuICAqLwot
ICBmb3IgKHl5aSA9IDA7IHl5aSA8IHl5bnJoczsgeXlpKyspCi0gICAgewotICAgICAgWVlGUFJJ
TlRGIChzdGRlcnIsICIgICAkJWQgPSAiLCB5eWkgKyAxKTsKLSAgICAgIHl5X3N5bWJvbF9wcmlu
dCAoc3RkZXJyLAotICAgICAgICAgICAgICAgICAgICAgICB5eXN0b3NbeXlzc3BbeXlpICsgMSAt
IHl5bnJoc11dLAotICAgICAgICAgICAgICAgICAgICAgICAmXWI0X3Joc192YWx1ZSh5eW5yaHMs
IHl5aSArIDEpWwotICAgICAgICAgICAgICAgICAgICAgICBdYjRfbG9jYXRpb25zX2lmKFssICZd
YjRfcmhzX2xvY2F0aW9uKHl5bnJocywgeXlpICsgMSkpW11kbmwKLSAgICAgICAgICAgICAgICAg
ICAgICAgYjRfdXNlcl9hcmdzWyk7Ci0gICAgICBZWUZQUklOVEYgKHN0ZGVyciwgIlxuIik7Ci0g
ICAgfQotfQotCi0jIGRlZmluZSBZWV9SRURVQ0VfUFJJTlQoUnVsZSkgICAgICAgICAgXAotZG8g
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaWYgKHl5ZGVidWcpICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgeXlfcmVkdWNlX3ByaW50ICh5eXNzcCwgeXl2
c3AsIF1iNF9sb2NhdGlvbnNfaWYoW3l5bHNwLCBdKVtSdWxlXWI0X3VzZXJfYXJnc1spOyBcCi19
IHdoaWxlICgwKQotCi0vKiBOb256ZXJvIG1lYW5zIHByaW50IHBhcnNlIHRyYWNlLiAgSXQgaXMg
bGVmdCB1bmluaXRpYWxpemVkIHNvIHRoYXQKLSAgIG11bHRpcGxlIHBhcnNlcnMgY2FuIGNvZXhp
c3QuICAqLwotaW50IHl5ZGVidWc7Ci0jZWxzZSAvKiAhXWI0X2FwaV9QUkVGSVhbREVCVUcgKi8K
LSMgZGVmaW5lIFlZRFBSSU5URihBcmdzKQotIyBkZWZpbmUgWVlfU1lNQk9MX1BSSU5UKFRpdGxl
LCBUeXBlLCBWYWx1ZSwgTG9jYXRpb24pCi0jIGRlZmluZSBZWV9TVEFDS19QUklOVChCb3R0b20s
IFRvcCkKLSMgZGVmaW5lIFlZX1JFRFVDRV9QUklOVChSdWxlKQotI2VuZGlmIC8qICFdYjRfYXBp
X1BSRUZJWFtERUJVRyAqLwotCi0KLS8qIFlZSU5JVERFUFRIIC0tIGluaXRpYWwgc2l6ZSBvZiB0
aGUgcGFyc2VyJ3Mgc3RhY2tzLiAgKi8KLSNpZm5kZWYgWVlJTklUREVQVEgKLSMgZGVmaW5lIFlZ
SU5JVERFUFRIIF1iNF9zdGFja19kZXB0aF9pbml0WwotI2VuZGlmCi0KLS8qIFlZTUFYREVQVEgg
LS0gbWF4aW11bSBzaXplIHRoZSBzdGFja3MgY2FuIGdyb3cgdG8gKGVmZmVjdGl2ZSBvbmx5Ci0g
ICBpZiB0aGUgYnVpbHQtaW4gc3RhY2sgZXh0ZW5zaW9uIG1ldGhvZCBpcyB1c2VkKS4KLQotICAg
RG8gbm90IG1ha2UgdGhpcyB2YWx1ZSB0b28gbGFyZ2U7IHRoZSByZXN1bHRzIGFyZSB1bmRlZmlu
ZWQgaWYKLSAgIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSA8IFlZU1RBQ0tfQllURVMgKFlZTUFYREVQ
VEgpCi0gICBldmFsdWF0ZWQgd2l0aCBpbmZpbml0ZS1wcmVjaXNpb24gaW50ZWdlciBhcml0aG1l
dGljLiAgKi8KLQotI2lmbmRlZiBZWU1BWERFUFRICi0jIGRlZmluZSBZWU1BWERFUFRIIF1iNF9z
dGFja19kZXB0aF9tYXhbCi0jZW5kaWZdYjRfbGFjX2lmKFtbCi0KLS8qIEdpdmVuIGEgc3RhdGUg
c3RhY2sgc3VjaCB0aGF0ICpZWUJPVFRPTSBpcyBpdHMgYm90dG9tLCBzdWNoIHRoYXQKLSAgICpZ
WVRPUCBpcyBlaXRoZXIgaXRzIHRvcCBvciBpcyBZWVRPUF9FTVBUWSB0byBpbmRpY2F0ZSBhbiBl
bXB0eQotICAgc3RhY2ssIGFuZCBzdWNoIHRoYXQgKllZQ0FQQUNJVFkgaXMgdGhlIG1heGltdW0g
bnVtYmVyIG9mIGVsZW1lbnRzIGl0Ci0gICBjYW4gaG9sZCB3aXRob3V0IGEgcmVhbGxvY2F0aW9u
LCBtYWtlIHN1cmUgdGhlcmUgaXMgZW5vdWdoIHJvb20gdG8KLSAgIHN0b3JlIFlZQUREIG1vcmUg
ZWxlbWVudHMuICBJZiBub3QsIGFsbG9jYXRlIGEgbmV3IHN0YWNrIHVzaW5nCi0gICBZWVNUQUNL
X0FMTE9DLCBjb3B5IHRoZSBleGlzdGluZyBlbGVtZW50cywgYW5kIGFkanVzdCAqWVlCT1RUT00s
Ci0gICAqWVlUT1AsIGFuZCAqWVlDQVBBQ0lUWSB0byByZWZsZWN0IHRoZSBuZXcgY2FwYWNpdHkg
YW5kIG1lbW9yeQotICAgbG9jYXRpb24uICBJZiAqWVlCT1RUT00gIT0gWVlCT1RUT01fTk9fRlJF
RSwgdGhlbiBmcmVlIHRoZSBvbGQgc3RhY2sKLSAgIHVzaW5nIFlZU1RBQ0tfRlJFRS4gIFJldHVy
biAwIGlmIHN1Y2Nlc3NmdWwgb3IgaWYgbm8gcmVhbGxvY2F0aW9uIGlzCi0gICByZXF1aXJlZC4g
IFJldHVybiAxIGlmIG1lbW9yeSBpcyBleGhhdXN0ZWQuICAqLwotc3RhdGljIGludAoteXlfbGFj
X3N0YWNrX3JlYWxsb2MgKFlZU0laRV9UICp5eWNhcGFjaXR5LCBZWVNJWkVfVCB5eWFkZCwKLSNp
ZiBdYjRfYXBpX1BSRUZJWFtERUJVRwotICAgICAgICAgICAgICAgICAgICAgIGNoYXIgY29uc3Qg
Knl5ZGVidWdfcHJlZml4LAotICAgICAgICAgICAgICAgICAgICAgIGNoYXIgY29uc3QgKnl5ZGVi
dWdfc3VmZml4LAotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgeXl0eXBlX2ludDE2ICoq
eXlib3R0b20sCi0gICAgICAgICAgICAgICAgICAgICAgeXl0eXBlX2ludDE2ICp5eWJvdHRvbV9u
b19mcmVlLAotICAgICAgICAgICAgICAgICAgICAgIHl5dHlwZV9pbnQxNiAqKnl5dG9wLCB5eXR5
cGVfaW50MTYgKnl5dG9wX2VtcHR5KQotewotICBZWVNJWkVfVCB5eXNpemVfb2xkID0KLSAgICAo
WVlTSVpFX1QpICgqeXl0b3AgPT0geXl0b3BfZW1wdHkgPyAwIDogKnl5dG9wIC0gKnl5Ym90dG9t
ICsgMSk7Ci0gIFlZU0laRV9UIHl5c2l6ZV9uZXcgPSB5eXNpemVfb2xkICsgeXlhZGQ7Ci0gIGlm
ICgqeXljYXBhY2l0eSA8IHl5c2l6ZV9uZXcpCi0gICAgewotICAgICAgWVlTSVpFX1QgeXlhbGxv
YyA9IDIgKiB5eXNpemVfbmV3OwotICAgICAgeXl0eXBlX2ludDE2ICp5eWJvdHRvbV9uZXc7Ci0g
ICAgICAvKiBVc2UgWVlNQVhERVBUSCBmb3IgbWF4aW11bSBzdGFjayBzaXplIGdpdmVuIHRoYXQg
dGhlIHN0YWNrCi0gICAgICAgICBzaG91bGQgbmV2ZXIgbmVlZCB0byBncm93IGxhcmdlciB0aGFu
IHRoZSBtYWluIHN0YXRlIHN0YWNrCi0gICAgICAgICBuZWVkcyB0byBncm93IHdpdGhvdXQgTEFD
LiAgKi8KLSAgICAgIGlmIChZWU1BWERFUFRIIDwgeXlzaXplX25ldykKLSAgICAgICAgewotICAg
ICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiVzbWF4IHNpemUgZXhjZWVkZWQlcyIsIHl5ZGVi
dWdfcHJlZml4LAotICAgICAgICAgICAgICAgICAgICAgIHl5ZGVidWdfc3VmZml4KSk7Ci0gICAg
ICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KLSAgICAgIGlmIChZWU1BWERFUFRIIDwgeXlhbGxv
YykKLSAgICAgICAgeXlhbGxvYyA9IFlZTUFYREVQVEg7Ci0gICAgICB5eWJvdHRvbV9uZXcgPQot
ICAgICAgICAoeXl0eXBlX2ludDE2KikgWVlTVEFDS19BTExPQyAoeXlhbGxvYyAqIHNpemVvZiAq
eXlib3R0b21fbmV3KTsKLSAgICAgIGlmICgheXlib3R0b21fbmV3KQotICAgICAgICB7Ci0gICAg
ICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiJXNyZWFsbG9jIGZhaWxlZCVzIiwgeXlkZWJ1Z19w
cmVmaXgsCi0gICAgICAgICAgICAgICAgICAgICAgeXlkZWJ1Z19zdWZmaXgpKTsKLSAgICAgICAg
ICByZXR1cm4gMTsKLSAgICAgICAgfQotICAgICAgaWYgKCp5eXRvcCAhPSB5eXRvcF9lbXB0eSkK
LSAgICAgICAgewotICAgICAgICAgIFlZQ09QWSAoeXlib3R0b21fbmV3LCAqeXlib3R0b20sIHl5
c2l6ZV9vbGQpOwotICAgICAgICAgICp5eXRvcCA9IHl5Ym90dG9tX25ldyArICh5eXNpemVfb2xk
IC0gMSk7Ci0gICAgICAgIH0KLSAgICAgIGlmICgqeXlib3R0b20gIT0geXlib3R0b21fbm9fZnJl
ZSkKLSAgICAgICAgWVlTVEFDS19GUkVFICgqeXlib3R0b20pOwotICAgICAgKnl5Ym90dG9tID0g
eXlib3R0b21fbmV3OwotICAgICAgKnl5Y2FwYWNpdHkgPSB5eWFsbG9jO11tNF9pZihiNF9wZXJj
ZW50X2RlZmluZV9nZXQoW1twYXJzZS5sYWMubWVtb3J5LXRyYWNlXV0pLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbZnVsbF0sIFtbCi0gICAgICBZWURQUklOVEYgKChzdGRl
cnIsICIlc3JlYWxsb2MgdG8gJWx1JXMiLCB5eWRlYnVnX3ByZWZpeCwKLSAgICAgICAgICAgICAg
ICAgICh1bnNpZ25lZCBsb25nKSB5eWFsbG9jLCB5eWRlYnVnX3N1ZmZpeCkpO11dKVsKLSAgICB9
Ci0gIHJldHVybiAwOwotfQotCi0vKiBFc3RhYmxpc2ggdGhlIGluaXRpYWwgY29udGV4dCBmb3Ig
dGhlIGN1cnJlbnQgbG9va2FoZWFkIGlmIG5vIGluaXRpYWwKLSAgIGNvbnRleHQgaXMgY3VycmVu
dGx5IGVzdGFibGlzaGVkLgotCi0gICBXZSBkZWZpbmUgYSBjb250ZXh0IGFzIGEgc25hcHNob3Qg
b2YgdGhlIHBhcnNlciBzdGFja3MuICBXZSBkZWZpbmUKLSAgIHRoZSBpbml0aWFsIGNvbnRleHQg
Zm9yIGEgbG9va2FoZWFkIGFzIHRoZSBjb250ZXh0IGluIHdoaWNoIHRoZQotICAgcGFyc2VyIGlu
aXRpYWxseSBleGFtaW5lcyB0aGF0IGxvb2thaGVhZCBpbiBvcmRlciB0byBzZWxlY3QgYQotICAg
c3ludGFjdGljIGFjdGlvbi4gIFRodXMsIGlmIHRoZSBsb29rYWhlYWQgZXZlbnR1YWxseSBwcm92
ZXMKLSAgIHN5bnRhY3RpY2FsbHkgdW5hY2NlcHRhYmxlIChwb3NzaWJseSBpbiBhIGxhdGVyIGNv
bnRleHQgcmVhY2hlZCB2aWEgYQotICAgc2VyaWVzIG9mIHJlZHVjdGlvbnMpLCB0aGUgaW5pdGlh
bCBjb250ZXh0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZQotICAgdGhlIGV4YWN0IHNldCBvZiB0
b2tlbnMgdGhhdCB3b3VsZCBiZSBzeW50YWN0aWNhbGx5IGFjY2VwdGFibGUgaW4gdGhlCi0gICBs
b29rYWhlYWQncyBwbGFjZS4gIE1vcmVvdmVyLCBpdCBpcyB0aGUgY29udGV4dCBhZnRlciB3aGlj
aCBhbnkKLSAgIGZ1cnRoZXIgc2VtYW50aWMgYWN0aW9ucyB3b3VsZCBiZSBlcnJvbmVvdXMgYmVj
YXVzZSB0aGV5IHdvdWxkIGJlCi0gICBkZXRlcm1pbmVkIGJ5IGEgc3ludGFjdGljYWxseSB1bmFj
Y2VwdGFibGUgdG9rZW4uCi0KLSAgIFlZX0xBQ19FU1RBQkxJU0ggc2hvdWxkIGJlIGludm9rZWQg
d2hlbiBhIHJlZHVjdGlvbiBpcyBhYm91dCB0byBiZQotICAgcGVyZm9ybWVkIGluIGFuIGluY29u
c2lzdGVudCBzdGF0ZSAod2hpY2gsIGZvciB0aGUgcHVycG9zZXMgb2YgTEFDLAotICAgaW5jbHVk
ZXMgY29uc2lzdGVudCBzdGF0ZXMgdGhhdCBkb24ndCBrbm93IHRoZXkncmUgY29uc2lzdGVudCBi
ZWNhdXNlCi0gICB0aGVpciBkZWZhdWx0IHJlZHVjdGlvbnMgaGF2ZSBiZWVuIGRpc2FibGVkKS4g
IElmZiB0aGVyZSBpcyBhCi0gICBsb29rYWhlYWQgdG9rZW4sIGl0IHNob3VsZCBhbHNvIGJlIGlu
dm9rZWQgYmVmb3JlIHJlcG9ydGluZyBhIHN5bnRheAotICAgZXJyb3IuICBUaGlzIGxhdHRlciBj
YXNlIGlzIGZvciB0aGUgc2FrZSBvZiB0aGUgZGVidWdnaW5nIG91dHB1dC4KLQotICAgRm9yIHBh
cnNlLmxhYz1mdWxsLCB0aGUgaW1wbGVtZW50YXRpb24gb2YgWVlfTEFDX0VTVEFCTElTSCBpcyBh
cwotICAgZm9sbG93cy4gIElmIG5vIGluaXRpYWwgY29udGV4dCBpcyBjdXJyZW50bHkgZXN0YWJs
aXNoZWQgZm9yIHRoZQotICAgY3VycmVudCBsb29rYWhlYWQsIHRoZW4gY2hlY2sgaWYgdGhhdCBs
b29rYWhlYWQgY2FuIGV2ZW50dWFsbHkgYmUKLSAgIHNoaWZ0ZWQgaWYgc3ludGFjdGljIGFjdGlv
bnMgY29udGludWUgZnJvbSB0aGUgY3VycmVudCBjb250ZXh0LgotICAgUmVwb3J0IGEgc3ludGF4
IGVycm9yIGlmIGl0IGNhbm5vdC4gICovCi0jZGVmaW5lIFlZX0xBQ19FU1RBQkxJU0ggICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLWRvIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBpZiAoIXl5
X2xhY19lc3RhYmxpc2hlZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgIkxBQzogaW5pdGlhbCBj
b250ZXh0IGVzdGFibGlzaGVkIGZvciAlc1xuIiwgICBcCi0gICAgICAgICAgICAgICAgICB5eXRu
YW1lW3l5dG9rZW5dKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHl5X2xh
Y19lc3RhYmxpc2hlZCA9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgIGludCB5eV9sYWNfc3RhdHVzID0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICB5eV9sYWMgKHl5ZXNhLCAmeXllcywgJnl5
ZXNfY2FwYWNpdHksIHl5c3NwLCB5eXRva2VuKTsgXAotICAgICAgICBpZiAoeXlfbGFjX3N0YXR1
cyA9PSAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgZ290
byB5eWV4aGF1c3RlZGxhYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgaWYgKHl5X2xhY19zdGF0dXMgPT0gMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgIGdvdG8geXllcnJsYWI7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfSB3aGlsZSAoMCkKLQot
LyogRGlzY2FyZCBhbnkgcHJldmlvdXMgaW5pdGlhbCBsb29rYWhlYWQgY29udGV4dCBiZWNhdXNl
IG9mIEV2ZW50LAotICAgd2hpY2ggbWF5IGJlIGEgbG9va2FoZWFkIGNoYW5nZSBvciBhbiBpbnZh
bGlkYXRpb24gb2YgdGhlIGN1cnJlbnRseQotICAgZXN0YWJsaXNoZWQgaW5pdGlhbCBjb250ZXh0
IGZvciB0aGUgY3VycmVudCBsb29rYWhlYWQuCi0KLSAgIFRoZSBtb3N0IGNvbW1vbiBleGFtcGxl
IG9mIGEgbG9va2FoZWFkIGNoYW5nZSBpcyBhIHNoaWZ0LiAgQW4gZXhhbXBsZQotICAgb2YgYm90
aCBjYXNlcyBpcyBzeW50YXggZXJyb3IgcmVjb3ZlcnkuICBUaGF0IGlzLCBhIHN5bnRheCBlcnJv
cgotICAgb2NjdXJzIHdoZW4gdGhlIGxvb2thaGVhZCBpcyBzeW50YWN0aWNhbGx5IGVycm9uZW91
cyBmb3IgdGhlCi0gICBjdXJyZW50bHkgZXN0YWJsaXNoZWQgaW5pdGlhbCBjb250ZXh0LCBzbyBl
cnJvciByZWNvdmVyeSBtYW5pcHVsYXRlcwotICAgdGhlIHBhcnNlciBzdGFja3MgdG8gdHJ5IHRv
IGZpbmQgYSBuZXcgaW5pdGlhbCBjb250ZXh0IGluIHdoaWNoIHRoZQotICAgY3VycmVudCBsb29r
YWhlYWQgaXMgc3ludGFjdGljYWxseSBhY2NlcHRhYmxlLiAgSWYgaXQgZmFpbHMgdG8gZmluZAot
ICAgc3VjaCBhIGNvbnRleHQsIGl0IGRpc2NhcmRzIHRoZSBsb29rYWhlYWQuICAqLwotI2lmIF1i
NF9hcGlfUFJFRklYW0RFQlVHCi0jIGRlZmluZSBZWV9MQUNfRElTQ0FSRChFdmVudCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotZG8geyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgaWYgKHl5X2xhY19lc3RhYmxpc2hlZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKHl5ZGVidWcp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgWVlGUFJJTlRGIChzdGRlcnIsICJMQUM6IGluaXRpYWwgY29udGV4dCBkaXNjYXJk
ZWQgZHVlIHRvICIgICAgICBcCi0gICAgICAgICAgICAgICAgICAgRXZlbnQgIlxuIik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgeXlfbGFjX2VzdGFi
bGlzaGVkID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi19IHdoaWxlICgwKQotI2Vsc2UKLSMgZGVmaW5lIFlZX0xBQ19E
SVNDQVJEKEV2ZW50KSB5eV9sYWNfZXN0YWJsaXNoZWQgPSAwCi0jZW5kaWYKLQotLyogR2l2ZW4g
dGhlIHN0YWNrIHdob3NlIHRvcCBpcyAqWVlTU1AsIHJldHVybiAwIGlmZiBZWVRPS0VOIGNhbgot
ICAgZXZlbnR1YWxseSAoYWZ0ZXIgcGVyaGFwcyBzb21lIHJlZHVjdGlvbnMpIGJlIHNoaWZ0ZWQs
IHJldHVybiAxIGlmCi0gICBub3QsIG9yIHJldHVybiAyIGlmIG1lbW9yeSBpcyBleGhhdXN0ZWQu
ICBBcyBwcmVjb25kaXRpb25zIGFuZAotICAgcG9zdGNvbmRpdGlvbnM6ICpZWUVTX0NBUEFDSVRZ
IGlzIHRoZSBhbGxvY2F0ZWQgc2l6ZSBvZiB0aGUgYXJyYXkgdG8KLSAgIHdoaWNoICpZWUVTIHBv
aW50cywgYW5kIGVpdGhlciAqWVlFUyA9IFlZRVNBIG9yICpZWUVTIHBvaW50cyB0byBhbgotICAg
YXJyYXkgYWxsb2NhdGVkIHdpdGggWVlTVEFDS19BTExPQy4gIHl5X2xhYyBtYXkgb3ZlcndyaXRl
IHRoZQotICAgY29udGVudHMgb2YgZWl0aGVyIGFycmF5LCBhbHRlciAqWVlFUyBhbmQgKllZRVNf
Q0FQQUNJVFksIGFuZCBmcmVlCi0gICBhbnkgb2xkICpZWUVTIG90aGVyIHRoYW4gWVlFU0EuICAq
Lwotc3RhdGljIGludAoteXlfbGFjICh5eXR5cGVfaW50MTYgKnl5ZXNhLCB5eXR5cGVfaW50MTYg
Kip5eWVzLAotICAgICAgICBZWVNJWkVfVCAqeXllc19jYXBhY2l0eSwgeXl0eXBlX2ludDE2ICp5
eXNzcCwgaW50IHl5dG9rZW4pCi17Ci0gIHl5dHlwZV9pbnQxNiAqeXllc19wcmV2ID0geXlzc3A7
Ci0gIHl5dHlwZV9pbnQxNiAqeXllc3AgPSB5eWVzX3ByZXY7Ci0gIFlZRFBSSU5URiAoKHN0ZGVy
ciwgIkxBQzogY2hlY2tpbmcgbG9va2FoZWFkICVzOiIsIHl5dG5hbWVbeXl0b2tlbl0pKTsKLSAg
aWYgKHl5dG9rZW4gPT0gWVlVTkRFRlRPSykKLSAgICB7Ci0gICAgICBZWURQUklOVEYgKChzdGRl
cnIsICIgQWx3YXlzIEVyclxuIikpOwotICAgICAgcmV0dXJuIDE7Ci0gICAgfQotICB3aGlsZSAo
MSkKLSAgICB7Ci0gICAgICBpbnQgeXlydWxlID0geXlwYWN0Wyp5eWVzcF07Ci0gICAgICBpZiAo
eXlwYWN0X3ZhbHVlX2lzX2RlZmF1bHQgKHl5cnVsZSkKLSAgICAgICAgICB8fCAoeXlydWxlICs9
IHl5dG9rZW4pIDwgMCB8fCBZWUxBU1QgPCB5eXJ1bGUKLSAgICAgICAgICB8fCB5eWNoZWNrW3l5
cnVsZV0gIT0geXl0b2tlbikKLSAgICAgICAgewotICAgICAgICAgIHl5cnVsZSA9IHl5ZGVmYWN0
Wyp5eWVzcF07Ci0gICAgICAgICAgaWYgKHl5cnVsZSA9PSAwKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICBZWURQUklOVEYgKChzdGRlcnIsICIgRXJyXG4iKSk7Ci0gICAgICAgICAgICAg
IHJldHVybiAxOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICBlbHNlCi0gICAgICAg
IHsKLSAgICAgICAgICB5eXJ1bGUgPSB5eXRhYmxlW3l5cnVsZV07Ci0gICAgICAgICAgaWYgKHl5
dGFibGVfdmFsdWVfaXNfZXJyb3IgKHl5cnVsZSkpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiBFcnJcbiIpKTsKLSAgICAgICAgICAgICAgcmV0dXJu
IDE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKDAgPCB5eXJ1bGUpCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiBTJWRcbiIsIHl5cnVsZSkp
OwotICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB5eXJ1
bGUgPSAteXlydWxlOwotICAgICAgICB9Ci0gICAgICB7Ci0gICAgICAgIFlZU0laRV9UIHl5bGVu
ID0geXlyMlt5eXJ1bGVdOwotICAgICAgICBZWURQUklOVEYgKChzdGRlcnIsICIgUiVkIiwgeXly
dWxlIC0gMSkpOwotICAgICAgICBpZiAoeXllc3AgIT0geXllc19wcmV2KQotICAgICAgICAgIHsK
LSAgICAgICAgICAgIFlZU0laRV9UIHl5c2l6ZSA9IChZWVNJWkVfVCkgKHl5ZXNwIC0gKnl5ZXMg
KyAxKTsKLSAgICAgICAgICAgIGlmICh5eWxlbiA8IHl5c2l6ZSkKLSAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIHl5ZXNwIC09IHl5bGVuOwotICAgICAgICAgICAgICAgIHl5bGVuID0g
MDsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgeXlsZW4gLT0geXlzaXplOwotICAgICAgICAgICAgICAgIHl5ZXNwID0g
eXllc19wcmV2OwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICBpZiAoeXls
ZW4pCi0gICAgICAgICAgeXllc3AgPSB5eWVzX3ByZXYgLT0geXlsZW47Ci0gICAgICB9Ci0gICAg
ICB7Ci0gICAgICAgIHl5dHlwZV9pbnQxNiB5eXN0YXRlOwotICAgICAgICB7Ci0gICAgICAgICAg
Y29uc3QgaW50IHl5bGhzID0geXlyMVt5eXJ1bGVdIC0gWVlOVE9LRU5TOwotICAgICAgICAgIGNv
bnN0IGludCB5eWkgPSB5eXBnb3RvW3l5bGhzXSArICp5eWVzcDsKLSAgICAgICAgICB5eXN0YXRl
ID0gKCh5eXR5cGVfaW50MTYpCi0gICAgICAgICAgICAgICAgICAgICAoMCA8PSB5eWkgJiYgeXlp
IDw9IFlZTEFTVCAmJiB5eWNoZWNrW3l5aV0gPT0gKnl5ZXNwCi0gICAgICAgICAgICAgICAgICAg
ICAgPyB5eXRhYmxlW3l5aV0KLSAgICAgICAgICAgICAgICAgICAgICA6IHl5ZGVmZ290b1t5eWxo
c10pKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoeXllc3AgPT0geXllc19wcmV2KQotICAgICAg
ICAgIHsKLSAgICAgICAgICAgIHl5ZXNwID0gKnl5ZXM7Ci0gICAgICAgICAgICAqeXllc3AgPSB5
eXN0YXRlOwotICAgICAgICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICAgIHsKLSAgICAgICAg
ICAgIGlmICh5eV9sYWNfc3RhY2tfcmVhbGxvYyAoeXllc19jYXBhY2l0eSwgMSwKLSNpZiBdYjRf
YXBpX1BSRUZJWFtERUJVRwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ICgiLCAiKSIsCi0jZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eXllcywgeXllc2EsICZ5eWVzcCwgeXllc19wcmV2KSkKLSAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIlxuIikpOwotICAgICAgICAgICAgICAgIHJl
dHVybiAyOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAqKyt5eWVzcCA9IHl5c3RhdGU7
Ci0gICAgICAgICAgfQotICAgICAgICBZWURQUklOVEYgKChzdGRlcnIsICIgRyVkIiwgKGludCkg
eXlzdGF0ZSkpOwotICAgICAgfQotICAgIH0KLX1dXSlbCi0KLQotI2lmIFlZRVJST1JfVkVSQk9T
RQotCi0jIGlmbmRlZiB5eXN0cmxlbgotIyAgaWYgZGVmaW5lZCBfX0dMSUJDX18gJiYgZGVmaW5l
ZCBfU1RSSU5HX0gKLSMgICBkZWZpbmUgeXlzdHJsZW4gc3RybGVuCi0jICBlbHNlCi0vKiBSZXR1
cm4gdGhlIGxlbmd0aCBvZiBZWVNUUi4gICovCi1dYjRfZnVuY3Rpb25fZGVmaW5lKFt5eXN0cmxl
bl0sIFtzdGF0aWMgWVlTSVpFX1RdLAotICAgW1tjb25zdCBjaGFyICp5eXN0cl0sIFt5eXN0cl1d
KVsKLXsKLSAgWVlTSVpFX1QgeXlsZW47Ci0gIGZvciAoeXlsZW4gPSAwOyB5eXN0clt5eWxlbl07
IHl5bGVuKyspCi0gICAgY29udGludWU7Ci0gIHJldHVybiB5eWxlbjsKLX0KLSMgIGVuZGlmCi0j
IGVuZGlmCi0KLSMgaWZuZGVmIHl5c3RwY3B5Ci0jICBpZiBkZWZpbmVkIF9fR0xJQkNfXyAmJiBk
ZWZpbmVkIF9TVFJJTkdfSCAmJiBkZWZpbmVkIF9HTlVfU09VUkNFCi0jICAgZGVmaW5lIHl5c3Rw
Y3B5IHN0cGNweQotIyAgZWxzZQotLyogQ29weSBZWVNSQyB0byBZWURFU1QsIHJldHVybmluZyB0
aGUgYWRkcmVzcyBvZiB0aGUgdGVybWluYXRpbmcgJ1wwJyBpbgotICAgWVlERVNULiAgKi8KLV1i
NF9mdW5jdGlvbl9kZWZpbmUoW3l5c3RwY3B5XSwgW3N0YXRpYyBjaGFyICpdLAotICAgW1tjaGFy
ICp5eWRlc3RdLCBbeXlkZXN0XV0sIFtbY29uc3QgY2hhciAqeXlzcmNdLCBbeXlzcmNdXSlbCi17
Ci0gIGNoYXIgKnl5ZCA9IHl5ZGVzdDsKLSAgY29uc3QgY2hhciAqeXlzID0geXlzcmM7Ci0KLSAg
d2hpbGUgKCgqeXlkKysgPSAqeXlzKyspICE9ICdcMCcpCi0gICAgY29udGludWU7Ci0KLSAgcmV0
dXJuIHl5ZCAtIDE7Ci19Ci0jICBlbmRpZgotIyBlbmRpZgotCi0jIGlmbmRlZiB5eXRuYW1lcnIK
LS8qIENvcHkgdG8gWVlSRVMgdGhlIGNvbnRlbnRzIG9mIFlZU1RSIGFmdGVyIHN0cmlwcGluZyBh
d2F5IHVubmVjZXNzYXJ5Ci0gICBxdW90ZXMgYW5kIGJhY2tzbGFzaGVzLCBzbyB0aGF0IGl0J3Mg
c3VpdGFibGUgZm9yIHl5ZXJyb3IuICBUaGUKLSAgIGhldXJpc3RpYyBpcyB0aGF0IGRvdWJsZS1x
dW90aW5nIGlzIHVubmVjZXNzYXJ5IHVubGVzcyB0aGUgc3RyaW5nCi0gICBjb250YWlucyBhbiBh
cG9zdHJvcGhlLCBhIGNvbW1hLCBvciBiYWNrc2xhc2ggKG90aGVyIHRoYW4KLSAgIGJhY2tzbGFz
aC1iYWNrc2xhc2gpLiAgWVlTVFIgaXMgdGFrZW4gZnJvbSB5eXRuYW1lLiAgSWYgWVlSRVMgaXMK
LSAgIG51bGwsIGRvIG5vdCBjb3B5OyBpbnN0ZWFkLCByZXR1cm4gdGhlIGxlbmd0aCBvZiB3aGF0
IHRoZSByZXN1bHQKLSAgIHdvdWxkIGhhdmUgYmVlbi4gICovCi1zdGF0aWMgWVlTSVpFX1QKLXl5
dG5hbWVyciAoY2hhciAqeXlyZXMsIGNvbnN0IGNoYXIgKnl5c3RyKQotewotICBpZiAoKnl5c3Ry
ID09ICciJykKLSAgICB7Ci0gICAgICBZWVNJWkVfVCB5eW4gPSAwOwotICAgICAgY2hhciBjb25z
dCAqeXlwID0geXlzdHI7Ci0KLSAgICAgIGZvciAoOzspCi0gICAgICAgIHN3aXRjaCAoKisreXlw
KQotICAgICAgICAgIHsKLSAgICAgICAgICBjYXNlICdcJyc6Ci0gICAgICAgICAgY2FzZSAnLCc6
Ci0gICAgICAgICAgICBnb3RvIGRvX25vdF9zdHJpcF9xdW90ZXM7Ci0KLSAgICAgICAgICBjYXNl
ICdcXCc6Ci0gICAgICAgICAgICBpZiAoKisreXlwICE9ICdcXCcpCi0gICAgICAgICAgICAgIGdv
dG8gZG9fbm90X3N0cmlwX3F1b3RlczsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
Z290byBhcHBlbmQ7Ci0KLSAgICAgICAgICBhcHBlbmQ6Ci0gICAgICAgICAgZGVmYXVsdDoKLSAg
ICAgICAgICAgIGlmICh5eXJlcykKLSAgICAgICAgICAgICAgeXlyZXNbeXluXSA9ICp5eXA7Ci0g
ICAgICAgICAgICB5eW4rKzsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgY2FzZSAn
Iic6Ci0gICAgICAgICAgICBpZiAoeXlyZXMpCi0gICAgICAgICAgICAgIHl5cmVzW3l5bl0gPSAn
XDAnOwotICAgICAgICAgICAgcmV0dXJuIHl5bjsKLSAgICAgICAgICB9Ci0gICAgZG9fbm90X3N0
cmlwX3F1b3RlczogOwotICAgIH0KLQotICBpZiAoISB5eXJlcykKLSAgICByZXR1cm4geXlzdHJs
ZW4gKHl5c3RyKTsKLQotICByZXR1cm4gKFlZU0laRV9UKSAoeXlzdHBjcHkgKHl5cmVzLCB5eXN0
cikgLSB5eXJlcyk7Ci19Ci0jIGVuZGlmCi0KLS8qIENvcHkgaW50byAqWVlNU0csIHdoaWNoIGlz
IG9mIHNpemUgKllZTVNHX0FMTE9DLCBhbiBlcnJvciBtZXNzYWdlCi0gICBhYm91dCB0aGUgdW5l
eHBlY3RlZCB0b2tlbiBZWVRPS0VOIGZvciB0aGUgc3RhdGUgc3RhY2sgd2hvc2UgdG9wIGlzCi0g
ICBZWVNTUC5dYjRfbGFjX2lmKFtbICBJbiBvcmRlciB0byBzZWUgaWYgYSBwYXJ0aWN1bGFyIHRv
a2VuIFQgaXMgYQotICAgdmFsaWQgbG9vYWtoZWFkLCBpbnZva2UgeXlfbGFjIChZWUVTQSwgWVlF
UywgWVlFU19DQVBBQ0lUWSwgWVlTU1AsIFQpLl1dKVsKLQotICAgUmV0dXJuIDAgaWYgKllZTVNH
IHdhcyBzdWNjZXNzZnVsbHkgd3JpdHRlbi4gIFJldHVybiAxIGlmICpZWU1TRyBpcwotICAgbm90
IGxhcmdlIGVub3VnaCB0byBob2xkIHRoZSBtZXNzYWdlLiAgSW4gdGhhdCBjYXNlLCBhbHNvIHNl
dAotICAgKllZTVNHX0FMTE9DIHRvIHRoZSByZXF1aXJlZCBudW1iZXIgb2YgYnl0ZXMuICBSZXR1
cm4gMiBpZiB0aGUKLSAgIHJlcXVpcmVkIG51bWJlciBvZiBieXRlcyBpcyB0b28gbGFyZ2UgdG8g
c3RvcmVdYjRfbGFjX2lmKFtbIG9yIGlmCi0gICB5eV9sYWMgcmV0dXJuZWQgMl1dKVsuICAqLwot
c3RhdGljIGludAoteXlzeW50YXhfZXJyb3IgKFlZU0laRV9UICp5eW1zZ19hbGxvYywgY2hhciAq
Knl5bXNnLAotICAgICAgICAgICAgICAgIF1iNF9sYWNfaWYoW1t5eXR5cGVfaW50MTYgKnl5ZXNh
LCB5eXR5cGVfaW50MTYgKip5eWVzLAotICAgICAgICAgICAgICAgIFlZU0laRV9UICp5eWVzX2Nh
cGFjaXR5LCBdXSlbeXl0eXBlX2ludDE2ICp5eXNzcCwgaW50IHl5dG9rZW4pCi17Ci0gIFlZU0la
RV9UIHl5c2l6ZTAgPSB5eXRuYW1lcnIgKFlZX05VTExQVFIsIHl5dG5hbWVbeXl0b2tlbl0pOwot
ICBZWVNJWkVfVCB5eXNpemUgPSB5eXNpemUwOwotICBlbnVtIHsgWVlFUlJPUl9WRVJCT1NFX0FS
R1NfTUFYSU1VTSA9IDUgfTsKLSAgLyogSW50ZXJuYXRpb25hbGl6ZWQgZm9ybWF0IHN0cmluZy4g
Ki8KLSAgY29uc3QgY2hhciAqeXlmb3JtYXQgPSBZWV9OVUxMUFRSOwotICAvKiBBcmd1bWVudHMg
b2YgeXlmb3JtYXQuICovCi0gIGNoYXIgY29uc3QgKnl5YXJnW1lZRVJST1JfVkVSQk9TRV9BUkdT
X01BWElNVU1dOwotICAvKiBOdW1iZXIgb2YgcmVwb3J0ZWQgdG9rZW5zIChvbmUgZm9yIHRoZSAi
dW5leHBlY3RlZCIsIG9uZSBwZXIKLSAgICAgImV4cGVjdGVkIikuICovCi0gIGludCB5eWNvdW50
ID0gMDsKLQotICAvKiBUaGVyZSBhcmUgbWFueSBwb3NzaWJpbGl0aWVzIGhlcmUgdG8gY29uc2lk
ZXI6Ci0gICAgIC0gSWYgdGhpcyBzdGF0ZSBpcyBhIGNvbnNpc3RlbnQgc3RhdGUgd2l0aCBhIGRl
ZmF1bHQgYWN0aW9uLCB0aGVuCi0gICAgICAgdGhlIG9ubHkgd2F5IHRoaXMgZnVuY3Rpb24gd2Fz
IGludm9rZWQgaXMgaWYgdGhlIGRlZmF1bHQgYWN0aW9uCi0gICAgICAgaXMgYW4gZXJyb3IgYWN0
aW9uLiAgSW4gdGhhdCBjYXNlLCBkb24ndCBjaGVjayBmb3IgZXhwZWN0ZWQKLSAgICAgICB0b2tl
bnMgYmVjYXVzZSB0aGVyZSBhcmUgbm9uZS4KLSAgICAgLSBUaGUgb25seSB3YXkgdGhlcmUgY2Fu
IGJlIG5vIGxvb2thaGVhZCBwcmVzZW50IChpbiB5eWNoYXIpIGlzIGlmCi0gICAgICAgdGhpcyBz
dGF0ZSBpcyBhIGNvbnNpc3RlbnQgc3RhdGUgd2l0aCBhIGRlZmF1bHQgYWN0aW9uLiAgVGh1cywK
LSAgICAgICBkZXRlY3RpbmcgdGhlIGFic2VuY2Ugb2YgYSBsb29rYWhlYWQgaXMgc3VmZmljaWVu
dCB0byBkZXRlcm1pbmUKLSAgICAgICB0aGF0IHRoZXJlIGlzIG5vIHVuZXhwZWN0ZWQgb3IgZXhw
ZWN0ZWQgdG9rZW4gdG8gcmVwb3J0LiAgSW4gdGhhdAotICAgICAgIGNhc2UsIGp1c3QgcmVwb3J0
IGEgc2ltcGxlICJzeW50YXggZXJyb3IiLgotICAgICAtIERvbid0IGFzc3VtZSB0aGVyZSBpc24n
dCBhIGxvb2thaGVhZCBqdXN0IGJlY2F1c2UgdGhpcyBzdGF0ZSBpcyBhCi0gICAgICAgY29uc2lz
dGVudCBzdGF0ZSB3aXRoIGEgZGVmYXVsdCBhY3Rpb24uICBUaGVyZSBtaWdodCBoYXZlIGJlZW4g
YQotICAgICAgIHByZXZpb3VzIGluY29uc2lzdGVudCBzdGF0ZSwgY29uc2lzdGVudCBzdGF0ZSB3
aXRoIGEgbm9uLWRlZmF1bHQKLSAgICAgICBhY3Rpb24sIG9yIHVzZXIgc2VtYW50aWMgYWN0aW9u
IHRoYXQgbWFuaXB1bGF0ZWQgeXljaGFyLl1iNF9sYWNfaWYoW1sKLSAgICAgICBJbiB0aGUgZmly
c3QgdHdvIGNhc2VzLCBpdCBtaWdodCBhcHBlYXIgdGhhdCB0aGUgY3VycmVudCBzeW50YXgKLSAg
ICAgICBlcnJvciBzaG91bGQgaGF2ZSBiZWVuIGRldGVjdGVkIGluIHRoZSBwcmV2aW91cyBzdGF0
ZSB3aGVuIHl5X2xhYwotICAgICAgIHdhcyBpbnZva2VkLiAgSG93ZXZlciwgYXQgdGhhdCB0aW1l
LCB0aGVyZSBtaWdodCBoYXZlIGJlZW4gYQotICAgICAgIGRpZmZlcmVudCBzeW50YXggZXJyb3Ig
dGhhdCBkaXNjYXJkZWQgYSBkaWZmZXJlbnQgaW5pdGlhbCBjb250ZXh0Ci0gICAgICAgZHVyaW5n
IGVycm9yIHJlY292ZXJ5LCBsZWF2aW5nIGJlaGluZCB0aGUgY3VycmVudCBsb29rYWhlYWQuXV0s
IFtbCi0gICAgIC0gT2YgY291cnNlLCB0aGUgZXhwZWN0ZWQgdG9rZW4gbGlzdCBkZXBlbmRzIG9u
IHN0YXRlcyB0byBoYXZlCi0gICAgICAgY29ycmVjdCBsb29rYWhlYWQgaW5mb3JtYXRpb24sIGFu
ZCBpdCBkZXBlbmRzIG9uIHRoZSBwYXJzZXIgbm90Ci0gICAgICAgdG8gcGVyZm9ybSBleHRyYSBy
ZWR1Y3Rpb25zIGFmdGVyIGZldGNoaW5nIGEgbG9va2FoZWFkIGZyb20gdGhlCi0gICAgICAgc2Nh
bm5lciBhbmQgYmVmb3JlIGRldGVjdGluZyBhIHN5bnRheCBlcnJvci4gIFRodXMsIHN0YXRlIG1l
cmdpbmcKLSAgICAgICAoZnJvbSBMQUxSIG9yIElFTFIpIGFuZCBkZWZhdWx0IHJlZHVjdGlvbnMg
Y29ycnVwdCB0aGUgZXhwZWN0ZWQKLSAgICAgICB0b2tlbiBsaXN0LiAgSG93ZXZlciwgdGhlIGxp
c3QgaXMgY29ycmVjdCBmb3IgY2Fub25pY2FsIExSIHdpdGgKLSAgICAgICBvbmUgZXhjZXB0aW9u
OiBpdCB3aWxsIHN0aWxsIGNvbnRhaW4gYW55IHRva2VuIHRoYXQgd2lsbCBub3QgYmUKLSAgICAg
ICBhY2NlcHRlZCBkdWUgdG8gYW4gZXJyb3IgYWN0aW9uIGluIGEgbGF0ZXIgc3RhdGUuXV0pWwot
ICAqLwotICBpZiAoeXl0b2tlbiAhPSBZWUVNUFRZKQotICAgIHsKLSAgICAgIGludCB5eW4gPSB5
eXBhY3RbKnl5c3NwXTtdYjRfbGFjX2lmKFtbCi0gICAgICBZWURQUklOVEYgKChzdGRlcnIsICJD
b25zdHJ1Y3Rpbmcgc3ludGF4IGVycm9yIG1lc3NhZ2VcbiIpKTtdXSlbCi0gICAgICB5eWFyZ1t5
eWNvdW50KytdID0geXl0bmFtZVt5eXRva2VuXTsKLSAgICAgIGlmICgheXlwYWN0X3ZhbHVlX2lz
X2RlZmF1bHQgKHl5bikpCi0gICAgICAgIHtdYjRfbGFjX2lmKFtdLCBbWwotICAgICAgICAgIC8q
IFN0YXJ0IFlZWCBhdCAtWVlOIGlmIG5lZ2F0aXZlIHRvIGF2b2lkIG5lZ2F0aXZlIGluZGV4ZXMg
aW4KLSAgICAgICAgICAgICBZWUNIRUNLLiAgSW4gb3RoZXIgd29yZHMsIHNraXAgdGhlIGZpcnN0
IC1ZWU4gYWN0aW9ucyBmb3IKLSAgICAgICAgICAgICB0aGlzIHN0YXRlIGJlY2F1c2UgdGhleSBh
cmUgZGVmYXVsdCBhY3Rpb25zLiAgKi8KLSAgICAgICAgICBpbnQgeXl4YmVnaW4gPSB5eW4gPCAw
ID8gLXl5biA6IDA7Ci0gICAgICAgICAgLyogU3RheSB3aXRoaW4gYm91bmRzIG9mIGJvdGggeXlj
aGVjayBhbmQgeXl0bmFtZS4gICovCi0gICAgICAgICAgaW50IHl5Y2hlY2tsaW0gPSBZWUxBU1Qg
LSB5eW4gKyAxOwotICAgICAgICAgIGludCB5eXhlbmQgPSB5eWNoZWNrbGltIDwgWVlOVE9LRU5T
ID8geXljaGVja2xpbSA6IFlZTlRPS0VOUztdXSlbCi0gICAgICAgICAgaW50IHl5eDtdYjRfbGFj
X2lmKFtbCi0KLSAgICAgICAgICBmb3IgKHl5eCA9IDA7IHl5eCA8IFlZTlRPS0VOUzsgKyt5eXgp
Ci0gICAgICAgICAgICBpZiAoeXl4ICE9IFlZVEVSUk9SICYmIHl5eCAhPSBZWVVOREVGVE9LKQot
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgaW50
IHl5X2xhY19zdGF0dXMgPSB5eV9sYWMgKHl5ZXNhLCB5eWVzLCB5eWVzX2NhcGFjaXR5LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHl5c3NwLCB5eXgpOwot
ICAgICAgICAgICAgICAgICAgaWYgKHl5X2xhY19zdGF0dXMgPT0gMikKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIDI7Ci0gICAgICAgICAgICAgICAgICBpZiAoeXlfbGFjX3N0YXR1cyA9PSAx
KQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICB9XV0sIFtb
Ci0KLSAgICAgICAgICBmb3IgKHl5eCA9IHl5eGJlZ2luOyB5eXggPCB5eXhlbmQ7ICsreXl4KQot
ICAgICAgICAgICAgaWYgKHl5Y2hlY2tbeXl4ICsgeXluXSA9PSB5eXggJiYgeXl4ICE9IFlZVEVS
Uk9SCi0gICAgICAgICAgICAgICAgJiYgIXl5dGFibGVfdmFsdWVfaXNfZXJyb3IgKHl5dGFibGVb
eXl4ICsgeXluXSkpCi0gICAgICAgICAgICAgIHtdXSlbCi0gICAgICAgICAgICAgICAgaWYgKHl5
Y291bnQgPT0gWVlFUlJPUl9WRVJCT1NFX0FSR1NfTUFYSU1VTSkKLSAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgeXljb3VudCA9IDE7Ci0gICAgICAgICAgICAgICAgICAg
IHl5c2l6ZSA9IHl5c2l6ZTA7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIHl5YXJnW3l5Y291bnQrK10gPSB5eXRuYW1lW3l5
eF07Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgWVlTSVpFX1QgeXlzaXpl
MSA9IHl5c2l6ZSArIHl5dG5hbWVyciAoWVlfTlVMTFBUUiwgeXl0bmFtZVt5eXhdKTsKLSAgICAg
ICAgICAgICAgICAgIGlmICh5eXNpemUgPD0geXlzaXplMSAmJiB5eXNpemUxIDw9IFlZU1RBQ0tf
QUxMT0NfTUFYSU1VTSkKLSAgICAgICAgICAgICAgICAgICAgeXlzaXplID0geXlzaXplMTsKLSAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICB9Ci0gICAgICAgIH1dYjRfbGFjX2lmKFtbCi0j
IGlmIF1iNF9hcGlfUFJFRklYW0RFQlVHCi0gICAgICBlbHNlIGlmICh5eWRlYnVnKQotICAgICAg
ICBZWUZQUklOVEYgKHN0ZGVyciwgIk5vIGV4cGVjdGVkIHRva2Vucy5cbiIpOwotIyBlbmRpZl1d
KVsKLSAgICB9Ci0KLSAgc3dpdGNoICh5eWNvdW50KQotICAgIHsKLSMgZGVmaW5lIFlZQ0FTRV8o
TiwgUykgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgY2FzZSBOOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHl5Zm9ybWF0ID0gUzsgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgIGJyZWFrCi0gICAgZGVmYXVsdDogLyogQXZvaWQgY29tcGlsZXIgd2Fy
bmluZ3MuICovCi0gICAgICBZWUNBU0VfKDAsIFlZXygic3ludGF4IGVycm9yIikpOwotICAgICAg
WVlDQVNFXygxLCBZWV8oInN5bnRheCBlcnJvciwgdW5leHBlY3RlZCAlcyIpKTsKLSAgICAgIFlZ
Q0FTRV8oMiwgWVlfKCJzeW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgJXMsIGV4cGVjdGluZyAlcyIp
KTsKLSAgICAgIFlZQ0FTRV8oMywgWVlfKCJzeW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgJXMsIGV4
cGVjdGluZyAlcyBvciAlcyIpKTsKLSAgICAgIFlZQ0FTRV8oNCwgWVlfKCJzeW50YXggZXJyb3Is
IHVuZXhwZWN0ZWQgJXMsIGV4cGVjdGluZyAlcyBvciAlcyBvciAlcyIpKTsKLSAgICAgIFlZQ0FT
RV8oNSwgWVlfKCJzeW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgJXMsIGV4cGVjdGluZyAlcyBvciAl
cyBvciAlcyBvciAlcyIpKTsKLSMgdW5kZWYgWVlDQVNFXwotICAgIH0KLQotICB7Ci0gICAgWVlT
SVpFX1QgeXlzaXplMSA9IHl5c2l6ZSArIHl5c3RybGVuICh5eWZvcm1hdCk7Ci0gICAgaWYgKHl5
c2l6ZSA8PSB5eXNpemUxICYmIHl5c2l6ZTEgPD0gWVlTVEFDS19BTExPQ19NQVhJTVVNKQotICAg
ICAgeXlzaXplID0geXlzaXplMTsKLSAgICBlbHNlCi0gICAgICByZXR1cm4gMjsKLSAgfQotCi0g
IGlmICgqeXltc2dfYWxsb2MgPCB5eXNpemUpCi0gICAgewotICAgICAgKnl5bXNnX2FsbG9jID0g
MiAqIHl5c2l6ZTsKLSAgICAgIGlmICghICh5eXNpemUgPD0gKnl5bXNnX2FsbG9jCi0gICAgICAg
ICAgICAgJiYgKnl5bXNnX2FsbG9jIDw9IFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSkpCi0gICAgICAg
ICp5eW1zZ19hbGxvYyA9IFlZU1RBQ0tfQUxMT0NfTUFYSU1VTTsKLSAgICAgIHJldHVybiAxOwot
ICAgIH0KLQotICAvKiBBdm9pZCBzcHJpbnRmLCBhcyB0aGF0IGluZnJpbmdlcyBvbiB0aGUgdXNl
cidzIG5hbWUgc3BhY2UuCi0gICAgIERvbid0IGhhdmUgdW5kZWZpbmVkIGJlaGF2aW9yIGV2ZW4g
aWYgdGhlIHRyYW5zbGF0aW9uCi0gICAgIHByb2R1Y2VkIGEgc3RyaW5nIHdpdGggdGhlIHdyb25n
IG51bWJlciBvZiAiJXMicy4gICovCi0gIHsKLSAgICBjaGFyICp5eXAgPSAqeXltc2c7Ci0gICAg
aW50IHl5aSA9IDA7Ci0gICAgd2hpbGUgKCgqeXlwID0gKnl5Zm9ybWF0KSAhPSAnXDAnKQotICAg
ICAgaWYgKCp5eXAgPT0gJyUnICYmIHl5Zm9ybWF0WzFdID09ICdzJyAmJiB5eWkgPCB5eWNvdW50
KQotICAgICAgICB7Ci0gICAgICAgICAgeXlwICs9IHl5dG5hbWVyciAoeXlwLCB5eWFyZ1t5eWkr
K10pOwotICAgICAgICAgIHl5Zm9ybWF0ICs9IDI7Ci0gICAgICAgIH0KLSAgICAgIGVsc2UKLSAg
ICAgICAgewotICAgICAgICAgIHl5cCsrOwotICAgICAgICAgIHl5Zm9ybWF0Kys7Ci0gICAgICAg
IH0KLSAgfQotICByZXR1cm4gMDsKLX0KLSNlbmRpZiAvKiBZWUVSUk9SX1ZFUkJPU0UgKi8KLQot
XWI0X3l5ZGVzdHJ1Y3RfZGVmaW5lWwotCi1dYjRfcHVyZV9pZihbXSwgWwotCi1iNF9kZWNsYXJl
X3NjYW5uZXJfY29tbXVuaWNhdGlvbl92YXJpYWJsZXNdKVtdYjRfcHVzaF9pZihbWwotCi1zdHJ1
Y3QgeXlwc3RhdGUKLSAge11iNF9kZWNsYXJlX3BhcnNlcl9zdGF0ZV92YXJpYWJsZXNbCi0gICAg
LyogVXNlZCB0byBkZXRlcm1pbmUgaWYgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aGlzIGluc3Rh
bmNlIGhhcwotICAgICAgIGJlZW4gdXNlZC4gICovCi0gICAgaW50IHl5bmV3OwotICB9O11iNF9w
dXJlX2lmKFtdLCBbWwotCi1zdGF0aWMgY2hhciB5eXBzdGF0ZV9hbGxvY2F0ZWQgPSAwO11dKWI0
X3B1bGxfaWYoWwotCi1iNF9mdW5jdGlvbl9kZWZpbmUoW1t5eXBhcnNlXV0sIFtbaW50XV0sIGI0
X3BhcnNlX3BhcmFtKVsKLXsKLSAgcmV0dXJuIHl5cHVsbF9wYXJzZSAoWVlfTlVMTFBUUl1tNF9p
ZnNldChbYjRfcGFyc2VfcGFyYW1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtbLCBdYjRfYXJncyhiNF9wYXJzZV9wYXJhbSldKVspOwotfQotCi1dYjRfZnVuY3Rpb25fZGVm
aW5lKFtbeXlwdWxsX3BhcnNlXV0sIFtbaW50XV0sCi0gIFtbW3l5cHN0YXRlICp5eXBzXV0sIFtb
eXlwc11dXW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssCi0gIGI0X3BhcnNlX3BhcmFtXSkp
Wwote11iNF9wdXJlX2lmKFtiNF9sb2NhdGlvbnNfaWYoW1sKLSAgc3RhdGljIFlZTFRZUEUgeXls
b2NfZGVmYXVsdF1bXWI0X3l5bG9jX2RlZmF1bHRbOwotICBZWUxUWVBFIHl5bGxvYyA9IHl5bG9j
X2RlZmF1bHQ7XV0pXSlbCi0gIHl5cHN0YXRlICp5eXBzX2xvY2FsOwotICBpZiAoeXlwcykKLSAg
ICB5eXBzX2xvY2FsID0geXlwczsKLSAgZWxzZQotICAgIHsKLSAgICAgIHl5cHNfbG9jYWwgPSB5
eXBzdGF0ZV9uZXcgKCk7Ci0gICAgICBpZiAoIXl5cHNfbG9jYWwpCi0gICAgICAgIHtdYjRfcHVy
ZV9pZihbWwotICAgICAgICAgIHl5ZXJyb3IgKF1iNF95eWVycm9yX2FyZ3NbWVlfKCJtZW1vcnkg
ZXhoYXVzdGVkIikpO11dLCBbWwotICAgICAgICAgIGlmICgheXlwc3RhdGVfYWxsb2NhdGVkKQot
ICAgICAgICAgICAgeXllcnJvciAoXWI0X3l5ZXJyb3JfYXJnc1tZWV8oIm1lbW9yeSBleGhhdXN0
ZWQiKSk7XV0pWwotICAgICAgICAgIHJldHVybiAyOwotICAgICAgICB9Ci0gICAgfQotICBpbnQg
eXlzdGF0dXM7Ci0gIGRvIHtdYjRfcHVyZV9pZihbWwotICAgIFlZU1RZUEUgeXlsdmFsOwotICAg
IGludCBdXSlbeXljaGFyID0gXWI0X2xleFs7Ci0gICAgeXlzdGF0dXMgPQotICAgICAgeXlwdXNo
X3BhcnNlICh5eXBzX2xvY2FsXWI0X3B1cmVfaWYoW1ssIHl5Y2hhciwgJnl5bHZhbF1iNF9sb2Nh
dGlvbnNfaWYoW1ssICZ5eWxsb2NdXSldKW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssIGI0
X2FyZ3MoYjRfcGFyc2VfcGFyYW0pXSlbKTsKLSAgfSB3aGlsZSAoeXlzdGF0dXMgPT0gWVlQVVNI
X01PUkUpOwotICBpZiAoIXl5cHMpCi0gICAgeXlwc3RhdGVfZGVsZXRlICh5eXBzX2xvY2FsKTsK
LSAgcmV0dXJuIHl5c3RhdHVzOwotfV1dKVsKLQotLyogSW5pdGlhbGl6ZSB0aGUgcGFyc2VyIGRh
dGEgc3RydWN0dXJlLiAgKi8KLV1iNF9mdW5jdGlvbl9kZWZpbmUoW1t5eXBzdGF0ZV9uZXddXSwg
W1t5eXBzdGF0ZSAqXV0pWwotewotICB5eXBzdGF0ZSAqeXlwcztdYjRfcHVyZV9pZihbXSwgW1sK
LSAgaWYgKHl5cHN0YXRlX2FsbG9jYXRlZCkKLSAgICByZXR1cm4gWVlfTlVMTFBUUjtdXSlbCi0g
IHl5cHMgPSAoeXlwc3RhdGUgKikgbWFsbG9jIChzaXplb2YgKnl5cHMpOwotICBpZiAoIXl5cHMp
Ci0gICAgcmV0dXJuIFlZX05VTExQVFI7Ci0gIHl5cHMtPnl5bmV3ID0gMTtdYjRfcHVyZV9pZihb
XSwgW1sKLSAgeXlwc3RhdGVfYWxsb2NhdGVkID0gMTtdXSlbCi0gIHJldHVybiB5eXBzOwotfQot
Ci1dYjRfZnVuY3Rpb25fZGVmaW5lKFtbeXlwc3RhdGVfZGVsZXRlXV0sIFtbdm9pZF1dLAotICAg
ICAgICAgICAgICAgICAgIFtbW3l5cHN0YXRlICp5eXBzXV0sIFtbeXlwc11dXSlbCi17Ci0gIGlm
ICh5eXBzKQotICAgIHsKLSNpZm5kZWYgeXlvdmVyZmxvdwotICAgICAgLyogSWYgdGhlIHN0YWNr
IHdhcyByZWFsbG9jYXRlZCBidXQgdGhlIHBhcnNlIGRpZCBub3QgY29tcGxldGUsIHRoZW4gdGhl
Ci0gICAgICAgICBzdGFjayBzdGlsbCBuZWVkcyB0byBiZSBmcmVlZC4gICovCi0gICAgICBpZiAo
IXl5cHMtPnl5bmV3ICYmIHl5cHMtPnl5c3MgIT0geXlwcy0+eXlzc2EpCi0gICAgICAgIFlZU1RB
Q0tfRlJFRSAoeXlwcy0+eXlzcyk7Ci0jZW5kaWZdYjRfbGFjX2lmKFtbCi0gICAgICBpZiAoIXl5
cHMtPnl5bmV3ICYmIHl5cHMtPnl5ZXMgIT0geXlwcy0+eXllc2EpCi0gICAgICAgIFlZU1RBQ0tf
RlJFRSAoeXlwcy0+eXllcyk7XV0pWwotICAgICAgZnJlZSAoeXlwcyk7XWI0X3B1cmVfaWYoW10s
IFtbCi0gICAgICB5eXBzdGF0ZV9hbGxvY2F0ZWQgPSAwO11dKVsKLSAgICB9Ci19Ci1dYjRfcHVy
ZV9pZihbWwotI2RlZmluZSBdYjRfcHJlZml4W25lcnJzIHl5cHMtPl1iNF9wcmVmaXhbbmVycnNd
XSlbCi0jZGVmaW5lIHl5c3RhdGUgeXlwcy0+eXlzdGF0ZQotI2RlZmluZSB5eWVycnN0YXR1cyB5
eXBzLT55eWVycnN0YXR1cwotI2RlZmluZSB5eXNzYSB5eXBzLT55eXNzYQotI2RlZmluZSB5eXNz
IHl5cHMtPnl5c3MKLSNkZWZpbmUgeXlzc3AgeXlwcy0+eXlzc3AKLSNkZWZpbmUgeXl2c2EgeXlw
cy0+eXl2c2EKLSNkZWZpbmUgeXl2cyB5eXBzLT55eXZzCi0jZGVmaW5lIHl5dnNwIHl5cHMtPnl5
dnNwXWI0X2xvY2F0aW9uc19pZihbWwotI2RlZmluZSB5eWxzYSB5eXBzLT55eWxzYQotI2RlZmlu
ZSB5eWxzIHl5cHMtPnl5bHMKLSNkZWZpbmUgeXlsc3AgeXlwcy0+eXlsc3AKLSNkZWZpbmUgeXll
cnJvcl9yYW5nZSB5eXBzLT55eWVycm9yX3JhbmdlXV0pWwotI2RlZmluZSB5eXN0YWNrc2l6ZSB5
eXBzLT55eXN0YWNrc2l6ZV1iNF9sYWNfaWYoW1sKLSNkZWZpbmUgeXllc2EgeXlwcy0+eXllc2EK
LSNkZWZpbmUgeXllcyB5eXBzLT55eWVzCi0jZGVmaW5lIHl5ZXNfY2FwYWNpdHkgeXlwcy0+eXll
c19jYXBhY2l0eV1dKVsKLQotCi0vKi0tLS0tLS0tLS0tLS0tLS4KLXwgeXlwdXNoX3BhcnNlLiAg
fAotYC0tLS0tLS0tLS0tLS0tLSovCi0KLV1iNF9mdW5jdGlvbl9kZWZpbmUoW1t5eXB1c2hfcGFy
c2VdXSwgW1tpbnRdXSwKLSAgW1tbeXlwc3RhdGUgKnl5cHNdXSwgW1t5eXBzXV1dYjRfcHVyZV9p
ZihbLAotICBbW1tpbnQgeXlwdXNoZWRfY2hhcl1dLCBbW3l5cHVzaGVkX2NoYXJdXV0sCi0gIFtb
W1lZU1RZUEUgY29uc3QgKnl5cHVzaGVkX3ZhbF1dLCBbW3l5cHVzaGVkX3ZhbF1dXWI0X2xvY2F0
aW9uc19pZihbLAotICBbW1tZWUxUWVBFICp5eXB1c2hlZF9sb2NdXSwgW1t5eXB1c2hlZF9sb2Nd
XV1dKV0pbTRfaWZzZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywKLSAgYjRfcGFyc2VfcGFyYW1dKSld
LCBbWwotCi0KLS8qLS0tLS0tLS0tLS4KLXwgeXlwYXJzZS4gIHwKLWAtLS0tLS0tLS0tKi8KLQot
XWI0X2Z1bmN0aW9uX2RlZmluZShbeXlwYXJzZV0sIFtpbnRdLCBiNF9wYXJzZV9wYXJhbSldKVsK
LXtdYjRfcHVyZV9pZihbYjRfZGVjbGFyZV9zY2FubmVyX2NvbW11bmljYXRpb25fdmFyaWFibGVz
Ci1dKWI0X3B1c2hfaWYoW2I0X3B1cmVfaWYoW10sIFtbCi0gIGludCB5eXB1c2hlZF9jaGFyID0g
eXljaGFyOwotICBZWVNUWVBFIHl5cHVzaGVkX3ZhbCA9IHl5bHZhbDtdYjRfbG9jYXRpb25zX2lm
KFtbCi0gIFlZTFRZUEUgeXlwdXNoZWRfbG9jID0geXlsbG9jO11dKQotXSldLAotICBbYjRfZGVj
bGFyZV9wYXJzZXJfc3RhdGVfdmFyaWFibGVzCi1dKWI0X2xhY19pZihbWwotICBpbnQgeXlfbGFj
X2VzdGFibGlzaGVkID0gMDtdXSlbCi0gIGludCB5eW47Ci0gIGludCB5eXJlc3VsdDsKLSAgLyog
TG9va2FoZWFkIHRva2VuIGFzIGFuIGludGVybmFsICh0cmFuc2xhdGVkKSB0b2tlbiBudW1iZXIu
ICAqLwotICBpbnQgeXl0b2tlbiA9IDA7Ci0gIC8qIFRoZSB2YXJpYWJsZXMgdXNlZCB0byByZXR1
cm4gc2VtYW50aWMgdmFsdWUgYW5kIGxvY2F0aW9uIGZyb20gdGhlCi0gICAgIGFjdGlvbiByb3V0
aW5lcy4gICovCi0gIFlZU1RZUEUgeXl2YWw7XWI0X2xvY2F0aW9uc19pZihbWwotICBZWUxUWVBF
IHl5bG9jO11dKVsKLQotI2lmIFlZRVJST1JfVkVSQk9TRQotICAvKiBCdWZmZXIgZm9yIGVycm9y
IG1lc3NhZ2VzLCBhbmQgaXRzIGFsbG9jYXRlZCBzaXplLiAgKi8KLSAgY2hhciB5eW1zZ2J1Zlsx
MjhdOwotICBjaGFyICp5eW1zZyA9IHl5bXNnYnVmOwotICBZWVNJWkVfVCB5eW1zZ19hbGxvYyA9
IHNpemVvZiB5eW1zZ2J1ZjsKLSNlbmRpZgotCi0jZGVmaW5lIFlZUE9QU1RBQ0soTikgICAoeXl2
c3AgLT0gKE4pLCB5eXNzcCAtPSAoTildYjRfbG9jYXRpb25zX2lmKFssIHl5bHNwIC09IChOKV0p
WykKLQotICAvKiBUaGUgbnVtYmVyIG9mIHN5bWJvbHMgb24gdGhlIFJIUyBvZiB0aGUgcmVkdWNl
ZCBydWxlLgotICAgICBLZWVwIHRvIHplcm8gd2hlbiBubyBzeW1ib2wgc2hvdWxkIGJlIHBvcHBl
ZC4gICovCi0gIGludCB5eWxlbiA9IDA7XWI0X3B1c2hfaWYoW1sKLQotICBpZiAoIXl5cHMtPnl5
bmV3KQotICAgIHsKLSAgICAgIHl5biA9IHl5cGFjdFt5eXN0YXRlXTsKLSAgICAgIGdvdG8geXly
ZWFkX3B1c2hlZF90b2tlbjsKLSAgICB9XV0pWwotCi0gIHl5c3NwID0geXlzcyA9IHl5c3NhOwot
ICB5eXZzcCA9IHl5dnMgPSB5eXZzYTtdYjRfbG9jYXRpb25zX2lmKFtbCi0gIHl5bHNwID0geXls
cyA9IHl5bHNhO11dKVsKLSAgeXlzdGFja3NpemUgPSBZWUlOSVRERVBUSDtdYjRfbGFjX2lmKFtb
Ci0KLSAgeXllcyA9IHl5ZXNhOwotICB5eWVzX2NhcGFjaXR5ID0gc2l6ZW9mIHl5ZXNhIC8gc2l6
ZW9mICp5eWVzOwotICBpZiAoWVlNQVhERVBUSCA8IHl5ZXNfY2FwYWNpdHkpCi0gICAgeXllc19j
YXBhY2l0eSA9IFlZTUFYREVQVEg7XV0pWwotCi0gIFlZRFBSSU5URiAoKHN0ZGVyciwgIlN0YXJ0
aW5nIHBhcnNlXG4iKSk7Ci0KLSAgeXlzdGF0ZSA9IDA7Ci0gIHl5ZXJyc3RhdHVzID0gMDsKLSAg
eXluZXJycyA9IDA7Ci0gIHl5Y2hhciA9IFlZRU1QVFk7IC8qIENhdXNlIGEgdG9rZW4gdG8gYmUg
cmVhZC4gICovCi1dbTRfaWZkZWYoW2I0X2luaXRpYWxfYWN0aW9uXSwgWwotYjRfZG9sbGFyX3B1
c2hkZWYoW200X2RlZmluZShbYjRfZG9sbGFyX2RvbGxhcl91c2VkXSl5eWx2YWxdLCBbXSwgW10s
Ci0gICAgICAgICAgICAgICAgICBbYjRfcHVzaF9pZihbYjRfcHVyZV9pZihbKl0peXlwdXNoZWRf
bG9jXSwgW3l5bGxvY10pXSlkbmwKLWI0X3VzZXJfaW5pdGlhbF9hY3Rpb24KLWI0X2RvbGxhcl9w
b3BkZWZbXWRubAotbTRfaWZkZWYoW2I0X2RvbGxhcl9kb2xsYXJfdXNlZF0sW1sgIHl5dnNwWzBd
ID0geXlsdmFsOwotXV0pXSlkbmwKLWI0X2xvY2F0aW9uc19pZihbWyAgeXlsc3BbMF0gPSBdYjRf
cHVzaF9pZihbYjRfcHVyZV9pZihbKl0peXlwdXNoZWRfbG9jXSwgW3l5bGxvY10pWzsKLV1dKWRu
bAotWyAgZ290byB5eXNldHN0YXRlOwotCi0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgotfCB5eW5ld3N0YXRlIC0tIHB1c2gg
YSBuZXcgc3RhdGUsIHdoaWNoIGlzIGZvdW5kIGluIHl5c3RhdGUuICB8Ci1gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLXl5bmV3
c3RhdGU6Ci0gIC8qIEluIGFsbCBjYXNlcywgd2hlbiB5b3UgZ2V0IGhlcmUsIHRoZSB2YWx1ZSBh
bmQgbG9jYXRpb24gc3RhY2tzCi0gICAgIGhhdmUganVzdCBiZWVuIHB1c2hlZC4gIFNvIHB1c2hp
bmcgYSBzdGF0ZSBoZXJlIGV2ZW5zIHRoZSBzdGFja3MuICAqLwotICB5eXNzcCsrOwotCi0KLS8q
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0uCi18IHl5bmV3c3RhdGUgLS0gc2V0IGN1cnJlbnQgc3RhdGUgKHRoZSB0b3Ag
b2YgdGhlIHN0YWNrKSB0byB5eXN0YXRlLiAgfAotYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLXl5c2V0c3RhdGU6
Ci0gICp5eXNzcCA9ICh5eXR5cGVfaW50MTYpIHl5c3RhdGU7Ci0KLSAgaWYgKHl5c3MgKyB5eXN0
YWNrc2l6ZSAtIDEgPD0geXlzc3ApCi0jaWYgIWRlZmluZWQgeXlvdmVyZmxvdyAmJiAhZGVmaW5l
ZCBZWVNUQUNLX1JFTE9DQVRFCi0gICAgZ290byB5eWV4aGF1c3RlZGxhYjsKLSNlbHNlCi0gICAg
ewotICAgICAgLyogR2V0IHRoZSBjdXJyZW50IHVzZWQgc2l6ZSBvZiB0aGUgdGhyZWUgc3RhY2tz
LCBpbiBlbGVtZW50cy4gICovCi0gICAgICBZWVNJWkVfVCB5eXNpemUgPSAoWVlTSVpFX1QpICh5
eXNzcCAtIHl5c3MgKyAxKTsKLQotIyBpZiBkZWZpbmVkIHl5b3ZlcmZsb3cKLSAgICAgIHsKLSAg
ICAgICAgLyogR2l2ZSB1c2VyIGEgY2hhbmNlIHRvIHJlYWxsb2NhdGUgdGhlIHN0YWNrLiAgVXNl
IGNvcGllcyBvZgotICAgICAgICAgICB0aGVzZSBzbyB0aGF0IHRoZSAmJ3MgZG9uJ3QgZm9yY2Ug
dGhlIHJlYWwgb25lcyBpbnRvCi0gICAgICAgICAgIG1lbW9yeS4gICovCi0gICAgICAgIFlZU1RZ
UEUgKnl5dnMxID0geXl2czsKLSAgICAgICAgeXl0eXBlX2ludDE2ICp5eXNzMSA9IHl5c3M7XWI0
X2xvY2F0aW9uc19pZihbCi0gICAgICAgIFlZTFRZUEUgKnl5bHMxID0geXlscztdKVsKLQotICAg
ICAgICAvKiBFYWNoIHN0YWNrIHBvaW50ZXIgYWRkcmVzcyBpcyBmb2xsb3dlZCBieSB0aGUgc2l6
ZSBvZiB0aGUKLSAgICAgICAgICAgZGF0YSBpbiB1c2UgaW4gdGhhdCBzdGFjaywgaW4gYnl0ZXMu
ICBUaGlzIHVzZWQgdG8gYmUgYQotICAgICAgICAgICBjb25kaXRpb25hbCBhcm91bmQganVzdCB0
aGUgdHdvIGV4dHJhIGFyZ3MsIGJ1dCB0aGF0IG1pZ2h0Ci0gICAgICAgICAgIGJlIHVuZGVmaW5l
ZCBpZiB5eW92ZXJmbG93IGlzIGEgbWFjcm8uICAqLwotICAgICAgICB5eW92ZXJmbG93IChZWV8o
Im1lbW9yeSBleGhhdXN0ZWQiKSwKLSAgICAgICAgICAgICAgICAgICAgJnl5c3MxLCB5eXNpemUg
KiBzaXplb2YgKCp5eXNzcCksCi0gICAgICAgICAgICAgICAgICAgICZ5eXZzMSwgeXlzaXplICog
c2l6ZW9mICgqeXl2c3ApLF1iNF9sb2NhdGlvbnNfaWYoWwotICAgICAgICAgICAgICAgICAgICAm
eXlsczEsIHl5c2l6ZSAqIHNpemVvZiAoKnl5bHNwKSxdKVsKLSAgICAgICAgICAgICAgICAgICAg
Jnl5c3RhY2tzaXplKTsKLSAgICAgICAgeXlzcyA9IHl5c3MxOwotICAgICAgICB5eXZzID0geXl2
czE7XWI0X2xvY2F0aW9uc19pZihbCi0gICAgICAgIHl5bHMgPSB5eWxzMTtdKVsKLSAgICAgIH0K
LSMgZWxzZSAvKiBkZWZpbmVkIFlZU1RBQ0tfUkVMT0NBVEUgKi8KLSAgICAgIC8qIEV4dGVuZCB0
aGUgc3RhY2sgb3VyIG93biB3YXkuICAqLwotICAgICAgaWYgKFlZTUFYREVQVEggPD0geXlzdGFj
a3NpemUpCi0gICAgICAgIGdvdG8geXlleGhhdXN0ZWRsYWI7Ci0gICAgICB5eXN0YWNrc2l6ZSAq
PSAyOwotICAgICAgaWYgKFlZTUFYREVQVEggPCB5eXN0YWNrc2l6ZSkKLSAgICAgICAgeXlzdGFj
a3NpemUgPSBZWU1BWERFUFRIOwotCi0gICAgICB7Ci0gICAgICAgIHl5dHlwZV9pbnQxNiAqeXlz
czEgPSB5eXNzOwotICAgICAgICB1bmlvbiB5eWFsbG9jICp5eXB0ciA9Ci0gICAgICAgICAgKHVu
aW9uIHl5YWxsb2MgKikgWVlTVEFDS19BTExPQyAoWVlTVEFDS19CWVRFUyAoeXlzdGFja3NpemUp
KTsKLSAgICAgICAgaWYgKCEgeXlwdHIpCi0gICAgICAgICAgZ290byB5eWV4aGF1c3RlZGxhYjsK
LSAgICAgICAgWVlTVEFDS19SRUxPQ0FURSAoeXlzc19hbGxvYywgeXlzcyk7Ci0gICAgICAgIFlZ
U1RBQ0tfUkVMT0NBVEUgKHl5dnNfYWxsb2MsIHl5dnMpO11iNF9sb2NhdGlvbnNfaWYoWwotICAg
ICAgICBZWVNUQUNLX1JFTE9DQVRFICh5eWxzX2FsbG9jLCB5eWxzKTtdKVsKLSMgdW5kZWYgWVlT
VEFDS19SRUxPQ0FURQotICAgICAgICBpZiAoeXlzczEgIT0geXlzc2EpCi0gICAgICAgICAgWVlT
VEFDS19GUkVFICh5eXNzMSk7Ci0gICAgICB9Ci0jIGVuZGlmCi0KLSAgICAgIHl5c3NwID0geXlz
cyArIHl5c2l6ZSAtIDE7Ci0gICAgICB5eXZzcCA9IHl5dnMgKyB5eXNpemUgLSAxO11iNF9sb2Nh
dGlvbnNfaWYoWwotICAgICAgeXlsc3AgPSB5eWxzICsgeXlzaXplIC0gMTtdKVsKLQotICAgICAg
WVlEUFJJTlRGICgoc3RkZXJyLCAiU3RhY2sgc2l6ZSBpbmNyZWFzZWQgdG8gJWx1XG4iLAotICAg
ICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpIHl5c3RhY2tzaXplKSk7Ci0KLSAgICAgIGlm
ICh5eXNzICsgeXlzdGFja3NpemUgLSAxIDw9IHl5c3NwKQotICAgICAgICBZWUFCT1JUOwotICAg
IH0KLSNlbmRpZiAvKiAhZGVmaW5lZCB5eW92ZXJmbG93ICYmICFkZWZpbmVkIFlZU1RBQ0tfUkVM
T0NBVEUgKi8KLQotICBZWURQUklOVEYgKChzdGRlcnIsICJFbnRlcmluZyBzdGF0ZSAlZFxuIiwg
eXlzdGF0ZSkpOwotCi0gIGlmICh5eXN0YXRlID09IFlZRklOQUwpCi0gICAgWVlBQ0NFUFQ7Ci0K
LSAgZ290byB5eWJhY2t1cDsKLQotCi0vKi0tLS0tLS0tLS0tLgotfCB5eWJhY2t1cC4gIHwKLWAt
LS0tLS0tLS0tLSovCi15eWJhY2t1cDoKLSAgLyogRG8gYXBwcm9wcmlhdGUgcHJvY2Vzc2luZyBn
aXZlbiB0aGUgY3VycmVudCBzdGF0ZS4gIFJlYWQgYQotICAgICBsb29rYWhlYWQgdG9rZW4gaWYg
d2UgbmVlZCBvbmUgYW5kIGRvbid0IGFscmVhZHkgaGF2ZSBvbmUuICAqLwotCi0gIC8qIEZpcnN0
IHRyeSB0byBkZWNpZGUgd2hhdCB0byBkbyB3aXRob3V0IHJlZmVyZW5jZSB0byBsb29rYWhlYWQg
dG9rZW4uICAqLwotICB5eW4gPSB5eXBhY3RbeXlzdGF0ZV07Ci0gIGlmICh5eXBhY3RfdmFsdWVf
aXNfZGVmYXVsdCAoeXluKSkKLSAgICBnb3RvIHl5ZGVmYXVsdDsKLQotICAvKiBOb3Qga25vd24g
PT4gZ2V0IGEgbG9va2FoZWFkIHRva2VuIGlmIGRvbid0IGFscmVhZHkgaGF2ZSBvbmUuICAqLwot
Ci0gIC8qIFlZQ0hBUiBpcyBlaXRoZXIgWVlFTVBUWSBvciBZWUVPRiBvciBhIHZhbGlkIGxvb2th
aGVhZCBzeW1ib2wuICAqLwotICBpZiAoeXljaGFyID09IFlZRU1QVFkpCi0gICAge11iNF9wdXNo
X2lmKFtbCi0gICAgICBpZiAoIXl5cHMtPnl5bmV3KQotICAgICAgICB7XWI0X3VzZV9wdXNoX2Zv
cl9wdWxsX2lmKFtdLCBbWwotICAgICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIlJldHVybiBm
b3IgYSBuZXcgdG9rZW46XG4iKSk7XV0pWwotICAgICAgICAgIHl5cmVzdWx0ID0gWVlQVVNIX01P
UkU7Ci0gICAgICAgICAgZ290byB5eXB1c2hyZXR1cm47Ci0gICAgICAgIH0KLSAgICAgIHl5cHMt
Pnl5bmV3ID0gMDtdYjRfcHVyZV9pZihbXSwgW1sKLSAgICAgIC8qIFJlc3RvcmluZyB0aGUgcHVz
aGVkIHRva2VuIGlzIG9ubHkgbmVjZXNzYXJ5IGZvciB0aGUgZmlyc3QKLSAgICAgICAgIHl5cHVz
aF9wYXJzZSBpbnZvY2F0aW9uIHNpbmNlIHN1YnNlcXVlbnQgaW52b2NhdGlvbnMgZG9uJ3Qgb3Zl
cndyaXRlCi0gICAgICAgICBpdCBiZWZvcmUganVtcGluZyB0byB5eXJlYWRfcHVzaGVkX3Rva2Vu
LiAgKi8KLSAgICAgIHl5Y2hhciA9IHl5cHVzaGVkX2NoYXI7Ci0gICAgICB5eWx2YWwgPSB5eXB1
c2hlZF92YWw7XWI0X2xvY2F0aW9uc19pZihbWwotICAgICAgeXlsbG9jID0geXlwdXNoZWRfbG9j
O11dKV0pWwoteXlyZWFkX3B1c2hlZF90b2tlbjpdXSlbCi0gICAgICBZWURQUklOVEYgKChzdGRl
cnIsICJSZWFkaW5nIGEgdG9rZW46ICIpKTtdYjRfcHVzaF9pZihbYjRfcHVyZV9pZihbWwotICAg
ICAgeXljaGFyID0geXlwdXNoZWRfY2hhcjsKLSAgICAgIGlmICh5eXB1c2hlZF92YWwpCi0gICAg
ICAgIHl5bHZhbCA9ICp5eXB1c2hlZF92YWw7XWI0X2xvY2F0aW9uc19pZihbWwotICAgICAgaWYg
KHl5cHVzaGVkX2xvYykKLSAgICAgICAgeXlsbG9jID0gKnl5cHVzaGVkX2xvYztdXSldKV0sIFtb
Ci0gICAgICB5eWNoYXIgPSBdYjRfbGV4WztdXSlbCi0gICAgfQotCi0gIGlmICh5eWNoYXIgPD0g
WVlFT0YpCi0gICAgewotICAgICAgeXljaGFyID0geXl0b2tlbiA9IFlZRU9GOwotICAgICAgWVlE
UFJJTlRGICgoc3RkZXJyLCAiTm93IGF0IGVuZCBvZiBpbnB1dC5cbiIpKTsKLSAgICB9Ci0gIGVs
c2UKLSAgICB7Ci0gICAgICB5eXRva2VuID0gWVlUUkFOU0xBVEUgKHl5Y2hhcik7Ci0gICAgICBZ
WV9TWU1CT0xfUFJJTlQgKCJOZXh0IHRva2VuIGlzIiwgeXl0b2tlbiwgJnl5bHZhbCwgJnl5bGxv
Yyk7Ci0gICAgfQotCi0gIC8qIElmIHRoZSBwcm9wZXIgYWN0aW9uIG9uIHNlZWluZyB0b2tlbiBZ
WVRPS0VOIGlzIHRvIHJlZHVjZSBvciB0bwotICAgICBkZXRlY3QgYW4gZXJyb3IsIHRha2UgdGhh
dCBhY3Rpb24uICAqLwotICB5eW4gKz0geXl0b2tlbjsKLSAgaWYgKHl5biA8IDAgfHwgWVlMQVNU
IDwgeXluIHx8IHl5Y2hlY2tbeXluXSAhPSB5eXRva2VuKV1iNF9sYWNfaWYoW1sKLSAgICB7Ci0g
ICAgICBZWV9MQUNfRVNUQUJMSVNIOwotICAgICAgZ290byB5eWRlZmF1bHQ7Ci0gICAgfV1dLCBb
WwotICAgIGdvdG8geXlkZWZhdWx0O11dKVsKLSAgeXluID0geXl0YWJsZVt5eW5dOwotICBpZiAo
eXluIDw9IDApCi0gICAgewotICAgICAgaWYgKHl5dGFibGVfdmFsdWVfaXNfZXJyb3IgKHl5bikp
Ci0gICAgICAgIGdvdG8geXllcnJsYWI7XWI0X2xhY19pZihbWwotICAgICAgWVlfTEFDX0VTVEFC
TElTSDtdXSlbCi0gICAgICB5eW4gPSAteXluOwotICAgICAgZ290byB5eXJlZHVjZTsKLSAgICB9
Ci0KLSAgLyogQ291bnQgdG9rZW5zIHNoaWZ0ZWQgc2luY2UgZXJyb3I7IGFmdGVyIHRocmVlLCB0
dXJuIG9mZiBlcnJvcgotICAgICBzdGF0dXMuICAqLwotICBpZiAoeXllcnJzdGF0dXMpCi0gICAg
eXllcnJzdGF0dXMtLTsKLQotICAvKiBTaGlmdCB0aGUgbG9va2FoZWFkIHRva2VuLiAgKi8KLSAg
WVlfU1lNQk9MX1BSSU5UICgiU2hpZnRpbmciLCB5eXRva2VuLCAmeXlsdmFsLCAmeXlsbG9jKTsK
LQotICAvKiBEaXNjYXJkIHRoZSBzaGlmdGVkIHRva2VuLiAgKi8KLSAgeXljaGFyID0gWVlFTVBU
WTtdYjRfbGFjX2lmKFtbCi0gIFlZX0xBQ19ESVNDQVJEICgic2hpZnQiKTtdXSlbCi0KLSAgeXlz
dGF0ZSA9IHl5bjsKLSAgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfQkVHSU4KLSAgKisr
eXl2c3AgPSB5eWx2YWw7Ci0gIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0VORAotXWI0
X2xvY2F0aW9uc19pZihbICAqKyt5eWxzcCA9IHl5bGxvYztdKVsKLSAgZ290byB5eW5ld3N0YXRl
OwotCi0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0uCi18IHl5ZGVmYXVsdCAtLSBkbyB0aGUgZGVmYXVsdCBhY3Rpb24gZm9yIHRo
ZSBjdXJyZW50IHN0YXRlLiAgfAotYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLXl5ZGVmYXVsdDoKLSAgeXluID0geXlkZWZhY3Rb
eXlzdGF0ZV07Ci0gIGlmICh5eW4gPT0gMCkKLSAgICBnb3RvIHl5ZXJybGFiOwotICBnb3RvIHl5
cmVkdWNlOwotCi0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCi18IHl5cmVkdWNl
IC0tIGRvIGEgcmVkdWN0aW9uLiAgfAotYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8K
LXl5cmVkdWNlOgotICAvKiB5eW4gaXMgdGhlIG51bWJlciBvZiBhIHJ1bGUgdG8gcmVkdWNlIHdp
dGguICAqLwotICB5eWxlbiA9IHl5cjJbeXluXTsKLQotICAvKiBJZiBZWUxFTiBpcyBub256ZXJv
LCBpbXBsZW1lbnQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGFjdGlvbjoKLSAgICAgJyQkID0g
JDEnLgotCi0gICAgIE90aGVyd2lzZSwgdGhlIGZvbGxvd2luZyBsaW5lIHNldHMgWVlWQUwgdG8g
Z2FyYmFnZS4KLSAgICAgVGhpcyBiZWhhdmlvciBpcyB1bmRvY3VtZW50ZWQgYW5kIEJpc29uCi0g
ICAgIHVzZXJzIHNob3VsZCBub3QgcmVseSB1cG9uIGl0LiAgQXNzaWduaW5nIHRvIFlZVkFMCi0g
ICAgIHVuY29uZGl0aW9uYWxseSBtYWtlcyB0aGUgcGFyc2VyIGEgYml0IHNtYWxsZXIsIGFuZCBp
dCBhdm9pZHMgYQotICAgICBHQ0Mgd2FybmluZyB0aGF0IFlZVkFMIG1heSBiZSB1c2VkIHVuaW5p
dGlhbGl6ZWQuICAqLwotICB5eXZhbCA9IHl5dnNwWzEteXlsZW5dOwotCi1dYjRfbG9jYXRpb25z
X2lmKAotW1sgIC8qIERlZmF1bHQgbG9jYXRpb24uICovCi0gIFlZTExPQ19ERUZBVUxUICh5eWxv
YywgKHl5bHNwIC0geXlsZW4pLCB5eWxlbik7Ci0gIHl5ZXJyb3JfcmFuZ2VbMV0gPSB5eWxvYztd
XSlbCi0gIFlZX1JFRFVDRV9QUklOVCAoeXluKTtdYjRfbGFjX2lmKFtbCi0gIHsKLSAgICBpbnQg
eXljaGFyX2JhY2t1cCA9IHl5Y2hhcjsKLSAgICBzd2l0Y2ggKHl5bikKLSAgICAgIHsKLV1iNF91
c2VyX2FjdGlvbnNbCi0gICAgICAgIGRlZmF1bHQ6IGJyZWFrOwotICAgICAgfQotICAgIGlmICh5
eWNoYXJfYmFja3VwICE9IHl5Y2hhcikKLSAgICAgIFlZX0xBQ19ESVNDQVJEICgieXljaGFyIGNo
YW5nZSIpOwotICB9XV0sIFtbCi0gIHN3aXRjaCAoeXluKQotICAgIHsKLSAgICAgIF1iNF91c2Vy
X2FjdGlvbnNbCi0gICAgICBkZWZhdWx0OiBicmVhazsKLSAgICB9XV0pWwotICAvKiBVc2VyIHNl
bWFudGljIGFjdGlvbnMgc29tZXRpbWVzIGFsdGVyIHl5Y2hhciwgYW5kIHRoYXQgcmVxdWlyZXMK
LSAgICAgdGhhdCB5eXRva2VuIGJlIHVwZGF0ZWQgd2l0aCB0aGUgbmV3IHRyYW5zbGF0aW9uLiAg
V2UgdGFrZSB0aGUKLSAgICAgYXBwcm9hY2ggb2YgdHJhbnNsYXRpbmcgaW1tZWRpYXRlbHkgYmVm
b3JlIGV2ZXJ5IHVzZSBvZiB5eXRva2VuLgotICAgICBPbmUgYWx0ZXJuYXRpdmUgaXMgdHJhbnNs
YXRpbmcgaGVyZSBhZnRlciBldmVyeSBzZW1hbnRpYyBhY3Rpb24sCi0gICAgIGJ1dCB0aGF0IHRy
YW5zbGF0aW9uIHdvdWxkIGJlIG1pc3NlZCBpZiB0aGUgc2VtYW50aWMgYWN0aW9uIGludm9rZXMK
LSAgICAgWVlBQk9SVCwgWVlBQ0NFUFQsIG9yIFlZRVJST1IgaW1tZWRpYXRlbHkgYWZ0ZXIgYWx0
ZXJpbmcgeXljaGFyIG9yCi0gICAgIGlmIGl0IGludm9rZXMgWVlCQUNLVVAuICBJbiB0aGUgY2Fz
ZSBvZiBZWUFCT1JUIG9yIFlZQUNDRVBULCBhbgotICAgICBpbmNvcnJlY3QgZGVzdHJ1Y3RvciBt
aWdodCB0aGVuIGJlIGludm9rZWQgaW1tZWRpYXRlbHkuICBJbiB0aGUKLSAgICAgY2FzZSBvZiBZ
WUVSUk9SIG9yIFlZQkFDS1VQLCBzdWJzZXF1ZW50IHBhcnNlciBhY3Rpb25zIG1pZ2h0IGxlYWQK
LSAgICAgdG8gYW4gaW5jb3JyZWN0IGRlc3RydWN0b3IgY2FsbCBvciB2ZXJib3NlIHN5bnRheCBl
cnJvciBtZXNzYWdlCi0gICAgIGJlZm9yZSB0aGUgbG9va2FoZWFkIGlzIHRyYW5zbGF0ZWQuICAq
LwotICBZWV9TWU1CT0xfUFJJTlQgKCItPiAkJCA9IiwgeXlyMVt5eW5dLCAmeXl2YWwsICZ5eWxv
Yyk7Ci0KLSAgWVlQT1BTVEFDSyAoeXlsZW4pOwotICB5eWxlbiA9IDA7Ci0gIFlZX1NUQUNLX1BS
SU5UICh5eXNzLCB5eXNzcCk7Ci0KLSAgKisreXl2c3AgPSB5eXZhbDtdYjRfbG9jYXRpb25zX2lm
KFsKLSAgKisreXlsc3AgPSB5eWxvYztdKVsKLQotICAvKiBOb3cgJ3NoaWZ0JyB0aGUgcmVzdWx0
IG9mIHRoZSByZWR1Y3Rpb24uICBEZXRlcm1pbmUgd2hhdCBzdGF0ZQotICAgICB0aGF0IGdvZXMg
dG8sIGJhc2VkIG9uIHRoZSBzdGF0ZSB3ZSBwb3BwZWQgYmFjayB0byBhbmQgdGhlIHJ1bGUKLSAg
ICAgbnVtYmVyIHJlZHVjZWQgYnkuICAqLwotICB7Ci0gICAgY29uc3QgaW50IHl5bGhzID0geXly
MVt5eW5dIC0gWVlOVE9LRU5TOwotICAgIGNvbnN0IGludCB5eWkgPSB5eXBnb3RvW3l5bGhzXSAr
ICp5eXNzcDsKLSAgICB5eXN0YXRlID0gKDAgPD0geXlpICYmIHl5aSA8PSBZWUxBU1QgJiYgeXlj
aGVja1t5eWldID09ICp5eXNzcAotICAgICAgICAgICAgICAgPyB5eXRhYmxlW3l5aV0KLSAgICAg
ICAgICAgICAgIDogeXlkZWZnb3RvW3l5bGhzXSk7Ci0gIH0KLQotICBnb3RvIHl5bmV3c3RhdGU7
Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KLXwgeXllcnJs
YWIgLS0gaGVyZSBvbiBkZXRlY3RpbmcgZXJyb3IuICB8Ci1gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0qLwoteXllcnJsYWI6Ci0gIC8qIE1ha2Ugc3VyZSB3ZSBoYXZlIGxh
dGVzdCBsb29rYWhlYWQgdHJhbnNsYXRpb24uICBTZWUgY29tbWVudHMgYXQKLSAgICAgdXNlciBz
ZW1hbnRpYyBhY3Rpb25zIGZvciB3aHkgdGhpcyBpcyBuZWNlc3NhcnkuICAqLwotICB5eXRva2Vu
ID0geXljaGFyID09IFlZRU1QVFkgPyBZWUVNUFRZIDogWVlUUkFOU0xBVEUgKHl5Y2hhcik7Ci0K
LSAgLyogSWYgbm90IGFscmVhZHkgcmVjb3ZlcmluZyBmcm9tIGFuIGVycm9yLCByZXBvcnQgdGhp
cyBlcnJvci4gICovCi0gIGlmICgheXllcnJzdGF0dXMpCi0gICAgewotICAgICAgKyt5eW5lcnJz
OwotI2lmICEgWVlFUlJPUl9WRVJCT1NFCi0gICAgICB5eWVycm9yIChdYjRfeXllcnJvcl9hcmdz
W1lZXygic3ludGF4IGVycm9yIikpOwotI2Vsc2UKLSMgZGVmaW5lIFlZU1lOVEFYX0VSUk9SIHl5
c3ludGF4X2Vycm9yICgmeXltc2dfYWxsb2MsICZ5eW1zZywgXF1iNF9sYWNfaWYoW1sKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5eWVzYSwgJnl5ZXMsICZ5eWVzX2Nh
cGFjaXR5LCBcXV0pWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHl5
c3NwLCB5eXRva2VuKQotICAgICAgewotICAgICAgICBjaGFyIGNvbnN0ICp5eW1zZ3AgPSBZWV8o
InN5bnRheCBlcnJvciIpOwotICAgICAgICBpbnQgeXlzeW50YXhfZXJyb3Jfc3RhdHVzO11iNF9s
YWNfaWYoW1sKLSAgICAgICAgaWYgKHl5Y2hhciAhPSBZWUVNUFRZKQotICAgICAgICAgIFlZX0xB
Q19FU1RBQkxJU0g7XV0pWwotICAgICAgICB5eXN5bnRheF9lcnJvcl9zdGF0dXMgPSBZWVNZTlRB
WF9FUlJPUjsKLSAgICAgICAgaWYgKHl5c3ludGF4X2Vycm9yX3N0YXR1cyA9PSAwKQotICAgICAg
ICAgIHl5bXNncCA9IHl5bXNnOwotICAgICAgICBlbHNlIGlmICh5eXN5bnRheF9lcnJvcl9zdGF0
dXMgPT0gMSkKLSAgICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoeXltc2cgIT0geXltc2didWYp
Ci0gICAgICAgICAgICAgIFlZU1RBQ0tfRlJFRSAoeXltc2cpOwotICAgICAgICAgICAgeXltc2cg
PSAoY2hhciAqKSBZWVNUQUNLX0FMTE9DICh5eW1zZ19hbGxvYyk7Ci0gICAgICAgICAgICBpZiAo
IXl5bXNnKQotICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgeXltc2cgPSB5eW1zZ2J1
ZjsKLSAgICAgICAgICAgICAgICB5eW1zZ19hbGxvYyA9IHNpemVvZiB5eW1zZ2J1ZjsKLSAgICAg
ICAgICAgICAgICB5eXN5bnRheF9lcnJvcl9zdGF0dXMgPSAyOwotICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB5eXN5bnRh
eF9lcnJvcl9zdGF0dXMgPSBZWVNZTlRBWF9FUlJPUjsKLSAgICAgICAgICAgICAgICB5eW1zZ3Ag
PSB5eW1zZzsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgIH0KLSAgICAgICAgeXllcnJvciAo
XWI0X3l5ZXJyb3JfYXJnc1t5eW1zZ3ApOwotICAgICAgICBpZiAoeXlzeW50YXhfZXJyb3Jfc3Rh
dHVzID09IDIpCi0gICAgICAgICAgZ290byB5eWV4aGF1c3RlZGxhYjsKLSAgICAgIH0KLSMgdW5k
ZWYgWVlTWU5UQVhfRVJST1IKLSNlbmRpZgotICAgIH0KLQotXWI0X2xvY2F0aW9uc19pZihbWyAg
eXllcnJvcl9yYW5nZVsxXSA9IHl5bGxvYztdXSlbCi0KLSAgaWYgKHl5ZXJyc3RhdHVzID09IDMp
Ci0gICAgewotICAgICAgLyogSWYganVzdCB0cmllZCBhbmQgZmFpbGVkIHRvIHJldXNlIGxvb2th
aGVhZCB0b2tlbiBhZnRlciBhbgotICAgICAgICAgZXJyb3IsIGRpc2NhcmQgaXQuICAqLwotCi0g
ICAgICBpZiAoeXljaGFyIDw9IFlZRU9GKQotICAgICAgICB7Ci0gICAgICAgICAgLyogUmV0dXJu
IGZhaWx1cmUgaWYgYXQgZW5kIG9mIGlucHV0LiAgKi8KLSAgICAgICAgICBpZiAoeXljaGFyID09
IFlZRU9GKQotICAgICAgICAgICAgWVlBQk9SVDsKLSAgICAgICAgfQotICAgICAgZWxzZQotICAg
ICAgICB7Ci0gICAgICAgICAgeXlkZXN0cnVjdCAoIkVycm9yOiBkaXNjYXJkaW5nIiwKLSAgICAg
ICAgICAgICAgICAgICAgICB5eXRva2VuLCAmeXlsdmFsXWI0X2xvY2F0aW9uc19pZihbLCAmeXls
bG9jXSlbXWI0X3VzZXJfYXJnc1spOwotICAgICAgICAgIHl5Y2hhciA9IFlZRU1QVFk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgLyogRWxzZSB3aWxsIHRyeSB0byByZXVzZSBsb29rYWhlYWQgdG9r
ZW4gYWZ0ZXIgc2hpZnRpbmcgdGhlIGVycm9yCi0gICAgIHRva2VuLiAgKi8KLSAgZ290byB5eWVy
cmxhYjE7Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0uCi18IHl5ZXJyb3JsYWIgLS0gZXJyb3IgcmFpc2VkIGV4cGxpY2l0bHkgYnkgWVlF
UlJPUi4gIHwKLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0qLwoteXllcnJvcmxhYjoKLSAgLyogUGFjaWZ5IGNvbXBpbGVycyB3aGVuIHRoZSB1c2Vy
IGNvZGUgbmV2ZXIgaW52b2tlcyBZWUVSUk9SIGFuZCB0aGUKLSAgICAgbGFiZWwgeXllcnJvcmxh
YiB0aGVyZWZvcmUgbmV2ZXIgYXBwZWFycyBpbiB1c2VyIGNvZGUuICAqLwotICBpZiAoMCkKLSAg
ICBZWUVSUk9SOwotCi0gIC8qIERvIG5vdCByZWNsYWltIHRoZSBzeW1ib2xzIG9mIHRoZSBydWxl
IHdob3NlIGFjdGlvbiB0cmlnZ2VyZWQKLSAgICAgdGhpcyBZWUVSUk9SLiAgKi8KLSAgWVlQT1BT
VEFDSyAoeXlsZW4pOwotICB5eWxlbiA9IDA7Ci0gIFlZX1NUQUNLX1BSSU5UICh5eXNzLCB5eXNz
cCk7Ci0gIHl5c3RhdGUgPSAqeXlzc3A7Ci0gIGdvdG8geXllcnJsYWIxOwotCi0KLS8qLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4K
LXwgeXllcnJsYWIxIC0tIGNvbW1vbiBjb2RlIGZvciBib3RoIHN5bnRheCBlcnJvciBhbmQgWVlF
UlJPUi4gIHwKLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKi8KLXl5ZXJybGFiMToKLSAgeXllcnJzdGF0dXMgPSAzOyAgICAgIC8q
IEVhY2ggcmVhbCB0b2tlbiBzaGlmdGVkIGRlY3JlbWVudHMgdGhpcy4gICovCi0KLSAgZm9yICg7
OykKLSAgICB7Ci0gICAgICB5eW4gPSB5eXBhY3RbeXlzdGF0ZV07Ci0gICAgICBpZiAoIXl5cGFj
dF92YWx1ZV9pc19kZWZhdWx0ICh5eW4pKQotICAgICAgICB7Ci0gICAgICAgICAgeXluICs9IFlZ
VEVSUk9SOwotICAgICAgICAgIGlmICgwIDw9IHl5biAmJiB5eW4gPD0gWVlMQVNUICYmIHl5Y2hl
Y2tbeXluXSA9PSBZWVRFUlJPUikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgeXluID0g
eXl0YWJsZVt5eW5dOwotICAgICAgICAgICAgICBpZiAoMCA8IHl5bikKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAvKiBQb3AgdGhlIGN1
cnJlbnQgc3RhdGUgYmVjYXVzZSBpdCBjYW5ub3QgaGFuZGxlIHRoZSBlcnJvciB0b2tlbi4gICov
Ci0gICAgICBpZiAoeXlzc3AgPT0geXlzcykKLSAgICAgICAgWVlBQk9SVDsKLQotXWI0X2xvY2F0
aW9uc19pZihbWyAgICAgIHl5ZXJyb3JfcmFuZ2VbMV0gPSAqeXlsc3A7XV0pWwotICAgICAgeXlk
ZXN0cnVjdCAoIkVycm9yOiBwb3BwaW5nIiwKLSAgICAgICAgICAgICAgICAgIHl5c3Rvc1t5eXN0
YXRlXSwgeXl2c3BdYjRfbG9jYXRpb25zX2lmKFssIHl5bHNwXSlbXWI0X3VzZXJfYXJnc1spOwot
ICAgICAgWVlQT1BTVEFDSyAoMSk7Ci0gICAgICB5eXN0YXRlID0gKnl5c3NwOwotICAgICAgWVlf
U1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKLSAgICB9XWI0X2xhY19pZihbWwotCi0gIC8qIElm
IHRoZSBzdGFjayBwb3BwaW5nIGFib3ZlIGRpZG4ndCBsb3NlIHRoZSBpbml0aWFsIGNvbnRleHQg
Zm9yIHRoZQotICAgICBjdXJyZW50IGxvb2thaGVhZCB0b2tlbiwgdGhlIHNoaWZ0IGJlbG93IHdp
bGwgZm9yIHN1cmUuICAqLwotICBZWV9MQUNfRElTQ0FSRCAoImVycm9yIHJlY292ZXJ5Iik7XV0p
WwotCi0gIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOCi0gICorK3l5dnNwID0g
eXlsdmFsOwotICBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9FTkQKLV1iNF9sb2NhdGlv
bnNfaWYoW1sKLSAgeXllcnJvcl9yYW5nZVsyXSA9IHl5bGxvYzsKLSAgLyogVXNpbmcgWVlMTE9D
IGlzIHRlbXB0aW5nLCBidXQgd291bGQgY2hhbmdlIHRoZSBsb2NhdGlvbiBvZgotICAgICB0aGUg
bG9va2FoZWFkLiAgWVlMT0MgaXMgYXZhaWxhYmxlIHRob3VnaC4gICovCi0gIFlZTExPQ19ERUZB
VUxUICh5eWxvYywgeXllcnJvcl9yYW5nZSwgMik7Ci0gICorK3l5bHNwID0geXlsb2M7XV0pWwot
Ci0gIC8qIFNoaWZ0IHRoZSBlcnJvciB0b2tlbi4gICovCi0gIFlZX1NZTUJPTF9QUklOVCAoIlNo
aWZ0aW5nIiwgeXlzdG9zW3l5bl0sIHl5dnNwLCB5eWxzcCk7Ci0KLSAgeXlzdGF0ZSA9IHl5bjsK
LSAgZ290byB5eW5ld3N0YXRlOwotCi0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS4KLXwgeXlhY2NlcHRsYWIgLS0gWVlBQ0NFUFQgY29tZXMgaGVyZS4gIHwKLWAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLXl5YWNjZXB0bGFiOgotICB5eXJl
c3VsdCA9IDA7Ci0gIGdvdG8geXlyZXR1cm47Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS4KLXwgeXlhYm9ydGxhYiAtLSBZWUFCT1JUIGNvbWVzIGhlcmUuICB8Ci1g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoteXlhYm9ydGxhYjoKLSAgeXly
ZXN1bHQgPSAxOwotICBnb3RvIHl5cmV0dXJuOwotCi0KLSNpZiBdYjRfbGFjX2lmKFtbMV1dLCBb
WyFkZWZpbmVkIHl5b3ZlcmZsb3cgfHwgWVlFUlJPUl9WRVJCT1NFXV0pWwotLyotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgotfCB5eWV4aGF1c3RlZGxh
YiAtLSBtZW1vcnkgZXhoYXVzdGlvbiBjb21lcyBoZXJlLiAgfAotYC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoteXlleGhhdXN0ZWRsYWI6Ci0gIHl5
ZXJyb3IgKF1iNF95eWVycm9yX2FyZ3NbWVlfKCJtZW1vcnkgZXhoYXVzdGVkIikpOwotICB5eXJl
c3VsdCA9IDI7Ci0gIC8qIEZhbGwgdGhyb3VnaC4gICovCi0jZW5kaWYKLQotCi0vKi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgotfCB5eXJldHVy
biAtLSBwYXJzaW5nIGlzIGZpbmlzaGVkLCByZXR1cm4gdGhlIHJlc3VsdC4gIHwKLWAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi15eXJldHVy
bjoKLSAgaWYgKHl5Y2hhciAhPSBZWUVNUFRZKQotICAgIHsKLSAgICAgIC8qIE1ha2Ugc3VyZSB3
ZSBoYXZlIGxhdGVzdCBsb29rYWhlYWQgdHJhbnNsYXRpb24uICBTZWUgY29tbWVudHMgYXQKLSAg
ICAgICAgIHVzZXIgc2VtYW50aWMgYWN0aW9ucyBmb3Igd2h5IHRoaXMgaXMgbmVjZXNzYXJ5LiAg
Ki8KLSAgICAgIHl5dG9rZW4gPSBZWVRSQU5TTEFURSAoeXljaGFyKTsKLSAgICAgIHl5ZGVzdHJ1
Y3QgKCJDbGVhbnVwOiBkaXNjYXJkaW5nIGxvb2thaGVhZCIsCi0gICAgICAgICAgICAgICAgICB5
eXRva2VuLCAmeXlsdmFsXWI0X2xvY2F0aW9uc19pZihbLCAmeXlsbG9jXSlbXWI0X3VzZXJfYXJn
c1spOwotICAgIH0KLSAgLyogRG8gbm90IHJlY2xhaW0gdGhlIHN5bWJvbHMgb2YgdGhlIHJ1bGUg
d2hvc2UgYWN0aW9uIHRyaWdnZXJlZAotICAgICB0aGlzIFlZQUJPUlQgb3IgWVlBQ0NFUFQuICAq
LwotICBZWVBPUFNUQUNLICh5eWxlbik7Ci0gIFlZX1NUQUNLX1BSSU5UICh5eXNzLCB5eXNzcCk7
Ci0gIHdoaWxlICh5eXNzcCAhPSB5eXNzKQotICAgIHsKLSAgICAgIHl5ZGVzdHJ1Y3QgKCJDbGVh
bnVwOiBwb3BwaW5nIiwKLSAgICAgICAgICAgICAgICAgIHl5c3Rvc1sqeXlzc3BdLCB5eXZzcF1i
NF9sb2NhdGlvbnNfaWYoWywgeXlsc3BdKVtdYjRfdXNlcl9hcmdzWyk7Ci0gICAgICBZWVBPUFNU
QUNLICgxKTsKLSAgICB9Ci0jaWZuZGVmIHl5b3ZlcmZsb3cKLSAgaWYgKHl5c3MgIT0geXlzc2Ep
Ci0gICAgWVlTVEFDS19GUkVFICh5eXNzKTsKLSNlbmRpZl1iNF9sYWNfaWYoW1sKLSAgaWYgKHl5
ZXMgIT0geXllc2EpCi0gICAgWVlTVEFDS19GUkVFICh5eWVzKTtdXSliNF9wdXNoX2lmKFtbCi0g
IHl5cHMtPnl5bmV3ID0gMTsKLQotCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLgotfCB5eXB1c2hyZXR1cm4gLS0gYXNrIGZvciB0aGUgbmV4dCB0b2tlbi4gIHwK
LWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi15eXB1c2hyZXR1
cm46XV0pWwotI2lmIFlZRVJST1JfVkVSQk9TRQotICBpZiAoeXltc2cgIT0geXltc2didWYpCi0g
ICAgWVlTVEFDS19GUkVFICh5eW1zZyk7Ci0jZW5kaWYKLSAgcmV0dXJuIHl5cmVzdWx0OwotfQot
XWI0X2VwaWxvZ3VlW11kbmwKLWI0X291dHB1dF9lbmQKLQotYjRfZGVmaW5lc19pZihbWwotXWI0
X291dHB1dF9iZWdpbihbYjRfc3BlY19kZWZpbmVzX2ZpbGVdKVsKLV1iNF9jb3B5cmlnaHQoW0Jp
c29uIGludGVyZmFjZSBmb3IgWWFjYy1saWtlIHBhcnNlcnMgaW4gQ10pWwotXWI0X2Rpc2NsYWlt
ZXJbCi1dYjRfc2hhcmVkX2RlY2xhcmF0aW9uc1sKLV1iNF9vdXRwdXRfZW5kWwotXV0pIyBiNF9k
ZWZpbmVzX2lmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL3VwZGF0ZV9mbGV4X2Jpc29uX2JpbmFyaWVzLnB5IGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvdG9vbHMvZmxleC1iaXNvbi91cGRhdGVfZmxleF9iaXNvbl9iaW5hcmllcy5weQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggOTljMDAyYjA0ZTc4OTMyMzhiNDA4ZWVmZWYzZDNj
N2Q4NzE1NmZiYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3VwZGF0ZV9mbGV4X2Jp
c29uX2JpbmFyaWVzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotIyEvdXNyL2Jp
bi9weXRob24yCi0jCi0jIENvcHlyaWdodCAyMDE5IFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSMgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLSMKLSMgdXBkYXRlX2ZsZXhfYmlzb25fYmluYXJpZXMucHk6Ci0jICAgSGVs
cGVyIHNjcmlwdCB0byB1cGRhdGUgdGhlIHZlcnNpb24gb2YgZmxleCBhbmQgYmlzb24gaW4gY2xv
dWQgc3RvcmFnZS4KLSMgICBUaGVzZSBiaW5hcmllcyBhcmUgdXNlZCB0byBnZW5lcmF0ZSB0aGUg
QU5HTEUgdHJhbnNsYXRvcidzIGxleGVyIGFuZCBwYXJzZXIuCi0jICAgVGhpcyBzY3JpcHQgcmVs
aWVzIG9uIGZsZXggYW5kIGJpc29uIGJpbmFyaWVzIHRvIGJlIGV4dGVybmFsbHkgYnVpbHQgd2hp
Y2gKLSMgICBpcyBleHBlY3RlZCB0byBiZSBhIHJhcmUgb3BlcmF0aW9uLiBJdCBjdXJyZW50bHkg
b25seSB3b3JrcyBvbiBXaW5kb3dzIGFuZAotIyAgIExpbnV4LiBJdCBhbHNvIHdpbGwgdXBkYXRl
IHRoZSBoYXNoZXMgc3RvcmVkIGluIHRoZSB0cmVlLiBGb3IgbW9yZSBpbmZvIHNlZQotIyAgIFJF
QURNRS5tZCBpbiB0aGlzIGZvbGRlci4KLQotaW1wb3J0IG9zCi1pbXBvcnQgcGxhdGZvcm0KLWlt
cG9ydCBzaHV0aWwKLWltcG9ydCBzeXMKLQotc3lzLnBhdGguYXBwZW5kKCd0b29scy8nKQotaW1w
b3J0IGFuZ2xlX3Rvb2xzCi0KLQotZGVmIG1haW4oKToKLSAgICBpZiBhbmdsZV90b29scy5pc19s
aW51eDoKLSAgICAgICAgc3ViZGlyID0gJ2xpbnV4JwotICAgICAgICBmaWxlcyA9IFsnZmxleCcs
ICdiaXNvbiddCi0gICAgZWxpZiBhbmdsZV90b29scy5pc193aW5kb3dzOgotICAgICAgICBzdWJk
aXIgPSAnd2luZG93cycKLSAgICAgICAgZmlsZXMgPSBbCi0gICAgICAgICAgICAnZmxleC5leGUn
LCAnYmlzb24uZXhlJywgJ200LmV4ZScsICdtc3lzLTIuMC5kbGwnLCAnbXN5cy1pY29udi0yLmRs
bCcsCi0gICAgICAgICAgICAnbXN5cy1pbnRsLTguZGxsJwotICAgICAgICBdCi0gICAgZWxzZToK
LSAgICAgICAgcHJpbnQoJ1NjcmlwdCBtdXN0IGJlIHJ1biBvbiBMaW51eCBvciBXaW5kb3dzLicp
Ci0gICAgICAgIHJldHVybiAxCi0KLSAgICBmaWxlcyA9IFtvcy5wYXRoLmpvaW4oc3lzLnBhdGhb
MF0sIHN1YmRpciwgZikgZm9yIGYgaW4gZmlsZXNdCi0KLSAgICAjIFN0ZXAgMTogVXBsb2FkIHRv
IGNsb3VkIHN0b3JhZ2UKLSAgICBpZiBub3QgYW5nbGVfdG9vbHMudXBsb2FkX3RvX2dvb2dsZV9z
dG9yYWdlKCdhbmdsZS1mbGV4LWJpc29uJywgZmlsZXMpOgotICAgICAgICBwcmludCgnRXJyb3Ig
dXBsb2FkIHRvIGNsb3VkIHN0b3JhZ2UnKQotICAgICAgICByZXR1cm4gMQotCi0gICAgIyBTdGVw
IDI6IFN0YWdlIG5ldyBTSEEgdG8gZ2l0Ci0gICAgaWYgbm90IGFuZ2xlX3Rvb2xzLnN0YWdlX2dv
b2dsZV9zdG9yYWdlX3NoYTEoZmlsZXMpOgotICAgICAgICBwcmludCgnRXJyb3IgcnVubmluZyBn
aXQgYWRkJykKLSAgICAgICAgcmV0dXJuIDIKLQotICAgIHByaW50KCcnKQotICAgIHByaW50KCdU
aGUgdXBkYXRlZCBTSEEgaGFzIGJlZW4gc3RhZ2VkIGZvciBjb21taXQuIFBsZWFzZSBjb21taXQg
YW5kIHVwbG9hZC4nKQotICAgIHByaW50KCdTdWdnZXN0ZWQgY29tbWl0IG1lc3NhZ2UgKHBsZWFz
ZSBpbmRpY2F0ZSBmbGV4L2Jpc29uIHZlcnNpb25zKTonKQotICAgIHByaW50KCctLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tJykKLSAgICBwcmludCgnJykKLSAgICBwcmludCgnVXBkYXRlIGZs
ZXggYW5kIGJpc29uIGJpbmFyaWVzIGZvciAlcy4nICUgcGxhdGZvcm0uc3lzdGVtKCkpCi0gICAg
cHJpbnQoJycpCi0gICAgcHJpbnQoJ1RoZXNlIGJpbmFyaWVzIHdlcmUgdXBkYXRlZCB1c2luZyAl
cy4nICUgb3MucGF0aC5iYXNlbmFtZShfX2ZpbGVfXykpCi0gICAgcHJpbnQoJ1BsZWFzZSBzZWUg
aW5zdHJ1Y3Rpb25zIGluIHRvb2xzL2ZsZXgtYmlzb24vUkVBRE1FLm1kLicpCi0gICAgcHJpbnQo
JycpCi0gICAgcHJpbnQoJ2ZsZXggaXMgYXQgdmVyc2lvbiBUT0RPLicpCi0gICAgcHJpbnQoJ2Jp
c29uIGlzIGF0IHZlcnNpb24gVE9ETy4nKQotICAgIHByaW50KCcnKQotICAgIHByaW50KCdCdWc6
IE5vbmUnKQotCi0gICAgcmV0dXJuIDAKLQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgot
ICAgIHN5cy5leGl0KG1haW4oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9iaXNvbi5leGUuc2hhMSBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9iaXNvbi5leGUuc2hhMQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGNiNWY0ZmI1YmIwYjFkMzViMzIyMTU0YjQ0NjU4ZjUz
Njk0NGI2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvYmlzb24uZXhl
LnNoYTEKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi00YTZlMWRjZWQ2MWRhYjJmY2Q4Mjhl
ZGJmYmZhN2ViMDIxNWNmMmE0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL2ZsZXgu
ZXhlLnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRv
d3MvZmxleC5leGUuc2hhMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmFhNzhlZGNh
ZmVkZWUwMjFlM2MyNzc4ODM5OTg2YjE4MzlmNjBjYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL3dpbmRvd3MvZmxleC5leGUuc2hhMQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAK
LWJjNTBiM2I2ZTg0YTMwOTQwYWExMjIzZjY5MmM5ZjFmYzliZWRiZjkKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9m
bGV4LWJpc29uL3dpbmRvd3MvbTQuZXhlLnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90
b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbTQuZXhlLnNoYTEKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDU2NDNkZmIzYjA1NmMyZmYyYWU0YmE0NzYzYWJlOTdmNTA1NzFkOWYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL200LmV4ZS5zaGExCisrKyAvZGV2L251
bGwKQEAgLTEgKzAsMCBAQAotMDY4MzZlNDViMDVkNTk3ZDU2Yjc0ZmViZTNiY2ZkNzZlODBlZjhm
OApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9tc3lzLTIuMC5kbGwuc2hhMSBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9tc3lzLTIuMC5k
bGwuc2hhMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTgzNTJjNzQ2MzViZmQwODhm
OTJjOWZhMzJjMWVkMzA0OGUwMzA5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dp
bmRvd3MvbXN5cy0yLjAuZGxsLnNoYTEKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1kMGJl
YWI3ZWM3N2IyNWFjNzFiZDJkM2JmNTRmNGVmZDM5ZTM5NDdmClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1i
aXNvbi93aW5kb3dzL21zeXMtaWNvbnYtMi5kbGwuc2hhMSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9tc3lzLWljb252LTIuZGxsLnNoYTEKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1MmJjNGI0MmI5NjRiMzlmMWVlOTUwZjdhYjlhMzFi
NWY4OWVlM2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtaWNv
bnYtMi5kbGwuc2hhMQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTA1NzlmMTU2M2UyMjBk
NjEyMWI2NWE1ZjQ3Mjk5MTljZDBjYjZhZjkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRv
d3MvbXN5cy1pbnRsLTguZGxsLnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9m
bGV4LWJpc29uL3dpbmRvd3MvbXN5cy1pbnRsLTguZGxsLnNoYTEKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGE3MzU5MjExM2YxMmU3ZWUyZmZiNTgyYWFiNDFlYjRiZWMzOWFlMGEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtaW50bC04LmRsbC5zaGEx
CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotMjEyYTllZjkwZTIxYTk4ZmY1N2NhMzAxYTYw
Yzg0Y2JlY2E3YmUyOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390460</attachid>
            <date>2020-02-11 16:26:47 -0800</date>
            <delta_ts>2020-02-11 16:27:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207597-20200211162646.patch</filename>
            <type>text/plain</type>
            <size>744515</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZjYzZmIzZTk5ZGQ5YWI5Njg5OGU0MzUzODhkYmIyOTYxNWUzYWIxMi4uYjI5MzdkNjM0MmIw
ZjkwYzM4NzA0MjE4Mjc2ZDcwZmUwNThmYmZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTAyLTExICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KKworICAgICAgICBBTkdMRSBoYXMgdW51c2VkIGJpc29uIGFuZCBnbG1hcmsyIGNvZGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzU5Nwor
ICAgICAgICByZGFyOi8vNTkzNjE0NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgc29tZSB1bnVzZWQgZmlsZXMuCisKKyAgICAgICAgKiBj
aGFuZ2VzLmRpZmY6CisgICAgICAgICogc3JjL3Rlc3RzL3BlcmZfdGVzdHMvZ2xtYXJrMkJlbmNo
bWFyay5jcHA6IFJlbW92ZWQuCisgICAgICAgICogdGhpcmRfcGFydHkvZ2xtYXJrMi9CVUlMRC5n
bjogUmVtb3ZlZC4KKyAgICAgICAgKiB0aGlyZF9wYXJ0eS9nbG1hcmsyL1JFQURNRS5hbmdsZTog
UmVtb3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL1JFQURNRS5tZDogUmVtb3ZlZC4K
KyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL2xpbnV4L2Jpc29uLnNoYTE6IFJlbW92ZWQuCisg
ICAgICAgICogdG9vbHMvZmxleC1iaXNvbi9saW51eC9mbGV4LnNoYTE6IFJlbW92ZWQuCisgICAg
ICAgICogdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS8uZ2l0YXR0cmlidXRlczogUmVtb3Zl
ZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3VnYXIvTElDRU5T
RTogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3Vn
YXIvUkVBRE1FLmNocm9taXVtOiBSZW1vdmVkLgorICAgICAgICAqIHRvb2xzL2ZsZXgtYmlzb24v
dGhpcmRfcGFydHkvbTRzdWdhci9mb3JlYWNoLm00OiBSZW1vdmVkLgorICAgICAgICAqIHRvb2xz
L2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9tNHN1Z2FyLm00OiBSZW1vdmVkLgorICAg
ICAgICAqIHRvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL0xJQ0VOU0U6IFJl
bW92ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMv
UkVBRE1FLmNocm9taXVtOiBSZW1vdmVkLgorICAgICAgICAqIHRvb2xzL2ZsZXgtYmlzb24vdGhp
cmRfcGFydHkvc2tlbGV0b25zL2Jpc29uLm00OiBSZW1vdmVkLgorICAgICAgICAqIHRvb2xzL2Zs
ZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2MtbGlrZS5tNDogUmVtb3ZlZC4KKyAgICAg
ICAgKiB0b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9jLm00OiBSZW1vdmVk
LgorICAgICAgICAqIHRvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL3lhY2Mu
YzogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL3VwZGF0ZV9mbGV4X2Jpc29u
X2JpbmFyaWVzLnB5OiBSZW1vdmVkLgorICAgICAgICAqIHRvb2xzL2ZsZXgtYmlzb24vd2luZG93
cy9iaXNvbi5leGUuc2hhMTogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29uL3dp
bmRvd3MvZmxleC5leGUuc2hhMTogUmVtb3ZlZC4KKyAgICAgICAgKiB0b29scy9mbGV4LWJpc29u
L3dpbmRvd3MvbTQuZXhlLnNoYTE6IFJlbW92ZWQuCisgICAgICAgICogdG9vbHMvZmxleC1iaXNv
bi93aW5kb3dzL21zeXMtMi4wLmRsbC5zaGExOiBSZW1vdmVkLgorICAgICAgICAqIHRvb2xzL2Zs
ZXgtYmlzb24vd2luZG93cy9tc3lzLWljb252LTIuZGxsLnNoYTE6IFJlbW92ZWQuCisgICAgICAg
ICogdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtaW50bC04LmRsbC5zaGExOiBSZW1vdmVk
LgorCiAyMDIwLTAyLTA5ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZS1lbmFibGUgTFRPIGZvciBBUk0gYnVpbGRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9jaGFuZ2VzLmRpZmYgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9jaGFu
Z2VzLmRpZmYKaW5kZXggNzg3MzBjODgzNmM3ZmJjMjY3ZmVmYWMxYmMzNmYzZTliMDhjNjkxYy4u
Njg3NWJlODA0NGRmMTk1OWM5ZjI5MGRmYmU4MzJkMGZjYTU5YzI1NSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvY2hhbmdlcy5kaWZmCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL2NoYW5nZXMuZGlmZgpAQCAtMTM4LDMgKzEzOCw5NzczIEBAIGluZGV4IGNiNDgyZDA1
Yi4uNmNlZjdkM2RkIDEwMDY0NAogICAgICAgICAgbVN3YXBMYXllciA9IG5pbDsKICAgICAgfQog
IAorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rl
c3RzL2dsbWFyazJCZW5jaG1hcmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rl
c3RzL3BlcmZfdGVzdHMvZ2xtYXJrMkJlbmNobWFyay5jcHAKK2RlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAoraW5kZXggMTc0ZmNjNjczNWEuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvdGVzdHMvcGVyZl90ZXN0cy9nbG1hcmsyQmVuY2htYXJrLmNwcAorKysr
IC9kZXYvbnVsbAorQEAgLTEsMjg1ICswLDAgQEAKKy0vLworLS8vIENvcHlyaWdodCAyMDE5IFRo
ZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCistLy8gVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0
IGNhbiBiZQorLS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCistLy8KKy0vLyBnbG1hcmsy
QmVuY2htYXJrOgorLS8vICAgUnVucyB0aGUgZ2xtYXJrMiBiZW5jaG1hcmsuCistLy8KKy0KKy0j
aW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKy0KKy0jaW5jbHVkZSA8c3RkaW8uaD4KKy0jaW5jbHVk
ZSA8c3N0cmVhbT4KKy0KKy0jaW5jbHVkZSAiLi4vcGVyZl90ZXN0cy90aGlyZF9wYXJ0eS9wZXJm
L3BlcmZfcmVzdWx0X3JlcG9ydGVyLmgiCistI2luY2x1ZGUgIkFOR0xFUGVyZlRlc3RBcmdzLmgi
CistI2luY2x1ZGUgImNvbW1vbi9wbGF0Zm9ybS5oIgorLSNpbmNsdWRlICJjb21tb24vc3lzdGVt
X3V0aWxzLmgiCistI2luY2x1ZGUgInRlc3RfdXRpbHMvYW5nbGVfdGVzdF9jb25maWdzLmgiCist
I2luY2x1ZGUgInRlc3RfdXRpbHMvYW5nbGVfdGVzdF9pbnN0YW50aWF0ZS5oIgorLSNpbmNsdWRl
ICJ1dGlsL3Rlc3RfdXRpbHMuaCIKKy0KKy11c2luZyBuYW1lc3BhY2UgYW5nbGU7CistCistbmFt
ZXNwYWNlCisteworLQorLXN0cnVjdCBCZW5jaG1hcmtJbmZvCisteworLSAgICBjb25zdCBjaGFy
ICpnbG1hcmsyQ29uZmlnOworLSAgICBjb25zdCBjaGFyICpuYW1lOworLX07CistCistLy8gRWFj
aCBnbG1hcmsyIHNjZW5lIGlzIGluZGl2aWR1YWxseSBiZW5jaG1hcmtlZC4gIElmIGdsbWFyazIg
aXMgcnVuIHdpdGhvdXQgYSBzcGVjaWZpYyBiZW5jaG1hcmssCistLy8gaXQgY2FuIHByb2R1Y2Ug
YW4gYWdncmVnYXRlIHNjb3JlLCB3aGljaCBpcyBub3QgaW50ZXJlc3RpbmcgYXQgdGhlIG1vbWVu
dC4gIEFkZGluZyBhbiBlbXB0eQorLS8vIHN0cmluZyAoIiIpIHRvIHRoaXMgbGlzdCB3aWxsIGVu
YWJsZSBhIHRlc3Qgd2hlcmUgZ2xtYXJrMiBpcyBydW4gd2l0aCB0aGUgZGVmYXVsdCBzY2VuZXMg
YW5kIHRoZQorLS8vIHNjb3JlIGZvciBlYWNoIHRlc3QgYXMgd2VsbCBhcyB0aGUgb3ZlcmFsbCBz
Y29yZSBpcyBvdXRwdXQuCistY29uc3RleHByIEJlbmNobWFya0luZm8ga0JlbmNobWFya3NbXSA9
IHsKKy0gICAgeyJidWlsZDp1c2UtdmJvPWZhbHNlIiwgImJ1aWxkIn0sCistICAgIHsiYnVpbGQ6
dXNlLXZibz10cnVlIiwgImJ1aWxkX3ZibyJ9LAorLSAgICB7InRleHR1cmU6dGV4dHVyZS1maWx0
ZXI9bmVhcmVzdCIsICJ0ZXh0dXJlX25lYXJlc3QifSwKKy0gICAgeyJ0ZXh0dXJlOnRleHR1cmUt
ZmlsdGVyPWxpbmVhciIsICJ0ZXh0dXJlX2xpbmVhciJ9LAorLSAgICB7InRleHR1cmU6dGV4dHVy
ZS1maWx0ZXI9bWlwbWFwIiwgInRleHR1cmVfbWlwbWFwIn0sCistICAgIHsic2hhZGluZzpzaGFk
aW5nPWdvdXJhdWQiLCAic2hhZGluZ19nb3VyYXVkIn0sCistICAgIHsic2hhZGluZzpzaGFkaW5n
PWJsaW5uLXBob25nLWluZiIsICJzaGFkaW5nX2JsaW5uX3Bob25nIn0sCistICAgIHsic2hhZGlu
ZzpzaGFkaW5nPXBob25nIiwgInNoYWRpbmdfcGhvbmcifSwKKy0gICAgeyJzaGFkaW5nOnNoYWRp
bmc9Y2VsIiwgInNoYWRpbmdfY2VsIn0sCistICAgIHsiYnVtcDpidW1wLXJlbmRlcj1oaWdoLXBv
bHkiLCAiYnVtcF9oaWdoX3BvbHkifSwKKy0gICAgeyJidW1wOmJ1bXAtcmVuZGVyPW5vcm1hbHMi
LCAiYnVtcF9ub3JtYWxzIn0sCistICAgIHsiYnVtcDpidW1wLXJlbmRlcj1oZWlnaHQiLCAiYnVt
cF9oZWlnaHQifSwKKy0gICAgeyJlZmZlY3QyZDprZXJuZWw9MCwxLDA7MSwtNCwxOzAsMSwwOyIs
ICJlZmZlY3QyZF9lZGdlIn0sCistICAgIHsiZWZmZWN0MmQ6a2VybmVsPTEsMSwxLDEsMTsxLDEs
MSwxLDE7MSwxLDEsMSwxOyIsICJlZmZlY3QyZF9ibHVyIn0sCistICAgIHsicHVsc2FyOmxpZ2h0
PWZhbHNlOnF1YWRzPTU6dGV4dHVyZT1mYWxzZSIsICJwdWxzYXIifSwKKy0gICAgeyJkZXNrdG9w
OmJsdXItcmFkaXVzPTU6ZWZmZWN0PWJsdXI6cGFzc2VzPTE6c2VwYXJhYmxlPXRydWU6d2luZG93
cz00IiwgImRlc2t0b3BfYmx1ciJ9LAorLSAgICB7ImRlc2t0b3A6ZWZmZWN0PXNoYWRvdzp3aW5k
b3dzPTQiLCAiZGVza3RvcF9zaGFkb3cifSwKKy0gICAgeyJidWZmZXI6Y29sdW1ucz0yMDA6aW50
ZXJsZWF2ZT1mYWxzZTp1cGRhdGUtZGlzcGVyc2lvbj0wLjk6dXBkYXRlLWZyYWN0aW9uPTAuNTp1
cGRhdGUtbWV0aG9kPSIKKy0gICAgICJtYXAiLAorLSAgICAgImJ1ZmZlcl9tYXAifSwKKy0gICAg
eyJidWZmZXI6Y29sdW1ucz0yMDA6aW50ZXJsZWF2ZT1mYWxzZTp1cGRhdGUtZGlzcGVyc2lvbj0w
Ljk6dXBkYXRlLWZyYWN0aW9uPTAuNTp1cGRhdGUtbWV0aG9kPSIKKy0gICAgICJzdWJkYXRhIiwK
Ky0gICAgICJidWZmZXJfc3ViZGF0YSJ9LAorLSAgICB7ImJ1ZmZlcjpjb2x1bW5zPTIwMDppbnRl
cmxlYXZlPXRydWU6dXBkYXRlLWRpc3BlcnNpb249MC45OnVwZGF0ZS1mcmFjdGlvbj0wLjU6dXBk
YXRlLW1ldGhvZD0iCistICAgICAibWFwIiwKKy0gICAgICJidWZmZXJfbWFwX2ludGVybGVhdmUi
fSwKKy0gICAgeyJpZGVhczpzcGVlZD1kdXJhdGlvbiIsICJpZGVhcyJ9LAorLSAgICB7ImplbGx5
ZmlzaCIsICJqZWxseWZpc2gifSwKKy0gICAgeyJ0ZXJyYWluIiwgInRlcnJhaW4ifSwKKy0gICAg
eyJzaGFkb3ciLCAic2hhZG93In0sCistICAgIHsicmVmcmFjdCIsICJyZWZyYWN0In0sCistICAg
IHsiY29uZGl0aW9uYWxzOmZyYWdtZW50LXN0ZXBzPTA6dmVydGV4LXN0ZXBzPTAiLCAiY29uZGl0
aW9uYWxzIn0sCistICAgIHsiY29uZGl0aW9uYWxzOmZyYWdtZW50LXN0ZXBzPTU6dmVydGV4LXN0
ZXBzPTAiLCAiY29uZGl0aW9uYWxzX2ZyYWdtZW50In0sCistICAgIHsiY29uZGl0aW9uYWxzOmZy
YWdtZW50LXN0ZXBzPTA6dmVydGV4LXN0ZXBzPTUiLCAiY29uZGl0aW9uYWxzX3ZlcnRleCJ9LAor
LSAgICB7ImZ1bmN0aW9uOmZyYWdtZW50LWNvbXBsZXhpdHk9bG93OmZyYWdtZW50LXN0ZXBzPTUi
LCAiZnVuY3Rpb24ifSwKKy0gICAgeyJmdW5jdGlvbjpmcmFnbWVudC1jb21wbGV4aXR5PW1lZGl1
bTpmcmFnbWVudC1zdGVwcz01IiwgImZ1bmN0aW9uX2NvbXBsZXgifSwKKy0gICAgeyJsb29wOmZy
YWdtZW50LWxvb3A9ZmFsc2U6ZnJhZ21lbnQtc3RlcHM9NTp2ZXJ0ZXgtc3RlcHM9NSIsICJsb29w
X25vX2ZzbG9vcCJ9LAorLSAgICB7Imxvb3A6ZnJhZ21lbnQtc3RlcHM9NTpmcmFnbWVudC11bmlm
b3JtPWZhbHNlOnZlcnRleC1zdGVwcz01IiwgImxvb3Bfbm9fdW5pZm9ybSJ9LAorLSAgICB7Imxv
b3A6ZnJhZ21lbnQtc3RlcHM9NTpmcmFnbWVudC11bmlmb3JtPXRydWU6dmVydGV4LXN0ZXBzPTUi
LCAibG9vcCJ9LAorLX07CistCistdXNpbmcgR0xNYXJrMkJlbmNobWFya1Rlc3RQYXJhbXMgPSBz
dGQ6OnR1cGxlPFBsYXRmb3JtUGFyYW1ldGVycywgc2l6ZV90PjsKKy1zdGQ6OnN0cmluZyBHTE1h
cmsyQmVuY2htYXJrUHJpbnQoCistICAgIGNvbnN0IDo6dGVzdGluZzo6VGVzdFBhcmFtSW5mbzxH
TE1hcmsyQmVuY2htYXJrVGVzdFBhcmFtcz4gJnBhcmFtc0luZm8pCisteworLSAgICBjb25zdCBH
TE1hcmsyQmVuY2htYXJrVGVzdFBhcmFtcyAmcGFyYW1zID0gcGFyYW1zSW5mby5wYXJhbTsKKy0g
ICAgc3RkOjpvc3RyaW5nc3RyZWFtIG91dDsKKy0KKy0gICAgb3V0IDw8IHN0ZDo6Z2V0PDA+KHBh
cmFtcykgPDwgJ18nOworLSAgICBvdXQgPDwga0JlbmNobWFya3Nbc3RkOjpnZXQ8MT4ocGFyYW1z
KV0ubmFtZTsKKy0KKy0gICAgcmV0dXJuIG91dC5zdHIoKTsKKy19CistCistY2xhc3MgR0xNYXJr
MkJlbmNobWFyayA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEdMTWFyazJCZW5jaG1h
cmtUZXN0UGFyYW1zPgorLXsKKy0gIHB1YmxpYzoKKy0gICAgR0xNYXJrMkJlbmNobWFyaygpCist
ICAgIHsKKy0gICAgICAgIHN3aXRjaCAoc3RkOjpnZXQ8MD4oR2V0UGFyYW0oKSkuZ2V0UmVuZGVy
ZXIoKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBjYXNlIEVHTF9QTEFURk9STV9BTkdMRV9U
WVBFX0QzRDExX0FOR0xFOgorLSAgICAgICAgICAgICAgICBtQmFja2VuZCA9ICJkM2QxMSI7Cist
ICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgICAgIGNhc2UgRUdMX1BMQVRGT1JNX0FO
R0xFX1RZUEVfT1BFTkdMRVNfQU5HTEU6CistICAgICAgICAgICAgICAgIG1CYWNrZW5kID0gImds
IjsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICAgICAgY2FzZSBFR0xfUExBVEZP
Uk1fQU5HTEVfVFlQRV9WVUxLQU5fQU5HTEU6CistICAgICAgICAgICAgICAgIG1CYWNrZW5kID0g
InZ1bGthbiI7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgICAgIGRlZmF1bHQ6
CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgfQorLSAgICAgICAgc3RkOjpzdHJp
bmcgc3RvcnkgPSBrQmVuY2htYXJrc1tzdGQ6OmdldDwxPihHZXRQYXJhbSgpKV0ubmFtZTsKKy0g
ICAgICAgIG1SZXBvcnRlciA9IHN0ZDo6bWFrZV91bmlxdWU8cGVyZl90ZXN0OjpQZXJmUmVzdWx0
UmVwb3J0ZXI+KCJnbG1hcmsyXyIgKyBtQmFja2VuZCwgc3RvcnkpOworLSAgICAgICAgbVJlcG9y
dGVyLT5SZWdpc3RlckltcG9ydGFudE1ldHJpYygiLmZwcyIsICJmcHMiKTsKKy0gICAgICAgIG1S
ZXBvcnRlci0+UmVnaXN0ZXJJbXBvcnRhbnRNZXRyaWMoIi5zY29yZSIsICJzY29yZSIpOworLSAg
ICB9CistCistICAgIHZvaWQgcnVuKCkKKy0gICAgeworLSAgICAgICAgLy8gT25seSBzdXBwb3J0
ZWQgb24gTGludXggYW5kIFdpbmRvd3MgYXQgdGhlIG1vbWVudC4KKy0gICAgICAgIGlmICghSXNM
aW51eCgpICYmICFJc1dpbmRvd3MoKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm47
CistICAgICAgICB9CistCistICAgICAgICBjb25zdCBCZW5jaG1hcmtJbmZvIGJlbmNobWFya0lu
Zm8gPSBrQmVuY2htYXJrc1tzdGQ6OmdldDwxPihHZXRQYXJhbSgpKV07CistICAgICAgICBjb25z
dCBjaGFyICpiZW5jaG1hcmsgICAgICAgICAgICAgPSBiZW5jaG1hcmtJbmZvLmdsbWFyazJDb25m
aWc7CistICAgICAgICBjb25zdCBjaGFyICpiZW5jaG1hcmtOYW1lICAgICAgICAgPSBiZW5jaG1h
cmtJbmZvLm5hbWU7CistICAgICAgICBib29sIGNvbXBsZXRlUnVuICAgICAgICAgICAgICAgICAg
PSBiZW5jaG1hcmsgPT0gbnVsbHB0ciB8fCBiZW5jaG1hcmtbMF0gPT0gJ1wwJzsKKy0KKy0gICAg
ICAgIE9wdGlvbmFsPHN0ZDo6c3RyaW5nPiBjd2QgPSBHZXRDV0QoKTsKKy0KKy0gICAgICAgIC8v
IFNldCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB0byB0aGUgZXhlY3V0YWJsZSdzLCBh
cyB0aGUgZGF0YSBwYXRoIG9mIGdsbWFyazIgaXMKKy0gICAgICAgIC8vIHNldCByZWxhdGl2ZSB0
byB0aGF0IHBhdGguCistICAgICAgICBzdGQ6OnN0cmluZyBleGVjdXRhYmxlRGlyID0gR2V0RXhl
Y3V0YWJsZURpcmVjdG9yeSgpOworLSAgICAgICAgU2V0Q1dEKGV4ZWN1dGFibGVEaXIuY19zdHIo
KSk7CistICAgICAgICBTZXRFbnZpcm9ubWVudFZhcigiQU5HTEVfREVGQVVMVF9QTEFURk9STSIs
IG1CYWNrZW5kLmNfc3RyKCkpOworLQorLSAgICAgICAgc3RkOjp2ZWN0b3I8Y29uc3QgY2hhciAq
PiBhcmdzID0geworLSAgICAgICAgICAgICJnbG1hcmsyX2FuZ2xlIiwKKy0gICAgICAgIH07Cist
ICAgICAgICBpZiAoT25lRnJhbWUoKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBhcmdzLnB1
c2hfYmFjaygiLS12YWxpZGF0ZSIpOworLSAgICAgICAgfQorLSAgICAgICAgaWYgKCFjb21wbGV0
ZVJ1bikKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBhcmdzLnB1c2hfYmFjaygiLS1iZW5jaG1h
cmsiKTsKKy0gICAgICAgICAgICBhcmdzLnB1c2hfYmFjayhiZW5jaG1hcmspOworLSAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiUnVubmluZyBiZW5jaG1hcms6ICVzXG4iLCBiZW5jaG1hcmsp
OworLSAgICAgICAgfQorLSAgICAgICAgYXJncy5wdXNoX2JhY2sobnVsbHB0cik7CistCistICAg
ICAgICBQcm9jZXNzSGFuZGxlIHByb2Nlc3MoYXJncywgdHJ1ZSwgZmFsc2UpOworLSAgICAgICAg
QVNTRVJUX1RSVUUocHJvY2VzcyAmJiBwcm9jZXNzLT5zdGFydGVkKCkpOworLSAgICAgICAgQVNT
RVJUX1RSVUUocHJvY2Vzcy0+ZmluaXNoKCkpOworLQorLSAgICAgICAgLy8gUmVzdG9yZSB0aGUg
Y3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIG5leHQgdGVzdHMuCistICAgICAgICBp
ZiAoY3dkLnZhbGlkKCkpCistICAgICAgICB7CistICAgICAgICAgICAgU2V0Q1dEKGN3ZC52YWx1
ZSgpLmNfc3RyKCkpOworLSAgICAgICAgfQorLQorLSAgICAgICAgQVNTRVJUX0VRKEVYSVRfU1VD
Q0VTUywgcHJvY2Vzcy0+Z2V0RXhpdENvZGUoKSk7CistCistICAgICAgICBpZiAoIU9uZUZyYW1l
KCkpCistICAgICAgICB7CistICAgICAgICAgICAgc3RkOjpzdHJpbmcgb3V0cHV0ID0gcHJvY2Vz
cy0+Z2V0U3Rkb3V0KCk7CistICAgICAgICAgICAgcGFyc2VPdXRwdXQob3V0cHV0LCBiZW5jaG1h
cmtOYW1lLCBjb21wbGV0ZVJ1bik7CistICAgICAgICB9CistICAgIH0KKy0KKy0gIHByaXZhdGU6
CistICAgIHZvaWQgcGFyc2VPdXRwdXQoY29uc3Qgc3RkOjpzdHJpbmcgJm91dHB1dCwgY29uc3Qg
Y2hhciAqYmVuY2htYXJrTmFtZSwgYm9vbCBjb21wbGV0ZVJ1bikKKy0gICAgeworLSAgICAgICAg
Ly8gT3V0cHV0IGlzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgorLSAgICAgICAgLy8KKy0gICAg
ICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KKy0gICAgICAgIC8vICAgICBnbG1hcmsyIDIwMTcuMDcKKy0gICAgICAgIC8vID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0gICAg
ICAgIC8vICAgICBPcGVuR0wgSW5mb3JtYXRpb24KKy0gICAgICAgIC8vICAgICBHTF9WRU5ET1I6
ICAgICAuLi4KKy0gICAgICAgIC8vICAgICBHTF9SRU5ERVJFUjogICAuLi4KKy0gICAgICAgIC8v
ICAgICBHTF9WRVJTSU9OOiAgICAuLi4KKy0gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0gICAgICAgIC8vIFt0ZXN0XSBj
b25maWc6IEZQUzogdWludCBGcmFtZVRpbWU6IGZsb2F0IG1zCistICAgICAgICAvLyBbdGVzdF0g
Y29uZmlnOiBOb3QgU3VwcG9ydGVkCistICAgICAgICAvLyAuLi4KKy0gICAgICAgIC8vID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0gICAg
ICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG1hcmsyIFNjb3JlOiB1
aW50CistICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CistICAgICAgICAvLworLSAgICAgICAgLy8gVGhpcyBmdW5jdGlvbiBz
a2lwcyB0aGUgaGVhZGVyLCBwcmludHMgb25lIGxpbmUgZm9yIGVhY2ggdGVzdC9jb25maWcgbGlu
ZSB3aGVyZSB0aGVyZSdzCistICAgICAgICAvLyBhbiBGUFMgdmFsdWUsIGFuZCBmaW5hbGx5IHBy
aW50cyB0aGUgb3ZlcmFsbCBzY29yZS4KKy0gICAgICAgIHN0ZDo6aXN0cmluZ3N0cmVhbSBnbG1h
cmsyT3V0cHV0KG91dHB1dCk7CistICAgICAgICBzdGQ6OnN0cmluZyBsaW5lOworLQorLSAgICAg
ICAgLy8gRXhwZWN0ID09PT0gYXQgdGhlIHRvcCBvZiB0aGUgaGVhZGVyCistICAgICAgICBzdGQ6
OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSk7CistICAgICAgICBBU1NFUlRfRVEoJz0nLCBs
aW5lWzBdKTsKKy0KKy0gICAgICAgIC8vIFNraXAgb25lIGxpbmUKKy0gICAgICAgIHN0ZDo6Z2V0
bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKKy0KKy0gICAgICAgIC8vIEV4cGVjdCA9PT09IGlu
IHRoZSBtaWRkbGUgb2YgdGhlIGhlYWRlcgorLSAgICAgICAgc3RkOjpnZXRsaW5lKGdsbWFyazJP
dXRwdXQsIGxpbmUpOworLSAgICAgICAgQVNTRVJUX0VRKCc9JywgbGluZVswXSk7CistCistICAg
ICAgICAvLyBTa2lwIGZvdXIgbGluZXMKKy0gICAgICAgIHN0ZDo6Z2V0bGluZShnbG1hcmsyT3V0
cHV0LCBsaW5lKTsKKy0gICAgICAgIHN0ZDo6Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsK
Ky0gICAgICAgIHN0ZDo6Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKKy0gICAgICAgIHN0
ZDo6Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKKy0KKy0gICAgICAgIC8vIFRoZSBmb3Vy
dGggbGluZSBpcyB0aGUgR0xfVkVSU0lPTi4gIEV4cGVjdCBpdCB0byBpbmNsdWRlIEFOR0xFLCBv
dGhlcndpc2Ugd2UgYXJlIG5vdAorLSAgICAgICAgLy8gcnVubmluZyBhZ2FpbnN0IEFOR0xFLgor
LSAgICAgICAgQVNTRVJUX05FKGxpbmUuZmluZCgiQU5HTEUiKSwgc3RkOjpzdHJpbmc6Om5wb3Mp
OworLQorLSAgICAgICAgLy8gRXhwZWN0ID09PT0gYXQgdGhlIGJvdHRvbSBvZiB0aGUgaGVhZGVy
CistICAgICAgICBzdGQ6OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSk7CistICAgICAgICBB
U1NFUlRfRVEoJz0nLCBsaW5lWzBdKTsKKy0KKy0gICAgICAgIC8vIFJlYWQgY29uZmlncyB1bnRp
bCB0aGUgdG9wIG9mIHRoZSBmb290ZXIgaXMgcmVhY2hlZAorLSAgICAgICAgd2hpbGUgKHN0ZDo6
Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKSAmJiBsaW5lWzBdICE9ICc9JykKKy0gICAgICAg
IHsKKy0gICAgICAgICAgICAvLyBQYXJzZSB0aGUgbGluZQorLSAgICAgICAgICAgIHN0ZDo6aXN0
cmluZ3N0cmVhbSBsaW4obGluZSk7CistCistICAgICAgICAgICAgc3RkOjpzdHJpbmcgdGVzdE5h
bWUsIHRlc3RDb25maWc7CistICAgICAgICAgICAgbGluID4+IHRlc3ROYW1lID4+IHRlc3RDb25m
aWc7CistICAgICAgICAgICAgRVhQRUNUX1RSVUUobGluKTsKKy0KKy0gICAgICAgICAgICBzdGQ6
OnN0cmluZyBmcHNUYWcsIGZyYW1ldGltZVRhZzsKKy0gICAgICAgICAgICBzaXplX3QgZnBzOwor
LSAgICAgICAgICAgIGZsb2F0IGZyYW1ldGltZTsKKy0KKy0gICAgICAgICAgICBsaW4gPj4gZnBz
VGFnID4+IGZwcyA+PiBmcmFtZXRpbWVUYWcgPj4gZnJhbWV0aW1lOworLQorLSAgICAgICAgICAg
IC8vIElmIHRoZSBsaW5lIGlzIG5vdCBpbiBgRlBTOiB1aW50IEZyYW1lVGltZTogRmxvYXQgbXNg
IGZvcm1hdCwgdGhlIHRlc3QgaXMgbm90CistICAgICAgICAgICAgLy8gc3VwcG9ydGVkLiAgSXQg
d2lsbCBiZSBza2lwcGVkLgorLSAgICAgICAgICAgIGlmICghbGluKQorLSAgICAgICAgICAgIHsK
Ky0gICAgICAgICAgICAgICAgY29udGludWU7CistICAgICAgICAgICAgfQorLQorLSAgICAgICAg
ICAgIEVYUEVDVF9FUSgiRlBTOiIsIGZwc1RhZyk7CistICAgICAgICAgICAgRVhQRUNUX0VRKCJG
cmFtZVRpbWU6IiwgZnJhbWV0aW1lVGFnKTsKKy0KKy0gICAgICAgICAgICBpZiAoIWNvbXBsZXRl
UnVuKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgbVJlcG9ydGVyLT5BZGRSZXN1
bHQoIi5mcHMiLCBmcHMpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKy0KKy0gICAgICAg
IC8vIEdldCB0aGUgc2NvcmUgbGluZTogYGdsbWFyazIgU2NvcmU6IHVpbnRgCistICAgICAgICBz
dGQ6OnN0cmluZyBnbG1hcmsyVGFnLCBzY29yZVRhZzsKKy0gICAgICAgIHNpemVfdCBzY29yZTsK
Ky0gICAgICAgIGdsbWFyazJPdXRwdXQgPj4gZ2xtYXJrMlRhZyA+PiBzY29yZVRhZyA+PiBzY29y
ZTsKKy0gICAgICAgIEVYUEVDVF9UUlVFKGdsbWFyazJPdXRwdXQpOworLSAgICAgICAgRVhQRUNU
X0VRKCJnbG1hcmsyIiwgZ2xtYXJrMlRhZyk7CistICAgICAgICBFWFBFQ1RfRVEoIlNjb3JlOiIs
IHNjb3JlVGFnKTsKKy0KKy0gICAgICAgIGlmIChjb21wbGV0ZVJ1bikKKy0gICAgICAgIHsKKy0g
ICAgICAgICAgICBtUmVwb3J0ZXItPkFkZFJlc3VsdCgiLnNjb3JlIiwgc2NvcmUpOworLSAgICAg
ICAgfQorLSAgICB9CistCistICAgIHN0ZDo6c3RyaW5nIG1CYWNrZW5kID0gImludmFsaWQiOwor
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8cGVyZl90ZXN0OjpQZXJmUmVzdWx0UmVwb3J0ZXI+IG1SZXBv
cnRlcjsKKy19OworLQorLVRFU1RfUChHTE1hcmsyQmVuY2htYXJrLCBSdW4pCisteworLSAgICBy
dW4oKTsKKy19CistCistQU5HTEVfSU5TVEFOVElBVEVfVEVTVF9DT01CSU5FXzEoR0xNYXJrMkJl
bmNobWFyaywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTE1hcmsyQmVuY2ht
YXJrUHJpbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGluZzo6UmFu
Z2Uoc3RhdGljX2Nhc3Q8c2l6ZV90PigwKSwgQXJyYXlTaXplKGtCZW5jaG1hcmtzKSksCistICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVMyX0QzRDExKCksCistICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRVMyX09QRU5HTEVTKCksCistICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRVMyX1ZVTEtBTigpKTsKKy0KKy19ICAvLyBuYW1lc3BhY2UKK2RpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90aGlyZF9wYXJ0eS9nbG1hcmsyL0JVSUxE
LmduIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9CVUlMRC5n
bgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAyNWFlMTMzOTg2YS4uMDAwMDAwMDAw
MDAKKy0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3RoaXJkX3BhcnR5L2dsbWFyazIvQlVJ
TEQuZ24KKysrKyAvZGV2L251bGwKK0BAIC0xLDQyMyArMCwwIEBACistIyBDb3B5cmlnaHQgMjAx
OSBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLSMgVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0
aGF0IGNhbiBiZQorLSMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy0jCistIyBCdWlsZCBp
bnRlZ3JhdGlvbiBmb3IgZ2xtYXJrMi4KKy0KKy1pbXBvcnQoIi4uLy4uL2duaS9hbmdsZS5nbmki
KQorLQorLV9nbG1hcmsyX2dsYWRfY29tbW9uX3NvdXJjZXMgPSBbCistICAic3JjL3NyYy9nbGFk
L2luY2x1ZGUvZ2xhZC9lZ2wuaCIsCistICAic3JjL3NyYy9nbGFkL2luY2x1ZGUvZ2xhZC93Z2wu
aCIsCistICAic3JjL3NyYy9nbGFkL3NyYy9lZ2wuYyIsCistXQorLQorLWlmIChpc193aW4pIHsK
Ky0gIF9nbG1hcmsyX2dsYWRfY29tbW9uX3NvdXJjZXMgKz0gWyAic3JjL3NyYy9nbGFkL3NyYy93
Z2wuYyIgXQorLX0KKy0KKy1jb25maWcoImdsbWFyazJfZ2xhZF9jb25maWciKSB7CistICBpbmNs
dWRlX2RpcnMgPSBbICJzcmMvc3JjL2dsYWQvaW5jbHVkZSIgXQorLX0KKy0KKy1zb3VyY2Vfc2V0
KCJnbG1hcmsyX2dsYWRfZ2xlcyIpIHsKKy0gIHNvdXJjZXMgPSBfZ2xtYXJrMl9nbGFkX2NvbW1v
bl9zb3VyY2VzICsgWworLSAgICAgICAgICAgICAgInNyYy9zcmMvZ2xhZC9pbmNsdWRlL2dsYWQv
Z2xlczIuaCIsCistICAgICAgICAgICAgICAic3JjL3NyYy9nbGFkL3NyYy9nbGVzMi5jIiwKKy0g
ICAgICAgICAgICBdCistICBwdWJsaWNfY29uZmlncyA9IFsgIjpnbG1hcmsyX2dsYWRfY29uZmln
IiBdCistfQorLQorLXNvdXJjZV9zZXQoImdsbWFyazJfZ2xhZF9nbCIpIHsKKy0gIHNvdXJjZXMg
PSBfZ2xtYXJrMl9nbGFkX2NvbW1vbl9zb3VyY2VzICsgWworLSAgICAgICAgICAgICAgInNyYy9z
cmMvZ2xhZC9pbmNsdWRlL2dsYWQvZ2wuaCIsCistICAgICAgICAgICAgICAic3JjL3NyYy9nbGFk
L3NyYy9nbC5jIiwKKy0gICAgICAgICAgICBdCistICBwdWJsaWNfY29uZmlncyA9IFsgIjpnbG1h
cmsyX2dsYWRfY29uZmlnIiBdCistfQorLQorLWdsbWFya19kYXRhX3BhdGggPSAiJHthbmdsZV9y
b290fS90aGlyZF9wYXJ0eS9nbG1hcmsyL3NyYy9kYXRhIgorLXJhd19nbG1hcmtfZGF0YV9wYXRo
ID0gcmViYXNlX3BhdGgoZ2xtYXJrX2RhdGFfcGF0aCwgcm9vdF9idWlsZF9kaXIpCistCistY29u
ZmlnKCJnbG1hcmsyX2NvbW1vbl9jb25maWciKSB7CistICBkZWZpbmVzID0gWyAiR0xNQVJLX0RB
VEFfUEFUSD1cIiR7cmF3X2dsbWFya19kYXRhX3BhdGh9XCIiIF0KKy0gIGluY2x1ZGVfZGlycyA9
IFsgInNyYy9zcmMiIF0KKy0gIGlmIChpc193aW4pIHsKKy0gICAgaW5jbHVkZV9kaXJzICs9IFsg
InNyYy9zcmMvaW5jbHVkZSIgXQorLQorLSAgICAjIE1fUEkgaXMgbm9uc3RhbmRhcmQuCistICAg
IGRlZmluZXMgKz0gWyAiX1VTRV9NQVRIX0RFRklORVMiIF0KKy0KKy0gICAgaWYgKCFpc19jbGFu
ZykgeworLSAgICAgIGNmbGFncyA9IFsKKy0gICAgICAgICMgTVNWQyB3YXJucyBhYm91dCB0aGUg
Y29weXJpZ2h0IGNoYXJhY3RlciBiZWluZyBpbGxlZ2FsLgorLSAgICAgICAgIi93ZDQ4MjgiLAor
LQorLSAgICAgICAgIyBBIHdhcm5pbmcgZ2VuZXJhdGVkIGluIHNjZW5lLWVmZmVjdC0yZCBpbiB2
ZWMyOjpjYWxjX29mZnNldAorLSAgICAgICAgIi93ZDQxNDYiLAorLSAgICAgIF0KKy0gICAgfQor
LSAgfQorLX0KKy0KKy1jb25maWcoImdsbWFyazJfZ2xlc19jb25maWciKSB7CistICBkZWZpbmVz
ID0gWyAiR0xNQVJLMl9VU0VfR0xFU3YyIiBdCistfQorLQorLWNvbmZpZygiZ2xtYXJrMl9nbF9j
b25maWciKSB7CistICBkZWZpbmVzID0gWyAiR0xNQVJLMl9VU0VfR0wiIF0KKy19CistCistZ3Jv
dXAoImdsbWFyazJfZ2xlcyIpIHsKKy0gIHB1YmxpY19jb25maWdzID0gWworLSAgICAiOmdsbWFy
azJfY29tbW9uX2NvbmZpZyIsCistICAgICI6Z2xtYXJrMl9nbGVzX2NvbmZpZyIsCistICBdCist
ICBwdWJsaWNfZGVwcyA9IFsKKy0gICAgIjpnbG1hcmsyX2dsYWRfZ2xlcyIsCistICBdCistfQor
LQorLWdyb3VwKCJnbG1hcmsyX2dsIikgeworLSAgcHVibGljX2NvbmZpZ3MgPSBbCistICAgICI6
Z2xtYXJrMl9jb21tb25fY29uZmlnIiwKKy0gICAgIjpnbG1hcmsyX2dsX2NvbmZpZyIsCistICBd
CistICBwdWJsaWNfZGVwcyA9IFsKKy0gICAgIjpnbG1hcmsyX2dsYWRfZ2wiLAorLSAgXQorLX0K
Ky0KKy0jIFN1cHBsaWVzIGNvbXBhdGlibGUgaGVhZGVycyBvbiBXaW4zMi4KKy1jb25maWcoImds
bWFyazJfaGVhZGVyc19jb25maWciKSB7CistICBpZiAoaXNfd2luKSB7CistICAgIGlmIChpc19j
bGFuZykgeworLSAgICAgIGNmbGFncyA9IFsKKy0gICAgICAgICItV25vLXVudXNlZC1mdW5jdGlv
biIsCistICAgICAgICAiLVduby13cml0YWJsZS1zdHJpbmdzIiwKKy0gICAgICAgICItV25vLWV4
dHJhLXRva2VucyIsCistICAgICAgXQorLSAgICB9CistICB9CistfQorLQorLXNvdXJjZV9zZXQo
ImdsbWFyazJfaGVhZGVycyIpIHsKKy0gIHNvdXJjZXMgPSBbCistICAgICJzcmMvc3JjL2NhbnZh
cy5oIiwKKy0gICAgInNyYy9zcmMvZ2wtaGVhZGVycy5oIiwKKy0gICAgInNyYy9zcmMvZ2wtc3Rh
dGUtZWdsLmgiLAorLSAgICAic3JjL3NyYy9nbC1zdGF0ZS5oIiwKKy0gICAgInNyYy9zcmMvZ2wt
dmlzdWFsLWNvbmZpZy5oIiwKKy0gICAgInNyYy9zcmMvbWVzaC5oIiwKKy0gICAgInNyYy9zcmMv
b3B0aW9ucy5oIiwKKy0gICAgInNyYy9zcmMvc2NlbmUuaCIsCistICAgICJzcmMvc3JjL3NoYXJl
ZC1saWJyYXJ5LmgiLAorLSAgICAic3JjL3NyYy90ZXh0dXJlLmgiLAorLSAgXQorLQorLSAgaWYg
KGlzX2xpbnV4KSB7CistICAgIHNvdXJjZXMgKz0gWyAic3JjL3NyYy9nbC1zdGF0ZS1nbHguaCIg
XQorLSAgfQorLSAgaWYgKGlzX3dpbikgeworLSAgICBzb3VyY2VzICs9IFsKKy0gICAgICAic3Jj
L3NyYy9nbC1zdGF0ZS13Z2wuaCIsCistICAgICAgInNyYy9zcmMvaW5jbHVkZS9kaXJlbnQuaCIs
CistICAgICAgInNyYy9zcmMvaW5jbHVkZS9nZXRvcHQuaCIsCistICAgICAgInNyYy9zcmMvaW5j
bHVkZS9zeXMvdGltZS5oIiwKKy0gICAgXQorLSAgfQorLSAgcHVibGljX2NvbmZpZ3MgPSBbICI6
Z2xtYXJrMl9oZWFkZXJzX2NvbmZpZyIgXQorLSAgaW5jbHVkZV9kaXJzID0gWyAic3JjL3NyYyIg
XQorLX0KKy0KKy1jb25maWcoImdsbWFyazJfbGlibWF0cml4X2NvbmZpZyIpIHsKKy0gIGluY2x1
ZGVfZGlycyA9IFsgInNyYy9zcmMvbGlibWF0cml4IiBdCistfQorLQorLXRlbXBsYXRlKCJnbG1h
cmsyX2xpYm1hdHJpeCIpIHsKKy0gIHNvdXJjZV9zZXQodGFyZ2V0X25hbWUpIHsKKy0gICAgZm9y
d2FyZF92YXJpYWJsZXNfZnJvbShpbnZva2VyLCAiKiIpCistICAgIHNvdXJjZXMgPSBbCistICAg
ICAgInNyYy9zcmMvbGlibWF0cml4L2dsLWlmLmgiLAorLSAgICAgICJzcmMvc3JjL2xpYm1hdHJp
eC9sb2cuY2MiLAorLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9sb2cuaCIsCistICAgICAgInNy
Yy9zcmMvbGlibWF0cml4L21hdC5jYyIsCistICAgICAgInNyYy9zcmMvbGlibWF0cml4L21hdC5o
IiwKKy0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvcHJvZ3JhbS5jYyIsCistICAgICAgInNyYy9z
cmMvbGlibWF0cml4L3Byb2dyYW0uaCIsCistICAgICAgInNyYy9zcmMvbGlibWF0cml4L3NoYWRl
ci1zb3VyY2UuY2MiLAorLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9zaGFkZXItc291cmNlLmgi
LAorLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9zdGFjay5oIiwKKy0gICAgICAic3JjL3NyYy9s
aWJtYXRyaXgvdXRpbC5jYyIsCistICAgICAgInNyYy9zcmMvbGlibWF0cml4L3V0aWwuaCIsCist
ICAgICAgInNyYy9zcmMvbGlibWF0cml4L3ZlYy5oIiwKKy0gICAgXQorLQorLSAgICBpZiAoaXNf
Y2xhbmcpIHsKKy0gICAgICBjZmxhZ3NfY2MgPSBbICItV25vLWltcGxpY2l0LWZhbGx0aHJvdWdo
IiBdCistICAgIH0KKy0gICAgcHVibGljX2RlcHMgPSBbCistICAgICAgIjpnbG1hcmsyX2hlYWRl
cnMiLAorLSAgICBdCistICAgIHB1YmxpY19jb25maWdzID0gWyAiOmdsbWFyazJfbGlibWF0cml4
X2NvbmZpZyIgXQorLSAgfQorLX0KKy0KKy1nbG1hcmsyX2xpYm1hdHJpeCgiZ2xtYXJrMl9saWJt
YXRyaXhfZ2xlcyIpIHsKKy0gIGRlcHMgPSBbCistICAgICI6Z2xtYXJrMl9nbGVzIiwKKy0gIF0K
Ky19CistCistZ2xtYXJrMl9saWJtYXRyaXgoImdsbWFyazJfbGlibWF0cml4X2dsIikgeworLSAg
ZGVwcyA9IFsKKy0gICAgIjpnbG1hcmsyX2dsIiwKKy0gIF0KKy19CistCistY29uZmlnKCJnbG1h
cmsyX3NjZW5lX2lkZWFzX2NvbmZpZyIpIHsKKy0gIGluY2x1ZGVfZGlycyA9IFsgInNyYy9zcmMv
c2NlbmUtaWRlYXMiIF0KKy19CistCistdGVtcGxhdGUoImdsbWFyazJfc2NlbmVfaWRlYXMiKSB7
CistICBzb3VyY2Vfc2V0KHRhcmdldF9uYW1lKSB7CistICAgIGZvcndhcmRfdmFyaWFibGVzX2Zy
b20oaW52b2tlciwgIioiKQorLSAgICBzb3VyY2VzID0gWworLSAgICAgICJzcmMvc3JjL3NjZW5l
LWlkZWFzL2EuY2MiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2NoYXJhY3RlcnMuaCIs
CistICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvZC5jYyIsCistICAgICAgInNyYy9zcmMvc2Nl
bmUtaWRlYXMvZS5jYyIsCistICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvaS5jYyIsCistICAg
ICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvbGFtcC5jYyIsCistICAgICAgInNyYy9zcmMvc2NlbmUt
aWRlYXMvbGFtcC5oIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9sb2dvLmNjIiwKKy0g
ICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9sb2dvLmgiLAorLSAgICAgICJzcmMvc3JjL3NjZW5l
LWlkZWFzL20uY2MiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL24uY2MiLAorLSAgICAg
ICJzcmMvc3JjL3NjZW5lLWlkZWFzL28uY2MiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFz
L3MuY2MiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL3NwbGluZXMuY2MiLAorLSAgICAg
ICJzcmMvc3JjL3NjZW5lLWlkZWFzL3NwbGluZXMuaCIsCistICAgICAgInNyYy9zcmMvc2NlbmUt
aWRlYXMvdC5jYyIsCistICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvdGFibGUuY2MiLAorLSAg
ICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL3RhYmxlLmgiLAorLSAgICBdCistICAgIHB1YmxpY19j
b25maWdzID0gWyAiOmdsbWFyazJfc2NlbmVfaWRlYXNfY29uZmlnIiBdCistICB9CistfQorLQor
LWdsbWFyazJfc2NlbmVfaWRlYXMoImdsbWFyazJfc2NlbmVfaWRlYXNfZ2xlcyIpIHsKKy0gIGRl
cHMgPSBbCistICAgICI6Z2xtYXJrMl9nbGVzIiwKKy0gICAgIjpnbG1hcmsyX2xpYm1hdHJpeF9n
bGVzIiwKKy0gIF0KKy19CistCistZ2xtYXJrMl9zY2VuZV9pZGVhcygiZ2xtYXJrMl9zY2VuZV9p
ZGVhc19nbCIpIHsKKy0gIGRlcHMgPSBbCistICAgICI6Z2xtYXJrMl9nbCIsCistICAgICI6Z2xt
YXJrMl9saWJtYXRyaXhfZ2wiLAorLSAgXQorLX0KKy0KKy1jb25maWcoImdsbWFyazJfc2NlbmVf
dGVycmFpbl9jb25maWciKSB7CistICBpbmNsdWRlX2RpcnMgPSBbICJzcmMvc3JjL3NjZW5lLXRl
cnJhaW4iIF0KKy19CistCistdGVtcGxhdGUoImdsbWFyazJfc2NlbmVfdGVycmFpbiIpIHsKKy0g
IHNvdXJjZV9zZXQodGFyZ2V0X25hbWUpIHsKKy0gICAgZm9yd2FyZF92YXJpYWJsZXNfZnJvbShp
bnZva2VyLCAiKiIpCistICAgIHNvdXJjZXMgPSBbCistICAgICAgInNyYy9zcmMvc2NlbmUtdGVy
cmFpbi9iYXNlLXJlbmRlcmVyLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi9i
bHVyLXJlbmRlcmVyLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi9jb3B5LXJl
bmRlcmVyLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi9sdW1pbmFuY2UtcmVu
ZGVyZXIuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL25vcm1hbC1mcm9tLWhl
aWdodC1yZW5kZXJlci5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vb3Zlcmxh
eS1yZW5kZXJlci5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vcmVuZGVyZXIt
Y2hhaW4uY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL3JlbmRlcmVyLmgiLAor
LSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vc2ltcGxleC1ub2lzZS1yZW5kZXJlci5jcHAi
LAorLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vdGVycmFpbi1yZW5kZXJlci5jcHAiLAor
LSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vdGV4dHVyZS1yZW5kZXJlci5jcHAiLAorLSAg
ICBdCistCistICAgIHB1YmxpY19jb25maWdzID0gWyAiOmdsbWFyazJfc2NlbmVfdGVycmFpbl9j
b25maWciIF0KKy0gIH0KKy19CistCistZ2xtYXJrMl9zY2VuZV90ZXJyYWluKCJnbG1hcmsyX3Nj
ZW5lX3RlcnJhaW5fZ2xlcyIpIHsKKy0gIGRlcHMgPSBbCistICAgICI6Z2xtYXJrMl9nbGVzIiwK
Ky0gICAgIjpnbG1hcmsyX2xpYm1hdHJpeF9nbGVzIiwKKy0gIF0KKy19CistCistZ2xtYXJrMl9z
Y2VuZV90ZXJyYWluKCJnbG1hcmsyX3NjZW5lX3RlcnJhaW5fZ2wiKSB7CistICBkZXBzID0gWwor
LSAgICAiOmdsbWFyazJfZ2wiLAorLSAgICAiOmdsbWFyazJfbGlibWF0cml4X2dsIiwKKy0gIF0K
Ky19CistCistdGVtcGxhdGUoImdsbWFyazJfY29tbW9uIikgeworLSAgc291cmNlX3NldCh0YXJn
ZXRfbmFtZSkgeworLSAgICBmb3J3YXJkX3ZhcmlhYmxlc19mcm9tKGludm9rZXIsICIqIikKKy0g
ICAgc291cmNlcyA9IFsKKy0gICAgICAic3JjL3NyYy9iZW5jaG1hcmstY29sbGVjdGlvbi5jcHAi
LAorLSAgICAgICJzcmMvc3JjL2JlbmNobWFyay1jb2xsZWN0aW9uLmgiLAorLSAgICAgICJzcmMv
c3JjL2JlbmNobWFyay5jcHAiLAorLSAgICAgICJzcmMvc3JjL2JlbmNobWFyay5oIiwKKy0gICAg
ICAic3JjL3NyYy9kZWZhdWx0LWJlbmNobWFya3MuaCIsCistICAgICAgInNyYy9zcmMvZ2wtaGVh
ZGVycy5jcHAiLAorLSAgICAgICJzcmMvc3JjL2dsLXZpc3VhbC1jb25maWcuY3BwIiwKKy0gICAg
ICAic3JjL3NyYy9nbC12aXN1YWwtY29uZmlnLmgiLAorLSAgICAgICJzcmMvc3JjL2ltYWdlLXJl
YWRlci5jcHAiLAorLSAgICAgICJzcmMvc3JjL2ltYWdlLXJlYWRlci5oIiwKKy0gICAgICAic3Jj
L3NyYy9tYWluLWxvb3AuY3BwIiwKKy0gICAgICAic3JjL3NyYy9tYWluLWxvb3AuaCIsCistICAg
ICAgInNyYy9zcmMvbWVzaC5jcHAiLAorLSAgICAgICJzcmMvc3JjL21vZGVsLmNwcCIsCistICAg
ICAgInNyYy9zcmMvbW9kZWwuaCIsCistICAgICAgInNyYy9zcmMvbmF0aXZlLXN0YXRlLmgiLAor
LSAgICAgICJzcmMvc3JjL29wdGlvbnMuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1idWZm
ZXIuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1idWlsZC5jcHAiLAorLSAgICAgICJzcmMv
c3JjL3NjZW5lLWJ1bXAuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1jbGVhci5jcHAiLAor
LSAgICAgICJzcmMvc3JjL3NjZW5lLWNvbGxlY3Rpb24uaCIsCistICAgICAgInNyYy9zcmMvc2Nl
bmUtY29uZGl0aW9uYWxzLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtZGVmYXVsdC1vcHRp
b25zLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtZGVza3RvcC5jcHAiLAorLSAgICAgICJz
cmMvc3JjL3NjZW5lLWVmZmVjdC0yZC5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLWZ1bmN0
aW9uLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtZ3JpZC5jcHAiLAorLSAgICAgICJzcmMv
c3JjL3NjZW5lLWlkZWFzLmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtamVsbHlmaXNoLmNw
cCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtamVsbHlmaXNoLmgiLAorLSAgICAgICJzcmMvc3Jj
L3NjZW5lLWxvb3AuY3BwIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1wdWxzYXIuY3BwIiwKKy0g
ICAgICAic3JjL3NyYy9zY2VuZS1yZWZyYWN0LmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUt
cmVmcmFjdC5oIiwKKy0gICAgICAic3JjL3NyYy9zY2VuZS1zaGFkaW5nLmNwcCIsCistICAgICAg
InNyYy9zcmMvc2NlbmUtc2hhZG93LmNwcCIsCistICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFp
bi5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NjZW5lLXRleHR1cmUuY3BwIiwKKy0gICAgICAic3Jj
L3NyYy9zY2VuZS5jcHAiLAorLSAgICAgICJzcmMvc3JjL3NoYXJlZC1saWJyYXJ5LmNwcCIsCist
ICAgICAgInNyYy9zcmMvdGV4dC1yZW5kZXJlci5jcHAiLAorLSAgICAgICJzcmMvc3JjL3RleHQt
cmVuZGVyZXIuaCIsCistICAgICAgInNyYy9zcmMvdGV4dHVyZS5jcHAiLAorLSAgICBdCistCist
ICAgIHB1YmxpY19kZXBzICs9IFsKKy0gICAgICAiOmdsbWFyazJfaGVhZGVycyIsCistICAgICAg
IiR7YW5nbGVfbGlicG5nX2Rpcn06bGlicG5nIiwKKy0gICAgICAiJHthbmdsZV9yb290fS90aGly
ZF9wYXJ0eTpqcGVnIiwKKy0gICAgXQorLSAgfQorLX0KKy0KKy1nbG1hcmsyX2NvbW1vbigiZ2xt
YXJrMl9jb21tb25fZ2xlcyIpIHsKKy0gIHB1YmxpY19kZXBzID0gWworLSAgICAiOmdsbWFyazJf
Z2xlcyIsCistICAgICI6Z2xtYXJrMl9saWJtYXRyaXhfZ2xlcyIsCistICAgICI6Z2xtYXJrMl9z
Y2VuZV9pZGVhc19nbGVzIiwKKy0gICAgIjpnbG1hcmsyX3NjZW5lX3RlcnJhaW5fZ2xlcyIsCist
ICBdCistfQorLQorLWdsbWFyazJfY29tbW9uKCJnbG1hcmsyX2NvbW1vbl9nbCIpIHsKKy0gIHB1
YmxpY19kZXBzID0gWworLSAgICAiOmdsbWFyazJfZ2wiLAorLSAgICAiOmdsbWFyazJfbGlibWF0
cml4X2dsIiwKKy0gICAgIjpnbG1hcmsyX3NjZW5lX2lkZWFzX2dsIiwKKy0gICAgIjpnbG1hcmsy
X3NjZW5lX3RlcnJhaW5fZ2wiLAorLSAgXQorLX0KKy0KKy1nbG1hcmsyX3ZlcnNpb24gPSAiMjAx
Ny4wNyIKKy0KKy10ZW1wbGF0ZSgiZ2xtYXJrMl9leGUiKSB7CistICBleGVjdXRhYmxlKHRhcmdl
dF9uYW1lKSB7CistICAgIGZvcndhcmRfdmFyaWFibGVzX2Zyb20oaW52b2tlciwgIioiKQorLSAg
ICBzb3VyY2VzICs9IFsKKy0gICAgICAic3JjL3NyYy9jYW52YXMtZ2VuZXJpYy5jcHAiLAorLSAg
ICAgICJzcmMvc3JjL2NhbnZhcy1nZW5lcmljLmgiLAorLSAgICAgICJzcmMvc3JjL21haW4uY3Bw
IiwKKy0gICAgXQorLSAgICBkYXRhID0gWworLSAgICAgICJzcmMvZGF0YS8iLAorLSAgICBdCist
CistICAgIGRlZmluZXMgKz0gWyAiR0xNQVJLX1ZFUlNJT049XCIke2dsbWFyazJfdmVyc2lvbn1c
IiIgXQorLQorLSAgICBpZiAoaXNfd2luKSB7CistICAgICAgZGVmaW5lcyArPSBbICJHTE1BUksy
X1VTRV9XSU4zMiIgXQorLSAgICAgIHNvdXJjZXMgKz0gWworLSAgICAgICAgInNyYy9zcmMvbmF0
aXZlLXN0YXRlLXdpbjMyLmNwcCIsCistICAgICAgICAic3JjL3NyYy9uYXRpdmUtc3RhdGUtd2lu
MzIuaCIsCistICAgICAgXQorLSAgICB9CistICAgIGlmIChpc19saW51eCkgeworLSAgICAgIGRl
ZmluZXMgKz0gWyAiR0xNQVJLMl9VU0VfWDExIiBdCistICAgICAgc291cmNlcyArPSBbCistICAg
ICAgICAic3JjL3NyYy9uYXRpdmUtc3RhdGUteDExLmNwcCIsCistICAgICAgICAic3JjL3NyYy9u
YXRpdmUtc3RhdGUteDExLmgiLAorLSAgICAgIF0KKy0gICAgICBsaWJzID0gWyAiWDExIiBdCist
ICAgIH0KKy0gIH0KKy19CistCistZ2xtYXJrMl9leGUoImdsbWFyazJfYW5nbGUiKSB7CistICBz
b3VyY2VzID0gWworLSAgICAic3JjL3NyYy9nbC1zdGF0ZS1lZ2wuY3BwIiwKKy0gIF0KKy0gIGRl
cHMgPSBbCistICAgICI6Z2xtYXJrMl9jb21tb25fZ2xlcyIsCistICBdCistICBkYXRhX2RlcHMg
PSBbCistICAgICIke2FuZ2xlX3Jvb3R9OmxpYkVHTCIsCistICAgICIke2FuZ2xlX3Jvb3R9Omxp
YkdMRVN2MiIsCistICBdCistCistICBkZWZpbmVzID0gWworLSAgICAiRUdMX0VHTF9QUk9UT1RZ
UEVTPTEiLAorLSAgICAiR0xNQVJLMl9VU0VfRUdMIiwKKy0gIF0KKy0KKy0gIGlmIChpc19saW51
eCAmJiAhaXNfY29tcG9uZW50X2J1aWxkKSB7CistICAgICMgU2V0IHJwYXRoIHRvIGZpbmQgc2hh
cmVkIGxpYnMgaW4gYSBub24tY29tcG9uZW50IGJ1aWxkLgorLSAgICBwdWJsaWNfY29uZmlncyA9
IFsgIi8vYnVpbGQvY29uZmlnL2djYzpycGF0aF9mb3JfYnVpbHRfc2hhcmVkX2xpYnJhcmllcyIg
XQorLSAgfQorLX0KKy0KKy1pZiAoaXNfbGludXgpIHsKKy0gIGdsbWFyazJfZXhlKCJnbG1hcmsy
X2dseCIpIHsKKy0gICAgc291cmNlcyA9IFsKKy0gICAgICAic3JjL3NyYy9nbC1zdGF0ZS1nbHgu
Y3BwIiwKKy0gICAgICAic3JjL3NyYy9nbGFkL2luY2x1ZGUvZ2xhZC9nbHguaCIsCistICAgICAg
InNyYy9zcmMvZ2xhZC9zcmMvZ2x4LmMiLAorLSAgICBdCistICAgIGRlcHMgPSBbCistICAgICAg
IjpnbG1hcmsyX2NvbW1vbl9nbCIsCistICAgIF0KKy0KKy0gICAgZGVmaW5lcyA9IFsgIkdMTUFS
SzJfVVNFX0dMWCIgXQorLSAgfQorLX0KKy0KKy0jIG9wZW5nbDMyLmxpYi9vcGVuZ2wzMi5kbGwg
YXJlIG5vdCBhdmFpbGFibGUgb24gV2luZG93cyBBUk02NC4KKy1pZiAoaXNfd2luICYmIHRhcmdl
dF9jcHUgIT0gImFybTY0IikgeworLSAgZ2xtYXJrMl9leGUoImdsbWFyazJfd2dsIikgeworLSAg
ICBzb3VyY2VzID0gWworLSAgICAgICJzcmMvc3JjL2dsLXN0YXRlLXdnbC5jcHAiLAorLSAgICBd
CistICAgIGRlcHMgPSBbCistICAgICAgIjpnbG1hcmsyX2NvbW1vbl9nbCIsCistICAgIF0KKy0K
Ky0gICAgbGlicyA9IFsgIm9wZW5nbDMyLmxpYiIgXQorLSAgICBkZWZpbmVzID0gWyAiR0xNQVJL
Ml9VU0VfV0dMIiBdCistICB9CistfQorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3RoaXJkX3BhcnR5L2dsbWFyazIvUkVBRE1FLmFuZ2xlIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9SRUFETUUuYW5nbGUKK2RlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAoraW5kZXggYTJiNjM3MWZlZDguLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS90aGlyZF9wYXJ0eS9nbG1hcmsyL1JFQURNRS5hbmdsZQorKysrIC9kZXYv
bnVsbAorQEAgLTEsMTIgKzAsMCBAQAorLU5hbWU6IGdsbWFyazIKKy1TaG9ydCBOYW1lOiBnbG1h
cmsyCistVVJMOiBodHRwczovL2dpdGh1Yi5jb20vZ2xtYXJrMi9nbG1hcmsyCistU2VjdXJpdHkg
Q3JpdGljYWw6IG5vCistTGljZW5zZTogR1BMIHYzCistTGljZW5zZSBGaWxlOiBOT1RfU0hJUFBF
RAorLQorLURlc2NyaXB0aW9uOgorLWdsbWFyazIgaXMgYW4gT3BlbkdMIDIuMCBhbmQgRVMgMi4w
IGJlbmNobWFyay4KKy0KKy1nbG1hcmsyIGlzIGRldmVsb3BlZCBieSBBbGV4YW5kcm9zIEZyYW50
emlzIGFuZCBKZXNzZSBCYXJrZXIgYmFzZWQgb24gdGhlCistb3JpZ2luYWwgZ2xtYXJrIGJlbmNo
bWFyayBieSBCZW4gU21pdGguCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
dG9vbHMvZmxleC1iaXNvbi9SRUFETUUubWQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29s
cy9mbGV4LWJpc29uL1JFQURNRS5tZAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA4
ZGZlMTI2MjY2MC4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rv
b2xzL2ZsZXgtYmlzb24vUkVBRE1FLm1kCisrKysgL2Rldi9udWxsCitAQCAtMSwxMjkgKzAsMCBA
QAorLSMgZmxleCBhbmQgYmlzb24gYmluYXJpZXMKKy0KKy1UaGlzIGZvbGRlciBjb250YWlucyB0
aGUgZmxleCBhbmQgYmlzb24gYmluYXJpZXMuIFdlIHVzZSB0aGVzZSBiaW5hcmllcyB0bworLWdl
bmVyYXRlIHRoZSBBTkdMRSB0cmFuc2xhdG9yJ3MgbGV4ZXIgYW5kIHBhcnNlci4KKy0KKy1Vc2Ug
dGhlIHNjcmlwdCBbYHVwZGF0ZV9mbGV4X2Jpc29uX2JpbmFyaWVzLnB5YF0odXBkYXRlX2ZsZXhf
Ymlzb25fYmluYXJpZXMucHkpCistdG8gdXBkYXRlIHRoZSB2ZXJzaW9ucyBvZiB0aGVzZSBiaW5h
cmllcyBpbiBjbG91ZCBzdG9yYWdlLiBJdCBtdXN0IGJlIHJ1biBvbgorLUxpbnV4IG9yIFdpbmRv
d3MuIEl0IHdpbGwgdXBkYXRlIHRoZSBTSEFzIGZvciB5b3VyIHBsYXRmb3JtLiBBZnRlciBydW5u
aW5nIHRoZQorLXNjcmlwdCBydW4gYGdpdCBjb21taXRgIGFuZCB0aGVuIGBnaXQgY2wgdXBsb2Fk
YCB0byBjb2RlIHJldmlldyB1c2luZyB0aGUgbm9ybWFsCistcmV2aWV3IHByb2Nlc3MuIFlvdSB3
aWxsIGFsc28gd2FudCB0byBydW4KKy1bYHNjcmlwdHMvcnVuX2NvZGVfZ2VuZXJhdGlvbi5weWBd
KC4uLy4uL3NjcmlwdHMvcnVuX2NvZGVfZ2VuZXJhdGlvbi5weSkgdG8KKy11cGRhdGUgdGhlIGdl
bmVyYXRlZCBmaWxlcy4KKy0KKy1QbGVhc2UgdXBkYXRlIGJvdGggV2luZG93cyBhbmQgTGludXgg
YmluYXJpZXMgYXQgdGhlIHNhbWUgdGltZS4gVXNlIHR3byBDTHMuIE9uZQorLWZvciBlYWNoIHBs
YXRmb3JtLiBOb3RlIHRoYXQgd2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgTWFjIGZvciBnZW5l
cmF0aW5nIHRoZQorLWxleGVyIGFuZCBwYXJzZXIgZmlsZXMuIElmIHdlIGRvIHdlIHNob3VsZCBh
ZGQgYSBmbGV4L2Jpc29uIGRvd25sb2FkIGZvciBNYWMgYXMKKy13ZWxsLgorLQorLUNvbnRhY3Qg
am1hZGlsbCBvciBzeW91c3NlZmkgZm9yIGFueSBoZWxwIHdpdGggdXBkYXRpbmcgdGhlIGJpbmFy
aWVzLgorLQorLSMjIFVwZGF0aW5nIGZsZXggYW5kIGJpc29uIGJpbmFyaWVzCistCistVGhpcyBp
cyBleHBlY3RlZCB0byBiZSBhIHJhcmUgb3BlcmF0aW9uLCBhbmQgaXMgY3VycmVudGx5IGRvbmUg
YmFzZWQgb24gdGhlCistZm9sbG93aW5nIGluc3RydWN0aW9ucy4gIE5vdGU6IGdldCB0aGUgYmlu
YXJpZXMgZmlyc3Qgb24gd2luZG93cywgYXMgb25seSBhCistc2luZ2xlIG9wdGlvbiBpcyBhdmFp
bGFibGUsIHRoZW4gYnVpbGQgdGhlIGJpbmFyaWVzIGZvciB0aGUgc2FtZSB2ZXJzaW9uIG9uCist
TGludXguCistCistIyMjIE9uIFdpbmRvd3MKKy0KKy1JbnN0YWxsIE1TeXMyICh4ODZfNjQpIGZy
b20gaHR0cDovL3d3dy5tc3lzMi5vcmcvIG9uIFdpbmRvd3MuICBgZmxleGAgc2hvdWxkCistYWxy
ZWFkeSBiZSBpbnN0YWxsZWQuICBJbnN0YWxsIGJpc29uOgorLQorLWBgYAorLSQgcGFjbWFuIC1T
IGJpc29uCistYGBgCistCistTm90ZSB0aGUgdmVyc2lvbnMgb2YgZmxleCBhbmQgYmlzb24gc28g
dGhlIHNhbWUgdmVyc2lvbnMgY2FuIGJlIGJ1aWxkIG9uIExpbnV4LgorLUZvciBleGFtcGxlOgor
LQorLWBgYAorLSQgZmxleCAtLXZlcnNpb24KKy1mbGV4IDIuNi40CistCistJCBiaXNvbiAtLXZl
cnNpb24KKy1iaXNvbiAoR05VIEJpc29uKSAzLjMuMgorLWBgYAorLQorLVRoZSBvbmx5IGRlcGVu
ZGVuY2llcyBmcm9tIE1TeXMyIHNob3VsZCBiZSB0aGUgZm9sbG93aW5nOgorLQorLWBgYAorLW1z
eXMtaW50bC04LmRsbAorLW1zeXMtaWNvbnYtMi5kbGwKKy1tc3lzLTIuMC5kbGwKKy1gYGAKKy0K
Ky1UaGlzIGNhbiBiZSB2ZXJpZmllZCB3aXRoOgorLQorLWBgYAorLSQgbGRkIC91c3IvYmluL2Zs
ZXgKKy0kIGxkZCAvdXNyL2Jpbi9iaXNvbgorLWBgYAorLQorLUFkZGl0aW9uYWxseSwgd2UgbmVl
ZCB0aGUgYmluYXJ5IGZvciBtNCBhdCBgL3Vzci9iaW4vbTRgLgorLQorLUNvcHkgYWxsIHRoZXNl
IDUgZmlsZXMgdG8gdGhpcyBkaXJlY3Rvcnk6CistCistYGBgCistJCBjZCBhbmdsZS8KKy0kIGNw
IC91c3IvYmluL2ZsZXguZXhlIFwKKy0gICAgIC91c3IvYmluL2Jpc29uLmV4ZSBcCistICAgICAv
dXNyL2Jpbi9tNC5leGUgXAorLSAgICAgL3Vzci9iaW4vbXN5cy1pbnRsLTguZGxsIFwKKy0gICAg
IC91c3IvYmluL21zeXMtaWNvbnYtMi5kbGwgXAorLSAgICAgL3Vzci9iaW4vbXN5cy0yLjAuZGxs
IFwKKy0gICAgIHRvb2xzL2ZsZXgtYmlzb24vd2luZG93cy8KKy1gYGAKKy0KKy1VcGxvYWQgdGhl
IGJpbmFyaWVzOgorLQorLWBgYAorLSQgY2QgYW5nbGUvCistJCBweXRob24gdG9vbHMvZmxleC1i
aXNvbi91cGRhdGVfZmxleF9iaXNvbl9iaW5hcmllcy5weQorLWBgYAorLQorLSMjIyBPbiBMaW51
eAorLQorLWBgYAorLSMgR2V0IHRoZSBzb3VyY2Ugb2YgZmxleAorLSQgZ2l0IGNsb25lIGh0dHBz
Oi8vZ2l0aHViLmNvbS93ZXN0ZXMvZmxleC5naXQKKy0kIGNkIGZsZXgvCistIyBDaGVja291dCB0
aGUgc2FtZSB2ZXJzaW9uIGFzIG1zeXMyIG9uIHdpbmRvd3MKKy0kIGdpdCBjaGVja291dCB2Mi42
LjQKKy0jIEJ1aWxkCistJCBhdXRvcmVjb25mIC1pCistJCBta2RpciBidWlsZCAmJiBjZCBidWls
ZAorLSQgLi4vY29uZmlndXJlIENGTEFHUz0iLU8yIC1EX0dOVV9TT1VSQ0UiCistJCBtYWtlIC1q
CistYGBgCistCistYGBgCistIyBHZXQgdGhlIHNvdXJjZSBvZiBiaXNvbgorLSQgY3VybCBodHRw
Oi8vZnRwLmdudS5vcmcvZ251L2Jpc29uL2Jpc29uLTMuMy4yLnRhci54eiB8IHRhciAteEoKKy0k
IGNkIGJpc29uLTMuMy4yCistIyBCdWlsZAorLSQgbWtkaXIgYnVpbGQgJiYgY2QgYnVpbGQKKy0k
IC4uL2NvbmZpZ3VyZSBDRkxBR1M9Ii1PMiIKKy0kIG1ha2UgLWoKKy1gYGAKKy0KKy1Ob3RlOiBC
aXNvbidzIFtob21lIHBhZ2VdW0Jpc29uXSBsaXN0cyBmdHAgc2VydmVyIGFuZCBvdGhlciBtaXJy
b3JzLiAgSWYgdGhlCistYWJvdmUgbGluayBpcyBicm9rZW4sIHJlcGxhY2Ugd2l0aCBhIG1pcnJv
ci4KKy0KKy1Db3B5IHRoZSAyIGV4ZWN1dGFibGVzIHRvIHRoaXMgZGlyZWN0b3J5OgorLQorLWBg
YAorLSQgY2QgYW5nbGUvCistJCBjcCAvcGF0aC90by9mbGV4L2J1aWxkL3NyYy9mbGV4IFwKKy0g
ICAgIC9wYXRoL3RvL2Jpc29uL2J1aWxkL3NyYy9iaXNvbiBcCistICAgICB0b29scy9mbGV4LWJp
c29uL2xpbnV4LworLWBgYAorLQorLVVwbG9hZCB0aGUgYmluYXJpZXM6CistCistYGBgCistJCBj
ZCBhbmdsZS8KKy0kIHB5dGhvbiB0b29scy9mbGV4LWJpc29uL3VwZGF0ZV9mbGV4X2Jpc29uX2Jp
bmFyaWVzLnB5CistYGBgCistCistW0Jpc29uXTogaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy
ZS9iaXNvbi8KK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL2xpbnV4L2Jpc29uLnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9m
bGV4LWJpc29uL2xpbnV4L2Jpc29uLnNoYTEKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5k
ZXggYzkzZDkyZGU0MTkuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS90b29scy9mbGV4LWJpc29uL2xpbnV4L2Jpc29uLnNoYTEKKysrKyAvZGV2L251bGwKK0BAIC0x
ICswLDAgQEAKKy1lNjI4YjczY2QwYTc2N2Q5M2UxZjk0YjVhODZjZTUxY2E4M2M5OWQ1CitcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS90b29scy9mbGV4LWJpc29uL2xpbnV4L2ZsZXguc2hhMSBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vbGludXgvZmxleC5zaGExCitkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKK2luZGV4IGQzNDAwNDdjYTEyLi4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi9saW51eC9mbGV4LnNoYTEKKysrKyAvZGV2
L251bGwKK0BAIC0xICswLDAgQEAKKy1lODMwZTZjMDUwOGQ5Njg1ODc2ZTc3MzA0YmJlN2M0YTEy
MmMwOGU4CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5Ly5naXRhdHRyaWJ1
dGVzIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0
eS8uZ2l0YXR0cmlidXRlcworZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwNjg4Yzhh
MTQ5MS4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2Zs
ZXgtYmlzb24vdGhpcmRfcGFydHkvLmdpdGF0dHJpYnV0ZXMKKysrKyAvZGV2L251bGwKK0BAIC0x
ICswLDAgQEAKKy0qICAgICAgICAgICAgICAgICAgICBlb2w9bGYKK2RpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3VnYXIv
TElDRU5TRSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRf
cGFydHkvbTRzdWdhci9MSUNFTlNFCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGQ1
MTE5MDVjMTY0Li4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9v
bHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL0xJQ0VOU0UKKysrKyAvZGV2L251bGwK
K0BAIC0xLDMzOSArMCwwIEBACistCQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKy0J
CSAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQorLQorLSBDb3B5cmlnaHQgKEMpIDE5ODksIDE5
OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorLSA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCistIEV2ZXJ5b25lIGlzIHBl
cm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcworLSBvZiB0aGlz
IGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKy0KKy0J
CQkgICAgUHJlYW1ibGUKKy0KKy0gIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUg
ZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKKy1mcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2Ug
aXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworLUxpY2Vuc2UgaXMgaW50
ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUK
Ky1zb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRz
IHVzZXJzLiAgVGhpcworLUdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9m
IHRoZSBGcmVlIFNvZnR3YXJlCistRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3Ro
ZXIgcHJvZ3JhbSB3aG9zZSBhdXRob3JzIGNvbW1pdCB0bworLXVzaW5nIGl0LiAgKFNvbWUgb3Ro
ZXIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHNvZnR3YXJlIGlzIGNvdmVyZWQgYnkKKy10aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBs
eSBpdCB0bworLXlvdXIgcHJvZ3JhbXMsIHRvby4KKy0KKy0gIFdoZW4gd2Ugc3BlYWsgb2YgZnJl
ZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKKy1wcmljZS4gIE91
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQg
eW91CistaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3
YXJlIChhbmQgY2hhcmdlIGZvcgorLXRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91
IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAorLWlmIHlvdSB3YW50IGl0LCB0aGF0
IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0CistaW4gbmV3
IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdz
LgorLQorLSAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0
aW9ucyB0aGF0IGZvcmJpZAorLWFueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8g
YXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4KKy1UaGVzZSByZXN0cmljdGlvbnMgdHJh
bnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQorLWRpc3Ry
aWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYgeW91IG1vZGlmeSBpdC4KKy0KKy0g
IEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0s
IHdoZXRoZXIKKy1ncmF0aXMgb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGll
bnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQKKy15b3UgaGF2ZS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0
aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZQorLXNvdXJjZSBjb2RlLiAgQW5k
IHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKKy1yaWdo
dHMuCistCistICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29w
eXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCistKDIpIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2Ugd2hp
Y2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwKKy1kaXN0cmlidXRlIGFuZC9v
ciBtb2RpZnkgdGhlIHNvZnR3YXJlLgorLQorLSAgQWxzbywgZm9yIGVhY2ggYXV0aG9yJ3MgcHJv
dGVjdGlvbiBhbmQgb3Vycywgd2Ugd2FudCB0byBtYWtlIGNlcnRhaW4KKy10aGF0IGV2ZXJ5b25l
IHVuZGVyc3RhbmRzIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZQorLXNv
ZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQg
cGFzc2VkIG9uLCB3ZQorLXdhbnQgaXRzIHJlY2lwaWVudHMgdG8ga25vdyB0aGF0IHdoYXQgdGhl
eSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwsIHNvCistdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9k
dWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwKKy1hdXRob3Jz
JyByZXB1dGF0aW9ucy4KKy0KKy0gIEZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0
ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlCistcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQg
dGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQorLXByb2dyYW0gd2lsbCBp
bmRpdmlkdWFsbHkgb2J0YWluIHBhdGVudCBsaWNlbnNlcywgaW4gZWZmZWN0IG1ha2luZyB0aGUK
Ky1wcm9ncmFtIHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB3ZSBoYXZlIG1hZGUgaXQg
Y2xlYXIgdGhhdCBhbnkKKy1wYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBm
cmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgorLQorLSAgVGhlIHByZWNpc2UgdGVybXMg
YW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKKy1tb2RpZmljYXRp
b24gZm9sbG93LgorLQorLQkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCistICAgVEVS
TVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FU
SU9OCistCistICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhl
ciB3b3JrIHdoaWNoIGNvbnRhaW5zCistYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQg
aG9sZGVyIHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQKKy11bmRlciB0aGUgdGVybXMgb2Yg
dGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhlICJQcm9ncmFtIiwgYmVsb3csCistcmVm
ZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQgb24gdGhl
IFByb2dyYW0iCistbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdv
cmsgdW5kZXIgY29weXJpZ2h0IGxhdzoKKy10aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5p
bmcgdGhlIFByb2dyYW0gb3IgYSBwb3J0aW9uIG9mIGl0LAorLWVpdGhlciB2ZXJiYXRpbSBvciB3
aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyCistbGFuZ3Vh
Z2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzIGluY2x1ZGVkIHdpdGhvdXQgbGltaXRh
dGlvbiBpbgorLXRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgIEVhY2ggbGljZW5zZWUgaXMgYWRk
cmVzc2VkIGFzICJ5b3UiLgorLQorLUFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0
cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90CistY292ZXJlZCBieSB0aGlzIExpY2Vu
c2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgorLXJ1bm5pbmcgdGhl
IFByb2dyYW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dy
YW0KKy1pcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJh
c2VkIG9uIHRoZQorLVByb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkg
cnVubmluZyB0aGUgUHJvZ3JhbSkuCistV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3
aGF0IHRoZSBQcm9ncmFtIGRvZXMuCistCistICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1
dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3MKKy1zb3VyY2UgY29kZSBhcyB5b3Ug
cmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UKKy1jb25zcGljdW91
c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRl
CistY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRh
Y3QgYWxsIHRoZQorLW5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRo
ZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsKKy1hbmQgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50
cyBvZiB0aGUgUHJvZ3JhbSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlCistYWxvbmcgd2l0aCB0aGUg
UHJvZ3JhbS4KKy0KKy1Zb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBv
ZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LCBhbmQKKy15b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVy
IHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEgZmVlLgorLQorLSAgMi4gWW91
IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSBvciBhbnkgcG9y
dGlvbgorLW9mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBh
bmQgY29weSBhbmQKKy1kaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVy
IHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKKy1hYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBt
ZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgorLQorLSAgICBhKSBZb3UgbXVzdCBjYXVzZSB0
aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKy0gICAgc3RhdGlu
ZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4K
Ky0KKy0gICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBv
ciBwdWJsaXNoLCB0aGF0IGluCistICAgIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMg
ZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueQorLSAgICBwYXJ0IHRoZXJlb2YsIHRvIGJl
IGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZAorLSAgICBwYXJ0
aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCistCistICAgIGMpIElmIHRoZSBt
b2RpZmllZCBwcm9ncmFtIG5vcm1hbGx5IHJlYWRzIGNvbW1hbmRzIGludGVyYWN0aXZlbHkKKy0g
ICAgd2hlbiBydW4sIHlvdSBtdXN0IGNhdXNlIGl0LCB3aGVuIHN0YXJ0ZWQgcnVubmluZyBmb3Ig
c3VjaAorLSAgICBpbnRlcmFjdGl2ZSB1c2UgaW4gdGhlIG1vc3Qgb3JkaW5hcnkgd2F5LCB0byBw
cmludCBvciBkaXNwbGF5IGFuCistICAgIGFubm91bmNlbWVudCBpbmNsdWRpbmcgYW4gYXBwcm9w
cmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgYQorLSAgICBub3RpY2UgdGhhdCB0aGVyZSBpcyBu
byB3YXJyYW50eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHByb3ZpZGUKKy0gICAgYSB3YXJy
YW50eSkgYW5kIHRoYXQgdXNlcnMgbWF5IHJlZGlzdHJpYnV0ZSB0aGUgcHJvZ3JhbSB1bmRlcgor
LSAgICB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gdmlldyBh
IGNvcHkgb2YgdGhpcworLSAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0g
aXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dAorLSAgICBkb2VzIG5vdCBub3JtYWxseSBwcmludCBz
dWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uCistICAgIHRoZSBQcm9ncmFt
IGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQorLQorLVRoZXNlIHJl
cXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKKy1p
ZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRo
ZSBQcm9ncmFtLAorLWFuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50
IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgorLXRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBh
bmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKKy1zZWN0aW9ucyB3aGVuIHlvdSBk
aXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKKy1kaXN0cmli
dXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsg
YmFzZWQKKy1vbiB0aGUgUHJvZ3JhbSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVz
dCBiZSBvbiB0aGUgdGVybXMgb2YKKy10aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZv
ciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQorLWVudGlyZSB3aG9sZSwgYW5kIHRodXMg
dG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZSBpdC4KKy0KKy1U
aHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRz
IG9yIGNvbnRlc3QKKy15b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91
OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KKy1leGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJv
bCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKKy1jb2xsZWN0aXZlIHdvcmtzIGJh
c2VkIG9uIHRoZSBQcm9ncmFtLgorLQorLUluIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9m
IGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0KKy13aXRoIHRoZSBQcm9ncmFt
IChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKKy1h
IHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIg
d29yayB1bmRlcgorLXRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCistCistICAzLiBZb3UgbWF5
IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGEgd29yayBiYXNlZCBvbiBpdCwK
Ky11bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRl
ciB0aGUgdGVybXMgb2YKKy1TZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91
IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CistCistICAgIGEpIEFjY29tcGFueSBpdCB3
aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUKKy0gICAgc291
cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNl
Y3Rpb25zCistICAgIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBm
b3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorLQorLSAgICBiKSBBY2NvbXBhbnkgaXQgd2l0
aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQorLSAgICB5ZWFycywg
dG8gZ2l2ZSBhbnkgdGhpcmQgcGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91cgor
LSAgICBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBh
IGNvbXBsZXRlCistICAgIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGlu
ZyBzb3VyY2UgY29kZSwgdG8gYmUKKy0gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9m
IFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0KKy0gICAgY3VzdG9tYXJpbHkgdXNl
ZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorLQorLSAgICBjKSBBY2NvbXBhbnkgaXQg
d2l0aCB0aGUgaW5mb3JtYXRpb24geW91IHJlY2VpdmVkIGFzIHRvIHRoZSBvZmZlcgorLSAgICB0
byBkaXN0cmlidXRlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUuICAoVGhpcyBhbHRlcm5hdGl2
ZSBpcworLSAgICBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFu
ZCBvbmx5IGlmIHlvdQorLSAgICByZWNlaXZlZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBv
ciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoCistICAgIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0
aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQorLQorLVRoZSBzb3VyY2UgY29kZSBmb3IgYSB3b3JrIG1l
YW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKKy1tYWtpbmcgbW9kaWZpY2F0
aW9ucyB0byBpdC4gIEZvciBhbiBleGVjdXRhYmxlIHdvcmssIGNvbXBsZXRlIHNvdXJjZQorLWNv
ZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMs
IHBsdXMgYW55CistYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0
aGUgc2NyaXB0cyB1c2VkIHRvCistY29udHJvbCBjb21waWxhdGlvbiBhbmQgaW5zdGFsbGF0aW9u
IG9mIHRoZSBleGVjdXRhYmxlLiAgSG93ZXZlciwgYXMgYQorLXNwZWNpYWwgZXhjZXB0aW9uLCB0
aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQorLWFueXRoaW5nIHRo
YXQgaXMgbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5Cist
Zm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNv
IG9uKSBvZiB0aGUKKy1vcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1
bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAorLWl0c2VsZiBhY2NvbXBhbmllcyB0aGUgZXhlY3V0
YWJsZS4KKy0KKy1JZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBp
cyBtYWRlIGJ5IG9mZmVyaW5nCistYWNjZXNzIHRvIGNvcHkgZnJvbSBhIGRlc2lnbmF0ZWQgcGxh
Y2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudAorLWFjY2VzcyB0byBjb3B5IHRoZSBzb3VyY2Ug
Y29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIGNvdW50cyBhcworLWRpc3RyaWJ1dGlvbiBvZiB0aGUg
c291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdAorLWNvbXBlbGxl
ZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCistCistICA0
LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhl
IFByb2dyYW0KKy1leGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5z
ZS4gIEFueSBhdHRlbXB0Cistb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBv
ciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCistdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxs
eSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgorLUhvd2V2ZXIsIHBh
cnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVy
CistdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBz
byBsb25nIGFzIHN1Y2gKKy1wYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCistCist
ICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5
b3UgaGF2ZSBub3QKKy1zaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlv
dSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgorLWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gb3IgaXRz
IGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQorLXByb2hpYml0ZWQgYnkgbGF3
IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKKy1tb2Rp
Znlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0
aGUKKy1Qcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vu
c2UgdG8gZG8gc28sIGFuZAorLWFsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlp
bmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKKy10aGUgUHJvZ3JhbSBvciB3b3JrcyBiYXNl
ZCBvbiBpdC4KKy0KKy0gIDYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQcm9ncmFt
IChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKKy1Qcm9ncmFtKSwgdGhlIHJlY2lwaWVudCBhdXRv
bWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQorLW9yaWdpbmFsIGxpY2Vuc29y
IHRvIGNvcHksIGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8KKy10
aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhl
cgorLXJlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0
cyBncmFudGVkIGhlcmVpbi4KKy1Zb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5n
IGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB0bworLXRoaXMgTGljZW5zZS4KKy0KKy0gIDcu
IElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBv
ZiBwYXRlbnQKKy1pbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1p
dGVkIHRvIHBhdGVudCBpc3N1ZXMpLAorLWNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3
aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKKy1vdGhlcndpc2UpIHRoYXQgY29u
dHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CistZXhj
dXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5u
b3QKKy1kaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxp
Z2F0aW9ucyB1bmRlciB0aGlzCistTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxp
Z2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQorLW1heSBub3QgZGlzdHJpYnV0ZSB0
aGUgUHJvZ3JhbSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKKy1saWNlbnNlIHdv
dWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFt
IGJ5CistYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5
IHRocm91Z2ggeW91LCB0aGVuCistdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGgg
aXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bworLXJlZnJhaW4gZW50aXJlbHkgZnJvbSBk
aXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0uCistCistSWYgYW55IHBvcnRpb24gb2YgdGhpcyBz
ZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCistYW55IHBhcnRp
Y3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRl
ZCB0bworLWFwcGx5IGFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFw
cGx5IGluIG90aGVyCistY2lyY3Vtc3RhbmNlcy4KKy0KKy1JdCBpcyBub3QgdGhlIHB1cnBvc2Ug
b2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CistcGF0ZW50cyBv
ciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBh
bnkKKy1zdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHBy
b3RlY3RpbmcgdGhlCistaW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlv
biBzeXN0ZW0sIHdoaWNoIGlzCistaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3Rp
Y2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCistZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0
aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAorLXRocm91Z2ggdGhhdCBzeXN0
ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0Cistc3lzdGVt
OyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMg
d2lsbGluZworLXRvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVt
IGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAorLWltcG9zZSB0aGF0IGNob2ljZS4KKy0KKy1UaGlzIHNl
Y3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2
ZWQgdG8KKy1iZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKy0K
Ky0gIDguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3JhbSBpcyBy
ZXN0cmljdGVkIGluCistY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkg
Y29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCistb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3
aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZQorLW1heSBhZGQgYW4gZXhw
bGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZworLXRo
b3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4g
b3IgYW1vbmcKKy1jb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRo
aXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMKKy10aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGlu
IHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KKy0KKy0gIDkuIFRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zCistb2YgdGhl
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJz
aW9ucyB3aWxsCistYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwg
YnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCistYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29u
Y2VybnMuCistCistRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lv
biBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQorLXNwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVyIG9m
IHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55CistbGF0ZXIgdmVyc2lv
biIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0
aW9ucworLWVpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlCistU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFt
IGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZgorLXRoaXMgTGljZW5zZSwgeW91
IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUKKy1Gb3VuZGF0aW9uLgorLQorLSAgMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBh
cnRzIG9mIHRoZSBQcm9ncmFtIGludG8gb3RoZXIgZnJlZQorLXByb2dyYW1zIHdob3NlIGRpc3Ry
aWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKKy10
byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQg
YnkgdGhlIEZyZWUKKy1Tb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMKKy1tYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMu
ICBPdXIgZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscworLW9mIHByZXNl
cnZpbmcgdGhlIGZyZWUgc3RhdHVzIG9mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0
d2FyZSBhbmQKKy1vZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJl
IGdlbmVyYWxseS4KKy0KKy0JCQkgICAgTk8gV0FSUkFOVFkKKy0KKy0gIDExLiBCRUNBVVNFIFRI
RSBQUk9HUkFNIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5U
WQorLUZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJM
RSBMQVcuICBFWENFUFQgV0hFTgorLU9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMKKy1QUk9WSURFIFRIRSBQUk9HUkFN
ICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRAor
LU9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GCistTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUworLVRPIFRIRSBRVUFMSVRZIEFORCBQRVJG
T1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUKKy1QUk9HUkFN
IFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNF
UlZJQ0lORywKKy1SRVBBSVIgT1IgQ09SUkVDVElPTi4KKy0KKy0gIDEyLiBJTiBOTyBFVkVOVCBV
TkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcK
Ky1XSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBN
T0RJRlkgQU5EL09SCistUkVESVNUUklCVVRFIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9W
RSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywKKy1JTkNMVURJTkcgQU5ZIEdFTkVSQUws
IFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcKKy1P
VVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVECistVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQg
SU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCistWU9VIE9SIFRISVJEIFBBUlRJRVMg
T1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIKKy1Q
Uk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURW
SVNFRCBPRiBUSEUKKy1QT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCistCistCQkgICAgIEVO
RCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUworLQorLQkgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRl
cm1zIHRvIFlvdXIgTmV3IFByb2dyYW1zCistCistICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9n
cmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CistcG9zc2libGUgdXNl
IHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBp
dAorLWZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hh
bmdlIHVuZGVyIHRoZXNlIHRlcm1zLgorLQorLSAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9sbG93
aW5nIG5vdGljZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKKy10byBhdHRhY2ggdGhl
bSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5Cist
Y29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhh
dmUgYXQgbGVhc3QKKy10aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJl
IHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KKy0KKy0gICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhl
IHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKy0gICAg
Q29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKy0KKy0gICAgVGhpcyBwcm9n
cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp
ZnkKKy0gICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy0gICAgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0KKy0gICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICAgIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistICAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUKKy0gICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0K
Ky0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgYWxvbmcKKy0gICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp
dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKy0gICAgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKy0KKy1B
bHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBh
bmQgcGFwZXIgbWFpbC4KKy0KKy1JZiB0aGUgcHJvZ3JhbSBpcyBpbnRlcmFjdGl2ZSwgbWFrZSBp
dCBvdXRwdXQgYSBzaG9ydCBub3RpY2UgbGlrZSB0aGlzCistd2hlbiBpdCBzdGFydHMgaW4gYW4g
aW50ZXJhY3RpdmUgbW9kZToKKy0KKy0gICAgR25vbW92aXNpb24gdmVyc2lvbiA2OSwgQ29weXJp
Z2h0IChDKSB5ZWFyIG5hbWUgb2YgYXV0aG9yCistICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGgg
QUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KKy0gICAg
VGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0
ZSBpdAorLSAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRl
dGFpbHMuCistCistVGhlIGh5cG90aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cg
Yycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCistcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHRoZSBjb21tYW5kcyB5b3UgdXNlIG1heQorLWJlIGNh
bGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hvdyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291
bGQgZXZlbiBiZQorLW1vdXNlLWNsaWNrcyBvciBtZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5
b3VyIHByb2dyYW0uCistCistWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5
b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKKy1zY2hvb2wsIGlmIGFueSwgdG8gc2ln
biBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZgorLW5lY2Vzc2Fy
eS4gIEhlcmUgaXMgYSBzYW1wbGU7IGFsdGVyIHRoZSBuYW1lczoKKy0KKy0gIFlveW9keW5lLCBJ
bmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHByb2dy
YW0KKy0gIGBHbm9tb3Zpc2lvbicgKHdoaWNoIG1ha2VzIHBhc3NlcyBhdCBjb21waWxlcnMpIHdy
aXR0ZW4gYnkgSmFtZXMgSGFja2VyLgorLQorLSAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBB
cHJpbCAxOTg5CistICBUeSBDb29uLCBQcmVzaWRlbnQgb2YgVmljZQorLQorLVRoaXMgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dy
YW0gaW50bworLXByb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91ciBwcm9ncmFtIGlzIGEgc3Vi
cm91dGluZSBsaWJyYXJ5LCB5b3UgbWF5CistY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVy
bWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlCistbGlicmFyeS4g
IElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwKKy1QdWJsaWMgTGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZS4KK2RpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200
c3VnYXIvUkVBRE1FLmNocm9taXVtIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxl
eC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL1JFQURNRS5jaHJvbWl1bQorZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CitpbmRleCBjNjBhNWZkNGZkYy4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9S
RUFETUUuY2hyb21pdW0KKysrKyAvZGV2L251bGwKK0BAIC0xLDExICswLDAgQEAKKy1OYW1lOiBB
dXRvY29uZiBNNCBtYWNyb3MgdXNlZCBieSBCaXNvbgorLVNob3J0IE5hbWU6IG00c3VnYXIKKy1V
Ukw6IGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYvCistVmVyc2lvbjogdW5r
bm93bgorLUxpY2Vuc2U6IEdQTAorLUxpY2Vuc2UgRmlsZTogTElDRU5TRQorLVNlY3VyaXR5IGNy
aXRpY2FsOiBubworLQorLURlc2NyaXB0aW9uOgorLUJpc29uIHVzZXMgTTQgdG8gZ2VuZXJhdGUg
aXRzIG91dHB1dCwgYW5kIHVzZXMgdGhlIHV0aWxpdHkgTTQgbWFjcm9zIGluIHRoaXMKKy1kaXJl
Y3RvcnkuCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1i
aXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL2ZvcmVhY2gubTQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200c3VnYXIvZm9yZWFjaC5tNAorZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA3MDkzZDBmY2M0ZS4uMDAwMDAwMDAwMDAKKy0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkv
bTRzdWdhci9mb3JlYWNoLm00CisrKysgL2Rldi9udWxsCitAQCAtMSwzNjIgKzAsMCBAQAorLSMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRv
Y29uZiAtKi0KKy0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEF1dG9jb25mLgorLSMgZm9yZWFjaC1i
YXNlZCByZXBsYWNlbWVudHMgZm9yIHJlY3Vyc2l2ZSBmdW5jdGlvbnMuCistIyBTcGVlZHMgdXAg
R05VIE00IDEuNC54IGJ5IGF2b2lkaW5nIHF1YWRyYXRpYyAkQCByZWN1cnNpb24sIGJ1dCBwZW5h
bGl6ZXMKKy0jIEdOVSBNNCAxLjYgYnkgcmVxdWlyaW5nIG1vcmUgbWVtb3J5IGFuZCBtYWNybyBl
eHBhbnNpb25zLgorLSMKKy0jIENvcHlyaWdodCAoQykgMjAwOC0yMDE3IEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLgorLQorLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgQXV0b2NvbmYuICBU
aGlzIHByb2dyYW0gaXMgZnJlZQorLSMgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlCistIyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorLSMgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorLSMgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0jCistIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSMK
Ky0jIFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJlIGdyYW50ZWQgYWRk
aXRpb25hbAorLSMgcGVybWlzc2lvbnMgZGVzY3JpYmVkIGluIHRoZSBBdXRvY29uZiBDb25maWd1
cmUgU2NyaXB0IEV4Y2VwdGlvbiwKKy0jIHZlcnNpb24gMy4wLCBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKy0jCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYW5kIGEgY29w
eSBvZiB0aGUgQXV0b2NvbmYgQ29uZmlndXJlIFNjcmlwdCBFeGNlcHRpb24gYWxvbmcgd2l0aAor
LSMgdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGVzIENPUFlJTkd2MyBhbmQgQ09QWUlORy5FWENF
UFRJT04KKy0jIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3Jn
L2xpY2Vuc2VzLz4uCistCistIyBXcml0dGVuIGJ5IEVyaWMgQmxha2UuCistCistIyBJbiBNNCAx
LjQueCwgZXZlcnkgYnl0ZSBvZiAkQCBpcyByZXNjYW5uZWQuICBUaGlzIG1lYW5zIHRoYXQgYW4K
Ky0jIGFsZ29yaXRobSBvbiBuIGFyZ3VtZW50cyB0aGF0IHJlY3Vyc2VzIHdpdGggb25lIGxlc3Mg
YXJndW1lbnQgZWFjaAorLSMgaXRlcmF0aW9uIHdpbGwgc2NhbiBuICogKG4gKyAxKSAvIDIgYXJn
dW1lbnRzLCBmb3IgTyhuXjIpIHRpbWUuICBJbgorLSMgTTQgMS42LCB0aGlzIHdhcyBmaXhlZCBz
byB0aGF0ICRAIGlzIG9ubHkgc2Nhbm5lZCBvbmNlLCB0aGVuCistIyBiYWNrLXJlZmVyZW5jZXMg
YXJlIG1hZGUgdG8gaW5mb3JtYXRpb24gc3RvcmVkIGFib3V0IHRoZSBzY2FuLgorLSMgVGh1cywg
biBpdGVyYXRpb25zIG5lZWQgb25seSBzY2FuIG4gYXJndW1lbnRzLCBmb3IgTyhuKSB0aW1lLgor
LSMgQWRkaXRpb25hbGx5LCBpbiBNNCAxLjQueCwgcmVjdXJzaXZlIGFsZ29yaXRobXMgZGlkIG5v
dCBjbGVhbiB1cAorLSMgbWVtb3J5IHZlcnkgd2VsbCwgcmVxdWlyaW5nIE8obl4yKSBtZW1vcnkg
cmF0aGVyIHRoYW4gTyhuKSBmb3IgbgorLSMgaXRlcmF0aW9ucy4KKy0jCistIyBUaGlzIGZpbGUg
aXMgZGVzaWduZWQgdG8gb3ZlcmNvbWUgdGhlIHF1YWRyYXRpYyBuYXR1cmUgb2YgJEAKKy0jIHJl
Y3Vyc2lvbiBieSB3cml0aW5nIGEgdmFyaWFudCBvZiBtNF9mb3JlYWNoIHRoYXQgdXNlcyBtNF9m
b3IgcmF0aGVyCistIyB0aGFuICRAIHJlY3Vyc2lvbiB0byBvcGVyYXRlIG9uIHRoZSBsaXN0LiAg
VGhpcyBpbnZvbHZlcyBtb3JlIG1hY3JvCistIyBleHBhbnNpb25zLCBidXQgYXZvaWRzIHRoZSBu
ZWVkIHRvIHJlc2NhbiBhIHF1YWRyYXRpYyBudW1iZXIgb2YKKy0jIGFyZ3VtZW50cywgbWFraW5n
IHRoZXNlIHJlcGxhY2VtZW50cyB2ZXJ5IGF0dHJhY3RpdmUgZm9yIE00IDEuNC54LgorLSMgT24g
dGhlIG90aGVyIGhhbmQsIGluIGFueSB2ZXJzaW9uIG9mIE00LCBleHBhbmRpbmcgYWRkaXRpb25h
bCBtYWNyb3MKKy0jIGNvc3RzIGFkZGl0aW9uYWwgdGltZTsgdGhlcmVmb3JlLCBpbiBNNCAxLjYs
IHdoZXJlICRAIHJlY3Vyc2lvbiB1c2VzCistIyBmZXdlciBtYWNyb3MsIHRoZXNlIHJlcGxhY2Vt
ZW50cyBhY3R1YWxseSBwZXNzaW1pemUgcGVyZm9ybWFuY2UuCistIyBBZGRpdGlvbmFsbHksIHRo
ZSB1c2Ugb2YgJDEwIHRvIG1lYW4gdGhlIHRlbnRoIGFyZ3VtZW50IHZpb2xhdGVzCistIyBQT1NJ
WDsgYWx0aG91Z2ggYWxsIHZlcnNpb25zIG9mIG00IDEuNC54IHN1cHBvcnQgdGhpcyBtZWFuaW5n
LCBhCistIyBmdXR1cmUgbTQgdmVyc2lvbiBtYXkgc3dpdGNoIHRvIHRha2UgaXQgYXMgdGhlIGZp
cnN0IGFyZ3VtZW50CistIyBjb25jYXRlbmF0ZWQgd2l0aCBhIGxpdGVyYWwgMCwgc28gdGhlIGlt
cGxlbWVudGF0aW9ucyBpbiB0aGlzIGZpbGUKKy0jIGFyZSBub3QgZnV0dXJlLXByb29mLiAgVGh1
cywgdGhpcyBmaWxlIGlzIGNvbmRpdGlvbmFsbHkgaW5jbHVkZWQgYXMKKy0jIHBhcnQgb2YgbTRf
aW5pdCgpLCBvbmx5IHdoZW4gaXQgaXMgZGV0ZWN0ZWQgdGhhdCBNNCBwcm9iYWJseSBoYXMKKy0j
IHF1YWRyYXRpYyBiZWhhdmlvciAoaWUuIGl0IGxhY2tzIHRoZSBtYWNybyBfX200X3ZlcnNpb25f
XykuCistIworLSMgUGxlYXNlIGtlZXAgdGhpcyBmaWxlIGluIHN5bmMgd2l0aCBtNHN1Z2FyLm00
LgorLQorLSMgX200X2ZvcmVhY2goUFJFLCBQT1NULCBJR05PUkVELCBBUkcuLi4pCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEZvcm0gdGhlIGNvbW1vbiBi
YXNpcyBvZiB0aGUgbTRfZm9yZWFjaCBhbmQgbTRfbWFwIG1hY3Jvcy4gIEZvciBlYWNoCistIyBB
UkcsIGV4cGFuZCBQUkVbQVJHXVBPU1RbXS4gIFRoZSBJR05PUkVEIGFyZ3VtZW50IG1ha2VzIHJl
Y3Vyc2lvbgorLSMgZWFzaWVyLCBhbmQgbXVzdCBiZSBzdXBwbGllZCByYXRoZXIgdGhhbiBpbXBs
aWNpdC4KKy0jCistIyBUaGlzIHZlcnNpb24gbWluaW1pemVzIHRoZSBudW1iZXIgb2YgdGltZXMg
dGhhdCAkQCBpcyBldmFsdWF0ZWQgYnkKKy0jIHVzaW5nIG00X2ZvciB0byBnZW5lcmF0ZSBhIGJv
aWxlcnBsYXRlIGludG8gX200X2YgdGhlbiBwYXNzaW5nICRAIHRvCistIyB0aGF0IHRlbXBvcmFy
eSBtYWNyby4gIFRodXMsIHRoZSByZWN1cnNpb24gaXMgZG9uZSBpbiBtNF9mb3Igd2l0aG91dAor
LSMgcmVwYXJzaW5nIGFueSB1c2VyIGlucHV0LCBhbmQgaXMgbm90IHF1YWRyYXRpYy4gIEZvciBh
biBpZGVhIG9mIGhvdworLSMgdGhpcyB3b3Jrcywgbm90ZSB0aGF0IG00X2ZvcmVhY2goaSxbMSwy
XSxbaV0pIGNhbGxzCistIyAgIF9tNF9mb3JlYWNoKFttNF9kZWZpbmUoW2ldLF0sWylpXSxbXSxb
MV0sWzJdKQorLSMgd2hpY2ggZGVmaW5lcyBfbTRfZjoKKy0jICAgJDFbJDRdJDJbXSQxWyQ1XSQy
W11fbTRfcG9wZGVmKFtfbTRfZl0pCistIyB0aGVuIGNhbGxzIF9tNF9mKFttNF9kZWZpbmUoW2ld
LF0sWylpXSxbXSxbMV0sWzJdKSBmb3IgYSBuZXQgcmVzdWx0OgorLSMgICBtNF9kZWZpbmUoW2ld
LFsxXSlpW11tNF9kZWZpbmUoW2ldLFsyXSlpW11fbTRfcG9wZGVmKFtfbTRfZl0pLgorLW00X2Rl
ZmluZShbX200X2ZvcmVhY2hdLAorLVttNF9pZihbJCNdLCBbM10sIFtdLAorLSAgICAgICBbbTRf
cHVzaGRlZihbX200X2ZdLCBfbTRfZm9yKFs0XSwgWyQjXSwgWzFdLAorLSAgIFskMF8oWzFdLCBb
Ml0sXSwgWyldKVtfbTRfcG9wZGVmKFtfbTRfZl0pXSlfbTRfZigkQCldKV0pCistCistbTRfZGVm
aW5lKFtfbTRfZm9yZWFjaF9dLAorLVtbJCQxWyQkM10kJDJbXV1dKQorLQorLSMgbTRfY2FzZShT
V0lUQ0gsIFZBTDEsIElGLVZBTDEsIFZBTDIsIElGLVZBTDIsIC4uLiwgREVGQVVMVCkKKy0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CistIyBGaW5kIHRoZSBmaXJzdCBWQUwgdGhhdCBTV0lUQ0ggbWF0Y2hlcywgYW5kIGV4cGFuZCB0
aGUgY29ycmVzcG9uZGluZworLSMgSUYtVkFMLiAgSWYgdGhlcmUgYXJlIG5vIG1hdGNoZXMsIGV4
cGFuZCBERUZBVUxULgorLSMKKy0jIFVzZSBtNF9mb3IgdG8gY3JlYXRlIGEgdGVtcG9yYXJ5IG1h
Y3JvIGluIHRlcm1zIG9mIGEgYm9pbGVycGxhdGUKKy0jIG00X2lmIHdpdGggZmluYWwgY2xlYW51
cC4gIElmICQjIGlzIGV2ZW4sIHdlIGhhdmUgREVGQVVMVDsgaWYgaXQgaXMKKy0jIG9kZCwgdGhl
biByb3VuZGluZyB0aGUgbGFzdCAkIyB1cCBpbiB0aGUgdGVtcG9yYXJ5IG1hY3JvIGlzCistIyBo
YXJtbGVzcy4gIEZvciBleGFtcGxlLCBib3RoIG00X2Nhc2UoMSwyLDMsNCw1KSBhbmQKKy0jIG00
X2Nhc2UoMSwyLDMsNCw1LDYpIHJlc3VsdCBpbiB0aGUgaW50ZXJtZWRpYXRlIF9tNF9jYXNlIGJl
aW5nCistIyAgIG00X2lmKFskMV0sWyQyXSxbJDNdLFskMV0sWyQ0XSxbJDVdLF9tNF9wb3BkZWYo
W19tNF9jYXNlXSlbJDZdKQorLW00X2RlZmluZShbbTRfY2FzZV0sCistW200X2lmKG00X2V2YWwo
WyQjIDw9IDJdKSwgWzFdLCBbJDJdLAorLVttNF9wdXNoZGVmKFtfJDBdLCBbbTRfaWYoXV9tNF9m
b3IoWzJdLCBtNF9ldmFsKFsoJCMgLSAxKSAvIDIgKiAyXSksIFsyXSwKKy0gICAgIFtfJDBfKF0s
IFspXSlbX200X3BvcGRlZigKKy0JIFtfJDBdKV1tNF9kcXVvdGUoJG00X2V2YWwoWygkIyArIDEp
ICYgfjFdKSlbKV0pXyQwKCRAKV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9jYXNlX10sCistWyQw
XyhbMV0sIFskMV0sIG00X2luY3IoWyQxXSkpXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9jYXNlX19d
LAorLVtbWyQkMV0sWyQkMl0sWyQkM10sXV0pCistCistIyBtNF9ibWF0Y2goU1dJVENILCBSRTEs
IFZBTDEsIFJFMiwgVkFMMiwgLi4uLCBERUZBVUxUKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIG00IGVxdWl2YWxlbnQgb2YKKy0j
CistIyBpZiAoU1dJVENIID1+IFJFMSkKKy0jICAgVkFMMTsKKy0jIGVsaWYgKFNXSVRDSCA9fiBS
RTIpCistIyAgIFZBTDI7CistIyBlbGlmIC4uLgorLSMgICAuLi4KKy0jIGVsc2UKKy0jICAgREVG
QVVMVAorLSMKKy0jIFdlIGJ1aWxkIHRoZSB0ZW1wb3JhcnkgbWFjcm8gX200X2I6CistIyAgIG00
X2RlZmluZShbX200X2JdLCBfbTRfZGVmbihbX200X2JtYXRjaF0pKV9tNF9iKFskMV0sIFskMl0s
IFskM10pLi4uCistIyAgIF9tNF9iKFskMV0sIFskbS0xXSwgWyRtXSlfbTRfYihbXSwgW10sIFsk
bSsxXV9tNF9wb3BkZWYoW19tNF9iXSkpCistIyB0aGVuIGludm9rZSBtNF91bnF1b3RlKF9tNF9i
KCRAKSksIGZvciBjb25jYXRlbmF0aW9uIHdpdGggbGF0ZXIgdGV4dC4KKy1tNF9kZWZpbmUoW200
X2JtYXRjaF0sCistW200X2lmKFskI10sIDAsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1l
bnRzOiAkI10pXSwKKy0gICAgICAgWyQjXSwgMSwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1
bWVudHM6ICQjOiAkMV0pXSwKKy0gICAgICAgWyQjXSwgMiwgWyQyXSwKKy0gICAgICAgW200X3B1
c2hkZWYoW19tNF9iXSwgW200X2RlZmluZShbX200X2JdLAorLSAgX200X2RlZm4oW18kMF0pKV1f
bTRfZm9yKFszXSwgbTRfZXZhbChbKCQjICsgMSkgLyAyICogMiAtIDFdKSwKKy0gIFsyXSwgW18k
MF8oXSwgWyldKVtfbTRfYihbXSwgW10sXW00X2RxdW90ZShbJF1tNF9ldmFsKAorLSAgWygkIyAr
IDEpIC8gMiAqIDJdKSlbX200X3BvcGRlZihbX200X2JdKSldKW00X3VucXVvdGUoX200X2IoJEAp
KV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9ibWF0Y2hdLAorLVttNF9pZihtNF9icmVnZXhwKFsk
MV0sIFskMl0pLCBbLTFdLCBbXSwgW1skM11tNF9kZWZpbmUoWyQwXSldKV0pCistCistbTRfZGVm
aW5lKFtfbTRfYm1hdGNoX10sCistWyQwXyhbMV0sIG00X2RlY3IoWyQxXSksIFskMV0pXSkKKy0K
Ky1tNF9kZWZpbmUoW19tNF9ibWF0Y2hfX10sCistW1tfbTRfYihbJCQxXSwgWyQkMl0sIFskJDNd
KV1dKQorLQorLQorLSMgbTRfY29uZChURVNUMSwgVkFMMSwgSUYtVkFMMSwgVEVTVDIsIFZBTDIs
IElGLVZBTDIsIC4uLiwgW0RFRkFVTFRdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgU2ltaWxhciB0byBt
NF9pZiwgZXhjZXB0IHRoYXQgZWFjaCBURVNUIGlzIGV4cGFuZGVkIHdoZW4gZW5jb3VudGVyZWQu
CistIyBJZiB0aGUgZXhwYW5zaW9uIG9mIFRFU1RuIG1hdGNoZXMgdGhlIHN0cmluZyBWQUxuLCB0
aGUgcmVzdWx0IGlzIElGLVZBTG4uCistIyBUaGUgcmVzdWx0IGlzIERFRkFVTFQgaWYgbm8gdGVz
dHMgcGFzc2VkLiAgVGhpcyBtYWNybyBhbGxvd3MKKy0jIHNob3J0LWNpcmN1aXRpbmcgb2YgZXhw
ZW5zaXZlIHRlc3RzLCB3aGVyZSBpdCBwYXlzIHRvIGFycmFuZ2UgcXVpY2sKKy0jIGZpbHRlciB0
ZXN0cyB0byBydW4gZmlyc3QuCistIworLSMgbTRfY29uZCBhbHJlYWR5IGd1YXJhbnRlZXMgZWl0
aGVyIDMqbiBvciAzKm4gKyAxIGFyZ3VtZW50cywgMSA8PSBuLgorLSMgV2Ugb25seSBoYXZlIHRv
IHNwZWVkIHVwIF9tNF9jb25kLCBieSBidWlsZGluZyB0aGUgdGVtcG9yYXJ5IF9tNF9jOgorLSMg
ICBtNF9kZWZpbmUoW19tNF9jXSwgX200X2RlZm4oW200X3VucXVvdGVdKSlfbTRfYyhbbTRfaWYo
KCQxKSwgWygkMildLAorLSMgICBbWyQzXW00X2RlZmluZShbX200X2NdKV0pXSlfbTRfYyhbbTRf
aWYoKCQ0KSwgWygkNSldLAorLSMgICBbWyQ2XW00X2RlZmluZShbX200X2NdKV0pXSkuLi5fbTRf
YyhbbTRfaWYoKCRtLTIpLCBbKCRtLTEpXSwKKy0jICAgW1skbV1tNF9kZWZpbmUoW19tNF9jXSld
KV0pX200X2MoW1skbSsxXV1fbTRfcG9wZGVmKFtfbTRfY10pKQorLSMgV2UgaW52b2tlIG00X3Vu
cXVvdGUoX200X2MoJEApKSwgZm9yIGNvbmNhdGVuYXRpb24gd2l0aCBsYXRlciB0ZXh0LgorLW00
X2RlZmluZShbX200X2NvbmRdLAorLVttNF9wdXNoZGVmKFtfbTRfY10sIFttNF9kZWZpbmUoW19t
NF9jXSwKKy0gIF9tNF9kZWZuKFttNF91bnF1b3RlXSkpXV9tNF9mb3IoWzJdLCBtNF9ldmFsKFsk
IyAvIDMgKiAzIC0gMV0pLCBbM10sCistICBbJDBfKF0sIFspXSlbX200X2MoXW00X2RxdW90ZSht
NF9kcXVvdGUoCistICBbJF1tNF9ldmFsKFskIyAvIDMgKiAzICsgMV0pKSlbX200X3BvcGRlZihb
X200X2NdKSldKW00X3VucXVvdGUoX200X2MoJEApKV0pCistCistbTRfZGVmaW5lKFtfbTRfY29u
ZF9dLAorLVskMF8obTRfZGVjcihbJDFdKSwgWyQxXSwgbTRfaW5jcihbJDFdKSldKQorLQorLW00
X2RlZmluZShbX200X2NvbmRfX10sCistW1tfbTRfYyhbbTRfaWYoKCQkMSksIFsoJCQyKV0sIFtb
JCQzXW00X2RlZmluZShbX200X2NdKV0pXSldXSkKKy0KKy0jIG00X2JwYXRzdWJzdHMoU1RSSU5H
LCBSRTEsIFNVQlNUMSwgUkUyLCBTVUJTVDIsIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIG00IGVxdWl2YWxlbnQgb2YKKy0j
CistIyAgICRfID0gU1RSSU5HOworLSMgICBzL1JFMS9TVUJTVDEvZzsKKy0jICAgcy9SRTIvU1VC
U1QyL2c7CistIyAgIC4uLgorLSMKKy0jIG00X2JwYXRzdWJzdHMgYWxyZWFkeSB2YWxpZGF0ZWQg
YW4gb2RkIG51bWJlciBvZiBhcmd1bWVudHM7IHdlIG9ubHkKKy0jIG5lZWQgdG8gc3BlZWQgdXAg
X200X2JwYXRzdWJzdHMuICBUbyBhdm9pZCBuZXN0aW5nLCB3ZSBidWlsZCB0aGUKKy0jIHRlbXBv
cmFyeSBfbTRfcDoKKy0jICAgbTRfZGVmaW5lKFtfbTRfcF0sIFskMV0pbTRfZGVmaW5lKFtfbTRf
cF0sCistIyAgIG00X2JwYXRzdWJzdChtNF9kcXVvdGUoX200X2RlZm4oW19tNF9wXSkpLCBbJDJd
LCBbJDNdKSltNF9kZWZpbmUoW19tNF9wXSwKKy0jICAgbTRfYnBhdHN1YnN0KG00X2RxdW90ZShf
bTRfZGVmbihbX200X3BdKSksIFskNF0sIFskNV0pKW00X2RlZmluZShbX200X3BdLC4uLgorLSMg
ICBtNF9icGF0c3Vic3QobTRfZHF1b3RlKF9tNF9kZWZuKFtfbTRfcF0pKSwgWyRtLTFdLCBbJG1d
KSltNF91bnF1b3RlKAorLSMgICBfbTRfZGVmbihbX200X3BdKV9tNF9wb3BkZWYoW19tNF9wXSkp
CistbTRfZGVmaW5lKFtfbTRfYnBhdHN1YnN0c10sCistW200X3B1c2hkZWYoW19tNF9wXSwgW200
X2RlZmluZShbX200X3BdLAorLSAgXW00X2RxdW90ZShbJF0xKVspXV9tNF9mb3IoWzNdLCBbJCNd
LCBbMl0sIFskMF8oXSwKKy0gIFspXSlbbTRfdW5xdW90ZShfbTRfZGVmbihbX200X3BdKV9tNF9w
b3BkZWYoW19tNF9wXSkpXSlfbTRfcCgkQCldKQorLQorLW00X2RlZmluZShbX200X2JwYXRzdWJz
dHNfXSwKKy1bJDBfKG00X2RlY3IoWyQxXSksIFskMV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9i
cGF0c3Vic3RzX19dLAorLVtbbTRfZGVmaW5lKFtfbTRfcF0sCistbTRfYnBhdHN1YnN0KG00X2Rx
dW90ZShfbTRfZGVmbihbX200X3BdKSksIFskJDFdLCBbJCQyXSkpXV0pCistCistIyBtNF9zaGlm
dG4oTiwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFJldHVybnMgLi4uIHNoaWZ0ZWQg
TiB0aW1lcy4gIFVzZWZ1bCBmb3IgcmVjdXJzaXZlICJ2YXJhcmdzIiBjb25zdHJ1Y3RzLgorLSMK
Ky0jIG00X3NoaWZ0biBhbHJlYWR5IHZhbGlkYXRlZCBhcmd1bWVudHM7IHdlIG9ubHkgbmVlZCB0
byBzcGVlZCB1cAorLSMgX200X3NoaWZ0bi4gIElmIE4gaXMgMywgdGhlbiB3ZSBidWlsZCB0aGUg
dGVtcG9yYXJ5IF9tNF9zLCBkZWZpbmVkIGFzCistIyAgICxbJDVdLFskNl0sLi4uLFskbV1fbTRf
cG9wZGVmKFtfbTRfc10pCistIyBiZWZvcmUgY2FsbGluZyBtNF9zaGlmdChfbTRfcygkQCkpLgor
LW00X2RlZmluZShbX200X3NoaWZ0bl0sCistW200X2lmKG00X2luY3IoWyQxXSksIFskI10sIFtd
LCBbbTRfcHVzaGRlZihbX200X3NdLAorLSAgX200X2ZvcihtNF9ldmFsKFskMSArIDJdKSwgWyQj
XSwgWzFdLAorLSAgW1ssXW00X2RxdW90ZSgkXSwgWyldKVtfbTRfcG9wZGVmKFtfbTRfc10pXSlt
NF9zaGlmdChfbTRfcygkQCkpXSldKQorLQorLSMgbTRfZG8oU1RSSU5HLCAuLi4pCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIFRoaXMgbWFjcm8gaW52b2tlcyBhbGwgaXRzIGFyZ3VtZW50cyAo
aW4gc2VxdWVuY2UsIG9mIGNvdXJzZSkuICBJdCBpcworLSMgdXNlZnVsIGZvciBtYWtpbmcgeW91
ciBtYWNyb3MgbW9yZSBzdHJ1Y3R1cmVkIGFuZCByZWFkYWJsZSBieSBkcm9wcGluZworLSMgdW5u
ZWNlc3NhcnkgZG5sJ3MgYW5kIGhhdmUgdGhlIG1hY3JvcyBpbmRlbnRlZCBwcm9wZXJseS4KKy0j
CistIyBIZXJlLCB3ZSB1c2UgdGhlIHRlbXBvcmFyeSBtYWNybyBfbTRfZG8sIGRlZmluZWQgYXMK
Ky0jICAgJDFbXSQyW10uLi5bXSRuW11fbTRfcG9wZGVmKFtfbTRfZG9dKQorLW00X2RlZmluZShb
bTRfZG9dLAorLVttNF9pZihbJCNdLCBbMF0sIFtdLAorLSAgICAgICBbbTRfcHVzaGRlZihbXyQw
XSwgX200X2ZvcihbMV0sIFskI10sIFsxXSwKKy0JCSAgIFskXSwgW1tbXV1dKVtfbTRfcG9wZGVm
KFtfJDBdKV0pXyQwKCRAKV0pXSkKKy0KKy0jIG00X2RxdW90ZV9lbHQoQVJHUykKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIFJldHVybiBBUkdTIGFzIGFuIHVucXVvdGVkIGxpc3Qgb2YgZG91
YmxlLXF1b3RlZCBhcmd1bWVudHMuCistIworLSMgX200X2ZvcmVhY2ggdG8gdGhlIHJlc2N1ZS4K
Ky1tNF9kZWZpbmUoW200X2RxdW90ZV9lbHRdLAorLVttNF9pZihbJCNdLCBbMF0sIFtdLCBbW1sk
MV1dX200X2ZvcmVhY2goWyxtNF9kcXVvdGUoXSwgWyldLCAkQCldKV0pCistCistIyBtNF9yZXZl
cnNlKEFSR1MpCistIyAtLS0tLS0tLS0tLS0tLS0tCistIyBPdXRwdXQgQVJHUyBpbiByZXZlcnNl
IG9yZGVyLgorLSMKKy0jIEludm9rZSBfbTRfcigkQCkgd2l0aCB0aGUgdGVtcG9yYXJ5IF9tNF9y
IGJ1aWx0IGFzCistIyAgIFskbV0sIFskbS0xXSwgLi4uLCBbJDJdLCBbJDFdX200X3BvcGRlZihb
X200X3JdKQorLW00X2RlZmluZShbbTRfcmV2ZXJzZV0sCistW200X2lmKFskI10sIFswXSwgW10s
IFskI10sIFsxXSwgW1skMV1dLAorLVttNF9wdXNoZGVmKFtfbTRfcl0sIFtbJCQjXV1fbTRfZm9y
KG00X2RlY3IoWyQjXSksIFsxXSwgWy0xXSwKKy0gICAgW1ssIF1tNF9kcXVvdGUoJF0sIFspXSlb
X200X3BvcGRlZihbX200X3JdKV0pX200X3IoJEApXSldKQorLQorLQorLSMgbTRfbWFwX2FyZ3Nf
cGFpcihFWFBSRVNTSU9OLCBbRU5ELUVYUFIgPSBFWFBSRVNTSU9OXSwgQVJHLi4uKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLSMgUGVyZm9ybSBhIHBhaXJ3aXNlIGdyb3VwaW5nIG9mIGNvbnNlY3V0aXZlIEFSR3MsIGJ5
IGV4cGFuZGluZworLSMgRVhQUkVTU0lPTihbQVJHMV0sIFtBUkcyXSkuICBJZiB0aGVyZSBhcmUg
YW4gb2RkIG51bWJlciBvZiBBUkdzLCB0aGUKKy0jIGZpbmFsIGFyZ3VtZW50IGlzIGV4cGFuZGVk
IHdpdGggRU5ELUVYUFIoW0FSR25dKS4KKy0jCistIyBCdWlsZCB0aGUgdGVtcG9yYXJ5IG1hY3Jv
IF9tNF9tYXBfYXJnc19wYWlyLCB3aXRoIHRoZSAkMihbJG0rMV0pCistIyBvbmx5IG91dHB1dCBp
ZiAkIyBpcyBvZGQ6CistIyAgICQxKFskM10sIFskNF0pW10kMShbJDVdLCBbJDZdKVtdLi4uJDEo
WyRtLTFdLAorLSMgICBbJG1dKVtdbTRfZGVmYXVsdChbJDJdLCBbJDFdKShbJG0rMV0pW11fbTRf
cG9wZGVmKFtfbTRfbWFwX2FyZ3NfcGFpcl0pCistbTRfZGVmaW5lKFttNF9tYXBfYXJnc19wYWly
XSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czog
JCNdKV0sCistICAgICAgIFskI10sIFsxXSwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVu
dHM6ICQjOiAkMV0pXSwKKy0gICAgICAgWyQjXSwgWzJdLCBbXSwKKy0gICAgICAgWyQjXSwgWzNd
LCBbbTRfZGVmYXVsdChbJDJdLCBbJDFdKShbJDNdKVtdXSwKKy0gICAgICAgW200X3B1c2hkZWYo
W18kMF0sIF9tNF9mb3IoWzNdLAorLSAgIG00X2V2YWwoWyQjIC8gMiAqIDIgLSAxXSksIFsyXSwg
W18kMF8oXSwgWyldKV8kMF9lbmQoCistICAgWzFdLCBbMl0sIFskI10pW19tNF9wb3BkZWYoW18k
MF0pXSlfJDAoJEApXSldKQorLQorLW00X2RlZmluZShbX200X21hcF9hcmdzX3BhaXJfXSwKKy1b
JDBfKFsxXSwgWyQxXSwgbTRfaW5jcihbJDFdKSldKQorLQorLW00X2RlZmluZShbX200X21hcF9h
cmdzX3BhaXJfX10sCistW1skJDEoWyQkMl0sIFskJDNdKVtdXV0pCistCistbTRfZGVmaW5lKFtf
bTRfbWFwX2FyZ3NfcGFpcl9lbmRdLAorLVttNF9pZihtNF9ldmFsKFskMyAmIDFdKSwgWzFdLCBb
W200X2RlZmF1bHQoWyQkMl0sIFskJDFdKShbJCQzXSlbXV1dKV0pCistCistIyBtNF9qb2luKFNF
UCwgQVJHMSwgQVJHMi4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgUHJv
ZHVjZSBBUkcxU0VQQVJHMi4uLlNFUEFSR24uICBBdm9pZCBiYWNrLXRvLWJhY2sgU0VQIHdoZW4g
YSBnaXZlbiBBUkcKKy0jIGlzIHRoZSBlbXB0eSBzdHJpbmcuICBObyBleHBhbnNpb24gaXMgcGVy
Zm9ybWVkIG9uIFNFUCBvciBBUkdzLgorLSMKKy0jIFVzZSBhIHNlbGYtbW9kaWZ5aW5nIHNlcGFy
YXRvciwgc2luY2Ugd2UgZG9uJ3Qga25vdyBob3cgbWFueQorLSMgYXJndW1lbnRzIG1pZ2h0IGJl
IHNraXBwZWQgYmVmb3JlIGEgc2VwYXJhdG9yIGlzIGZpcnN0IHByaW50ZWQsIGJ1dAorLSMgYmUg
Y2FyZWZ1bCBpZiB0aGUgc2VwYXJhdG9yIGNvbnRhaW5zICQuICBfbTRfZm9yZWFjaCB0byB0aGUg
cmVzY3VlLgorLW00X2RlZmluZShbbTRfam9pbl0sCistW200X3B1c2hkZWYoW19tNF9zZXBdLCBb
bTRfZGVmaW5lKFtfbTRfc2VwXSwgX200X2RlZm4oW200X2VjaG9dKSldKV1kbmwKKy1bX200X2Zv
cmVhY2goW18kMChbJDFdLF0sIFspXSwgJEApX200X3BvcGRlZihbX200X3NlcF0pXSkKKy0KKy1t
NF9kZWZpbmUoW19tNF9qb2luXSwKKy1bbTRfaWYoWyQyXSwgW10sIFtdLCBbX200X3NlcChbJDFd
KVskMl1dKV0pCistCistIyBtNF9qb2luYWxsKFNFUCwgQVJHMSwgQVJHMi4uLikKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgUHJvZHVjZSBBUkcxU0VQQVJHMi4uLlNFUEFS
R24uICBBbiBlbXB0eSBBUkcgcmVzdWx0cyBpbiBiYWNrLXRvLWJhY2sgU0VQLgorLSMgTm8gZXhw
YW5zaW9uIGlzIHBlcmZvcm1lZCBvbiBTRVAgb3IgQVJHcy4KKy0jCistIyBBIGJpdCBlYXNpZXIg
dGhhbiBtNF9qb2luLiAgX200X2ZvcmVhY2ggdG8gdGhlIHJlc2N1ZS4KKy1tNF9kZWZpbmUoW200
X2pvaW5hbGxdLAorLVtbJDJdbTRfaWYobTRfZXZhbChbJCMgPD0gMl0pLCBbMV0sIFtdLAorLQkg
ICBbX200X2ZvcmVhY2goWyQxXSwgW10sIG00X3NoaWZ0KCRAKSldKV0pCistCistIyBtNF9saXN0
X2NtcChBLCBCKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENvbXBhcmUgdGhlIHR3byBsaXN0
cyBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIEEgYW5kIEIuCistIworLSMgbTRfbGlzdF9jbXAgdGFr
ZXMgY2FyZSBvZiBhbnkgc2lkZSBlZmZlY3RzOyB3ZSBvbmx5IG92ZXJyaWRlCistIyBfbTRfbGlz
dF9jbXBfcmF3LCB3aGVyZSB3ZSBjYW4gc2FmZWx5IGV4cGFuZCBsaXN0cyBtdWx0aXBsZSB0aW1l
cy4KKy0jIEZpcnN0LCBpbnNlcnQgcGFkZGluZyBzbyB0aGF0IGJvdGggbGlzdHMgYXJlIHRoZSBz
YW1lIGxlbmd0aDsgdGhlCistIyB0cmFpbGluZyArMCBpcyBuZWNlc3NhcnkgdG8gaGFuZGxlIGEg
bWlzc2luZyBsaXN0LiAgTmV4dCwgY3JlYXRlIGEKKy0jIHRlbXBvcmFyeSBtYWNybyB0byBwZXJm
b3JtIHBhaXJ3aXNlIGNvbXBhcmlzb25zIHVudGlsIGFuIGluZXF1YWxpdHkKKy0jIGlzIGZvdW5k
LiAgRm9yIGV4YW1wbGUsIG00X2xpc3RfY21wKFsxXSwgWzEsMl0pIGNyZWF0ZXMgX200X2NtcCBh
cworLSMgICBtNF9pZihtNF9ldmFsKFsoJDEpICE9ICgkMyldKSwgWzFdLCBbbTRfY21wKFskMV0s
IFskM10pXSwKKy0jICAgICAgICAgbTRfZXZhbChbKCQyKSAhPSAoJDQpXSksIFsxXSwgW200X2Nt
cChbJDJdLCBbJDRdKV0sCistIyAgICAgICAgIFswXV9tNF9wb3BkZWYoW19tNF9jbXBdKSkKKy0j
IHRoZW4gY2FsbHMgX200X2NtcChbMSswXSwgWzAqMl0sIFsxXSwgWzIrMF0pCistbTRfZGVmaW5l
KFtfbTRfbGlzdF9jbXBfcmF3XSwKKy1bbTRfaWYoWyQxXSwgWyQyXSwgMCwKKy0gICAgICAgW19t
NF9saXN0X2NtcCgkMSswX200X2xpc3RfcGFkKG00X2NvdW50KCQxKSwgbTRfY291bnQoJDIpKSwK
Ky0JCSAgICAgJDIrMF9tNF9saXN0X3BhZChtNF9jb3VudCgkMiksIG00X2NvdW50KCQxKSkpXSld
KQorLQorLW00X2RlZmluZShbX200X2xpc3RfcGFkXSwKKy1bbTRfaWYobTRfZXZhbCgkMSA8ICQy
KSwgWzFdLAorLSAgICAgICBbX200X2ZvcihtNF9pbmNyKFskMV0pLCBbJDJdLCBbMV0sIFssMCpd
KV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9saXN0X2NtcF0sCistW200X3B1c2hkZWYoW19tNF9j
bXBdLCBbbTRfaWYoXV9tNF9mb3IoCistICAgWzFdLCBtNF9ldmFsKFskIyA+PiAxXSksIFsxXSwg
WyQwXyhdLCBbLF1tNF9ldmFsKFskIyA+PiAxXSlbKV0pWworLSAgICAgIFswXV9tNF9wb3BkZWYo
W19tNF9jbXBdKSldKV9tNF9jbXAoJEApXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9saXN0X2NtcF9d
LAorLVskMF8oWyQxXSwgbTRfZXZhbChbJDEgKyAkMl0pKV0pCistCistbTRfZGVmaW5lKFtfbTRf
bGlzdF9jbXBfX10sCistW1ttNF9ldmFsKFsoJCQxKSAhPSAoJCQyKV0pLCBbMV0sIFttNF9jbXAo
WyQkMV0sIFskJDJdKV0sCistXV0pCistCistIyBtNF9tYXgoRVhQUiwgLi4uKQorLSMgbTRfbWlu
KEVYUFIsIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm4gdGhlIGRlY2ltYWwg
dmFsdWUgb2YgdGhlIG1heGltdW0gKG9yIG1pbmltdW0pIGluIGEgc2VyaWVzIG9mCistIyBpbnRl
Z2VyIGV4cHJlc3Npb25zLgorLSMKKy0jIF9tNF9mb3JlYWNoIHRvIHRoZSByZXNjdWU7IHdlIG9u
bHkgbmVlZCB0byByZXBsYWNlIF9tNF9taW5tYXguICBIZXJlLAorLSMgd2UgbmVlZCBhIHRlbXBv
cmFyeSBtYWNybyB0byB0cmFjayB0aGUgYmVzdCBhbnN3ZXIgc28gZmFyLCBzbyB0aGF0CistIyB0
aGUgZm9yZWFjaCBleHByZXNzaW9uIGlzIHRyYWN0YWJsZS4KKy1tNF9kZWZpbmUoW19tNF9taW5t
YXhdLAorLVttNF9wdXNoZGVmKFtfbTRfYmVzdF0sIG00X2V2YWwoWyQyXSkpX200X2ZvcmVhY2go
CistICBbbTRfZGVmaW5lKFtfbTRfYmVzdF0sICQxKF9tNF9iZXN0LF0sIFspKV0sIG00X3NoaWZ0
KCRAKSldZG5sCistW19tNF9iZXN0W11fbTRfcG9wZGVmKFtfbTRfYmVzdF0pXSkKKy0KKy0jIG00
X3NldF9hZGRfYWxsKFNFVCwgVkFMVUUuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgQWRkIGVhY2ggVkFMVUUgaW50byBTRVQuICBUaGlzIGlzIE8obikgaW4gdGhlIG51
bWJlciBvZiBWQUxVRXMsIGFuZAorLSMgY2FuIGJlIGZhc3RlciB0aGFuIGNhbGxpbmcgbTRfc2V0
X2FkZCBmb3IgZWFjaCBWQUxVRS4KKy0jCistIyBfbTRfZm9yZWFjaCB0byB0aGUgcmVzY3VlLiAg
SWYgbm8gZGVsZXRpb25zIGhhdmUgb2NjdXJyZWQsIHRoZW4KKy0jIGF2b2lkIHRoZSBzcGVlZCBw
ZW5hbHR5IG9mIG00X3NldF9hZGQuCistbTRfZGVmaW5lKFttNF9zZXRfYWRkX2FsbF0sCistW200
X2lmKFskI10sIFswXSwgW10sIFskI10sIFsxXSwgW10sCistICAgICAgIFttNF9kZWZpbmUoW19t
NF9zZXRfc2l6ZSgkMSldLCBtNF9ldmFsKG00X3NldF9zaXplKFskMV0pCistCSAgKyBtNF9sZW4o
X200X2ZvcmVhY2gobTRfaWZkZWYoW19tNF9zZXRfY2xlYW51cCgkMSldLAorLSAgW1ttNF9zZXRf
YWRkXV0sIFtbXyQwXV0pWyhbJDFdLF0sIFspXSwgJEApKSkpXSldKQorLQorLW00X2RlZmluZShb
X200X3NldF9hZGRfYWxsXSwKKy1bbTRfaWZkZWYoW19tNF9zZXQoWyQxXSwkMildLCBbXSwKKy0J
ICBbbTRfZGVmaW5lKFtfbTRfc2V0KFskMV0sJDIpXSwKKy0JCSAgICAgWzFdKW00X3B1c2hkZWYo
W19tNF9zZXQoWyQxXSldLCBbJDJdKS1dKV0pCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL200c3VnYXIubTQg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200
c3VnYXIvbTRzdWdhci5tNAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBiYmQ2OTU4
MzZhMi4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2Zs
ZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9tNHN1Z2FyLm00CisrKysgL2Rldi9udWxsCitA
QCAtMSwzMzA4ICswLDAgQEAKKy1kaXZlcnQoLTEpIyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQorLSMgVGhpcyBmaWxlIGlz
IHBhcnQgb2YgQXV0b2NvbmYuCistIyBCYXNlIE00IGxheWVyLgorLSMgUmVxdWlyZXMgR05VIE00
LgorLSMKKy0jIENvcHlyaWdodCAoQykgMTk5OS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLgorLQorLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgQXV0b2NvbmYuICBUaGlzIHByb2dy
YW0gaXMgZnJlZQorLSMgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt
b2RpZnkgaXQgdW5kZXIgdGhlCistIyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorLSMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorLSMgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKy0jCistIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistIyBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistIyBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSMKKy0jIFVuZGVy
IFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJlIGdyYW50ZWQgYWRkaXRpb25hbAor
LSMgcGVybWlzc2lvbnMgZGVzY3JpYmVkIGluIHRoZSBBdXRvY29uZiBDb25maWd1cmUgU2NyaXB0
IEV4Y2VwdGlvbiwKKy0jIHZlcnNpb24gMy4wLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbi4KKy0jCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYW5kIGEgY29weSBvZiB0aGUg
QXV0b2NvbmYgQ29uZmlndXJlIFNjcmlwdCBFeGNlcHRpb24gYWxvbmcgd2l0aAorLSMgdGhpcyBw
cm9ncmFtOyBzZWUgdGhlIGZpbGVzIENPUFlJTkd2MyBhbmQgQ09QWUlORy5FWENFUFRJT04KKy0j
IHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz
Lz4uCistCistIyBXcml0dGVuIGJ5IEFraW0gRGVtYWlsbGUuCistCistIyBTZXQgdGhlIHF1b3Rl
cywgd2hhdGV2ZXIgdGhlIGN1cnJlbnQgcXVvdGluZyBzeXN0ZW0uCistY2hhbmdlcXVvdGUoKQor
LWNoYW5nZXF1b3RlKFssIF0pCistCistIyBTb21lIG9sZCBtNCdzIGRvbid0IHN1cHBvcnQgbTRl
eGl0LiAgQnV0IHRoZXkgcHJvdmlkZQorLSMgZXF1aXZhbGVudCBmdW5jdGlvbmFsaXR5IGJ5IGNv
cmUgZHVtcGluZyBiZWNhdXNlIG9mIHRoZQorLSMgbG9uZyBtYWNyb3Mgd2UgZGVmaW5lLgorLWlm
ZGVmKFtfX2dudV9fXSwgLAorLVtlcnJwcmludChNNHN1Z2FyIHJlcXVpcmVzIEdOVSBNNC4gSW5z
dGFsbCBpdCBiZWZvcmUgaW5zdGFsbGluZyBNNHN1Z2FyIG9yCistc2V0IHRoZSBNNCBlbnZpcm9u
bWVudCB2YXJpYWJsZSB0byBpdHMgYWJzb2x1dGUgZmlsZSBuYW1lLikKKy1tNGV4aXQoMildKQor
LQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyAxLiBTaW11
bGF0ZSAtLXByZWZpeC1idWlsdGlucy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAjIworLQorLSMgbTRfZGVmaW5lCistIyBtNF9kZWZuCistIyBtNF91bmRlZmluZQor
LWRlZmluZShbbTRfZGVmaW5lXSwgICBkZWZuKFtkZWZpbmVdKSkKKy1kZWZpbmUoW200X2RlZm5d
LCAgICAgZGVmbihbZGVmbl0pKQorLWRlZmluZShbbTRfdW5kZWZpbmVdLCBkZWZuKFt1bmRlZmlu
ZV0pKQorLQorLW00X3VuZGVmaW5lKFtkZWZpbmVdKQorLW00X3VuZGVmaW5lKFtkZWZuXSkKKy1t
NF91bmRlZmluZShbdW5kZWZpbmVdKQorLQorLQorLSMgbTRfY29weShTUkMsIERTVCkKKy0jIC0t
LS0tLS0tLS0tLS0tLS0tCistIyBEZWZpbmUgRFNUIGFzIHRoZSBkZWZpbml0aW9uIG9mIFNSQy4K
Ky0jIFdoYXQncyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuOgorLSMgMS4gbTRfY29weShbZnJvbV0s
IFt0b10pCistIyAyLiBtNF9kZWZpbmUoW3RvXSwgW2Zyb20oJEApXSkKKy0jIFdlbGwsIG9idmlv
dXNseSAxIGlzIG1vcmUgZXhwZW5zaXZlIGluIHNwYWNlLiAgTWF5YmUgMiBpcyBtb3JlIGV4cGVu
c2l2ZQorLSMgaW4gdGltZSwgYnV0IGJlY2F1c2Ugb2YgdGhlIHNwYWNlIGNvc3Qgb2YgMSwgaXQn
cyBub3QgdGhhdCBvYnZpb3VzLgorLSMgTmV2ZXJ0aGVsZXNzLCBvbmUgaHVnZSBkaWZmZXJlbmNl
IGlzIHRoZSBoYW5kbGluZyBvZiBgJDAnLiAgSWYgYGZyb20nCistIyB1c2VzIGAkMCcsIHRoZW4g
d2l0aCAxLCBgdG8nJ3MgYCQwJyBpcyBgdG8nLCB3aGlsZSBpdCBpcyBgZnJvbScgaW4gMi4KKy0j
IFRoZSB1c2VyIHdvdWxkIGNlcnRhaW5seSBwcmVmZXIgdG8gc2VlIGB0bycuCistIworLSMgVGhp
cyBkZWZpbml0aW9uIGlzIGluIGVmZmVjdCBkdXJpbmcgbTRzdWdhciBpbml0aWFsaXphdGlvbiwg
d2hlbgorLSMgdGhlcmUgYXJlIG5vIHB1c2hkZWYgc3RhY2tzOyBsYXRlciBvbiwgd2UgcmVkZWZp
bmUgaXQgdG8gc29tZXRoaW5nCistIyBtb3JlIHBvd2VyZnVsIGZvciBhbGwgb3RoZXIgY2xpZW50
cyB0byB1c2UuCistbTRfZGVmaW5lKFttNF9jb3B5XSwKKy1bbTRfZGVmaW5lKFskMl0sIG00X2Rl
Zm4oWyQxXSkpXSkKKy0KKy0KKy0jIG00X3JlbmFtZShTUkMsIERTVCkKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIFJlbmFtZSB0aGUgbWFjcm8gU1JDIHRvIERTVC4KKy1tNF9kZWZpbmUoW200
X3JlbmFtZV0sCistW200X2NvcHkoWyQxXSwgWyQyXSltNF91bmRlZmluZShbJDFdKV0pCistCist
CistIyBtNF9yZW5hbWVfbTQoTUFDUk8tTkFNRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLSMgUmVuYW1lIE1BQ1JPLU5BTUUgdG8gbTRfTUFDUk8tTkFNRS4KKy1tNF9kZWZpbmUoW200
X3JlbmFtZV9tNF0sCistW200X3JlbmFtZShbJDFdLCBbbTRfJDFdKV0pCistCistCistIyBtNF9j
b3B5X3VubTQobTRfTUFDUk8tTkFNRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgQ29weSBtNF9NQUNSTy1OQU1FIHRvIE1BQ1JPLU5BTUUuCistbTRfZGVmaW5lKFttNF9jb3B5
X3VubTRdLAorLVttNF9jb3B5KFskMV0sIG00X2JwYXRzdWJzdChbJDFdLCBbXm00X1woLipcKV0s
IFtbXDFdXSkpXSkKKy0KKy0KKy0jIFNvbWUgbTQgaW50ZXJuYWxzIGhhdmUgbmFtZXMgY29sbGlk
aW5nIHdpdGggdG9rZW5zIHdlIG1pZ2h0IHVzZS4KKy0jIFJlbmFtZSB0aGVtIGFgIGxhIGBtNCAt
LXByZWZpeC1idWlsdGlucycuICBDb25kaXRpb25hbHMgZmlyc3QsIHNpbmNlCistIyBzb21lIHN1
YnNlcXVlbnQgcmVuYW1lcyBhcmUgY29uZGl0aW9uYWwuCistbTRfcmVuYW1lX200KFtpZmRlZl0p
CistbTRfcmVuYW1lKFtpZmVsc2VdLCBbbTRfaWZdKQorLQorLW00X3JlbmFtZV9tNChbYnVpbHRp
bl0pCistbTRfcmVuYW1lX200KFtjaGFuZ2Vjb21dKQorLW00X3JlbmFtZV9tNChbY2hhbmdlcXVv
dGVdKQorLW00X2lmZGVmKFtjaGFuZ2V3b3JkXSxkbmwgY29uZGl0aW9uYWxseSBhdmFpbGFibGUg
aW4gMS40LngKKy1bbTRfdW5kZWZpbmUoW2NoYW5nZXdvcmRdKV0pCistbTRfcmVuYW1lX200KFtk
ZWJ1Z2ZpbGVdKQorLW00X3JlbmFtZV9tNChbZGVidWdtb2RlXSkKKy1tNF9yZW5hbWVfbTQoW2Rl
Y3JdKQorLW00X3JlbmFtZV9tNChbZGl2bnVtXSkKKy1tNF9yZW5hbWVfbTQoW2R1bXBkZWZdKQor
LW00X3JlbmFtZV9tNChbZXJycHJpbnRdKQorLW00X3JlbmFtZV9tNChbZXN5c2NtZF0pCistbTRf
cmVuYW1lX200KFtldmFsXSkKKy1tNF9yZW5hbWVfbTQoW2Zvcm1hdF0pCistbTRfdW5kZWZpbmUo
W2luY2x1ZGVdKQorLW00X3JlbmFtZV9tNChbaW5jcl0pCistbTRfcmVuYW1lX200KFtpbmRleF0p
CistbTRfcmVuYW1lX200KFtpbmRpcl0pCistbTRfcmVuYW1lX200KFtsZW5dKQorLW00X3JlbmFt
ZShbbTRleGl0XSwgW200X2V4aXRdKQorLW00X3VuZGVmaW5lKFttNHdyYXBdKQorLW00X2lmZGVm
KFtta3N0ZW1wXSxkbmwgYWRkZWQgaW4gTTQgMS40LjgKKy1bbTRfcmVuYW1lX200KFtta3N0ZW1w
XSkKKy1tNF9jb3B5KFttNF9ta3N0ZW1wXSwgW200X21ha2V0ZW1wXSkKKy1tNF91bmRlZmluZShb
bWFrZXRlbXBdKV0sCistW200X3JlbmFtZV9tNChbbWFrZXRlbXBdKQorLW00X2NvcHkoW200X21h
a2V0ZW1wXSwgW200X21rc3RlbXBdKV0pCistbTRfcmVuYW1lKFtwYXRzdWJzdF0sIFttNF9icGF0
c3Vic3RdKQorLW00X3JlbmFtZV9tNChbcG9wZGVmXSkKKy1tNF9yZW5hbWVfbTQoW3B1c2hkZWZd
KQorLW00X3JlbmFtZShbcmVnZXhwXSwgW200X2JyZWdleHBdKQorLW00X3JlbmFtZV9tNChbc2hp
ZnRdKQorLW00X3VuZGVmaW5lKFtzaW5jbHVkZV0pCistbTRfcmVuYW1lX200KFtzdWJzdHJdKQor
LW00X2lmZGVmKFtzeW1ib2xzXSxkbmwgcHJlc2VudCBvbmx5IGluIGFscGhhLXF1YWxpdHkgMS40
bworLVttNF9yZW5hbWVfbTQoW3N5bWJvbHNdKV0pCistbTRfcmVuYW1lX200KFtzeXNjbWRdKQor
LW00X3JlbmFtZV9tNChbc3lzdmFsXSkKKy1tNF9yZW5hbWVfbTQoW3RyYWNlb2ZmXSkKKy1tNF9y
ZW5hbWVfbTQoW3RyYWNlb25dKQorLW00X3JlbmFtZV9tNChbdHJhbnNsaXRdKQorLQorLSMgX200
X2RlZm4oQVJHKQorLSMgLS0tLS0tLS0tLS0tLQorLSMgX200X2RlZm4gaXMgZm9yIGludGVybmFs
IHVzZSBvbmx5IC0gaXQgYnlwYXNzZXMgdGhlIHdyYXBwZXIsIHNvIGl0CistIyBtdXN0IG9ubHkg
YmUgdXNlZCBvbiBvbmUgYXJndW1lbnQgYXQgYSB0aW1lLCBhbmQgb25seSBvbiBtYWNyb3MKKy0j
IGtub3duIHRvIGJlIGRlZmluZWQuICBNYWtlIHN1cmUgdGhpcyBzdGlsbCB3b3JrcyBpZiB0aGUg
dXNlciByZW5hbWVzCistIyBtNF9kZWZuIGJ1dCBub3QgX200X2RlZm4uCistbTRfY29weShbbTRf
ZGVmbl0sIFtfbTRfZGVmbl0pCistCistIyBfbTRfZGl2ZXJ0X3JhdyhOVU0pCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBfbTRfZGl2ZXJ0X3JhdyBpcyBmb3IgaW50ZXJuYWwgdXNlIG9ubHku
ICBVc2UgdGhpcyBpbnN0ZWFkIG9mCistIyBtNF9idWlsdGluKFtkaXZlcnRdLCBOVU0pLCBzbyB0
aGF0IHRyYWNpbmcgZGl2ZXJzaW9uIGZsb3cgaXMgZWFzaWVyLgorLW00X3JlbmFtZShbZGl2ZXJ0
XSwgW19tNF9kaXZlcnRfcmF3XSkKKy0KKy0jIF9tNF9wb3BkZWYoQVJHLi4uKQorLSMgLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBfbTRfcG9wZGVmIGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seSAtIGl0
IGJ5cGFzc2VzIHRoZSB3cmFwcGVyLCBzbyBpdAorLSMgbXVzdCBvbmx5IGJlIHVzZWQgb24gbWFj
cm9zIGtub3duIHRvIGJlIGRlZmluZWQuICBNYWtlIHN1cmUgdGhpcworLSMgc3RpbGwgd29ya3Mg
aWYgdGhlIHVzZXIgcmVuYW1lcyBtNF9wb3BkZWYgYnV0IG5vdCBfbTRfcG9wZGVmLgorLW00X2Nv
cHkoW200X3BvcGRlZl0sIFtfbTRfcG9wZGVmXSkKKy0KKy0jIF9tNF91bmRlZmluZShBUkcuLi4p
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgX200X3VuZGVmaW5lIGlzIGZvciBpbnRlcm5h
bCB1c2Ugb25seSAtIGl0IGJ5cGFzc2VzIHRoZSB3cmFwcGVyLCBzbworLSMgaXQgbXVzdCBvbmx5
IGJlIHVzZWQgb24gbWFjcm9zIGtub3duIHRvIGJlIGRlZmluZWQuICBNYWtlIHN1cmUgdGhpcwor
LSMgc3RpbGwgd29ya3MgaWYgdGhlIHVzZXIgcmVuYW1lcyBtNF91bmRlZmluZSBidXQgbm90IF9t
NF91bmRlZmluZS4KKy1tNF9jb3B5KFttNF91bmRlZmluZV0sIFtfbTRfdW5kZWZpbmVdKQorLQor
LSMgX200X3VuZGl2ZXJ0KE5VTS4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBfbTRf
dW5kaXZlcnQgaXMgZm9yIGludGVybmFsIHVzZSBvbmx5LCBhbmQgc2hvdWxkIGFsd2F5cyBiZSBn
aXZlbgorLSMgYXJndW1lbnRzLiAgVXNlIHRoaXMgaW5zdGVhZCBvZiBtNF9idWlsdGluKFt1bmRp
dmVydF0sIE5VTS4uLiksIHNvCistIyB0aGF0IHRyYWNpbmcgZGl2ZXJzaW9uIGZsb3cgaXMgZWFz
aWVyLgorLW00X3JlbmFtZShbdW5kaXZlcnRdLCBbX200X3VuZGl2ZXJ0XSkKKy0KKy0KKy0jIyAt
LS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgMi4gRXJyb3IgbWVzc2FnZXMuICAjIworLSMjIC0t
LS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIG00X2xvY2F0aW9uCistIyAtLS0tLS0tLS0t
LQorLSMgT3V0cHV0IHRoZSBjdXJyZW50IGZpbGUsIGNvbG9uLCBhbmQgdGhlIGN1cnJlbnQgbGlu
ZSBudW1iZXIuCistbTRfZGVmaW5lKFttNF9sb2NhdGlvbl0sCistW19fZmlsZV9fOl9fbGluZV9f
XSkKKy0KKy0KKy0jIG00X2VycnByaW50bihNU0cpCistIyAtLS0tLS0tLS0tLS0tLS0tLQorLSMg
U2FtZSBhcyBgZXJycHJpbnQnLCBidXQgd2l0aCB0aGUgbWlzc2luZyBlbmQgb2YgbGluZS4KKy1t
NF9kZWZpbmUoW200X2VycnByaW50bl0sCistW200X2VycnByaW50KFskMQorLV0pXSkKKy0KKy0K
Ky0jIG00X3dhcm5pbmcoTVNHKQorLSMgLS0tLS0tLS0tLS0tLS0tCistIyBXYXJuIHRoZSB1c2Vy
LgorLW00X2RlZmluZShbbTRfd2FybmluZ10sCistW200X2VycnByaW50bihtNF9sb2NhdGlvbls6
IHdhcm5pbmc6ICQxXSldKQorLQorLQorLSMgbTRfZmF0YWwoTVNHLCBbRVhJVC1TVEFUVVNdKQor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRmF0YWwgdGhlIHVzZXIuICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOikKKy1tNF9k
ZWZpbmUoW200X2ZhdGFsXSwKKy1bbTRfZXJycHJpbnRuKG00X2xvY2F0aW9uWzogZXJyb3I6ICQx
XQorLW00X2V4cGFuc2lvbl9zdGFjayltNF9leGl0KG00X2lmKFskMl0sLCAxLCBbJDJdKSldKQor
LQorLQorLSMgbTRfYXNzZXJ0KEVYUFJFU1NJT04sIFtFWElULVNUQVRVUyA9IDFdKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgVGhpcyBtYWNybyBlbnN1
cmVzIHRoYXQgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gdHJ1ZSwgYW5kIGV4aXRzIGlmCistIyBF
WFBSRVNTSU9OIGV2YWx1YXRlcyB0byBmYWxzZS4KKy1tNF9kZWZpbmUoW200X2Fzc2VydF0sCist
W200X2lmKG00X2V2YWwoWyQxXSksIDAsCistICAgICAgIFttNF9mYXRhbChbYXNzZXJ0IGZhaWxl
ZDogJDFdLCBbJDJdKV0pXSkKKy0KKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tICMjCistIyMgMy4g
V2FybmluZ3MuICAjIworLSMjIC0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIF9tNF93YXJuKENB
VEVHT1JZLCBNRVNTQUdFLCBbU1RBQ0stVFJBQ0VdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBSZXBvcnQgYSBNRVNTQUdFIHRvIHRoZSB1c2VyIGlm
IHRoZSBDQVRFR09SWSBvZiB3YXJuaW5ncyBpcyBlbmFibGVkLgorLSMgVGhpcyBpcyBmb3IgdHJh
Y2VzIG9ubHkuCistIyBJZiBwcmVzZW50LCBTVEFDSy1UUkFDRSBpcyBhIFxuLXNlcGFyYXRlZCBs
aXN0IG9mICJMT0NBVElPTjogTUVTU0FHRSIsCistIyB3aGVyZSB0aGUgbGFzdCBsaW5lIChhbmQg
bm8gb3RoZXIpIGVuZHMgd2l0aCAidGhlIHRvcCBsZXZlbCIuCistIworLSMgV2l0aGluIG00LCB0
aGUgbWFjcm8gaXMgYSBuby1vcC4gIFRoaXMgbWFjcm8gcmVhbGx5IG1hdHRlcnMKKy0jIHdoZW4g
YXV0b200dGUgcG9zdC1wcm9jZXNzZXMgdGhlIHRyYWNlIG91dHB1dC4KKy1tNF9kZWZpbmUoW19t
NF93YXJuXSwgW10pCistCistCistIyBtNF93YXJuKENBVEVHT1JZLCBNRVNTQUdFKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFJlcG9ydCBhIE1FU1NBR0UgdG8gdGhlIHVzZXIg
aWYgdGhlIENBVEVHT1JZIG9mIHdhcm5pbmdzIGlzIGVuYWJsZWQuCistbTRfZGVmaW5lKFttNF93
YXJuXSwKKy1bX200X3dhcm4oWyQxXSwgWyQyXSwKKy1tNF9pZmRlZihbX200X2V4cGFuc2lvbl9z
dGFja10sIFttNF9leHBhbnNpb25fc3RhY2tdKSldKQorLQorLQorLQorLSMjIC0tLS0tLS0tLS0t
LS0tLS0tLS0gIyMKKy0jIyA0LiBGaWxlIGluY2x1c2lvbi4gICMjCistIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLSAjIworLQorLQorLSMgV2UgYWxzbyB3YW50IHRvIG5ldXRyYWxpemUgaW5jbHVkZSAo
YW5kIHNpbmNsdWRlIGZvciBzeW1tZXRyeSksCistIyBidXQgd2Ugd2FudCB0byBleHRlbmQgdGhl
bSBzbGlnaHRseTogd2FybiB3aGVuIGEgZmlsZSBpcyBpbmNsdWRlZAorLSMgc2V2ZXJhbCB0aW1l
cy4gIFRoaXMgaXMsIGluIGdlbmVyYWwsIGEgZGFuZ2Vyb3VzIG9wZXJhdGlvbiwgYmVjYXVzZQor
LSMgdG9vIG1hbnkgcGVvcGxlIGZvcmdldCB0byBxdW90ZSB0aGUgZmlyc3QgYXJndW1lbnQgb2Yg
bTRfZGVmaW5lLgorLSMKKy0jIEZvciBpbnN0YW5jZSBpbiB0aGUgZm9sbG93aW5nIGNhc2U6Cist
IyAgIG00X2RlZmluZShmb28sIFtiYXJdKQorLSMgdGhlbiBhIHNlY29uZCByZWFkaW5nIHdpbGwg
dHVybiBpbnRvCistIyAgIG00X2RlZmluZShiYXIsIFtiYXJdKQorLSMgd2hpY2ggaXMgY2VydGFp
bmx5IG5vdCB3aGF0IHdhcyBtZWFudC4KKy0KKy0jIG00X2luY2x1ZGVfdW5pcXVlKEZJTEUpCist
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVjbGFyZSB0aGF0IHRoZSBGSUxFIHdhcyBs
b2FkaW5nOyBhbmQgd2FybiBpZiBpdCBoYXMgYWxyZWFkeQorLSMgYmVlbiBpbmNsdWRlZC4KKy1t
NF9kZWZpbmUoW200X2luY2x1ZGVfdW5pcXVlXSwKKy1bbTRfaWZkZWYoW200X2luY2x1ZGUoJDEp
XSwKKy0JICBbbTRfd2Fybihbc3ludGF4XSwgW2ZpbGUgYCQxJyBpbmNsdWRlZCBzZXZlcmFsIHRp
bWVzXSldKWRubAorLW00X2RlZmluZShbbTRfaW5jbHVkZSgkMSldKV0pCistCistCistIyBtNF9p
bmNsdWRlKEZJTEUpCistIyAtLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIHRoZSBidWlsdGluIGlu
Y2x1ZGUsIGJ1dCB3YXJucyBhZ2FpbnN0IG11bHRpcGxlIGluY2x1c2lvbnMuCistbTRfZGVmaW5l
KFttNF9pbmNsdWRlXSwKKy1bbTRfaW5jbHVkZV91bmlxdWUoWyQxXSlkbmwKKy1tNF9idWlsdGlu
KFtpbmNsdWRlXSwgWyQxXSldKQorLQorLQorLSMgbTRfc2luY2x1ZGUoRklMRSkKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tCistIyBMaWtlIHRoZSBidWlsdGluIHNpbmNsdWRlLCBidXQgd2FybnMgYWdh
aW5zdCBtdWx0aXBsZSBpbmNsdXNpb25zLgorLW00X2RlZmluZShbbTRfc2luY2x1ZGVdLAorLVtt
NF9pbmNsdWRlX3VuaXF1ZShbJDFdKWRubAorLW00X2J1aWx0aW4oW3NpbmNsdWRlXSwgWyQxXSld
KQorLQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwor
LSMjIDUuIEFkZGl0aW9uYWwgYnJhbmNoaW5nIGNvbnN0cnVjdHMuICAjIworLSMjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgQm90aCBgbTRfaWZ2YWwnIGFu
ZCBgbTRfaWZzZXQnIHRlc3RzIGFnYWluc3QgdGhlIGVtcHR5IHN0cmluZy4gIFRoZQorLSMgZGlm
ZmVyZW5jZSBpcyB0aGF0IGBtNF9pZnNldCcgaXMgc3BlY2lhbGl6ZWQgb24gbWFjcm9zLgorLSMK
Ky0jIEluIGNhc2Ugb2YgYXJndW1lbnRzIG9mIG1hY3JvcywgZWcuICQxLCBpdCBtYWtlcyBsaXR0
bGUgZGlmZmVyZW5jZS4KKy0jIEluIHRoZSBjYXNlIG9mIGEgbWFjcm8gYEZPTycsIHlvdSBkb24n
dCB3YW50IHRvIGNoZWNrIGBtNF9pZnZhbChGT08sCistIyBUUlVFKScsIGJlY2F1c2UgaWYgYEZP
TycgZXhwYW5kcyB3aXRoIGNvbW1hcywgdGhlcmUgaXMgYSBzaGlmdGluZyBvZgorLSMgdGhlIGFy
Z3VtZW50cy4gIFNvIHlvdSB3YW50IHRvIHJ1biBgbTRfaWZ2YWwoW0ZPT10pJywgYnV0IHRoZW4g
eW91IGp1c3QKKy0jIGNvbXBhcmUgdGhlICpzdHJpbmcqIGBGT08nIGFnYWluc3QgYCcsIHdoaWNo
LCBvZiBjb3Vyc2UgZmFpbHMuCistIworLSMgU28geW91IHdhbnQgdGhlIHZhcmlhdGlvbiBgbTRf
aWZzZXQnIHRoYXQgZXhwZWN0cyBhIG1hY3JvIG5hbWUgYXMgJDEuCistIyBJZiB0aGlzIG1hY3Jv
IGlzIGJvdGggZGVmaW5lZCBhbmQgZGVmaW5lZCB0byBhIG5vbiBlbXB0eSB2YWx1ZSwgdGhlbgor
LSMgaXQgcnVucyBUUlVFLCBldGMuCistCistCistIyBtNF9pZmJsYW5rKENPTkQsIFtJRi1CTEFO
S10sIFtJRi1URVhUXSkKKy0jIG00X2lmbmJsYW5rKENPTkQsIFtJRi1URVhUXSwgW0lGLUJMQU5L
XSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIENP
TkQgaXMgZW1wdHksIG9yIGNvbnNpc3RzIG9ubHkgb2YgYmxhbmtzIChzcGFjZSwgdGFiLCBuZXds
aW5lKSwKKy0jIHRoZW4gZXhwYW5kIElGLUJMQU5LLCBvdGhlcndpc2UgZXhwYW5kIElGLVRFWFQu
ICBUaGlzIGRpZmZlcnMgZnJvbQorLSMgbTRfaWZ2YWwgb25seSBpZiBDT05EIGhhcyBqdXN0IHdo
aXRlc3BhY2UsIGJ1dCBpdCBoZWxwcyBvcHRpbWl6ZSBpbgorLSMgc3BpdGUgb2YgdXNlcnMgd2hv
IG1pc3Rha2VubHkgbGVhdmUgdHJhaWxpbmcgc3BhY2UgYWZ0ZXIgd2hhdCB0aGV5CistIyB0aG91
Z2h0IHdhcyBhbiBlbXB0eSBhcmd1bWVudDoKKy0jICAgbWFjcm8oCistIyAgICAgICAgIFtdCist
IyAgICAgICAgKQorLSMKKy0jIFdyaXRpbmcgb25lIG1hY3JvIGluIHRlcm1zIG9mIHRoZSBvdGhl
ciBjYXVzZXMgZXh0cmEgb3ZlcmhlYWQsIHNvCistIyB3ZSBpbmxpbmUgYm90aCBkZWZpbml0aW9u
cy4KKy1tNF9kZWZpbmUoW200X2lmYmxhbmtdLAorLVttNF9pZihtNF90cmFuc2xpdChbWyQxXV0s
ICBbIF1bCV1bCistXSksIFtdLCBbJDJdLCBbJDNdKV0pCistCistbTRfZGVmaW5lKFttNF9pZm5i
bGFua10sCistW200X2lmKG00X3RyYW5zbGl0KFtbJDFdXSwgIFsgXVsJXVsKKy1dKSwgW10sIFsk
M10sIFskMl0pXSkKKy0KKy0KKy0jIG00X2lmdmFsKENPTkQsIFtJRi1UUlVFXSwgW0lGLUZBTFNF
XSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIENPTkQg
aXMgbm90IHRoZSBlbXB0eSBzdHJpbmcsIGV4cGFuZCBJRi1UUlVFLCBvdGhlcndpc2UgSUYtRkFM
U0UuCistIyBDb21wYXJhYmxlIHRvIG00X2lmZGVmLgorLW00X2RlZmluZShbbTRfaWZ2YWxdLAor
LVttNF9pZihbJDFdLCBbXSwgWyQzXSwgWyQyXSldKQorLQorLQorLSMgbTRfbihURVhUKQorLSMg
LS0tLS0tLS0tLQorLSMgSWYgVEVYVCBpcyBub3QgZW1wdHksIHJldHVybiBURVhUIGFuZCBhIG5l
dyBsaW5lLCBvdGhlcndpc2Ugbm90aGluZy4KKy1tNF9kZWZpbmUoW200X25dLAorLVttNF9pZihb
JDFdLAorLSAgICAgICBbXSwgW10sCistCSAgIFskMQorLV0pXSkKKy0KKy0KKy0jIG00X2lmdmFs
bihDT05ELCBbSUYtVFJVRV0sIFtJRi1GQUxTRV0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgU2FtZSBhcyBgbTRfaWZ2YWwnLCBidXQgYWRkIGFuIGV4dHJh
IG5ld2xpbmUgdG8gSUYtVFJVRSBvciBJRi1GQUxTRQorLSMgdW5sZXNzIHRoYXQgYXJndW1lbnQg
aXMgZW1wdHkuCistbTRfZGVmaW5lKFttNF9pZnZhbG5dLAorLVttNF9pZihbJDFdLAorLSAgICAg
ICBbXSwgICBbbTRfbihbJDNdKV0sCistCSAgICAgW200X24oWyQyXSldKV0pCistCistCistIyBt
NF9pZnNldChNQUNSTywgW0lGLVRSVUVdLCBbSUYtRkFMU0VdKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIE1BQ1JPIGhhcyBubyBkZWZpbml0aW9uLCBv
ciBvZiBpdHMgZGVmaW5pdGlvbiBpcyB0aGUgZW1wdHkgc3RyaW5nLAorLSMgZXhwYW5kIElGLUZB
TFNFLCBvdGhlcndpc2UgSUYtVFJVRS4KKy1tNF9kZWZpbmUoW200X2lmc2V0XSwKKy1bbTRfaWZk
ZWYoWyQxXSwKKy0JICBbbTRfaWZ2YWwoX200X2RlZm4oWyQxXSksIFskMl0sIFskM10pXSwKKy0J
ICBbJDNdKV0pCistCistCistIyBtNF9pZm5kZWYoTkFNRSwgW0lGLU5PVC1ERUZJTkVEXSwgW0lG
LURFRklORURdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy1tNF9kZWZpbmUoW200X2lmbmRlZl0sCistW200X2lmZGVmKFskMV0sIFskM10sIFsk
Ml0pXSkKKy0KKy0KKy0jIG00X2Nhc2UoU1dJVENILCBWQUwxLCBJRi1WQUwxLCBWQUwyLCBJRi1W
QUwyLCAuLi4sIERFRkFVTFQpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgbTQgZXF1aXZhbGVudCBvZgorLSMgc3dpdGNo
IChTV0lUQ0gpCistIyB7CistIyAgIGNhc2UgVkFMMToKKy0jICAgICBJRi1WQUwxOworLSMgICAg
IGJyZWFrOworLSMgICBjYXNlIFZBTDI6CistIyAgICAgSUYtVkFMMjsKKy0jICAgICBicmVhazsK
Ky0jICAgLi4uCistIyAgIGRlZmF1bHQ6CistIyAgICAgREVGQVVMVDsKKy0jICAgICBicmVhazsK
Ky0jIH0uCistIyBBbGwgdGhlIHZhbHVlcyBhcmUgb3B0aW9uYWwsIGFuZCB0aGUgbWFjcm8gaXMg
cm9idXN0IHRvIGFjdGl2ZQorLSMgc3ltYm9scyBwcm9wZXJseSBxdW90ZWQuCistIworLSMgUGxl
YXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVy
ZS4KKy1tNF9kZWZpbmUoW200X2Nhc2VdLAorLVttNF9pZihbJCNdLCAwLCBbXSwKKy0gICAgICAg
WyQjXSwgMSwgW10sCistICAgICAgIFskI10sIDIsIFskMl0sCistICAgICAgIFskMV0sIFskMl0s
IFskM10sCistICAgICAgIFskMChbJDFdLCBtNF9zaGlmdDMoJEApKV0pXSkKKy0KKy0KKy0jIG00
X2JtYXRjaChTV0lUQ0gsIFJFMSwgVkFMMSwgUkUyLCBWQUwyLCAuLi4sIERFRkFVTFQpCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
bTQgZXF1aXZhbGVudCBvZgorLSMKKy0jIGlmIChTV0lUQ0ggPX4gUkUxKQorLSMgICBWQUwxOwor
LSMgZWxpZiAoU1dJVENIID1+IFJFMikKKy0jICAgVkFMMjsKKy0jIGVsaWYgLi4uCistIyAgIC4u
LgorLSMgZWxzZQorLSMgICBERUZBVUxUCistIworLSMgQWxsIHRoZSB2YWx1ZXMgYXJlIG9wdGlv
bmFsLCBhbmQgdGhlIG1hY3JvIGlzIHJvYnVzdCB0byBhY3RpdmUgc3ltYm9scworLSMgcHJvcGVy
bHkgcXVvdGVkLgorLSMKKy0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFu
eSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCistbTRfZGVmaW5lKFttNF9ibWF0Y2hdLAorLVttNF9p
ZihbJCNdLCAwLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCNdKV0sCistICAg
ICAgIFskI10sIDEsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkIzogJDFdKV0s
CistICAgICAgIFskI10sIDIsIFskMl0sCistICAgICAgIFttNF9pZihtNF9icmVnZXhwKFskMV0s
IFskMl0pLCAtMSwgWyQwKFskMV0sIG00X3NoaWZ0MygkQCkpXSwKKy0JICAgICAgWyQzXSldKV0p
CistCistIyBtNF9hcmduKE4sIEFSR1MuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tCistIyBF
eHRyYWN0IGFyZ3VtZW50IE4gKGdyZWF0ZXIgdGhhbiAwKSBmcm9tIEFSR1MuICBFeGFtcGxlOgor
LSMgICBtNF9kZWZpbmUoW2JdLCBbQl0pCistIyAgIG00X2FyZ24oWzJdLCBbYV0sIFtiXSwgW2Nd
KSA9PiBiCistIworLSMgUmF0aGVyIHRoYW4gdXNpbmcgbTRfY2FyKG00X3NoaWZ0bihbJDFdLCAk
QCkpLCB3ZSBleHBsb2l0IHRoZSBmYWN0IHRoYXQKKy0jIEdOVSBtNCBjYW4gZGlyZWN0bHkgcmVm
ZXJlbmNlIGFueSBhcmd1bWVudCwgdGhyb3VnaCBhbiBpbmRpcmVjdCBtYWNyby4KKy1tNF9kZWZp
bmUoW200X2FyZ25dLAorLVttNF9hc3NlcnQoWzAgPCAkMV0pXWRubAorLVttNF9wdXNoZGVmKFtf
JDBdLCBbX200X3BvcGRlZihbXyQwXSldbTRfZHF1b3RlKFskXW00X2luY3IoWyQxXSkpKV8kMCgk
QCldKQorLQorLQorLSMgbTRfY2FyKEFSR1MuLi4pCistIyBtNF9jZHIoQVJHUy4uLikKKy0jIC0t
LS0tLS0tLS0tLS0tLQorLSMgTWFuaXB1bGF0ZSBtNCBsaXN0cy4gIG00X2NhciByZXR1cm5zIHRo
ZSBmaXJzdCBhcmd1bWVudC4gIG00X2NkcgorLSMgYnVuZGxlcyBhbGwgYnV0IHRoZSBmaXJzdCBh
cmd1bWVudCBpbnRvIGEgcXVvdGVkIGxpc3QuICBUaGVzZSB0d28KKy0jIG1hY3JvcyBhcmUgZ2Vu
ZXJhbGx5IHVzZWQgd2l0aCBsaXN0IGFyZ3VtZW50cywgd2l0aCBxdW90aW5nIHJlbW92ZWQKKy0j
IHRvIGJyZWFrIHRoZSBsaXN0IGludG8gbXVsdGlwbGUgbTQgQVJHUy4KKy1tNF9kZWZpbmUoW200
X2Nhcl0sIFtbJDFdXSkKKy1tNF9kZWZpbmUoW200X2Nkcl0sCistW200X2lmKFskI10sIDAsIFtt
NF9mYXRhbChbJDA6IGNhbm5vdCBiZSBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHNdKV0sCistICAg
ICAgIFskI10sIDEsIFtdLAorLSAgICAgICBbbTRfZHF1b3RlKG00X3NoaWZ0KCRAKSldKV0pCist
CistIyBfbTRfY2RyKEFSR1MuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIG00X2Nk
ciwgZXhjZXB0IGluY2x1ZGUgYSBsZWFkaW5nIGNvbW1hIHVubGVzcyBvbmx5IG9uZSBhcmd1bWVu
dAorLSMgcmVtYWlucy4gIFdoeT8gIEJlY2F1c2UgY29tcGFyaW5nIGEgbGFyZ2UgbGlzdCBhZ2Fp
bnN0IFtdIGlzIG1vcmUKKy0jIGV4cGVuc2l2ZSBpbiBleHBhbnNpb24gdGltZSB0aGFuIGNvbXBh
cmluZyB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50czsgc28KKy0jIF9tNF9jZHIgY2FuIGJlIHVzZWQg
dG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHdoZW4gaXQgaXMgdGltZQorLSMgdG8g
ZW5kIHJlY3Vyc2lvbi4KKy1tNF9kZWZpbmUoW19tNF9jZHJdLAorLVttNF9pZihbJCNdLCAxLCBb
XSwKKy0gICAgICAgWywgbTRfZHF1b3RlKG00X3NoaWZ0KCRAKSldKV0pCistCistCistCistIyBt
NF9jb25kKFRFU1QxLCBWQUwxLCBJRi1WQUwxLCBURVNUMiwgVkFMMiwgSUYtVkFMMiwgLi4uLCBb
REVGQVVMVF0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBTaW1pbGFyIHRvIG00X2lmLCBleGNlcHQgdGhh
dCBlYWNoIFRFU1QgaXMgZXhwYW5kZWQgd2hlbiBlbmNvdW50ZXJlZC4KKy0jIElmIHRoZSBleHBh
bnNpb24gb2YgVEVTVG4gbWF0Y2hlcyB0aGUgc3RyaW5nIFZBTG4sIHRoZSByZXN1bHQgaXMgSUYt
VkFMbi4KKy0jIFRoZSByZXN1bHQgaXMgREVGQVVMVCBpZiBubyB0ZXN0cyBwYXNzZWQuICBUaGlz
IG1hY3JvIGFsbG93cworLSMgc2hvcnQtY2lyY3VpdGluZyBvZiBleHBlbnNpdmUgdGVzdHMsIHdo
ZXJlIGl0IHBheXMgdG8gYXJyYW5nZSBxdWljaworLSMgZmlsdGVyIHRlc3RzIHRvIHJ1biBmaXJz
dC4KKy0jCistIyBGb3IgYW4gZXhhbXBsZSwgY29uc2lkZXIgYSBwcmV2aW91cyBpbXBsZW1lbnRh
dGlvbiBvZiBfQVNfUVVPVEVfSUZFTFNFOgorLSMKKy0jICAgIG00X2lmKG00X2luZGV4KFskMV0s
IFtcXSksIFstMV0sIFskMl0sCistIyAgICAgICAgICBtNF9ldmFsKG00X2luZGV4KFskMV0sIFtc
XF0pID49IDApLCBbMV0sIFskMl0sCistIyAgICAgICAgICBtNF9ldmFsKG00X2luZGV4KFskMV0s
IFtcJF0pID49IDApLCBbMV0sIFskMl0sCistIyAgICAgICAgICBtNF9ldmFsKG00X2luZGV4KFsk
MV0sIFtcYF0pID49IDApLCBbMV0sIFskM10sCistIyAgICAgICAgICBtNF9ldmFsKG00X2luZGV4
KFskMV0sIFtcIl0pID49IDApLCBbMV0sIFskM10sCistIyAgICAgICAgICBbJDJdKQorLSMKKy0j
IEhlcmUsIG00X2luZGV4IGlzIGNvbXB1dGVkIDUgdGltZXMsIGFuZCBtNF9ldmFsIDQsIGV2ZW4g
aWYgJDEgY29udGFpbnMKKy0jIG5vIGJhY2tzbGFzaC4gIEl0IGlzIG1vcmUgZWZmaWNpZW50IHRv
IGRvOgorLSMKKy0jICAgIG00X2NvbmQoW200X2luZGV4KFskMV0sIFtcXSldLCBbLTFdLCBbJDJd
LAorLSMgICAgICAgICAgICBbbTRfZXZhbChtNF9pbmRleChbJDFdLCBbXFxdKSA+PSAwKV0sIFsx
XSwgWyQyXSwKKy0jICAgICAgICAgICAgW200X2V2YWwobTRfaW5kZXgoWyQxXSwgW1wkXSkgPj0g
MCldLCBbMV0sIFskMl0sCistIyAgICAgICAgICAgIFttNF9ldmFsKG00X2luZGV4KFskMV0sIFtc
YF0pID49IDApXSwgWzFdLCBbJDNdLAorLSMgICAgICAgICAgICBbbTRfZXZhbChtNF9pbmRleChb
JDFdLCBbXCJdKSA+PSAwKV0sIFsxXSwgWyQzXSwKKy0jICAgICAgICAgICAgWyQyXSkKKy0jCist
IyBJbiB0aGUgY29tbW9uIGNhc2Ugb2YgJDEgd2l0aCBubyBiYWNrc2xhc2gsIG9ubHkgb25lIG00
X2luZGV4IGV4cGFuc2lvbgorLSMgb2NjdXJzLCBhbmQgbTRfZXZhbCBpcyBhdm9pZGVkIGFsdG9n
ZXRoZXIuCistIworLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFk
anVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9kZWZpbmUoW200X2NvbmRdLAorLVttNF9pZihbJCNd
LCBbMF0sIFttNF9mYXRhbChbJDA6IGNhbm5vdCBiZSBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHNd
KV0sCistICAgICAgIFskI10sIFsxXSwgWyQxXSwKKy0gICAgICAgbTRfZXZhbChbJCMgJSAzXSks
IFsyXSwgW200X2ZhdGFsKFskMDogbWlzc2luZyBhbiBhcmd1bWVudF0pXSwKKy0gICAgICAgW18k
MCgkQCldKV0pCistCistbTRfZGVmaW5lKFtfbTRfY29uZF0sCistW200X2lmKCgkMSksIFsoJDIp
XSwgWyQzXSwKKy0gICAgICAgWyQjXSwgWzNdLCBbXSwKKy0gICAgICAgWyQjXSwgWzRdLCBbJDRd
LAorLSAgICAgICBbJDAobTRfc2hpZnQzKCRAKSldKV0pCistCistCistIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIDYuIEVuaGFuY2VkIHZlcnNpb24g
b2Ygc29tZSBwcmltaXRpdmVzLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMjCistCistIyBtNF9icGF0c3Vic3RzKFNUUklORywgUkUxLCBTVUJTVDEs
IFJFMiwgU1VCU1QyLCAuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBtNCBlcXVpdmFsZW50IG9mCistIworLSMgICAkXyA9IFNU
UklORzsKKy0jICAgcy9SRTEvU1VCU1QxL2c7CistIyAgIHMvUkUyL1NVQlNUMi9nOworLSMgICAu
Li4KKy0jCistIyBBbGwgdGhlIHZhbHVlcyBhcmUgb3B0aW9uYWwsIGFuZCB0aGUgbWFjcm8gaXMg
cm9idXN0IHRvIGFjdGl2ZSBzeW1ib2xzCistIyBwcm9wZXJseSBxdW90ZWQuCistIworLSMgSSB3
b3VsZCBoYXZlIGxpa2VkIHRvIG5hbWUgdGhpcyBtYWNybyBgbTRfYnBhdHN1YnN0JywgdW5mb3J0
dW5hdGVseSwKKy0jIGR1ZSB0byBxdW90YXRpb24gcHJvYmxlbXMsIEkgbmVlZCB0byBkb3VibGUg
cXVvdGUgJDEgYmVsb3csIHRoZXJlZm9yZQorLSMgdGhlIGFuY2hvcnMgYXJlIGJyb2tlbiA6KCAg
SSBjYW4ndCBsZXQgdXNlcnMgYmUgdHJhcHBlZCBieSB0aGF0LgorLSMKKy0jIFJlY2FsbCB0aGF0
IG00X3NoaWZ0MyBhbHdheXMgcmVzdWx0cyBpbiBhbiBhcmd1bWVudC4gIEhlbmNlLCB3ZSBuZWVk
CistIyB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGEgZmluYWwgZGVsZXRpb24gdnMuIGVuZGluZyBy
ZWN1cnNpb24uCistIworLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55
IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9kZWZpbmUoW200X2JwYXRzdWJzdHNdLAorLVtt
NF9pZihbJCNdLCAwLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCNdKV0sCist
ICAgICAgIFskI10sIDEsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkIzogJDFd
KV0sCistICAgICAgIFskI10sIDIsIFttNF91bnF1b3RlKG00X2J1aWx0aW4oW3BhdHN1YnN0XSwg
W1skMV1dLCBbJDJdKSldLAorLSAgICAgICBbJCNdLCAzLCBbbTRfdW5xdW90ZShtNF9idWlsdGlu
KFtwYXRzdWJzdF0sIFtbJDFdXSwgWyQyXSwgWyQzXSkpXSwKKy0gICAgICAgW18kMCgkQG00X2lm
KG00X2V2YWwoJCMgJiAxKSwgMCwgWyxdKSldKV0pCistbTRfZGVmaW5lKFtfbTRfYnBhdHN1YnN0
c10sCistW200X2lmKFskI10sIDIsIFskMV0sCistICAgICAgIFskMChtNF9idWlsdGluKFtwYXRz
dWJzdF0sIFtbJDFdXSwgWyQyXSwgWyQzXSksCistCSAgIG00X3NoaWZ0MygkQCkpXSldKQorLQor
LQorLSMgbTRfY29weShTUkMsIERTVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWZpbmUg
dGhlIHB1c2hkZWYgc3RhY2sgRFNUIGFzIGEgY29weSBvZiB0aGUgcHVzaGRlZiBzdGFjayBTUkM7
CistIyBnaXZlIGFuIGVycm9yIGlmIERTVCBpcyBhbHJlYWR5IGRlZmluZWQuICBUaGlzIGlzIHBh
cnRpY3VsYXJseSBuaWNlCistIyBmb3IgY29weWluZyBzZWxmLW1vZGlmeWluZyBwdXNoZGVmIHN0
YWNrcywgd2hlcmUgdGhlIHRvcCBkZWZpbml0aW9uCistIyBpbmNsdWRlcyBvbmUtc2hvdCBpbml0
aWFsaXphdGlvbiB0aGF0IGlzIGxhdGVyIHBvcHBlZCB0byB0aGUgbm9ybWFsCistIyBkZWZpbml0
aW9uLiAgVGhpcyB2ZXJzaW9uIGludGVudGlvbmFsbHkgZG9lcyBub3RoaW5nIGlmIFNSQyBpcwor
LSMgdW5kZWZpbmVkLgorLSMKKy0jIFNvbWUgbWFjcm9zIHNpbXBseSBjYW4ndCBiZSByZW5hbWVk
IHdpdGggdGhpcyBtZXRob2Q6IG5hbWVseSwgYW55dGhpbmcKKy0jIGludm9sdmVkIGluIHRoZSBp
bXBsZW1lbnRhdGlvbiBvZiBtNF9zdGFja19mb3JlYWNoX3NlcC4KKy1tNF9kZWZpbmUoW200X2Nv
cHldLAorLVttNF9pZmRlZihbJDJdLCBbbTRfZmF0YWwoWyQwOiB3b24ndCBvdmVyd3JpdGUgZGVm
aW5lZCBtYWNybzogJDJdKV0sCistCSAgW200X3N0YWNrX2ZvcmVhY2hfc2VwKFskMV0sIFttNF9w
dXNoZGVmKFskMl0sXSwgWyldKV0pXWRubAorLVttNF9pZmRlZihbbTRfbG9jYXRpb24oJDEpXSwg
W200X2RlZmluZShbbTRfbG9jYXRpb24oJDIpXSwgbTRfbG9jYXRpb24pXSldKQorLQorLQorLSMg
bTRfY29weV9mb3JjZShTUkMsIERTVCkKKy0jIG00X3JlbmFtZV9mb3JjZShTUkMsIERTVCkKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIExpa2UgbTRfY29weS9tNF9yZW5hbWUsIGV4
Y2VwdCBibGluZGx5IG92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgRFNULgorLSMgTm90ZSB0aGF0IG00
X2NvcHlfZm9yY2UgdG9sZXJhdGVzIHVuZGVmaW5lZCBTUkMsIHdoaWxlIG00X3JlbmFtZV9mb3Jj
ZQorLSMgZG9lcyBub3QuCistbTRfZGVmaW5lKFttNF9jb3B5X2ZvcmNlXSwKKy1bbTRfaWZkZWYo
WyQyXSwgW19tNF91bmRlZmluZShbJDJdKV0pbTRfY29weSgkQCldKQorLQorLW00X2RlZmluZShb
bTRfcmVuYW1lX2ZvcmNlXSwKKy1bbTRfaWZkZWYoWyQyXSwgW19tNF91bmRlZmluZShbJDJdKV0p
bTRfcmVuYW1lKCRAKV0pCistCistCistIyBtNF9kZWZpbmVfZGVmYXVsdChNQUNSTywgVkFMVUUp
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJZiBNQUNSTyBpcyB1bmRl
ZmluZWQsIHNldCBpdCB0byBWQUxVRS4KKy1tNF9kZWZpbmUoW200X2RlZmluZV9kZWZhdWx0XSwK
Ky1bbTRfaWZuZGVmKFskMV0sIFttNF9kZWZpbmUoJEApXSldKQorLQorLQorLSMgbTRfZGVmYXVs
dChFWFAxLCBFWFAyKQorLSMgbTRfZGVmYXVsdF9uYmxhbmsoRVhQMSwgRVhQMikKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm5zIEVYUDEgaWYgbm90IGVtcHR5L2Js
YW5rLCBvdGhlcndpc2UgRVhQMi4gIEV4cGFuZCB0aGUgcmVzdWx0LgorLSMKKy0jIG00X2RlZmF1
bHQgaXMgY2FsbGVkIG9uIGhvdCBwYXRocywgc28gaW5saW5lIHRoZSBjb250ZW50cyBvZiBtNF9p
ZnZhbCwKKy0jIGZvciBvbmUgbGVzcyByb3VuZCBvZiBleHBhbnNpb24uCistbTRfZGVmaW5lKFtt
NF9kZWZhdWx0XSwKKy1bbTRfaWYoWyQxXSwgW10sIFskMl0sIFskMV0pXSkKKy0KKy1tNF9kZWZp
bmUoW200X2RlZmF1bHRfbmJsYW5rXSwKKy1bbTRfaWZibGFuayhbJDFdLCBbJDJdLCBbJDFdKV0p
CistCistCistIyBtNF9kZWZhdWx0X3F1b3RlZChFWFAxLCBFWFAyKQorLSMgbTRfZGVmYXVsdF9u
YmxhbmtfcXVvdGVkKEVYUDEsIEVYUDIpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIFJldHVybnMgRVhQMSBpZiBub24gZW1wdHkvYmxhbmssIG90aGVyd2lzZSBF
WFAyLiAgTGVhdmUgdGhlIHJlc3VsdCBxdW90ZWQuCistIworLSMgRm9yIGNvbXBhcmlzb246Cist
IyAgIG00X2RlZmluZShbYWN0aXZlXSwgW0FDVElWRV0pCistIyAgIG00X2RlZmF1bHQoW2FjdGl2
ZV0sIFtkZWZhdWx0XSkgPT4gQUNUSVZFCistIyAgIG00X2RlZmF1bHQoW10sIFthY3RpdmVdKSA9
PiBBQ1RJVkUKKy0jICAgLW00X2RlZmF1bHQoWyBdLCBbYWN0aXZlXSktID0+IC0gLQorLSMgICAt
bTRfZGVmYXVsdF9uYmxhbmsoWyBdLCBbYWN0aXZlXSktID0+IC1BQ1RJVkUtCistIyAgIG00X2Rl
ZmF1bHRfcXVvdGVkKFthY3RpdmVdLCBbZGVmYXVsdF0pID0+IGFjdGl2ZQorLSMgICBtNF9kZWZh
dWx0X3F1b3RlZChbXSwgW2FjdGl2ZV0pID0+IGFjdGl2ZQorLSMgICAtbTRfZGVmYXVsdF9xdW90
ZWQoWyBdLCBbYWN0aXZlXSktID0+IC0gLQorLSMgICAtbTRfZGVmYXVsdF9uYmxhbmtfcXVvdGVk
KFsgXSwgW2FjdGl2ZV0pLSA9PiAtYWN0aXZlLQorLSMKKy0jIG00X2RlZmF1bHQgbWFjcm8gaXMg
Y2FsbGVkIG9uIGhvdCBwYXRocywgc28gaW5saW5lIHRoZSBjb250ZW50cyBvZiBtNF9pZnZhbCwK
Ky0jIGZvciBvbmUgbGVzcyByb3VuZCBvZiBleHBhbnNpb24uCistbTRfZGVmaW5lKFttNF9kZWZh
dWx0X3F1b3RlZF0sCistW200X2lmKFskMV0sIFtdLCBbWyQyXV0sIFtbJDFdXSldKQorLQorLW00
X2RlZmluZShbbTRfZGVmYXVsdF9uYmxhbmtfcXVvdGVkXSwKKy1bbTRfaWZibGFuayhbJDFdLCBb
WyQyXV0sIFtbJDFdXSldKQorLQorLQorLSMgbTRfZGVmbihOQU1FKQorLSMgLS0tLS0tLS0tLS0t
LQorLSMgTGlrZSB0aGUgb3JpZ2luYWwsIGV4Y2VwdCBndWFyYW50ZWUgYSB3YXJuaW5nIHdoZW4g
dXNpbmcgc29tZXRoaW5nIHdoaWNoIGlzCistIyB1bmRlZmluZWQgKHVubGlrZSBNNCAxLjQueCku
ICBUaGlzIHJlcGxhY2VtZW50IGlzIG5vdCBhIGZ1bGwtZmVhdHVyZWQKKy0jIHJlcGxhY2VtZW50
OiBpZiBhbnkgb2YgdGhlIGRlZmluZWQgbWFjcm9zIGNvbnRhaW4gdW5iYWxhbmNlZCBxdW90aW5n
LCBidXQKKy0jIHdoZW4gcGFzdGVkIHRvZ2V0aGVyIHJlc3VsdCBpbiBhIHdlbGwtcXVvdGVkIHN0
cmluZywgdGhlbiBvbmx5IG5hdGl2ZSBtNAorLSMgc3VwcG9ydCBpcyBhYmxlIHRvIGdldCBpdCBj
b3JyZWN0LiAgQnV0IHRoYXQncyB3aGVyZSBxdWFkcmlncmFwaHMgY29tZSBpbgorLSMgaGFuZHks
IGlmIHlvdSByZWFsbHkgbmVlZCB1bmJhbGFuY2VkIHF1b3RlcyBpbnNpZGUgeW91ciBtYWNyb3Mu
CistIworLSMgVGhpcyBtYWNybyBpcyBjYWxsZWQgZnJlcXVlbnRseSwgc28gbWluaW1pemUgdGhl
IGFtb3VudCBvZiBhZGRpdGlvbmFsCistIyBleHBhbnNpb25zIGJ5IHNraXBwaW5nIG00X2lmbmRl
Zi4gIEJldHRlciB5ZXQsIGlmIF9fbTRfdmVyc2lvbl9fIGV4aXN0cywKKy0jIChhZGRlZCBpbiBN
NCAxLjYpLCB0aGVuIGxldCBtNCBkbyB0aGUgam9iIGZvciB1cyAoc2VlIG00X2luaXQpLgorLW00
X2RlZmluZShbbTRfZGVmbl0sCistW200X2lmKFskI10sIFswXSwgW1skMF1dLAorLSAgICAgICBb
JCNdLCBbMV0sIFttNF9pZmRlZihbJDFdLCBbX200X2RlZm4oWyQxXSldLAorLQkJCSAgICBbbTRf
ZmF0YWwoWyQwOiB1bmRlZmluZWQgbWFjcm86ICQxXSldKV0sCistICAgICAgIFttNF9tYXBfYXJn
cyhbJDBdLCAkQCldKV0pCistCistCistIyBtNF9kdW1wZGVmKE5BTUUuLi4pCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBJbiBtNCAxLjQueCwgZHVtcGRlZiB3cml0ZXMgdG8gdGhlIGN1cnJl
bnQgZGVidWdmaWxlLCByYXRoZXIgdGhhbgorLSMgc3RkZXJyLiAgVGhpcyBpbiB0dXJuIHJveWFs
bHkgY29uZnVzZXMgYXV0b200dGU7IHNvIHdlIGZvbGxvdyB0aGUKKy0jIGxlYWQgb2YgbmV3ZXIg
bTQgYW5kIGFsd2F5cyBkdW1wIHRvIHN0ZGVyci4gIFVubGlrZSB0aGUgb3JpZ2luYWwsCistIyB0
aGlzIHZlcnNpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQsIHNpbmNlIHRoZXJlIGlzIG5vIGNvbnZl
bmllbnQgd2F5CistIyBpbiBtNCAxLjQueCB0byBncmFiIHRoZSBuYW1lcyBvZiBhbGwgZGVmaW5l
ZCBtYWNyb3MuICBOZXdlciBtNAorLSMgYWx3YXlzIGR1bXBzIHRvIHN0ZGVyciwgcmVnYXJkbGVz
cyBvZiB0aGUgY3VycmVudCBkZWJ1Z2ZpbGU7IGl0IGFsc28KKy0jIHByb3ZpZGVzIG00c3ltYm9s
cyBhcyBhIHdheSB0byBncmFiIGFsbCBjdXJyZW50IG1hY3JvIG5hbWVzLiAgQnV0CistIyBkdW1w
ZGVmcyBpcyBub3QgZnJlcXVlbnRseSBjYWxsZWQsIHNvIHdlIGRvbid0IG5lZWQgdG8gd29ycnkg
YWJvdXQKKy0jIGNvbmRpdGlvbmFsbHkgdXNpbmcgdGhlc2UgbmV3ZXIgZmVhdHVyZXMuICBBbHNv
LCB0aGlzIHZlcnNpb24KKy0jIGRvZXNuJ3Qgc29ydCBtdWx0aXBsZSBhcmd1bWVudHMuCistIwor
LSMgSWYgd2UgZGV0ZWN0IG00IDEuNiBvciBuZXdlciwgdGhlbiBwcm92aWRlIGFuIGFsdGVybmF0
ZSBkZWZpbml0aW9uLAorLSMgaW5zdGFsbGVkIGR1cmluZyBtNF9pbml0LCB0aGF0IGFsbG93cyBi
dWlsdGlucyB0aHJvdWdoLgorLSMgVW5mb3J0dW5hdGVseSwgdGhlcmUgaXMgbm8gbmljZSB3YXkg
aW4gbTQgMS40LnggdG8gZHVtcCBidWlsdGlucy4KKy1tNF9kZWZpbmUoW200X2R1bXBkZWZdLAor
LVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbJDA6IG1pc3NpbmcgYXJndW1lbnRdKV0sCist
ICAgICAgIFskI10sIFsxXSwgW200X2lmZGVmKFskMV0sIFttNF9lcnJwcmludG4oCistICBbJDE6
CV1tNF9kcXVvdGUoX200X2RlZm4oWyQxXSkpKV0sIFttNF9mYXRhbChbJDA6IHVuZGVmaW5lZCBt
YWNybzogJDFdKV0pXSwKKy0gICAgICAgW200X21hcF9hcmdzKFskMF0sICRAKV0pXSkKKy0KKy1t
NF9kZWZpbmUoW19tNF9kdW1wZGVmXSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQw
OiBtaXNzaW5nIGFyZ3VtZW50XSldLAorLSAgICAgICBbJCNdLCBbMV0sIFttNF9idWlsdGluKFtk
dW1wZGVmXSwgWyQxXSldLAorLSAgICAgICBbbTRfbWFwX2FyZ3Nfc2VwKFttNF9idWlsdGluKFtk
dW1wZGVmXSxdLCBbKV0sIFtdLCAkQCldKV0pCistCistCistIyBtNF9kdW1wZGVmcyhOQU1FLi4u
KQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNpbWlsYXIgdG8gYG00X2R1bXBkZWYoTkFN
RSknLCBidXQgaWYgTkFNRSB3YXMgbTRfcHVzaGRlZidlZCwgZGlzcGxheSBpdHMKKy0jIHZhbHVl
IHN0YWNrIChtb3N0IHJlY2VudCBkaXNwbGF5ZWQgZmlyc3QpLiAgQWxzbywgdGhpcyB2ZXJzaW9u
IHNpbGVudGx5CistIyBpZ25vcmVzIHVuZGVmaW5lZCBtYWNyb3MsIHJhdGhlciB0aGFuIGVycm9y
aW5nIG91dC4KKy0jCistIyBUaGlzIG1hY3JvIGNoZWF0cywgYmVjYXVzZSBpdCByZWxpZXMgb24g
dGhlIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBOQU1FCistIyB3aGlsZSB0aGUgc2Vjb25kIGFyZ3Vt
ZW50IG9mIG00X3N0YWNrX2ZvcmVhY2hfbGlmbyBpcyBldmFsdWF0ZWQgKHdoaWNoCistIyB3b3Vs
ZCBiZSB1bmRlZmluZWQgYWNjb3JkaW5nIHRvIHRoZSBBUEkpLgorLW00X2RlZmluZShbbTRfZHVt
cGRlZnNdLAorLVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbJDA6IG1pc3NpbmcgYXJndW1l
bnRdKV0sCistICAgICAgIFskI10sIFsxXSwgW200X3N0YWNrX2ZvcmVhY2hfbGlmbyhbJDFdLCBb
bTRfZHVtcGRlZihbJDFdKW00X2lnbm9yZV0pXSwKKy0gICAgICAgW200X21hcF9hcmdzKFskMF0s
ICRAKV0pXSkKKy0KKy0jIG00X2VzeXNjbWRfcyhDT01NQU5EKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCistIyBMaWtlIG00X2VzeXNjbWQsIGV4Y2VwdCBzdHJpcCBhbnkgdHJhaWxpbmcgbmV3
bGluZXMsIHRodXMgYmVoYXZpbmcKKy0jIG1vcmUgbGlrZSBzaGVsbCBjb21tYW5kIHN1YnN0aXR1
dGlvbi4KKy1tNF9kZWZpbmUoW200X2VzeXNjbWRfc10sCistW200X2Nob21wX2FsbChtNF9lc3lz
Y21kKFskMV0pKV0pCistCistCistIyBtNF9wb3BkZWYoTkFNRSkKKy0jIC0tLS0tLS0tLS0tLS0t
LQorLSMgTGlrZSB0aGUgb3JpZ2luYWwsIGV4Y2VwdCBndWFyYW50ZWUgYSB3YXJuaW5nIHdoZW4g
dXNpbmcgc29tZXRoaW5nIHdoaWNoIGlzCistIyB1bmRlZmluZWQgKHVubGlrZSBNNCAxLjQueCku
CistIworLSMgVGhpcyBtYWNybyBpcyBjYWxsZWQgZnJlcXVlbnRseSwgc28gbWluaW1pemUgdGhl
IGFtb3VudCBvZiBhZGRpdGlvbmFsCistIyBleHBhbnNpb25zIGJ5IHNraXBwaW5nIG00X2lmbmRl
Zi4gIEJldHRlciB5ZXQsIGlmIF9fbTRfdmVyc2lvbl9fIGV4aXN0cywKKy0jIChhZGRlZCBpbiBN
NCAxLjYpLCB0aGVuIGxldCBtNCBkbyB0aGUgam9iIGZvciB1cyAoc2VlIG00X2luaXQpLgorLW00
X2RlZmluZShbbTRfcG9wZGVmXSwKKy1bbTRfaWYoWyQjXSwgWzBdLCBbWyQwXV0sCistICAgICAg
IFskI10sIFsxXSwgW200X2lmZGVmKFskMV0sIFtfbTRfcG9wZGVmKFskMV0pXSwKKy0JCQkgICAg
W200X2ZhdGFsKFskMDogdW5kZWZpbmVkIG1hY3JvOiAkMV0pXSldLAorLSAgICAgICBbbTRfbWFw
X2FyZ3MoWyQwXSwgJEApXSldKQorLQorLQorLSMgbTRfc2hpZnRuKE4sIC4uLikKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tCistIyBSZXR1cm5zIC4uLiBzaGlmdGVkIE4gdGltZXMuICBVc2VmdWwgZm9y
IHJlY3Vyc2l2ZSAidmFyYXJncyIgY29uc3RydWN0cy4KKy0jCistIyBBdXRvY29uZiBkb2VzIG5v
dCB1c2UgdGhpcyBtYWNybywgYmVjYXVzZSBpdCBpcyBpbmhlcmVudGx5IHNsb3dlciB0aGFuCist
IyBjYWxsaW5nIHRoZSBjb21tb24gY2FzZXMgb2YgbTRfc2hpZnQyIG9yIG00X3NoaWZ0MyBkaXJl
Y3RseS4gIEJ1dCBpdAorLSMgbWlnaHQgYXMgd2VsbCBiZSBmYXN0IGZvciBvdGhlciBjbGllbnRz
LCBzdWNoIGFzIExpYnRvb2wuICBPbmUgd2F5IHRvCistIyBkbyB0aGlzIGlzIHRvIGV4cGFuZCAk
QCBvbmx5IG9uY2UgaW4gX200X3NoaWZ0biAob3RoZXJ3aXNlLCBmb3IgbG9uZworLSMgbGlzdHMs
IHRoZSBleHBhbnNpb24gb2YgbTRfaWYgdGFrZXMgdHdpY2UgYXMgbXVjaCBtZW1vcnkgYXMgd2hh
dCB0aGUKKy0jIGxpc3QgaXRzZWxmIG9jY3VwaWVzLCBvbmx5IHRvIHRocm93IGF3YXkgdGhlIHVu
dXNlZCBicmFuY2gpLiAgVGhlIGVuZAorLSMgcmVzdWx0IGlzIHN0cmljdGx5IGVxdWl2YWxlbnQg
dG8KKy0jICAgbTRfaWYoWyQxXSwgMSwgW200X3NoaWZ0KCxtNF9zaGlmdChtNF9zaGlmdCgkQCkp
KV0sCistIyAgICAgICAgIFtfbTRfc2hpZnRuKG00X2RlY3IoWyQxXSksIG00X3NoaWZ0KG00X3No
aWZ0KCRAKSkpXSkKKy0jIGJ1dCB3aXRoIHRoZSBmaW5hbCBgbTRfc2hpZnQobTRfc2hpZnQoJEAp
KSknIHNoYXJlZCBiZXR3ZWVuIHRoZSB0d28KKy0jIHBhdGhzLiAgVGhlIGZpcnN0IGxlZyB1c2Vz
IGEgbm8tb3AgbTRfc2hpZnQoLCRAKSB0byBiYWxhbmNlIG91dCB0aGUgKCkuCistIworLSMgUGxl
YXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVy
ZS4KKy1tNF9kZWZpbmUoW200X3NoaWZ0bl0sCistW200X2Fzc2VydCgwIDwgJDEgJiYgJDEgPCAk
IylfJDAoJEApXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9zaGlmdG5dLAorLVttNF9pZihbJDFdLCAx
LCBbbTRfc2hpZnQoXSwKKy0gICAgICAgWyQwKG00X2RlY3IoWyQxXSldKSwgbTRfc2hpZnQobTRf
c2hpZnQoJEApKSldKQorLQorLSMgbTRfc2hpZnQyKC4uLikKKy0jIG00X3NoaWZ0MyguLi4pCist
IyAtLS0tLS0tLS0tLS0tLQorLSMgUmV0dXJucyAuLi4gc2hpZnRlZCB0d2ljZSwgYW5kIHRocmVl
IHRpbWVzLiAgRmFzdGVyIHRoYW4gbTRfc2hpZnRuLgorLW00X2RlZmluZShbbTRfc2hpZnQyXSwg
W200X3NoaWZ0KG00X3NoaWZ0KCRAKSldKQorLW00X2RlZmluZShbbTRfc2hpZnQzXSwgW200X3No
aWZ0KG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpXSkKKy0KKy0jIF9tNF9zaGlmdDIoLi4uKQorLSMg
X200X3NoaWZ0MyguLi4pCistIyAtLS0tLS0tLS0tLS0tLS0KKy0jIExpa2UgbTRfc2hpZnQyIG9y
IG00X3NoaWZ0MywgZXhjZXB0IGluY2x1ZGUgYSBsZWFkaW5nIGNvbW1hIHVubGVzcyBzaGlmdGlu
ZworLSMgY29uc3VtZXMgYWxsIGFyZ3VtZW50cy4gIFdoeT8gIEJlY2F1c2UgaW4gcmVjdXJzaW9u
LCBpdCBpcyBuaWNlIHRvCistIyBkaXN0aW5ndWlzaCBiZXR3ZWVuIDEgZWxlbWVudCBsZWZ0IGFu
ZCAwIGVsZW1lbnRzIGxlZnQsIGJhc2VkIG9uIGhvdyBtYW55CistIyBhcmd1bWVudHMgdGhpcyBz
aGlmdCBleHBhbmRzIHRvLgorLW00X2RlZmluZShbX200X3NoaWZ0Ml0sCistW200X2lmKFskI10s
IFsyXSwgW10sCistICAgICAgIFssIG00X3NoaWZ0KG00X3NoaWZ0KCRAKSldKV0pCistbTRfZGVm
aW5lKFtfbTRfc2hpZnQzXSwKKy1bbTRfaWYoWyQjXSwgWzNdLCBbXSwKKy0gICAgICAgWywgbTRf
c2hpZnQobTRfc2hpZnQobTRfc2hpZnQoJEApKSldKV0pCistCistCistIyBtNF91bmRlZmluZShO
QU1FKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0KKy0jIExpa2UgdGhlIG9yaWdpbmFsLCBleGNlcHQg
Z3VhcmFudGVlIGEgd2FybmluZyB3aGVuIHVzaW5nIHNvbWV0aGluZyB3aGljaCBpcworLSMgdW5k
ZWZpbmVkICh1bmxpa2UgTTQgMS40LngpLgorLSMKKy0jIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGZy
ZXF1ZW50bHksIHNvIG1pbmltaXplIHRoZSBhbW91bnQgb2YgYWRkaXRpb25hbAorLSMgZXhwYW5z
aW9ucyBieSBza2lwcGluZyBtNF9pZm5kZWYuICBCZXR0ZXIgeWV0LCBpZiBfX200X3ZlcnNpb25f
XyBleGlzdHMsCistIyAoYWRkZWQgaW4gTTQgMS42KSwgdGhlbiBsZXQgbTQgZG8gdGhlIGpvYiBm
b3IgdXMgKHNlZSBtNF9pbml0KS4KKy1tNF9kZWZpbmUoW200X3VuZGVmaW5lXSwKKy1bbTRfaWYo
WyQjXSwgWzBdLCBbWyQwXV0sCistICAgICAgIFskI10sIFsxXSwgW200X2lmZGVmKFskMV0sIFtf
bTRfdW5kZWZpbmUoWyQxXSldLAorLQkJCSAgICBbbTRfZmF0YWwoWyQwOiB1bmRlZmluZWQgbWFj
cm86ICQxXSldKV0sCistICAgICAgIFttNF9tYXBfYXJncyhbJDBdLCAkQCldKV0pCistCistIyBf
bTRfd3JhcChQUkUsIFBPU1QpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tCistIyBIZWxwZXIgbWFj
cm8gZm9yIG00X3dyYXAgYW5kIG00X3dyYXBfbGlmby4gIEFsbG93cyBuZXN0ZWQgY2FsbHMgdG8K
Ky0jIG00X3dyYXAgd2l0aGluIHdyYXBwZWQgdGV4dC4gIFVzZSBfbTRfZGVmbiBhbmQgX200X3Bv
cGRlZiBmb3Igc3BlZWQuCistbTRfZGVmaW5lKFtfbTRfd3JhcF0sCistW200X2lmZGVmKFskMF90
ZXh0XSwKKy0JICBbbTRfZGVmaW5lKFskMF90ZXh0XSwgWyQxXV9tNF9kZWZuKFskMF90ZXh0XSlb
JDJdKV0sCistCSAgW200X2J1aWx0aW4oW200d3JhcF0sIFttNF91bnF1b3RlKAorLSAgX200X2Rl
Zm4oWyQwX3RleHRdKV9tNF9wb3BkZWYoWyQwX3RleHRdKSldKW00X2RlZmluZShbJDBfdGV4dF0s
IFskMSQyXSldKV0pCistCistIyBtNF93cmFwKFRFWFQpCistIyAtLS0tLS0tLS0tLS0tCistIyBB
cHBlbmQgVEVYVCB0byB0aGUgbGlzdCBvZiBob29rcyB0byBiZSBleGVjdXRlZCBhdCB0aGUgZW5k
IG9mIGlucHV0LgorLSMgV2hlcmVhcyB0aGUgb3JkZXIgb2YgdGhlIG9yaWdpbmFsIG1heSBiZSBM
SUZPIGluIHRoZSB1bmRlcmx5aW5nIG00LAorLSMgdGhpcyB2ZXJzaW9uIGlzIGFsd2F5cyBGSUZP
LgorLW00X2RlZmluZShbbTRfd3JhcF0sCistW19tNF93cmFwKFtdLCBbJDFbXV0pXSkKKy0KKy0j
IG00X3dyYXBfbGlmbyhURVhUKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQcmVwZW5kIFRF
WFQgdG8gdGhlIGxpc3Qgb2YgaG9va3MgdG8gYmUgZXhlY3V0ZWQgYXQgdGhlIGVuZCBvZiBpbnB1
dC4KKy0jIFdoZXJlYXMgdGhlIG9yZGVyIG9mIG00X3dyYXAgbWF5IGJlIEZJRk8gaW4gdGhlIHVu
ZGVybHlpbmcgbTQsIHRoaXMKKy0jIHZlcnNpb24gaXMgYWx3YXlzIExJRk8uCistbTRfZGVmaW5l
KFttNF93cmFwX2xpZm9dLAorLVtfbTRfd3JhcChbJDFbXV0pXSkKKy0KKy0jIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tICMjCistIyMgNy4gUXVvdGluZyBtYW5pcHVsYXRpb24uICAjIworLSMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIG00X2FwcGx5KE1BQ1JPLCBM
SVNUKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJbnZva2UgTUFDUk8sIHdpdGggYXJn
dW1lbnRzIHByb3ZpZGVkIGZyb20gdGhlIHF1b3RlZCBsaXN0IG9mCistIyBjb21tYS1zZXBhcmF0
ZWQgcXVvdGVkIGFyZ3VtZW50cy4gIElmIExJU1QgaXMgZW1wdHksIGludm9rZSBNQUNSTworLSMg
d2l0aG91dCBhcmd1bWVudHMuICBUaGUgZXhwYW5zaW9uIHdpbGwgbm90IGJlIGNvbmNhdGVuYXRl
ZCB3aXRoCistIyBzdWJzZXF1ZW50IHRleHQuCistbTRfZGVmaW5lKFttNF9hcHBseV0sCistW200
X2lmKFskMl0sIFtdLCBbJDFdLCBbJDEoJDIpXSlbXV0pCistCistIyBfbTRfYXBwbHkoTUFDUk8s
IExJU1QpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBMaWtlIG00X2FwcGx5LCBleGNl
cHQgZG8gbm90aGluZyBpZiBMSVNUIGlzIGVtcHR5LgorLW00X2RlZmluZShbX200X2FwcGx5XSwK
Ky1bbTRfaWYoWyQyXSwgW10sIFtdLCBbJDEoJDIpW11dKV0pCistCistCistIyBtNF9jb3VudChB
UkdTKQorLSMgLS0tLS0tLS0tLS0tLS0KKy0jIFJldHVybiBhIGNvdW50IG9mIGhvdyBtYW55IEFS
R1MgYXJlIHByZXNlbnQuCistbTRfZGVmaW5lKFttNF9jb3VudF0sIFskI10pCistCistCistIyBt
NF9jdXJyeShNQUNSTywgQVJHLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFBl
cmZvcm0gYXJndW1lbnQgY3VycnlpbmcuICBUaGUgZXhwYW5zaW9uIG9mIHRoaXMgbWFjcm8gaXMg
YW5vdGhlcgorLSMgbWFjcm8gdGhhdCB0YWtlcyBleGFjdGx5IG9uZSBhcmd1bWVudCwgYXBwZW5k
cyBpdCB0byB0aGUgZW5kIG9mIHRoZQorLSMgb3JpZ2luYWwgQVJHIGxpc3QsIHRoZW4gaW52b2tl
cyBNQUNSTy4gIEZvciBleGFtcGxlOgorLSMgICBtNF9jdXJyeShbbTRfY3VycnldLCBbbTRfcmV2
ZXJzZV0sIFsxXSkoWzJdKShbM10pID0+IDMsIDIsIDEKKy0jIE5vdCBxdWl0ZSBhcyBwcmFjdGlj
YWwgYXMgbTRfaW5jciwgYnV0IHlvdSBjb3VsZCBhbHNvIGRvOgorLSMgICBtNF9kZWZpbmUoW2Fk
ZF0sIFttNF9ldmFsKChbJDFdKSArIChbJDJdKSldKQorLSMgICBtNF9kZWZpbmUoW2FkZF9vbmVd
LCBbbTRfY3VycnkoW2FkZF0sIFsxXSldKQorLSMgICBhZGRfb25lKCkoWzJdKSA9PiAzCistbTRf
ZGVmaW5lKFttNF9jdXJyeV0sIFskMShtNF9zaGlmdCgkQCwpXyQwXSkKKy1tNF9kZWZpbmUoW19t
NF9jdXJyeV0sICAgICAgICAgICAgICAgW1skMV0pXSkKKy0KKy0KKy0jIG00X2RvKFNUUklORywg
Li4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tCistIyBUaGlzIG1hY3JvIGludm9rZXMgYWxsIGl0
cyBhcmd1bWVudHMgKGluIHNlcXVlbmNlLCBvZiBjb3Vyc2UpLiAgSXQgaXMKKy0jIHVzZWZ1bCBm
b3IgbWFraW5nIHlvdXIgbWFjcm9zIG1vcmUgc3RydWN0dXJlZCBhbmQgcmVhZGFibGUgYnkgZHJv
cHBpbmcKKy0jIHVubmVjZXNzYXJ5IGRubCdzIGFuZCBoYXZlIHRoZSBtYWNyb3MgaW5kZW50ZWQg
cHJvcGVybHkuICBObyBjb25jYXRlbmF0aW9uCistIyBvY2N1cnMgYWZ0ZXIgYSBTVFJJTkc7IHVz
ZSBtNF91bnF1b3RlKG00X2pvaW4oLFNUUklORykpIGZvciB0aGF0LgorLSMKKy0jIFBsZWFzZSBr
ZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCist
bTRfZGVmaW5lKFttNF9kb10sCistW200X2lmKFskI10sIDAsIFtdLAorLSAgICAgICBbJCNdLCAx
LCBbJDFbXV0sCistICAgICAgIFskMVtdJDAobTRfc2hpZnQoJEApKV0pXSkKKy0KKy0KKy0jIG00
X2RxdW90ZShBUkdTKQorLSMgLS0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm4gQVJHUyBhcyBhIHF1
b3RlZCBsaXN0IG9mIHF1b3RlZCBhcmd1bWVudHMuCistbTRfZGVmaW5lKFttNF9kcXVvdGVdLCAg
W1skQF1dKQorLQorLQorLSMgbTRfZHF1b3RlX2VsdChBUkdTKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgUmV0dXJuIEFSR1MgYXMgYW4gdW5xdW90ZWQgbGlzdCBvZiBkb3VibGUtcXVvdGVk
IGFyZ3VtZW50cy4KKy0jCistIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBh
bnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgorLW00X2RlZmluZShbbTRfZHF1b3RlX2VsdF0sCist
W200X2lmKFskI10sIFswXSwgW10sCistICAgICAgIFskI10sIFsxXSwgW1tbJDFdXV0sCistICAg
ICAgIFtbWyQxXV0sJDAobTRfc2hpZnQoJEApKV0pXSkKKy0KKy0KKy0jIG00X2VjaG8oQVJHUykK
Ky0jIC0tLS0tLS0tLS0tLS0KKy0jIFJldHVybiB0aGUgQVJHUywgd2l0aCB0aGUgc2FtZSBsZXZl
bCBvZiBxdW90aW5nLiAgV2hpdGVzcGFjZSBhZnRlcgorLSMgdW5xdW90ZWQgY29tbWFzIGFyZSBj
b25zdW1lZC4KKy1tNF9kZWZpbmUoW200X2VjaG9dLCBbJEBdKQorLQorLQorLSMgbTRfZXhwYW5k
KEFSRykKKy0jIF9tNF9leHBhbmQoQVJHKQorLSMgLS0tLS0tLS0tLS0tLS0tCistIyBSZXR1cm4g
dGhlIGV4cGFuc2lvbiBvZiBBUkcgYXMgYSBzaW5nbGUgc3RyaW5nLiAgVW5saWtlCistIyBtNF9x
dW90ZSgkMSksIHRoaXMgcHJlc2VydmVzIHdoaXRlc3BhY2UgZm9sbG93aW5nIHNpbmdsZS1xdW90
ZWQKKy0jIGNvbW1hcyB0aGF0IGFwcGVhciB3aXRoaW4gQVJHLiAgSXQgYWxzbyBkZWFscyB3aXRo
IHNoZWxsIGNhc2UKKy0jIHN0YXRlbWVudHMuCistIworLSMgICBtNF9kZWZpbmUoW2FjdGl2ZV0s
IFtBQ1QsIElWRV0pCistIyAgIG00X2RlZmluZShbYWN0aXZlMl0sIFtbQUNULCBJVkVdXSkKKy0j
ICAgbTRfcXVvdGUoYWN0aXZlLCBhY3RpdmUyKQorLSMgICA9PiBBQ1QsSVZFLEFDVCwgSVZFCist
IyAgIG00X2V4cGFuZChbYWN0aXZlLCBhY3RpdmUyXSkKKy0jICAgPT4gQUNULCBJVkUsIEFDVCwg
SVZFCistIworLSMgVW5mb3J0dW5hdGVseSwgZHVlIHRvIGxpbWl0YXRpb25zIGluIG00LCBBUkcg
bXVzdCBleHBhbmQgdG8KKy0jIHNvbWV0aGluZyB3aXRoIGJhbGFuY2VkIHF1b3RlcyAodXNlIHF1
YWRyaWdyYXBocyB0byBnZXQgYXJvdW5kCistIyB0aGlzKSwgYW5kIHNob3VsZCBub3QgY29udGFp
biB0aGUgdW5saWtlbHkgZGVsaW1pdGVycyAtPTx7KCBvcgorLSMgKX0+PS0uICBJdCBpcyBwb3Nz
aWJsZSB0byBoYXZlIHVuYmFsYW5jZWQgcXVvdGVkIGAoJyBvciBgKScsIGFzIHdlbGwKKy0jIGFz
IHVuYmFsYW5jZWQgdW5xdW90ZWQgYCknLiAgbTRfZXhwYW5kIGNhbiBoYW5kbGUgdW50ZXJtaW5h
dGVkCistIyBjb21tZW50cyBvciBkbmwgb24gdGhlIGZpbmFsIGxpbmUsIGF0IHRoZSBleHBlbnNl
IG9mIHNwZWVkOyBpdCBhbHNvCistIyBhaWRzIGluIGRldGVjdGluZyBhdHRlbXB0cyB0byBpbmNv
cnJlY3RseSBjaGFuZ2UgdGhlIGN1cnJlbnQKKy0jIGRpdmVyc2lvbiBpbnNpZGUgQVJHLiAgTWVh
bndoaWxlLCBfbTRfZXhwYW5kIGlzIGZhc3RlciBidXQgbXVzdCBiZQorLSMgZ2l2ZW4gYSB0ZXJt
aW5hdGVkIGV4cGFuc2lvbiwgYW5kIGhhcyBubyBzYWZldHkgY2hlY2tzIGZvcgorLSMgbWlzLWRp
dmVydGVkIHRleHQuCistIworLSMgRXhwbG9pdCB0aGF0IGV4dHJhIHVucXVvdGVkICgpIHdpbGwg
Z3JvdXAgdW5xdW90ZWQgY29tbWFzIGFuZCB0aGUKKy0jIGZvbGxvd2luZyB3aGl0ZXNwYWNlLiAg
bTRfYnBhdHN1YnN0IGNhbid0IGhhbmRsZSBuZXdsaW5lcyBpbnNpZGUgJDEsCistIyBhbmQgbTRf
c3Vic3RyIHN0cmlwcyBxdW90aW5nLiAgU28gd2UgKGFiKXVzZSBtNF9jaGFuZ2VxdW90ZSwgdXNp
bmcKKy0jIHRlbXBvcmFyeSBxdW90ZXMgdG8gcmVtb3ZlIHRoZSBkZWxpbWl0ZXJzIHRoYXQgY29u
dmVuaWVudGx5IGluY2x1ZGVkCistIyB0aGUgdW5xdW90ZWQgKCkgdGhhdCB3ZXJlIGFkZGVkIHBy
aW9yIHRvIHRoZSBjaGFuZ2VxdW90ZS4KKy0jCistIyBUaGFua3MgdG8gc2hlbGwgY2FzZSBzdGF0
ZW1lbnRzLCB0b28gbWFueSBwZW9wbGUgYXJlIHByb25lIHRvIHBhc3MKKy0jIHVuZGVycXVvdGVk
IGApJywgc28gd2UgdHJ5IHRvIGRldGVjdCB0aGF0IGJ5IHBhc3NpbmcgYSBtYXJrZXIgYXMgYQor
LSMgZm91cnRoIGFyZ3VtZW50OyBpZiB0aGUgbWFya2VyIGlzIG5vdCBwcmVzZW50LCB0aGVuIHdl
IGFzc3VtZSB0aGF0CistIyB3ZSBlbmNvdW50ZXJlZCBhbiBlYXJseSBgKScsIGFuZCByZS1leHBh
bmQgdGhlIGZpcnN0IGFyZ3VtZW50LCBidXQKKy0jIHRoaXMgdGltZSB3aXRoIG9uZSBtb3JlIGAo
JyBpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IGFuZCBpbiB0aGUKKy0jIG9wZW4tcXVvdGUgZGVsaW1p
dGVyLiAgV2UgbXVzdCBhbHNvIGlnbm9yZSB0aGUgc2xvcCBmcm9tIHRoZQorLSMgcHJldmlvdXMg
dHJ5LiAgVGhlIGZpbmFsIG1hY3JvIGlzIHRodXMgaGFsZiBsaW5lLW5vaXNlLCBoYWxmIGFydC4K
Ky1tNF9kZWZpbmUoW200X2V4cGFuZF0sCistW200X3B1c2hkZWYoW200X2RpdmVydF0sIF9tNF9k
ZWZuKFtfbTRfZGl2ZXJ0X3Vuc2FmZV0pKV1kbmwKKy1bbTRfcHVzaGRlZihbbTRfZGl2ZXJ0X3B1
c2hdLCBfbTRfZGVmbihbX200X2RpdmVydF91bnNhZmVdKSldZG5sCistW200X2Nob21wKF8kMChb
JDEKKy1dKSlfbTRfcG9wZGVmKFttNF9kaXZlcnRdLCBbbTRfZGl2ZXJ0X3B1c2hdKV0pCistCist
bTRfZGVmaW5lKFtfbTRfZXhwYW5kXSwgWyQwXyhbJDFdLCBbKF0sIC09PHsoJDEpfT49LSwgW30+
PS1dKV0pCistCistbTRfZGVmaW5lKFtfbTRfZXhwYW5kX10sCistW200X2lmKFskNF0sIFt9Pj0t
XSwKKy0gICAgICAgW200X2NoYW5nZXF1b3RlKFstPTx7JDJdLCBbKX0+PS1dKSQzbTRfY2hhbmdl
cXVvdGUoWywgXSldLAorLSAgICAgICBbJDAoWyQxXSwgWygkMl0sIC09PHsoJDIkMSl9Pj0tLCBb
fT49LV0pbTRfaWdub3JlJDJdKV0pCistCistCistIyBtNF9pZ25vcmUoQVJHUykKKy0jIC0tLS0t
LS0tLS0tLS0tLQorLSMgRXhwYW5kcyB0byBub3RoaW5nLiAgVXNlZnVsIGZvciBjb25kaXRpb25h
bGx5IGlnbm9yaW5nIGFuIGFyYml0cmFyeQorLSMgbnVtYmVyIG9mIGFyZ3VtZW50cyAoc2VlIF9t
NF9saXN0X2NtcCBmb3IgYW4gZXhhbXBsZSkuCistbTRfZGVmaW5lKFttNF9pZ25vcmVdKQorLQor
LQorLSMgbTRfbWFrZV9saXN0KEFSR1MpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNpbWls
YXIgdG8gbTRfZHF1b3RlLCB0aGlzIGNyZWF0ZXMgYSBxdW90ZWQgbGlzdCBvZiBxdW90ZWQgQVJH
Uy4gIFRoaXMKKy0jIHZlcnNpb24gaXMgbGVzcyBlZmZpY2llbnQgdGhhbiBtNF9kcXVvdGUsIGJ1
dCBzZXBhcmF0ZXMgZWFjaCBhcmd1bWVudAorLSMgd2l0aCBhIGNvbW1hIGFuZCBuZXdsaW5lLCBy
YXRoZXIgdGhhbiBqdXN0IGNvbW1hLCBmb3IgcmVhZGFiaWxpdHkuCistIyBXaGVuIGRldmVsb3Bp
bmcgYW4gbTRzdWdhciBhbGdvcml0aG0sIHlvdSBjb3VsZCB0ZW1wb3JhcmlseSB1c2UKKy0jICAg
bTRfcHVzaGRlZihbbTRfZHF1b3RlXSxtNF9kZWZuKFttNF9tYWtlX2xpc3RdKSkKKy0jIGFyb3Vu
ZCB5b3VyIGNvZGUgdG8gbWFrZSBkZWJ1Z2dpbmcgZWFzaWVyLgorLW00X2RlZmluZShbbTRfbWFr
ZV9saXN0XSwgW200X2pvaW4oWywKKy1dLCBtNF9kcXVvdGVfZWx0KCRAKSldKQorLQorLQorLSMg
bTRfbm9xdW90ZShTVFJJTkcpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFJldHVybiB0aGUg
cmVzdWx0IG9mIGlnbm9yaW5nIGFsbCBxdW90ZXMgaW4gU1RSSU5HIGFuZCBpbnZva2luZyB0aGUK
Ky0jIG1hY3JvcyBpdCBjb250YWlucy4gIEFtb25nIG90aGVyIHRoaW5ncywgdGhpcyBpcyB1c2Vm
dWwgZm9yIGVuYWJsaW5nCistIyBtYWNybyBpbnZvY2F0aW9ucyBpbnNpZGUgc3RyaW5ncyB3aXRo
IFtdIGJsb2NrcyAoZm9yIGluc3RhbmNlIHJlZ2V4cHMKKy0jIGFuZCBoZWxwLXN0cmluZ3MpLiAg
T24gdGhlIG90aGVyIGhhbmQsIHNpbmNlIGFsbCBxdW90ZXMgYXJlIGRpc2FibGVkLAorLSMgYW55
IG1hY3JvIGV4cGFuZGVkIGR1cmluZyB0aGlzIHRpbWUgdGhhdCByZWxpZXMgb24gbmVzdGVkIFtd
IHF1b3RpbmcKKy0jIHdpbGwgbGlrZWx5IGNyYXNoIGFuZCBidXJuLiAgVGhpcyBtYWNybyBpcyBz
ZWxkb20gdXNlZnVsOyBjb25zaWRlcgorLSMgbTRfdW5xdW90ZSBvciBtNF9leHBhbmQgaW5zdGVh
ZC4KKy1tNF9kZWZpbmUoW200X25vcXVvdGVdLAorLVttNF9jaGFuZ2VxdW90ZShbLT08eyhdLFsp
fT49LV0pJDEtPTx7KCl9Pj0tbTRfY2hhbmdlcXVvdGUoWyxdKV0pCistCistCistIyBtNF9xdW90
ZShBUkdTKQorLSMgLS0tLS0tLS0tLS0tLS0KKy0jIFJldHVybiBBUkdTIGFzIGEgc2luZ2xlIGFy
Z3VtZW50LiAgQW55IHdoaXRlc3BhY2UgYWZ0ZXIgdW5xdW90ZWQgY29tbWFzCistIyBpcyBzdHJp
cHBlZC4gIFRoZXJlIGlzIGFsd2F5cyBvdXRwdXQsIGV2ZW4gd2hlbiB0aGVyZSB3ZXJlIG5vIGFy
Z3VtZW50cy4KKy0jCistIyBJdCBpcyBpbXBvcnRhbnQgdG8gcmVhbGl6ZSB0aGUgZGlmZmVyZW5j
ZSBiZXR3ZWVuIGBtNF9xdW90ZShleHApJyBhbmQKKy0jIGBbZXhwXSc6IGluIHRoZSBmaXJzdCBj
YXNlIHlvdSBvYnRhaW4gdGhlIHF1b3RlZCAqcmVzdWx0KiBvZiB0aGUKKy0jIGV4cGFuc2lvbiBv
ZiBFWFAsIHdoaWxlIGluIHRoZSBsYXR0ZXIgeW91IGp1c3Qgb2J0YWluIHRoZSBzdHJpbmcKKy0j
IGBleHAnLgorLW00X2RlZmluZShbbTRfcXVvdGVdLCAgW1skKl1dKQorLQorLQorLSMgX200X3F1
b3RlKEFSR1MpCistIyAtLS0tLS0tLS0tLS0tLS0KKy0jIExpa2UgbTRfcXVvdGUsIGV4Y2VwdCB0
aGF0IHdoZW4gdGhlcmUgYXJlIG5vIGFyZ3VtZW50cywgdGhlcmUgaXMgbm8KKy0jIG91dHB1dC4g
IEZvciBjb25kaXRpb25hbCBzY2VuYXJpb3MgKHN1Y2ggYXMgcGFzc2luZyBfbTRfcXVvdGUgYXMg
dGhlCistIyBtYWNybyBuYW1lIGluIG00X21hcGFsbCksIHRoaXMgZmVhdHVyZSBjYW4gYmUgdXNl
ZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuCistIyBvbmUgYXJndW1lbnQgb2YgdGhlIGVtcHR5IHN0
cmluZyB2cy4gbm8gYXJndW1lbnRzLiAgSG93ZXZlciwgaW4gdGhlCistIyBub3JtYWwgY2FzZSB3
aXRoIGFyZ3VtZW50cyBwcmVzZW50LCB0aGlzIGlzIGxlc3MgZWZmaWNpZW50IHRoYW4gbTRfcXVv
dGUuCistbTRfZGVmaW5lKFtfbTRfcXVvdGVdLAorLVttNF9pZihbJCNdLCBbMF0sIFtdLCBbWyQq
XV0pXSkKKy0KKy0KKy0jIG00X3JldmVyc2UoQVJHUykKKy0jIC0tLS0tLS0tLS0tLS0tLS0KKy0j
IE91dHB1dCBBUkdTIGluIHJldmVyc2Ugb3JkZXIuCistIworLSMgUGxlYXNlIGtlZXAgZm9yZWFj
aC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9kZWZpbmUo
W200X3JldmVyc2VdLAorLVttNF9pZihbJCNdLCBbMF0sIFtdLCBbJCNdLCBbMV0sIFtbJDFdXSwK
Ky0gICAgICAgWyQwKG00X3NoaWZ0KCRAKSksIFskMV1dKV0pCistCistCistIyBtNF91bnF1b3Rl
KEFSR1MpCistIyAtLS0tLS0tLS0tLS0tLS0tCistIyBSZW1vdmUgb25lIGxheWVyIG9mIHF1b3Rl
cyBmcm9tIGVhY2ggQVJHLCBwZXJmb3JtaW5nIG9uZSBsZXZlbCBvZgorLSMgZXhwYW5zaW9uLiAg
Rm9yIG9uZSBhcmd1bWVudCwgbTRfdW5xdW90ZShbYXJnXSkgaXMgbW9yZSBlZmZpY2llbnQgdGhh
bgorLSMgbTRfZG8oW2FyZ10pLCBidXQgZm9yIG11bHRpcGxlIGFyZ3VtZW50cywgdGhlIGRpZmZl
cmVuY2UgaXMgdGhhdAorLSMgbTRfdW5xdW90ZSBzZXBhcmF0ZXMgYXJndW1lbnRzIHdpdGggY29t
bWFzIHdoaWxlIG00X2RvIGNvbmNhdGVuYXRlcy4KKy0jIEZvbGxvdyB0aGlzIG1hY3JvIHdpdGgg
W10gaWYgY29uY2F0ZW5hdGlvbiB3aXRoIHN1YnNlcXVlbnQgdGV4dCBpcworLSMgdW5kZXNpcmVk
LgorLW00X2RlZmluZShbbTRfdW5xdW90ZV0sIFskKl0pCistCistCistIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gIyMKKy0jIyA4LiBJbXBsZW1lbnRpbmcgbTQgbG9vcHMuICAjIworLSMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyBtNF9mb3IoVkFSSUFCTEUs
IEZJUlNULCBMQVNULCBbU1RFUCA9ICsvLTFdLCBFWFBSRVNTSU9OKQorLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZCBF
WFBSRVNTSU9OIGRlZmluaW5nIFZBUklBQkxFIHRvIEZST00sIEZST00gKyAxLCAuLi4sIFRPIHdp
dGgKKy0jIGluY3JlbWVudHMgb2YgU1RFUC4gIEJvdGggbGltaXRzIGFyZSBpbmNsdWRlZCwgYW5k
IGJvdW5kcyBhcmUKKy0jIGNoZWNrZWQgZm9yIGNvbnNpc3RlbmN5LiAgVGhlIGFsZ29yaXRobSBp
cyByb2J1c3QgdG8gaW5kaXJlY3QKKy0jIFZBUklBQkxFIG5hbWVzLiAgQ2hhbmdpbmcgVkFSSUFC
TEUgaW5zaWRlIEVYUFJFU1NJT04gd2lsbCBub3QgaW1wYWN0CistIyB0aGUgbnVtYmVyIG9mIGl0
ZXJhdGlvbnMuCistIworLSMgVXNlcyBfbTRfZGVmbiBmb3Igc3BlZWQsIGFuZCBhdm9pZCBkbmwg
aW4gdGhlIG1hY3JvIGJvZHkuICBGYWN0b3IKKy0jIHRoZSBfbTRfZm9yIGNhbGwgc28gdGhhdCBF
WFBSRVNTSU9OIGlzIG9ubHkgcGFyc2VkIG9uY2UuCistbTRfZGVmaW5lKFttNF9mb3JdLAorLVtt
NF9wdXNoZGVmKFskMV0sIG00X2V2YWwoWyQyXSkpXWRubAorLVttNF9jb25kKFttNF9ldmFsKChb
JDNdKSA+IChbJDJdKSldLCAxLAorLQkgICBbbTRfcHVzaGRlZihbX200X3N0ZXBdLCBtNF9ldmFs
KG00X2RlZmF1bHRfcXVvdGVkKFskNF0sCistCSAgICAgIDEpKSltNF9hc3NlcnQoX200X3N0ZXAg
PiAwKV8kMChfbTRfZGVmbihbJDFdKSwKKy0gIG00X2V2YWwoKChbJDNdKSAtIChbJDJdKSkgLyBf
bTRfc3RlcCAqIF9tNF9zdGVwICsgKFskMl0pKSwgX200X3N0ZXAsXSwKKy0JIFttNF9ldmFsKChb
JDNdKSA8IChbJDJdKSldLCAxLAorLQkgICBbbTRfcHVzaGRlZihbX200X3N0ZXBdLCBtNF9ldmFs
KG00X2RlZmF1bHRfcXVvdGVkKFskNF0sCistCSAgICAgIC0xKSkpbTRfYXNzZXJ0KF9tNF9zdGVw
IDwgMClfJDAoX200X2RlZm4oWyQxXSksCistICBtNF9ldmFsKCgoWyQyXSkgLSAoWyQzXSkpIC8g
LShfbTRfc3RlcCkgKiBfbTRfc3RlcCArIChbJDJdKSksIF9tNF9zdGVwLF0sCistCSBbbTRfcHVz
aGRlZihbX200X3N0ZXBdKV8kMChfbTRfZGVmbihbJDFdKSwgX200X2RlZm4oWyQxXSksIDAsXSld
ZG5sCistW1ttNF9kZWZpbmUoWyQxXSxdLCBbKSQ1XSltNF9wb3BkZWYoW19tNF9zdGVwXSwgWyQx
XSldKQorLQorLSMgX200X2ZvcihDT1VOVCwgTEFTVCwgU1RFUCwgUFJFLCBQT1NUKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQ29yZSBvZiB0aGUgbG9vcCwg
bm8gY29uc2lzdGVuY3kgY2hlY2tzLCBhbGwgYXJndW1lbnRzIGFyZSBwbGFpbgorLSMgbnVtYmVy
cy4gIEV4cGFuZCBQUkVbQ09VTlRdUE9TVCwgdGhlbiBhbHRlciBDT1VOVCBieSBTVEVQIGFuZAor
LSMgaXRlcmF0ZSBpZiBDT1VOVCBpcyBub3QgTEFTVC4KKy1tNF9kZWZpbmUoW19tNF9mb3JdLAor
LVskNFskMV0kNVtdbTRfaWYoWyQxXSwgWyQyXSwgW10sCistCQkgWyQwKG00X2V2YWwoWyQxICsg
JDNdKSwgWyQyXSwgWyQzXSwgWyQ0XSwgWyQ1XSldKV0pCistCistCistIyBJbXBsZW1lbnRpbmcg
YGZvcmVhY2gnIGxvb3BzIGluIG00IGlzIG11Y2ggbW9yZSB0cmlja3kgdGhhbiBpdCBtYXkKKy0j
IHNlZW0uICBGb3IgZXhhbXBsZSwgdGhlIG9sZCBNNCAxLjQuNCBtYW51YWwgaGFkIGFuIGluY29y
cmVjdCBleGFtcGxlLAorLSMgd2hpY2ggbG9va2VkIGxpa2UgdGhpcyAod2hlbiB0cmFuc2xhdGVk
IHRvIG00c3VnYXIpOgorLSMKKy0jIHwgIyBmb3JlYWNoKFZBUiwgKExJU1QpLCBTVE1UKQorLSMg
fCBtNF9kZWZpbmUoW2ZvcmVhY2hdLAorLSMgfCAgIFttNF9wdXNoZGVmKFskMV0pX2ZvcmVhY2go
WyQxXSwgWyQyXSwgWyQzXSltNF9wb3BkZWYoWyQxXSldKQorLSMgfCBtNF9kZWZpbmUoW19hcmcx
XSwgWyQxXSkKKy0jIHwgbTRfZGVmaW5lKFtfZm9yZWFjaF0sCistIyB8ICAgW200X2lmKFskMl0s
IFsoKV0sICwKKy0jIHwgICAgIFttNF9kZWZpbmUoWyQxXSwgX2FyZzEkMikkM1tdX2ZvcmVhY2go
WyQxXSwgKG00X3NoaWZ0JDIpLCBbJDNdKV0pXSkKKy0jCistIyBCdXQgdGhlbiBpZiB5b3UgcnVu
CistIworLSMgfCBtNF9kZWZpbmUoYSwgMSkKKy0jIHwgbTRfZGVmaW5lKGIsIDIpCistIyB8IG00
X2RlZmluZShjLCAzKQorLSMgfCBmb3JlYWNoKFtmXSwgWyhbYV0sIFsoYl0sIFtjKV0pXSwgW2Vj
aG8gZgorLSMgfCBdKQorLSMKKy0jIGl0IGdpdmVzCistIworLSMgID0+IGVjaG8gMQorLSMgID0+
IGVjaG8gKDIsMykKKy0jCistIyB3aGljaCBpcyBub3Qgd2hhdCBpcyBleHBlY3RlZC4KKy0jCist
IyBPZiBjb3Vyc2UgdGhlIHByb2JsZW0gaXMgdGhhdCBtYW55IHF1b3RlcyBhcmUgbWlzc2luZy4g
IFNvIHlvdSBhZGQKKy0jIHBsZW50eSBvZiBxdW90ZXMgYXQgcmFuZG9tIHBsYWNlcywgdW50aWwg
eW91IHJlYWNoIHRoZSBleHBlY3RlZAorLSMgcmVzdWx0LiAgQWx0ZXJuYXRpdmVseSwgaWYgeW91
IGFyZSBhIHF1b3Rpbmcgd2l6YXJkLCB5b3UgZGlyZWN0bHkKKy0jIHJlYWNoIHRoZSBmb2xsb3dp
bmcgaW1wbGVtZW50YXRpb24gKGJ1dCBpZiB5b3UgcmVhbGx5IGRpZCwgdGhlbgorLSMgYXBwbHkg
dG8gdGhlIG1haW50ZW5hbmNlIG9mIG00c3VnYXIhKS4KKy0jCistIyB8ICMgZm9yZWFjaChWQVIs
IChMSVNUKSwgU1RNVCkKKy0jIHwgbTRfZGVmaW5lKFtmb3JlYWNoXSwgW200X3B1c2hkZWYoWyQx
XSlfZm9yZWFjaCgkQCltNF9wb3BkZWYoWyQxXSldKQorLSMgfCBtNF9kZWZpbmUoW19hcmcxXSwg
W1skMV1dKQorLSMgfCBtNF9kZWZpbmUoW19mb3JlYWNoXSwKKy0jIHwgIFttNF9pZigkMiwgWygp
XSwgLAorLSMgfCAgICBbbTRfZGVmaW5lKFskMV0sIFtfYXJnMSQyXSkkM1tdX2ZvcmVhY2goWyQx
XSwgWyhtNF9zaGlmdCQyKV0sIFskM10pXSldKQorLSMKKy0jIHdoaWNoIHRoaXMgdGltZSBhbnN3
ZXJzCistIworLSMgID0+IGVjaG8gYQorLSMgID0+IGVjaG8gKGIKKy0jICA9PiBlY2hvIGMpCist
IworLSMgQmluZ28hCistIworLSMgV2VsbCwgbm90IHF1aXRlLgorLSMKKy0jIFdpdGggYSBiZXR0
ZXIgbG9vaywgeW91IHJlYWxpemUgdGhhdCB0aGUgcGFyZW5zIGFyZSBtb3JlIGEgcGFpbiB0aGFu
CistIyBhIGhlbHA6IHNpbmNlIGFueXdheSB5b3UgbmVlZCB0byBxdW90ZSBwcm9wZXJseSB0aGUg
bGlzdCwgeW91IGVuZCB1cAorLSMgd2l0aCBhbHdheXMgdXNpbmcgYW4gb3V0ZXJtb3N0IHBhaXIg
b2YgcGFyZW5zIGFuZCBhbiBvdXRlcm1vc3QgcGFpcgorLSMgb2YgcXVvdGVzLiAgUmVqZWN0aW5n
IHRoZSBwYXJlbnMgYm90aCBlYXNlcyB0aGUgaW1wbGVtZW50YXRpb24sIGFuZAorLSMgc2ltcGxp
ZmllcyB0aGUgdXNlOgorLSMKKy0jIHwgIyBmb3JlYWNoKFZBUiwgKExJU1QpLCBTVE1UKQorLSMg
fCBtNF9kZWZpbmUoW2ZvcmVhY2hdLCBbbTRfcHVzaGRlZihbJDFdKV9mb3JlYWNoKCRAKW00X3Bv
cGRlZihbJDFdKV0pCistIyB8IG00X2RlZmluZShbX2FyZzFdLCBbJDFdKQorLSMgfCBtNF9kZWZp
bmUoW19mb3JlYWNoXSwKKy0jIHwgIFttNF9pZigkMiwgW10sICwKKy0jIHwgICAgW200X2RlZmlu
ZShbJDFdLCBbX2FyZzEoJDIpXSkkM1tdX2ZvcmVhY2goWyQxXSwgW200X3NoaWZ0KCQyKV0sIFsk
M10pXSldKQorLSMKKy0jCistIyBOb3csIGp1c3QgcmVwbGFjZSB0aGUgYCQyJyB3aXRoIGBtNF9x
dW90ZSgkMiknIGluIHRoZSBvdXRlciBgbTRfaWYnCistIyB0byBpbXByb3ZlIHJvYnVzdG5lc3Ms
IGFuZCB5b3UgY29tZSB1cCB3aXRoIGEgbmljZSBpbXBsZW1lbnRhdGlvbgorLSMgdGhhdCBkb2Vz
bid0IHJlcXVpcmUgZXh0cmEgcGFyZW50aGVzZXMgaW4gdGhlIHVzZXIncyBMSVNULgorLSMKKy0j
IEJ1dCB3YWl0IC0gIG5vdyB0aGUgYWxnb3JpdGhtIGlzIHF1YWRyYXRpYywgYmVjYXVzZSBldmVy
eSByZWN1cnNpb24gb2YKKy0jIHRoZSBhbGdvcml0aG0ga2VlcHMgdGhlIGVudGlyZSBMSVNUIGFu
ZCBtZXJlbHkgYWRkcyBhbm90aGVyIG00X3NoaWZ0IHRvCistIyB0aGUgcXVvdGVkIHRleHQuICBJ
ZiB0aGUgdXNlciBoYXMgYSBsb3Qgb2YgZWxlbWVudHMgaW4gTElTVCwgeW91IGNhbgorLSMgYnJp
bmcgdGhlIHN5c3RlbSB0byBpdHMga25lZXMgd2l0aCB0aGUgbWVtb3J5IG00IHRoZW4gcmVxdWly
ZXMsIG9yIHRyaXAKKy0jIHRoZSBtNCAtLW5lc3RpbmctbGltaXQgcmVjdXJzaW9uIGZhY3Rvci4g
IFRoZSBvbmx5IHdheSB0byBhdm9pZAorLSMgcXVhZHJhdGljIGdyb3d0aCBpcyBlbnN1cmUgbTRf
c2hpZnQgaXMgZXhwYW5kZWQgcHJpb3IgdG8gdGhlIHJlY3Vyc2lvbi4KKy0jIEhlbmNlIHRoZSBk
ZXNpZ24gYmVsb3cuCistIworLSMgVGhlIE00IG1hbnVhbCBub3cgaW5jbHVkZXMgYSBjaGFwdGVy
IGRldm90ZWQgdG8gdGhpcyBpc3N1ZSwgd2l0aAorLSMgdGhlIGxlc3NvbnMgbGVhcm5lZCBmcm9t
IG00c3VnYXIuICBBbmQgc3RpbGwsIHRoaXMgZGVzaWduIGlzIG9ubHkKKy0jIG9wdGltYWwgZm9y
IE00IDEuNjsgc2VlIGZvcmVhY2gubTQgZm9yIHlldCBtb3JlIGNvbW1lbnRzIG9uIHdoeQorLSMg
TTQgMS40LnggdXNlcyB5ZXQgYW5vdGhlciBpbXBsZW1lbnRhdGlvbi4KKy0KKy0KKy0jIG00X2Zv
cmVhY2goVkFSSUFCTEUsIExJU1QsIEVYUFJFU1NJT04pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMKKy0jIEV4cGFuZCBFWFBSRVNTSU9OIGFzc2lnbmluZyBl
YWNoIHZhbHVlIG9mIHRoZSBMSVNUIHRvIFZBUklBQkxFLgorLSMgTElTVCBzaG91bGQgaGF2ZSB0
aGUgZm9ybSBgaXRlbV8xLCBpdGVtXzIsIC4uLiwgaXRlbV9uJywgaS5lLiB0aGUKKy0jIHdob2xl
IGxpc3QgbXVzdCAqcXVvdGVkKi4gIFF1b3RlIG1lbWJlcnMgdG9vIGlmIHlvdSBkb24ndCB3YW50
IHRoZW0KKy0jIHRvIGJlIGV4cGFuZGVkLgorLSMKKy0jIFRoaXMgbWFjcm8gaXMgcm9idXN0IHRv
IGFjdGl2ZSBzeW1ib2xzOgorLSMgICAgICB8IG00X2RlZmluZShhY3RpdmUsIFtBQ1QsIElWRV0p
CistIyAgICAgIHwgbTRfZm9yZWFjaChWYXIsIFthY3RpdmUsIGFjdGl2ZV0sIFstVmFyLV0pCist
IyAgICAgPT4gLUFDVC0tSVZFLS1BQ1QtLUlWRS0KKy0jCistIyAgICAgIHwgbTRfZm9yZWFjaChW
YXIsIFtbYWN0aXZlXSwgW2FjdGl2ZV1dLCBbLVZhci1dKQorLSMgICAgID0+IC1BQ1QsIElWRS0t
QUNULCBJVkUtCistIworLSMgICAgICB8IG00X2ZvcmVhY2goVmFyLCBbW1thY3RpdmVdXSwgW1th
Y3RpdmVdXV0sIFstVmFyLV0pCistIyAgICAgPT4gLWFjdGl2ZS0tYWN0aXZlLQorLSMKKy0jIFRo
aXMgbWFjcm8gaXMgY2FsbGVkIGZyZXF1ZW50bHksIHNvIGF2b2lkIGV4dHJhIGV4cGFuc2lvbnMg
c3VjaCBhcworLSMgbTRfaWZ2YWwgYW5kIGRubC4gIEFsc28sIHNpbmNlICQyIG1pZ2h0IGJlIHF1
aXRlIGxhcmdlLCB0cnkgdG8gdXNlIGl0CistIyBhcyBsaXR0bGUgYXMgcG9zc2libGUgaW4gX200
X2ZvcmVhY2g7IGVhY2ggZXh0cmEgdXNlIHJlcXVpcmVzIHRoYXQgbXVjaAorLSMgbW9yZSBtZW1v
cnkgZm9yIGV4cGFuc2lvbi4gIFNvLCByYXRoZXIgdGhhbiBkaXJlY3RseSBjb21wYXJlICQyIGFn
YWluc3QKKy0jIFtdIGFuZCB1c2UgbTRfY2FyL200X2NkciBmb3IgcmVjdXJzaW9uLCB3ZSBpbnN0
ZWFkIHVuYm94IHRoZSBsaXN0ICh3aGljaAorLSMgcmVxdWlyZXMgc3dhcHBpbmcgdGhlIGFyZ3Vt
ZW50IG9yZGVyIGluIHRoZSBoZWxwZXIpLCBpbnNlcnQgYW4gaWdub3JlZAorLSMgdGhpcmQgYXJn
dW1lbnQsIGFuZCB1c2UgbTRfc2hpZnQzIHRvIGRldGVjdCB3aGVuIHJlY3Vyc2lvbiBpcyBjb21w
bGV0ZSwKKy0jIGF0IHdoaWNoIHBvaW50IHRoaXMgbG9va3MgdmVyeSBtdWNoIGxpa2UgbTRfbWFw
X2FyZ3MuCistbTRfZGVmaW5lKFttNF9mb3JlYWNoXSwKKy1bbTRfaWYoWyQyXSwgW10sIFtdLAor
LSAgICAgICBbbTRfcHVzaGRlZihbJDFdKV8kMChbbTRfZGVmaW5lKFskMV0sXSwgWykkM10sIFtd
LAorLSAgJDIpbTRfcG9wZGVmKFskMV0pXSldKQorLQorLSMgX200X2ZvcmVhY2goUFJFLCBQT1NU
LCBJR05PUkVELCBBUkcuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIEZvcm0gdGhlIGNvbW1vbiBiYXNpcyBvZiB0aGUgbTRfZm9yZWFjaCBhbmQgbTRf
bWFwIG1hY3Jvcy4gIEZvciBlYWNoCistIyBBUkcsIGV4cGFuZCBQUkVbQVJHXVBPU1RbXS4gIFRo
ZSBJR05PUkVEIGFyZ3VtZW50IG1ha2VzIHJlY3Vyc2lvbgorLSMgZWFzaWVyLCBhbmQgbXVzdCBi
ZSBzdXBwbGllZCByYXRoZXIgdGhhbiBpbXBsaWNpdC4KKy0jCistIyBQbGVhc2Uga2VlcCBmb3Jl
YWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgorLW00X2RlZmlu
ZShbX200X2ZvcmVhY2hdLAorLVttNF9pZihbJCNdLCBbM10sIFtdLAorLSAgICAgICBbJDFbJDRd
JDJbXSQwKFskMV0sIFskMl0sIG00X3NoaWZ0MygkQCkpXSldKQorLQorLQorLSMgbTRfZm9yZWFj
aF93KFZBUklBQkxFLCBMSVNULCBFWFBSRVNTSU9OKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTGlrZSBtNF9mb3JlYWNoLCBidXQgdGhlIGxpc3QgaXMg
d2hpdGVzcGFjZSBzZXBhcmF0ZWQuICBEZXBlbmRpbmcgb24KKy0jIEVYUFJFU1NJT04sIGl0IG1h
eSBiZSBtb3JlIGVmZmljaWVudCB0byB1c2UgbTRfbWFwX2FyZ3Nfdy4KKy0jCistIyBUaGlzIG1h
Y3JvIGlzIHJvYnVzdCB0byBhY3RpdmUgc3ltYm9sczoKKy0jICAgIG00X2ZvcmVhY2hfdyhbVmFy
XSwgWyBhY3RpdmUKKy0jICAgIGIJYWN0XAorLSMgICAgaXZlICBdLCBbLVZhci1dKWVuZAorLSMg
ICAgPT4gLWFjdGl2ZS0tYi0tYWN0aXZlLWVuZAorLSMKKy0jIFRoaXMgdXNlZCB0byB1c2UgYSBz
bG93ZXIgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gbTRfZm9yZWFjaDoKKy0jICAgbTRfZm9yZWFj
aChbJDFdLCBtNF9zcGxpdChtNF9ub3JtYWxpemUoWyQyXSksIFsgXSksIFskM10pCistbTRfZGVm
aW5lKFttNF9mb3JlYWNoX3ddLAorLVttNF9wdXNoZGVmKFskMV0pbTRfbWFwX2FyZ3NfdyhbJDJd
LAorLSAgW200X2RlZmluZShbJDFdLF0sIFspJDNdKW00X3BvcGRlZihbJDFdKV0pCistCistCist
IyBtNF9tYXAoTUFDUk8sIExJU1QpCistIyBtNF9tYXBhbGwoTUFDUk8sIExJU1QpCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBJbnZva2UgTUFDUk8oJDEpLCBNQUNSTygkMikgZXRjLiB3
aGVyZSAkMSwgJDIuLi4gYXJlIHRoZSBlbGVtZW50cyBvZgorLSMgTElTVC4gICQxLCAkMi4uLiBt
dXN0IGluIHR1cm4gYmUgbGlzdHMsIGFwcHJvcHJpYXRlIGZvciBtNF9hcHBseS4KKy0jIElmIExJ
U1QgY29udGFpbnMgYW4gZW1wdHkgc3VibGlzdCwgbTRfbWFwIHNraXBzIHRoZSBleHBhbnNpb24g
b2YKKy0jIE1BQ1JPLCB3aGlsZSBtNF9tYXBhbGwgZXhwYW5kcyBNQUNSTyB3aXRoIG5vIGFyZ3Vt
ZW50cy4KKy0jCistIyBTaW5jZSBMSVNUIG1heSBiZSBxdWl0ZSBsYXJnZSwgd2Ugd2FudCB0byBt
aW5pbWl6ZSBob3cgb2Z0ZW4gaXQKKy0jIGFwcGVhcnMgaW4gdGhlIGV4cGFuc2lvbi4gIFJhdGhl
ciB0aGFuIHVzZSBtNF9jYXIvbTRfY2RyIGl0ZXJhdGlvbiwKKy0jIHdlIHVuYm94IHRoZSBsaXN0
LCBhbmQgdXNlIF9tNF9mb3JlYWNoIGZvciBpdGVyYXRpb24uICBGb3IgbTRfbWFwLAorLSMgYW4g
ZW1wdHkgbGlzdCBiZWhhdmVzIGxpa2UgYW4gZW1wdHkgc3VibGlzdCBhbmQgZ2V0cyBpZ25vcmVk
OyBmb3IKKy0jIG00X21hcGFsbCwgd2UgbXVzdCBzcGVjaWFsLWNhc2UgdGhlIGVtcHR5IGxpc3Qu
CistbTRfZGVmaW5lKFttNF9tYXBdLAorLVtfbTRfZm9yZWFjaChbX200X2FwcGx5KFskMV0sXSwg
WyldLCBbXSwgJDIpXSkKKy0KKy1tNF9kZWZpbmUoW200X21hcGFsbF0sCistW200X2lmKFskMl0s
IFtdLCBbXSwKKy0gICAgICAgW19tNF9mb3JlYWNoKFttNF9hcHBseShbJDFdLF0sIFspXSwgW10s
ICQyKV0pXSkKKy0KKy0KKy0jIG00X21hcF9zZXAoTUFDUk8sIFtTRVBBUkFUT1JdLCBMSVNUKQor
LSMgbTRfbWFwYWxsX3NlcChNQUNSTywgW1NFUEFSQVRPUl0sIExJU1QpCistIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEludm9rZSBNQUNSTygkMSksIFNFUEFS
QVRPUiwgTUFDUk8oJDIpLCAuLi4sIE1BQ1JPKCROKSB3aGVyZSAkMSwKKy0jICQyLi4uICROIGFy
ZSB0aGUgZWxlbWVudHMgb2YgTElTVCwgYW5kIGFyZSBpbiB0dXJuIGxpc3RzIGFwcHJvcHJpYXRl
CistIyBmb3IgbTRfYXBwbHkuICBTRVBBUkFUT1IgaXMgZXhwYW5kZWQsIGluIG9yZGVyIHRvIGFs
bG93IHRoZSBjcmVhdGlvbgorLSMgb2YgYSBsaXN0IG9mIGFyZ3VtZW50cyBieSB1c2luZyBhIHNp
bmdsZS1xdW90ZWQgY29tbWEgYXMgdGhlCistIyBzZXBhcmF0b3IuICBGb3IgZWFjaCBlbXB0eSBz
dWJsaXN0LCBtNF9tYXBfc2VwIHNraXBzIHRoZSBleHBhbnNpb24KKy0jIG9mIE1BQ1JPIGFuZCBT
RVBBUkFUT1IsIHdoaWxlIG00X21hcGFsbF9zZXAgZXhwYW5kcyBNQUNSTyB3aXRoIG5vCistIyBh
cmd1bWVudHMuCistIworLSMgRm9yIG00X21hcGFsbF9zZXAsIG1lcmVseSBleHBhbmQgdGhlIGZp
cnN0IGl0ZXJhdGlvbiB3aXRob3V0IHRoZQorLSMgc2VwYXJhdG9yLCB0aGVuIGluY2x1ZGUgc2Vw
YXJhdG9yIGFzIHBhcnQgb2Ygc3Vic2VxdWVudCByZWN1cnNpb247CistIyBidXQgYXZvaWQgZXh0
cmEgZXhwYW5zaW9uIG9mIExJU1QncyBzaWRlLWVmZmVjdHMgdmlhIGEgaGVscGVyIG1hY3JvLgor
LSMgRm9yIG00X21hcF9zZXAsIHRoaW5ncyBhcmUgdHJpY2tpZXIgLSB3ZSBkb24ndCBrbm93IGlm
IHRoZSBmaXJzdAorLSMgbGlzdCBlbGVtZW50IGlzIGFuIGVtcHR5IHN1Ymxpc3QsIHNvIHdlIG11
c3QgZGVmaW5lIGEgc2VsZi1tb2RpZnlpbmcKKy0jIGhlbHBlciBtYWNybyBhbmQgdXNlIHRoYXQg
YXMgdGhlIHNlcGFyYXRvciBpbnN0ZWFkLgorLW00X2RlZmluZShbbTRfbWFwX3NlcF0sCistW200
X3B1c2hkZWYoW200X1NlcF0sIFttNF9kZWZpbmUoW200X1NlcF0sIF9tNF9kZWZuKFttNF91bnF1
b3RlXSkpXSldZG5sCistW19tNF9mb3JlYWNoKFtfbTRfYXBwbHkoW200X1NlcChbJDJdKVtdJDFd
LF0sIFspXSwgW10sICQzKW00X3BvcGRlZihbbTRfU2VwXSldKQorLQorLW00X2RlZmluZShbbTRf
bWFwYWxsX3NlcF0sCistW200X2lmKFskM10sIFtdLCBbXSwgW18kMChbJDFdLCBbJDJdLCAkMyld
KV0pCistCistbTRfZGVmaW5lKFtfbTRfbWFwYWxsX3NlcF0sCistW200X2FwcGx5KFskMV0sIFsk
M10pX200X2ZvcmVhY2goW200X2FwcGx5KFskMltdJDFdLF0sIFspXSwgbTRfc2hpZnQyKCRAKSld
KQorLQorLSMgbTRfbWFwX2FyZ3MoRVhQUkVTU0lPTiwgQVJHLi4uKQorLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5kIEVYUFJFU1NJT04oW0FSR10pIGZvciBlYWNo
IGFyZ3VtZW50LiAgTW9yZSBlZmZpY2llbnQgdGhhbgorLSMgICBtNF9mb3JlYWNoKFt2YXJdLCBb
QVJHLi4uXSwgW0VYUFJFU1NJT04obTRfZGVmbihbdmFyXSkpXSkKKy0jIFNob3J0aGFuZCBmb3Ig
bTRfbWFwX2FyZ3Nfc2VwKFtFWFBSRVNTSU9OKF0sIFspXSwgW10sIEFSRy4uLikuCistbTRfZGVm
aW5lKFttNF9tYXBfYXJnc10sCistW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFskMDogdG9v
IGZldyBhcmd1bWVudHM6ICQjXSldLAorLSAgICAgICBbJCNdLCBbMV0sIFtdLAorLSAgICAgICBb
JCNdLCBbMl0sIFskMShbJDJdKVtdXSwKKy0gICAgICAgW19tNF9mb3JlYWNoKFskMShdLCBbKV0s
ICRAKV0pXSkKKy0KKy0KKy0jIG00X21hcF9hcmdzX3BhaXIoRVhQUkVTU0lPTiwgW0VORC1FWFBS
ID0gRVhQUkVTU0lPTl0sIEFSRy4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFBlcmZvcm0gYSBwYWlyd2lzZSBn
cm91cGluZyBvZiBjb25zZWN1dGl2ZSBBUkdzLCBieSBleHBhbmRpbmcKKy0jIEVYUFJFU1NJT04o
W0FSRzFdLCBbQVJHMl0pLiAgSWYgdGhlcmUgYXJlIGFuIG9kZCBudW1iZXIgb2YgQVJHcywgdGhl
CistIyBmaW5hbCBhcmd1bWVudCBpcyBleHBhbmRlZCB3aXRoIEVORC1FWFBSKFtBUkduXSkuCist
IworLSMgRm9yIGV4YW1wbGU6CistIyAgIG00X2RlZmluZShbc2hvd10sIFsoJCopbTRfbmV3bGlu
ZV0pZG5sCistIyAgIG00X21hcF9hcmdzX3BhaXIoW3Nob3ddLCBbXSwgW2FdLCBbYl0sIFtjXSwg
W2RdLCBbZV0pZG5sCistIyAgID0+IChhLGIpCistIyAgID0+IChjLGQpCistIyAgID0+IChlKQor
LSMKKy0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50
cyBtYWRlIGhlcmUuCistbTRfZGVmaW5lKFttNF9tYXBfYXJnc19wYWlyXSwKKy1bbTRfaWYoWyQj
XSwgWzBdLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCNdKV0sCistICAgICAg
IFskI10sIFsxXSwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQjOiAkMV0pXSwK
Ky0gICAgICAgWyQjXSwgWzJdLCBbXSwKKy0gICAgICAgWyQjXSwgWzNdLCBbbTRfZGVmYXVsdChb
JDJdLCBbJDFdKShbJDNdKVtdXSwKKy0gICAgICAgWyQjXSwgWzRdLCBbJDEoWyQzXSwgWyQ0XSlb
XV0sCistICAgICAgIFskMShbJDNdLCBbJDRdKVtdJDAoWyQxXSwgWyQyXSwgbTRfc2hpZnQobTRf
c2hpZnQzKCRAKSkpXSldKQorLQorLQorLSMgbTRfbWFwX2FyZ3Nfc2VwKFtQUkVdLCBbUE9TVF0s
IFtTRVBdLCBBUkcuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIEV4cGFuZCBQUkVbQVJHXVBPU1QgZm9yIGVhY2ggYXJndW1lbnQsIHdpdGgg
U0VQIGJldHdlZW4gYXJndW1lbnRzLgorLW00X2RlZmluZShbbTRfbWFwX2FyZ3Nfc2VwXSwKKy1b
bTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCNdKV0s
CistICAgICAgIFskI10sIFsxXSwgW10sCistICAgICAgIFskI10sIFsyXSwgW10sCistICAgICAg
IFskI10sIFszXSwgW10sCistICAgICAgIFskI10sIFs0XSwgWyQxWyQ0XSQyW11dLAorLSAgICAg
ICBbJDFbJDRdJDJbXV9tNF9mb3JlYWNoKFskM1tdJDFdLCBbJDJdLCBtNF9zaGlmdDMoJEApKV0p
XSkKKy0KKy0KKy0jIG00X21hcF9hcmdzX3coU1RSSU5HLCBbUFJFXSwgW1BPU1RdLCBbU0VQXSkK
Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFBlcmZv
cm0gdGhlIGV4cGFuc2lvbiBvZiBQUkVbd29yZF1QT1NUW10gZm9yIGVhY2ggd29yZCBpbiBTVFJJ
TkcKKy0jIHNlcGFyYXRlZCBieSB3aGl0ZXNwYWNlLiAgTW9yZSBlZmZpY2llbnQgdGhhbjoKKy0j
ICAgbTRfZm9yZWFjaF93KFt2YXJdLCBbU1RSSU5HXSwgW1BSRVtdbTRfZGVmbihbdmFyXSlQT1NU
XSkKKy0jIEFkZGl0aW9uYWxseSwgZXhwYW5kIFNFUCBiZXR3ZWVuIHdvcmRzLgorLSMKKy0jIEFz
IGxvbmcgYXMgd2UgaGF2ZSB0byB1c2UgbTRfYnBhdHN1YnN0IHRvIHNwbGl0IHRoZSBzdHJpbmcs
IHdlIG1pZ2h0CistIyBhcyB3ZWxsIG1ha2UgaXQgYWxzbyBhcHBseSBQUkUgYW5kIFBPU1Q7IHRo
aXMgYXZvaWRzIGl0ZXJhdGlvbgorLSMgYWx0b2dldGhlci4gIEJ1dCB3ZSBtdXN0IGJlIGNhcmVm
dWwgb2YgYW55IFwgaW4gUFJFIG9yIFBPU1QuCistIyBfbTRfc3RyaXAgcmV0dXJucyBhIHF1b3Rl
ZCBzdHJpbmcsIGJ1dCB0aGF0J3Mgb2theSwgc2luY2UgaXQgYWxzbworLSMgc3VwcGxpZXMgYW4g
ZW1wdHkgbGVhZGluZyBhbmQgdHJhaWxpbmcgYXJndW1lbnQgZHVlIHRvIG91cgorLSMgaW50ZW50
aW9uYWwgd2hpdGVzcGFjZSBhcm91bmQgU1RSSU5HLiAgV2UgdXNlIG00X3N1YnN0ciB0byBzdHJp
cCB0aGUKKy0jIGVtcHR5IGVsZW1lbnRzIGFuZCByZW1vdmUgdGhlIGV4dHJhIGxheWVyIG9mIHF1
b3RpbmcuCistbTRfZGVmaW5lKFttNF9tYXBfYXJnc193XSwKKy1bXyQwKF9tNF9zcGxpdChbIF1t
NF9mbGF0dGVuKFskMV0pWyBdLCBbWwkgXStdLAorLQkgICAgICAgbTRfaWYobTRfaW5kZXgoWyQy
JDMkNF0sIFtcXSksIFstMV0sIFtbJDNbXSQ0W10kMl1dLAorLQkJICAgICBbbTRfYnBhdHN1YnN0
KFtbJDNbXSQ0W10kMl1dLCBbXFxdLCBbXFxcXF0pXSkpLAorLSAgICAgbTRfbGVuKFtbXSQzW10k
NF0pLCBtNF9sZW4oWyQ0W10kMltdXSkpXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9tYXBfYXJnc193
XSwKKy1bbTRfc3Vic3RyKFskMV0sIFskMl0sIG00X2V2YWwobTRfbGVuKFskMV0pIC0gWyQyXSAt
IFskM10pKV0pCistCistCistIyBtNF9zdGFja19mb3JlYWNoKE1BQ1JPLCBGVU5DKQorLSMgbTRf
c3RhY2tfZm9yZWFjaF9saWZvKE1BQ1JPLCBGVU5DKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLSMgUGFzcyBlYWNoIHN0YWNrZWQgZGVmaW5pdGlvbiBvZiBNQUNSTyB0
byB0aGUgb25lLWFyZ3VtZW50IG1hY3JvIEZVTkMuCistIyBtNF9zdGFja19mb3JlYWNoIHByb2Nl
ZWRzIGluIEZJRk8gb3JkZXIsIHdoaWxlIG00X3N0YWNrX2ZvcmVhY2hfbGlmbworLSMgcHJvY2Vz
c2VzIHRoZSB0b3Btb3N0IGRlZmluaXRpb25zIGZpcnN0LiAgSW4gYWRkaXRpb24sIEZVTkMgc2hv
dWxkCistIyBub3QgcHVzaCBvciBwb3AgZGVmaW5pdGlvbnMgb2YgTUFDUk8sIGFuZCBzaG91bGQg
bm90IGV4cGVjdCBhbnl0aGluZyBhYm91dAorLSMgdGhlIGFjdGl2ZSBkZWZpbml0aW9uIG9mIE1B
Q1JPIChpdCB3aWxsIG5vdCBiZSB0aGUgdG9wbW9zdCwgYW5kIG1heSBub3QKKy0jIGJlIHRoZSBv
bmUgcGFzc2VkIHRvIEZVTkMgZWl0aGVyKS4KKy0jCistIyBTb21lIG1hY3JvcyBzaW1wbHkgY2Fu
J3QgYmUgZXhhbWluZWQgd2l0aCB0aGlzIG1ldGhvZDogbmFtZWx5LAorLSMgYW55dGhpbmcgaW52
b2x2ZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIF9tNF9zdGFja19yZXZlcnNlLgorLW00X2Rl
ZmluZShbbTRfc3RhY2tfZm9yZWFjaF0sCistW19tNF9zdGFja19yZXZlcnNlKFskMV0sIFttNF90
bXAtJDFdKV1kbmwKKy1bX200X3N0YWNrX3JldmVyc2UoW200X3RtcC0kMV0sIFskMV0sIFskMihf
bTRfZGVmbihbbTRfdG1wLSQxXSkpXSldKQorLQorLW00X2RlZmluZShbbTRfc3RhY2tfZm9yZWFj
aF9saWZvXSwKKy1bX200X3N0YWNrX3JldmVyc2UoWyQxXSwgW200X3RtcC0kMV0sIFskMihfbTRf
ZGVmbihbbTRfdG1wLSQxXSkpXSldZG5sCistW19tNF9zdGFja19yZXZlcnNlKFttNF90bXAtJDFd
LCBbJDFdKV0pCistCistIyBtNF9zdGFja19mb3JlYWNoX3NlcChNQUNSTywgW1BSRV0sIFtQT1NU
XSwgW1NFUF0pCistIyBtNF9zdGFja19mb3JlYWNoX3NlcF9saWZvKE1BQ1JPLCBbUFJFXSwgW1BP
U1RdLCBbU0VQXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLSMgU2ltaWxhciB0byBtNF9zdGFja19mb3JlYWNoIGFuZCBtNF9zdGFj
a19mb3JlYWNoX2xpZm8sIGluIHRoYXQgZXZlcnkKKy0jIGRlZmluaXRpb24gb2YgYSBwdXNoZGVm
IHN0YWNrIHdpbGwgYmUgdmlzaXRlZC4gIEJ1dCByYXRoZXIgdGhhbgorLSMgcGFzc2luZyB0aGUg
ZGVmaW5pdGlvbiBhcyBhIHNpbmdsZSBhcmd1bWVudCB0byBhIG1hY3JvLCB0aGlzIHZhcmlhbnQK
Ky0jIGV4cGFuZHMgdGhlIGNvbmNhdGVuYXRpb24gb2YgUFJFW11kZWZpbml0aW9uW11QT1NULCBh
bmQgZXhwYW5kcyBTRVAKKy0jIGJldHdlZW4gY29uc2VjdXRpdmUgZXhwYW5zaW9ucy4gIE5vdGUg
dGhhdCBtNF9zdGFja19mb3JlYWNoKFthXSwgW2JdKQorLSMgaXMgZXF1aXZhbGVudCB0byBtNF9z
dGFja19mb3JlYWNoX3NlcChbYV0sIFtiKF0sIFspXSkuCistbTRfZGVmaW5lKFttNF9zdGFja19m
b3JlYWNoX3NlcF0sCistW19tNF9zdGFja19yZXZlcnNlKFskMV0sIFttNF90bXAtJDFdKV1kbmwK
Ky1bX200X3N0YWNrX3JldmVyc2UoW200X3RtcC0kMV0sIFskMV0sIFskMltdX200X2RlZm4oW200
X3RtcC0kMV0pJDNdLCBbJDRbXV0pXSkKKy0KKy1tNF9kZWZpbmUoW200X3N0YWNrX2ZvcmVhY2hf
c2VwX2xpZm9dLAorLVtfbTRfc3RhY2tfcmV2ZXJzZShbJDFdLCBbbTRfdG1wLSQxXSwgWyQyW11f
bTRfZGVmbihbbTRfdG1wLSQxXSkkM10sIFskNFtdXSldZG5sCistW19tNF9zdGFja19yZXZlcnNl
KFttNF90bXAtJDFdLCBbJDFdKV0pCistCistCistIyBfbTRfc3RhY2tfcmV2ZXJzZShPTEQsIE5F
VywgW0FDVElPTl0sIFtTRVBdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKy0jIEEgcmVjdXJzaXZlIHdvcmtlciBmb3IgcHVzaGRlZiBzdGFjayBtYW5p
cHVsYXRpb24uICBEZXN0cnVjdGl2ZWx5CistIyBjb3B5IHRoZSBPTEQgc3RhY2sgaW50byB0aGUg
TkVXLCBhbmQgZXhwYW5kaW5nIEFDVElPTiBmb3IgZWFjaAorLSMgaXRlcmF0aW9uLiAgQWZ0ZXIg
dGhlIGZpcnN0IGl0ZXJhdGlvbiwgU0VQIGlzIHByb21vdGVkIHRvIHRoZSBmcm9udAorLSMgb2Yg
QUNUSU9OIChub3RlIHRoYXQgU0VQIHNob3VsZCBpbmNsdWRlIGEgdHJhaWxpbmcgW10gaWYgaXQg
aXMgdG8KKy0jIGF2b2lkIGludGVyZmVyaW5nIHdpdGggQUNUSU9OKS4gIFRoZSBjdXJyZW50IGRl
ZmluaXRpb24gaXMgZXhhbWluZWQKKy0jIGFmdGVyIHRoZSBORVcgaGFzIGJlZW4gcHVzaGVkIGJ1
dCBiZWZvcmUgT0xEIGhhcyBiZWVuIHBvcHBlZDsgdGhpcworLSMgb3JkZXIgaXMgaW1wb3J0YW50
LCBhcyBBQ1RJT04gaXMgcGVybWl0dGVkIHRvIG9wZXJhdGUgb24gZWl0aGVyCistIyBfbTRfZGVm
bihbT0xEXSkgb3IgX200X2RlZm4oW05FV10pLiAgU2luY2UgdGhlIG9wZXJhdGlvbiBpcworLSMg
ZGVzdHJ1Y3RpdmUsIHRoaXMgbWFjcm8gaXMgZ2VuZXJhbGx5IHVzZWQgdHdpY2UsIHdpdGggYSB0
ZW1wb3JhcnkKKy0jIG1hY3JvIG5hbWUgaG9sZGluZyB0aGUgc3dhcHBlZCBjb3B5LgorLW00X2Rl
ZmluZShbX200X3N0YWNrX3JldmVyc2VdLAorLVttNF9pZmRlZihbJDFdLCBbbTRfcHVzaGRlZihb
JDJdLAorLSAgX200X2RlZm4oWyQxXSkpJDNbXV9tNF9wb3BkZWYoWyQxXSkkMChbJDFdLCBbJDJd
LCBbJDQkM10pXSldKQorLQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAj
IworLSMjIDkuIE1vcmUgZGl2ZXJzaW9uIHN1cHBvcnQuICAjIworLSMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSAjIworLQorLQorLSMgbTRfY2xlYXJkaXZlcnQoRElWRVJTSU9OLU5BTUUu
Li4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERpc2NhcmQgYW55
IHRleHQgaW4gRElWRVJTSU9OLU5BTUUuCistIworLSMgVGhpcyB3b3JrcyBldmVuIGluc2lkZSBt
NF9leHBhbmQuCistbTRfZGVmaW5lKFttNF9jbGVhcmRpdmVydF0sCistW200X2lmKFskI10sIFsw
XSwgW200X2ZhdGFsKFskMDogbWlzc2luZyBhcmd1bWVudF0pXSwKKy0gICAgICAgW19tNF9kaXZl
cnRfcmF3KFstMV0pbTRfdW5kaXZlcnQoJEApX200X2RpdmVydF9yYXcoCistCSBfbTRfZGl2ZXJ0
KF9tNF9kZWZuKFtfbTRfZGl2ZXJ0X2RpdmVyc2lvbl0pLCBbLV0pKV0pXSkKKy0KKy0KKy0jIF9t
NF9kaXZlcnQoRElWRVJTSU9OLU5BTUUgb3IgTlVNQkVSLCBbTk9XQVJOXSkKKy0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIERJVkVSU0lPTi1O
QU1FIGlzIHRoZSBuYW1lIG9mIGEgZGl2ZXJzaW9uLCByZXR1cm4gaXRzIG51bWJlciwKKy0jIG90
aGVyd2lzZSBpZiBpdCBpcyBhIE5VTUJFUiByZXR1cm4gaXQuICBJc3N1ZSBhIHdhcm5pbmcgYWJv
dXQKKy0jIHRoZSB1c2Ugb2YgYSBudW1iZXIgaW5zdGVhZCBvZiBhIG5hbWUsIHVubGVzcyBOT1dB
Uk4gaXMgcHJvdmlkZWQuCistbTRfZGVmaW5lKFtfbTRfZGl2ZXJ0XSwKKy1bbTRfaWZkZWYoW19t
NF9kaXZlcnQoJDEpXSwKKy0JICBbbTRfaW5kaXIoW19tNF9kaXZlcnQoJDEpXSldLAorLQkgIFtt
NF9pZihbJDJdLCBbXSwgW200X3dhcm4oW3N5bnRheF0sCistCSAgICAgW3ByZWZlciBuYW1lZCBk
aXZlcnNpb25zXSldKSQxXSldKQorLQorLSMgS0lMTCBpcyBvbmx5IHVzZWQgdG8gc3VwcHJlc3Mg
b3V0cHV0LgorLW00X2RlZmluZShbX200X2RpdmVydChLSUxMKV0sICAgICAgICAgICAtMSkKKy0K
Ky0jIFRoZSBlbXB0eSBkaXZlcnNpb24gbmFtZSBpcyBhIHN5bm9ueW0gZm9yIDAuCistbTRfZGVm
aW5lKFtfbTRfZGl2ZXJ0KCldLCAgICAgICAgICAgICAgICAwKQorLQorLQorLSMgbTRfZGl2ZXJ0
X3N0YWNrCistIyAtLS0tLS0tLS0tLS0tLS0KKy0jIFByaW50IHRoZSBkaXZlcnNpb24gc3RhY2ss
IGlmIGl0J3Mgbm9uZW1wdHkuICBUaGUgY2FsbGVyIGlzCistIyByZXNwb25zaWJsZSBmb3IgYW55
IGxlYWRpbmcgb3IgdHJhaWxpbmcgbmV3bGluZS4KKy1tNF9kZWZpbmUoW200X2RpdmVydF9zdGFj
a10sCistW200X3N0YWNrX2ZvcmVhY2hfc2VwX2xpZm8oW19tNF9kaXZlcnRfc3RhY2tdLCBbXSwg
W10sIFsKKy1dKV0pCistCistCistIyBtNF9kaXZlcnRfc3RhY2tfcHVzaChNQUNSTy1OQU1FLCBE
SVZFUlNJT04tTkFNRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgRm9ybSBhbiBlbnRyeSBvZiB0aGUgZGl2ZXJzaW9uIHN0YWNrIGZyb20g
Y2FsbGVyIE1BQ1JPLU5BTUUgYW5kCistIyBlbnRlcmluZyBESVZFUlNJT04tTkFNRSBhbmQgcHVz
aCBpdC4KKy1tNF9kZWZpbmUoW200X2RpdmVydF9zdGFja19wdXNoXSwKKy1bbTRfcHVzaGRlZihb
X200X2RpdmVydF9zdGFja10sIG00X2xvY2F0aW9uWzogJDE6ICQyXSldKQorLQorLQorLSMgbTRf
ZGl2ZXJ0KERJVkVSU0lPTi1OQU1FKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
Q2hhbmdlIHRoZSBkaXZlcnNpb24gc3RyZWFtIHRvIERJVkVSU0lPTi1OQU1FLgorLW00X2RlZmlu
ZShbbTRfZGl2ZXJ0XSwKKy1bbTRfcG9wZGVmKFtfbTRfZGl2ZXJ0X3N0YWNrXSldZG5sCistW200
X2RlZmluZShbX200X2RpdmVydF9kaXZlcnNpb25dLCBbJDFdKV1kbmwKKy1bbTRfZGl2ZXJ0X3N0
YWNrX3B1c2goWyQwXSwgWyQxXSldZG5sCistW19tNF9kaXZlcnRfcmF3KF9tNF9kaXZlcnQoWyQx
XSkpXSkKKy0KKy0KKy0jIG00X2RpdmVydF9wdXNoKERJVkVSU0lPTi1OQU1FLCBbTk9XQVJOXSkK
Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENoYW5nZSB0
aGUgZGl2ZXJzaW9uIHN0cmVhbSB0byBESVZFUlNJT04tTkFNRSwgd2hpbGUgc3RhY2tpbmcgb2xk
IHZhbHVlcy4KKy0jIEZvciBpbnRlcm5hbCB1c2Ugb25seTogaWYgTk9XQVJOIGlzIG5vdCBlbXB0
eSwgRElWRVJTSU9OLU5BTUUgY2FuIGJlIGEKKy0jIG51bWJlciBpbnN0ZWFkIG9mIGEgbmFtZS4K
Ky1tNF9kZWZpbmUoW200X2RpdmVydF9wdXNoXSwKKy1bbTRfZGl2ZXJ0X3N0YWNrX3B1c2goWyQw
XSwgWyQxXSldZG5sCistW200X3B1c2hkZWYoW19tNF9kaXZlcnRfZGl2ZXJzaW9uXSwgWyQxXSld
ZG5sCistW19tNF9kaXZlcnRfcmF3KF9tNF9kaXZlcnQoWyQxXSwgWyQyXSkpXSkKKy0KKy0KKy0j
IG00X2RpdmVydF9wb3AoW0RJVkVSU0lPTi1OQU1FXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKy0jIENoYW5nZSB0aGUgZGl2ZXJzaW9uIHN0cmVhbSB0byBpdHMgcHJldmlv
dXMgdmFsdWUsIHVuc3RhY2tpbmcgaXQuCistIyBJZiBzcGVjaWZpZWQsIHZlcmlmeSB3ZSBsZWZ0
IERJVkVSU0lPTi1OQU1FLgorLSMgV2hlbiB3ZSBwb3AgdGhlIGxhc3QgdmFsdWUgZnJvbSB0aGUg
c3RhY2ssIHdlIGRpdmVydCB0byAtMS4KKy1tNF9kZWZpbmUoW200X2RpdmVydF9wb3BdLAorLVtt
NF9pZihbJDFdLCBbXSwgW10sCistICAgICAgIFskMV0sIF9tNF9kZWZuKFtfbTRfZGl2ZXJ0X2Rp
dmVyc2lvbl0pLCBbXSwKKy0gICAgICAgW200X2ZhdGFsKFskMCgkMSk6IGRpdmVyc2lvbiBtaXNt
YXRjaDoKKy1dbTRfZGl2ZXJ0X3N0YWNrKV0pXWRubAorLVtfbTRfcG9wZGVmKFtfbTRfZGl2ZXJ0
X3N0YWNrXSwgW19tNF9kaXZlcnRfZGl2ZXJzaW9uXSldZG5sCistW200X2lmZGVmKFtfbTRfZGl2
ZXJ0X2RpdmVyc2lvbl0sIFtdLAorLQkgICBbbTRfZmF0YWwoW3RvbyBtYW55IG00X2RpdmVydF9w
b3BdKV0pXWRubAorLVtfbTRfZGl2ZXJ0X3JhdyhfbTRfZGl2ZXJ0KF9tNF9kZWZuKFtfbTRfZGl2
ZXJ0X2RpdmVyc2lvbl0pLCBbLV0pKV0pCistCistCistIyBtNF9kaXZlcnRfdGV4dChESVZFUlNJ
T04tTkFNRSwgQ09OVEVOVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgT3V0cHV0IENPTlRFTlQgaW50byBESVZFUlNJT04tTkFNRSAod2hpY2ggbWF5IGJl
IGEgbnVtYmVyIGFjdHVhbGx5KS4KKy0jIEFuIGVuZCBvZiBsaW5lIGlzIGFwcGVuZGVkIGZvciBm
cmVlIHRvIENPTlRFTlQuCistbTRfZGVmaW5lKFttNF9kaXZlcnRfdGV4dF0sCistW200X2RpdmVy
dF9wdXNoKFskMV0pJDIKKy1tNF9kaXZlcnRfcG9wKFskMV0pXSkKKy0KKy0KKy0jIG00X2RpdmVy
dF9vbmNlKERJVkVSU0lPTi1OQU1FLCBDT05URU5UKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBPdXRwdXQgQ09OVEVOVCBpbnRvIERJVkVSU0lPTi1OQU1F
IG9uY2UsIGlmIG5vdCBhbHJlYWR5IHRoZXJlLgorLSMgQW4gZW5kIG9mIGxpbmUgaXMgYXBwZW5k
ZWQgZm9yIGZyZWUgdG8gQ09OVEVOVC4KKy1tNF9kZWZpbmUoW200X2RpdmVydF9vbmNlXSwKKy1b
bTRfZXhwYW5kX29uY2UoW200X2RpdmVydF90ZXh0KFskMV0sIFskMl0pXSldKQorLQorLQorLSMg
X200X2RpdmVydF91bnNhZmUoRElWRVJTSU9OLU5BTUUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIElzc3VlIGEgd2FybmluZyB0aGF0IHRoZSBhdHRlbXB0IHRvIGNo
YW5nZSB0aGUgY3VycmVudCBkaXZlcnNpb24gdG8KKy0jIERJVkVSU0lPTi1OQU1FIGlzIHVuc2Fm
ZSwgYmVjYXVzZSB0aGlzIG1hY3JvIGlzIGJlaW5nIGV4cGFuZGVkCistIyBkdXJpbmcgYXJndW1l
bnQgY29sbGVjdGlvbiBvZiBtNF9leHBhbmQuCistbTRfZGVmaW5lKFtfbTRfZGl2ZXJ0X3Vuc2Fm
ZV0sCistW200X2ZhdGFsKFskMDogY2Fubm90IGNoYW5nZSBkaXZlcnNpb24gdG8gYCQxJyBpbnNp
ZGUgbTRfZXhwYW5kXSldKQorLQorLQorLSMgbTRfdW5kaXZlcnQoRElWRVJTSU9OLU5BTUUuLi4p
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFVuZGl2ZXJ0IERJVkVSU0lP
Ti1OQU1FLiAgVW5saWtlIHRoZSBNNCB2ZXJzaW9uLCB0aGlzIHJlcXVpcmVzIGF0CistIyBsZWFz
dCBvbmUgRElWRVJTSU9OLU5BTUU7IGFsc28sIGR1ZSB0byBzdXBwb3J0IGZvciBuYW1lZCBkaXZl
cnNpb25zLAorLSMgdGhpcyBzaG91bGQgbm90IGJlIHVzZWQgdG8gdW5kaXZlcnQgZmlsZXMuCist
bTRfZGVmaW5lKFttNF91bmRpdmVydF0sCistW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFsk
MDogbWlzc2luZyBhcmd1bWVudF0pXSwKKy0gICAgICAgWyQjXSwgWzFdLCBbX200X3VuZGl2ZXJ0
KF9tNF9kaXZlcnQoWyQxXSkpXSwKKy0gICAgICAgW200X21hcF9hcmdzKFskMF0sICRAKV0pXSkK
Ky0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKKy0jIyAxMC4gRGVmaW5pbmcgbWFjcm9zIHdpdGggYmVsbHMgYW5kIHdoaXN0bGVzLiAgIyMK
Ky0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0K
Ky0jIGBtNF9kZWZ1bicgaXMgYmFzaWNhbGx5IGBtNF9kZWZpbmUnIGJ1dCBpdCBlcXVpcHMgdGhl
IG1hY3JvIHdpdGggdGhlCistIyBuZWVkZWQgbWFjaGluZXJ5IGZvciBgbTRfcmVxdWlyZScuICBB
IG1hY3JvIG11c3QgYmUgbTRfZGVmdW4nZCBpZgorLSMgZWl0aGVyIGl0IGlzIG00X3JlcXVpcmUn
ZCwgb3IgaXQgbTRfcmVxdWlyZSdzLgorLSMKKy0jIFR3byB0aGluZ3MgZGVzZXJ2ZSBhdHRlbnRp
b24gYW5kIGFyZSBkZXRhaWxlZCBiZWxvdzoKKy0jICAxLiBJbXBsZW1lbnRhdGlvbiBvZiBtNF9y
ZXF1aXJlCistIyAgMi4gS2VlcGluZyB0cmFjayBvZiB0aGUgZXhwYW5zaW9uIHN0YWNrCistIwor
LSMgMS4gSW1wbGVtZW50YXRpb24gb2YgbTRfcmVxdWlyZQorLSMgPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQorLSMKKy0jIE9mIGNvdXJzZSBtNF9kZWZ1biBjYWxscyBtNF9wcm92aWRl
LCBzbyB0aGF0IGEgbWFjcm8gd2hpY2ggaGFzCistIyBiZWVuIGV4cGFuZGVkIGlzIG5vdCBleHBh
bmRlZCBhZ2FpbiB3aGVuIG00X3JlcXVpcmUnZCwgYnV0IHRoZQorLSMgZGlmZmljdWx0IHBhcnQg
aXMgdGhlIHByb3BlciBleHBhbnNpb24gb2YgbWFjcm9zIHdoZW4gdGhleSBhcmUKKy0jIG00X3Jl
cXVpcmUnZC4KKy0jCistIyBUaGUgaW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24gdGhyZWUgaWRl
YXMsIChpKSB1c2luZyBkaXZlcnNpb25zIHRvCistIyBwcmVwYXJlIHRoZSBleHBhbnNpb24gb2Yg
dGhlIG1hY3JvIGFuZCBpdHMgZGVwZW5kZW5jaWVzIChieSBGcmFuYyxvaXMKKy0jIFBpbmFyZCks
IChpaSkgZXhwYW5kIHRoZSBtb3N0IHJlY2VudGx5IG00X3JlcXVpcmUnZCBtYWNyb3MgX2FmdGVy
XworLSMgdGhlIHByZXZpb3VzIG1hY3JvcyAoYnkgQXhlbCBUaGltbSksIGFuZCAoaWlpKSB0cmFj
ayBpbnN0YW5jZXMgb2YKKy0jIHByb3ZpZGUgYmVmb3JlIHJlcXVpcmUgKGJ5IEVyaWMgQmxha2Up
LgorLSMKKy0jCistIyBUaGUgZmlyc3QgaWRlYTogd2h5IHVzZSBkaXZlcnNpb25zPworLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jCistIyBXaGVuIGEgbWFjcm8gcmVx
dWlyZXMgYW5vdGhlciwgdGhlIG90aGVyIG1hY3JvIGlzIGV4cGFuZGVkIGluIG5ldworLSMgZGl2
ZXJzaW9uLCBHUk9XLiAgV2hlbiB0aGUgb3V0ZXIgbWFjcm8gaXMgZnVsbHkgZXhwYW5kZWQsIHdl
IGZpcnN0CistIyB1bmRpdmVydCB0aGUgbW9zdCBuZXN0ZWQgZGl2ZXJzaW9ucyAoR1JPVyAtIDEu
Li4pLCBhbmQgZmluYWxseQorLSMgdW5kaXZlcnQgR1JPVy4gIFRvIHVuZGVyc3RhbmQgd2h5IHdl
IG5lZWQgc2V2ZXJhbCBkaXZlcnNpb25zLAorLSMgY29uc2lkZXIgdGhlIGZvbGxvd2luZyBleGFt
cGxlOgorLSMKKy0jIHwgbTRfZGVmdW4oW1RFU1QxXSwgW1Rlc3QuLi5tNF9yZXF1aXJlKFtURVNU
Ml0pMV0pCistIyB8IG00X2RlZnVuKFtURVNUMl0sIFtUZXN0Li4ubTRfcmVxdWlyZShbVEVTVDNd
KTJdKQorLSMgfCBtNF9kZWZ1bihbVEVTVDNdLCBbVGVzdC4uLjNdKQorLSMKKy0jIEJlY2F1c2Ug
bTRfcmVxdWlyZSBpcyBub3QgcmVxdWlyZWQgdG8gYmUgZmlyc3QgaW4gdGhlIG91dGVyIG1hY3Jv
cywgd2UKKy0jIG11c3Qga2VlcCB0aGUgZXhwYW5zaW9ucyBvZiB0aGUgdmFyaW91cyBsZXZlbHMg
b2YgbTRfcmVxdWlyZSBzZXBhcmF0ZWQuCistIyBSaWdodCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBl
cGlsb2d1ZSBvZiBURVNUMSwgd2UgaGF2ZToKKy0jCistIwkgICBHUk9XIC0gMjogVGVzdC4uLjMK
Ky0jCSAgIEdST1cgLSAxOiBUZXN0Li4uMgorLSMJICAgR1JPVzogICAgIFRlc3QuLi4xCistIwkg
ICBCT0RZOgorLSMKKy0jIEZpbmFsbHkgdGhlIGVwaWxvZ3VlIG9mIFRFU1QxIHVuZGl2ZXJ0cyBH
Uk9XIC0gMiwgR1JPVyAtIDEsIGFuZAorLSMgR1JPVyBpbnRvIHRoZSByZWd1bGFyIGZsb3csIEJP
RFkuCistIworLSMJICAgR1JPVyAtIDI6CistIwkgICBHUk9XIC0gMToKKy0jCSAgIEdST1c6Cist
IwkgICBCT0RZOiAgICAgICAgVGVzdC4uLjM7IFRlc3QuLi4yOyBUZXN0Li4uMQorLSMKKy0jIChU
aGUgc2VtaWNvbG9ucyBhcmUgaGVyZSBmb3IgY2xhcmlmaWNhdGlvbiwgYnV0IG9mIGNvdXJzZSBh
cmUgbm90CistIyBlbWl0dGVkLikgIFRoaXMgaXMgd2hhdCBBdXRvY29uZiAyLjAgKEkgdGhpbmsp
IHRvIDIuMTMgKEknbSBzdXJlKQorLSMgaW1wbGVtZW50LgorLSMKKy0jCistIyBUaGUgc2Vjb25k
IGlkZWE6IGZpcnN0IHJlcXVpcmVkIGZpcnN0IG91dAorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jCistIyBUaGUgbmF0dXJhbCBpbXBsZW1lbnRhdGlvbiBv
ZiB0aGUgaWRlYSBhYm92ZSBpcyBidWdneSBhbmQgcHJvZHVjZXMKKy0jIHZlcnkgc3VycHJpc2lu
ZyByZXN1bHRzIGluIHNvbWUgc2l0dWF0aW9ucy4gIExldCdzIGNvbnNpZGVyIHRoZQorLSMgZm9s
bG93aW5nIGV4YW1wbGUgdG8gZXhwbGFpbiB0aGUgYnVnOgorLSMKKy0jIHwgbTRfZGVmdW4oW1RF
U1QxXSwgIFttNF9yZXF1aXJlKFtURVNUMmFdKW00X3JlcXVpcmUoW1RFU1QyYl0pXSkKKy0jIHwg
bTRfZGVmdW4oW1RFU1QyYV0sIFtdKQorLSMgfCBtNF9kZWZ1bihbVEVTVDJiXSwgW200X3JlcXVp
cmUoW1RFU1QzXSldKQorLSMgfCBtNF9kZWZ1bihbVEVTVDNdLCAgW200X3JlcXVpcmUoW1RFU1Qy
YV0pXSkKKy0jIHwKKy0jIHwgQUNfSU5JVAorLSMgfCBURVNUMQorLSMKKy0jIFRoZSBkZXBlbmRl
bmNpZXMgYmV0d2VlbiB0aGUgbWFjcm9zIGFyZToKKy0jCistIwkJIDMgLS0tIDJiCistIwkJLyAg
ICAgICAgXCAgICAgICAgICAgICAgaXMgbTRfcmVxdWlyZSdkIGJ5CistIwkgICAgICAgLyAgICAg
ICAgICBcICAgICAgIGxlZnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0gcmlnaHQKKy0jCSAgICAyYSAt
LS0tLS0tLS0tLS0gMQorLSMKKy0jIElmIHlvdSBzdHJpY3RseSBhcHBseSB0aGUgcnVsZXMgZ2l2
ZW4gaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24geW91IGdldDoKKy0jCistIwkgICBHUk9XIC0gMjog
VEVTVDMKKy0jCSAgIEdST1cgLSAxOiBURVNUMmE7IFRFU1QyYgorLSMJICAgR1JPVzogICAgIFRF
U1QxCistIwkgICBCT0RZOgorLSMKKy0jIChURVNUMmEsIGFsdGhvdWdoIHJlcXVpcmVkIGJ5IFRF
U1QzIGlzIG5vdCBleHBhbmRlZCBpbiBHUk9XIC0gMworLSMgYmVjYXVzZSBpcyBoYXMgYWxyZWFk
eSBiZWVuIGV4cGFuZGVkIGJlZm9yZSBpbiBHUk9XIC0gMSwgc28gaXQgaGFzCistIyBiZWVuIEFD
X1BST1ZJREUnZCwgc28gaXQgaXMgbm90IGV4cGFuZGVkIGFnYWluKSBzbyB3aGVuIHlvdSB1bmRp
dmVydAorLSMgdGhlIHN0YWNrIG9mIGRpdmVyc2lvbnMsIHlvdSBnZXQ6CistIworLSMJICAgR1JP
VyAtIDI6CistIwkgICBHUk9XIC0gMToKKy0jCSAgIEdST1c6CistIwkgICBCT0RZOiAgICAgICAg
VEVTVDM7IFRFU1QyYTsgVEVTVDJiOyBURVNUMQorLSMKKy0jIGkuZS4sIFRFU1QyYSBpcyBleHBh
bmRlZCBhZnRlciBURVNUMyBhbHRob3VnaCB0aGUgbGF0dGVyIHJlcXVpcmVkIHRoZQorLSMgZm9y
bWVyLgorLSMKKy0jIFN0YXJ0aW5nIGZyb20gMi41MCwgd2UgdXNlIGFuIGltcGxlbWVudGF0aW9u
IHByb3ZpZGVkIGJ5IEF4ZWwgVGhpbW0uCistIyBUaGUgaWRlYSBpcyBzaW1wbGU6IHRoZSBvcmRl
ciBpbiB3aGljaCBtYWNyb3MgYXJlIGVtaXR0ZWQgbXVzdCBiZSB0aGUKKy0jIHNhbWUgYXMgdGhl
IG9uZSBpbiB3aGljaCBtYWNyb3MgYXJlIGV4cGFuZGVkLiAgKFRoZSBidWcgYWJvdmUgY2FuCist
IyBpbmRlZWQgYmUgZGVzY3JpYmVkIGFzOiBhIG1hY3JvIGhhcyBiZWVuIG00X3Byb3ZpZGUnZCBi
ZWZvcmUgaXRzCistIyBkZXBlbmRlbnQsIGJ1dCBpdCBpcyBlbWl0dGVkIGFmdGVyOiB0aGUgbGFj
ayBvZiBjb3JyZWxhdGlvbiBiZXR3ZWVuCistIyBlbWlzc2lvbiBhbmQgZXhwYW5zaW9uIG9yZGVy
IGlzIGd1aWx0eSkuCistIworLSMgSG93IHRvIGRvIHRoYXQ/ICBZb3Uga2VlcCB0aGUgc3RhY2sg
b2YgZGl2ZXJzaW9ucyB0byBlbGFib3JhdGUgdGhlCistIyBtYWNyb3MsIGJ1dCBlYWNoIHRpbWUg
YSBtYWNybyBpcyBmdWxseSBleHBhbmRlZCwgZW1pdCBpdCBpbW1lZGlhdGVseS4KKy0jCistIyBJ
biB0aGUgZXhhbXBsZSBhYm92ZSwgd2hlbiBURVNUMmEgaXMgZXhwYW5kZWQsIGJ1dCBpdCdzIGVw
aWxvZ3VlIGlzCistIyBub3QgcnVuIHlldCwgeW91IGhhdmU6CistIworLSMJICAgR1JPVyAtIDI6
CistIwkgICBHUk9XIC0gMTogVEVTVDJhCistIwkgICBHUk9XOiAgICAgRWxhYm9yYXRpb24gb2Yg
VEVTVDEKKy0jCSAgIEJPRFk6CistIworLSMgVGhlIGVwaWxvZ3VlIG9mIFRFU1QyYSBlbWl0cyBp
dCBpbW1lZGlhdGVseToKKy0jCistIwkgICBHUk9XIC0gMjoKKy0jCSAgIEdST1cgLSAxOgorLSMJ
ICAgR1JPVzogICAgIEVsYWJvcmF0aW9uIG9mIFRFU1QxCistIwkgICBCT0RZOiAgICAgVEVTVDJh
CistIworLSMgVEVTVDJiIHRoZW4gcmVxdWlyZXMgVEVTVDMsIHNvIHJpZ2h0IGJlZm9yZSB0aGUg
ZXBpbG9ndWUgb2YgVEVTVDMsIHlvdQorLSMgaGF2ZToKKy0jCistIwkgICBHUk9XIC0gMjogVEVT
VDMKKy0jCSAgIEdST1cgLSAxOiBFbGFib3JhdGlvbiBvZiBURVNUMmIKKy0jCSAgIEdST1c6ICAg
ICBFbGFib3JhdGlvbiBvZiBURVNUMQorLSMJICAgQk9EWTogICAgICBURVNUMmEKKy0jCistIyBU
aGUgZXBpbG9ndWUgb2YgVEVTVDMgZW1pdHMgaXQ6CistIworLSMJICAgR1JPVyAtIDI6CistIwkg
ICBHUk9XIC0gMTogRWxhYm9yYXRpb24gb2YgVEVTVDJiCistIwkgICBHUk9XOiAgICAgRWxhYm9y
YXRpb24gb2YgVEVTVDEKKy0jCSAgIEJPRFk6ICAgICBURVNUMmE7IFRFU1QzCistIworLSMgVEVT
VDJiIGlzIG5vdyBjb21wbGV0ZWx5IGV4cGFuZGVkLCBhbmQgZW1pdHRlZDoKKy0jCistIwkgICBH
Uk9XIC0gMjoKKy0jCSAgIEdST1cgLSAxOgorLSMJICAgR1JPVzogICAgIEVsYWJvcmF0aW9uIG9m
IFRFU1QxCistIwkgICBCT0RZOiAgICAgVEVTVDJhOyBURVNUMzsgVEVTVDJiCistIworLSMgYW5k
IGZpbmFsbHksIFRFU1QxIGlzIGZpbmlzaGVkIGFuZCBlbWl0dGVkOgorLSMKKy0jCSAgIEdST1cg
LSAyOgorLSMJICAgR1JPVyAtIDE6CistIwkgICBHUk9XOgorLSMJICAgQk9EWTogICAgIFRFU1Qy
YTsgVEVTVDM7IFRFU1QyYjogVEVTVDEKKy0jCistIyBUaGUgaWRlYSBpcyBzaW1wbGUsIGJ1dCB0
aGUgaW1wbGVtZW50YXRpb24gaXMgYSBiaXQgaW52b2x2ZWQuICBJZgorLSMgeW91IGFyZSBsaWtl
IG1lLCB5b3Ugd2lsbCB3YW50IHRvIHNlZSB0aGUgYWN0dWFsIGZ1bmN0aW9uaW5nIG9mIHRoaXMK
Ky0jIGltcGxlbWVudGF0aW9uIHRvIGJlIGNvbnZpbmNlZC4gIFRoZSBuZXh0IHNlY3Rpb24gZ2l2
ZXMgdGhlIGZ1bGwKKy0jIGRldGFpbHMuCistIworLSMKKy0jIFRoZSBBeGVsIFRoaW1tIGltcGxl
bWVudGF0aW9uIGF0IHdvcmsKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jCistIyBXZSBjb25zaWRlciB0aGUgbWFjcm9zIGFib3ZlLCBhbmQgdGhpcyBjb25maWd1
cmUuYWM6CistIworLSMJICAgIEFDX0lOSVQKKy0jCSAgICBURVNUMQorLSMKKy0jIFlvdSBzaG91
bGQga2VlcCB0aGUgZGVmaW5pdGlvbnMgb2YgX200X2RlZnVuX3BybywgX200X2RlZnVuX2VwaSwg
YW5kCistIyBtNF9yZXF1aXJlIGF0IGhhbmQgdG8gZm9sbG93IHRoZSBzdGVwcy4KKy0jCistIyBU
aGlzIGltcGxlbWVudGF0aW9uIHRyaWVzIG5vdCB0byBhc3N1bWUgdGhhdCB0aGUgY3VycmVudCBk
aXZlcnNpb24gaXMKKy0jIEJPRFksIHNvIGFzIHNvb24gYXMgYSBtYWNybyAobTRfZGVmdW4nZCkg
aXMgZXhwYW5kZWQsIHdlIGZpcnN0CistIyByZWNvcmQgdGhlIGN1cnJlbnQgZGl2ZXJzaW9uIHVu
ZGVyIHRoZSBuYW1lIF9tNF9kaXZlcnRfZHVtcCAoZGVub3RlZAorLSMgRFVNUCBiZWxvdyBmb3Ig
c2hvcnQpLiAgVGhpcyBpbnRyb2R1Y2VzIGFuIGltcG9ydGFudCBkaWZmZXJlbmNlIHdpdGgKKy0j
IHRoZSBwcmV2aW91cyB2ZXJzaW9ucyBvZiBBdXRvY29uZjogeW91IGNhbm5vdCB1c2UgbTRfcmVx
dWlyZSBpZiB5b3UKKy0jIGFyZSBub3QgaW5zaWRlIGFuIG00X2RlZnVuJ2QgbWFjcm8sIGFuZCBl
c3BlY2lhbGx5LCB5b3UgY2Fubm90CistIyBtNF9yZXF1aXJlIGRpcmVjdGx5IGZyb20gdGhlIHRv
cCBsZXZlbC4KKy0jCistIyBXZSBoYXZlIG5vdCB0cmllZCB0byBzaW11bGF0ZSB0aGUgb2xkIGJl
aGF2aW9yIChiZXR0ZXIgeWV0LCB3ZQorLSMgZGlhZ25vc2UgaXQpLCBiZWNhdXNlIGl0IGlzIHRv
byBkYW5nZXJvdXM6IGEgbWFjcm8gbTRfcmVxdWlyZSdkIGZyb20KKy0jIHRoZSB0b3AgbGV2ZWwg
aXMgZXhwYW5kZWQgYmVmb3JlIHRoZSBib2R5IG9mIGBjb25maWd1cmUnLCBpLmUuLCBiZWZvcmUK
Ky0jIGFueSBvdGhlciB0ZXN0IHdhcyBydW4uICBJIGxldCB5b3UgaW1hZ2luZSB0aGUgcmVzdWx0
IG9mIHJlcXVpcmluZworLSMgQUNfU1REQ19IRUFERVJTIGZvciBpbnN0YW5jZSwgYmVmb3JlIEFD
X1BST0dfQ0Mgd2FzIGFjdHVhbGx5IHJ1bi4uLi4KKy0jCistIyBBZnRlciBBQ19JTklUIHdhcyBy
dW4sIHRoZSBjdXJyZW50IGRpdmVyc2lvbiBpcyBCT0RZLgorLSMgKiBBQ19JTklUIHdhcyBydW4K
Ky0jICAgRFVNUDogICAgICAgICAgICAgICAgdW5kZWZpbmVkCistIyAgIGRpdmVyc2lvbiBzdGFj
azogICAgIEJPRFkgfC0KKy0jCistIyAqIFRFU1QxIGlzIGV4cGFuZGVkCistIyBUaGUgcHJvbG9n
dWUgb2YgVEVTVDEgc2V0cyBfbTRfZGl2ZXJ0X2R1bXAsIHdoaWNoIGlzIHRoZSBkaXZlcnNpb24K
Ky0jIHdoZXJlIHRoZSBjdXJyZW50IGVsYWJvcmF0aW9uIHdpbGwgYmUgZHVtcGVkLCB0byB0aGUg
Y3VycmVudAorLSMgZGl2ZXJzaW9uLiAgSXQgYWxzbyBtNF9kaXZlcnRfcHVzaCB0byBHUk9XLCB3
aGVyZSB0aGUgZnVsbAorLSMgZXhwYW5zaW9uIG9mIFRFU1QxIGFuZCBpdHMgZGVwZW5kZW5jaWVz
IHdpbGwgYmUgZWxhYm9yYXRlZC4KKy0jICAgRFVNUDogICAgICAgIEJPRFkKKy0jICAgQk9EWTog
ICAgICAgIGVtcHR5CistIyAgIGRpdmVyc2lvbnM6ICBHUk9XLCBCT0RZIHwtCistIworLSMgKiBU
RVNUMSByZXF1aXJlcyBURVNUMmEKKy0jIF9tNF9yZXF1aXJlX2NhbGwgbTRfZGl2ZXJ0X3B1c2hl
cyBhbm90aGVyIHRlbXBvcmFyeSBkaXZlcnNpb24sCistIyBHUk9XIC0gMSwgYW5kIGV4cGFuZHMg
VEVTVDJhIGluIHRoZXJlLgorLSMgICBEVU1QOiAgICAgICAgQk9EWQorLSMgICBCT0RZOiAgICAg
ICAgZW1wdHkKKy0jICAgR1JPVyAtIDE6ICAgIFRFU1QyYQorLSMgICBkaXZlcnNpb25zOiAgR1JP
VyAtIDEsIEdST1csIEJPRFkgfC0KKy0jIFRoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIHRlbXBvcmFy
eSBkaXZlcnNpb24gaXMgbW92ZWQgdG8gRFVNUCBhbmQgdGhlCistIyB0ZW1wb3JhcnkgZGl2ZXJz
aW9uIGlzIHBvcHBlZC4KKy0jICAgRFVNUDogICAgICAgIEJPRFkKKy0jICAgQk9EWTogICAgICAg
IFRFU1QyYQorLSMgICBkaXZlcnNpb25zOiAgR1JPVywgQk9EWSB8LQorLSMKKy0jICogVEVTVDEg
cmVxdWlyZXMgVEVTVDJiCistIyBBZ2FpbiwgX200X3JlcXVpcmVfY2FsbCBwdXNoZXMgR1JPVyAt
IDEgYW5kIGhlYWRzIHRvIGV4cGFuZCBURVNUMmIuCistIyAgIERVTVA6ICAgICAgICBCT0RZCist
IyAgIEJPRFk6ICAgICAgICBURVNUMmEKKy0jICAgZGl2ZXJzaW9uczogIEdST1cgLSAxLCBHUk9X
LCBCT0RZIHwtCistIworLSMgKiBURVNUMmIgcmVxdWlyZXMgVEVTVDMKKy0jIF9tNF9yZXF1aXJl
X2NhbGwgcHVzaGVzIEdST1cgLSAyIGFuZCBleHBhbmRzIFRFU1QzIGhlcmUuCistIyAoVEVTVDMg
cmVxdWlyZXMgVEVTVDJhLCBidXQgVEVTVDJhIGhhcyBhbHJlYWR5IGJlZW4gbTRfcHJvdmlkZSdk
LCBzbworLSMgbm90aGluZyBoYXBwZW5zLikKKy0jICAgRFVNUDogICAgICAgIEJPRFkKKy0jICAg
Qk9EWTogICAgICAgIFRFU1QyYQorLSMgICBHUk9XIC0gMjogICAgVEVTVDMKKy0jICAgZGl2ZXJz
aW9uczogIEdST1cgLSAyLCBHUk9XIC0gMSwgR1JPVywgQk9EWSB8LQorLSMgVGhlbiB0aGUgZGl2
ZXJzaW9uIGlzIGFwcGVuZGVkIHRvIERVTVAsIGFuZCBwb3BwZWQuCistIyAgIERVTVA6ICAgICAg
ICBCT0RZCistIyAgIEJPRFk6ICAgICAgICBURVNUMmE7IFRFU1QzCistIyAgIGRpdmVyc2lvbnM6
ICBHUk9XIC0gMSwgR1JPVywgQk9EWSB8LQorLSMKKy0jICogVEVTVDEgcmVxdWlyZXMgVEVTVDJi
IChjb250ZC4pCistIyBUaGUgY29udGVudCBvZiBURVNUMmIgaXMgZXhwYW5kZWQuLi4KKy0jICAg
RFVNUDogICAgICAgIEJPRFkKKy0jICAgQk9EWTogICAgICAgIFRFU1QyYTsgVEVTVDMKKy0jICAg
R1JPVyAtIDE6ICAgIFRFU1QyYiwKKy0jICAgZGl2ZXJzaW9uczogIEdST1cgLSAxLCBHUk9XLCBC
T0RZIHwtCistIyAuLi4gYW5kIG1vdmVkIHRvIERVTVAuCistIyAgIERVTVA6ICAgICAgICBCT0RZ
CistIyAgIEJPRFk6ICAgICAgICBURVNUMmE7IFRFU1QzOyBURVNUMmIKKy0jICAgZGl2ZXJzaW9u
czogIEdST1csIEJPRFkgfC0KKy0jCistIyAqIFRFU1QxIGlzIGV4cGFuZGVkOiBlcGlsb2d1ZQor
LSMgVEVTVDEncyBvd24gY29udGVudCBpcyBpbiBHUk9XLi4uCistIyAgIERVTVA6ICAgICAgICBC
T0RZCistIyAgIEJPRFk6ICAgICAgICBURVNUMmE7IFRFU1QzOyBURVNUMmIKKy0jICAgR1JPVzog
ICAgICAgIFRFU1QxCistIyAgIGRpdmVyc2lvbnM6ICBCT0RZIHwtCistIyAuLi4gYW5kIGl0J3Mg
ZXBpbG9ndWUgbW92ZXMgaXQgdG8gRFVNUCBhbmQgdGhlbiB1bmRlZmluZXMgRFVNUC4KKy0jICAg
RFVNUDogICAgICAgdW5kZWZpbmVkCistIyAgIEJPRFk6ICAgICAgIFRFU1QyYTsgVEVTVDM7IFRF
U1QyYjsgVEVTVDEKKy0jICAgZGl2ZXJzaW9uczogQk9EWSB8LQorLSMKKy0jCistIyBUaGUgdGhp
cmQgaWRlYTogdHJhY2sgbWFjcm9zIHByb3ZpZGVkIGJlZm9yZSB0aGV5IHdlcmUgcmVxdWlyZWQK
Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMKKy0jIFVzaW5nIGp1c3QgdGhlIGZpcnN0IHR3byBpZGVhcywgQXV0b2Nv
bmYgMi41MCB0aHJvdWdoIDIuNjMgc3RpbGwgaGFkCistIyBhIHN1YnRsZSBidWcgZm9yIG1vcmUg
dGhhbiBzZXZlbiB5ZWFycy4gIExldCdzIGNvbnNpZGVyIHRoZQorLSMgZm9sbG93aW5nIGV4YW1w
bGUgdG8gZXhwbGFpbiB0aGUgYnVnOgorLSMKKy0jIHwgbTRfZGVmdW4oW1RFU1QxXSwgWzFdKQor
LSMgfCBtNF9kZWZ1bihbVEVTVDJdLCBbMltdbTRfcmVxdWlyZShbVEVTVDFdKV0pCistIyB8IG00
X2RlZnVuKFtURVNUM10sIFszIFRFU1QxIG00X3JlcXVpcmUoW1RFU1QyXSldKQorLSMgfCBURVNU
MworLSMKKy0jIEFmdGVyIHRoZSBwcm9sb2d1ZSBvZiBURVNUMywgd2UgYXJlIGNvbGxlY3Rpbmcg
dGV4dCBpbiBHUk9XIHdpdGggdGhlCistIyBpbnRlbnQgb2YgZHVtcGluZyBpdCBpbiBCT0RZIGR1
cmluZyB0aGUgZXBpbG9ndWUuICBOZXh0LCB3ZQorLSMgZW5jb3VudGVyIHRoZSBkaXJlY3QgaW52
b2NhdGlvbiBvZiBURVNUMSwgd2hpY2ggcHJvdmlkZXMgdGhlIG1hY3JvCistIyBpbiBwbGFjZSBp
biBHUk9XLiAgRnJvbSB0aGVyZSwgd2UgZW5jb3VudGVyIGEgcmVxdWlyZW1lbnQgZm9yIFRFU1Qy
LAorLSMgd2hpY2ggbXVzdCBiZSBjb2xsZWN0ZWQgaW4gYSBuZXcgZGl2ZXJzaW9uLiAgV2hpbGUg
ZXhwYW5kaW5nIFRFU1QyLAorLSMgd2UgZW5jb3VudGVyIGEgcmVxdWlyZW1lbnQgZm9yIFRFU1Qx
LCBidXQgc2luY2UgaXQgaGFzIGFscmVhZHkgYmVlbgorLSMgZXhwYW5kZWQsIHRoZSBBeGVsIFRo
aW1tIGFsZ29yaXRobSBzdGF0ZXMgdGhhdCB3ZSBjYW4gdHJlYXQgaXQgYXMgYQorLSMgbm8tb3Au
ICBCdXQgdGhhdCB3b3VsZCBsZWFkIHRvIGFuIGVuZCByZXN1bHQgb2YgYDIgMyAxJywgbWVhbmlu
ZworLSMgdGhhdCB3ZSBoYXZlIG9uY2UgYWdhaW4gb3V0cHV0IGEgbWFjcm8gKFRFU1QyKSBwcmlv
ciB0byBpdHMKKy0jIHJlcXVpcmVtZW50cyAoVEVTVDEpLgorLSMKKy0jIFRoZSBwcm9ibGVtIGNh
biBvbmx5IG9jY3VyIGlmIGEgc2luZ2xlIGRlZnVuJ2QgbWFjcm8gZmlyc3QgcHJvdmlkZXMsCist
IyB0aGVuIGxhdGVyIGluZGlyZWN0bHkgcmVxdWlyZXMsIHRoZSBzYW1lIG1hY3JvLiAgTm90ZSB0
aGF0IGRpcmVjdGx5CistIyBleHBhbmRpbmcgdGhlbiByZXF1aXJpbmcgYSBtYWNybyBpcyBva2F5
OiBiZWNhdXNlIHRoZSBkZXBlbmRlbmN5IHdhcworLSMgbWV0LCB0aGUgcmVxdWlyZSBwaGFzZSBj
YW4gYmUgYSBuby1vcC4gIEZvciB0aGF0IG1hdHRlciwgdGhlIG91dGVyCistIyBtYWNybyBjYW4g
ZXZlbiByZXF1aXJlIHR3byBoZWxwZXJzLCB3aGVyZSB0aGUgZmlyc3QgaGVscGVyIGV4cGFuZHMK
Ky0jIHRoZSBtYWNybywgYW5kIHRoZSBzZWNvbmQgaGVscGVyIGluZGlyZWN0bHkgcmVxdWlyZXMg
dGhlIG1hY3JvLgorLSMgT3V0LW9mLW9yZGVyIGV4cGFuc2lvbiBpcyBvbmx5IHByZXNlbnQgaWYg
dGhlIGlubmVyIG1hY3JvIGlzCistIyByZXF1aXJlZCBieSBzb21ldGhpbmcgdGhhdCB3aWxsIGJl
IGhvaXN0ZWQgaW4gZnJvbnQgb2Ygd2hlcmUgdGhlCistIyBkaXJlY3QgZXhwYW5zaW9uIG9jY3Vy
cmVkLiAgSW4gb3RoZXIgd29yZHMsIHdlIG11c3QgYmUgY2FyZWZ1bCBub3QKKy0jIHRvIHdhcm4g
b246CistIworLSMgfCBtNF9kZWZ1bihbVEVTVDRdLCBbNF0pCistIyB8IG00X2RlZnVuKFtURVNU
NV0sIFs1IFRFU1Q0IG00X3JlcXVpcmUoW1RFU1Q0XSldKQorLSMgfCBURVNUNSA9PiA1IDQKKy0j
CistIyBvciBldmVuIHRoZSBtb3JlIGNvbXBsZXg6CistIworLSMgfCBtNF9kZWZ1bihbVEVTVDZd
LCBbNl0pCistIyB8IG00X2RlZnVuKFtURVNUN10sIFs3IFRFU1Q2XSkKKy0jIHwgbTRfZGVmdW4o
W1RFU1Q4XSwgWzggbTRfcmVxdWlyZShbVEVTVDZdKV0pCistIyB8IG00X2RlZnVuKFtURVNUOV0s
IFs5IG00X3JlcXVpcmUoW1RFU1Q4XSldKQorLSMgfCBtNF9kZWZ1bihbVEVTVDEwXSwgWzEwIG00
X3JlcXVpcmUoW1RFU1Q3XSkgbTRfcmVxdWlyZShbVEVTVDldKV0pCistIyB8IFRFU1QxMCA9PiA3
IDYgOCA5IDEwCistIworLSMgU28sIHRvIGRldGVjdCB3aGV0aGVyIGEgcmVxdWlyZSB3YXMgZGly
ZWN0IG9yIGluZGlyZWN0LCBtNF9kZWZ1biBhbmQKKy0jIG00X3JlcXVpcmUgdHJhY2sgdGhlIG5h
bWUgb2YgdGhlIG1hY3JvIHRoYXQgY2F1c2VkIGEgZGl2ZXJzaW9uIHRvIGJlCistIyBjcmVhdGVk
ICh1c2luZyB0aGUgc3RhY2sgX200X2RpdmVydGluZywgY291cGxlZCB3aXRoIGFuIE8oMSkgbG9v
a3VwCistIyBfbTRfZGl2ZXJ0aW5nKFtOQU1FXSkpLCBhbmQgbTRfcHJvdmlkZSBzdG9yZXMgdGhl
IG5hbWUgYXNzb2NpYXRlZAorLSMgd2l0aCB0aGUgZGl2ZXJzaW9uIGF0IHdoaWNoIGEgbWFjcm8g
d2FzIHByb3ZpZGVkLiAgQSByZXF1aXJlIGNhbGwgaXMKKy0jIGRpcmVjdCBpZiBpdCBvY2N1cnMg
d2l0aGluIHRoZSBzYW1lIGRpdmVyc2lvbiB3aGVyZSB0aGUgbWFjcm8gd2FzCistIyBwcm92aWRl
ZCwgb3IgaWYgdGhlIGRpdmVyc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHByb3ZpZGluZyBjb250
ZXh0CistIyBoYXMgYmVlbiBjb2xsZWN0ZWQuCistIworLSMgVGhlIGltcGxlbWVudGF0aW9uIG9m
IHRoZSB3YXJuaW5nIGludm9sdmVzIHRyYWNraW5nIHRoZSBzZXQgb2YKKy0jIG1hY3JvcyB3aGlj
aCBoYXZlIGJlZW4gcHJvdmlkZWQgc2luY2UgdGhlIHN0YXJ0IG9mIHRoZSBvdXRlcm1vc3QKKy0j
IGRlZnVuJ2QgbWFjcm8gKHRoZSBzZXQgaXMgbmFtZWQgX200X3Byb3ZpZGUpLiAgV2hlbiBzdGFy
dGluZyBhbgorLSMgb3V0ZXJtb3N0IG1hY3JvLCB0aGUgc2V0IGlzIGVtcHRpZWQ7IHdoZW4gYSBt
YWNybyBpcyBwcm92aWRlZCwgaXQgaXMKKy0jIGFkZGVkIHRvIHRoZSBzZXQ7IHdoZW4gcmVxdWly
ZSBleHBhbmRzIHRoZSBib2R5IG9mIGEgbWFjcm8sIGl0IGlzCistIyByZW1vdmVkIGZyb20gdGhl
IHNldDsgYW5kIHdoZW4gYSBtYWNybyBpcyBpbmRpcmVjdGx5IHJlcXVpcmVkLCB0aGUKKy0jIHNl
dCBpcyBjaGVja2VkLiAgSWYgYSBtYWNybyBpcyBpbiB0aGUgc2V0LCB0aGVuIGl0IGhhcyBiZWVu
IHByb3ZpZGVkCistIyBiZWZvcmUgaXQgd2FzIHJlcXVpcmVkLCBhbmQgd2Ugc2F0aXNmeSBkZXBl
bmRlbmNpZXMgYnkgZXhwYW5kaW5nIHRoZQorLSMgbWFjcm8gYXMgaWYgaXQgaGFkIG5ldmVyIGJl
ZW4gcHJvdmlkZWQ7IGluIHRoZSBleGFtcGxlIGdpdmVuIGFib3ZlLAorLSMgdGhpcyBtZWFucyB3
ZSBub3cgb3V0cHV0IGAxIDIgMyAxJy4gIE1lYW53aGlsZSwgYSB3YXJuaW5nIGlzIGlzc3VlZAor
LSMgdG8gaW5mb3JtIHRoZSB1c2VyIHRoYXQgaGVyIG1hY3JvcyB0cmlnZ2VyIHRoZSBidWcgaW4g
b2xkZXIgYXV0b2NvbmYKKy0jIHZlcnNpb25zLCBhbmQgdGhhdCBoZXIgb3V0cHV0IGZpbGUgbm93
IGNvbnRhaW5zIHJlZHVuZGFudCBjb250ZW50cworLSMgKGFuZCBwb3NzaWJseSBuZXcgcHJvYmxl
bXMsIGlmIHRoZSByZXBlYXRlZCBtYWNybyB3YXMgbm90CistIyBpZGVtcG90ZW50KS4gIE1lYW53
aGlsZSwgbWFjcm9zIGRlZmluZWQgYnkgbTRfZGVmdW5fb25jZSBpbnN0ZWFkIG9mCistIyBtNF9k
ZWZ1biBhcmUgaWRlbXBvdGVudCwgYXZvaWRpbmcgYW55IHdhcm5pbmcgb3IgZHVwbGljYXRlIG91
dHB1dC4KKy0jCistIworLSMgMi4gS2VlcGluZyB0cmFjayBvZiB0aGUgZXhwYW5zaW9uIHN0YWNr
CistIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0jCistIyBXaGVu
IE00IGV4cGFuc2lvbiBnb2VzIHdyb25nIGl0IGlzIG9mdGVuIGV4dHJlbWVseSBoYXJkIHRvIGZp
bmQgdGhlCistIyBwYXRoIGFtb25nc3QgbWFjcm9zIHRoYXQgZHJvdmUgdG8gdGhlIGZhaWx1cmUu
ICBXaGF0IGlzIG5lZWRlZCBpcworLSMgdGhlIHN0YWNrIG9mIG1hY3JvIGBjYWxscycuIE9uZSBj
b3VsZCBpbWFnaW5lIHRoYXQgR05VIE00IHdvdWxkCistIyBtYWludGFpbiBhIHN0YWNrIG9mIG1h
Y3JvIGV4cGFuc2lvbnMsIHVuZm9ydHVuYXRlbHkgaXQgZG9lc24ndCwgc28KKy0jIHdlIGRvIGl0
IGJ5IGhhbmQuICBUaGlzIGlzIG9mIGNvdXJzZSBleHRyZW1lbHkgY29zdGx5LCBidXQgdGhlIGhl
bHAKKy0jIHRoaXMgc3RhY2sgcHJvdmlkZXMgaXMgd29ydGggaXQuICBOZXZlcnRoZWxlc3MgdG8g
bGltaXQgdGhlCistIyBwZXJmb3JtYW5jZSBwZW5hbHR5IHRoaXMgaXMgaW1wbGVtZW50ZWQgb25s
eSBmb3IgbTRfZGVmdW4nZCBtYWNyb3MsCistIyBub3QgZm9yIGRlZmluZSdkIG1hY3Jvcy4KKy0j
CistIyBFYWNoIHRpbWUgd2UgZW50ZXIgYW4gbTRfZGVmdW4nZCBtYWNyb3MsIHdlIGFkZCBhIGRl
ZmluaXRpb24gaW4KKy0jIF9tNF9leHBhbnNpb25fc3RhY2ssIGFuZCB3aGVuIHdlIGV4aXQgdGhl
IG1hY3JvLCB3ZSByZW1vdmUgaXQgKHRoYW5rcworLSMgdG8gcHVzaGRlZi9wb3BkZWYpLiAgbTRf
c3RhY2tfZm9yZWFjaCBpcyB1c2VkIHRvIHByaW50IHRoZSBleHBhbnNpb24KKy0jIHN0YWNrIGlu
IHRoZSByYXJlIGNhc2VzIHdoZW4gaXQncyBuZWVkZWQuCistIworLSMgSW4gYWRkaXRpb24sIHdl
IHdhbnQgdG8gZGV0ZWN0IGNpcmN1bGFyIG00X3JlcXVpcmUgZGVwZW5kZW5jaWVzLgorLSMgRWFj
aCB0aW1lIHdlIGV4cGFuZCBhIG1hY3JvIEZPTyB3ZSBkZWZpbmUgX200X2V4cGFuZGluZyhGT08p
OyBhbmQKKy0jIG00X3JlcXVpcmUoQkFSKSBzaW1wbHkgY2hlY2tzIHdoZXRoZXIgX200X2V4cGFu
ZGluZyhCQVIpIGlzIGRlZmluZWQuCistCistCistIyBtNF9leHBhbnNpb25fc3RhY2sKKy0jIC0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5kcyB0byB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHRo
ZSBleHBhbnNpb24gc3RhY2suICBUaGUgY2FsbGVyCistIyBtdXN0IHN1cHBseSBhIHRyYWlsaW5n
IG5ld2xpbmUuICBUaGlzIG1hY3JvIGFsd2F5cyBwcmludHMgYQorLSMgbG9jYXRpb247IGNoZWNr
IHdoZXRoZXIgX200X2V4cGFuc2lvbl9zdGFjayBpcyBkZWZpbmVkIHRvIGZpbHRlciBvdXQKKy0j
IHRoZSBjYXNlIHdoZW4gbm8gZGVmdW4nZCBtYWNybyBpcyBpbiBmb3JjZS4KKy1tNF9kZWZpbmUo
W200X2V4cGFuc2lvbl9zdGFja10sCistW200X3N0YWNrX2ZvcmVhY2hfc2VwX2xpZm8oW18kMF0s
IFtfJDBfZW50cnkoXSwgWykKKy1dKW00X2xvY2F0aW9uWzogdGhlIHRvcCBsZXZlbF1dKQorLQor
LSMgX200X2V4cGFuc2lvbl9zdGFja19lbnRyeShNQUNSTykKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBGb3JtYXQgYW4gZW50cnkgZm9yIE1BQ1JPIGZvdW5kIG9uIHRo
ZSBleHBhbnNpb24gc3RhY2suCistbTRfZGVmaW5lKFtfbTRfZXhwYW5zaW9uX3N0YWNrX2VudHJ5
XSwKKy1bX200X2RlZm4oW200X2xvY2F0aW9uKCQxKV0pWzogJDEgaXMgZXhwYW5kZWQgZnJvbS4u
Ll1dKQorLQorLSMgbTRfZXhwYW5zaW9uX3N0YWNrX3B1c2goTUFDUk8pCistIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEZvcm0gYW4gZW50cnkgb2YgdGhlIGV4cGFuc2lvbiBz
dGFjayBvbiBlbnRyeSB0byBNQUNSTyBhbmQgcHVzaCBpdC4KKy1tNF9kZWZpbmUoW200X2V4cGFu
c2lvbl9zdGFja19wdXNoXSwKKy1bbTRfcHVzaGRlZihbX200X2V4cGFuc2lvbl9zdGFja10sIFsk
MV0pXSkKKy0KKy0KKy0jIF9tNF9kaXZlcnQoR1JPVykKKy0jIC0tLS0tLS0tLS0tLS0tLS0KKy0j
IFRoaXMgZGl2ZXJzaW9uIGlzIHVzZWQgYnkgdGhlIG00X2RlZnVuL200X3JlcXVpcmUgbWFjaGlu
ZXJ5LiAgSXQgaXMKKy0jIGltcG9ydGFudCB0byBrZWVwIHJvb20gYmVmb3JlIEdST1cgYmVjYXVz
ZSBmb3IgZWFjaCBuZXN0ZWQKKy0jIEFDX1JFUVVJUkUgd2UgdXNlIGFuIGFkZGl0aW9uYWwgZGl2
ZXJzaW9uIChpLmUuLCB0d28gbTRfcmVxdWlyZSdzCistIyB3aWxsIHVzZSBHUk9XIC0gMi4gIE1v
cmUgdGhhbiAzIGxldmVscyBoYXMgbmV2ZXIgc2VlbWVkIHRvIGJlCistIyBuZWVkZWQuKQorLSMK
Ky0jIC4uLgorLSMgLSBHUk9XIC0gMgorLSMgICBtNF9yZXF1aXJlJ2QgY29kZSwgMiBsZXZlbCBk
ZWVwCistIyAtIEdST1cgLSAxCistIyAgIG00X3JlcXVpcmUnZCBjb2RlLCAxIGxldmVsIGRlZXAK
Ky0jIC0gR1JPVworLSMgICBtNF9kZWZ1bidkIG1hY3JvcyBhcmUgZWxhYm9yYXRlZCBoZXJlLgor
LQorLW00X2RlZmluZShbX200X2RpdmVydChHUk9XKV0sICAgICAgIDEwMDAwKQorLQorLQorLSMg
X200X2RlZnVuX3BybyhNQUNSTy1OQU1FKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgVGhlIHByb2xvZ3VlIGZvciBBdXRvY29uZiBtYWNyb3MuCistIworLSMgVGhpcyBpcyBjYWxs
ZWQgZnJlcXVlbnRseSwgc28gbWluaW1pemUgdGhlIG51bWJlciBvZiBtYWNybyBpbnZvY2F0aW9u
cworLSMgYnkgYXZvaWRpbmcgZG5sIGFuZCBtNF9kZWZuIG92ZXJoZWFkLgorLW00X2RlZmluZShb
X200X2RlZnVuX3Byb10sCistW200X2lmZGVmKFtfbTRfZXhwYW5zaW9uX3N0YWNrXSwgW10sIFtf
bTRfZGVmdW5fcHJvX291dGVyKFskMV0pXSldZG5sCistW200X2V4cGFuc2lvbl9zdGFja19wdXNo
KFskMV0pbTRfcHVzaGRlZihbX200X2V4cGFuZGluZygkMSldKV0pCistCistbTRfZGVmaW5lKFtf
bTRfZGVmdW5fcHJvX291dGVyXSwKKy1bbTRfc2V0X2RlbGV0ZShbX200X3Byb3ZpZGVdKV1kbmwK
Ky1bbTRfcHVzaGRlZihbX200X2RpdmVydGluZyhbJDFdKV0pbTRfcHVzaGRlZihbX200X2RpdmVy
dGluZ10sIFskMV0pXWRubAorLVttNF9wdXNoZGVmKFtfbTRfZGl2ZXJ0X2R1bXBdLCBtNF9kaXZu
dW0pbTRfZGl2ZXJ0X3B1c2goW0dST1ddKV0pCistCistIyBfbTRfZGVmdW5fZXBpKE1BQ1JPLU5B
TUUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBUaGUgRXBpbG9ndWUgZm9yIEF1
dG9jb25mIG1hY3Jvcy4gIE1BQ1JPLU5BTUUgb25seSBoZWxwcyB0cmFjaW5nCistIyB0aGUgUFJP
L0VQSSBwYWlycy4KKy0jCistIyBUaGlzIGlzIGNhbGxlZCBmcmVxdWVudGx5LCBzbyBtaW5pbWl6
ZSB0aGUgbnVtYmVyIG9mIG1hY3JvIGludm9jYXRpb25zCistIyBieSBhdm9pZGluZyBkbmwgYW5k
IG00X3BvcGRlZiBvdmVyaGVhZC4KKy1tNF9kZWZpbmUoW19tNF9kZWZ1bl9lcGldLAorLVtfbTRf
cG9wZGVmKFtfbTRfZXhwYW5kaW5nKCQxKV0sIFtfbTRfZXhwYW5zaW9uX3N0YWNrXSldZG5sCist
W200X2lmZGVmKFtfbTRfZXhwYW5zaW9uX3N0YWNrXSwgW10sIFtfbTRfZGVmdW5fZXBpX291dGVy
KFskMV0pXSldZG5sCistW200X3Byb3ZpZGUoWyQxXSldKQorLQorLW00X2RlZmluZShbX200X2Rl
ZnVuX2VwaV9vdXRlcl0sCistW19tNF9wb3BkZWYoW19tNF9kaXZlcnRfZHVtcF0sIFtfbTRfZGl2
ZXJ0aW5nKFskMV0pXSwgW19tNF9kaXZlcnRpbmddKV1kbmwKKy1bbTRfZGl2ZXJ0X3BvcChbR1JP
V10pbTRfdW5kaXZlcnQoW0dST1ddKV0pCistCistCistIyBfbTRfZGl2ZXJ0X2R1bXAKKy0jIC0t
LS0tLS0tLS0tLS0tLQorLSMgSWYgYmxhbmssIHdlIGFyZSBvdXRzaWRlIG9mIGFueSBkZWZ1bidk
IG1hY3JvLiAgT3RoZXJ3aXNlLCBleHBhbmRzCistIyB0byB0aGUgZGl2ZXJzaW9uIG51bWJlciAo
bm90IG5hbWUpIHdoZXJlIHJlcXVpcmUnZCBtYWNyb3Mgc2hvdWxkIGJlCistIyBtb3ZlZCBvbmNl
IGNvbXBsZXRlZC4KKy1tNF9kZWZpbmUoW19tNF9kaXZlcnRfZHVtcF0pCistCistCistIyBtNF9k
aXZlcnRfcmVxdWlyZShESVZFUlNJT04sIE5BTUUtVE8tQ0hFQ0ssIFtCT0RZLVRPLUVYUEFORF0p
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBTYW1lIGFzIG00X3JlcXVpcmUsIGJ1dCBCT0RZLVRPLUVYUEFORCBnb2Vz
IGludG8gdGhlIG5hbWVkIERJVkVSU0lPTjsKKy0jIHJlcXVpcmVtZW50cyBzdGlsbCBnbyBpbiB0
aGUgY3VycmVudCBkaXZlcnNpb24gdGhvdWdoLgorLSMKKy1tNF9kZWZpbmUoW200X2RpdmVydF9y
ZXF1aXJlXSwKKy1bbTRfaWZkZWYoW19tNF9leHBhbmRpbmcoJDIpXSwKKy0gIFttNF9mYXRhbChb
JDA6IGNpcmN1bGFyIGRlcGVuZGVuY3kgb2YgJDJdKV0pXWRubAorLVttNF9pZihfbTRfZGl2ZXJ0
X2R1bXAsIFtdLAorLSAgW200X2ZhdGFsKFskMCgkMik6IGNhbm5vdCBiZSB1c2VkIG91dHNpZGUg
b2YgYW4gbTRfZGVmdW4nZCBtYWNyb10pXSldZG5sCistW200X3Byb3ZpZGVfaWYoWyQyXSwgW10s
CistICBbX200X3JlcXVpcmVfY2FsbChbJDJdLCBbJDNdLCBfbTRfZGl2ZXJ0KFskMV0sIFstXSkp
XSldKQorLQorLQorLSMgbTRfZGVmdW4oTkFNRSwgRVhQQU5TSU9OLCBbTUFDUk8gPSBtNF9kZWZp
bmVdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgRGVmaW5lIGEgbWFjcm8gTkFNRSB3aGljaCBhdXRvbWF0aWNhbGx5IHByb3ZpZGVzIGl0c2Vs
Zi4gIEFkZAorLSMgbWFjaGluZXJ5IHNvIHRoZSBtYWNybyBhdXRvbWF0aWNhbGx5IHN3aXRjaGVz
IGV4cGFuc2lvbiB0byB0aGUKKy0jIGRpdmVyc2lvbiBzdGFjayBpZiBpdCBpcyBub3QgYWxyZWFk
eSB1c2luZyBpdCwgcHJpb3IgdG8gRVhQQU5TSU9OLgorLSMgSW4gdGhpcyBjYXNlLCBvbmNlIGZp
bmlzaGVkLCBpdCB3aWxsIGJyaW5nIGJhY2sgYWxsIHRoZSBjb2RlCistIyBhY2N1bXVsYXRlZCBp
biB0aGUgZGl2ZXJzaW9uIHN0YWNrLiAgVGhpcywgY29tYmluZWQgd2l0aCBtNF9yZXF1aXJlLAor
LSMgYWNoaWV2ZXMgdGhlIHRvcG9sb2dpY2FsIG9yZGVyaW5nIG9mIG1hY3Jvcy4gIFdlIGRvbid0
IHVzZSB0aGlzCistIyBtYWNybyB0byBkZWZpbmUgc29tZSBmcmVxdWVudGx5IGNhbGxlZCBtYWNy
b3MgdGhhdCBhcmUgbm90IGludm9sdmVkCistIyBpbiBvcmRlcmluZyBjb25zdHJhaW50cywgdG8g
c2F2ZSBtNCBwcm9jZXNzaW5nLgorLSMKKy0jIE1BQ1JPIGlzIGFuIHVuZG9jdW1lbnRlZCBhcmd1
bWVudDsgd2hlbiBzZXQgdG8gbTRfcHVzaGRlZiwgYW5kIE5BTUUKKy0jIGlzIGFscmVhZHkgZGVm
aW5lZCwgdGhlIG5ldyBkZWZpbml0aW9uIGlzIGFkZGVkIHRvIHRoZSBwdXNoZGVmCistIyBzdGFj
aywgcmF0aGVyIHRoYW4gb3ZlcndyaXRpbmcgdGhlIGN1cnJlbnQgZGVmaW5pdGlvbi4gIEl0IGNh
biB0aHVzCistIyBiZSB1c2VkIHRvIHdyaXRlIHNlbGYtbW9kaWZ5aW5nIG1hY3Jvcywgd2hpY2gg
cG9wIHRoZW1zZWx2ZXMgdG8gYQorLSMgcHJldmlvdXNseSBtNF9kZWZpbmUnZCBkZWZpbml0aW9u
IHNvIHRoYXQgc3Vic2VxdWVudCB1c2Ugb2YgdGhlCistIyBtYWNybyBpcyBmYXN0ZXIuCistbTRf
ZGVmaW5lKFttNF9kZWZ1bl0sCistW200X2RlZmluZShbbTRfbG9jYXRpb24oJDEpXSwgbTRfbG9j
YXRpb24pXWRubAorLVttNF9kZWZhdWx0KFskM10sIFttNF9kZWZpbmVdKShbJDFdLAorLSAgW19t
NF9kZWZ1bl9wcm8oXW00X2RxdW90ZSgkWzBdKVspJDJbXV9tNF9kZWZ1bl9lcGkoXW00X2RxdW90
ZSgkWzBdKVspXSldKQorLQorLQorLSMgbTRfZGVmdW5faW5pdChOQU1FLCBJTklULCBDT01NT04p
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIExpa2UgbTRfZGVmdW4s
IGJ1dCBzcGxpdCBFWFBBTlNJT04gaW50byB0d28gcG9ydGlvbnM6IElOSVQgd2hpY2ggaXMKKy0j
IGRvbmUgb25seSB0aGUgZmlyc3QgdGltZSBOQU1FIGlzIGludm9rZWQsIGFuZCBDT01NT04gd2hp
Y2ggaXMKKy0jIGV4cGFuZGVkIGV2ZXJ5IHRpbWUuCistIworLSMgRm9yIG5vdywgdGhlIENPTU1P
TiBkZWZpbml0aW9uIGlzIGFsd2F5cyBtNF9kZWZpbmUnZCwgZ2l2aW5nIGFuIGV2ZW4KKy0jIGxp
Z2h0ZXItd2VpZ2h0IGRlZmluaXRpb24uICBtNF9kZWZ1biBhbGxvd3Mgc2VsZi1wcm92aWRpbmcs
IGJ1dCBvbmNlCistIyBhIG1hY3JvIGlzIHByb3ZpZGVkLCBtNF9yZXF1aXJlIG5vIGxvbmdlciBj
YXJlcyBpZiBpdCBpcyBtNF9kZWZpbmUnZAorLSMgb3IgbTRfZGVmdW4nZC4gIG00X2RlZnVuIGFs
c28gcHJvdmlkZXMgbG9jYXRpb24gdHJhY2tpbmcgdG8gaWRlbnRpZnkKKy0jIGRlcGVuZGVuY3kg
YnVncywgYnV0IG9uY2UgdGhlIElOSVQgaGFzIGJlZW4gZXhwYW5kZWQsIHdlIGtub3cgdGhlcmUK
Ky0jIGFyZSBubyBkZXBlbmRlbmN5IGJ1Z3MuICBIb3dldmVyLCBpZiBhIGZ1dHVyZSB1c2UgbmVl
ZHMgQ09NTU9OIHRvIGJlCistIyBtNF9kZWZ1bidkLCB3ZSBjYW4gYWRkIGEgcGFyYW1ldGVyLCBz
aW1pbGFyIHRvIHRoZSB0aGlyZCBwYXJhbWV0ZXIKKy0jIHRvIG00X2RlZnVuLgorLW00X2RlZmlu
ZShbbTRfZGVmdW5faW5pdF0sCistW200X2RlZmluZShbJDFdLCBbJDNbXV0pbTRfZGVmdW4oWyQx
XSwKKy0gICBbJDJbXV9tNF9wb3BkZWYoXW00X2RxdW90ZSgkWzBdKVspbTRfaW5kaXIoXW00X2Rx
dW90ZSgkWzBdKWRubAorLVttNF9pZihdbTRfZHF1b3RlKCRbI10pWywgWzBdLCBbXSwgXW00X2Rx
dW90ZShbLCRdQClbKSldLCBbbTRfcHVzaGRlZl0pXSkKKy0KKy0KKy0jIG00X2RlZnVuX29uY2Uo
TkFNRSwgRVhQQU5TSU9OKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBM
aWtlIG00X2RlZnVuLCBidXQgZ3VhcmFudGVlIHRoYXQgRVhQQU5TSU9OIG9ubHkgaGFwcGVucyBv
bmNlCistIyAodGhlcmVhZnRlciwgdXNpbmcgTkFNRSBpcyBhIG5vLW9wKS4KKy0jCistIyBJZiBf
bTRfZGl2ZXJ0X2R1bXAgaXMgZW1wdHksIHdlIGFyZSBjYWxsZWQgYXQgdGhlIHRvcCBsZXZlbDsK
Ky0jIG90aGVyd2lzZSwgd2UgbXVzdCBlbnN1cmUgdGhhdCB3ZSBhcmUgcmVxdWlyZWQgaW4gZnJv
bnQgb2YgdGhlCistIyBjdXJyZW50IGRlZnVuJ2QgbWFjcm8uICBVc2UgYSBoZWxwZXIgbWFjcm8g
c28gdGhhdCBFWFBBTlNJT04gbmVlZAorLSMgb25seSBvY2N1ciBvbmNlIGluIHRoZSBkZWZpbml0
aW9uIG9mIE5BTUUsIHNpbmNlIGl0IG1pZ2h0IGJlIGxhcmdlLgorLW00X2RlZmluZShbbTRfZGVm
dW5fb25jZV0sCistW200X2RlZmluZShbbTRfbG9jYXRpb24oJDEpXSwgbTRfbG9jYXRpb24pXWRu
bAorLVttNF9kZWZpbmUoWyQxXSwgW19tNF9kZWZ1bl9vbmNlKFskMV0sIFskMl0sIG00X2lmKF9t
NF9kaXZlcnRfZHVtcCwgW10sCistICBbW19tNF9kZWZ1bl9wcm8oWyQxXSltNF91bnF1b3RlKF0s
IFspX200X2RlZnVuX2VwaShbJDFdKV1dLAorLW00X2lmZGVmKFtfbTRfZGl2ZXJ0aW5nKFskMV0p
XSwgWy1dKSwgWy1dLCBbW200X3VucXVvdGUoXSwgWyldXSwKKy0gIFtbX200X3JlcXVpcmVfY2Fs
bChbJDFdLF0sIFssIF9tNF9kaXZlcnRfZHVtcCldXSkpXSldKQorLQorLW00X2RlZmluZShbX200
X2RlZnVuX29uY2VdLAorLVttNF9wdXNoZGVmKFskMV0pJDNbJDJbXW00X3Byb3ZpZGUoWyQxXSld
JDRdKQorLQorLQorLSMgbTRfcGF0dGVybl9mb3JiaWQoRVJFLCBbV0hZXSkKKy0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWNsYXJlIHRoYXQgbm8gdG9rZW4gbWF0Y2hpbmcg
dGhlIGZvcmJpZGRlbiBwZXJsIGV4dGVuZGVkIHJlZ3VsYXIKKy0jIGV4cHJlc3Npb24gRVJFIHNo
b3VsZCBiZSBzZWVuIGluIHRoZSBvdXRwdXQgdW5sZXNzLi4uCistbTRfZGVmaW5lKFttNF9wYXR0
ZXJuX2ZvcmJpZF0sIFtdKQorLQorLQorLSMgbTRfcGF0dGVybl9hbGxvdyhFUkUpCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKy0jIC4uLiB0aGF0IHRva2VuIGFsc28gbWF0Y2hlcyB0aGUgYWxs
b3dlZCBleHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb24gRVJFLgorLSMgQm90aCB1c2VkIHZpYSB0
cmFjZXMsIGJ5IGF1dG9tNHRlIHBvc3QtcHJvY2Vzc2luZy4KKy1tNF9kZWZpbmUoW200X3BhdHRl
cm5fYWxsb3ddLCBbXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gIyMKKy0jIyAxMS4gRGVwZW5kZW5jaWVzIGJldHdlZW4gbWFjcm9zLiAgIyMKKy0jIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIG00X2JlZm9yZShUSElT
LU1BQ1JPLU5BTUUsIENBTExFRC1NQUNSTy1OQU1FKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJc3N1ZSBhIHdhcm5pbmcgaWYgQ0FMTEVELU1B
Q1JPLU5BTUUgd2FzIGNhbGxlZCBiZWZvcmUgVEhJUy1NQUNSTy1OQU1FLgorLW00X2RlZmluZShb
bTRfYmVmb3JlXSwKKy1bbTRfcHJvdmlkZV9pZihbJDJdLAorLQkgICAgICAgW200X3dhcm4oW3N5
bnRheF0sIFskMiB3YXMgY2FsbGVkIGJlZm9yZSAkMV0pXSldKQorLQorLQorLSMgbTRfcmVxdWly
ZShOQU1FLVRPLUNIRUNLLCBbQk9EWS1UTy1FWFBBTkQgPSBOQU1FLVRPLUNIRUNLXSkKKy0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CistIyBJZiBOQU1FLVRPLUNIRUNLIGhhcyBuZXZlciBiZWVuIGV4cGFuZGVkIChhY3R1YWxseSwg
aWYgaXQgaXMgbm90CistIyBtNF9wcm92aWRlJ2QpLCBleHBhbmQgQk9EWS1UTy1FWFBBTkQgKmJl
Zm9yZSogdGhlIGN1cnJlbnQgbWFjcm8KKy0jIGV4cGFuc2lvbjsgZm9sbG93IHRoZSBleHBhbnNp
b24gd2l0aCBhIG5ld2xpbmUuICBPbmNlIGV4cGFuZGVkLCBlbWl0CistIyBpdCBpbiBfbTRfZGl2
ZXJ0X2R1bXAuICBLZWVwIHRyYWNrIG9mIHRoZSBtNF9yZXF1aXJlIGNoYWluIGluCistIyBfbTRf
ZXhwYW5zaW9uX3N0YWNrLgorLSMKKy0jIFRoZSBub3JtYWwgY2FzZXMgYXJlOgorLSMKKy0jIC0g
TkFNRS1UTy1DSEVDSyA9PSBCT0RZLVRPLUVYUEFORAorLSMgICBXaGljaCB5b3UgY2FuIHVzZSBm
b3IgcmVndWxhciBtYWNyb3Mgd2l0aCBvciB3aXRob3V0IGFyZ3VtZW50cywgZS5nLiwKKy0jICAg
ICBtNF9yZXF1aXJlKFtBQ19QUk9HX0NDXSwgW0FDX1BST0dfQ0NdKQorLSMgICAgIG00X3JlcXVp
cmUoW0FDX0NIRUNLX0hFQURFUlModGhyZWFkcy5oKV0sIFtBQ19DSEVDS19IRUFERVJTKHRocmVh
ZHMuaCldKQorLSMgICB3aGljaCBpcyBqdXN0IHRoZSBzYW1lIGFzCistIyAgICAgbTRfcmVxdWly
ZShbQUNfUFJPR19DQ10pCistIyAgICAgbTRfcmVxdWlyZShbQUNfQ0hFQ0tfSEVBREVSUyh0aHJl
YWRzLmgpXSkKKy0jCistIyAtIEJPRFktVE8tRVhQQU5EID09IG00X2luZGlyKFtOQU1FLVRPLUNI
RUNLXSkKKy0jICAgSW4gdGhlIGNhc2Ugb2YgbWFjcm9zIHdpdGggaXJyZWd1bGFyIG5hbWVzLiAg
Rm9yIGluc3RhbmNlOgorLSMgICAgIG00X3JlcXVpcmUoW0FDX0xBTkdfQ09NUElMRVIoQyldLCBb
aW5kaXIoW0FDX0xBTkdfQ09NUElMRVIoQyldKV0pCistIyAgIHdoaWNoIG1lYW5zIGBpZiB0aGUg
bWFjcm8gbmFtZWQgYEFDX0xBTkdfQ09NUElMRVIoQyknICh0aGUgcGFyZW5zIGFyZQorLSMgICBw
YXJ0IG9mIHRoZSBuYW1lLCBpdCBpcyBub3QgYW4gYXJndW1lbnQpIGhhcyBub3QgYmVlbiBydW4s
IHRoZW4KKy0jICAgY2FsbCBpdC4nCistIyAgIEhhZCB5b3UgdXNlZAorLSMgICAgIG00X3JlcXVp
cmUoW0FDX0xBTkdfQ09NUElMRVIoQyldLCBbQUNfTEFOR19DT01QSUxFUihDKV0pCistIyAgIHRo
ZW4gbTRfcmVxdWlyZSB3b3VsZCBoYXZlIHRyaWVkIHRvIGV4cGFuZCBgQUNfTEFOR19DT01QSUxF
UihDKScsIGkuZS4sCistIyAgIGNhbGwgdGhlIG1hY3JvIGBBQ19MQU5HX0NPTVBJTEVSJyB3aXRo
IGBDJyBhcyBhcmd1bWVudC4KKy0jCistIyAgIFlvdSBjb3VsZCBhcmd1ZSB0aGF0IGBBQ19MQU5H
X0NPTVBJTEVSJywgd2hlbiBpdCByZWNlaXZlcyBhbiBhcmd1bWVudAorLSMgICBzdWNoIGFzIGBD
JyBzaG91bGQgZGlzcGF0Y2ggdGhlIGNhbGwgdG8gYEFDX0xBTkdfQ09NUElMRVIoQyknLiAgQnV0
IHRoaXMKKy0jICAgYGV4dGVuc2lvbicgcHJldmVudHMgYEFDX0xBTkdfQ09NUElMRVInIGZyb20g
aGF2aW5nIGFjdHVhbCBhcmd1bWVudHMgdGhhdAorLSMgICBpdCBwYXNzZXMgdG8gYEFDX0xBTkdf
Q09NUElMRVIoQyknLgorLSMKKy0jIFRoaXMgaXMgY2FsbGVkIGZyZXF1ZW50bHksIHNvIG1pbmlt
aXplIHRoZSBudW1iZXIgb2YgbWFjcm8gaW52b2NhdGlvbnMKKy0jIGJ5IGF2b2lkaW5nIGRubCBh
bmQgb3RoZXIgb3ZlcmhlYWQgb24gdGhlIGNvbW1vbiBwYXRoLgorLW00X2RlZmluZShbbTRfcmVx
dWlyZV0sCistW200X2lmZGVmKFtfbTRfZXhwYW5kaW5nKCQxKV0sCistICBbbTRfZmF0YWwoWyQw
OiBjaXJjdWxhciBkZXBlbmRlbmN5IG9mICQxXSldKV1kbmwKKy1bbTRfaWYoX200X2RpdmVydF9k
dW1wLCBbXSwKKy0gIFttNF9mYXRhbChbJDAoJDEpOiBjYW5ub3QgYmUgdXNlZCBvdXRzaWRlIG9m
IGFuIF1kbmwKKy1tNF9pZihbJDBdLCBbbTRfcmVxdWlyZV0sIFtbbTRfZGVmdW5dXSwgW1tBQ19E
RUZVTl1dKVsnZCBtYWNyb10pXSldZG5sCistW200X3Byb3ZpZGVfaWYoWyQxXSwgW200X3NldF9j
b250YWlucyhbX200X3Byb3ZpZGVdLCBbJDFdLAorLSAgICBbX200X3JlcXVpcmVfY2hlY2soWyQx
XSwgX200X2RlZm4oW200X3Byb3ZpZGUoJDEpXSksIFskMF0pXSwgW200X2lnbm9yZV0pXSwKKy0g
IFtfbTRfcmVxdWlyZV9jYWxsXSkoWyQxXSwgWyQyXSwgX200X2RpdmVydF9kdW1wKV0pCistCist
CistIyBfbTRfcmVxdWlyZV9jYWxsKE5BTUUtVE8tQ0hFQ0ssIFtCT0RZLVRPLUVYUEFORCA9IE5B
TUUtVE8tQ0hFQ0tdLAorLSMgICAgICAgICAgICAgICAgICBESVZFUlNJT04tTlVNQkVSKQorLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIElmIG00X3JlcXVpcmUgZGVjaWRlcyB0byBleHBhbmQgdGhlIGJvZHksIGl0
IGNhbGxzIHRoaXMgbWFjcm8uICBUaGUKKy0jIGV4cGFuc2lvbiBpcyBwbGFjZWQgaW4gRElWRVJT
SU9OLU5VTUJFUi4KKy0jCistIyBUaGlzIGlzIGNhbGxlZCBmcmVxdWVudGx5LCBzbyBtaW5pbWl6
ZSB0aGUgbnVtYmVyIG9mIG1hY3JvIGludm9jYXRpb25zCistIyBieSBhdm9pZGluZyBkbmwgYW5k
IG90aGVyIG92ZXJoZWFkIG9uIHRoZSBjb21tb24gcGF0aC4KKy0jIFRoZSB1c2Ugb2YgYSB3aXRu
ZXNzIG1hY3JvIHByb3RlY3RpbmcgdGhlIHdhcm5pbmcgYWxsb3dzIGFjbG9jYWwKKy0jIHRvIHNp
bGVuY2UgYW55IHdhcm5pbmdzIHdoZW4gcHJvYmluZyBmb3Igd2hhdCBtYWNyb3MgYXJlIHJlcXVp
cmVkCistIyBhbmQgbXVzdCB0aGVyZWZvcmUgYmUgbG9jYXRlZCwgd2hlbiB1c2luZyB0aGUgQXV0
b2NvbmYtd2l0aG91dC1hY2xvY2FsLW00CistIyBhdXRvbTR0ZSBsYW5ndWFnZS4gIEZvciBtb3Jl
IGJhY2tncm91bmQsIHNlZToKKy0jIGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwv
YXV0b21ha2UtcGF0Y2hlcy8yMDEyLTExL21zZzAwMDM1Lmh0bWwKKy1tNF9kZWZpbmUoW19tNF9y
ZXF1aXJlX2NhbGxdLAorLVttNF9wdXNoZGVmKFtfbTRfZGl2ZXJ0X2dyb3ddLCBtNF9kZWNyKF9t
NF9kaXZlcnRfZ3JvdykpXWRubAorLVttNF9wdXNoZGVmKFtfbTRfZGl2ZXJ0aW5nKFskMV0pXSlt
NF9wdXNoZGVmKFtfbTRfZGl2ZXJ0aW5nXSwgWyQxXSldZG5sCistW200X2RpdmVydF9wdXNoKF9t
NF9kaXZlcnRfZ3JvdywgWy1dKV1kbmwKKy1bbTRfaWYoWyQyXSwgW10sIFskMV0sIFskMl0pCist
bTRfcHJvdmlkZV9pZihbJDFdLCBbbTRfc2V0X3JlbW92ZShbX200X3Byb3ZpZGVdLCBbJDFdKV0s
CistICBbbTRfaWZuZGVmKFttNF9yZXF1aXJlX3NpbGVudF9wcm9iZV0sCistICAgIFttNF93YXJu
KFtzeW50YXhdLCBbJDEgaXMgbTRfcmVxdWlyZSdkIGJ1dCBub3QgbTRfZGVmdW4nZF0pXSldKV1k
bmwKKy1bX200X2RpdmVydF9yYXcoJDMpX200X3VuZGl2ZXJ0KF9tNF9kaXZlcnRfZ3JvdyldZG5s
CistW200X2RpdmVydF9wb3AoX200X2RpdmVydF9ncm93KV9tNF9wb3BkZWYoW19tNF9kaXZlcnRf
Z3Jvd10sCistW19tNF9kaXZlcnRpbmcoWyQxXSldLCBbX200X2RpdmVydGluZ10pXSkKKy0KKy0K
Ky0jIF9tNF9yZXF1aXJlX2NoZWNrKE5BTUUtVE8tQ0hFQ0ssIE9XTkVSLCBDQUxMRVIpCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTkFNRS1U
Ty1DSEVDSyBoYXMgYmVlbiBpZGVudGlmaWVkIGFzIHByZXZpb3VzbHkgZXhwYW5kZWQgaW4gdGhl
CistIyBkaXZlcnNpb24gb3duZWQgYnkgT1dORVIuICBJZiB0aGlzIGlzIGEgcHJvYmxlbSwgd2Fy
biBvbiBiZWhhbGYgb2YKKy0jIENBTExFUiBhbmQgcmV0dXJuIF9tNF9yZXF1aXJlX2NhbGw7IG90
aGVyd2lzZSByZXR1cm4gbTRfaWdub3JlLgorLW00X2RlZmluZShbX200X3JlcXVpcmVfY2hlY2td
LAorLVttNF9pZihfbTRfZGVmbihbX200X2RpdmVydGluZ10pLCBbJDJdLCBbbTRfaWdub3JlXSwK
Ky0gICAgICAgbTRfaWZkZWYoW19tNF9kaXZlcnRpbmcoWyQyXSldLCBbLV0pLCBbLV0sIFttNF93
YXJuKFtzeW50YXhdLAorLSAgIFskMzogYCQxJyB3YXMgZXhwYW5kZWQgYmVmb3JlIGl0IHdhcyBy
ZXF1aXJlZAorLWh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYvbWFudWFsL2F1
dG9jb25mLmh0bWwjRXhwYW5kZWQtQmVmb3JlLVJlcXVpcmVkXSlfbTRfcmVxdWlyZV9jYWxsXSwK
Ky0gICAgICAgW200X2lnbm9yZV0pXSkKKy0KKy0KKy0jIF9tNF9kaXZlcnRfZ3JvdworLSMgLS0t
LS0tLS0tLS0tLS0tCistIyBUaGUgY291bnRlciBmb3IgX200X3JlcXVpcmVfY2FsbC4KKy1tNF9k
ZWZpbmUoW19tNF9kaXZlcnRfZ3Jvd10sIF9tNF9kaXZlcnQoW0dST1ddKSkKKy0KKy0KKy0jIG00
X2V4cGFuZF9vbmNlKFRFWFQsIFtXSVRORVNTID0gVEVYVF0pCistIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSWYgVEVYVCBoYXMgbmV2ZXIgYmVlbiBleHBhbmRl
ZCwgZXhwYW5kIGl0ICpoZXJlKi4gIFVzZSBXSVRORVNTIGFzCistIyBhcyBhIG1lbW9yeSB0aGF0
IFRFWFQgaGFzIGFscmVhZHkgYmVlbiBleHBhbmRlZC4KKy1tNF9kZWZpbmUoW200X2V4cGFuZF9v
bmNlXSwKKy1bbTRfcHJvdmlkZV9pZihtNF9kZWZhdWx0X3F1b3RlZChbJDJdLCBbJDFdKSwKKy0J
ICAgICAgIFtdLAorLQkgICAgICAgW200X3Byb3ZpZGUobTRfZGVmYXVsdF9xdW90ZWQoWyQyXSwg
WyQxXSkpW10kMV0pXSkKKy0KKy0KKy0jIG00X3Byb3ZpZGUoTUFDUk8tTkFNRSkKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKy1tNF9kZWZpbmUoW200X3Byb3ZpZGVdLAorLVttNF9pZmRlZihb
bTRfcHJvdmlkZSgkMSldLCBbXSwKKy1bbTRfc2V0X2FkZChbX200X3Byb3ZpZGVdLCBbJDFdLCBb
bTRfZGVmaW5lKFttNF9wcm92aWRlKCQxKV0sCistICBtNF9pZmRlZihbX200X2RpdmVydGluZ10s
IFtfbTRfZGVmbihbX200X2RpdmVydGluZ10pXSkpXSldKV0pCistCistCistIyBtNF9wcm92aWRl
X2lmKE1BQ1JPLU5BTUUsIElGLVBST1ZJREVELCBJRi1OT1QtUFJPVklERUQpCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJZiBN
QUNSTy1OQU1FIGlzIHByb3ZpZGVkIGRvIElGLVBST1ZJREVELCBlbHNlIElGLU5PVC1QUk9WSURF
RC4KKy0jIFRoZSBwdXJwb3NlIG9mIHRoaXMgbWFjcm8gaXMgdG8gcHJvdmlkZSB0aGUgdXNlciB3
aXRoIGEgbWVhbnMgdG8KKy0jIGNoZWNrIG1hY3JvcyB3aGljaCBhcmUgcHJvdmlkZWQgd2l0aG91
dCBsZXR0aW5nIGhlciBrbm93IGhvdyB0aGUKKy0jIGluZm9ybWF0aW9uIGlzIGNvZGVkLgorLW00
X2RlZmluZShbbTRfcHJvdmlkZV9pZl0sCistW200X2lmZGVmKFttNF9wcm92aWRlKCQxKV0sCist
CSAgWyQyXSwgWyQzXSldKQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMj
IDEyLiBUZXh0IHByb2Nlc3NpbmcuICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwor
LQorLQorLSMgbTRfY3JfbGV0dGVycworLSMgbTRfY3JfTEVUVEVSUworLSMgbTRfY3JfTGV0dGVy
cworLSMgLS0tLS0tLS0tLS0tLQorLW00X2RlZmluZShbbTRfY3JfbGV0dGVyc10sIFthYmNkZWZn
aGlqa2xtbm9wcXJzdHV2d3h5el0pCistbTRfZGVmaW5lKFttNF9jcl9MRVRURVJTXSwgW0FCQ0RF
RkdISUpLTE1OT1BRUlNUVVZXWFlaXSkKKy1tNF9kZWZpbmUoW200X2NyX0xldHRlcnNdLAorLW00
X2RlZm4oW200X2NyX2xldHRlcnNdKWRubAorLW00X2RlZm4oW200X2NyX0xFVFRFUlNdKWRubAor
LSkKKy0KKy0KKy0jIG00X2NyX2RpZ2l0cworLSMgLS0tLS0tLS0tLS0tCistbTRfZGVmaW5lKFtt
NF9jcl9kaWdpdHNdLCBbMDEyMzQ1Njc4OV0pCistCistCistIyBtNF9jcl9hbG51bQorLSMgLS0t
LS0tLS0tLS0KKy1tNF9kZWZpbmUoW200X2NyX2FsbnVtXSwKKy1tNF9kZWZuKFttNF9jcl9MZXR0
ZXJzXSlkbmwKKy1tNF9kZWZuKFttNF9jcl9kaWdpdHNdKWRubAorLSkKKy0KKy0KKy0jIG00X2Ny
X3N5bWJvbHMxCistIyBtNF9jcl9zeW1ib2xzMgorLSMgLS0tLS0tLS0tLS0tLS0KKy1tNF9kZWZp
bmUoW200X2NyX3N5bWJvbHMxXSwKKy1tNF9kZWZuKFttNF9jcl9MZXR0ZXJzXSlkbmwKKy1fKQor
LQorLW00X2RlZmluZShbbTRfY3Jfc3ltYm9sczJdLAorLW00X2RlZm4oW200X2NyX3N5bWJvbHMx
XSlkbmwKKy1tNF9kZWZuKFttNF9jcl9kaWdpdHNdKWRubAorLSkKKy0KKy0jIG00X2NyX2FsbAor
LSMgLS0tLS0tLS0tCistIyBUaGUgY2hhcmFjdGVyIHJhbmdlIHJlcHJlc2VudGluZyBldmVyeXRo
aW5nLCB3aXRoIGAtJyBhcyB0aGUgbGFzdAorLSMgY2hhcmFjdGVyLCBzaW5jZSBpdCBpcyBzcGVj
aWFsIHRvIG00X3RyYW5zbGl0LiAgVXNlIHdpdGggY2FyZSwgYmVjYXVzZQorLSMgaXQgY29udGFp
bnMgY2hhcmFjdGVycyBzcGVjaWFsIHRvIE00IChmb3J0dW5hdGVseSwgYm90aCBBU0NJSSBhbmQg
RUJDRElDCistIyBoYXZlIFtdIGluIG9yZGVyLCBzbyBtNF9kZWZuKFttNF9jcl9hbGxdKSByZW1h
aW5zIGEgdmFsaWQgc3RyaW5nKS4gIEl0CistIyBhbHNvIGNvbnRhaW5zIGNoYXJhY3RlcnMgc3Bl
Y2lhbCB0byB0ZXJtaW5hbHMsIHNvIGl0IHNob3VsZCBuZXZlciBiZQorLSMgZGlzcGxheWVkIGlu
IGFuIGVycm9yIG1lc3NhZ2UuICBBbHNvLCBhdHRlbXB0cyB0byBtYXAgWyBhbmQgXSB0byBvdGhl
cgorLSMgY2hhcmFjdGVycyB2aWEgbTRfdHJhbnNsaXQgbXVzdCBkZWFsIHdpdGggdGhlIGZhY3Qg
dGhhdCBtNF90cmFuc2xpdCBkb2VzCistIyBub3QgYWRkIHF1b3RlcyB0byB0aGUgb3V0cHV0Lgor
LSMKKy0jIEluIEVCQ0RJQywgJCBpcyBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSAqLCB3aGljaCBs
ZWFkcyB0byBwcm9ibGVtcworLSMgaWYgbTRfY3JfYWxsIGlzIGlubGluZWQgaW50byBhIG1hY3Jv
IGRlZmluaXRpb247IHNvIHN3YXAgdGhlbS4KKy0jCistIyBJdCBpcyBtYWlubHkgdXNlZnVsIGlu
IGdlbmVyYXRpbmcgaW52ZXJ0ZWQgY2hhcmFjdGVyIHJhbmdlIG1hcHMsIGZvciB1c2UKKy0jIGlu
IHBsYWNlcyB3aGVyZSBtNF90cmFuc2xpdCBpcyBmYXN0ZXIgdGhhbiBhbiBlcXVpdmFsZW50IG00
X2JwYXRzdWJzdDsKKy0jIHRoZSByZWdleCBgW15hLXpdJyBpcyBlcXVpdmFsZW50IHRvOgorLSMg
IG00X3RyYW5zbGl0KG00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9hbGxdKSksIFthLXpdKQorLW00
X2RlZmluZShbbTRfY3JfYWxsXSwKKy1tNF90cmFuc2xpdChtNF9kcXVvdGUobTRfZm9ybWF0KG00
X2RxdW90ZShtNF9mb3IoCistICAsMSwyNTUsLFtbJWNdXSkpbTRfZm9yKFtpXSwxLDI1NSwsWyxp
XSkpKSwgWyQqLV0sIFsqJF0pLSkKKy0KKy0KKy0jIF9tNF9kZWZpbmVfY3Jfbm90KENBVEVHT1JZ
KQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWZpbmUgbTRfY3Jfbm90X0NB
VEVHT1JZIGFzIHRoZSBpbnZlcnNlIG9mIG00X2NyX0NBVEVHT1JZLgorLW00X2RlZmluZShbX200
X2RlZmluZV9jcl9ub3RdLAorLVttNF9kZWZpbmUoW200X2NyX25vdF8kMV0sCistCSAgIG00X3Ry
YW5zbGl0KG00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9hbGxdKSksCistCQkgICAgICAgbTRfZGVm
bihbbTRfY3JfJDFdKSkpXSkKKy0KKy0KKy0jIG00X2NyX25vdF9sZXR0ZXJzCistIyBtNF9jcl9u
b3RfTEVUVEVSUworLSMgbTRfY3Jfbm90X0xldHRlcnMKKy0jIG00X2NyX25vdF9kaWdpdHMKKy0j
IG00X2NyX25vdF9hbG51bQorLSMgbTRfY3Jfbm90X3N5bWJvbHMxCistIyBtNF9jcl9ub3Rfc3lt
Ym9sczIKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSW52ZXJzZSBjaGFyYWN0ZXIgc2V0cwor
LV9tNF9kZWZpbmVfY3Jfbm90KFtsZXR0ZXJzXSkKKy1fbTRfZGVmaW5lX2NyX25vdChbTEVUVEVS
U10pCistX200X2RlZmluZV9jcl9ub3QoW0xldHRlcnNdKQorLV9tNF9kZWZpbmVfY3Jfbm90KFtk
aWdpdHNdKQorLV9tNF9kZWZpbmVfY3Jfbm90KFthbG51bV0pCistX200X2RlZmluZV9jcl9ub3Qo
W3N5bWJvbHMxXSkKKy1fbTRfZGVmaW5lX2NyX25vdChbc3ltYm9sczJdKQorLQorLQorLSMgbTRf
bmV3bGluZShbU1RSSU5HXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFeHBhbmRzIHRv
IGEgbmV3bGluZSwgcG9zc2libHkgZm9sbG93ZWQgYnkgU1RSSU5HLiAgRXhpc3RzIG1vc3RseSBm
b3IKKy0jIGZvcm1hdHRpbmcgcmVhc29ucy4KKy1tNF9kZWZpbmUoW200X25ld2xpbmVdLCBbCist
JDFdKQorLQorLQorLSMgbTRfcmVfZXNjYXBlKFNUUklORykKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tCistIyBFc2NhcGUgUkUgYWN0aXZlIGNoYXJhY3RlcnMgaW4gU1RSSU5HLgorLW00X2RlZmlu
ZShbbTRfcmVfZXNjYXBlXSwKKy1bbTRfYnBhdHN1YnN0KFskMV0sCistCSAgICAgIFtbXVsqKy4/
XF4kXV0sIFtcXFwmXSldKQorLQorLQorLSMgbTRfcmVfc3RyaW5nCistIyAtLS0tLS0tLS0tLS0K
Ky0jIFJlZ2V4cCBmb3IgYFthLXpBLVpfMC05XSonCistIyBtNF9kcXVvdGUgcHJvdmlkZXMgbGl0
ZXJhbCBbXSBmb3IgdGhlIGNoYXJhY3RlciBjbGFzcy4KKy1tNF9kZWZpbmUoW200X3JlX3N0cmlu
Z10sCistbTRfZHF1b3RlKG00X2RlZm4oW200X2NyX3N5bWJvbHMyXSkpZG5sCistWypdZG5sCist
KQorLQorLQorLSMgbTRfcmVfd29yZAorLSMgLS0tLS0tLS0tLQorLSMgUmVnZXhwIGZvciBgW2Et
ekEtWl9dW2EtekEtWl8wLTldKicKKy1tNF9kZWZpbmUoW200X3JlX3dvcmRdLAorLW00X2RxdW90
ZShtNF9kZWZuKFttNF9jcl9zeW1ib2xzMV0pKWRubAorLW00X2RlZm4oW200X3JlX3N0cmluZ10p
ZG5sCistKQorLQorLQorLSMgbTRfdG9sb3dlcihTVFJJTkcpCistIyBtNF90b3VwcGVyKFNUUklO
RykKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLQorLSMgVGhlc2UgbWFjcm9zIGNvbnZlcnQgU1RSSU5H
IHRvIGxvd2VyY2FzZSBvciB1cHBlcmNhc2UuCistIworLSMgUmF0aGVyIHRoYW4gZXhwYW5kIHRo
ZSBtNF9kZWZuIGVhY2ggdGltZSwgd2UgaW5saW5lIHRoZW0gdXAgZnJvbnQuCistbTRfZGVmaW5l
KFttNF90b2xvd2VyXSwKKy1bbTRfdHJhbnNsaXQoW1skMV1dLCBdbTRfZHF1b3RlKG00X2RlZm4o
W200X2NyX0xFVFRFUlNdKSlbLAorLQkJICAgICBdbTRfZHF1b3RlKG00X2RlZm4oW200X2NyX2xl
dHRlcnNdKSlbKV0pCistbTRfZGVmaW5lKFttNF90b3VwcGVyXSwKKy1bbTRfdHJhbnNsaXQoW1sk
MV1dLCBdbTRfZHF1b3RlKG00X2RlZm4oW200X2NyX2xldHRlcnNdKSlbLAorLQkJICAgICBdbTRf
ZHF1b3RlKG00X2RlZm4oW200X2NyX0xFVFRFUlNdKSlbKV0pCistCistCistIyBtNF9zcGxpdChT
VFJJTkcsIFtSRUdFWFBdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNwbGl0
IFNUUklORyBpbnRvIGFuIG00IGxpc3Qgb2YgcXVvdGVkIGVsZW1lbnRzLiAgVGhlIGVsZW1lbnRz
IGFyZQorLSMgcXVvdGVkIHdpdGggWyBhbmQgXS4gIEJlZ2lubmluZyBzcGFjZXMgYW5kIGVuZCBz
cGFjZXMgKmFyZSBrZXB0Ki4KKy0jIFVzZSBtNF9zdHJpcCB0byByZW1vdmUgdGhlbS4KKy0jCist
IyBSRUdFWFAgc3BlY2lmaWVzIHdoZXJlIHRvIHNwbGl0LiAgRGVmYXVsdCBpcyBbXHQgXSsuCist
IworLSMgSWYgU1RSSU5HIGlzIGVtcHR5LCB0aGUgcmVzdWx0IGlzIGFuIGVtcHR5IGxpc3QuCist
IworLSMgUGF5IGF0dGVudGlvbiB0byB0aGUgbTRfY2hhbmdlcXVvdGVzLiAgV2hlbiBtNCByZWFk
cyB0aGUgZGVmaW5pdGlvbiBvZgorLSMgbTRfc3BsaXQsIGl0IHN0aWxsIGhhcyBxdW90ZXMgc2V0
IHRvIFsgYW5kIF0uICBMdWNraWx5LCB0aGVzZSBhcmUgbWF0Y2hlZAorLSMgaW4gdGhlIG1hY3Jv
IGJvZHksIHNvIHRoZSBkZWZpbml0aW9uIGlzIHN0b3JlZCBjb3JyZWN0bHkuICBVc2UgdGhlIHNh
bWUKKy0jIGFsdGVybmF0ZSBxdW90ZXMgYXMgbTRfbm9xdW90ZTsgaXQgbXVzdCBiZSB1bmxpa2Vs
eSB0byBhcHBlYXIgaW4gJDEuCistIworLSMgQWxzbywgbm90aWNlIHRoYXQgJDEgaXMgcXVvdGVk
IHR3aWNlLCBzaW5jZSB3ZSB3YW50IHRoZSByZXN1bHQgdG8KKy0jIGJlIHF1b3RlZC4gIFRoZW4g
eW91IHNob3VsZCB1bmRlcnN0YW5kIHRoYXQgdGhlIGFyZ3VtZW50IG9mCistIyBwYXRzdWJzdCBp
cyAtPTx7KFNUUklORyl9Pj0tIChpLmUuLCB3aXRoIGFkZGl0aW9uYWwgLT08eyggYW5kICl9Pj0t
KS4KKy0jCistIyBUaGlzIG1hY3JvIGlzIHNhZmUgb24gYWN0aXZlIHN5bWJvbHMsIGkuZS46Cist
IyAgIG00X2RlZmluZShhY3RpdmUsIEFDVElWRSkKKy0jICAgbTRfc3BsaXQoW2FjdGl2ZSBhY3Rp
dmUgXSllbmQKKy0jICAgPT4gW2FjdGl2ZV0sIFthY3RpdmVdLCBbXWVuZAorLSMKKy0jIE9wdGlt
aXplIG9uIHJlZ2V4IG9mIGAgJyAoc3BhY2UpLCBzaW5jZSBtNF9mb3JlYWNoX3cgYWxyZWFkeSBn
dWFyYW50ZWVzCistIyB0aGF0IHRoZSBsaXN0IGNvbnRhaW5zIHNpbmdsZSBzcGFjZSBzZXBhcmF0
b3JzLCBhbmQgYSBjb21tb24gY2FzZSBpcworLSMgc3BsaXR0aW5nIGEgc2luZ2xlLWVsZW1lbnQg
bGlzdC4gIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGZyZXF1ZW50bHksCistIyBzbyBhdm9pZCB1bm5l
Y2Vzc2FyeSBkbmwgaW5zaWRlIHRoZSBkZWZpbml0aW9uLgorLW00X2RlZmluZShbbTRfc3BsaXRd
LAorLVttNF9pZihbJDFdLCBbXSwgW10sCistICAgICAgIFskMl0sIFsgXSwgW200X2lmKG00X2lu
ZGV4KFskMV0sIFsgXSksIFstMV0sIFtbWyQxXV1dLAorLQkJCSBbXyQwKFskMV0sIFskMl0sIFss
IF0pXSldLAorLSAgICAgICBbJDJdLCBbXSwgW18kMChbJDFdLCBbWwkgXStdLCBbLCBdKV0sCist
ICAgICAgIFtfJDAoWyQxXSwgWyQyXSwgWywgXSldKV0pCistCistbTRfZGVmaW5lKFtfbTRfc3Bs
aXRdLAorLVttNF9jaGFuZ2VxdW90ZShbLT08eyhdLFspfT49LV0pXWRubAorLVtbbTRfYnBhdHN1
YnN0KC09PHsoLT08eygkMSl9Pj0tKX0+PS0sIC09PHsoJDIpfT49LSwKKy0JICAgICAgIC09PHso
XSQzWyl9Pj0tKV1tNF9jaGFuZ2VxdW90ZShbLCBdKV0pCistCistCistIyBtNF9jaG9tcChTVFJJ
TkcpCistIyBtNF9jaG9tcF9hbGwoU1RSSU5HKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0j
IFJldHVybiBTVFJJTkcgcXVvdGVkLCBidXQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUuICBt
NF9jaG9tcAorLSMgcmVtb3ZlcyBhdCBtb3N0IG9uZSBuZXdsaW5lLCB3aGlsZSBtNF9jaG9tcF9h
bGwgcmVtb3ZlcyBhbGwKKy0jIGNvbnNlY3V0aXZlIHRyYWlsaW5nIG5ld2xpbmVzLiAgRW1iZWRk
ZWQgbmV3bGluZXMgYXJlIG5vdCB0b3VjaGVkLAorLSMgYW5kIGEgdHJhaWxpbmcgYmFja3NsYXNo
LW5ld2xpbmUgbGVhdmVzIGp1c3QgYSB0cmFpbGluZyBiYWNrc2xhc2guCistIworLSMgbTRfYnJl
Z2V4cCBpcyBzbG93ZXIgdGhhbiBtNF9pbmRleCwgYW5kIHdlIGRvbid0IGFsd2F5cyB3YW50IHRv
CistIyByZW1vdmUgYWxsIG5ld2xpbmVzOyBoZW5jZSB0aGUgdHdvIHZhcmlhbnRzLiAgV2UgbWFz
c2FnZSBjaGFyYWN0ZXJzCistIyB0byBnaXZlIGEgbmljZXIgcGF0dGVybiB0byBtYXRjaCwgcGFy
dGljdWxhcmx5IHNpbmNlIG00X2JyZWdleHAgaXMKKy0jIGxpbmUtb3JpZW50ZWQuICBCb3RoIHZl
cnNpb25zIG11c3QgZ3VhcmFudGVlIGEgbWF0Y2gsIHRvIGF2b2lkIGJ1Z3MKKy0jIHdpdGggcHJl
Y2lzaW9uIC0xIGluIG00X2Zvcm1hdCBpbiBvbGRlciBtNC4KKy1tNF9kZWZpbmUoW200X2Nob21w
XSwKKy1bbTRfZm9ybWF0KFtbJS4qc11dLCBtNF9pbmRleChtNF90cmFuc2xpdChbWyQxXV0sIFsK
Ky0vLl0sIFsvICBdKVsuLy5dLCBbLy5dKSwgWyQxXSldKQorLQorLW00X2RlZmluZShbbTRfY2hv
bXBfYWxsXSwKKy1bbTRfZm9ybWF0KFtbJS4qc11dLCBtNF9icmVnZXhwKG00X3RyYW5zbGl0KFtb
JDFdXSwgWworLS9dLCBbLyBdKSwgWy8qJF0pLCBbJDFdKV0pCistCistCistIyBtNF9mbGF0dGVu
KFNUUklORykKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSWYgU1RSSU5HIGNvbnRhaW5zIGVu
ZCBvZiBsaW5lcywgcmVwbGFjZSB0aGVtIHdpdGggc3BhY2VzLiAgSWYgdGhlcmUKKy0jIGFyZSBi
YWNrc2xhc2hlZCBlbmQgb2YgbGluZXMsIHJlbW92ZSB0aGVtLiAgVGhpcyBtYWNybyBpcyBzYWZl
IHdpdGgKKy0jIGFjdGl2ZSBzeW1ib2xzLgorLSMgICAgbTRfZGVmaW5lKGFjdGl2ZSwgQUNUSVZF
KQorLSMgICAgbTRfZmxhdHRlbihbYWN0aXZlCistIyAgICBhY3RcCistIyAgICBpdmVdKWVuZAor
LSMgICAgPT4gYWN0aXZlIGFjdGl2ZWVuZAorLSMKKy0jIEluIG00LCBtNF9icGF0c3Vic3QgaXMg
ZXhwZW5zaXZlLCBzbyBmaXJzdCBjaGVjayBmb3IgYSBuZXdsaW5lLgorLW00X2RlZmluZShbbTRf
ZmxhdHRlbl0sCistW200X2lmKG00X2luZGV4KFskMV0sIFsKKy1dKSwgWy0xXSwgW1skMV1dLAor
LSAgICAgICBbbTRfdHJhbnNsaXQobTRfYnBhdHN1YnN0KFtbWyQxXV1dLCBbXFwKKy1dKSwgWwor
LV0sIFsgXSldKV0pCistCistCistIyBtNF9zdHJpcChTVFJJTkcpCistIyAtLS0tLS0tLS0tLS0t
LS0tCistIyBFeHBhbmRzIGludG8gU1RSSU5HIHdpdGggdGFicyBhbmQgc3BhY2VzIHNpbmdsZWQg
b3V0IGludG8gYSBzaW5nbGUKKy0jIHNwYWNlLCBhbmQgcmVtb3ZpbmcgbGVhZGluZyBhbmQgdHJh
aWxpbmcgc3BhY2VzLgorLSMKKy0jIFRoaXMgbWFjcm8gaXMgcm9idXN0IHRvIGFjdGl2ZSBzeW1i
b2xzLgorLSMgICAgbTRfZGVmaW5lKGFjdGl2ZSwgQUNUSVZFKQorLSMgICAgbTRfc3RyaXAoWyAg
YWN0aXZlIDx0YWI+IDx0YWI+YWN0aXZlIF0pZW5kCistIyAgICA9PiBhY3RpdmUgYWN0aXZlZW5k
CistIworLSMgRmlyc3QsIG5vdGljZSB0aGF0IHdlIGd1YXJhbnRlZSB0cmFpbGluZyBzcGFjZS4g
IFdoeT8gIEJlY2F1c2UgcmVndWxhcgorLSMgZXhwcmVzc2lvbnMgYXJlIGdyZWVkeSwgYW5kIGAu
KiA/JyB3b3VsZCBhbHdheXMgZ3JvdXAgdGhlIHNwYWNlIGludG8gdGhlCistIyAuKiBwb3J0aW9u
LiAgVGhlIGFsZ29yaXRobSBpcyBzaW1wbGVyIGJ5IGF2b2lkaW5nIGA/JyBhdCB0aGUgZW5kLiAg
VGhlCistIyBhbGdvcml0aG0gY29ycmVjdGx5IHN0cmlwcyBldmVyeXRoaW5nIGlmIFNUUklORyBp
cyBqdXN0IGAgJy4KKy0jCistIyBUaGVuIG5vdGljZSB0aGUgc2Vjb25kIHBhdHRlcm46IGl0IGlz
IGluIGNoYXJnZSBvZiByZW1vdmluZyB0aGUKKy0jIGxlYWRpbmcvdHJhaWxpbmcgc3BhY2VzLiAg
V2h5IG5vdCBqdXN0IGBbXiBdJz8gIEJlY2F1c2UgdGhleSBhcmUKKy0jIGFwcGxpZWQgdG8gb3Zl
ci1xdW90ZWQgc3RyaW5ncywgaS5lLiBtb3JlIG9yIGxlc3MgW1NUUklOR10sIGR1ZQorLSMgdG8g
dGhlIGxpbWl0YXRpb25zIG9mIG00X2JwYXRzdWJzdHMuICBTbyB0aGUgbGVhZGluZyBzcGFjZSBp
biBTVFJJTkcKKy0jIGlzIHRoZSAqc2Vjb25kKiBjaGFyYWN0ZXI7IGVxdWFsbHkgZm9yIHRoZSB0
cmFpbGluZyBzcGFjZS4KKy1tNF9kZWZpbmUoW200X3N0cmlwXSwKKy1bbTRfYnBhdHN1YnN0cyhb
JDEgXSwKKy0JICAgICAgIFtbCSBdK10sIFsgXSwKKy0JICAgICAgIFteLiA/XCguKlwpIC4kXSwg
W1tbXDFdXV0pXSkKKy0KKy0KKy0jIG00X25vcm1hbGl6ZShTVFJJTkcpCistIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgQXBwbHkgbTRfZmxhdHRlbiBhbmQgbTRfc3RyaXAgdG8gU1RSSU5HLgor
LSMKKy0jIFRoZSBhcmd1bWVudCBpcyBxdW90ZWQsIHNvIHRoYXQgdGhlIG1hY3JvIGlzIHJvYnVz
dCB0byBhY3RpdmUgc3ltYm9sczoKKy0jCistIyAgICBtNF9kZWZpbmUoYWN0aXZlLCBBQ1RJVkUp
CistIyAgICBtNF9ub3JtYWxpemUoWyAgYWN0XAorLSMgICAgaXZlCistIyAgICBhY3RpdmUgXSll
bmQKKy0jICAgID0+IGFjdGl2ZSBhY3RpdmVlbmQKKy0KKy1tNF9kZWZpbmUoW200X25vcm1hbGl6
ZV0sCistW200X3N0cmlwKG00X2ZsYXR0ZW4oWyQxXSkpXSkKKy0KKy0KKy0KKy0jIG00X2pvaW4o
U0VQLCBBUkcxLCBBUkcyLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQ
cm9kdWNlIEFSRzFTRVBBUkcyLi4uU0VQQVJHbi4gIEF2b2lkIGJhY2stdG8tYmFjayBTRVAgd2hl
biBhIGdpdmVuIEFSRworLSMgaXMgdGhlIGVtcHR5IHN0cmluZy4gIE5vIGV4cGFuc2lvbiBpcyBw
ZXJmb3JtZWQgb24gU0VQIG9yIEFSR3MuCistIworLSMgU2luY2UgdGhlIG51bWJlciBvZiBhcmd1
bWVudHMgdG8gam9pbiBjYW4gYmUgYXJiaXRyYXJpbHkgbG9uZywgd2UKKy0jIHdhbnQgdG8gYXZv
aWQgaGF2aW5nIG1vcmUgdGhhbiBvbmUgJEAgaW4gdGhlIG1hY3JvIGRlZmluaXRpb247CistIyBv
dGhlcndpc2UsIHRoZSBleHBhbnNpb24gd291bGQgcmVxdWlyZSB0d2ljZSB0aGUgbWVtb3J5IG9m
IHRoZSBhbHJlYWR5CistIyBsb25nIGxpc3QuICBIZW5jZSwgbTRfam9pbiBtZXJlbHkgbG9va3Mg
Zm9yIHRoZSBmaXJzdCBub24tZW1wdHkgZWxlbWVudCwKKy0jIGFuZCBvdXRwdXRzIGp1c3QgdGhh
dCBlbGVtZW50OyB3aGlsZSBfbTRfam9pbiBsb29rcyBmb3IgYWxsIG5vbi1lbXB0eQorLSMgZWxl
bWVudHMsIGFuZCBvdXRwdXRzIHRoZW0gZm9sbG93aW5nIGEgc2VwYXJhdG9yLiAgVGhlIGZpbmFs
IHRyaWNrIHRvCistIyBub3RlIGlzIHRoYXQgd2UgZGVjaWRlIGJldHdlZW4gcmVjdXJzaW5nIHdp
dGggJDAgb3IgXyQwIGJhc2VkIG9uIHRoZQorLSMgbmVzdGVkIG00X2lmIGVuZGluZyB3aXRoIGBf
Jy4KKy0jCistIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0
bWVudHMgbWFkZSBoZXJlLgorLW00X2RlZmluZShbbTRfam9pbl0sCistW200X2lmKFskI10sIFsx
XSwgW10sCistICAgICAgIFskI10sIFsyXSwgW1skMl1dLAorLSAgICAgICBbbTRfaWYoWyQyXSwg
W10sIFtdLCBbWyQyXV9dKSQwKFskMV0sIG00X3NoaWZ0MigkQCkpXSldKQorLW00X2RlZmluZShb
X200X2pvaW5dLAorLVttNF9pZihbJCMkMl0sIFsyXSwgW10sCistICAgICAgIFttNF9pZihbJDJd
LCBbXSwgW10sIFtbJDEkMl1dKSQwKFskMV0sIG00X3NoaWZ0MigkQCkpXSldKQorLQorLSMgbTRf
am9pbmFsbChTRVAsIEFSRzEsIEFSRzIuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIFByb2R1Y2UgQVJHMVNFUEFSRzIuLi5TRVBBUkduLiAgQW4gZW1wdHkgQVJHIHJl
c3VsdHMgaW4gYmFjay10by1iYWNrIFNFUC4KKy0jIE5vIGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQg
b24gU0VQIG9yIEFSR3MuCistIworLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdp
dGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9kZWZpbmUoW200X2pvaW5hbGxdLCBb
WyQyXV8kMChbJDFdLCBtNF9zaGlmdCgkQCkpXSkKKy1tNF9kZWZpbmUoW19tNF9qb2luYWxsXSwK
Ky1bbTRfaWYoWyQjXSwgWzJdLCBbXSwgW1skMSQzXSQwKFskMV0sIG00X3NoaWZ0MigkQCkpXSld
KQorLQorLSMgbTRfY29tYmluZShbU0VQQVJBVE9SXSwgUFJFRklYLUxJU1QsIFtJTkZJWF0sIFNV
RkZJWC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBQcm9kdWNlIHRoZSBwYWlyd2lzZSBjb21iaW5hdGlvbiBvZiBldmVy
eSBlbGVtZW50IGluIHRoZSBxdW90ZWQsCistIyBjb21tYS1zZXBhcmF0ZWQgUFJFRklYLUxJU1Qg
d2l0aCBldmVyeSBlbGVtZW50IGZyb20gdGhlIFNVRkZJWCBhcmd1bWVudHMuCistIyBFYWNoIHBh
aXIgaXMgam9pbmVkIHdpdGggSU5GSVgsIGFuZCBwYWlycyBhcmUgc2VwYXJhdGVkIGJ5IFNFUEFS
QVRPUi4KKy0jIE5vIGV4cGFuc2lvbiBvY2N1cnMgb24gU0VQQVJBVE9SLCBJTkZJWCwgb3IgZWxl
bWVudHMgb2YgZWl0aGVyIGxpc3QuCistIworLSMgRm9yIGV4YW1wbGU6CistIyAgIG00X2NvbWJp
bmUoWywgXSwgW1thXSwgW2JdLCBbY11dLCBbLV0sIFsxXSwgWzJdLCBbM10pCistIyAgID0+IGEt
MSwgYS0yLCBhLTMsIGItMSwgYi0yLCBiLTMsIGMtMSwgYy0yLCBjLTMKKy0jCistIyBUaGlzIGRl
ZmluaXRpb24gaXMgYSBiaXQgaGFpcnk7IHRoZSB0aGluZyB0byByZWFsaXplIGlzIHRoYXQgd2Ug
d2FudAorLSMgdG8gY29uc3RydWN0IG00X21hcF9hcmdzX3NlcChbW3ByZWZpeCQzXV0sIFtdLCBb
WyQxXV0sIG00X3NoaWZ0MygkQCkpCistIyBhcyB0aGUgaW5uZXIgbG9vcCwgdXNpbmcgZWFjaCBw
cmVmaXggZ2VuZXJhdGVkIGJ5IHRoZSBvdXRlciBsb29wLAorLSMgYW5kIHdpdGhvdXQgcmVjYWxj
dWxhdGluZyBtNF9zaGlmdDMgZXZlcnkgb3V0ZXIgaXRlcmF0aW9uLgorLW00X2RlZmluZShbbTRf
Y29tYmluZV0sCistW200X2lmKFskMl0sIFtdLCBbXSwgbTRfZXZhbChbJCMgPiAzXSksIFsxXSwK
Ky1bbTRfbWFwX2FyZ3Nfc2VwKFttNF9tYXBfYXJnc19zZXAobTRfZHF1b3RlKF0sIFspW1skM11d
LCBbXSwgW1skMV1dLF1dXWRubAorLVttNF9kcXVvdGUobTRfZHF1b3RlKG00X3NoaWZ0MygkQCkp
KVtbKV0sIFtbJDFdXSwgJDIpXSldKQorLQorLQorLSMgbTRfYXBwZW5kKE1BQ1JPLU5BTUUsIFNU
UklORywgW1NFUEFSQVRPUl0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIFJlZGVmaW5lIE1BQ1JPLU5BTUUgdG8gaG9sZCBpdHMgZm9ybWVyIGNvbnRl
bnQgcGx1cyBgU0VQQVJBVE9SYCdTVFJJTkcnCistIyBhdCB0aGUgZW5kLiAgSXQgaXMgdmFsaWQg
dG8gdXNlIHRoaXMgbWFjcm8gd2l0aCBNQUNSTy1OQU1FIHVuZGVmaW5lZCwKKy0jIGluIHdoaWNo
IGNhc2Ugbm8gU0VQQVJBVE9SIGlzIGFkZGVkLiAgQmUgYXdhcmUgdGhhdCB0aGUgY3JpdGVyaW9u
IGlzCistIyBgbm90IGJlaW5nIGRlZmluZWQnLCBhbmQgbm90IGBub3QgYmVpbmcgZW1wdHknLgor
LSMKKy0jIE5vdGUgdGhhdCBuZWl0aGVyIFNUUklORyBub3IgU0VQQVJBVE9SIGFyZSBleHBhbmRl
ZCBoZXJlOyByYXRoZXIsIHdoZW4KKy0jIHlvdSBleHBhbmQgTUFDUk8tTkFNRSwgdGhleSB3aWxs
IGJlIGV4cGFuZGVkIGF0IHRoYXQgcG9pbnQgaW4gdGltZS4KKy0jCistIyBUaGlzIG1hY3JvIGlz
IHJvYnVzdCB0byBhY3RpdmUgc3ltYm9scy4gIEl0IGNhbiBiZSB1c2VkIHRvIGdyb3cKKy0jIHN0
cmluZ3MuCistIworLSMgICAgfCBtNF9kZWZpbmUoYWN0aXZlLCBBQ1RJVkUpZG5sCistIyAgICB8
IG00X2FwcGVuZChbc2VudGVuY2VdLCBbVGhpcyBpcyBhbl0pZG5sCistIyAgICB8IG00X2FwcGVu
ZChbc2VudGVuY2VdLCBbIGFjdGl2ZSBdKWRubAorLSMgICAgfCBtNF9hcHBlbmQoW3NlbnRlbmNl
XSwgW3N5bWJvbC5dKWRubAorLSMgICAgfCBzZW50ZW5jZQorLSMgICAgfCBtNF91bmRlZmluZShb
YWN0aXZlXSlkbmwKKy0jICAgIHwgc2VudGVuY2UKKy0jICAgID0+IFRoaXMgaXMgYW4gQUNUSVZF
IHN5bWJvbC4KKy0jICAgID0+IFRoaXMgaXMgYW4gYWN0aXZlIHN5bWJvbC4KKy0jCistIyBJdCBj
YW4gYmUgdXNlZCB0byBkZWZpbmUgaG9va3MuCistIworLSMgICAgfCBtNF9kZWZpbmUoYWN0aXZl
LCBBQ1RJVkUpZG5sCistIyAgICB8IG00X2FwcGVuZChbaG9va3NdLCBbbTRfZGVmaW5lKFthY3Qx
XSwgW2FjdDJdKV0pZG5sCistIyAgICB8IG00X2FwcGVuZChbaG9va3NdLCBbbTRfZGVmaW5lKFth
Y3QyXSwgW2FjdGl2ZV0pXSlkbmwKKy0jICAgIHwgbTRfdW5kZWZpbmUoW2FjdGl2ZV0pZG5sCist
IyAgICB8IGFjdDEKKy0jICAgIHwgaG9va3MKKy0jICAgIHwgYWN0MQorLSMgICAgPT4gYWN0MQor
LSMgICAgPT4KKy0jICAgID0+IGFjdGl2ZQorLSMKKy0jIEl0IGNhbiBhbHNvIGJlIHVzZWQgdG8g
Y3JlYXRlIGxpc3RzLCBhbHRob3VnaCB0aGlzIHBhcnRpY3VsYXIgdXNhZ2Ugd2FzCistIyBicm9r
ZW4gcHJpb3IgdG8gYXV0b2NvbmYgMi42Mi4KKy0jICAgIHwgbTRfYXBwZW5kKFtsaXN0XSwgW29u
ZV0sIFssIF0pZG5sCistIyAgICB8IG00X2FwcGVuZChbbGlzdF0sIFt0d29dLCBbLCBdKWRubAor
LSMgICAgfCBtNF9hcHBlbmQoW2xpc3RdLCBbdGhyZWVdLCBbLCBdKWRubAorLSMgICAgfCBsaXN0
CistIyAgICB8IG00X2RxdW90ZShsaXN0KQorLSMgICAgPT4gb25lLCB0d28sIHRocmVlCistIyAg
ICA9PiBbb25lXSxbdHdvXSxbdGhyZWVdCistIworLSMgTm90ZSB0aGF0IG00X2FwcGVuZCBjYW4g
YmVuZWZpdCBmcm9tIGFtb3J0aXplZCBPKG4pIG00IGJlaGF2aW9yLCBpZgorLSMgdGhlIHVuZGVy
bHlpbmcgbTQgaW1wbGVtZW50YXRpb24gaXMgc21hcnQgZW5vdWdoIHRvIGF2b2lkIGNvcHlpbmcg
ZXhpc3RpbmcKKy0jIGNvbnRlbnRzIHdoZW4gZW5sYXJnaW5nIGEgbWFjcm8ncyBkZWZpbml0aW9u
IGludG8gYW55IHByZS1hbGxvY2F0ZWQgc3RvcmFnZQorLSMgKG00IDEuNC54IHVuZm9ydHVuYXRl
bHkgZG9lcyBub3QgaW1wbGVtZW50IHRoaXMgb3B0aW1pemF0aW9uKS4gIFdlIGRvCistIyBub3Qg
aW1wbGVtZW50IG00X3ByZXBlbmQsIHNpbmNlIGl0IGlzIGluaGVyZW50bHkgTyhuXjIpIChwcmUt
YWxsb2NhdGVkCistIyBzdG9yYWdlIG9ubHkgb2NjdXJzIGF0IHRoZSBlbmQgb2YgYSBtYWNybywg
c28gdGhlIGV4aXN0aW5nIGNvbnRlbnRzIG11c3QKKy0jIGFsd2F5cyBiZSBtb3ZlZCkuCistIwor
LSMgVXNlIF9tNF9kZWZuIGZvciBzcGVlZC4KKy1tNF9kZWZpbmUoW200X2FwcGVuZF0sCistW200
X2RlZmluZShbJDFdLCBtNF9pZmRlZihbJDFdLCBbX200X2RlZm4oWyQxXSlbJDNdXSlbJDJdKV0p
CistCistCistIyBtNF9hcHBlbmRfdW5pcShNQUNSTy1OQU1FLCBTVFJJTkcsIFtTRVBBUkFUT1Jd
LCBbSUYtVU5JUV0sIFtJRi1EVVBdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIExpa2UgYG00X2FwcGVu
ZCcsIGJ1dCBhcHBlbmQgb25seSBpZiBub3QgeWV0IHByZXNlbnQuICBBZGRpdGlvbmFsbHksCist
IyBleHBhbmQgSUYtVU5JUSBpZiBTVFJJTkcgd2FzIGFwcGVuZGVkLCBvciBJRi1EVVAgaWYgU1RS
SU5HIHdhcyBhbHJlYWR5CistIyBwcmVzZW50LiAgQWxzbywgd2FybiBpZiBTRVBBUkFUT1IgaXMg
bm90IGVtcHR5IGFuZCBvY2N1cnMgd2l0aGluIFNUUklORywKKy0jIGFzIHRoZSBhbGdvcml0aG0g
bm8gbG9uZ2VyIGd1YXJhbnRlZXMgdW5pcXVlbmVzcy4KKy0jCistIyBOb3RlIHRoYXQgd2hpbGUg
bTRfYXBwZW5kIGNhbiBiZSBPKG4pIChkZXBlbmRpbmcgb24gdGhlIHF1YWxpdHkgb2YgdGhlCist
IyB1bmRlcmx5aW5nIE00IGltcGxlbWVudGF0aW9uKSwgbTRfYXBwZW5kX3VuaXEgaXMgaW5oZXJl
bnRseSBPKG5eMikKKy0jIGJlY2F1c2UgZWFjaCBhcHBlbmQgb3BlcmF0aW9uIHNlYXJjaGVzIHRo
ZSBlbnRpcmUgc3RyaW5nLgorLW00X2RlZmluZShbbTRfYXBwZW5kX3VuaXFdLAorLVttNF9pZnZh
bChbJDNdLCBbbTRfaWYobTRfaW5kZXgoWyQyXSwgWyQzXSksIFstMV0sIFtdLAorLQkJICAgICAg
IFttNF93YXJuKFtzeW50YXhdLAorLQkJCQlbJDA6IGAkMicgY29udGFpbnMgYCQzJ10pXSldKV8k
MCgkQCldKQorLW00X2RlZmluZShbX200X2FwcGVuZF91bmlxXSwKKy1bbTRfaWZkZWYoWyQxXSwK
Ky0JICBbbTRfaWYobTRfaW5kZXgoWyQzXV9tNF9kZWZuKFskMV0pWyQzXSwgWyQzJDIkM10pLCBb
LTFdLAorLQkJIFttNF9hcHBlbmQoWyQxXSwgWyQyXSwgWyQzXSkkNF0sIFskNV0pXSwKKy0JICBb
bTRfZGVmaW5lKFskMV0sIFskMl0pJDRdKV0pCistCistIyBtNF9hcHBlbmRfdW5pcV93KE1BQ1JP
LU5BTUUsIFNUUklOR1MpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CistIyBGb3IgZWFjaCBvZiB0aGUgd29yZHMgaW4gdGhlIHdoaXRlc3BhY2Ugc2VwYXJhdGVkIGxp
c3QgU1RSSU5HUywgYXBwZW5kCistIyBvbmx5IHRoZSB1bmlxdWUgc3RyaW5ncyB0byB0aGUgZGVm
aW5pdGlvbiBvZiBNQUNSTy1OQU1FLgorLSMKKy0jIFVzZSBfbTRfZGVmbiBmb3Igc3BlZWQuCist
bTRfZGVmaW5lKFttNF9hcHBlbmRfdW5pcV93XSwKKy1bbTRfbWFwX2FyZ3NfdyhbJDJdLCBbX200
X2FwcGVuZF91bmlxKFskMV0sXSwgWywgWyBdKV0pXSkKKy0KKy0KKy0jIG00X2VzY2FwZShTVFJJ
TkcpCistIyAtLS0tLS0tLS0tLS0tLS0tLQorLSMgT3V0cHV0IHF1b3RlZCBTVFJJTkcsIGJ1dCB3
aXRoIGVtYmVkZGVkICMsICQsIFsgYW5kIF0gdHVybmVkIGludG8KKy0jIHF1YWRyaWdyYXBocy4K
Ky0jCistIyBJdCBpcyBmYXN0ZXIgdG8gY2hlY2sgaWYgU1RSSU5HIGlzIGFscmVhZHkgZ29vZCB1
c2luZyBtNF90cmFuc2xpdAorLSMgdGhhbiB0byBibGluZGx5IHBlcmZvcm0gZm91ciBtNF9icGF0
c3Vic3QuCistIworLSMgQmVjYXVzZSB0aGUgdHJhbnNsaXQgaXMgc3RyaXBwaW5nIHF1b3Rlcywg
aXQgbXVzdCBhbHNvIG5ldXRyYWxpemUKKy0jIGFueXRoaW5nIHRoYXQgbWlnaHQgYmUgaW4gYSBt
YWNybyBuYW1lLCBhcyB3ZWxsIGFzIGNvbW1lbnRzLCBjb21tYXMsCistIyBhbmQgcGFyZW50aGVz
ZXMuICBBbGwgdGhlIHByb2JsZW0gY2hhcmFjdGVycyBhcmUgdW5pZmllZCBzbyB0aGF0IGEKKy0j
IHNpbmdsZSBtNF9pbmRleCBjYW4gc2NhbiB0aGUgcmVzdWx0LgorLSMKKy0jIFJhdGhlciB0aGFu
IGV4cGFuZCBtNF9kZWZuIGV2ZXJ5IHRpbWUgbTRfZXNjYXBlIGlzIGV4cGFuZGVkLCB3ZQorLSMg
aW5saW5lIGl0cyBleHBhbnNpb24gdXAgZnJvbnQuCistbTRfZGVmaW5lKFttNF9lc2NhcGVdLAor
LVttNF9pZihtNF9pbmRleChtNF90cmFuc2xpdChbJDFdLAorLSAgIFtbXSMsKCldXW00X2RxdW90
ZShtNF9kZWZuKFttNF9jcl9zeW1ib2xzMl0pKVssIFskJCRdKSwgWyRdKSwKKy0gIFstMV0sIFtt
NF9lY2hvXSwgW18kMF0pKFskMV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9lc2NhcGVdLAorLVtt
NF9jaGFuZ2VxdW90ZShbLT08eyhdLFspfT49LV0pXWRubAorLVttNF9icGF0c3Vic3QobTRfYnBh
dHN1YnN0KG00X2JwYXRzdWJzdChtNF9icGF0c3Vic3QoCistCSAgLT08eygtPTx7KC09PHsoLT08
eygtPTx7KCQxKX0+PS0pfT49LSl9Pj0tKX0+PS0pfT49LSwKKy0JLT08eygjKX0+PS0sIC09PHso
QCU6QCl9Pj0tKSwKKy0gICAgICAtPTx7KFxbKX0+PS0sIC09PHsoQDw6QCl9Pj0tKSwKKy0gICAg
LT08eyhcXSl9Pj0tLCAtPTx7KEA6PkApfT49LSksCistICAtPTx7KFwkKX0+PS0sIC09PHsoQFN8
QCl9Pj0tKW00X2NoYW5nZXF1b3RlKFssXSldKQorLQorLQorLSMgbTRfdGV4dF93cmFwKFNUUklO
RywgW1BSRUZJWF0sIFtGSVJTVC1QUkVGSVhdLCBbV0lEVEhdKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5kcyBpbnRv
IFNUUklORyB3cmFwcGVkIHRvIGhvbGQgaW4gV0lEVEggY29sdW1ucyAoZGVmYXVsdCA9IDc5KS4K
Ky0jIElmIFBSRUZJWCBpcyBnaXZlbiwgZWFjaCBsaW5lIGlzIHByZWZpeGVkIHdpdGggaXQuICBJ
ZiBGSVJTVC1QUkVGSVggaXMKKy0jIHNwZWNpZmllZCwgdGhlbiB0aGUgZmlyc3QgbGluZSBpcyBw
cmVmaXhlZCB3aXRoIGl0LiAgQXMgYSBzcGVjaWFsIGNhc2UsCistIyBpZiB0aGUgbGVuZ3RoIG9m
IEZJUlNULVBSRUZJWCBpcyBncmVhdGVyIHRoYW4gdGhhdCBvZiBQUkVGSVgsIHRoZW4KKy0jIEZJ
UlNULVBSRUZJWCB3aWxsIGJlIGxlZnQgYWxvbmUgb24gdGhlIGZpcnN0IGxpbmUuCistIworLSMg
Tm8gZXhwYW5zaW9uIG9jY3VycyBvbiB0aGUgY29udGVudHMgU1RSSU5HLCBQUkVGSVgsIG9yIEZJ
UlNULVBSRUZJWCwKKy0jIGFsdGhvdWdoIHF1YWRyaWdyYXBocyBhcmUgY29ycmVjdGx5IHJlY29n
bml6ZWQuICBNb3JlIHByZWNpc2VseSwKKy0jIHlvdSBtYXkgcmVkZWZpbmUgbTRfcWxlbiB0byBy
ZWNvZ25pemUgd2hhdGV2ZXIgZXNjYXBlIHNlcXVlbmNlcyB0aGF0CistIyB5b3Ugd2lsbCBwb3N0
LXByb2Nlc3MuCistIworLSMgVHlwaWNhbCBvdXRwdXRzIGFyZToKKy0jCistIyBtNF90ZXh0X3dy
YXAoW1Nob3J0IHN0cmluZyAqL10sIFsgICBdLCBbLyogXSwgMjApCistIyAgPT4gLyogU2hvcnQg
c3RyaW5nICovCistIworLSMgbTRfdGV4dF93cmFwKFtNdWNoIGxvbmdlciBzdHJpbmcgKi9dLCBb
ICAgXSwgWy8qIF0sIDIwKQorLSMgID0+IC8qIE11Y2ggbG9uZ2VyCistIyAgPT4gICAgc3RyaW5n
ICovCistIworLSMgbTRfdGV4dF93cmFwKFtTaG9ydCBkb2MuXSwgWyAgICAgICAgICBdLCBbICAt
LXNob3J0IF0sIDMwKQorLSMgID0+ICAgLS1zaG9ydCBTaG9ydCBkb2MuCistIworLSMgbTRfdGV4
dF93cmFwKFtTaG9ydCBkb2MuXSwgWyAgICAgICAgICBdLCBbICAtLXRvby13aWRlIF0sIDMwKQor
LSMgID0+ICAgLS10b28td2lkZQorLSMgID0+ICAgICAgICAgICBTaG9ydCBkb2MuCistIworLSMg
bTRfdGV4dF93cmFwKFtTdXBlciBsb25nIGRvY3VtZW50YXRpb24uXSwgWyAgICAgICAgICBdLCBb
ICAtLXRvby13aWRlIF0sIDMwKQorLSMgID0+ICAgLS10b28td2lkZQorLSMgID0+ICAgICAgU3Vw
ZXIgbG9uZworLSMgID0+ICAgICAgZG9jdW1lbnRhdGlvbi4KKy0jCistIyBGSVhNRTogdGhlcmUg
aXMgbm8gY2hlY2tpbmcgb2YgYSBsb25nZXIgUFJFRklYIHRoYW4gV0lEVEgsIGJ1dCBkbworLSMg
d2UgcmVhbGx5IHdhbnQgdG8gYm90aGVyIHdpdGggcGVvcGxlIHRyeWluZyBlYWNoIHNpbmdsZSBj
b3JuZXIKKy0jIG9mIGEgc29mdHdhcmU/CistIworLSMgVGhpcyBtYWNybyBkb2VzIG5vdCBsZWF2
ZSBhIHRyYWlsaW5nIHNwYWNlIGJlaGluZCB0aGUgbGFzdCB3b3JkIG9mIGEgbGluZSwKKy0jIHdo
aWNoIGNvbXBsaWNhdGVzIGl0IGEgYml0LiAgVGhlIGFsZ29yaXRobSBpcyBvdGhlcndpc2Ugc3R1
cGlkIGFuZCBzaW1wbGU6CistIyBhbGwgdGhlIHdvcmRzIGFyZSBwcmVjZWRlZCBieSBtNF9TZXBh
cmF0b3Igd2hpY2ggaXMgZGVmaW5lZCB0byBlbXB0eSBmb3IKKy0jIHRoZSBmaXJzdCB3b3JkLCBh
bmQgdGhlbiBgICcgKHNpbmdsZSBzcGFjZSkgZm9yIGFsbCB0aGUgb3RoZXJzLgorLSMKKy0jIFRo
ZSBhbGdvcml0aG0gdXNlcyBhIGhlbHBlciB0aGF0IHVzZXMgJDIgdGhyb3VnaCAkNCBkaXJlY3Rs
eSwgcmF0aGVyIHRoYW4KKy0jIHVzaW5nIGxvY2FsIHZhcmlhYmxlcywgdG8gYXZvaWQgbTRfZGVm
biBvdmVyaGVhZCwgb3IgZXhwYW5zaW9uIHN3YWxsb3dpbmcKKy0jIGFueSAkLiAgSXQgYWxzbyBi
eXBhc3NlcyBtNF9wb3BkZWYgb3ZlcmhlYWQgd2l0aCBfbTRfcG9wZGVmIHNpbmNlIG5vIHVzZXIK
Ky0jIG1hY3JvIGV4cGFuc2lvbiBvY2N1cnMgaW4gdGhlIG1lYW50aW1lLiAgQWxzbywgdGhlIGRl
ZmluaXRpb24gaXMgd3JpdHRlbgorLSMgd2l0aCBtNF9kbywgdG8gYXZvaWQgdGltZSB3YXN0ZWQg
b24gZG5sIGR1cmluZyBleHBhbnNpb24gKHNpbmNlIHRoaXMgaXMKKy0jIGFscmVhZHkgYSB0aW1l
LWNvbnN1bWluZyBtYWNybykuCistbTRfZGVmaW5lKFttNF90ZXh0X3dyYXBdLAorLVtfJDAobTRf
ZXNjYXBlKFskMV0pLCBbJDJdLCBtNF9kZWZhdWx0X3F1b3RlZChbJDNdLCBbJDJdKSwKKy0gICAg
IG00X2RlZmF1bHRfcXVvdGVkKFskNF0sIFs3OV0pKV0pCistCistbTRfZGVmaW5lKFtfbTRfdGV4
dF93cmFwXSwKKy1tNF9kbyhkbmwgc2V0IHVwIGxvY2FsIHZhcmlhYmxlcywgdG8gYXZvaWQgcmVw
ZWF0ZWQgY2FsY3VsYXRpb25zCistW1ttNF9wdXNoZGVmKFttNF9JbmRlbnRdLCBtNF9xbGVuKFsk
Ml0pKV1dLAorLVtbbTRfcHVzaGRlZihbbTRfQ3Vyc29yXSwgbTRfcWxlbihbJDNdKSldXSwKKy1b
W200X3B1c2hkZWYoW200X1NlcGFyYXRvcl0sIFttNF9kZWZpbmUoW200X1NlcGFyYXRvcl0sIFsg
XSldKV1dLAorLWRubCBleHBhbmQgdGhlIGZpcnN0IHByZWZpeCwgdGhlbiBjaGVjayBpdHMgbGVu
Z3RoIHZzLiByZWd1bGFyIHByZWZpeAorLWRubCBzYW1lIGxlbmd0aDogbm90aGluZyBzcGVjaWFs
CistZG5sIHByZWZpeDEgbG9uZ2VyOiBvdXRwdXQgb24gbGluZSBieSBpdHNlbGYsIGFuZCByZXNl
dCBjdXJzb3IKKy1kbmwgcHJlZml4MSBzaG9ydGVyOiBwYWQgdG8gbGVuZ3RoIG9mIHByZWZpeCwg
YW5kIHJlc2V0IGN1cnNvcgorLVtbWyQzXW00X2NvbmQoW200X0N1cnNvcl0sIG00X0luZGVudCwg
W10sCistCSAgICAgIFttNF9ldmFsKG00X0N1cnNvciA+IG00X0luZGVudCldLCBbMV0sIFsKKy1b
JDJdbTRfZGVmaW5lKFttNF9DdXJzb3JdLCBtNF9JbmRlbnQpXSwKKy0JICAgICAgW200X2Zvcm1h
dChbJSpzXSwgbTRfbWF4KFswXSwKKy0gIG00X2V2YWwobTRfSW5kZW50IC0gbTRfQ3Vyc29yKSks
IFtdKW00X2RlZmluZShbbTRfQ3Vyc29yXSwgbTRfSW5kZW50KV0pXV0sCistZG5sIG5vdywgZm9y
IGVhY2ggd29yZCwgY29tcHV0ZSB0aGUgY3Vyc29yIGFmdGVyIHRoZSB3b3JkIGlzIG91dHB1dCwg
dGhlbgorLWRubCBjaGVjayBpZiB0aGUgY3Vyc29yIHdvdWxkIGV4Y2VlZCB0aGUgd3JhcCBjb2x1
bW4KKy1kbmwgaWYgc28sIHJlc2V0IGN1cnNvciwgYW5kIGluc2VydCBuZXdsaW5lIGFuZCBwcmVm
aXgKKy1kbmwgaWYgbm90LCBpbnNlcnQgdGhlIHNlcGFyYXRvciAodXN1YWxseSBhIHNwYWNlKQor
LWRubCBlaXRoZXIgd2F5LCBpbnNlcnQgdGhlIHdvcmQKKy1bW200X21hcF9hcmdzX3coWyQxXSwg
WyQwX3dvcmQoXSwgWywgWyQyXSwgWyQ0XSldKV1dLAorLWRubCBmaW5hbGx5LCBjbGVhbiB1cCB0
aGUgbG9jYWwgdmFyaWFibGVzCistW1tfbTRfcG9wZGVmKFttNF9TZXBhcmF0b3JdLCBbbTRfQ3Vy
c29yXSwgW200X0luZGVudF0pXV0pKQorLQorLW00X2RlZmluZShbX200X3RleHRfd3JhcF93b3Jk
XSwKKy1bbTRfZGVmaW5lKFttNF9DdXJzb3JdLCBtNF9ldmFsKG00X0N1cnNvciArIG00X3FsZW4o
WyQxXSkgKyAxKSldZG5sCistW200X2lmKG00X2V2YWwobTRfQ3Vyc29yID4gKFskM10pKSwKKy0g
ICAgICBbMV0sIFttNF9kZWZpbmUoW200X0N1cnNvcl0sIG00X2V2YWwobTRfSW5kZW50ICsgbTRf
cWxlbihbJDFdKSArIDEpKQorLVskMl1dLAorLSAgICAgIFttNF9TZXBhcmF0b3JbXV0pWyQxXV0p
CistCistIyBtNF90ZXh0X2JveChNRVNTQUdFLCBbRlJBTUUtQ0hBUkFDVEVSID0gYC0nXSkKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgVHVybiBN
RVNTQUdFIGludG86CistIyAgIyMgLS0tLS0tLSAjIworLSMgICMjIE1FU1NBR0UgIyMKKy0jICAj
IyAtLS0tLS0tICMjCistIyB1c2luZyBGUkFNRS1DSEFSQUNURVIgaW4gdGhlIGJvcmRlci4KKy0j
CistIyBRdWFkcmlncmFwaHMgYXJlIGNvcnJlY3RseSByZWNvZ25pemVkLiAgTW9yZSBwcmVjaXNl
bHksIHlvdSBtYXkKKy0jIHJlZGVmaW5lIG00X3FsZW4gdG8gcmVjb2duaXplIHdoYXRldmVyIGVz
Y2FwZSBzZXF1ZW5jZXMgdGhhdCB5b3UKKy0jIHdpbGwgcG9zdC1wcm9jZXNzLgorLW00X2RlZmlu
ZShbbTRfdGV4dF9ib3hdLAorLVttNF9wdXNoZGVmKFttNF9Cb3JkZXJdLAorLQkgICAgbTRfdHJh
bnNsaXQobTRfZm9ybWF0KFtbWyUqc11dXSwgbTRfZGVjcihtNF9xbGVuKF9tNF9leHBhbmQoWyQx
CistXSkpKSwgW10pLCBbIF0sIG00X2RlZmF1bHRfcXVvdGVkKFskMl0sIFstXSkpKV1kbmwKKy1b
WyMjXSBfbTRfZGVmbihbbTRfQm9yZGVyXSkgWyMjXQorLVsjI10gJDEgWyMjXQorLVsjI10gX200
X2RlZm4oW200X0JvcmRlcl0pIFsjI11fbTRfcG9wZGVmKFttNF9Cb3JkZXJdKV0pCistCistCist
IyBtNF9xbGVuKFNUUklORykKKy0jIC0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5kcyB0byB0aGUg
bGVuZ3RoIG9mIFNUUklORyBhZnRlciBhdXRvbTR0ZSBjb252ZXJ0cyBhbGwgcXVhZHJpZ3JhcGhz
LgorLSMKKy0jIElmIHlvdSB1c2Ugc29tZSBvdGhlciBtZWFucyBvZiBwb3N0LXByb2Nlc3Npbmcg
bTQgb3V0cHV0IHJhdGhlciB0aGFuCistIyBhdXRvbTR0ZSwgdGhlbiB5b3UgbWF5IHJlZGVmaW5l
IHRoaXMgbWFjcm8gdG8gcmVjb2duaXplIHdoYXRldmVyCistIyBlc2NhcGUgc2VxdWVuY2VzIHlv
dXIgcG9zdC1wcm9jZXNzb3Igd2lsbCBoYW5kbGUuICBGb3IgdGhhdCBtYXR0ZXIsCistIyBtNF9k
ZWZpbmUoW200X3FsZW5dLCBtNF9kZWZuKFttNF9sZW5dKSkgaXMgc3VmZmljaWVudCBpZiB5b3Ug
ZG9uJ3QKKy0jIGRvIGFueSBwb3N0LXByb2Nlc3NpbmcuCistIworLSMgQXZvaWQgYnBhdHN1YnN0
cyBmb3IgdGhlIGNvbW1vbiBjYXNlIG9mIG5vIHF1YWRyaWdyYXBocy4gIENhY2hlCistIyByZXN1
bHRzLCBhcyBjb25maWd1cmUgc2NyaXB0cyB0ZW5kIHRvIGFzayBhYm91dCBsZW5ndGhzIG9mIGNv
bW1vbgorLSMgc3RyaW5ncyBsaWtlIGAvKicgYW5kIGAqLycgcmF0aGVyIGZyZXF1ZW50bHkuICBN
aW5pbWl6ZSB0aGUgbnVtYmVyCistIyBvZiB0aW1lcyB0aGF0ICQxIG9jY3VycyBpbiBtNF9xbGVu
LCBzbyB0aGVyZSBpcyBsZXNzIHRleHQgdG8gcGFyc2UKKy0jIG9uIGEgY2FjaGUgaGl0LgorLW00
X2RlZmluZShbbTRfcWxlbl0sCistW200X2lmZGVmKFskMC0kMV0sIFtfbTRfZGVmbihbJDAtXV0s
IFtfJDAoXSlbJDFdKV0pCistbTRfZGVmaW5lKFtfbTRfcWxlbl0sCistW200X2RlZmluZShbbTRf
cWxlbi0kMV0sCistbTRfaWYobTRfaW5kZXgoWyQxXSwgW0BdKSwgWy0xXSwgW200X2xlbihbJDFd
KV0sCistICAgICAgW200X2xlbihtNF9icGF0c3Vic3QoW1skMV1dLAorLQkJCSAgIFtAXChcKDw6
XHw6Plx8U3xcfCU6XHxcezpcfDpcfVwpXChAXClcfCZ0QFwpXSwKKy0JCQkgICBbXDNdKSldKSlf
bTRfZGVmbihbbTRfcWxlbi0kMV0pXSkKKy0KKy0jIG00X2NvcHlyaWdodF9jb25kZW5zZShURVhU
KQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBDb25kZW5zZSB0aGUgY29weXJp
Z2h0IG5vdGljZSBpbiBURVhUIHRvIG9ubHkgZGlzcGxheSB0aGUgZmluYWwKKy0jIHllYXIsIHdy
YXBwaW5nIHRoZSByZXN1bHRzIHRvIGZpdCBpbiA4MCBjb2x1bW5zLgorLW00X2RlZmluZShbbTRf
Y29weXJpZ2h0X2NvbmRlbnNlXSwKKy1bbTRfdGV4dF93cmFwKG00X2JwYXRzdWJzdChtNF9mbGF0
dGVuKFtbJDFdXSksCistWyhDKVstCSAsMC05XSpcKFsxLTldWzAtOV1bMC05XVswLTldXCldLCBb
KEMpIFwxXSkpXSkKKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIDEzLiBO
dW1iZXIgcHJvY2Vzc2luZy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0K
Ky0jIG00X2NtcChBLCBCKQorLSMgLS0tLS0tLS0tLS0tCistIyBDb21wYXJlIHR3byBpbnRlZ2Vy
IGV4cHJlc3Npb25zLgorLSMgQSA8IEIgLT4gLTEKKy0jIEEgPSBCIC0+ICAwCistIyBBID4gQiAt
PiAgMQorLW00X2RlZmluZShbbTRfY21wXSwKKy1bbTRfZXZhbCgoKFskMV0pID4gKFskMl0pKSAt
ICgoWyQxXSkgPCAoWyQyXSkpKV0pCistCistCistIyBtNF9saXN0X2NtcChBLCBCKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0KKy0jCistIyBDb21wYXJlIHRoZSB0d28gbGlzdHMgb2YgaW50ZWdlciBl
eHByZXNzaW9ucyBBIGFuZCBCLiAgRm9yIGluc3RhbmNlOgorLSMgICBtNF9saXN0X2NtcChbMSwg
MF0sICAgICBbMV0pICAgIC0+ICAwCistIyAgIG00X2xpc3RfY21wKFsxLCAwXSwgICAgIFsxLCAw
XSkgLT4gIDAKKy0jICAgbTRfbGlzdF9jbXAoWzEsIDJdLCAgICAgWzEsIDBdKSAtPiAgMQorLSMg
ICBtNF9saXN0X2NtcChbMSwgMiwgM10sICBbMSwgMl0pIC0+ICAxCistIyAgIG00X2xpc3RfY21w
KFsxLCAyLCAtM10sIFsxLCAyXSkgLT4gLTEKKy0jICAgbTRfbGlzdF9jbXAoWzEsIDBdLCAgICAg
WzEsIDJdKSAtPiAtMQorLSMgICBtNF9saXN0X2NtcChbMV0sICAgICAgICBbMSwgMl0pIC0+IC0x
CistIyAgIG00X2RlZmluZShbeGFdLCBbb29wc10pZG5sCistIyAgIG00X2xpc3RfY21wKFtbMHhh
XV0sICAgIFs1KzVdKSAgLT4gMAorLSMKKy0jIFJhdGhlciB0aGFuIGZhY2UgdGhlIG92ZXJoZWFk
IG9mIG00X2Nhc2UsIHdlIHVzZSBhIGhlbHBlciBmdW5jdGlvbiB3aG9zZQorLSMgZXhwYW5zaW9u
IGluY2x1ZGVzIHRoZSBuYW1lIG9mIHRoZSBtYWNybyB0byBpbnZva2Ugb24gdGhlIHRhaWwsIGVp
dGhlcgorLSMgbTRfaWdub3JlIG9yIG00X3VucXVvdGUuICBUaGlzIGlzIHBhcnRpY3VsYXJseSB1
c2VmdWwgd2hlbiBjb21wYXJpbmcKKy0jIGxvbmcgbGlzdHMsIHNpbmNlIGxlc3MgdGV4dCBpcyBi
ZWluZyBleHBhbmRlZCBmb3IgZGVjaWRpbmcgd2hlbiB0byBlbmQKKy0jIHJlY3Vyc2lvbi4gIFRo
ZSByZWN1cnNpb24gaXMgYmV0d2VlbiBhIHBhaXIgb2YgbWFjcm9zIHRoYXQgYWx0ZXJuYXRlCist
IyB3aGljaCBsaXN0IGlzIHRyaW1tZWQgYnkgb25lIGVsZW1lbnQ7IHRoaXMgaXMgbW9yZSBlZmZp
Y2llbnQgdGhhbgorLSMgY2FsbGluZyBtNF9jZHIgb24gYm90aCBsaXN0cyBmcm9tIGEgc2luZ2xl
IG1hY3JvLiAgR3VhcmFudGVlIGV4YWN0bHkKKy0jIG9uZSBleHBhbnNpb24gb2YgYm90aCBsaXN0
cycgc2lkZSBlZmZlY3RzLgorLSMKKy0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3
aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCistbTRfZGVmaW5lKFttNF9saXN0X2NtcF0s
CistW18kMF9yYXcobTRfZHF1b3RlKCQxKSwgbTRfZHF1b3RlKCQyKSldKQorLQorLW00X2RlZmlu
ZShbX200X2xpc3RfY21wX3Jhd10sCistW200X2lmKFskMV0sIFskMl0sIFswXSwgW19tNF9saXN0
X2NtcF8xKFskMV0sICQyKV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9saXN0X2NtcF0sCistW200
X2lmKFskMV0sIFtdLCBbMG00X2lnbm9yZV0sIFskMl0sIFswXSwgW200X3VucXVvdGVdLCBbJDJt
NF9pZ25vcmVdKV0pCistCistbTRfZGVmaW5lKFtfbTRfbGlzdF9jbXBfMV0sCistW19tNF9saXN0
X2NtcF8yKFskMl0sIFttNF9zaGlmdDIoJEApXSwgJDEpXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9s
aXN0X2NtcF8yXSwKKy1bX200X2xpc3RfY21wKFskMSQzXSwgbTRfY21wKFskMyswXSwgWyQxKzBd
KSkoCistICBbX200X2xpc3RfY21wXzEobTRfZHF1b3RlKG00X3NoaWZ0MygkQCkpLCAkMildKV0p
CistCistIyBtNF9tYXgoRVhQUiwgLi4uKQorLSMgbTRfbWluKEVYUFIsIC4uLikKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tCistIyBSZXR1cm4gdGhlIGRlY2ltYWwgdmFsdWUgb2YgdGhlIG1heGltdW0g
KG9yIG1pbmltdW0pIGluIGEgc2VyaWVzIG9mCistIyBpbnRlZ2VyIGV4cHJlc3Npb25zLgorLSMK
Ky0jIE00IDEuNC54IGRvZXNuJ3QgcHJvdmlkZSA/Oi4gIEhlbmNlIHRoaXMgaHVnZSBtNF9ldmFs
LiAgQXZvaWQgbTRfZXZhbAorLSMgaWYgYm90aCBhcmd1bWVudHMgYXJlIGlkZW50aWNhbCwgYnV0
IGJlIGF3YXJlIG9mIG00X21heCgweGEsIDEwKSAoaGVuY2UKKy0jIHRoZSB1c2Ugb2YgPD0sIG5v
dCBqdXN0IDwsIGluIHRoZSBzZWNvbmQgbXVsdGlwbHkpLgorLSMKKy0jIFBsZWFzZSBrZWVwIGZv
cmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCistbTRfZGVm
aW5lKFttNF9tYXhdLAorLVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbdG9vIGZldyBhcmd1
bWVudHMgdG8gJDBdKV0sCistICAgICAgIFskI10sIFsxXSwgW200X2V2YWwoWyQxXSldLAorLSAg
ICAgICBbJCMkMV0sIFsyJDJdLCBbbTRfZXZhbChbJDFdKV0sCistICAgICAgIFskI10sIFsyXSwg
W18kMCgkQCldLAorLSAgICAgICBbX200X21pbm1heChbXyQwXSwgJEApXSldKQorLQorLW00X2Rl
ZmluZShbX200X21heF0sCistW200X2V2YWwoKChbJDFdKSA+IChbJDJdKSkgKiAoWyQxXSkgKyAo
KFskMV0pIDw9IChbJDJdKSkgKiAoWyQyXSkpXSkKKy0KKy1tNF9kZWZpbmUoW200X21pbl0sCist
W200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFt0b28gZmV3IGFyZ3VtZW50cyB0byAkMF0pXSwK
Ky0gICAgICAgWyQjXSwgWzFdLCBbbTRfZXZhbChbJDFdKV0sCistICAgICAgIFskIyQxXSwgWzIk
Ml0sIFttNF9ldmFsKFskMV0pXSwKKy0gICAgICAgWyQjXSwgWzJdLCBbXyQwKCRAKV0sCistICAg
ICAgIFtfbTRfbWlubWF4KFtfJDBdLCAkQCldKV0pCistCistbTRfZGVmaW5lKFtfbTRfbWluXSwK
Ky1bbTRfZXZhbCgoKFskMV0pIDwgKFskMl0pKSAqIChbJDFdKSArICgoWyQxXSkgPj0gKFskMl0p
KSAqIChbJDJdKSldKQorLQorLSMgX200X21pbm1heChNRVRIT0QsIEFSRzEsIEFSRzIuLi4pCist
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENvbW1vbiByZWN1cnNpb24g
Y29kZSBmb3IgbTRfbWF4IGFuZCBtNF9taW4uICBNRVRIT0QgbXVzdCBiZSBfbTRfbWF4CistIyBv
ciBfbTRfbWluLCBhbmQgdGhlcmUgbXVzdCBiZSBhdCBsZWFzdCB0d28gYXJndW1lbnRzIHRvIGNv
bWJpbmUuCistIworLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFk
anVzdG1lbnRzIG1hZGUgaGVyZS4KKy1tNF9kZWZpbmUoW19tNF9taW5tYXhdLAorLVttNF9pZihb
JCNdLCBbM10sIFskMShbJDJdLCBbJDNdKV0sCistICAgICAgIFskMChbJDFdLCAkMShbJDJdLCBb
JDNdKSwgbTRfc2hpZnQzKCRAKSldKV0pCistCistCistIyBtNF9zaWduKEEpCistIyAtLS0tLS0t
LS0tCistIyBUaGUgc2lnbiBvZiB0aGUgaW50ZWdlciBleHByZXNzaW9uIEEuCistbTRfZGVmaW5l
KFttNF9zaWduXSwKKy1bbTRfZXZhbCgoKFskMV0pID4gMCkgLSAoKFskMV0pIDwgMCkpXSkKKy0K
Ky0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyAxNC4gVmVyc2lvbiBw
cm9jZXNzaW5nLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0j
IG00X3ZlcnNpb25fdW5sZXR0ZXIoVkVSU0lPTikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIE5vcm1hbGl6ZSBiZXRhIHZlcnNpb24gbnVtYmVycyB3aXRoIGxldHRlcnMgdG8g
bnVtZXJpYyBleHByZXNzaW9ucywgd2hpY2gKKy0jIGNhbiB0aGVuIGJlIGhhbmRlZCB0byBtNF9l
dmFsIGZvciB0aGUgcHVycG9zZSBvZiBjb21wYXJpc29uLgorLSMKKy0jICAgTmwgLT4gKE4rMSku
LTEuKGwjKQorLSMKKy0jIGZvciBleGFtcGxlOgorLSMgICBbMi4xNGFdIC0+IFswLDIsMTQrMSwt
MSxbMHIzNjphXV0gLT4gMi4xNS4tMS4xMAorLSMgICBbMi4xNGJdIC0+IFswLDIsMTUrMSwtMSxb
MHIzNjpiXV0gLT4gMi4xNS4tMS4xMQorLSMgICBbMi42MWFhLmJdIC0+IFswLDIuNjEsMSwtMSxb
MHIzNjphYV0sKzEsLTEsWzByMzY6Yl1dIC0+IDIuNjIuLTEuMzcwLjEuLTEuMTEKKy0jICAgWzA4
XSAtPiBbMCxbMHIxMDowXThdIC0+IDgKKy0jCistIyBUaGlzIG1hY3JvIGV4cGVjdHMgcmVhc29u
YWJsZSB2ZXJzaW9uIG51bWJlcnMsIGJ1dCBjYW4gaGFuZGxlIGRvdWJsZQorLSMgbGV0dGVycyBh
bmQgZG9lcyBub3QgZXhwYW5kIGFueSBtYWNyb3MuICBPcmlnaW5hbCB2ZXJzaW9uIHN0cmluZ3Mg
Y2FuCistIyB1c2UgYm90aCBgLicgYW5kIGAtJyBzZXBhcmF0b3JzLgorLSMKKy0jIElubGluZSBj
b25zdGFudCBleHBhbnNpb25zLCB0byBhdm9pZCBtNF9kZWZuIG92ZXJoZWFkLgorLSMgX200X3Zl
cnNpb25fdW5sZXR0ZXIgaXMgdGhlIHJlYWwgd29ya2hvcnNlIHVzZWQgYnkgbTRfdmVyc2lvbl9j
b21wYXJlLAorLSMgYnV0IHNpbmNlIFswcjM2OmFdIGFuZCBjb21tYXMgYXJlIGxlc3MgcmVhZGFi
bGUgdGhhbiAxMCBhbmQgZG90cywgd2UKKy0jIHByb3ZpZGUgYSB3cmFwcGVyIGZvciBodW1hbiB1
c2UuCistbTRfZGVmaW5lKFttNF92ZXJzaW9uX3VubGV0dGVyXSwKKy1bbTRfc3Vic3RyKG00X21h
cF9hcmdzKFsubTRfZXZhbF0sIG00X3VucXVvdGUoXyQwKFskMV0pKSksIFszXSldKQorLW00X2Rl
ZmluZShbX200X3ZlcnNpb25fdW5sZXR0ZXJdLAorLVttNF9icGF0c3Vic3QobTRfYnBhdHN1YnN0
KG00X3RyYW5zbGl0KFtbW1swLCQxXV1dXSwgWy4tXSwgWywsXSksXWRubAorLW00X2RxdW90ZSht
NF9kcXVvdGUobTRfZGVmbihbbTRfY3JfTGV0dGVyc10pKSlbWytdLAorLQkgICAgICBbKzEsLTEs
WzByMzY6XCZdXSksIFssMF0sIFssWzByMTA6MF1dKV0pCistCistCistIyBtNF92ZXJzaW9uX2Nv
bXBhcmUoVkVSU0lPTi0xLCBWRVJTSU9OLTIpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBDb21wYXJlIHRoZSB0d28gdmVyc2lvbiBudW1iZXJzIGFuZCBl
eHBhbmQgaW50bworLSMgIC0xIGlmIFZFUlNJT04tMSA8IFZFUlNJT04tMgorLSMgICAwIGlmICAg
ICAgICAgICA9CistIyAgIDEgaWYgICAgICAgICAgID4KKy0jCistIyBTaW5jZSBfbTRfdmVyc2lv
bl91bmxldHRlciBkb2VzIG5vdCBvdXRwdXQgc2lkZSBlZmZlY3RzLCB3ZSBjYW4KKy0jIHNhZmVs
eSBieXBhc3MgdGhlIG92ZXJoZWFkIG9mIG00X3ZlcnNpb25fY21wLgorLW00X2RlZmluZShbbTRf
dmVyc2lvbl9jb21wYXJlXSwKKy1bX200X2xpc3RfY21wX3JhdyhfbTRfdmVyc2lvbl91bmxldHRl
cihbJDFdKSwgX200X3ZlcnNpb25fdW5sZXR0ZXIoWyQyXSkpXSkKKy0KKy0KKy0jIG00X1BBQ0tB
R0VfTkFNRQorLSMgbTRfUEFDS0FHRV9UQVJOQU1FCistIyBtNF9QQUNLQUdFX1ZFUlNJT04KKy0j
IG00X1BBQ0tBR0VfU1RSSU5HCistIyBtNF9QQUNLQUdFX0JVR1JFUE9SVAorLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKy0jIElmIG00c3VnYXIvdmVyc2lvbi5tNCBpcyBwcmVzZW50LCB0aGVuIGRl
ZmluZSB2ZXJzaW9uIHN0cmluZ3MuICBUaGlzCistIyBmaWxlIGlzIG9wdGlvbmFsLCBwcm92aWRl
ZCBieSBBdXRvY29uZiBidXQgYWJzZW50IGluIEJpc29uLgorLW00X3NpbmNsdWRlKFttNHN1Z2Fy
L3ZlcnNpb24ubTRdKQorLQorLQorLSMgbTRfdmVyc2lvbl9wcmVyZXEoVkVSU0lPTiwgW0lGLU9L
XSwgW0lGLU5PVCA9IEZBSUxdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQ2hlY2sgdGhpcyBBdXRvY29uZiB2ZXJzaW9uIGFnYWlu
c3QgVkVSU0lPTi4KKy1tNF9kZWZpbmUoW200X3ZlcnNpb25fcHJlcmVxXSwKKy1tNF9pZmRlZihb
bTRfUEFDS0FHRV9WRVJTSU9OXSwKKy1bW200X2lmKG00X3ZlcnNpb25fY29tcGFyZShdbTRfZHF1
b3RlKG00X2RlZm4oW200X1BBQ0tBR0VfVkVSU0lPTl0pKVssIFskMV0pLAorLQlbLTFdLAorLQlb
bTRfZGVmYXVsdChbJDNdLAorLQkJICAgIFttNF9mYXRhbChbQXV0b2NvbmYgdmVyc2lvbiAkMSBv
ciBoaWdoZXIgaXMgcmVxdWlyZWRdLAorLQkJCSAgICAgIFs2M10pXSldLAorLQlbJDJdKV1dLAor
LVtbbTRfZmF0YWwoW200c3VnYXIvdmVyc2lvbi5tNCBub3QgZm91bmRdKV1dKSkKKy0KKy0KKy0j
IyAtLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyAxNS4gU2V0IGhhbmRsaW5nLiAgIyMKKy0jIyAt
LS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0jIEF1dG9jb25mIGxpa2VzIHRvIGNyZWF0ZSBhcmJp
dHJhcmlseSBsYXJnZSBzZXRzOyBmb3IgZXhhbXBsZSwgYXMgb2YKKy0jIHRoaXMgd3JpdGluZywg
dGhlIGNvbmZpZ3VyZS5hYyBmb3IgY29yZXV0aWxzIHRyYWNrcyBhIHNldCBvZiBtb3JlCistIyB0
aGFuIDQwMCBBQ19TVUJTVC4gIEhvdyBkbyB3ZSB0cmFjayBhbGwgb2YgdGhlc2Ugc2V0IG1lbWJl
cnMsCistIyB3aXRob3V0IGludHJvZHVjaW5nIGR1cGxpY2F0ZXM/ICBXZSBjb3VsZCB1c2UgbTRf
YXBwZW5kX3VuaXEsIHdpdGgKKy0jIHRoZSBzZXQgTkFNRSByZXNpZGluZyBpbiB0aGUgY29udGVu
dHMgb2YgdGhlIG1hY3JvIE5BTUUuCistIyBVbmZvcnR1bmF0ZWx5LCBtNF9hcHBlbmRfdW5pcSBp
cyBxdWFkcmF0aWMgZm9yIHNldCBjcmVhdGlvbiwgYmVjYXVzZQorLSMgaXQgY29zdHMgTyhuKSB0
byBzZWFyY2ggdGhlIHN0cmluZyBmb3IgZWFjaCBvZiBPKG4pIGluc2VydGlvbnM7IG5vdAorLSMg
dG8gbWVudGlvbiB0aGF0IHdpdGggbTQgMS40LngsIGV2ZW4gdXNpbmcgbTRfYXBwZW5kIGlzIHNs
b3csIGNvc3RpbmcKKy0jIE8obikgcmF0aGVyIHRoYW4gTygxKSBwZXIgaW5zZXJ0aW9uLiAgT3Ro
ZXIgc2V0IG9wZXJhdGlvbnMsIG5vdCB1c2VkCistIyBieSBBdXRvY29uZiBidXQgc3RpbGwgcG9z
c2libGUgYnkgbWFuaXB1bGF0aW9uIG9mIHRoZSBkZWZpbml0aW9uCistIyB0cmFja2VkIGluIG1h
Y3JvIE5BTUUsIGluY2x1ZGUgTyhuKSBkZWxldGlvbiBvZiBvbmUgZWxlbWVudCBhbmQgTyhuKQor
LSMgY29tcHV0YXRpb24gb2Ygc2V0IHNpemUuICBCZWNhdXNlIHRoZSBzZXQgaXMgZXhwb3NlZCB0
byB0aGUgdXNlciB2aWEKKy0jIHRoZSBkZWZpbml0aW9uIG9mIGEgc2luZ2xlIG1hY3JvLCB3ZSBj
YW5ub3QgY2FjaGUgYW55IGRhdGEgYWJvdXQgdGhlCistIyBzZXQgd2l0aG91dCByaXNraW5nIHRo
ZSBjYWNoZSBiZWluZyBpbnZhbGlkYXRlZCBieSB0aGUgdXNlcgorLSMgcmVkZWZpbmluZyBOQU1F
LgorLSMKKy0jIENhbiB3ZSBkbyBiZXR0ZXI/ICBZZXMsIGJlY2F1c2UgbTQgZ2l2ZXMgdXMgYW4g
TygxKSBzZWFyY2ggZnVuY3Rpb24KKy0jIGZvciBmcmVlOiBpZmRlZi4gIEFkZGl0aW9uYWxseSwg
ZXZlbiBtNCAxLjQueCBnaXZlcyB1cyBhbiBPKDEpCistIyBpbnNlcnQgb3BlcmF0aW9uIGZvciBm
cmVlOiBwdXNoZGVmLiAgQnV0IHRvIHVzZSB0aGVzZSwgd2UgbXVzdAorLSMgcmVwcmVzZW50IHRo
ZSBzZXQgdmlhIGEgZ3JvdXAgb2YgbWFjcm9zOyB0byBrZWVwIHRoZSBzZXQgY29uc2lzdGVudCwK
Ky0jIHdlIG11c3QgaGlkZSB0aGUgc2V0IHNvIHRoYXQgdGhlIHVzZXIgY2FuIG9ubHkgbWFuaXB1
bGF0ZSBpdCB0aHJvdWdoCistIyBhY2Nlc3NvciBtYWNyb3MuICBUaGUgY29udGVudHMgb2YgdGhl
IHNldCBhcmUgbWFpbnRhaW5lZCB0aHJvdWdoIHR3bworLSMgYWNjZXNzIHBvaW50czsgX200X3Nl
dChbbmFtZV0pIGlzIGEgcHVzaGRlZiBzdGFjayBvZiB2YWx1ZXMgaW4gdGhlCistIyBzZXQsIHVz
ZWZ1bCBmb3IgTyhuKSB0cmF2ZXJzYWwgb2YgdGhlIHNldCBjb250ZW50czsgd2hpbGUgdGhlCist
IyBleGlzdGVuY2Ugb2YgX200X3NldChbbmFtZV0sdmFsdWUpIHdpdGggbm8gcGFydGljdWxhciB2
YWx1ZSBpcworLSMgdXNlZnVsIGZvciBPKDEpIHF1ZXJ5aW5nIG9mIHNldCBtZW1iZXJzaGlwLiAg
QW5kIHNpbmNlIHRoZSB1c2VyCistIyBjYW5ub3QgZXh0ZXJuYWxseSBtYW5pcHVsYXRlIHRoZSBz
ZXQsIHdlIGFyZSBmcmVlIHRvIGFkZCBhZGRpdGlvbmFsCistIyBjYWNoaW5nIG1hY3JvcyBmb3Ig
b3RoZXIgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzLiAgRGVsZXRpb24gY2FuIGJlCistIyBPKDEp
IHBlciBlbGVtZW50IHJhdGhlciB0aGFuIE8obiksIGJ5IHJld29ya2luZyB0aGUgZGVmaW5pdGlv
biBvZgorLSMgX200X3NldChbbmFtZV0sdmFsdWUpIHRvIGJlIDAgb3IgMSBiYXNlZCBvbiBjdXJy
ZW50IG1lbWJlcnNoaXAsIGFuZAorLSMgYWRkaW5nIF9tNF9zZXRfY2xlYW51cChuYW1lKSB0byBk
ZWZlciB0aGUgTyhuKSBjbGVhbnVwIG9mCistIyBfbTRfc2V0KFtuYW1lXSkgdW50aWwgd2UgaGF2
ZSBhbm90aGVyIHJlYXNvbiB0byBkbyBhbiBPKG4pCistIyB0cmF2ZXJzYWwuICBUaGUgZXhpc3Rl
bmNlIG9mIF9tNF9zZXRfY2xlYW51cChuYW1lKSBjYW4gdGhlbiBiZSB1c2VkCistIyBlbHNld2hl
cmUgdG8gZGV0ZXJtaW5lIGlmIHdlIG11c3QgZGVyZWZlcmVuY2UgX200X3NldChbbmFtZV0sdmFs
dWUpLAorLSMgb3IgYXNzdW1lIHRoYXQgZGVmaW5pdGlvbiBpbXBsaWVzIHNldCBtZW1iZXJzaGlw
LiAgRmluYWxseSwgc2l6ZSBjYW4KKy0jIGJlIHRyYWNrZWQgaW4gYW4gTygxKSBmYXNoaW9uIHdp
dGggX200X3NldF9zaXplKG5hbWUpLgorLSMKKy0jIFRoZSBxdW90aW5nIGluIF9tNF9zZXQoW25h
bWVdLHZhbHVlKSBpcyBjaG9zZW4gc28gdGhhdCB0aGVyZSBpcyBubworLSMgYW1iaWd1aXR5IHdp
dGggYSBzZXQgd2hvc2UgbmFtZSBjb250YWlucyBhIGNvbW1hLCBhbmQgc28gdGhhdCB3ZSBjYW4K
Ky0jIHN1cHBseSB0aGUgdmFsdWUgdmlhIF9tNF9kZWZuKFtfbTRfc2V0KFtuYW1lXSldKSB3aXRo
b3V0IG5lZWRpbmcgYW55CistIyBxdW90ZSBtYW5pcHVsYXRpb24uCistCistIyBtNF9zZXRfYWRk
KFNFVCwgVkFMVUUsIFtJRi1VTklRXSwgW0lGLURVUF0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBBZGQgVkFMVUUgYXMgYW4gZWxlbWVudCBvZiBT
RVQuICBFeHBhbmQgSUYtVU5JUSBvbiB0aGUgZmlyc3QKKy0jIGFkZGl0aW9uLCBhbmQgSUYtRFVQ
IGlmIGl0IGlzIGFscmVhZHkgaW4gdGhlIHNldC4gIEFkZGl0aW9uIG9mIG9uZQorLSMgZWxlbWVu
dCBpcyBPKDEpLCBzdWNoIHRoYXQgb3ZlcmFsbCBzZXQgY3JlYXRpb24gaXMgTyhuKS4KKy0jCist
IyBXZSBkbyBub3Qgd2FudCB0byBhZGQgYSBkdXBsaWNhdGUgZm9yIGEgcHJldmlvdXNseSBkZWxl
dGVkIGJ1dAorLSMgdW5wcnVuZWQgZWxlbWVudCwgYnV0IGl0IGlzIGp1c3QgYXMgZWFzeSB0byBj
aGVjayBleGlzdGVuY2UgZGlyZWN0bHkKKy0jIGFzIGl0IGlzIHRvIHF1ZXJ5IF9tNF9zZXRfY2xl
YW51cCgkMSkuCistbTRfZGVmaW5lKFttNF9zZXRfYWRkXSwKKy1bbTRfaWZkZWYoW19tNF9zZXQo
WyQxXSwkMildLAorLQkgIFttNF9pZihtNF9pbmRpcihbX200X3NldChbJDFdLCQyKV0pLCBbMF0s
CistCQkgW200X2RlZmluZShbX200X3NldChbJDFdLCQyKV0sCistCQkJICAgIFsxXSlfbTRfc2V0
X3NpemUoWyQxXSwgW200X2luY3JdKSQzXSwgWyQ0XSldLAorLQkgIFttNF9kZWZpbmUoW19tNF9z
ZXQoWyQxXSwkMildLAorLQkJICAgICBbMV0pbTRfcHVzaGRlZihbX200X3NldChbJDFdKV0sCist
CQkJCSAgICBbJDJdKV9tNF9zZXRfc2l6ZShbJDFdLCBbbTRfaW5jcl0pJDNdKV0pCistCistIyBt
NF9zZXRfYWRkX2FsbChTRVQsIFZBTFVFLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIEFkZCBlYWNoIFZBTFVFIGludG8gU0VULiAgVGhpcyBpcyBPKG4pIGluIHRoZSBu
dW1iZXIgb2YgVkFMVUVzLCBhbmQKKy0jIGNhbiBiZSBmYXN0ZXIgdGhhbiBjYWxsaW5nIG00X3Nl
dF9hZGQgZm9yIGVhY2ggVkFMVUUuCistIworLSMgSW1wbGVtZW50IHR3byByZWN1cnNpb24gaGVs
cGVyczsgdGhlIGNoZWNrIHZhcmlhbnQgaXMgc2xvd2VyIGJ1dAorLSMgaGFuZGxlcyB0aGUgY2Fz
ZSB3aGVyZSBhbiBlbGVtZW50IGhhcyBwcmV2aW91c2x5IGJlZW4gcmVtb3ZlZCBidXQKKy0jIG5v
dCBwcnVuZWQuICBUaGUgcmVjdXJzaW9uIGhlbHBlcnMgaWdub3JlIHRoZWlyIHNlY29uZCBhcmd1
bWVudCwgc28KKy0jIHRoYXQgd2UgY2FuIHVzZSB0aGUgZmFzdGVyIG00X3NoaWZ0MiBhbmQgMiBh
cmd1bWVudHMsIHJhdGhlciB0aGFuCistIyBfbTRfc2hpZnQyIGFuZCBvbmUgYXJndW1lbnQsIGFz
IHRoZSBzaWduYWwgdG8gZW5kIHJlY3Vyc2lvbi4KKy0jCistIyBQbGVhc2Uga2VlcCBmb3JlYWNo
Lm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgorLW00X2RlZmluZShb
bTRfc2V0X2FkZF9hbGxdLAorLVttNF9kZWZpbmUoW19tNF9zZXRfc2l6ZSgkMSldLCBtNF9ldmFs
KG00X3NldF9zaXplKFskMV0pCistICArIG00X2xlbihtNF9pZmRlZihbX200X3NldF9jbGVhbnVw
KCQxKV0sIFtfJDBfY2hlY2tdLCBbXyQwXSkoWyQxXSwgJEApKSkpXSkKKy0KKy1tNF9kZWZpbmUo
W19tNF9zZXRfYWRkX2FsbF0sCistW200X2lmKFskI10sIFsyXSwgW10sCistICAgICAgIFttNF9p
ZmRlZihbX200X3NldChbJDFdLCQzKV0sIFtdLAorLQkJIFttNF9kZWZpbmUoW19tNF9zZXQoWyQx
XSwkMyldLCBbMV0pbTRfcHVzaGRlZihbX200X3NldChbJDFdKV0sCistCSAgIFskM10pLV0pJDAo
WyQxXSwgbTRfc2hpZnQyKCRAKSldKV0pCistCistbTRfZGVmaW5lKFtfbTRfc2V0X2FkZF9hbGxf
Y2hlY2tdLAorLVttNF9pZihbJCNdLCBbMl0sIFtdLAorLSAgICAgICBbbTRfc2V0X2FkZChbJDFd
LCBbJDNdKSQwKFskMV0sIG00X3NoaWZ0MigkQCkpXSldKQorLQorLSMgbTRfc2V0X2NvbnRhaW5z
KFNFVCwgVkFMVUUsIFtJRi1QUkVTRU5UXSwgW0lGLUFCU0VOVF0pCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZCBJRi1Q
UkVTRU5UIGlmIFNFVCBjb250YWlucyBWQUxVRSwgb3RoZXJ3aXNlIGV4cGFuZCBJRi1BQlNFTlQu
CistIyBUaGlzIGlzIGFsd2F5cyBPKDEpLgorLW00X2RlZmluZShbbTRfc2V0X2NvbnRhaW5zXSwK
Ky1bbTRfaWZkZWYoW19tNF9zZXRfY2xlYW51cCgkMSldLAorLQkgIFttNF9pZihtNF9pZmRlZihb
X200X3NldChbJDFdLCQyKV0sCistCQkgICAgW200X2luZGlyKFtfbTRfc2V0KFskMV0sJDIpXSld
LCBbMF0pLCBbMV0sIFskM10sIFskNF0pXSwKKy0JICBbbTRfaWZkZWYoW19tNF9zZXQoWyQxXSwk
MildLCBbJDNdLCBbJDRdKV0pXSkKKy0KKy0jIG00X3NldF9jb250ZW50cyhTRVQsIFtTRVBdKQor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFeHBhbmQgdG8gYSBzaW5nbGUgc3Ry
aW5nIGNvbnRhaW5pbmcgYWxsIHRoZSBlbGVtZW50cyBpbiBTRVQsCistIyBzZXBhcmF0ZWQgYnkg
U0VQLCB3aXRob3V0IG1vZGlmeWluZyBTRVQuICBObyBwcm92aXNpb24gaXMgbWFkZSBmb3IKKy0j
IGRpc2FtYmlndWF0aW5nIHNldCBlbGVtZW50cyB0aGF0IGNvbnRhaW4gbm9uLWVtcHR5IFNFUCBh
cyBhCistIyBzdWItc3RyaW5nLCBvciBmb3IgcmVjb2duaXppbmcgYSBzZXQgdGhhdCBjb250YWlu
cyBvbmx5IHRoZSBlbXB0eQorLSMgc3RyaW5nLiAgT3JkZXIgb2YgdGhlIG91dHB1dCBpcyBub3Qg
Z3VhcmFudGVlZC4gIElmIGFueSBlbGVtZW50cworLSMgaGF2ZSBiZWVuIHByZXZpb3VzbHkgcmVt
b3ZlZCBmcm9tIHRoZSBzZXQsIHRoaXMgYWN0aW9uIHdpbGwgcHJ1bmUKKy0jIHRoZSB1bnVzZWQg
bWVtb3J5LiAgVGhpcyBpcyBPKG4pIGluIHRoZSBzaXplIG9mIHRoZSBzZXQgYmVmb3JlCistIyBw
cnVuaW5nLgorLSMKKy0jIFVzZSBfbTRfcG9wZGVmIGZvciBzcGVlZC4gIFRoZSBleGlzdGVuY2Ug
b2YgX200X3NldF9jbGVhbnVwKCQxKQorLSMgZGV0ZXJtaW5lcyB3aGljaCB2ZXJzaW9uIG9mIF8x
IGhlbHBlciB3ZSB1c2UuCistbTRfZGVmaW5lKFttNF9zZXRfY29udGVudHNdLAorLVttNF9zZXRf
bWFwX3NlcChbJDFdLCBbXSwgW10sIFtbJDJdXSldKQorLQorLSMgX200X3NldF9jb250ZW50c18x
KFNFVCkKKy0jIF9tNF9zZXRfY29udGVudHNfMWMoU0VUKQorLSMgX200X3NldF9jb250ZW50c18y
KFNFVCwgW1BSRV0sIFtQT1NUXSwgW1NFUF0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZCB0byBhIGxpc3Qgb2YgcXVvdGVkIGVsZW1l
bnRzIGN1cnJlbnRseSBpbiB0aGUgc2V0LCBlYWNoCistIyBzdXJyb3VuZGVkIGJ5IFBSRSBhbmQg
UE9TVCwgYW5kIG1vdmluZyBTRVAgaW4gZnJvbnQgb2YgUFJFIG9uCistIyByZWN1cnNpb24uICBU
byBhdm9pZCBuZXN0aW5nIGxpbWl0IHJlc3RyaWN0aW9ucywgdGhlIGFsZ29yaXRobSBtdXN0Cist
IyBiZSBicm9rZW4gaW50byB0d28gcGFydHM7IF8xIGRlc3RydWN0aXZlbHkgY29waWVzIHRoZSBz
dGFjayBpbgorLSMgcmV2ZXJzZSBpbnRvIF9tNF9zZXRfKCQxKSwgcHJvZHVjaW5nIG5vIG91dHB1
dDsgdGhlbiBfMgorLSMgZGVzdHJ1Y3RpdmVseSBjb3BpZXMgX200X3NldF8oJDEpIGJhY2sgaW50
byB0aGUgc3RhY2sgaW4gcmV2ZXJzZS4KKy0jIElmIG5vIGVsZW1lbnRzIHdlcmUgZGVsZXRlZCwg
dGhlbiB0aGlzIHZpc2l0cyB0aGUgc2V0IGluIHRoZSBvcmRlcgorLSMgdGhhdCBlbGVtZW50cyB3
ZXJlIGluc2VydGVkLiAgQmVoYXZpb3IgaXMgdW5kZWZpbmVkIGlmIFBSRS9QT1NUL1NFUAorLSMg
dHJpZXMgdG8gcmVjdXJzaXZlbHkgbGlzdCBvciBtb2RpZnkgU0VUIGluIGFueSB3YXkgb3RoZXIg
dGhhbgorLSMgY2FsbGluZyBtNF9zZXRfcmVtb3ZlIG9uIHRoZSBjdXJyZW50IGVsZW1lbnQuICBV
c2UgXzEgaWYgYWxsIGVudHJpZXMKKy0jIGluIHRoZSBzdGFjayBhcmUgZ3VhcmFudGVlZCB0byBi
ZSBpbiB0aGUgc2V0LCBhbmQgXzFjIHRvIHBydW5lCistIyByZW1vdmVkIGVudHJpZXMuICBVc2Vz
IF9tNF9kZWZuIGFuZCBfbTRfcG9wZGVmIGZvciBzcGVlZC4KKy1tNF9kZWZpbmUoW19tNF9zZXRf
Y29udGVudHNfMV0sCistW19tNF9zdGFja19yZXZlcnNlKFtfbTRfc2V0KFskMV0pXSwgW19tNF9z
ZXRfKCQxKV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9zZXRfY29udGVudHNfMWNdLAorLVttNF9p
ZmRlZihbX200X3NldChbJDFdKV0sCistCSAgW200X3NldF9jb250YWlucyhbJDFdLCBfbTRfZGVm
bihbX200X3NldChbJDFdKV0pLAorLQkJICAgW200X3B1c2hkZWYoW19tNF9zZXRfKCQxKV0sIF9t
NF9kZWZuKFtfbTRfc2V0KFskMV0pXSkpXSwKKy0JCSAgIFtfbTRfcG9wZGVmKFtfbTRfc2V0KFsk
MV0sXV9tNF9kZWZuKAorLSAgICAgIFtfbTRfc2V0KFskMV0pXSlbKV0pXSlfbTRfcG9wZGVmKFtf
bTRfc2V0KFskMV0pXSkkMChbJDFdKV0sCistCSAgW19tNF9wb3BkZWYoW19tNF9zZXRfY2xlYW51
cCgkMSldKV0pXSkKKy0KKy1tNF9kZWZpbmUoW19tNF9zZXRfY29udGVudHNfMl0sCistW19tNF9z
dGFja19yZXZlcnNlKFtfbTRfc2V0XygkMSldLCBbX200X3NldChbJDFdKV0sCistICBbJDJbXV9t
NF9kZWZuKFtfbTRfc2V0XygkMSldKSQzXSwgWyQ0W11dKV0pCistCistIyBtNF9zZXRfZGVsZXRl
KFNFVCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVsZXRlIGFsbCBlbGVtZW50cyBpbiBT
RVQsIGFuZCByZWNsYWltIGFueSBtZW1vcnkgb2NjdXBpZWQgYnkgdGhlCistIyBzZXQuICBUaGlz
IGlzIE8obikgaW4gdGhlIHNldCBzaXplLgorLSMKKy0jIFVzZSBfbTRfZGVmbiBhbmQgX200X3Bv
cGRlZiBmb3Igc3BlZWQuCistbTRfZGVmaW5lKFttNF9zZXRfZGVsZXRlXSwKKy1bbTRfaWZkZWYo
W19tNF9zZXQoWyQxXSldLAorLQkgIFtfbTRfcG9wZGVmKFtfbTRfc2V0KFskMV0sXV9tNF9kZWZu
KFtfbTRfc2V0KFskMV0pXSlbKV0sCistCQkgICAgICBbX200X3NldChbJDFdKV0pJDAoWyQxXSld
LAorLQkgIFttNF9pZmRlZihbX200X3NldF9jbGVhbnVwKCQxKV0sCistCQkgICAgW19tNF9wb3Bk
ZWYoW19tNF9zZXRfY2xlYW51cCgkMSldKV0pbTRfaWZkZWYoCistCQkgICAgW19tNF9zZXRfc2l6
ZSgkMSldLAorLQkJICAgIFtfbTRfcG9wZGVmKFtfbTRfc2V0X3NpemUoJDEpXSldKV0pXSkKKy0K
Ky0jIG00X3NldF9kaWZmZXJlbmNlKFNFVDEsIFNFVDIpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgUHJvZHVjZSBhIExJU1Qgb2YgcXVvdGVkIGVsZW1lbnRzIHRoYXQgb2Nj
dXIgaW4gU0VUMSBidXQgbm90IFNFVDIuCistIyBPdXRwdXQgYSBjb21tYSBwcmlvciB0byBhbnkg
ZWxlbWVudHMsIHRvIGRpc3Rpbmd1aXNoIHRoZSBlbXB0eQorLSMgc3RyaW5nIGZyb20gbm8gZWxl
bWVudHMuICBUaGlzIGNhbiBiZSBkaXJlY3RseSB1c2VkIGFzIGEgc2VyaWVzIG9mCistIyBhcmd1
bWVudHMsIHN1Y2ggYXMgZm9yIG00X2pvaW4sIG9yIHdyYXBwZWQgaW5zaWRlIHF1b3RlcyBmb3Ig
dXNlIGluCistIyBtNF9mb3JlYWNoLiAgT3JkZXIgb2YgdGhlIG91dHB1dCBpcyBub3QgZ3VhcmFu
dGVlZC4KKy0jCistIyBTaG9ydC1jaXJjdWl0IHRoZSBpZGVtcG90ZW5jZSByZWxhdGlvbi4KKy1t
NF9kZWZpbmUoW200X3NldF9kaWZmZXJlbmNlXSwKKy1bbTRfaWYoWyQxXSwgWyQyXSwgW10sIFtt
NF9zZXRfbWFwX3NlcChbJDFdLCBbXyQwKFskMl0sXSwgWyldKV0pXSkKKy0KKy1tNF9kZWZpbmUo
W19tNF9zZXRfZGlmZmVyZW5jZV0sCistW200X3NldF9jb250YWlucyhbJDFdLCBbJDJdLCBbXSwg
WyxbJDJdXSldKQorLQorLSMgbTRfc2V0X2R1bXAoU0VULCBbU0VQXSkKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBFeHBhbmQgdG8gYSBzaW5nbGUgc3RyaW5nIGNvbnRhaW5pbmcgYWxs
IHRoZSBlbGVtZW50cyBpbiBTRVQsCistIyBzZXBhcmF0ZWQgYnkgU0VQLCB0aGVuIGRlbGV0ZSBT
RVQuICBJbiBnZW5lcmFsLCBpZiB5b3Ugb25seSBuZWVkIHRvCistIyBsaXN0IHRoZSBjb250ZW50
cyBvbmNlLCB0aGlzIGlzIGZhc3RlciB0aGFuIG00X3NldF9jb250ZW50cy4gIE5vCistIyBwcm92
aXNpb24gaXMgbWFkZSBmb3IgZGlzYW1iaWd1YXRpbmcgc2V0IGVsZW1lbnRzIHRoYXQgY29udGFp
bgorLSMgbm9uLWVtcHR5IFNFUCBhcyBhIHN1Yi1zdHJpbmcuICBPcmRlciBvZiB0aGUgb3V0cHV0
IGlzIG5vdAorLSMgZ3VhcmFudGVlZC4gIFRoaXMgaXMgTyhuKSBpbiB0aGUgc2l6ZSBvZiB0aGUg
c2V0IGJlZm9yZSBwcnVuaW5nLgorLSMKKy0jIFVzZSBfbTRfcG9wZGVmIGZvciBzcGVlZC4gIFVz
ZSBleGlzdGVuY2Ugb2YgX200X3NldF9jbGVhbnVwKCQxKSB0bworLSMgZGVjaWRlIGlmIG1vcmUg
ZXhwZW5zaXZlIHJlY3Vyc2lvbiBpcyBuZWVkZWQuCistbTRfZGVmaW5lKFttNF9zZXRfZHVtcF0s
CistW200X2lmZGVmKFtfbTRfc2V0X3NpemUoJDEpXSwKKy0JICBbX200X3BvcGRlZihbX200X3Nl
dF9zaXplKCQxKV0pXSltNF9pZmRlZihbX200X3NldF9jbGVhbnVwKCQxKV0sCistICAgIFtfJDBf
Y2hlY2tdLCBbXyQwXSkoWyQxXSwgW10sIFskMl0pXSkKKy0KKy0jIF9tNF9zZXRfZHVtcChTRVQs
IFtTRVBdLCBbUFJFUF0pCistIyBfbTRfc2V0X2R1bXBfY2hlY2soU0VULCBbU0VQXSwgW1BSRVBd
KQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFByaW50IFNF
UCBhbmQgdGhlIGN1cnJlbnQgZWxlbWVudCwgdGhlbiBkZWxldGUgdGhlIGVsZW1lbnQgYW5kCist
IyByZWN1cnNlIHdpdGggZW1wdHkgU0VQIGNoYW5nZWQgdG8gUFJFUC4gIFRoZSBjaGVjayB2YXJp
YW50IGNoZWNrcworLSMgd2hldGhlciB0aGUgZWxlbWVudCBoYXMgYmVlbiBwcmV2aW91c2x5IHJl
bW92ZWQuICBVc2UgX200X2RlZm4gYW5kCistIyBfbTRfcG9wZGVmIGZvciBzcGVlZC4KKy1tNF9k
ZWZpbmUoW19tNF9zZXRfZHVtcF0sCistW200X2lmZGVmKFtfbTRfc2V0KFskMV0pXSwKKy0JICBb
WyQyXV9tNF9kZWZuKFtfbTRfc2V0KFskMV0pXSlfbTRfcG9wZGVmKFtfbTRfc2V0KFskMV0sXV9t
NF9kZWZuKAorLQkJW19tNF9zZXQoWyQxXSldKVspXSwgW19tNF9zZXQoWyQxXSldKSQwKFskMV0s
IFskMiQzXSldKV0pCistCistbTRfZGVmaW5lKFtfbTRfc2V0X2R1bXBfY2hlY2tdLAorLVttNF9p
ZmRlZihbX200X3NldChbJDFdKV0sCistCSAgW200X3NldF9jb250YWlucyhbJDFdLCBfbTRfZGVm
bihbX200X3NldChbJDFdKV0pLAorLQkJCSAgIFtbJDJdX200X2RlZm4oW19tNF9zZXQoWyQxXSld
KV0pX200X3BvcGRlZigKKy0gICAgW19tNF9zZXQoWyQxXSxdX200X2RlZm4oW19tNF9zZXQoWyQx
XSldKVspXSwKKy0gICAgW19tNF9zZXQoWyQxXSldKSQwKFskMV0sIFskMiQzXSldLAorLQkgIFtf
bTRfcG9wZGVmKFtfbTRfc2V0X2NsZWFudXAoJDEpXSldKV0pCistCistIyBtNF9zZXRfZW1wdHko
U0VULCBbSUYtRU1QVFldLCBbSUYtRUxFTUVOVFNdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuZCBJRi1FTVBUWSBpZiBTRVQgaGFzIG5v
IGVsZW1lbnRzLCBvdGhlcndpc2UgSUYtRUxFTUVOVFMuCistbTRfZGVmaW5lKFttNF9zZXRfZW1w
dHldLAorLVttNF9pZmRlZihbX200X3NldF9zaXplKCQxKV0sCistCSAgW200X2lmKG00X2luZGly
KFtfbTRfc2V0X3NpemUoJDEpXSksIFswXSwgWyQyXSwgWyQzXSldLCBbJDJdKV0pCistCistIyBt
NF9zZXRfZm9yZWFjaChTRVQsIFZBUiwgQUNUSU9OKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKy0jIEZvciBlYWNoIGVsZW1lbnQgb2YgU0VULCBkZWZpbmUgVkFSIHRvIHRo
ZSBlbGVtZW50IGFuZCBleHBhbmQKKy0jIEFDVElPTi4gIEFDVElPTiBzaG91bGQgbm90IHJlY3Vy
c2l2ZWx5IGxpc3QgU0VUJ3MgY29udGVudHMsIGFkZAorLSMgZWxlbWVudHMgdG8gU0VULCBub3Ig
ZGVsZXRlIGFueSBlbGVtZW50IGZyb20gU0VUIGV4Y2VwdCB0aGUgb25lCistIyBjdXJyZW50bHkg
aW4gVkFSLiAgVGhlIG9yZGVyIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSB2aXNpdGVkIGluIGlzIG5v
dAorLSMgZ3VhcmFudGVlZC4gIFRoaXMgaXMgZmFzdGVyIHRoYW4gdGhlIGNvcnJlc3BvbmRpbmcg
bTRfZm9yZWFjaChbVkFSXSwKKy0jICAgbTRfaW5kaXIoW200X2RxdW90ZV1tNF9zZXRfbGlzdGMo
W1NFVF0pKSwgW0FDVElPTl0pCistbTRfZGVmaW5lKFttNF9zZXRfZm9yZWFjaF0sCistW200X3B1
c2hkZWYoWyQyXSltNF9zZXRfbWFwX3NlcChbJDFdLAorLVttNF9kZWZpbmUoWyQyXSxdLCBbKSQz
XSltNF9wb3BkZWYoWyQyXSldKQorLQorLSMgbTRfc2V0X2ludGVyc2VjdGlvbihTRVQxLCBTRVQy
KQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgUHJvZHVjZSBhIExJU1Qg
b2YgcXVvdGVkIGVsZW1lbnRzIHRoYXQgb2NjdXIgaW4gYm90aCBTRVQxIG9yIFNFVDIuCistIyBP
dXRwdXQgYSBjb21tYSBwcmlvciB0byBhbnkgZWxlbWVudHMsIHRvIGRpc3Rpbmd1aXNoIHRoZSBl
bXB0eQorLSMgc3RyaW5nIGZyb20gbm8gZWxlbWVudHMuICBUaGlzIGNhbiBiZSBkaXJlY3RseSB1
c2VkIGFzIGEgc2VyaWVzIG9mCistIyBhcmd1bWVudHMsIHN1Y2ggYXMgZm9yIG00X2pvaW4sIG9y
IHdyYXBwZWQgaW5zaWRlIHF1b3RlcyBmb3IgdXNlIGluCistIyBtNF9mb3JlYWNoLiAgT3JkZXIg
b2YgdGhlIG91dHB1dCBpcyBub3QgZ3VhcmFudGVlZC4KKy0jCistIyBJdGVyYXRlIG92ZXIgdGhl
IHNtYWxsZXIgc2V0LCBhbmQgc2hvcnQtY2lyY3VpdCB0aGUgaWRlbXBvdGVuY2UKKy0jIHJlbGF0
aW9uLgorLW00X2RlZmluZShbbTRfc2V0X2ludGVyc2VjdGlvbl0sCistW200X2lmKFskMV0sIFsk
Ml0sIFttNF9zZXRfbGlzdGMoWyQxXSldLAorLSAgICAgICBtNF9ldmFsKG00X3NldF9zaXplKFsk
Ml0pIDwgbTRfc2V0X3NpemUoWyQxXSkpLCBbMV0sIFskMChbJDJdLCBbJDFdKV0sCistICAgICAg
IFttNF9zZXRfbWFwX3NlcChbJDFdLCBbXyQwKFskMl0sXSwgWyldKV0pXSkKKy0KKy1tNF9kZWZp
bmUoW19tNF9zZXRfaW50ZXJzZWN0aW9uXSwKKy1bbTRfc2V0X2NvbnRhaW5zKFskMV0sIFskMl0s
IFssWyQyXV0pXSkKKy0KKy0jIG00X3NldF9saXN0KFNFVCkKKy0jIG00X3NldF9saXN0YyhTRVQp
CistIyAtLS0tLS0tLS0tLS0tLS0tLQorLSMgUHJvZHVjZSBhIExJU1Qgb2YgcXVvdGVkIGVsZW1l
bnRzIG9mIFNFVC4gIFRoaXMgY2FuIGJlIGRpcmVjdGx5IHVzZWQKKy0jIGFzIGEgc2VyaWVzIG9m
IGFyZ3VtZW50cywgc3VjaCBhcyBmb3IgbTRfam9pbiBvciBtNF9zZXRfYWRkX2FsbCwgb3IKKy0j
IHdyYXBwZWQgaW5zaWRlIHF1b3RlcyBmb3IgdXNlIGluIG00X2ZvcmVhY2ggb3IgbTRfbWFwLiAg
V2l0aAorLSMgbTRfc2V0X2xpc3QsIHRoZXJlIGlzIG5vIHdheSB0byBkaXN0aW5ndWlzaCBhbiBl
bXB0eSBzZXQgZnJvbSBhIHNldAorLSMgY29udGFpbmluZyBvbmx5IHRoZSBlbXB0eSBzdHJpbmc7
IHdpdGggbTRfc2V0X2xpc3RjLCBhIGxlYWRpbmcgY29tbWEKKy0jIGlzIG91dHB1dCBpZiB0aGVy
ZSBhcmUgYW55IGVsZW1lbnRzLgorLW00X2RlZmluZShbbTRfc2V0X2xpc3RdLAorLVttNF9zZXRf
bWFwX3NlcChbJDFdLCBbXSwgW10sIFssXSldKQorLQorLW00X2RlZmluZShbbTRfc2V0X2xpc3Rj
XSwKKy1bbTRfc2V0X21hcF9zZXAoWyQxXSwgWyxdKV0pCistCistIyBtNF9zZXRfbWFwKFNFVCwg
QUNUSU9OKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEZvciBlYWNoIGVsZW1lbnQg
b2YgU0VULCBleHBhbmQgQUNUSU9OIHdpdGggYSBzaW5nbGUgYXJndW1lbnQgb2YgdGhlCistIyBj
dXJyZW50IGVsZW1lbnQuICBBQ1RJT04gc2hvdWxkIG5vdCByZWN1cnNpdmVseSBsaXN0IFNFVCdz
IGNvbnRlbnRzLAorLSMgYWRkIGVsZW1lbnRzIHRvIFNFVCwgbm9yIGRlbGV0ZSBhbnkgZWxlbWVu
dCBmcm9tIFNFVCBleGNlcHQgdGhlIG9uZQorLSMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50LiAgVGhl
IG9yZGVyIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSB2aXNpdGVkIGluCistIyBpcyBub3QgZ3VhcmFu
dGVlZC4gIFRoaXMgaXMgZmFzdGVyIHRoYW4gZWl0aGVyIG9mIHRoZSBjb3JyZXNwb25kaW5nCist
IyAgIG00X21hcF9hcmdzKFtBQ1RJT05dbTRfc2V0X2xpc3RjKFtTRVRdKSkKKy0jICAgbTRfc2V0
X2ZvcmVhY2goW1NFVF0sIFtWQVJdLCBbQUNUSU9OKG00X2RlZm4oW1ZBUl0pKV0pCistbTRfZGVm
aW5lKFttNF9zZXRfbWFwXSwKKy1bbTRfc2V0X21hcF9zZXAoWyQxXSwgWyQyKF0sIFspXSldKQor
LQorLSMgbTRfc2V0X21hcF9zZXAoU0VULCBbUFJFXSwgW1BPU1RdLCBbU0VQXSkKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBGb3IgZWFjaCBlbGVtZW50
IG9mIFNFVCwgZXhwYW5kIFBSRVt2YWx1ZV1QT1NUW10sIGFuZCBleHBhbmQgU0VQCistIyBiZXR3
ZWVuIGVsZW1lbnRzLgorLW00X2RlZmluZShbbTRfc2V0X21hcF9zZXBdLAorLVttNF9pZmRlZihb
X200X3NldF9jbGVhbnVwKCQxKV0sIFtfbTRfc2V0X2NvbnRlbnRzXzFjXSwKKy0JICBbX200X3Nl
dF9jb250ZW50c18xXSkoWyQxXSlfbTRfc2V0X2NvbnRlbnRzXzIoJEApXSkKKy0KKy0jIG00X3Nl
dF9yZW1vdmUoU0VULCBWQUxVRSwgW0lGLVBSRVNFTlRdLCBbSUYtQUJTRU5UXSkKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIFZB
TFVFIGlzIGFuIGVsZW1lbnQgb2YgU0VULCBkZWxldGUgaXQgYW5kIGV4cGFuZCBJRi1QUkVTRU5U
LgorLSMgT3RoZXJ3aXNlIGV4cGFuZCBJRi1BQlNFTlQuICBEZWxldGluZyBhIHNpbmdsZSB2YWx1
ZSBpcyBPKDEpLAorLSMgYWx0aG91Z2ggaXQgbGVhdmVzIG1lbW9yeSBvY2N1cGllZCB1bnRpbCB0
aGUgbmV4dCBPKG4pIHRyYXZlcnNhbCBvZgorLSMgdGhlIHNldCB3aGljaCB3aWxsIGNvbXBhY3Qg
dGhlIHNldC4KKy0jCistIyBPcHRpbWl6ZSBpZiB0aGUgZWxlbWVudCBiZWluZyByZW1vdmVkIGlz
IHRoZSBtb3N0IHJlY2VudGx5IGFkZGVkLAorLSMgc2luY2UgZGVmaW5pbmcgX200X3NldF9jbGVh
bnVwKCQxKSBzbG93cyBkb3duIHNvIG1hbnkgb3RoZXIgbWFjcm9zLgorLSMgSW4gcGFydGljdWxh
ciwgdGhpcyBwbGF5cyB3ZWxsIHdpdGggbTRfc2V0X2ZvcmVhY2ggYW5kIG00X3NldF9tYXAuCist
bTRfZGVmaW5lKFttNF9zZXRfcmVtb3ZlXSwKKy1bbTRfc2V0X2NvbnRhaW5zKFskMV0sIFskMl0s
IFtfbTRfc2V0X3NpemUoWyQxXSwKKy0gICAgW200X2RlY3JdKW00X2lmKF9tNF9kZWZuKFtfbTRf
c2V0KFskMV0pXSksIFskMl0sCistCQkgICAgW19tNF9wb3BkZWYoW19tNF9zZXQoWyQxXSwkMild
LCBbX200X3NldChbJDFdKV0pXSwKKy0JCSAgICBbbTRfZGVmaW5lKFtfbTRfc2V0X2NsZWFudXAo
JDEpXSltNF9kZWZpbmUoCistCQkgICAgICBbX200X3NldChbJDFdLCQyKV0sIFswXSldKSQzXSwg
WyQ0XSldKQorLQorLSMgbTRfc2V0X3NpemUoU0VUKQorLSMgLS0tLS0tLS0tLS0tLS0tLQorLSMg
RXhwYW5kIHRvIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgY3VycmVudGx5IGluIFNFVC4gIFRoaXMg
b3BlcmF0aW9uCistIyBpcyBPKDEpLCBhbmQgdGh1cyBtb3JlIGVmZmljaWVudCB0aGFuIG00X2Nv
dW50KG00X3NldF9saXN0KFtTRVRdKSkuCistbTRfZGVmaW5lKFttNF9zZXRfc2l6ZV0sCistW200
X2lmZGVmKFtfbTRfc2V0X3NpemUoJDEpXSwgW200X2luZGlyKFtfbTRfc2V0X3NpemUoJDEpXSld
LCBbMF0pXSkKKy0KKy0jIF9tNF9zZXRfc2l6ZShTRVQsIEFDVElPTikKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIEFDVElPTiBtdXN0IGJlIGVpdGhlciBtNF9pbmNyIG9yIG00X2Rl
Y3IsIGFuZCB0aGUgc2l6ZSBvZiBTRVQgaXMKKy0jIGNoYW5nZWQgYWNjb3JkaW5nbHkuICBJZiB0
aGUgc2V0IGlzIGVtcHR5LCBBQ1RJT04gbXVzdCBub3QgYmUKKy0jIG00X2RlY3IuCistbTRfZGVm
aW5lKFtfbTRfc2V0X3NpemVdLAorLVttNF9kZWZpbmUoW19tNF9zZXRfc2l6ZSgkMSldLAorLQkg
ICBtNF9pZmRlZihbX200X3NldF9zaXplKCQxKV0sIFskMihtNF9pbmRpcihbX200X3NldF9zaXpl
KCQxKV0pKV0sCistCQkgICAgWzFdKSldKQorLQorLSMgbTRfc2V0X3VuaW9uKFNFVDEsIFNFVDIp
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFByb2R1Y2UgYSBMSVNUIG9mIGRvdWJs
ZSBxdW90ZWQgZWxlbWVudHMgdGhhdCBvY2N1ciBpbiBlaXRoZXIgU0VUMQorLSMgb3IgU0VUMiwg
d2l0aG91dCBkdXBsaWNhdGVzLiAgT3V0cHV0IGEgY29tbWEgcHJpb3IgdG8gYW55IGVsZW1lbnRz
LAorLSMgdG8gZGlzdGluZ3Vpc2ggdGhlIGVtcHR5IHN0cmluZyBmcm9tIG5vIGVsZW1lbnRzLiAg
VGhpcyBjYW4gYmUKKy0jIGRpcmVjdGx5IHVzZWQgYXMgYSBzZXJpZXMgb2YgYXJndW1lbnRzLCBz
dWNoIGFzIGZvciBtNF9qb2luLCBvcgorLSMgd3JhcHBlZCBpbnNpZGUgcXVvdGVzIGZvciB1c2Ug
aW4gbTRfZm9yZWFjaC4gIE9yZGVyIG9mIHRoZSBvdXRwdXQgaXMKKy0jIG5vdCBndWFyYW50ZWVk
LgorLSMKKy0jIFdlIGNhbiByZWx5IG9uIHRoZSBmYWN0IHRoYXQgbTRfc2V0X2xpc3RjIHBydW5l
cyBTRVQxLCBzbyB3ZSBkb24ndAorLSMgbmVlZCB0byBjaGVjayBfbTRfc2V0KFskMV0sZWxlbWVu
dCkgZm9yIDAuICBTaG9ydC1jaXJjdWl0IHRoZQorLSMgaWRlbXBvdGVuY2UgcmVsYXRpb24uCist
bTRfZGVmaW5lKFttNF9zZXRfdW5pb25dLAorLVttNF9zZXRfbGlzdGMoWyQxXSltNF9pZihbJDFd
LCBbJDJdLCBbXSwKKy0gIFttNF9zZXRfbWFwX3NlcChbJDJdLCBbXyQwKFskMV0sXSwgWyldKV0p
XSkKKy0KKy1tNF9kZWZpbmUoW19tNF9zZXRfdW5pb25dLAorLVttNF9pZmRlZihbX200X3NldChb
JDFdLCQyKV0sIFtdLCBbLFskMl1dKV0pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAj
IworLSMjIDE2LiBGaWxlIGhhbmRsaW5nLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMj
CistCistCistIyBJdCBpcyBhIHJlYWwgcGl0eSB0aGF0IE00IGNvbWVzIHdpdGggbm8gbWFjcm9z
IHRvIGJpbmQgYSBkaXZlcnNpb24KKy0jIHRvIGEgZmlsZS4gIFNvIHdlIGhhdmUgdG8gZGVhbCB3
aXRob3V0LCB3aGljaCBtYWtlcyB1cyBhIGxvdCBtb3JlCistIyBmcmFnaWxlIHRoYW4gd2Ugc2hv
dWxkLgorLQorLQorLSMgbTRfZmlsZV9hcHBlbmQoRklMRS1OQU1FLCBDT05URU5UKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLW00X2RlZmluZShbbTRfZmlsZV9hcHBl
bmRdLAorLVttNF9zeXNjbWQoW2NhdCA+PiQxIDw8X200ZW9mCistJDIKKy1fbTRlb2YKKy1dKQor
LW00X2lmKG00X3N5c3ZhbCwgWzBdLCBbXSwKKy0gICAgICBbbTRfZmF0YWwoWyQwOiBjYW5ub3Qg
d3JpdGU6ICQxXSldKV0pCistCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMj
CistIyMgMTcuIFNldHRpbmcgTTRzdWdhciB1cC4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMjCistCistIyBfbTRfZGl2ZXJ0X2RpdmVyc2lvbiBzaG91bGQgYmUgZGVmaW5lZC4K
Ky1tNF9kaXZlcnRfcHVzaChbS0lMTF0pCistCistIyBtNF9pbml0CistIyAtLS0tLS0tCistIyBJ
bml0aWFsaXplIHRoZSBtNHN1Z2FyIGxhbmd1YWdlLgorLW00X2RlZmluZShbbTRfaW5pdF0sCist
WyMgQWxsIHRoZSBNNHN1Z2FyIG1hY3JvcyBzdGFydCB3aXRoIGBtNF8nLCBleGNlcHQgYGRubCcg
a2VwdCBhcyBpcworLSMgZm9yIHNha2Ugb2Ygc2ltcGxpY2l0eS4KKy1tNF9wYXR0ZXJuX2ZvcmJp
ZChbXl8/bTRfXSkKKy1tNF9wYXR0ZXJuX2ZvcmJpZChbXmRubCRdKQorLQorLSMgSWYgX19tNF92
ZXJzaW9uX18gaXMgZGVmaW5lZCwgd2UgYXNzdW1lIHRoYXQgd2UgYXJlIGJlaW5nIHJ1biBieSBN
NAorLSMgMS42IG9yIG5ld2VyLCB0aHVzICRAIHJlY3Vyc2lvbiBpcyBsaW5lYXIsIGFuZCBkZWJ1
Z21vZGUoK2RvKQorLSMgaXMgYXZhaWxhYmxlIGZvciBmYXN0ZXIgY2hlY2tzIG9mIGRlcmVmZXJl
bmNpbmcgdW5kZWZpbmVkIG1hY3JvcworLSMgYW5kIGZvcmNpbmcgZHVtcGRlZiB0byBwcmludCB0
byBzdGRlcnIgcmVnYXJkbGVzcyBvZiBkZWJ1Z2ZpbGUuCistIyBCdXQgaWYgaXQgaXMgbWlzc2lu
Zywgd2UgYXNzdW1lIHdlIGFyZSBiZWluZyBydW4gYnkgTTQgMS40LngsIHRoYXQKKy0jICRAIHJl
Y3Vyc2lvbiBpcyBxdWFkcmF0aWMsIGFuZCB0aGF0IHdlIG5lZWQgZm9yZWFjaC1iYXNlZAorLSMg
cmVwbGFjZW1lbnQgbWFjcm9zLiAgQWxzbywgbTQgcHJpb3IgdG8gMS40LjggbG9zZXMgdHJhY2sg
b2YgbG9jYXRpb24KKy0jIGR1cmluZyBtNHdyYXAgdGV4dDsgX19saW5lX18gc2hvdWxkIG5ldmVy
IGJlIDAuCistIworLSMgVXNlIHRoZSByYXcgYnVpbHRpbiB0byBhdm9pZCB0cmlwcGluZyB1cCBp
bmNsdWRlIHRyYWNpbmcuCistIyBNZWFud2hpbGUsIGF2b2lkIG00X2NvcHksIHNpbmNlIGl0IHRl
bXBvcmFyaWx5IHVuZGVmaW5lcyBtNF9kZWZuLgorLW00X2lmZGVmKFtfX200X3ZlcnNpb25fX10s
CistW200X2RlYnVnbW9kZShbK2RvXSkKKy1tNF9kZWZpbmUoW200X2RlZm5dLCBfbTRfZGVmbihb
X200X2RlZm5dKSkKKy1tNF9kZWZpbmUoW200X2R1bXBkZWZdLCBfbTRfZGVmbihbX200X2R1bXBk
ZWZdKSkKKy1tNF9kZWZpbmUoW200X3BvcGRlZl0sIF9tNF9kZWZuKFtfbTRfcG9wZGVmXSkpCist
bTRfZGVmaW5lKFttNF91bmRlZmluZV0sIF9tNF9kZWZuKFtfbTRfdW5kZWZpbmVdKSldLAorLVtt
NF9idWlsdGluKFtpbmNsdWRlXSwgW200c3VnYXIvZm9yZWFjaC5tNF0pCistbTRfd3JhcF9saWZv
KFttNF9pZihfX2xpbmVfXywgWzBdLCBbbTRfcHVzaGRlZihbbTRfbG9jYXRpb25dLAorLV1dbTRf
ZHF1b3RlKG00X2RxdW90ZShtNF9kcXVvdGUoX19maWxlX186X19saW5lX18pKSlbWyldKV0pXSkK
Ky0KKy0jIFJld3JpdGUgdGhlIGZpcnN0IGVudHJ5IG9mIHRoZSBkaXZlcnNpb24gc3RhY2suCist
bTRfZGl2ZXJ0KFtLSUxMXSkKKy0KKy0jIENoZWNrIHRoZSBkaXZlcnQgcHVzaC9wb3AgcGVyZmVj
dCBiYWxhbmNlLgorLSMgU29tZSB1c2VycyBhcmUgcHJvbmUgdG8gYWxzbyB1c2UgbTRfd3JhcCB0
byByZWdpc3RlciBsYXN0LW1pbnV0ZQorLSMgbTRfZGl2ZXJ0X3RleHQ7IHNvIGFmdGVyIG91ciBk
aXZlcnNpb24gY2xlYW51cHMsIHdlIHJlc3RvcmUKKy0jIEtJTEwgYXMgdGhlIGJvdHRvbSBvZiB0
aGUgZGl2ZXJzaW9uIHN0YWNrLgorLW00X3dyYXAoW200X3BvcGRlZihbX200X2RpdmVydF9kaXZl
cnNpb25dKW00X2lmZGVmKAorLSAgW19tNF9kaXZlcnRfZGl2ZXJzaW9uXSwgW200X2ZhdGFsKFsk
MDogdW5iYWxhbmNlZCBtNF9kaXZlcnRfcHVzaDoKKy1dbTRfZGl2ZXJ0X3N0YWNrKV0pX200X3Bv
cGRlZihbX200X2RpdmVydF9zdGFja10pbTRfZGl2ZXJ0X3B1c2goW0tJTExdKV0pCistXSkKK2Rp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJk
X3BhcnR5L3NrZWxldG9ucy9MSUNFTlNFIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvTElDRU5TRQorZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CitpbmRleCA5NGE5ZWQwMjRkMy4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL0xJ
Q0VOU0UKKysrKyAvZGV2L251bGwKK0BAIC0xLDY3NCArMCwwIEBACistICAgICAgICAgICAgICAg
ICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorLSAgICAgICAgICAgICAgICAgICAgICAg
VmVyc2lvbiAzLCAyOSBKdW5lIDIwMDcKKy0KKy0gQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgorLSBFdmVyeW9uZSBpcyBw
ZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKy0gb2YgdGhp
cyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCistCist
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWFtYmxlCistCistICBUaGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgorLXNvZnR3
YXJlIGFuZCBvdGhlciBraW5kcyBvZiB3b3Jrcy4KKy0KKy0gIFRoZSBsaWNlbnNlcyBmb3IgbW9z
dCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAorLXRvIHRh
a2UgYXdheSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSB0aGUgd29ya3MuICBCeSBj
b250cmFzdCwKKy10aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgaW50ZW5kZWQgdG8g
Z3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0bworLXNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25z
IG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQorLXNvZnR3YXJlIGZv
ciBhbGwgaXRzIHVzZXJzLiAgV2UsIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIHVzZSB0
aGUKKy1HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9zdCBvZiBvdXIgc29mdHdhcmU7
IGl0IGFwcGxpZXMgYWxzbyB0bworLWFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5
IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bworLXlvdXIgcHJvZ3JhbXMsIHRvby4K
Ky0KKy0gIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0
byBmcmVlZG9tLCBub3QKKy1wcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUg
ZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91CistaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0
cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgorLXRoZW0gaWYg
eW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYg
eW91Cistd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBp
ZWNlcyBvZiBpdCBpbiBuZXcKKy1mcmVlIHByb2dyYW1zLCBhbmQgdGhhdCB5b3Uga25vdyB5b3Ug
Y2FuIGRvIHRoZXNlIHRoaW5ncy4KKy0KKy0gIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5l
ZWQgdG8gcHJldmVudCBvdGhlcnMgZnJvbSBkZW55aW5nIHlvdQorLXRoZXNlIHJpZ2h0cyBvciBh
c2tpbmcgeW91IHRvIHN1cnJlbmRlciB0aGUgcmlnaHRzLiAgVGhlcmVmb3JlLCB5b3UgaGF2ZQor
LWNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhl
IHNvZnR3YXJlLCBvciBpZgorLXlvdSBtb2RpZnkgaXQ6IHJlc3BvbnNpYmlsaXRpZXMgdG8gcmVz
cGVjdCB0aGUgZnJlZWRvbSBvZiBvdGhlcnMuCistCistICBGb3IgZXhhbXBsZSwgaWYgeW91IGRp
c3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCistZ3JhdGlzIG9yIGZv
ciBhIGZlZSwgeW91IG11c3QgcGFzcyBvbiB0byB0aGUgcmVjaXBpZW50cyB0aGUgc2FtZQorLWZy
ZWVkb21zIHRoYXQgeW91IHJlY2VpdmVkLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwg
dG9vLCByZWNlaXZlCistb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qg
c2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKKy1rbm93IHRoZWlyIHJpZ2h0cy4KKy0KKy0g
IERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRo
IHR3byBzdGVwczoKKy0oMSkgYXNzZXJ0IGNvcHlyaWdodCBvbiB0aGUgc29mdHdhcmUsIGFuZCAo
Mikgb2ZmZXIgeW91IHRoaXMgTGljZW5zZQorLWdpdmluZyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0
byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgaXQuCistCistICBGb3IgdGhlIGRldmVs
b3BlcnMnIGFuZCBhdXRob3JzJyBwcm90ZWN0aW9uLCB0aGUgR1BMIGNsZWFybHkgZXhwbGFpbnMK
Ky10aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUgc29mdHdhcmUuICBGb3Ig
Ym90aCB1c2VycycgYW5kCistYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1v
ZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcworLWNoYW5nZWQsIHNvIHRoYXQgdGhlaXIgcHJv
YmxlbXMgd2lsbCBub3QgYmUgYXR0cmlidXRlZCBlcnJvbmVvdXNseSB0bworLWF1dGhvcnMgb2Yg
cHJldmlvdXMgdmVyc2lvbnMuCistCistICBTb21lIGRldmljZXMgYXJlIGRlc2lnbmVkIHRvIGRl
bnkgdXNlcnMgYWNjZXNzIHRvIGluc3RhbGwgb3IgcnVuCistbW9kaWZpZWQgdmVyc2lvbnMgb2Yg
dGhlIHNvZnR3YXJlIGluc2lkZSB0aGVtLCBhbHRob3VnaCB0aGUgbWFudWZhY3R1cmVyCistY2Fu
IGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0g
b2YKKy1wcm90ZWN0aW5nIHVzZXJzJyBmcmVlZG9tIHRvIGNoYW5nZSB0aGUgc29mdHdhcmUuICBU
aGUgc3lzdGVtYXRpYworLXBhdHRlcm4gb2Ygc3VjaCBhYnVzZSBvY2N1cnMgaW4gdGhlIGFyZWEg
b2YgcHJvZHVjdHMgZm9yIGluZGl2aWR1YWxzIHRvCistdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkg
d2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCistaGF2ZSBkZXNp
Z25lZCB0aGlzIHZlcnNpb24gb2YgdGhlIEdQTCB0byBwcm9oaWJpdCB0aGUgcHJhY3RpY2UgZm9y
IHRob3NlCistcHJvZHVjdHMuICBJZiBzdWNoIHByb2JsZW1zIGFyaXNlIHN1YnN0YW50aWFsbHkg
aW4gb3RoZXIgZG9tYWlucywgd2UKKy1zdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNp
b24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKKy1vZiB0aGUgR1BMLCBhcyBu
ZWVkZWQgdG8gcHJvdGVjdCB0aGUgZnJlZWRvbSBvZiB1c2Vycy4KKy0KKy0gIEZpbmFsbHksIGV2
ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMu
CistU3RhdGVzIHNob3VsZCBub3QgYWxsb3cgcGF0ZW50cyB0byByZXN0cmljdCBkZXZlbG9wbWVu
dCBhbmQgdXNlIG9mCistc29mdHdhcmUgb24gZ2VuZXJhbC1wdXJwb3NlIGNvbXB1dGVycywgYnV0
IGluIHRob3NlIHRoYXQgZG8sIHdlIHdpc2ggdG8KKy1hdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIg
dGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKKy1tYWtlIGl0IGVm
ZmVjdGl2ZWx5IHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB0aGUgR1BMIGFzc3VyZXMg
dGhhdAorLXBhdGVudHMgY2Fubm90IGJlIHVzZWQgdG8gcmVuZGVyIHRoZSBwcm9ncmFtIG5vbi1m
cmVlLgorLQorLSAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcs
IGRpc3RyaWJ1dGlvbiBhbmQKKy1tb2RpZmljYXRpb24gZm9sbG93LgorLQorLSAgICAgICAgICAg
ICAgICAgICAgICAgVEVSTVMgQU5EIENPTkRJVElPTlMKKy0KKy0gIDAuIERlZmluaXRpb25zLgor
LQorLSAgIlRoaXMgTGljZW5zZSIgcmVmZXJzIHRvIHZlcnNpb24gMyBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UuCistCistICAiQ29weXJpZ2h0IiBhbHNvIG1lYW5zIGNvcHlyaWdo
dC1saWtlIGxhd3MgdGhhdCBhcHBseSB0byBvdGhlciBraW5kcyBvZgorLXdvcmtzLCBzdWNoIGFz
IHNlbWljb25kdWN0b3IgbWFza3MuCistCistICAiVGhlIFByb2dyYW0iIHJlZmVycyB0byBhbnkg
Y29weXJpZ2h0YWJsZSB3b3JrIGxpY2Vuc2VkIHVuZGVyIHRoaXMKKy1MaWNlbnNlLiAgRWFjaCBs
aWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuICAiTGljZW5zZWVzIiBhbmQKKy0icmVjaXBp
ZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCistCistICBUbyAibW9k
aWZ5IiBhIHdvcmsgbWVhbnMgdG8gY29weSBmcm9tIG9yIGFkYXB0IGFsbCBvciBwYXJ0IG9mIHRo
ZSB3b3JrCistaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3Ro
ZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCistZXhhY3QgY29weS4gIFRoZSByZXN1bHRpbmcgd29y
ayBpcyBjYWxsZWQgYSAibW9kaWZpZWQgdmVyc2lvbiIgb2YgdGhlCistZWFybGllciB3b3JrIG9y
IGEgd29yayAiYmFzZWQgb24iIHRoZSBlYXJsaWVyIHdvcmsuCistCistICBBICJjb3ZlcmVkIHdv
cmsiIG1lYW5zIGVpdGhlciB0aGUgdW5tb2RpZmllZCBQcm9ncmFtIG9yIGEgd29yayBiYXNlZAor
LW9uIHRoZSBQcm9ncmFtLgorLQorLSAgVG8gInByb3BhZ2F0ZSIgYSB3b3JrIG1lYW5zIHRvIGRv
IGFueXRoaW5nIHdpdGggaXQgdGhhdCwgd2l0aG91dAorLXBlcm1pc3Npb24sIHdvdWxkIG1ha2Ug
eW91IGRpcmVjdGx5IG9yIHNlY29uZGFyaWx5IGxpYWJsZSBmb3IKKy1pbmZyaW5nZW1lbnQgdW5k
ZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKKy1j
b21wdXRlciBvciBtb2RpZnlpbmcgYSBwcml2YXRlIGNvcHkuICBQcm9wYWdhdGlvbiBpbmNsdWRl
cyBjb3B5aW5nLAorLWRpc3RyaWJ1dGlvbiAod2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiks
IG1ha2luZyBhdmFpbGFibGUgdG8gdGhlCistcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMg
b3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgorLQorLSAgVG8gImNvbnZleSIgYSB3b3JrIG1lYW5z
IGFueSBraW5kIG9mIHByb3BhZ2F0aW9uIHRoYXQgZW5hYmxlcyBvdGhlcgorLXBhcnRpZXMgdG8g
bWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhy
b3VnaAorLWEgY29tcHV0ZXIgbmV0d29yaywgd2l0aCBubyB0cmFuc2ZlciBvZiBhIGNvcHksIGlz
IG5vdCBjb252ZXlpbmcuCistCistICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNw
bGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKKy10byB0aGUgZXh0ZW50IHRoYXQgaXQg
aW5jbHVkZXMgYSBjb252ZW5pZW50IGFuZCBwcm9taW5lbnRseSB2aXNpYmxlCistZmVhdHVyZSB0
aGF0ICgxKSBkaXNwbGF5cyBhbiBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlLCBhbmQgKDIp
CistdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsg
KGV4Y2VwdCB0byB0aGUKKy1leHRlbnQgdGhhdCB3YXJyYW50aWVzIGFyZSBwcm92aWRlZCksIHRo
YXQgbGljZW5zZWVzIG1heSBjb252ZXkgdGhlCistd29yayB1bmRlciB0aGlzIExpY2Vuc2UsIGFu
ZCBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgSWYKKy10aGUgaW50ZXJmYWNl
IHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQor
LW1lbnUsIGEgcHJvbWluZW50IGl0ZW0gaW4gdGhlIGxpc3QgbWVldHMgdGhpcyBjcml0ZXJpb24u
CistCistICAxLiBTb3VyY2UgQ29kZS4KKy0KKy0gIFRoZSAic291cmNlIGNvZGUiIGZvciBhIHdv
cmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrCistZm9yIG1ha2luZyBtb2Rp
ZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQorLWZv
cm0gb2YgYSB3b3JrLgorLQorLSAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRl
cmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKKy1zdGFuZGFyZCBkZWZpbmVkIGJ5IGEg
cmVjb2duaXplZCBzdGFuZGFyZHMgYm9keSwgb3IsIGluIHRoZSBjYXNlIG9mCistaW50ZXJmYWNl
cyBzcGVjaWZpZWQgZm9yIGEgcGFydGljdWxhciBwcm9ncmFtbWluZyBsYW5ndWFnZSwgb25lIHRo
YXQKKy1pcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5n
dWFnZS4KKy0KKy0gIFRoZSAiU3lzdGVtIExpYnJhcmllcyIgb2YgYW4gZXhlY3V0YWJsZSB3b3Jr
IGluY2x1ZGUgYW55dGhpbmcsIG90aGVyCistdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0
IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKKy1wYWNrYWdpbmcgYSBNYWpv
ciBDb21wb25lbnQsIGJ1dCB3aGljaCBpcyBub3QgcGFydCBvZiB0aGF0IE1ham9yCistQ29tcG9u
ZW50LCBhbmQgKGIpIHNlcnZlcyBvbmx5IHRvIGVuYWJsZSB1c2Ugb2YgdGhlIHdvcmsgd2l0aCB0
aGF0CistTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZh
Y2UgZm9yIHdoaWNoIGFuCistaW1wbGVtZW50YXRpb24gaXMgYXZhaWxhYmxlIHRvIHRoZSBwdWJs
aWMgaW4gc291cmNlIGNvZGUgZm9ybS4gIEEKKy0iTWFqb3IgQ29tcG9uZW50IiwgaW4gdGhpcyBj
b250ZXh0LCBtZWFucyBhIG1ham9yIGVzc2VudGlhbCBjb21wb25lbnQKKy0oa2VybmVsLCB3aW5k
b3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCist
KGlmIGFueSkgb24gd2hpY2ggdGhlIGV4ZWN1dGFibGUgd29yayBydW5zLCBvciBhIGNvbXBpbGVy
IHVzZWQgdG8KKy1wcm9kdWNlIHRoZSB3b3JrLCBvciBhbiBvYmplY3QgY29kZSBpbnRlcnByZXRl
ciB1c2VkIHRvIHJ1biBpdC4KKy0KKy0gIFRoZSAiQ29ycmVzcG9uZGluZyBTb3VyY2UiIGZvciBh
IHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSBtZWFucyBhbGwKKy10aGUgc291cmNlIGNvZGUgbmVl
ZGVkIHRvIGdlbmVyYXRlLCBpbnN0YWxsLCBhbmQgKGZvciBhbiBleGVjdXRhYmxlCistd29yaykg
cnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2Ny
aXB0cyB0bworLWNvbnRyb2wgdGhvc2UgYWN0aXZpdGllcy4gIEhvd2V2ZXIsIGl0IGRvZXMgbm90
IGluY2x1ZGUgdGhlIHdvcmsncworLVN5c3RlbSBMaWJyYXJpZXMsIG9yIGdlbmVyYWwtcHVycG9z
ZSB0b29scyBvciBnZW5lcmFsbHkgYXZhaWxhYmxlIGZyZWUKKy1wcm9ncmFtcyB3aGljaCBhcmUg
dXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKKy13aGlj
aCBhcmUgbm90IHBhcnQgb2YgdGhlIHdvcmsuICBGb3IgZXhhbXBsZSwgQ29ycmVzcG9uZGluZyBT
b3VyY2UKKy1pbmNsdWRlcyBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcyBhc3NvY2lhdGVkIHdp
dGggc291cmNlIGZpbGVzIGZvcgorLXRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBz
aGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQorLWxpbmtlZCBzdWJwcm9ncmFtcyB0aGF0
IHRoZSB3b3JrIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byByZXF1aXJlLAorLXN1Y2ggYXMg
YnkgaW50aW1hdGUgZGF0YSBjb21tdW5pY2F0aW9uIG9yIGNvbnRyb2wgZmxvdyBiZXR3ZWVuIHRo
b3NlCistc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgorLQorLSAgVGhl
IENvcnJlc3BvbmRpbmcgU291cmNlIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCB1c2Vy
cworLWNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUg
Q29ycmVzcG9uZGluZworLVNvdXJjZS4KKy0KKy0gIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBm
b3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdAorLXNhbWUgd29yay4KKy0KKy0g
IDIuIEJhc2ljIFBlcm1pc3Npb25zLgorLQorLSAgQWxsIHJpZ2h0cyBncmFudGVkIHVuZGVyIHRo
aXMgTGljZW5zZSBhcmUgZ3JhbnRlZCBmb3IgdGhlIHRlcm0gb2YKKy1jb3B5cmlnaHQgb24gdGhl
IFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZAorLWNvbmRp
dGlvbnMgYXJlIG1ldC4gIFRoaXMgTGljZW5zZSBleHBsaWNpdGx5IGFmZmlybXMgeW91ciB1bmxp
bWl0ZWQKKy1wZXJtaXNzaW9uIHRvIHJ1biB0aGUgdW5tb2RpZmllZCBQcm9ncmFtLiAgVGhlIG91
dHB1dCBmcm9tIHJ1bm5pbmcgYQorLWNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGlj
ZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cworLWNvbnRlbnQsIGNvbnN0aXR1dGVz
IGEgY292ZXJlZCB3b3JrLiAgVGhpcyBMaWNlbnNlIGFja25vd2xlZGdlcyB5b3VyCistcmlnaHRz
IG9mIGZhaXIgdXNlIG9yIG90aGVyIGVxdWl2YWxlbnQsIGFzIHByb3ZpZGVkIGJ5IGNvcHlyaWdo
dCBsYXcuCistCistICBZb3UgbWF5IG1ha2UsIHJ1biBhbmQgcHJvcGFnYXRlIGNvdmVyZWQgd29y
a3MgdGhhdCB5b3UgZG8gbm90CistY29udmV5LCB3aXRob3V0IGNvbmRpdGlvbnMgc28gbG9uZyBh
cyB5b3VyIGxpY2Vuc2Ugb3RoZXJ3aXNlIHJlbWFpbnMKKy1pbiBmb3JjZS4gIFlvdSBtYXkgY29u
dmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCistb2YgaGF2
aW5nIHRoZW0gbWFrZSBtb2RpZmljYXRpb25zIGV4Y2x1c2l2ZWx5IGZvciB5b3UsIG9yIHByb3Zp
ZGUgeW91Cistd2l0aCBmYWNpbGl0aWVzIGZvciBydW5uaW5nIHRob3NlIHdvcmtzLCBwcm92aWRl
ZCB0aGF0IHlvdSBjb21wbHkgd2l0aAorLXRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29u
dmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCistbm90IGNvbnRyb2wgY29weXJp
Z2h0LiAgVGhvc2UgdGh1cyBtYWtpbmcgb3IgcnVubmluZyB0aGUgY292ZXJlZCB3b3JrcworLWZv
ciB5b3UgbXVzdCBkbyBzbyBleGNsdXNpdmVseSBvbiB5b3VyIGJlaGFsZiwgdW5kZXIgeW91ciBk
aXJlY3Rpb24KKy1hbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20g
bWFraW5nIGFueSBjb3BpZXMgb2YKKy15b3VyIGNvcHlyaWdodGVkIG1hdGVyaWFsIG91dHNpZGUg
dGhlaXIgcmVsYXRpb25zaGlwIHdpdGggeW91LgorLQorLSAgQ29udmV5aW5nIHVuZGVyIGFueSBv
dGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKKy10aGUgY29uZGl0
aW9ucyBzdGF0ZWQgYmVsb3cuICBTdWJsaWNlbnNpbmcgaXMgbm90IGFsbG93ZWQ7IHNlY3Rpb24g
MTAKKy1tYWtlcyBpdCB1bm5lY2Vzc2FyeS4KKy0KKy0gIDMuIFByb3RlY3RpbmcgVXNlcnMnIExl
Z2FsIFJpZ2h0cyBGcm9tIEFudGktQ2lyY3VtdmVudGlvbiBMYXcuCistCistICBObyBjb3ZlcmVk
IHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwK
Ky1tZWFzdXJlIHVuZGVyIGFueSBhcHBsaWNhYmxlIGxhdyBmdWxmaWxsaW5nIG9ibGlnYXRpb25z
IHVuZGVyIGFydGljbGUKKy0xMSBvZiB0aGUgV0lQTyBjb3B5cmlnaHQgdHJlYXR5IGFkb3B0ZWQg
b24gMjAgRGVjZW1iZXIgMTk5Niwgb3IKKy1zaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVz
dHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCistbWVhc3VyZXMuCistCistICBXaGVuIHlv
dSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9y
YmlkCistY2lyY3VtdmVudGlvbiBvZiB0ZWNobm9sb2dpY2FsIG1lYXN1cmVzIHRvIHRoZSBleHRl
bnQgc3VjaCBjaXJjdW12ZW50aW9uCistaXMgZWZmZWN0ZWQgYnkgZXhlcmNpc2luZyByaWdodHMg
dW5kZXIgdGhpcyBMaWNlbnNlIHdpdGggcmVzcGVjdCB0bworLXRoZSBjb3ZlcmVkIHdvcmssIGFu
ZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKKy1tb2Rp
ZmljYXRpb24gb2YgdGhlIHdvcmsgYXMgYSBtZWFucyBvZiBlbmZvcmNpbmcsIGFnYWluc3QgdGhl
IHdvcmsncworLXVzZXJzLCB5b3VyIG9yIHRoaXJkIHBhcnRpZXMnIGxlZ2FsIHJpZ2h0cyB0byBm
b3JiaWQgY2lyY3VtdmVudGlvbiBvZgorLXRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCistCistICA0
LiBDb252ZXlpbmcgVmVyYmF0aW0gQ29waWVzLgorLQorLSAgWW91IG1heSBjb252ZXkgdmVyYmF0
aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3Mgc291cmNlIGNvZGUgYXMgeW91CistcmVjZWl2ZSBp
dCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UgY29uc3BpY3VvdXNseSBhbmQKKy1h
cHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdo
dCBub3RpY2U7Cista2VlcCBpbnRhY3QgYWxsIG5vdGljZXMgc3RhdGluZyB0aGF0IHRoaXMgTGlj
ZW5zZSBhbmQgYW55Cistbm9uLXBlcm1pc3NpdmUgdGVybXMgYWRkZWQgaW4gYWNjb3JkIHdpdGgg
c2VjdGlvbiA3IGFwcGx5IHRvIHRoZSBjb2RlOworLWtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9m
IHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCistcmVjaXBpZW50cyBh
IGNvcHkgb2YgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggdGhlIFByb2dyYW0uCistCistICBZb3Ug
bWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBj
b252ZXksCistYW5kIHlvdSBtYXkgb2ZmZXIgc3VwcG9ydCBvciB3YXJyYW50eSBwcm90ZWN0aW9u
IGZvciBhIGZlZS4KKy0KKy0gIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMu
CistCistICBZb3UgbWF5IGNvbnZleSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIG9yIHRo
ZSBtb2RpZmljYXRpb25zIHRvCistcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUg
Zm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKKy10ZXJtcyBvZiBzZWN0aW9uIDQsIHByb3Zp
ZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKKy0KKy0gICAg
YSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91
IG1vZGlmaWVkCistICAgIGl0LCBhbmQgZ2l2aW5nIGEgcmVsZXZhbnQgZGF0ZS4KKy0KKy0gICAg
YikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQg
aXMKKy0gICAgcmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFuZCBhbnkgY29uZGl0aW9ucyBh
ZGRlZCB1bmRlciBzZWN0aW9uCistICAgIDcuICBUaGlzIHJlcXVpcmVtZW50IG1vZGlmaWVzIHRo
ZSByZXF1aXJlbWVudCBpbiBzZWN0aW9uIDQgdG8KKy0gICAgImtlZXAgaW50YWN0IGFsbCBub3Rp
Y2VzIi4KKy0KKy0gICAgYykgWW91IG11c3QgbGljZW5zZSB0aGUgZW50aXJlIHdvcmssIGFzIGEg
d2hvbGUsIHVuZGVyIHRoaXMKKy0gICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8g
cG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCistICAgIExpY2Vuc2Ugd2lsbCB0aGVyZWZvcmUg
YXBwbHksIGFsb25nIHdpdGggYW55IGFwcGxpY2FibGUgc2VjdGlvbiA3CistICAgIGFkZGl0aW9u
YWwgdGVybXMsIHRvIHRoZSB3aG9sZSBvZiB0aGUgd29yaywgYW5kIGFsbCBpdHMgcGFydHMsCist
ICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdp
dmVzIG5vCistICAgIHBlcm1pc3Npb24gdG8gbGljZW5zZSB0aGUgd29yayBpbiBhbnkgb3RoZXIg
d2F5LCBidXQgaXQgZG9lcyBub3QKKy0gICAgaW52YWxpZGF0ZSBzdWNoIHBlcm1pc3Npb24gaWYg
eW91IGhhdmUgc2VwYXJhdGVseSByZWNlaXZlZCBpdC4KKy0KKy0gICAgZCkgSWYgdGhlIHdvcmsg
aGFzIGludGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlcywgZWFjaCBtdXN0IGRpc3BsYXkKKy0gICAg
QXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlczsgaG93ZXZlciwgaWYgdGhlIFByb2dyYW0gaGFzIGlu
dGVyYWN0aXZlCistICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0
ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCistICAgIHdvcmsgbmVlZCBub3QgbWFrZSB0aGVtIGRvIHNv
LgorLQorLSAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFy
YXRlIGFuZCBpbmRlcGVuZGVudAorLXdvcmtzLCB3aGljaCBhcmUgbm90IGJ5IHRoZWlyIG5hdHVy
ZSBleHRlbnNpb25zIG9mIHRoZSBjb3ZlcmVkIHdvcmssCistYW5kIHdoaWNoIGFyZSBub3QgY29t
YmluZWQgd2l0aCBpdCBzdWNoIGFzIHRvIGZvcm0gYSBsYXJnZXIgcHJvZ3JhbSwKKy1pbiBvciBv
biBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVk
IGFuCistImFnZ3JlZ2F0ZSIgaWYgdGhlIGNvbXBpbGF0aW9uIGFuZCBpdHMgcmVzdWx0aW5nIGNv
cHlyaWdodCBhcmUgbm90CistdXNlZCB0byBsaW1pdCB0aGUgYWNjZXNzIG9yIGxlZ2FsIHJpZ2h0
cyBvZiB0aGUgY29tcGlsYXRpb24ncyB1c2VycworLWJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFs
IHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yaworLWluIGFuIGFnZ3Jl
Z2F0ZSBkb2VzIG5vdCBjYXVzZSB0aGlzIExpY2Vuc2UgdG8gYXBwbHkgdG8gdGhlIG90aGVyCist
cGFydHMgb2YgdGhlIGFnZ3JlZ2F0ZS4KKy0KKy0gIDYuIENvbnZleWluZyBOb24tU291cmNlIEZv
cm1zLgorLQorLSAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUg
Zm9ybSB1bmRlciB0aGUgdGVybXMKKy1vZiBzZWN0aW9ucyA0IGFuZCA1LCBwcm92aWRlZCB0aGF0
IHlvdSBhbHNvIGNvbnZleSB0aGUKKy1tYWNoaW5lLXJlYWRhYmxlIENvcnJlc3BvbmRpbmcgU291
cmNlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsCistaW4gb25lIG9mIHRoZXNlIHdh
eXM6CistCistICAgIGEpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGlu
LCBhIHBoeXNpY2FsIHByb2R1Y3QKKy0gICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1
dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKKy0gICAgQ29ycmVzcG9uZGluZyBTb3Vy
Y2UgZml4ZWQgb24gYSBkdXJhYmxlIHBoeXNpY2FsIG1lZGl1bQorLSAgICBjdXN0b21hcmlseSB1
c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZS4KKy0KKy0gICAgYikgQ29udmV5IHRoZSBvYmpl
Y3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAorLSAgICAoaW5j
bHVkaW5nIGEgcGh5c2ljYWwgZGlzdHJpYnV0aW9uIG1lZGl1bSksIGFjY29tcGFuaWVkIGJ5IGEK
Ky0gICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2
YWxpZCBmb3IgYXMKKy0gICAgbG9uZyBhcyB5b3Ugb2ZmZXIgc3BhcmUgcGFydHMgb3IgY3VzdG9t
ZXIgc3VwcG9ydCBmb3IgdGhhdCBwcm9kdWN0CistICAgIG1vZGVsLCB0byBnaXZlIGFueW9uZSB3
aG8gcG9zc2Vzc2VzIHRoZSBvYmplY3QgY29kZSBlaXRoZXIgKDEpIGEKKy0gICAgY29weSBvZiB0
aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCistICAg
IHByb2R1Y3QgdGhhdCBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgb24gYSBkdXJhYmxlIHBo
eXNpY2FsCistICAgIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNo
YW5nZSwgZm9yIGEgcHJpY2Ugbm8KKy0gICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0
IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCistICAgIGNvbnZleWluZyBvZiBzb3VyY2Us
IG9yICgyKSBhY2Nlc3MgdG8gY29weSB0aGUKKy0gICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgZnJv
bSBhIG5ldHdvcmsgc2VydmVyIGF0IG5vIGNoYXJnZS4KKy0KKy0gICAgYykgQ29udmV5IGluZGl2
aWR1YWwgY29waWVzIG9mIHRoZSBvYmplY3QgY29kZSB3aXRoIGEgY29weSBvZiB0aGUKKy0gICAg
d3JpdHRlbiBvZmZlciB0byBwcm92aWRlIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4gIFRoaXMK
Ky0gICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29t
bWVyY2lhbGx5LCBhbmQKKy0gICAgb25seSBpZiB5b3UgcmVjZWl2ZWQgdGhlIG9iamVjdCBjb2Rl
IHdpdGggc3VjaCBhbiBvZmZlciwgaW4gYWNjb3JkCistICAgIHdpdGggc3Vic2VjdGlvbiA2Yi4K
Ky0KKy0gICAgZCkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBieSBvZmZlcmluZyBhY2Nlc3MgZnJv
bSBhIGRlc2lnbmF0ZWQKKy0gICAgcGxhY2UgKGdyYXRpcyBvciBmb3IgYSBjaGFyZ2UpLCBhbmQg
b2ZmZXIgZXF1aXZhbGVudCBhY2Nlc3MgdG8gdGhlCistICAgIENvcnJlc3BvbmRpbmcgU291cmNl
IGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCistICAgIGZ1cnRo
ZXIgY2hhcmdlLiAgWW91IG5lZWQgbm90IHJlcXVpcmUgcmVjaXBpZW50cyB0byBjb3B5IHRoZQor
LSAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4gIElm
IHRoZSBwbGFjZSB0bworLSAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2Vy
dmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKKy0gICAgbWF5IGJlIG9uIGEgZGlmZmVyZW50
IHNlcnZlciAob3BlcmF0ZWQgYnkgeW91IG9yIGEgdGhpcmQgcGFydHkpCistICAgIHRoYXQgc3Vw
cG9ydHMgZXF1aXZhbGVudCBjb3B5aW5nIGZhY2lsaXRpZXMsIHByb3ZpZGVkIHlvdSBtYWludGFp
bgorLSAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3
aGVyZSB0byBmaW5kIHRoZQorLSAgICBDb3JyZXNwb25kaW5nIFNvdXJjZS4gIFJlZ2FyZGxlc3Mg
b2Ygd2hhdCBzZXJ2ZXIgaG9zdHMgdGhlCistICAgIENvcnJlc3BvbmRpbmcgU291cmNlLCB5b3Ug
cmVtYWluIG9ibGlnYXRlZCB0byBlbnN1cmUgdGhhdCBpdCBpcworLSAgICBhdmFpbGFibGUgZm9y
IGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgorLQorLSAg
ICBlKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIHVzaW5nIHBlZXItdG8tcGVlciB0cmFuc21pc3Np
b24sIHByb3ZpZGVkCistICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVj
dCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCistICAgIFNvdXJjZSBvZiB0aGUgd29yayBhcmUgYmVp
bmcgb2ZmZXJlZCB0byB0aGUgZ2VuZXJhbCBwdWJsaWMgYXQgbm8KKy0gICAgY2hhcmdlIHVuZGVy
IHN1YnNlY3Rpb24gNmQuCistCistICBBIHNlcGFyYWJsZSBwb3J0aW9uIG9mIHRoZSBvYmplY3Qg
Y29kZSwgd2hvc2Ugc291cmNlIGNvZGUgaXMgZXhjbHVkZWQKKy1mcm9tIHRoZSBDb3JyZXNwb25k
aW5nIFNvdXJjZSBhcyBhIFN5c3RlbSBMaWJyYXJ5LCBuZWVkIG5vdCBiZQorLWluY2x1ZGVkIGlu
IGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KKy0KKy0gIEEgIlVzZXIgUHJvZHVjdCIg
aXMgZWl0aGVyICgxKSBhICJjb25zdW1lciBwcm9kdWN0Iiwgd2hpY2ggbWVhbnMgYW55CistdGFu
Z2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29u
YWwsIGZhbWlseSwKKy1vciBob3VzZWhvbGQgcHVycG9zZXMsIG9yICgyKSBhbnl0aGluZyBkZXNp
Z25lZCBvciBzb2xkIGZvciBpbmNvcnBvcmF0aW9uCistaW50byBhIGR3ZWxsaW5nLiAgSW4gZGV0
ZXJtaW5pbmcgd2hldGhlciBhIHByb2R1Y3QgaXMgYSBjb25zdW1lciBwcm9kdWN0LAorLWRvdWJ0
ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEg
cGFydGljdWxhcgorLXByb2R1Y3QgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHVzZXIsICJub3Jt
YWxseSB1c2VkIiByZWZlcnMgdG8gYQorLXR5cGljYWwgb3IgY29tbW9uIHVzZSBvZiB0aGF0IGNs
YXNzIG9mIHByb2R1Y3QsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YXR1cworLW9mIHRoZSBwYXJ0aWN1
bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCistYWN0
dWFsbHkgdXNlcywgb3IgZXhwZWN0cyBvciBpcyBleHBlY3RlZCB0byB1c2UsIHRoZSBwcm9kdWN0
LiAgQSBwcm9kdWN0CistaXMgYSBjb25zdW1lciBwcm9kdWN0IHJlZ2FyZGxlc3Mgb2Ygd2hldGhl
ciB0aGUgcHJvZHVjdCBoYXMgc3Vic3RhbnRpYWwKKy1jb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9y
IG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAorLXRoZSBvbmx5
IHNpZ25pZmljYW50IG1vZGUgb2YgdXNlIG9mIHRoZSBwcm9kdWN0LgorLQorLSAgIkluc3RhbGxh
dGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLAor
LXByb2NlZHVyZXMsIGF1dGhvcml6YXRpb24ga2V5cywgb3Igb3RoZXIgaW5mb3JtYXRpb24gcmVx
dWlyZWQgdG8gaW5zdGFsbAorLWFuZCBleGVjdXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIGEgY292
ZXJlZCB3b3JrIGluIHRoYXQgVXNlciBQcm9kdWN0IGZyb20KKy1hIG1vZGlmaWVkIHZlcnNpb24g
b2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKKy1zdWZm
aWNlIHRvIGVuc3VyZSB0aGF0IHRoZSBjb250aW51ZWQgZnVuY3Rpb25pbmcgb2YgdGhlIG1vZGlm
aWVkIG9iamVjdAorLWNvZGUgaXMgaW4gbm8gY2FzZSBwcmV2ZW50ZWQgb3IgaW50ZXJmZXJlZCB3
aXRoIHNvbGVseSBiZWNhdXNlCistbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCistCistICBJ
ZiB5b3UgY29udmV5IGFuIG9iamVjdCBjb2RlIHdvcmsgdW5kZXIgdGhpcyBzZWN0aW9uIGluLCBv
ciB3aXRoLCBvcgorLXNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5k
IHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCistcGFydCBvZiBhIHRyYW5zYWN0aW9uIGluIHdoaWNo
IHRoZSByaWdodCBvZiBwb3NzZXNzaW9uIGFuZCB1c2Ugb2YgdGhlCistVXNlciBQcm9kdWN0IGlz
IHRyYW5zZmVycmVkIHRvIHRoZSByZWNpcGllbnQgaW4gcGVycGV0dWl0eSBvciBmb3IgYQorLWZp
eGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJp
emVkKSwgdGhlCistQ29ycmVzcG9uZGluZyBTb3VyY2UgY29udmV5ZWQgdW5kZXIgdGhpcyBzZWN0
aW9uIG11c3QgYmUgYWNjb21wYW5pZWQKKy1ieSB0aGUgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9u
LiAgQnV0IHRoaXMgcmVxdWlyZW1lbnQgZG9lcyBub3QgYXBwbHkKKy1pZiBuZWl0aGVyIHlvdSBu
b3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAorLW1vZGlm
aWVkIG9iamVjdCBjb2RlIG9uIHRoZSBVc2VyIFByb2R1Y3QgKGZvciBleGFtcGxlLCB0aGUgd29y
ayBoYXMKKy1iZWVuIGluc3RhbGxlZCBpbiBST00pLgorLQorLSAgVGhlIHJlcXVpcmVtZW50IHRv
IHByb3ZpZGUgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIGRvZXMgbm90IGluY2x1ZGUgYQorLXJl
cXVpcmVtZW50IHRvIGNvbnRpbnVlIHRvIHByb3ZpZGUgc3VwcG9ydCBzZXJ2aWNlLCB3YXJyYW50
eSwgb3IgdXBkYXRlcworLWZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0
YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCistdGhlIFVzZXIgUHJvZHVjdCBpbiB3aGlj
aCBpdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQuICBBY2Nlc3MgdG8gYQorLW5ldHdv
cmsgbWF5IGJlIGRlbmllZCB3aGVuIHRoZSBtb2RpZmljYXRpb24gaXRzZWxmIG1hdGVyaWFsbHkg
YW5kCistYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2
aW9sYXRlcyB0aGUgcnVsZXMgYW5kCistcHJvdG9jb2xzIGZvciBjb21tdW5pY2F0aW9uIGFjcm9z
cyB0aGUgbmV0d29yay4KKy0KKy0gIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQg
SW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAorLWluIGFjY29yZCB3aXRoIHRoaXMg
c2VjdGlvbiBtdXN0IGJlIGluIGEgZm9ybWF0IHRoYXQgaXMgcHVibGljbHkKKy1kb2N1bWVudGVk
IChhbmQgd2l0aCBhbiBpbXBsZW1lbnRhdGlvbiBhdmFpbGFibGUgdG8gdGhlIHB1YmxpYyBpbgor
LXNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQg
b3Iga2V5IGZvcgorLXVucGFja2luZywgcmVhZGluZyBvciBjb3B5aW5nLgorLQorLSAgNy4gQWRk
aXRpb25hbCBUZXJtcy4KKy0KKy0gICJBZGRpdGlvbmFsIHBlcm1pc3Npb25zIiBhcmUgdGVybXMg
dGhhdCBzdXBwbGVtZW50IHRoZSB0ZXJtcyBvZiB0aGlzCistTGljZW5zZSBieSBtYWtpbmcgZXhj
ZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgorLUFkZGl0aW9uYWwg
cGVybWlzc2lvbnMgdGhhdCBhcmUgYXBwbGljYWJsZSB0byB0aGUgZW50aXJlIFByb2dyYW0gc2hh
bGwKKy1iZSB0cmVhdGVkIGFzIHRob3VnaCB0aGV5IHdlcmUgaW5jbHVkZWQgaW4gdGhpcyBMaWNl
bnNlLCB0byB0aGUgZXh0ZW50CistdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxl
IGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKKy1hcHBseSBvbmx5IHRvIHBhcnQgb2Yg
dGhlIFByb2dyYW0sIHRoYXQgcGFydCBtYXkgYmUgdXNlZCBzZXBhcmF0ZWx5CistdW5kZXIgdGhv
c2UgcGVybWlzc2lvbnMsIGJ1dCB0aGUgZW50aXJlIFByb2dyYW0gcmVtYWlucyBnb3Zlcm5lZCBi
eQorLXRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNz
aW9ucy4KKy0KKy0gIFdoZW4geW91IGNvbnZleSBhIGNvcHkgb2YgYSBjb3ZlcmVkIHdvcmssIHlv
dSBtYXkgYXQgeW91ciBvcHRpb24KKy1yZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMg
ZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKKy1pdC4gIChBZGRpdGlvbmFsIHBl
cm1pc3Npb25zIG1heSBiZSB3cml0dGVuIHRvIHJlcXVpcmUgdGhlaXIgb3duCistcmVtb3ZhbCBp
biBjZXJ0YWluIGNhc2VzIHdoZW4geW91IG1vZGlmeSB0aGUgd29yay4pICBZb3UgbWF5IHBsYWNl
CistYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEg
Y292ZXJlZCB3b3JrLAorLWZvciB3aGljaCB5b3UgaGF2ZSBvciBjYW4gZ2l2ZSBhcHByb3ByaWF0
ZSBjb3B5cmlnaHQgcGVybWlzc2lvbi4KKy0KKy0gIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIg
cHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQorLWFkZCB0byBhIGNv
dmVyZWQgd29yaywgeW91IG1heSAoaWYgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IGhvbGRl
cnMgb2YKKy10aGF0IG1hdGVyaWFsKSBzdXBwbGVtZW50IHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vu
c2Ugd2l0aCB0ZXJtczoKKy0KKy0gICAgYSkgRGlzY2xhaW1pbmcgd2FycmFudHkgb3IgbGltaXRp
bmcgbGlhYmlsaXR5IGRpZmZlcmVudGx5IGZyb20gdGhlCistICAgIHRlcm1zIG9mIHNlY3Rpb25z
IDE1IGFuZCAxNiBvZiB0aGlzIExpY2Vuc2U7IG9yCistCistICAgIGIpIFJlcXVpcmluZyBwcmVz
ZXJ2YXRpb24gb2Ygc3BlY2lmaWVkIHJlYXNvbmFibGUgbGVnYWwgbm90aWNlcyBvcgorLSAgICBh
dXRob3IgYXR0cmlidXRpb25zIGluIHRoYXQgbWF0ZXJpYWwgb3IgaW4gdGhlIEFwcHJvcHJpYXRl
IExlZ2FsCistICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9y
CistCistICAgIGMpIFByb2hpYml0aW5nIG1pc3JlcHJlc2VudGF0aW9uIG9mIHRoZSBvcmlnaW4g
b2YgdGhhdCBtYXRlcmlhbCwgb3IKKy0gICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lv
bnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KKy0gICAgcmVhc29uYWJsZSB3YXlzIGFz
IGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCB2ZXJzaW9uOyBvcgorLQorLSAgICBkKSBMaW1p
dGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3Jz
IG9yCistICAgIGF1dGhvcnMgb2YgdGhlIG1hdGVyaWFsOyBvcgorLQorLSAgICBlKSBEZWNsaW5p
bmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCist
ICAgIHRyYWRlIG5hbWVzLCB0cmFkZW1hcmtzLCBvciBzZXJ2aWNlIG1hcmtzOyBvcgorLQorLSAg
ICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBv
ZiB0aGF0CistICAgIG1hdGVyaWFsIGJ5IGFueW9uZSB3aG8gY29udmV5cyB0aGUgbWF0ZXJpYWwg
KG9yIG1vZGlmaWVkIHZlcnNpb25zIG9mCistICAgIGl0KSB3aXRoIGNvbnRyYWN0dWFsIGFzc3Vt
cHRpb25zIG9mIGxpYWJpbGl0eSB0byB0aGUgcmVjaXBpZW50LCBmb3IKKy0gICAgYW55IGxpYWJp
bGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBv
bgorLSAgICB0aG9zZSBsaWNlbnNvcnMgYW5kIGF1dGhvcnMuCistCistICBBbGwgb3RoZXIgbm9u
LXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgorLXJl
c3RyaWN0aW9ucyIgd2l0aGluIHRoZSBtZWFuaW5nIG9mIHNlY3Rpb24gMTAuICBJZiB0aGUgUHJv
Z3JhbSBhcyB5b3UKKy1yZWNlaXZlZCBpdCwgb3IgYW55IHBhcnQgb2YgaXQsIGNvbnRhaW5zIGEg
bm90aWNlIHN0YXRpbmcgdGhhdCBpdCBpcworLWdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9u
ZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgorLXJlc3RyaWN0aW9uLCB5b3UgbWF5IHJl
bW92ZSB0aGF0IHRlcm0uICBJZiBhIGxpY2Vuc2UgZG9jdW1lbnQgY29udGFpbnMKKy1hIGZ1cnRo
ZXIgcmVzdHJpY3Rpb24gYnV0IHBlcm1pdHMgcmVsaWNlbnNpbmcgb3IgY29udmV5aW5nIHVuZGVy
IHRoaXMKKy1MaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBn
b3Zlcm5lZCBieSB0aGUgdGVybXMKKy1vZiB0aGF0IGxpY2Vuc2UgZG9jdW1lbnQsIHByb3ZpZGVk
IHRoYXQgdGhlIGZ1cnRoZXIgcmVzdHJpY3Rpb24gZG9lcworLW5vdCBzdXJ2aXZlIHN1Y2ggcmVs
aWNlbnNpbmcgb3IgY29udmV5aW5nLgorLQorLSAgSWYgeW91IGFkZCB0ZXJtcyB0byBhIGNvdmVy
ZWQgd29yayBpbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24sIHlvdQorLW11c3QgcGxhY2UsIGlu
IHRoZSByZWxldmFudCBzb3VyY2UgZmlsZXMsIGEgc3RhdGVtZW50IG9mIHRoZQorLWFkZGl0aW9u
YWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGlu
ZworLXdoZXJlIHRvIGZpbmQgdGhlIGFwcGxpY2FibGUgdGVybXMuCistCistICBBZGRpdGlvbmFs
IHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRo
ZQorLWZvcm0gb2YgYSBzZXBhcmF0ZWx5IHdyaXR0ZW4gbGljZW5zZSwgb3Igc3RhdGVkIGFzIGV4
Y2VwdGlvbnM7CistdGhlIGFib3ZlIHJlcXVpcmVtZW50cyBhcHBseSBlaXRoZXIgd2F5LgorLQor
LSAgOC4gVGVybWluYXRpb24uCistCistICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5
IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKKy1wcm92aWRlZCB1bmRlciB0aGlz
IExpY2Vuc2UuICBBbnkgYXR0ZW1wdCBvdGhlcndpc2UgdG8gcHJvcGFnYXRlIG9yCistbW9kaWZ5
IGl0IGlzIHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRz
IHVuZGVyCistdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFu
dGVkIHVuZGVyIHRoZSB0aGlyZAorLXBhcmFncmFwaCBvZiBzZWN0aW9uIDExKS4KKy0KKy0gIEhv
d2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5
b3VyCistbGljZW5zZSBmcm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzIHJlaW5z
dGF0ZWQgKGEpCistcHJvdmlzaW9uYWxseSwgdW5sZXNzIGFuZCB1bnRpbCB0aGUgY29weXJpZ2h0
IGhvbGRlciBleHBsaWNpdGx5IGFuZAorLWZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2Us
IGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKKy1ob2xkZXIgZmFpbHMgdG8g
bm90aWZ5IHlvdSBvZiB0aGUgdmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucworLXBy
aW9yIHRvIDYwIGRheXMgYWZ0ZXIgdGhlIGNlc3NhdGlvbi4KKy0KKy0gIE1vcmVvdmVyLCB5b3Vy
IGxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcworLXJlaW5zdGF0
ZWQgcGVybWFuZW50bHkgaWYgdGhlIGNvcHlyaWdodCBob2xkZXIgbm90aWZpZXMgeW91IG9mIHRo
ZQorLXZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0
IHRpbWUgeW91IGhhdmUKKy1yZWNlaXZlZCBub3RpY2Ugb2YgdmlvbGF0aW9uIG9mIHRoaXMgTGlj
ZW5zZSAoZm9yIGFueSB3b3JrKSBmcm9tIHRoYXQKKy1jb3B5cmlnaHQgaG9sZGVyLCBhbmQgeW91
IGN1cmUgdGhlIHZpb2xhdGlvbiBwcmlvciB0byAzMCBkYXlzIGFmdGVyCisteW91ciByZWNlaXB0
IG9mIHRoZSBub3RpY2UuCistCistICBUZXJtaW5hdGlvbiBvZiB5b3VyIHJpZ2h0cyB1bmRlciB0
aGlzIHNlY3Rpb24gZG9lcyBub3QgdGVybWluYXRlIHRoZQorLWxpY2Vuc2VzIG9mIHBhcnRpZXMg
d2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgorLXRoaXMg
TGljZW5zZS4gIElmIHlvdXIgcmlnaHRzIGhhdmUgYmVlbiB0ZXJtaW5hdGVkIGFuZCBub3QgcGVy
bWFuZW50bHkKKy1yZWluc3RhdGVkLCB5b3UgZG8gbm90IHF1YWxpZnkgdG8gcmVjZWl2ZSBuZXcg
bGljZW5zZXMgZm9yIHRoZSBzYW1lCistbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KKy0KKy0g
IDkuIEFjY2VwdGFuY2UgTm90IFJlcXVpcmVkIGZvciBIYXZpbmcgQ29waWVzLgorLQorLSAgWW91
IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSBpbiBvcmRlciB0byByZWNl
aXZlIG9yCistcnVuIGEgY29weSBvZiB0aGUgUHJvZ3JhbS4gIEFuY2lsbGFyeSBwcm9wYWdhdGlv
biBvZiBhIGNvdmVyZWQgd29yaworLW9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBv
ZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCistdG8gcmVjZWl2ZSBhIGNvcHkgbGlr
ZXdpc2UgZG9lcyBub3QgcmVxdWlyZSBhY2NlcHRhbmNlLiAgSG93ZXZlciwKKy1ub3RoaW5nIG90
aGVyIHRoYW4gdGhpcyBMaWNlbnNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBwcm9wYWdhdGUg
b3IKKy1tb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29w
eXJpZ2h0IGlmIHlvdSBkbworLW5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBi
eSBtb2RpZnlpbmcgb3IgcHJvcGFnYXRpbmcgYQorLWNvdmVyZWQgd29yaywgeW91IGluZGljYXRl
IHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28uCistCistICAxMC4gQXV0
b21hdGljIExpY2Vuc2luZyBvZiBEb3duc3RyZWFtIFJlY2lwaWVudHMuCistCistICBFYWNoIHRp
bWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5
CistcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlIG9yaWdpbmFsIGxpY2Vuc29ycywgdG8gcnVu
LCBtb2RpZnkgYW5kCistcHJvcGFnYXRlIHRoYXQgd29yaywgc3ViamVjdCB0byB0aGlzIExpY2Vu
c2UuICBZb3UgYXJlIG5vdCByZXNwb25zaWJsZQorLWZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBi
eSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgorLQorLSAgQW4gImVudGl0eSB0cmFu
c2FjdGlvbiIgaXMgYSB0cmFuc2FjdGlvbiB0cmFuc2ZlcnJpbmcgY29udHJvbCBvZiBhbgorLW9y
Z2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2
aWRpbmcgYW4KKy1vcmdhbml6YXRpb24sIG9yIG1lcmdpbmcgb3JnYW5pemF0aW9ucy4gIElmIHBy
b3BhZ2F0aW9uIG9mIGEgY292ZXJlZAorLXdvcmsgcmVzdWx0cyBmcm9tIGFuIGVudGl0eSB0cmFu
c2FjdGlvbiwgZWFjaCBwYXJ0eSB0byB0aGF0CistdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEg
Y29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCistbGljZW5zZXMgdG8gdGhl
IHdvcmsgdGhlIHBhcnR5J3MgcHJlZGVjZXNzb3IgaW4gaW50ZXJlc3QgaGFkIG9yIGNvdWxkCist
Z2l2ZSB1bmRlciB0aGUgcHJldmlvdXMgcGFyYWdyYXBoLCBwbHVzIGEgcmlnaHQgdG8gcG9zc2Vz
c2lvbiBvZiB0aGUKKy1Db3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBw
cmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKKy10aGUgcHJlZGVjZXNzb3IgaGFzIGl0IG9yIGNh
biBnZXQgaXQgd2l0aCByZWFzb25hYmxlIGVmZm9ydHMuCistCistICBZb3UgbWF5IG5vdCBpbXBv
c2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKKy1yaWdo
dHMgZ3JhbnRlZCBvciBhZmZpcm1lZCB1bmRlciB0aGlzIExpY2Vuc2UuICBGb3IgZXhhbXBsZSwg
eW91IG1heQorLW5vdCBpbXBvc2UgYSBsaWNlbnNlIGZlZSwgcm95YWx0eSwgb3Igb3RoZXIgY2hh
cmdlIGZvciBleGVyY2lzZSBvZgorLXJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwg
YW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKy0oaW5jbHVkaW5nIGEgY3Jvc3Mt
Y2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdAorLWFueSBw
YXRlbnQgY2xhaW0gaXMgaW5mcmluZ2VkIGJ5IG1ha2luZywgdXNpbmcsIHNlbGxpbmcsIG9mZmVy
aW5nIGZvcgorLXNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBv
ZiBpdC4KKy0KKy0gIDExLiBQYXRlbnRzLgorLQorLSAgQSAiY29udHJpYnV0b3IiIGlzIGEgY29w
eXJpZ2h0IGhvbGRlciB3aG8gYXV0aG9yaXplcyB1c2UgdW5kZXIgdGhpcworLUxpY2Vuc2Ugb2Yg
dGhlIFByb2dyYW0gb3IgYSB3b3JrIG9uIHdoaWNoIHRoZSBQcm9ncmFtIGlzIGJhc2VkLiAgVGhl
Cistd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJp
YnV0b3IgdmVyc2lvbiIuCistCistICBBIGNvbnRyaWJ1dG9yJ3MgImVzc2VudGlhbCBwYXRlbnQg
Y2xhaW1zIiBhcmUgYWxsIHBhdGVudCBjbGFpbXMKKy1vd25lZCBvciBjb250cm9sbGVkIGJ5IHRo
ZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCistaGVyZWFmdGVyIGFj
cXVpcmVkLCB0aGF0IHdvdWxkIGJlIGluZnJpbmdlZCBieSBzb21lIG1hbm5lciwgcGVybWl0dGVk
CistYnkgdGhpcyBMaWNlbnNlLCBvZiBtYWtpbmcsIHVzaW5nLCBvciBzZWxsaW5nIGl0cyBjb250
cmlidXRvciB2ZXJzaW9uLAorLWJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBi
ZSBpbmZyaW5nZWQgb25seSBhcyBhCistY29uc2VxdWVuY2Ugb2YgZnVydGhlciBtb2RpZmljYXRp
b24gb2YgdGhlIGNvbnRyaWJ1dG9yIHZlcnNpb24uICBGb3IKKy1wdXJwb3NlcyBvZiB0aGlzIGRl
ZmluaXRpb24sICJjb250cm9sIiBpbmNsdWRlcyB0aGUgcmlnaHQgdG8gZ3JhbnQKKy1wYXRlbnQg
c3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMg
b2YKKy10aGlzIExpY2Vuc2UuCistCistICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBu
b24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQorLXBhdGVudCBsaWNlbnNlIHVu
ZGVyIHRoZSBjb250cmlidXRvcidzIGVzc2VudGlhbCBwYXRlbnQgY2xhaW1zLCB0bworLW1ha2Us
IHVzZSwgc2VsbCwgb2ZmZXIgZm9yIHNhbGUsIGltcG9ydCBhbmQgb3RoZXJ3aXNlIHJ1biwgbW9k
aWZ5IGFuZAorLXByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNp
b24uCistCistICBJbiB0aGUgZm9sbG93aW5nIHRocmVlIHBhcmFncmFwaHMsIGEgInBhdGVudCBs
aWNlbnNlIiBpcyBhbnkgZXhwcmVzcworLWFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVy
IGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAorLShzdWNoIGFzIGFuIGV4cHJl
c3MgcGVybWlzc2lvbiB0byBwcmFjdGljZSBhIHBhdGVudCBvciBjb3ZlbmFudCBub3QgdG8KKy1z
dWUgZm9yIHBhdGVudCBpbmZyaW5nZW1lbnQpLiAgVG8gImdyYW50IiBzdWNoIGEgcGF0ZW50IGxp
Y2Vuc2UgdG8gYQorLXBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29t
bWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCistcGF0ZW50IGFnYWluc3QgdGhlIHBhcnR5LgorLQor
LSAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBw
YXRlbnQgbGljZW5zZSwKKy1hbmQgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG9mIHRoZSB3b3Jr
IGlzIG5vdCBhdmFpbGFibGUgZm9yIGFueW9uZQorLXRvIGNvcHksIGZyZWUgb2YgY2hhcmdlIGFu
ZCB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLCB0aHJvdWdoIGEKKy1wdWJsaWNseSBh
dmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5z
LAorLXRoZW4geW91IG11c3QgZWl0aGVyICgxKSBjYXVzZSB0aGUgQ29ycmVzcG9uZGluZyBTb3Vy
Y2UgdG8gYmUgc28KKy1hdmFpbGFibGUsIG9yICgyKSBhcnJhbmdlIHRvIGRlcHJpdmUgeW91cnNl
bGYgb2YgdGhlIGJlbmVmaXQgb2YgdGhlCistcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGlj
dWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKKy1jb25zaXN0ZW50IHdpdGgg
dGhlIHJlcXVpcmVtZW50cyBvZiB0aGlzIExpY2Vuc2UsIHRvIGV4dGVuZCB0aGUgcGF0ZW50Cist
bGljZW5zZSB0byBkb3duc3RyZWFtIHJlY2lwaWVudHMuICAiS25vd2luZ2x5IHJlbHlpbmciIG1l
YW5zIHlvdSBoYXZlCistYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQg
bGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCistY292ZXJlZCB3b3JrIGluIGEgY291bnRyeSwg
b3IgeW91ciByZWNpcGllbnQncyB1c2Ugb2YgdGhlIGNvdmVyZWQgd29yaworLWluIGEgY291bnRy
eSwgd291bGQgaW5mcmluZ2Ugb25lIG9yIG1vcmUgaWRlbnRpZmlhYmxlIHBhdGVudHMgaW4gdGhh
dAorLWNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCist
CistICBJZiwgcHVyc3VhbnQgdG8gb3IgaW4gY29ubmVjdGlvbiB3aXRoIGEgc2luZ2xlIHRyYW5z
YWN0aW9uIG9yCistYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9j
dXJpbmcgY29udmV5YW5jZSBvZiwgYQorLWNvdmVyZWQgd29yaywgYW5kIGdyYW50IGEgcGF0ZW50
IGxpY2Vuc2UgdG8gc29tZSBvZiB0aGUgcGFydGllcworLXJlY2VpdmluZyB0aGUgY292ZXJlZCB3
b3JrIGF1dGhvcml6aW5nIHRoZW0gdG8gdXNlLCBwcm9wYWdhdGUsIG1vZGlmeQorLW9yIGNvbnZl
eSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxp
Y2Vuc2UKKy15b3UgZ3JhbnQgaXMgYXV0b21hdGljYWxseSBleHRlbmRlZCB0byBhbGwgcmVjaXBp
ZW50cyBvZiB0aGUgY292ZXJlZAorLXdvcmsgYW5kIHdvcmtzIGJhc2VkIG9uIGl0LgorLQorLSAg
QSBwYXRlbnQgbGljZW5zZSBpcyAiZGlzY3JpbWluYXRvcnkiIGlmIGl0IGRvZXMgbm90IGluY2x1
ZGUgd2l0aGluCistdGhlIHNjb3BlIG9mIGl0cyBjb3ZlcmFnZSwgcHJvaGliaXRzIHRoZSBleGVy
Y2lzZSBvZiwgb3IgaXMKKy1jb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBv
ciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKKy1zcGVjaWZpY2FsbHkgZ3JhbnRlZCB1bmRl
ciB0aGlzIExpY2Vuc2UuICBZb3UgbWF5IG5vdCBjb252ZXkgYSBjb3ZlcmVkCistd29yayBpZiB5
b3UgYXJlIGEgcGFydHkgdG8gYW4gYXJyYW5nZW1lbnQgd2l0aCBhIHRoaXJkIHBhcnR5IHRoYXQg
aXMKKy1pbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGlj
aCB5b3UgbWFrZSBwYXltZW50CistdG8gdGhlIHRoaXJkIHBhcnR5IGJhc2VkIG9uIHRoZSBleHRl
bnQgb2YgeW91ciBhY3Rpdml0eSBvZiBjb252ZXlpbmcKKy10aGUgd29yaywgYW5kIHVuZGVyIHdo
aWNoIHRoZSB0aGlyZCBwYXJ0eSBncmFudHMsIHRvIGFueSBvZiB0aGUKKy1wYXJ0aWVzIHdobyB3
b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkK
Ky1wYXRlbnQgbGljZW5zZSAoYSkgaW4gY29ubmVjdGlvbiB3aXRoIGNvcGllcyBvZiB0aGUgY292
ZXJlZCB3b3JrCistY29udmV5ZWQgYnkgeW91IChvciBjb3BpZXMgbWFkZSBmcm9tIHRob3NlIGNv
cGllcyksIG9yIChiKSBwcmltYXJpbHkKKy1mb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVj
aWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdAorLWNvbnRhaW4gdGhlIGNvdmVyZWQg
d29yaywgdW5sZXNzIHlvdSBlbnRlcmVkIGludG8gdGhhdCBhcnJhbmdlbWVudCwKKy1vciB0aGF0
IHBhdGVudCBsaWNlbnNlIHdhcyBncmFudGVkLCBwcmlvciB0byAyOCBNYXJjaCAyMDA3LgorLQor
LSAgTm90aGluZyBpbiB0aGlzIExpY2Vuc2Ugc2hhbGwgYmUgY29uc3RydWVkIGFzIGV4Y2x1ZGlu
ZyBvciBsaW1pdGluZworLWFueSBpbXBsaWVkIGxpY2Vuc2Ugb3Igb3RoZXIgZGVmZW5zZXMgdG8g
aW5mcmluZ2VtZW50IHRoYXQgbWF5Cistb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5k
ZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgorLQorLSAgMTIuIE5vIFN1cnJlbmRlciBvZiBPdGhl
cnMnIEZyZWVkb20uCistCistICBJZiBjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hl
dGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCistb3RoZXJ3aXNlKSB0aGF0IGNvbnRy
YWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorLWV4Y3Vz
ZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90
IGNvbnZleSBhCistY292ZXJlZCB3b3JrIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkg
eW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCistTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRp
bmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdSBtYXkKKy1ub3QgY29u
dmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBv
YmxpZ2F0ZSB5b3UKKy10byBjb2xsZWN0IGEgcm95YWx0eSBmb3IgZnVydGhlciBjb252ZXlpbmcg
ZnJvbSB0aG9zZSB0byB3aG9tIHlvdSBjb252ZXkKKy10aGUgUHJvZ3JhbSwgdGhlIG9ubHkgd2F5
IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggdGhvc2UgdGVybXMgYW5kIHRoaXMKKy1MaWNlbnNlIHdv
dWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCist
CistICAxMy4gVXNlIHdpdGggdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4K
Ky0KKy0gIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5z
ZSwgeW91IGhhdmUKKy1wZXJtaXNzaW9uIHRvIGxpbmsgb3IgY29tYmluZSBhbnkgY292ZXJlZCB3
b3JrIHdpdGggYSB3b3JrIGxpY2Vuc2VkCistdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZm
ZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQorLWNvbWJpbmVkIHdvcmss
IGFuZCB0byBjb252ZXkgdGhlIHJlc3VsdGluZyB3b3JrLiAgVGhlIHRlcm1zIG9mIHRoaXMKKy1M
aWNlbnNlIHdpbGwgY29udGludWUgdG8gYXBwbHkgdG8gdGhlIHBhcnQgd2hpY2ggaXMgdGhlIGNv
dmVyZWQgd29yaywKKy1idXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZm
ZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCistc2VjdGlvbiAxMywgY29uY2VybmluZyBpbnRl
cmFjdGlvbiB0aHJvdWdoIGEgbmV0d29yayB3aWxsIGFwcGx5IHRvIHRoZQorLWNvbWJpbmF0aW9u
IGFzIHN1Y2guCistCistICAxNC4gUmV2aXNlZCBWZXJzaW9ucyBvZiB0aGlzIExpY2Vuc2UuCist
CistICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5k
L29yIG5ldyB2ZXJzaW9ucyBvZgorLXRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9t
IHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwKKy1iZSBzaW1pbGFyIGluIHNw
aXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8K
Ky1hZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KKy0KKy0gIEVhY2ggdmVyc2lvbiBp
cyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlCistUHJvZ3Jh
bSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdl
bmVyYWwKKy1QdWJsaWMgTGljZW5zZSAib3IgYW55IGxhdGVyIHZlcnNpb24iIGFwcGxpZXMgdG8g
aXQsIHlvdSBoYXZlIHRoZQorLW9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZCBjb25k
aXRpb25zIGVpdGhlciBvZiB0aGF0IG51bWJlcmVkCistdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIg
dmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKKy1Gb3VuZGF0aW9uLiAgSWYg
dGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mIHRoZQorLUdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVy
IHB1Ymxpc2hlZAorLWJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCistCistICBJZiB0
aGUgUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIHByb3h5IGNhbiBkZWNpZGUgd2hpY2ggZnV0dXJl
CistdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2Vk
LCB0aGF0IHByb3h5J3MKKy1wdWJsaWMgc3RhdGVtZW50IG9mIGFjY2VwdGFuY2Ugb2YgYSB2ZXJz
aW9uIHBlcm1hbmVudGx5IGF1dGhvcml6ZXMgeW91CistdG8gY2hvb3NlIHRoYXQgdmVyc2lvbiBm
b3IgdGhlIFByb2dyYW0uCistCistICBMYXRlciBsaWNlbnNlIHZlcnNpb25zIG1heSBnaXZlIHlv
dSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudAorLXBlcm1pc3Npb25zLiAgSG93ZXZlciwgbm8gYWRk
aXRpb25hbCBvYmxpZ2F0aW9ucyBhcmUgaW1wb3NlZCBvbiBhbnkKKy1hdXRob3Igb3IgY29weXJp
Z2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCistbGF0
ZXIgdmVyc2lvbi4KKy0KKy0gIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgorLQorLSAgVEhF
UkUgSVMgTk8gV0FSUkFOVFkgRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRF
RCBCWQorLUFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBX
UklUSU5HIFRIRSBDT1BZUklHSFQKKy1IT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTIFBST1ZJ
REUgVEhFIFBST0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZCistT0YgQU5ZIEtJTkQsIEVJ
VEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CistVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorLVBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFV
QUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNCistSVMgV0lUSCBZT1UuICBTSE9V
TEQgVEhFIFBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GCist
QUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgorLQorLSAgMTYu
IExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LgorLQorLSAgSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJ
UkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5HCistV0lMTCBBTlkg
Q09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNT0RJRklFUyBBTkQvT1Ig
Q09OVkVZUworLVRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlP
VSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQorLUdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5U
QUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRQorLVVTRSBPUiBJ
TkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IExPU1MgT0YKKy1EQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NT
RVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRAorLVBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRI
RSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgUFJPR1JBTVMpLAorLUVWRU4gSUYg
U1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YKKy1TVUNIIERBTUFHRVMuCistCistICAxNy4gSW50ZXJwcmV0YXRpb24gb2YgU2Vj
dGlvbnMgMTUgYW5kIDE2LgorLQorLSAgSWYgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudHkgYW5k
IGxpbWl0YXRpb24gb2YgbGlhYmlsaXR5IHByb3ZpZGVkCistYWJvdmUgY2Fubm90IGJlIGdpdmVu
IGxvY2FsIGxlZ2FsIGVmZmVjdCBhY2NvcmRpbmcgdG8gdGhlaXIgdGVybXMsCistcmV2aWV3aW5n
IGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1h
dGVzCistYW4gYWJzb2x1dGUgd2FpdmVyIG9mIGFsbCBjaXZpbCBsaWFiaWxpdHkgaW4gY29ubmVj
dGlvbiB3aXRoIHRoZQorLVByb2dyYW0sIHVubGVzcyBhIHdhcnJhbnR5IG9yIGFzc3VtcHRpb24g
b2YgbGlhYmlsaXR5IGFjY29tcGFuaWVzIGEKKy1jb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVy
biBmb3IgYSBmZWUuCistCistICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBD
T05ESVRJT05TCistCistICAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlv
dXIgTmV3IFByb2dyYW1zCistCistICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQg
eW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CistcG9zc2libGUgdXNlIHRvIHRoZSBw
dWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBpdAorLWZyZWUg
c29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVy
IHRoZXNlIHRlcm1zLgorLQorLSAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGlj
ZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKKy10byBhdHRhY2ggdGhlbSB0byB0aGUg
c3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5Cistc3RhdGUgdGhl
IGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFz
dAorLXRoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwg
bm90aWNlIGlzIGZvdW5kLgorLQorLSAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdz
IG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgorLSAgICBDb3B5cmlnaHQg
KEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgorLQorLSAgICBUaGlzIHByb2dyYW0gaXMgZnJl
ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSAgICBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieQorLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorLSAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorLQorLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0gICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSAgICBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLQorLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v
d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKy0KKy1BbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cg
dG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KKy0KKy0gIElmIHRo
ZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hv
cnQKKy1ub3RpY2UgbGlrZSB0aGlzIHdoZW4gaXQgc3RhcnRzIGluIGFuIGludGVyYWN0aXZlIG1v
ZGU6CistCistICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1
dGhvcj4KKy0gICAgVGhpcyBwcm9ncmFtIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5U
WTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KKy0gICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJl
LCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAorLSAgICB1bmRlciBjZXJ0
YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCistCistVGhlIGh5cG90
aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFw
cHJvcHJpYXRlCistcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vy
c2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCistbWlnaHQgYmUgZGlmZmVyZW50OyBmb3IgYSBH
VUkgaW50ZXJmYWNlLCB5b3Ugd291bGQgdXNlIGFuICJhYm91dCBib3giLgorLQorLSAgWW91IHNo
b3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIp
IG9yIHNjaG9vbCwKKy1pZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZv
ciB0aGUgcHJvZ3JhbSwgaWYgbmVjZXNzYXJ5LgorLUZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRo
aXMsIGFuZCBob3cgdG8gYXBwbHkgYW5kIGZvbGxvdyB0aGUgR05VIEdQTCwgc2VlCistPGh0dHA6
Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorLQorLSAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGRvZXMgbm90IHBlcm1pdCBpbmNvcnBvcmF0aW5nIHlvdXIgcHJvZ3JhbQorLWludG8g
cHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxp
YnJhcnksIHlvdQorLW1heSBjb25zaWRlciBpdCBtb3JlIHVzZWZ1bCB0byBwZXJtaXQgbGlua2lu
ZyBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMgd2l0aAorLXRoZSBsaWJyYXJ5LiAgSWYgdGhpcyBp
cyB3aGF0IHlvdSB3YW50IHRvIGRvLCB1c2UgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbAorLVB1Ymxp
YyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVh
ZAorLTxodHRwOi8vd3d3LmdudS5vcmcvcGhpbG9zb3BoeS93aHktbm90LWxncGwuaHRtbD4uCitk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGly
ZF9wYXJ0eS9za2VsZXRvbnMvUkVBRE1FLmNocm9taXVtIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvUkVBRE1FLmNocm9taXVt
CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDIxNWQ4MmU2MzY2Li4wMDAwMDAwMDAw
MAorLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9w
YXJ0eS9za2VsZXRvbnMvUkVBRE1FLmNocm9taXVtCisrKysgL2Rldi9udWxsCitAQCAtMSwxMCAr
MCwwIEBACistTmFtZTogQmlzb24gc2tlbGV0b25zCistVVJMOiBodHRwczovL3d3dy5nbnUub3Jn
L3NvZnR3YXJlL2Jpc29uLworLVZlcnNpb246IDMuMy4yCistTGljZW5zZTogR1BMCistTGljZW5z
ZSBGaWxlOiBMSUNFTlNFCistU2VjdXJpdHkgY3JpdGljYWw6IG5vCistCistRGVzY3JpcHRpb246
CistQmlzb24gaXMgYSBwYXJzZXIgZ2VuZXJhdG9yLiBJdCB1c2VzIHNrZWxldG9uIGZpbGVzIGFz
IHRlbXBsYXRlcyBmb3IgYnVpbGRpbmcKKy1zaW1pbGFyIGxhbmd1YWdlcy4KK2RpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3Nr
ZWxldG9ucy9iaXNvbi5tNCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlz
b24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2Jpc29uLm00CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKK2luZGV4IGUzNTkxODc1YzBmLi4wMDAwMDAwMDAwMAorLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvYmlzb24ubTQK
KysrKyAvZGV2L251bGwKK0BAIC0xLDExMTEgKzAsMCBAQAorLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0K
Ky0KKy0jIExhbmd1YWdlLWluZGVwZW5kZW50IE00IE1hY3JvcyBmb3IgQmlzb24uCistCistIyBD
b3B5cmlnaHQgKEMpIDIwMDIsIDIwMDQtMjAxNSwgMjAxOC0yMDE5IEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwKKy0jIEluYy4KKy0KKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLSMg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKKy0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistIworLSMg
VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCistIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYWxvbmcgd2l0aCB0aGlzIHBy
b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCistCist
CistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIElkZW50aWZpY2F0aW9uLiAgIyMKKy0jIyAt
LS0tLS0tLS0tLS0tLS0tICMjCistCistIyBiNF9nZW5lcmF0ZWRfYnkKKy0jIC0tLS0tLS0tLS0t
LS0tLQorLW00X2RlZmluZShbYjRfZ2VuZXJhdGVkX2J5XSwKKy1bYjRfY29tbWVudChbQSBCaXNv
biBwYXJzZXIsIG1hZGUgYnkgR05VIEJpc29uIGI0X3ZlcnNpb24uXSkKKy1dKQorLQorLSMgYjRf
Y29weXJpZ2h0KFRJVExFLCBbWUVBUlNdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLSMgSWYgWUVBUlMgYXJlIG5vdCBkZWZpbmVkLCB1c2UgYjRfY29weXJpZ2h0X3llYXJzLgor
LW00X2RlZmluZShbYjRfY29weXJpZ2h0XSwKKy1bYjRfZ2VuZXJhdGVkX2J5CistYjRfY29tbWVu
dChbJDEKKy0KKy1dbTRfZHF1b3RlKG00X3RleHRfd3JhcChbQ29weXJpZ2h0IChDKQorLV1tNF9p
ZnZhbChbJDJdLCBbWyQyXV0sIFttNF9kZWZuKFtiNF9jb3B5cmlnaHRfeWVhcnNdKV0pWworLUZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLl0pKVsKKy0KKy1UaGlzIHByb2dyYW0gaXMgZnJl
ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLWl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5CistdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKKy0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
LQorLVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorLWJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCistTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCistCistWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy1hbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g
IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5dKQorLQorLWI0X2Nv
bW1lbnQoW0FzIGEgc3BlY2lhbCBleGNlcHRpb24sIHlvdSBtYXkgY3JlYXRlIGEgbGFyZ2VyIHdv
cmsgdGhhdCBjb250YWlucworLXBhcnQgb3IgYWxsIG9mIHRoZSBCaXNvbiBwYXJzZXIgc2tlbGV0
b24gYW5kIGRpc3RyaWJ1dGUgdGhhdCB3b3JrCistdW5kZXIgdGVybXMgb2YgeW91ciBjaG9pY2Us
IHNvIGxvbmcgYXMgdGhhdCB3b3JrIGlzbid0IGl0c2VsZiBhCistcGFyc2VyIGdlbmVyYXRvciB1
c2luZyB0aGUgc2tlbGV0b24gb3IgYSBtb2RpZmllZCB2ZXJzaW9uIHRoZXJlb2YKKy1hcyBhIHBh
cnNlciBza2VsZXRvbi4gIEFsdGVybmF0aXZlbHksIGlmIHlvdSBtb2RpZnkgb3IgcmVkaXN0cmli
dXRlCistdGhlIHBhcnNlciBza2VsZXRvbiBpdHNlbGYsIHlvdSBtYXkgKGF0IHlvdXIgb3B0aW9u
KSByZW1vdmUgdGhpcworLXNwZWNpYWwgZXhjZXB0aW9uLCB3aGljaCB3aWxsIGNhdXNlIHRoZSBz
a2VsZXRvbiBhbmQgdGhlIHJlc3VsdGluZworLUJpc29uIG91dHB1dCBmaWxlcyB0byBiZSBsaWNl
bnNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljCistTGljZW5zZSB3aXRob3V0IHRoaXMg
c3BlY2lhbCBleGNlcHRpb24uCistCistVGhpcyBzcGVjaWFsIGV4Y2VwdGlvbiB3YXMgYWRkZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBpbgorLXZlcnNpb24gMi4yIG9mIEJpc29u
Ll0pCistXSkKKy0KKy0KKy0jIGI0X2Rpc2NsYWltZXIKKy0jIC0tLS0tLS0tLS0tLS0KKy0jIElz
c3VlIGEgd2FybmluZyBhYm91dCBwcml2YXRlIGltcGxlbWVudGF0aW9uIGRldGFpbHMuCistbTRf
ZGVmaW5lKFtiNF9kaXNjbGFpbWVyXSwKKy1bYjRfY29tbWVudChbVW5kb2N1bWVudGVkIG1hY3Jv
cywgZXNwZWNpYWxseSB0aG9zZSB3aG9zZSBuYW1lIHN0YXJ0IHdpdGggWVlfLAorLWFyZSBwcml2
YXRlIGltcGxlbWVudGF0aW9uIGRldGFpbHMuICBEbyBub3QgcmVseSBvbiB0aGVtLl0pCistXSkK
Ky0KKy0KKy0KKy0jIGI0X3JlcXVpcmVkX3ZlcnNpb25faWYoVkVSU0lPTiwgSUZfTkVXRVIsIElG
X09MREVSKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCistIyBJZiB0aGUgdmVyc2lvbiAlcmVxdWlyZSdkIGJ5IHRoZSB1c2VyIGlzIFZFUlNJ
T04gKG9yIG5ld2VyKSBleHBhbmQKKy0jIElGX05FV0VSLCBvdGhlcndpc2UgSUZfT0xERVIuICBW
RVJTSU9OIHNob3VsZCBiZSBhbiBpbnRlZ2VyLCBlLmcuLAorLSMgMzAyIGZvciAzLjIuCistbTRf
ZGVmaW5lKFtiNF9yZXF1aXJlZF92ZXJzaW9uX2lmXSwKKy1bbTRfaWYobTRfZXZhbCgkMSA8PSBi
NF9yZXF1aXJlZF92ZXJzaW9uKSwKKy0gICAgICAgICAgICAgIFsxXSwgWyQyXSwgWyQzXSldKQor
LQorLQorLSMjIC0tLS0tLS0tICMjCistIyMgT3V0cHV0LiAgIyMKKy0jIyAtLS0tLS0tLSAjIwor
LQorLSMgYjRfb3V0cHV0X2JlZ2luKEZJTEUxLCBGSUxFMikKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCistIyBFbmFibGUgb3V0cHV0LCBpLmUuLCBzZW5kIHRvIGRpdmVyc2lvbiAw
LCBleHBhbmQgYWZ0ZXIgIiMiLCBhbmQKKy0jIGdlbmVyYXRlIHRoZSB0YWcgdG8gb3V0cHV0IGlu
dG8gRklMRS4gIE11c3QgYmUgZm9sbG93ZWQgYnkgRU9MLgorLSMgRklMRSBpcyBGSUxFMSBjb25j
YXRlbmF0ZWQgdG8gRklMRTIuICBGSUxFMiBjYW4gYmUgZW1wdHksIG9yIGJlCistIyBhYnNvbHV0
ZTogZG8gdGhlIHJpZ2h0IHRoaW5nLgorLW00X2RlZmluZShbYjRfb3V0cHV0X2JlZ2luXSwKKy1b
bTRfY2hhbmdlY29tKCkKKy1tNF9kaXZlcnRfcHVzaCgwKWRubAorLUBvdXRwdXQobTRfdW5xdW90
ZShbJDFdKUAsbTRfdW5xdW90ZShbJDJdKUApQGRubAorLV0pCistCistCistIyBiNF9vdXRwdXRf
ZW5kCistIyAtLS0tLS0tLS0tLS0tCistIyBPdXRwdXQgbm90aGluZywgcmVzdG9yZSAjIGFzIGNv
bW1lbnQgY2hhcmFjdGVyIChubyBleHBhbnNpb25zIGFmdGVyICMpLgorLW00X2RlZmluZShbYjRf
b3V0cHV0X2VuZF0sCistW200X2RpdmVydF9wb3AoMCkKKy1tNF9jaGFuZ2Vjb20oWyNdKQorLV0p
CistCistCistIyBiNF9kaXZlcnRfa2lsbChDT0RFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIEV4cGFuZCBDT0RFIGZvciBpdHMgc2lkZSBlZmZlY3RzLCBkaXNjYXJkIGl0cyBvdXRwdXQu
CistbTRfZGVmaW5lKFtiNF9kaXZlcnRfa2lsbF0sCistW200X2RpdmVydF90ZXh0KFtLSUxMXSwg
WyQxXSldKQorLQorLQorLSMgYjRfZGVmaW5lX3NpbGVudChNQUNSTywgQ09ERSkKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBTYW1lIGFzIG00X2RlZmluZSwgYnV0IHRocm93
IGF3YXkgdGhlIGV4cGFuc2lvbiBvZiBDT0RFLgorLW00X2RlZmluZShbYjRfZGVmaW5lX3NpbGVu
dF0sCistW200X2RlZmluZShbJDFdLCBbYjRfZGl2ZXJ0X2tpbGwoWyQyXSldKV0pCistCistCist
IyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIEVycm9yIGhhbmRsaW5nLiAgIyMKKy0jIyAtLS0t
LS0tLS0tLS0tLS0tICMjCistCistIyBUaGUgZm9sbG93aW5nIGVycm9yIGhhbmRsaW5nIG1hY3Jv
cyBwcmludCBlcnJvciBkaXJlY3RpdmVzIHRoYXQgc2hvdWxkIG5vdAorLSMgYmVjb21lIGFyZ3Vt
ZW50cyBvZiBvdGhlciBtYWNybyBpbnZvY2F0aW9ucyBzaW5jZSB0aGV5IHdvdWxkIGxpa2VseSB0
aGVuIGJlCistIyBtYW5nbGVkLiAgVGh1cywgdGhleSBwcmludCB0byBzdGRvdXQgZGlyZWN0bHku
CistCistIyBiNF9jYXQoVEVYVCkKKy0jIC0tLS0tLS0tLS0tLQorLSMgV3JpdGUgVEVYVCB0byBz
dGRvdXQuICBQcmVjZWRlIHRoZSBmaW5hbCBuZXdsaW5lIHdpdGggYW4gQCBzbyB0aGF0IGl0J3MK
Ky0jIGVzY2FwZWQuICBGb3IgZXhhbXBsZToKKy0jCistIyAgIGI0X2NhdChbW0Bjb21wbGFpbihp
bnZhbGlkIGlucHV0QCldXSkKKy1tNF9kZWZpbmUoW2I0X2NhdF0sCistW200X3N5c2NtZChbY2F0
IDw8J19tNGVvZicKKy1dbTRfYnBhdHN1YnN0KG00X2RxdW90ZSgkMSksIFtfbTRlb2ZdLCBbX200
QGBlb2ZdKVtACistX200ZW9mCistXSlkbmwKKy1tNF9pZihtNF9zeXN2YWwsIFswXSwgW10sIFtt
NF9mYXRhbChbJDA6IGNhbm5vdCB3cml0ZSB0byBzdGRvdXRdKV0pXSkKKy0KKy0jIGI0X2Vycm9y
KEtJTkQsIFNUQVJULCBFTkQsIEZPUk1BVCwgW0FSRzFdLCBbQVJHMl0sIC4uLikKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFdy
aXRlIEBLSU5EKFNUQVJUQCxFTkRALEZPUk1BVEAsQVJHMUAsQVJHMkAsLi4uQCkgdG8gc3Rkb3V0
LgorLSMKKy0jIEZvciBleGFtcGxlOgorLSMKKy0jICAgYjRfZXJyb3IoW1tjb21wbGFpbl1dLCBb
W2lucHV0Lnk6Mi4zXV0sIFtbaW5wdXQueTo1LjRdXSwKKy0jICAgICAgICAgICAgW1tpbnZhbGlk
ICVzXV0sIFtbZm9vXV0pCistbTRfZGVmaW5lKFtiNF9lcnJvcl0sCistW2I0X2NhdChbW0Bjb21w
bGFpbl1bKF0kMVtALF0kMltALF0kM1tALF0kNFtdXWRubAorLVttNF9pZihbJCNdLCBbNF0sIFtd
LAorLSAgICAgICBbbTRfZm9yZWFjaChbYjRfYXJnXSwKKy0gICAgICAgICAgICAgICAgICAgbTRf
ZHF1b3RlKG00X3NoaWZ0KG00X3NoaWZ0KG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpKSksCistICAg
ICAgICAgICAgICAgICAgIFtbQCxdYjRfYXJnXSldKVtAKV1dKV0pCistCistIyBiNF93YXJuKEZP
Uk1BVCwgW0FSRzFdLCBbQVJHMl0sIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgV3JpdGUgQHdhcm4oRk9STUFUQCxBUkcxQCxBUkcyQCwuLi5AKSB0byBz
dGRvdXQuCistIworLSMgRm9yIGV4YW1wbGU6CistIworLSMgICBiNF93YXJuKFtbaW52YWxpZCB2
YWx1ZSBmb3IgJyVzJzogJXNdXSwgW1tmb29dXSwgW1szXV0pCistIworLSMgQXMgYSBzaW1wbGUg
dGVzdCBzdWl0ZSwgdGhpczoKKy0jCistIyAgIG00X2RpdmVydCgtMSkKKy0jICAgbTRfZGVmaW5l
KFthc2RmXSwgW0FTREZdKQorLSMgICBtNF9kZWZpbmUoW2ZzYV0sIFtGU0FdKQorLSMgICBtNF9k
ZWZpbmUoW2Zkc2FdLCBbRkRTQV0pCistIyAgIGI0X3dhcm5fYXQoW1tbYXNkZiksIGFzZGZdXV0s
IFtbW2ZzYSksIGZzYV1dXSwgW1tbZmRzYSksIGZkc2FdXV0pCistIyAgIGI0X3dhcm5fYXQoW1th
c2RmKSwgYXNkZl1dLCBbW2ZzYSksIGZzYV1dLCBbW2Zkc2EpLCBmZHNhXV0pCistIyAgIGI0X3dh
cm5fYXQoKQorLSMgICBiNF93YXJuX2F0KDEpCistIyAgIGI0X3dhcm5fYXQoMSwgMikKKy0jCist
IyBTaG91bGQgcHJvZHVjZSB0aGlzIHdpdGhvdXQgbmV3bGluZXM6CistIworLSMgICBAd2Fybl9h
dChbYXNkZiksIGFzZGZdQCxALEAsW2ZzYSksIGZzYV1ALFtmZHNhKSwgZmRzYV1AKQorLSMgICBA
d2Fybihhc2RmKSwgYXNkZkAsQCxALGZzYSksIGZzYUAsZmRzYSksIGZkc2FAKQorLSMgICBAd2Fy
bihAKQorLSMgICBAd2FybigxQCkKKy0jICAgQHdhcm4oMUAsMkApCistbTRfZGVmaW5lKFtiNF93
YXJuXSwKKy1bYjRfZXJyb3IoW1t3YXJuXV0sIFtdLCBbXSwgJEApXSkKKy0KKy0jIGI0X3dhcm5f
YXQoU1RBUlQsIEVORCwgRk9STUFULCBbQVJHMV0sIFtBUkcyXSwgLi4uKQorLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBXcml0ZSBAd2Fy
bihTVEFSVEAsRU5EQCxGT1JNQVRALEFSRzFALEFSRzJALC4uLkApIHRvIHN0ZG91dC4KKy0jCist
IyBGb3IgZXhhbXBsZToKKy0jCistIyAgIGI0X3dhcm5fYXQoW1tpbnB1dC55OjIuM11dLCBbW2lu
cHV0Lnk6NS40XV0sIFtbaW52YWxpZCAlc11dLCBbW2Zvb11dKQorLW00X2RlZmluZShbYjRfd2Fy
bl9hdF0sCistW2I0X2Vycm9yKFtbd2Fybl1dLCAkQCldKQorLQorLSMgYjRfY29tcGxhaW4oRk9S
TUFULCBbQVJHMV0sIFtBUkcyXSwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLSMgQm91bmNlIHRvIGI0X2NvbXBsYWluX2F0LgorLSMKKy0jIFNlZSBi
NF93YXJuIGV4YW1wbGUuCistbTRfZGVmaW5lKFtiNF9jb21wbGFpbl0sCistW2I0X2Vycm9yKFtb
Y29tcGxhaW5dXSwgW10sIFtdLCAkQCldKQorLQorLSMgYjRfY29tcGxhaW5fYXQoU1RBUlQsIEVO
RCwgRk9STUFULCBbQVJHMV0sIFtBUkcyXSwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgV3JpdGUgQGNvbXBsYWluKFNU
QVJUQCxFTkRALEZPUk1BVEAsQVJHMUAsQVJHMkAsLi4uQCkgdG8gc3Rkb3V0LgorLSMKKy0jIFNl
ZSBiNF93YXJuX2F0IGV4YW1wbGUuCistbTRfZGVmaW5lKFtiNF9jb21wbGFpbl9hdF0sCistW2I0
X2Vycm9yKFtbY29tcGxhaW5dXSwgJEApXSkKKy0KKy0jIGI0X2ZhdGFsKEZPUk1BVCwgW0FSRzFd
LCBbQVJHMl0sIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIEJvdW5jZSB0byBiNF9mYXRhbF9hdC4KKy0jCistIyBTZWUgYjRfd2FybiBleGFtcGxlLgor
LW00X2RlZmluZShbYjRfZmF0YWxdLAorLVtiNF9lcnJvcihbW2ZhdGFsXV0sIFtdLCBbXSwgJEAp
ZG5sCistbTRfZXhpdCgxKV0pCistCistIyBiNF9mYXRhbF9hdChTVEFSVCwgRU5ELCBGT1JNQVQs
IFtBUkcxXSwgW0FSRzJdLCAuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBXcml0ZSBAZmF0YWwoU1RBUlRALEVOREAsRk9STUFU
QCxBUkcxQCxBUkcyQCwuLi5AKSB0byBzdGRvdXQgYW5kIGV4aXQuCistIworLSMgU2VlIGI0X3dh
cm5fYXQgZXhhbXBsZS4KKy1tNF9kZWZpbmUoW2I0X2ZhdGFsX2F0XSwKKy1bYjRfZXJyb3IoW1tm
YXRhbF1dLCAkQClkbmwKKy1tNF9leGl0KDEpXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0gIyMK
Ky0jIyBEYXRhIFR5cGVzLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0gIyMKKy0KKy0jIGI0X2ludHNf
aW4oSU5UMSwgSU5UMiwgTE9XLCBISUdIKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCistIyBSZXR1cm4gMSBpZmYgYm90aCBJTlQxIGFuZCBJTlQyIGFyZSBpbiBbTE9XLCBI
SUdIXSwgMCBvdGhlcndpc2UuCistbTRfZGVmaW5lKFtiNF9pbnRzX2luXSwKKy1bbTRfZXZhbChb
JDMgPD0gJDEgJiYgJDEgPD0gJDQgJiYgJDMgPD0gJDIgJiYgJDIgPD0gJDRdKV0pCistCistCist
IyBiNF9zdWJ0cmFjdChMSFMsIFJIUykKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRXZh
bHVhdGUgTEhTIC0gUkhTIGlmIHRoZXkgYXJlIGludGVnZXIgbGl0ZXJhbHMsIG90aGVyd2lzZSBl
eHBhbmQKKy0jIHRvIChMSFMpIC0gKFJIUykuCistbTRfZGVmaW5lKFtiNF9zdWJ0cmFjdF0sCist
W200X2JtYXRjaChbJDEkMl0sIFteWzAxMjM0NTY3ODldKiRdLAorLSAgICAgICAgICAgW200X2V2
YWwoWyQxIC0gJDJdKV0sCistICAgICAgICAgICBbKCQxKSAtICgkMildKV0pCistCistIyBiNF9q
b2luKEFSRzEsIC4uLikKKy0jIF9iNF9qb2luKEFSRzEsIC4uLikKKy0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIEpvaW4gd2l0aCBjb21tYSwgc2tpcHBpbmcgZW1wdHkgYXJndW1lbnRzLgorLSMg
YjRfam9pbiBjYWxscyBpdHNlbGYgcmVjdXJzaXZlbHkgdW50aWwgaXQgc2VlcyB0aGUgZmlyc3Qg
bm9uLWVtcHR5CistIyBhcmd1bWVudCwgdGhlbiBjYWxscyBfYjRfam9pbiAoaS5lLiwgYF8kMGAp
IHdoaWNoIHByZXBlbmRzIGVhY2gKKy0jIG5vbi1lbXB0eSBhcmd1bWVudCB3aXRoIGEgY29tbWEu
CistbTRfZGVmaW5lKFtiNF9qb2luXSwKKy1bbTRfaWYoWyQjJDFdLAorLSAgICAgICBbMV0sIFtd
LAorLSAgICAgICBbbTRfaWZ2YWwoWyQxXSwKKy0gICAgICAgICAgICAgICAgIFskMVtdXyQwKG00
X3NoaWZ0KCRAKSldLAorLSAgICAgICAgICAgICAgICAgWyQwKG00X3NoaWZ0KCRAKSldKV0pXSkK
Ky0KKy0jIF9iNF9qb2luKEFSR1MxLCAuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQorLW00
X2RlZmluZShbX2I0X2pvaW5dLAorLVttNF9pZihbJCMkMV0sCistICAgICAgIFsxXSwgW10sCist
ICAgICAgIFttNF9pZnZhbChbJDFdLCBbLCAkMV0pW10kMChtNF9zaGlmdCgkQCkpXSldKQorLQor
LQorLQorLQorLSMgYjRfaW50ZWdyYWxfcGFyc2VyX3RhYmxlc19tYXAoTUFDUk8pCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBNYXAgTUFDUk8gb24gYWxsIHRo
ZSBpbnRlZ3JhbCB0YWJsZXMuICBNQUNSTyBpcyBleHBlY3RlZCB0byBoYXZlCistIyB0aGUgc2ln
bmF0dXJlIE1BQ1JPKFRBQkxFLU5BTUUsIENPTlRFTlQsIENPTU1FTlQpLgorLW00X2RlZmluZShb
YjRfaW50ZWdyYWxfcGFyc2VyX3RhYmxlc19tYXBdLAorLVskMShbcGFjdF0sIFtiNF9wYWN0XSwK
Ky0gICAgW1tZWVBBQ1RbU1RBVEUtTlVNXSAtLSBJbmRleCBpbiBZWVRBQkxFIG9mIHRoZSBwb3J0
aW9uIGRlc2NyaWJpbmcKKy1TVEFURS1OVU0uXV0pCistCistJDEoW2RlZmFjdF0sIFtiNF9kZWZh
Y3RdLAorLSAgIFtbWVlERUZBQ1RbU1RBVEUtTlVNXSAtLSBEZWZhdWx0IHJlZHVjdGlvbiBudW1i
ZXIgaW4gc3RhdGUgU1RBVEUtTlVNLgorLVBlcmZvcm1lZCB3aGVuIFlZVEFCTEUgZG9lcyBub3Qg
c3BlY2lmeSBzb21ldGhpbmcgZWxzZSB0byBkby4gIFplcm8KKy1tZWFucyB0aGUgZGVmYXVsdCBp
cyBhbiBlcnJvci5dXSkKKy0KKy0kMShbcGdvdG9dLCBbYjRfcGdvdG9dLCBbW1lZUEdPVE9bTlRF
Uk0tTlVNXS5dXSkKKy0KKy0kMShbZGVmZ290b10sIFtiNF9kZWZnb3RvXSwgW1tZWURFRkdPVE9b
TlRFUk0tTlVNXS5dXSkKKy0KKy0kMShbdGFibGVdLCBbYjRfdGFibGVdLAorLSAgIFtbWVlUQUJM
RVtZWVBBQ1RbU1RBVEUtTlVNXV0gLS0gV2hhdCB0byBkbyBpbiBzdGF0ZSBTVEFURS1OVU0uICBJ
ZgorLXBvc2l0aXZlLCBzaGlmdCB0aGF0IHRva2VuLiAgSWYgbmVnYXRpdmUsIHJlZHVjZSB0aGUg
cnVsZSB3aG9zZQorLW51bWJlciBpcyB0aGUgb3Bwb3NpdGUuICBJZiBZWVRBQkxFX05JTkYsIHN5
bnRheCBlcnJvci5dXSkKKy0KKy0kMShbY2hlY2tdLCBbYjRfY2hlY2tdKQorLQorLSQxKFtzdG9z
XSwgW2I0X3N0b3NdLAorLSAgIFtbWVlTVE9TW1NUQVRFLU5VTV0gLS0gVGhlIChpbnRlcm5hbCBu
dW1iZXIgb2YgdGhlKSBhY2Nlc3NpbmcKKy1zeW1ib2wgb2Ygc3RhdGUgU1RBVEUtTlVNLl1dKQor
LQorLSQxKFtyMV0sIFtiNF9yMV0sCistICAgW1tZWVIxW1lZTl0gLS0gU3ltYm9sIG51bWJlciBv
ZiBzeW1ib2wgdGhhdCBydWxlIFlZTiBkZXJpdmVzLl1dKQorLQorLSQxKFtyMl0sIFtiNF9yMl0s
CistICAgW1tZWVIyW1lZTl0gLS0gTnVtYmVyIG9mIHN5bWJvbHMgb24gdGhlIHJpZ2h0IGhhbmQg
c2lkZSBvZiBydWxlIFlZTi5dXSkKKy1dKQorLQorLQorLSMgYjRfcGFyc2VyX3RhYmxlc19kZWNs
YXJlCistIyBiNF9wYXJzZXJfdGFibGVzX2RlZmluZQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCistIyBEZWZpbmUvZGVjbGFyZSB0aGUgKGRldGVybWluaXN0aWMpIHBhcnNlciB0YWJsZXMu
CistbTRfZGVmaW5lKFtiNF9wYXJzZXJfdGFibGVzX2RlY2xhcmVdLAorLVtiNF9pbnRlZ3JhbF9w
YXJzZXJfdGFibGVzX21hcChbYjRfaW50ZWdyYWxfcGFyc2VyX3RhYmxlX2RlY2xhcmVdKV0pCist
CistbTRfZGVmaW5lKFtiNF9wYXJzZXJfdGFibGVzX2RlZmluZV0sCistW2I0X2ludGVncmFsX3Bh
cnNlcl90YWJsZXNfbWFwKFtiNF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVfZGVmaW5lXSldKQorLQor
LQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIERlY29kaW5nIG9wdGlvbnMuICAj
IworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgYjRfZmxhZ19pZihGTEFHLCBJRi1U
UlVFLCBJRi1GQUxTRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist
IyBSdW4gSUYtVFJVRSBpZiBiNF9GTEFHX2ZsYWcgaXMgMSwgSUYtRkFMU0UgaWYgRkxBRyBpcyAw
LCBvdGhlcndpc2UgZmFpbC4KKy1tNF9kZWZpbmUoW2I0X2ZsYWdfaWZdLAorLVttNF9jYXNlKGI0
XyQxX2ZsYWcsCistICAgICAgICAgWzBdLCBbJDNdLAorLSAgICAgICAgIFsxXSwgWyQyXSwKKy0g
ICAgICAgICBbbTRfZmF0YWwoW2ludmFsaWQgJDEgdmFsdWU6IF1iNF8kMV9mbGFnKV0pXSkKKy0K
Ky0KKy0jIGI0X2RlZmluZV9mbGFnX2lmKEZMQUcpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLSMgRGVmaW5lICJiNF9GTEFHX2lmKElGLVRSVUUsIElGLUZBTFNFKSIgdGhhdCBkZXBlbmRz
IG9uIHRoZQorLSMgdmFsdWUgb2YgdGhlIEJvb2xlYW4gRkxBRy4KKy1tNF9kZWZpbmUoW2I0X2Rl
ZmluZV9mbGFnX2lmXSwKKy1bX2I0X2RlZmluZV9mbGFnX2lmKCRbMV0sICRbMl0sIFskMV0pXSkK
Ky0KKy0jIF9iNF9kZWZpbmVfZmxhZ19pZigkMSwgJDIsIEZMQUcpCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgV29yayBhcm91bmQgdGhlIGltcG9zc2liaWxpdHkgdG8g
ZGVmaW5lIG1hY3JvcyBpbnNpZGUgbWFjcm9zLAorLSMgYmVjYXVzZSBpc3N1aW5nICdbJDFdJyBp
cyBub3QgcG9zc2libGUgaW4gTTQuICBHTlUgTTQgc2hvdWxkIHByb3ZpZGUKKy0jICQkMSBhIGxh
IE01L1RlWC4KKy1tNF9kZWZpbmUoW19iNF9kZWZpbmVfZmxhZ19pZl0sCistW200X2lmKFskMSQy
XSwgJFsxXSRbMl0sIFtdLAorLSAgICAgICBbbTRfZmF0YWwoWyQwOiBJbnZhbGlkIGFyZ3VtZW50
czogJEBdKV0pZG5sCistbTRfZGVmaW5lKFtiNF8kM19pZl0sCistICAgICAgICAgIFtiNF9mbGFn
X2lmKFskM10sIFskMV0sIFskMl0pXSldKQorLQorLQorLSMgYjRfRkxBR19pZihJRi1UUlVFLCBJ
Ri1GQUxTRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFeHBhbmQgSUYt
VFJVRSwgaWYgRkxBRyBpcyB0cnVlLCBJRi1GQUxTRSBvdGhlcndpc2UuCistYjRfZGVmaW5lX2Zs
YWdfaWYoW2RlZmluZXNdKSAgICAgICAgICAgICMgV2hldGhlciBoZWFkZXJzIGFyZSByZXF1ZXN0
ZWQuCistYjRfZGVmaW5lX2ZsYWdfaWYoW2dscl0pICAgICAgICAgICAgICAgICMgV2hldGhlciBh
IEdMUiBwYXJzZXIgaXMgcmVxdWVzdGVkLgorLWI0X2RlZmluZV9mbGFnX2lmKFtub25kZXRlcm1p
bmlzdGljXSkgICAjIFdoZXRoZXIgY29uZmxpY3RzIHNob3VsZCBiZSBoYW5kbGVkLgorLWI0X2Rl
ZmluZV9mbGFnX2lmKFt0b2tlbl90YWJsZV0pICAgICAgICAjIFdoZXRoZXIgeXl0b2tlbl90YWJs
ZSBpcyBkZW1hbmRlZC4KKy1iNF9kZWZpbmVfZmxhZ19pZihbeWFjY10pICAgICAgICAgICAgICAg
IyBXaGV0aGVyIFBPU0lYIFlhY2MgaXMgZW11bGF0ZWQuCistCistCistIyBiNF9nbHJfY2NfaWYo
W0lGLVRSVUVdLCBbSUYtRkFMU0VdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy1tNF9kZWZpbmUoW2I0X2dscl9jY19pZl0sCistICAgICAgICAgIFttNF9pZihiNF9z
a2VsZXRvbiwgWyJnbHIuY2MiXSwgJEApXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0gIyMKKy0jIyBT
eW1ib2xzLiAgIyMKKy0jIyAtLS0tLS0tLS0gIyMKKy0KKy0jIEZvciBhIGRlc2NyaXB0aW9uIG9m
IHRoZSBTeW1ib2wgaGFuZGxpbmcsIHNlZSBSRUFETUUuCistIworLSMgVGhlIGZvbGxvd2luZyBt
YWNyb3MgcHJvdmlkZSBhY2Nlc3MgdG8gc3ltYm9sIHJlbGF0ZWQgdmFsdWVzLgorLQorLSMgX19i
NF9zeW1ib2woTlVNLCBGSUVMRCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBSZWNv
dmVyIGEgRklFTEQgYWJvdXQgc3ltYm9sICNOVU0uICBUaGFua3MgdG8gbTRfaW5kaXIsIGZhaWxz
IGlmCistIyB1bmRlZmluZWQuCistbTRfZGVmaW5lKFtfX2I0X3N5bWJvbF0sCistW200X2luZGly
KFtiNF9zeW1ib2woJDEsICQyKV0pXSkKKy0KKy0KKy0jIF9iNF9zeW1ib2woTlVNLCBGSUVMRCkK
Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFJlY292ZXIgYSBGSUVMRCBhYm91dCBzeW1i
b2wgI05VTSAob3IgIm9yaWcgTlVNIikuICBGYWlscyBpZgorLSMgdW5kZWZpbmVkLgorLW00X2Rl
ZmluZShbX2I0X3N5bWJvbF0sCistW200X2lmZGVmKFtiNF9zeW1ib2woJDEsIG51bWJlcildLAor
LSAgICAgICAgICBbX19iNF9zeW1ib2wobTRfaW5kaXIoW2I0X3N5bWJvbCgkMSwgbnVtYmVyKV0p
LCAkMildLAorLSAgICAgICAgICBbX19iNF9zeW1ib2woWyQxXSwgWyQyXSldKV0pCistCistCist
CistIyBiNF9zeW1ib2woTlVNLCBGSUVMRCkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
UmVjb3ZlciBhIEZJRUxEIGFib3V0IHN5bWJvbCAjTlVNIChvciAib3JpZyBOVU0iKS4gIEZhaWxz
IGlmCistIyB1bmRlZmluZWQuICBJZiBGSUVMRCA9IGlkLCBwcmVwZW5kIHRoZSB0b2tlbiBwcmVm
aXguCistbTRfZGVmaW5lKFtiNF9zeW1ib2xdLAorLVttNF9jYXNlKFskMl0sCistICAgICAgICAg
W2lkXSwgICAgW200X2RvKFtiNF9wZXJjZW50X2RlZmluZV9nZXQoW2FwaS50b2tlbi5wcmVmaXhd
KV0sCistICAgICAgICAgICAgICAgICAgICAgICAgIFtfYjRfc3ltYm9sKFskMV0sIFtpZF0pXSld
LAorLSAgICAgICAgIFtfYjRfc3ltYm9sKCRAKV0pXSkKKy0KKy0KKy0jIGI0X3N5bWJvbF9pZihO
VU0sIEZJRUxELCBJRi1UUlVFLCBJRi1GQUxTRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIEZJRUxEIGFib3V0IHN5bWJvbCAjTlVNIGlzIDEg
ZXhwYW5kIElGLVRSVUUsIGlmIGlzIDAsIGV4cGFuZCBJRi1GQUxTRS4KKy0jIE90aGVyd2lzZSBh
biBlcnJvci4KKy1tNF9kZWZpbmUoW2I0X3N5bWJvbF9pZl0sCistW200X2Nhc2UoYjRfc3ltYm9s
KFskMV0sIFskMl0pLAorLSAgICAgICAgIFsxXSwgWyQzXSwKKy0gICAgICAgICBbMF0sIFskNF0s
CistICAgICAgICAgW200X2ZhdGFsKFskMDogZmllbGQgJDIgb2YgJDEgaXMgbm90IGEgQm9vbGVh
bjpdIGI0X3N5bWJvbChbJDFdLCBbJDJdKSldKV0pCistCistCistIyBiNF9zeW1ib2xfdGFnX2Nv
bW1lbnQoU1lNQk9MLU5VTSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgSXNzdWUgYSBjb21tZW50IGdpdmluZyB0aGUgdGFnIG9mIHN5bWJvbCBOVU0uCistbTRfZGVm
aW5lKFtiNF9zeW1ib2xfdGFnX2NvbW1lbnRdLAorLVtiNF9jb21tZW50KFtiNF9zeW1ib2woWyQx
XSwgW3RhZ10pXSkKKy1dKQorLQorLQorLSMgYjRfc3ltYm9sX2FjdGlvbl9sb2NhdGlvbihTWU1C
T0wtTlVNLCBLSU5EKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLSMgUmVwb3J0IHRoZSBsb2NhdGlvbiBvZiB0aGUgS0lORCBhY3Rpb24gYXMgRklMRTpM
SU5FLgorLW00X2RlZmluZShbYjRfc3ltYm9sX2FjdGlvbl9sb2NhdGlvbl0sCistW2I0X3N5bWJv
bChbJDFdLCBbJDJfZmlsZV0pOmI0X3N5bmNsaW5lKFtiNF9zeW1ib2woWyQxXSwgWyQyX2xpbmVd
KV0pXSkKKy0KKy0KKy0jIGI0X3N5bWJvbF9hY3Rpb24oU1lNQk9MLU5VTSwgS0lORCkKKy0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFJ1biB0aGUgYWN0aW9uIEtJTkQg
KGRlc3RydWN0b3Igb3IgcHJpbnRlcikgZm9yIFNZTUJPTC1OVU0uCistbTRfZGVmaW5lKFtiNF9z
eW1ib2xfYWN0aW9uXSwKKy1bYjRfc3ltYm9sX2lmKFskMV0sIFtoYXNfJDJdLAorLVtiNF9kb2xs
YXJfcHVzaGRlZihbKCp5eXZhbHVlcCldLAorLSAgICAgICAgICAgICAgICAgICBbJDFdLAorLSAg
ICAgICAgICAgICAgICAgICBbXSwKKy0gICAgICAgICAgICAgICAgICAgWygqeXlsb2NhdGlvbnAp
XSlkbmwKKy0gICAgX2I0X3N5bWJvbF9jYXNlKFskMV0pW11kbmwKKy1iNF9zeW5jbGluZShbYjRf
c3ltYm9sKFskMV0sIFskMl9saW5lXSldLCBbYjRfc3ltYm9sKFskMV0sIFskMl9maWxlXSldKQor
LSAgICAgIGI0X3N5bWJvbChbJDFdLCBbJDJdKQorLWI0X3N5bmNsaW5lKFtAb2xpbmVAXSwgW0Bv
ZmlsZUBdKQorLSAgICAgICAgYnJlYWs7CistCistYjRfZG9sbGFyX3BvcGRlZltdZG5sCistXSld
KQorLQorLQorLSMgYjRfc3ltYm9sX2Rlc3RydWN0b3IoU1lNQk9MLU5VTSkKKy0jIGI0X3N5bWJv
bF9wcmludGVyKFNZTUJPTC1OVU0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLW00X2RlZmluZShbYjRfc3ltYm9sX2Rlc3RydWN0b3JdLCBbYjRfc3ltYm9sX2FjdGlvbihb
JDFdLCBbZGVzdHJ1Y3Rvcl0pXSkKKy1tNF9kZWZpbmUoW2I0X3N5bWJvbF9wcmludGVyXSwgICAg
W2I0X3N5bWJvbF9hY3Rpb24oWyQxXSwgW3ByaW50ZXJdKV0pCistCistCistIyBiNF9zeW1ib2xf
YWN0aW9ucyhLSU5ELCBbVFlQRSA9IHl5dHlwZV0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBFbWl0IHRoZSBzeW1ib2wgYWN0aW9ucyBmb3IgS0lORCAo
InByaW50ZXIiIG9yICJkZXN0cnVjdG9yIikuCistIyBEaXNwYXRjaCBvbiBUWVBFLgorLW00X2Rl
ZmluZShbYjRfc3ltYm9sX2FjdGlvbnNdLAorLVttNF9wdXNoZGVmKFtiNF9hY3Rpb25zX10sIG00
X2V4cGFuZChbYjRfc3ltYm9sX2ZvcmVhY2goW2I0X3N5bWJvbF8kMV0pXSkpZG5sCistbTRfaWZ2
YWwobTRfZGVmbihbYjRfYWN0aW9uc19dKSwKKy1bc3dpdGNoIChtNF9kZWZhdWx0KFskMl0sIFt5
eXR5cGVdKSkKKy0gICAgeworLW00X2RlZm4oW2I0X2FjdGlvbnNfXSlbXWRubAorLSAgICAgIGRl
ZmF1bHQ6CistICAgICAgICBicmVhazsKKy0gICAgfWRubAorLV0sCistW1lZVVNFIChtNF9kZWZh
dWx0KFskMl0sIFt5eXR5cGVdKSk7XSlkbmwKKy1tNF9wb3BkZWYoW2I0X2FjdGlvbnNfXSlkbmwK
Ky1dKQorLQorLSMgX2I0X3N5bWJvbF9jYXNlKFNZTUJPTC1OVU0pCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIElzc3VlIGEgImNhc2UgTlVNIiBmb3IgU1lNQk9MLU5VTS4gIEVu
ZHMgd2l0aCBpdHMgRU9MIHRvIG1ha2UgaXQKKy0jIGVhc2llciB0byB1c2Ugd2l0aCBtNF9tYXAs
IGJ1dCB0aGVuLCB1c2UgW11kbmwgdG8gc3VwcHJlc3MgdGhlIGxhc3QKKy0jIG9uZS4KKy1tNF9k
ZWZpbmUoW19iNF9zeW1ib2xfY2FzZV0sCistW2Nhc2UgYjRfc3ltYm9sKFskMV0sIFtudW1iZXJd
KTogYjRfc3ltYm9sX3RhZ19jb21tZW50KFskMV0pXSkKKy1dKQorLQorLQorLSMgYjRfc3ltYm9s
X2ZvcmVhY2goTUFDUk8pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEludm9rZSBN
QUNSTyhTWU1CT0wtTlVNKSBmb3IgZWFjaCBTWU1CT0wtTlVNLgorLW00X2RlZmluZShbYjRfc3lt
Ym9sX2ZvcmVhY2hdLAorLSAgICAgICAgICBbbTRfbWFwKFskMV0sIG00X2RlZm4oW2I0X3N5bWJv
bF9udW1iZXJzXSkpXSkKKy0KKy0jIGI0X3N5bWJvbF9tYXAoTUFDUk8pCistIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLQorLSMgUmV0dXJuIGEgbGlzdCAocG9zc2libHkgZW1wdHkgZWxlbWVudHMpIG9m
IE1BQ1JPIGludm9rZWQgZm9yIGVhY2gKKy0jIFNZTUJPTC1OVU0uCistbTRfZGVmaW5lKFtiNF9z
eW1ib2xfbWFwXSwKKy1bbTRfbWFwX2FyZ3Nfc2VwKFskMShdLCBbKV0sIFssXSwgYjRfc3ltYm9s
X251bWJlcnMpXSkKKy0KKy0KKy0jIGI0X3Rva2VuX3Zpc2libGVfaWYoTlVNLCBJRi1UUlVFLCBJ
Ri1GQUxTRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky0jIFdoZXRoZXIgTlVNIGRlbm90ZXMgYSB0b2tlbiB0aGF0IGhhcyBhbiBleHBvcnRlZCBkZWZp
bml0aW9uIChpLmUuLAorLSMgc2hvd3MgaW4gZW51bSB5eXRva2VudHlwZSkuCistbTRfZGVmaW5l
KFtiNF90b2tlbl92aXNpYmxlX2lmXSwKKy1bYjRfc3ltYm9sX2lmKFskMV0sIFtpc190b2tlbl0s
CistICAgICAgICAgICAgICBbYjRfc3ltYm9sX2lmKFskMV0sIFtoYXNfaWRdLCBbJDJdLCBbJDNd
KV0sCistICAgICAgICAgICAgICBbJDNdKV0pCistCistIyBiNF90b2tlbl9oYXNfZGVmaW5pdGlv
bihOVU0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyAxIGlmIE5VTSBpcyB2
aXNpYmxlLCBub3RoaW5nIG90aGVyd2lzZS4KKy1tNF9kZWZpbmUoW2I0X3Rva2VuX2hhc19kZWZp
bml0aW9uXSwKKy1bYjRfdG9rZW5fdmlzaWJsZV9pZihbJDFdLCBbMV0pXSkKKy0KKy0jIGI0X2Fu
eV90b2tlbl92aXNpYmxlX2lmKFtJRi1UUlVFXSwgW0lGLUZBTFNFXSkKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFdoZXRoZXIgdGhlcmUgaXMg
YSB0b2tlbiB0aGF0IG5lZWRzIHRvIGJlIGRlZmluZWQuCistbTRfZGVmaW5lKFtiNF9hbnlfdG9r
ZW5fdmlzaWJsZV9pZl0sCistW200X2lmdmFsKGI0X3N5bWJvbF9mb3JlYWNoKFtiNF90b2tlbl9o
YXNfZGVmaW5pdGlvbl0pLAorLSAgICAgICAgICBbJDFdLCBbJDJdKV0pCistCistCistIyBiNF90
b2tlbl9mb3JtYXQoRk9STUFULCBOVU0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CistbTRfZGVmaW5lKFtiNF90b2tlbl9mb3JtYXRdLAorLVtiNF90b2tlbl92aXNpYmxlX2lmKFsk
Ml0sCistW200X3F1b3RlKG00X2Zvcm1hdChbJDFdLAorLSAgICAgICAgICAgICAgICAgICAgIFti
NF9zeW1ib2woWyQyXSwgW2lkXSldLAorLSAgICAgICAgICAgICAgICAgICAgIFtiNF9zeW1ib2wo
WyQyXSwgW3VzZXJfbnVtYmVyXSldKSldKV0pCistCistCistIyMgLS0tLS0tLSAjIworLSMjIFR5
cGVzLiAgIyMKKy0jIyAtLS0tLS0tICMjCistCistIyBfYjRfdHlwZV9hY3Rpb24oTlVNUykKKy0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgUnVuIGFjdGlvbnMgZm9yIHRoZSBzeW1ib2wgTlVN
UyB0aGF0IGFsbCBoYXZlIHRoZSBzYW1lIHR5cGUtbmFtZS4KKy0jIFNraXAgTlVNUyB0aGF0IGhh
dmUgbm8gdHlwZS1uYW1lLgorLSMKKy0jIFRvIHNwZWNpZnkgdGhlIGFjdGlvbiB0byBydW4sIGRl
ZmluZSBiNF9kb2xsYXJfZG9sbGFyKFNZTUJPTC1OVU0sCistIyBUQUcsIFRZUEUpLgorLW00X2Rl
ZmluZShbX2I0X3R5cGVfYWN0aW9uXSwKKy1bYjRfc3ltYm9sX2lmKFskMV0sIFtoYXNfdHlwZV0s
CistW200X21hcChbICAgICAgX2I0X3N5bWJvbF9jYXNlXSwgWyRAXSlbXWRubAorLSAgICAgICAg
YjRfZG9sbGFyX2RvbGxhcihbYjRfc3ltYm9sKFskMV0sIFtudW1iZXJdKV0sCistICAgICAgICAg
ICAgICAgICAgICAgICAgIFtiNF9zeW1ib2woWyQxXSwgW3RhZ10pXSwKKy0gICAgICAgICAgICAg
ICAgICAgICAgICAgW2I0X3N5bWJvbChbJDFdLCBbdHlwZV0pXSk7CistICAgICAgICBicmVhazsK
Ky0KKy1dKV0pCistCistIyBiNF90eXBlX2ZvcmVhY2goTUFDUk8pCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBJbnZva2UgTUFDUk8oU1lNQk9MLU5VTVMpIGZvciBlYWNoIHNldCBvZiBT
WU1CT0wtTlVNUyBmb3IgZWFjaCB0eXBlIHNldC4KKy1tNF9kZWZpbmUoW2I0X3R5cGVfZm9yZWFj
aF0sCistICAgICAgICAgIFttNF9tYXAoWyQxXSwgbTRfZGVmbihbYjRfdHlwZV9uYW1lc10pKV0p
CistCistCistCistIyMgLS0tLS0tLS0tLS0gIyMKKy0jIyBTeW5jbGluZXMuICAjIworLSMjIC0t
LS0tLS0tLS0tICMjCistCistIyBiNF9iYXNlbmFtZShOQU1FKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIFNpbWlsYXIgdG8gUE9TSVggYmFzZW5hbWU7IHRoZSBkaWZmZXJlbmNlcyBkb24ndCBt
YXR0ZXIgaGVyZS4KKy0jIEJld2FyZSB0aGF0IE5BTUUgaXMgbm90IGV2YWx1YXRlZC4KKy1tNF9k
ZWZpbmUoW2I0X2Jhc2VuYW1lXSwKKy1bbTRfYnBhdHN1YnN0KFskMV0sIFteLiovXChbXi9dK1wp
LyokXSwgW1wxXSldKQorLQorLQorLSMgYjRfc3luY2xpbmUoTElORSwgRklMRSkKKy0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistbTRfZGVmaW5lKFtiNF9zeW5jbGluZV0sCistW2I0X2ZsYWdf
aWYoW3N5bmNsaW5lc10sCistW2I0X3N5bmNfc3RhcnQoWyQxXSwgWyQyXSkgYjRfc3luY19lbmQo
W19fbGluZV9fXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYjRf
YmFzZW5hbWUobTRfcXVvdGUoX19maWxlX18pKV0pW11kbmwKKy1dKV0pCistCistIyBiNF9zeW5j
X3N0YXJ0KExJTkUsIEZJTEUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgU3luY2xp
bmUgZm9yIHRoZSBuZXcgcGxhY2UuICBUeXBpY2FsbHkgYSBkaXJlY3RpdmUgZm9yIHRoZSBjb21w
aWxlci4KKy1tNF9kZWZpbmUoW2I0X3N5bmNfc3RhcnRdLCBbYjRfY29tbWVudChbJDI6JDFdKV0p
CistCistIyBiNF9zeW5jX2VuZChMSU5FLCBGSUxFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIFN5bmNsaW5lIGZvciB0aGUgY3VycmVudCBwbGFjZSwgd2hpY2ggZW5kcy4gIFR5cGlj
YWxseSBhIGNvbW1lbnQKKy0jIGxlZnQgZm9yIHRoZSByZWFkZXIuCistbTRfZGVmaW5lKFtiNF9z
eW5jX2VuZF0sICAgW2I0X2NvbW1lbnQoWyQyOiQxXSldKQorLQorLQorLSMgYjRfdXNlcl9jb2Rl
KFVTRVItQ09ERSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFbWl0IGNvZGUgZnJv
bSB0aGUgdXNlciwgZW5kaW5nIGl0IHdpdGggc3luY2xpbmVzLgorLW00X2RlZmluZShbYjRfdXNl
cl9jb2RlXSwKKy1bJDEKKy1iNF9zeW5jbGluZShbQG9saW5lQF0sIFtAb2ZpbGVAXSldKQorLQor
LQorLSMgYjRfZGVmaW5lX3VzZXJfY29kZShNQUNSTywgQ09NTUVOVCkKKy0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBGcm9tIGI0X01BQ1JPLCBpZiBkZWZpbmVkLCBi
dWlsZCBiNF91c2VyX01BQ1JPIHRoYXQgaW5jbHVkZXMgdGhlIHN5bmNsaW5lcy4KKy1tNF9kZWZp
bmUoW2I0X2RlZmluZV91c2VyX2NvZGVdLAorLVttNF9kZWZpbmUoW2I0X3VzZXJfJDFdLAorLSAg
ICAgICAgICAgW200X2lmZGVmKFtiNF8kMV0sCistICAgICAgICAgICAgICAgICAgICAgW200X2lm
dmFsKFskMl0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiNF9jb21tZW50KFsk
Ml0pCistXSliNF91c2VyX2NvZGUoW2I0XyQxXSldKV0pXSkKKy0KKy0jIGI0X3VzZXJfYWN0aW9u
cworLSMgYjRfdXNlcl9pbml0aWFsX2FjdGlvbgorLSMgYjRfdXNlcl9wb3N0X3Byb2xvZ3VlCist
IyBiNF91c2VyX3ByZV9wcm9sb2d1ZQorLSMgYjRfdXNlcl91bmlvbl9tZW1iZXJzCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBNYWNyb3MgdGhhdCBpc3N1ZSB1c2VyIGNvZGUsIGVuZGlu
ZyB3aXRoIHN5bmNsaW5lcy4KKy1iNF9kZWZpbmVfdXNlcl9jb2RlKFthY3Rpb25zXSkKKy1iNF9k
ZWZpbmVfdXNlcl9jb2RlKFtpbml0aWFsX2FjdGlvbl0sIFtVc2VyIGluaXRpYWxpemF0aW9uIGNv
ZGUuXSkKKy1iNF9kZWZpbmVfdXNlcl9jb2RlKFtwb3N0X3Byb2xvZ3VlXSwgW1NlY29uZCBwYXJ0
IG9mIHVzZXIgcHJvbG9ndWUuXSkKKy1iNF9kZWZpbmVfdXNlcl9jb2RlKFtwcmVfcHJvbG9ndWVd
LCBbRmlyc3QgcGFydCBvZiB1c2VyIHByb2xvZ3VlLl0pCistYjRfZGVmaW5lX3VzZXJfY29kZShb
dW5pb25fbWVtYmVyc10pCistCistCistIyBiNF9jaGVja191c2VyX25hbWVzKFdIQVQsIFVTRVIt
TElTVCwgQklTT04tTkFNRVNQQUNFKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENvbXBsYWluIGlmIGFueSBuYW1lIG9mIHR5cGUg
V0hBVCBpcyB1c2VkIGJ5IHRoZSB1c2VyIChhcyByZWNvcmRlZCBpbgorLSMgVVNFUi1MSVNUKSBi
dXQgaXMgbm90IHVzZWQgYnkgQmlzb24gKGFzIHJlY29yZGVkIGJ5IG1hY3JvcyBpbiB0aGUKKy0j
IG5hbWVzcGFjZSBCSVNPTi1OQU1FU1BBQ0UpLgorLSMKKy0jIFVTRVItTElTVCBtdXN0IGV4cGFu
ZCB0byBhIGxpc3Qgc3BlY2lmeWluZyBhbGwgdXNlciBvY2N1cnJlbmNlcyBvZiBhbGwgbmFtZXMK
Ky0jIG9mIHR5cGUgV0hBVC4gICBFYWNoIGl0ZW0gaW4gdGhlIGxpc3QgbXVzdCBiZSBhIHRyaXBs
ZXQgc3BlY2lmeWluZyBvbmUKKy0jIG9jY3VycmVuY2U6IG5hbWUsIHN0YXJ0IGJvdW5kYXJ5LCBh
bmQgZW5kIGJvdW5kYXJ5LiAgRW1wdHkgc3RyaW5nIG5hbWVzIGFyZQorLSMgZmluZS4gIEFuIGVt
cHR5IGxpc3QgaXMgZmluZS4KKy0jCistIyBGb3IgZXhhbXBsZSwgdG8gZGVmaW5lIGI0X2Zvb191
c2VyX25hbWVzIHRvIGJlIHVzZWQgZm9yIFVTRVItTElTVCB3aXRoIHRocmVlCistIyBuYW1lIG9j
Y3VycmVuY2VzIGFuZCB3aXRoIGNvcnJlY3QgcXVvdGluZzoKKy0jCistIyAgIG00X2RlZmluZShb
YjRfZm9vX3VzZXJfbmFtZXNdLAorLSMgICAgICAgICAgICAgW1tbW1tbYmFyXV0sIFtbcGFyc2Vy
Lnk6MS43XV0sIFtbcGFyc2VyLnk6MS4xNl1dXV0sCistIyAgICAgICAgICAgICAgIFtbW1tiYXJd
XSwgW1twYXJzZXIueTo1LjddXSwgW1twYXJzZXIueTo1LjE2XV1dXSwKKy0jICAgICAgICAgICAg
ICAgW1tbW2Jhel1dLCBbW3BhcnNlci55OjguN11dLCBbW3BhcnNlci55OjguMTZdXV1dXV0pCist
IworLSMgVGhlIG1hY3JvIEJJU09OLU5BTUVTUEFDRShiYXIpIG11c3QgYmUgZGVmaW5lZCBpZmYg
dGhlIG5hbWUgYmFyIG9mIHR5cGUgV0hBVAorLSMgaXMgdXNlZCBieSBCaXNvbiAoaW4gdGhlIGZy
b250LWVuZCBvciBpbiB0aGUgc2tlbGV0b24pLiAgRW1wdHkgc3RyaW5nIG5hbWVzCistIyBhcmUg
ZmluZSwgYnV0IGl0IHdvdWxkIGJlIHVnbHkgZm9yIEJpc29uIHRvIGFjdHVhbGx5IHVzZSBvbmUu
CistIworLSMgRm9yIGV4YW1wbGUsIHRvIHVzZSBiNF9mb29fYmlzb25fbmFtZXMgZm9yIEJJU09O
LU5BTUVTUEFDRSBhbmQgZGVmaW5lIHRoYXQKKy0jIHRoZSBuYW1lcyBiYXIgYW5kIGJheiBhcmUg
dXNlZCBieSBCaXNvbjoKKy0jCistIyAgIG00X2RlZmluZShbYjRfZm9vX2Jpc29uX25hbWVzKGJh
cildKQorLSMgICBtNF9kZWZpbmUoW2I0X2Zvb19iaXNvbl9uYW1lcyhiYXopXSkKKy0jCistIyBU
byBpbnZva2UgYjRfY2hlY2tfdXNlcl9uYW1lcyB3aXRoIFRZUEUgZm9vLCB3aXRoIFVTRVItTElT
VAorLSMgYjRfZm9vX3VzZXJfbmFtZXMsIHdpdGggQklTT04tTkFNRVNQQUNFIGI0X2Zvb19iaXNv
bl9uYW1lcywgYW5kIHdpdGggY29ycmVjdAorLSMgcXVvdGluZzoKKy0jCistIyAgIGI0X2NoZWNr
X3VzZXJfbmFtZXMoW1tmb29dXSwgW2I0X2Zvb191c2VyX25hbWVzXSwKKy0jICAgICAgICAgICAg
ICAgICAgICAgICBbW2I0X2Zvb19iaXNvbl9uYW1lc11dKQorLW00X2RlZmluZShbYjRfY2hlY2tf
dXNlcl9uYW1lc10sCistW200X2ZvcmVhY2goW2I0X29jY3VycmVuY2VdLCAkMiwKKy1bbTRfcHVz
aGRlZihbYjRfb2NjdXJyZW5jZV0sIGI0X29jY3VycmVuY2UpZG5sCistbTRfcHVzaGRlZihbYjRf
dXNlcl9uYW1lXSwgbTRfY2FyKGI0X29jY3VycmVuY2UpKWRubAorLW00X3B1c2hkZWYoW2I0X3N0
YXJ0XSwgbTRfY2FyKG00X3NoaWZ0KGI0X29jY3VycmVuY2UpKSlkbmwKKy1tNF9wdXNoZGVmKFti
NF9lbmRdLCBtNF9zaGlmdChtNF9zaGlmdChiNF9vY2N1cnJlbmNlKSkpZG5sCistbTRfaWZuZGVm
KCQzWyhdbTRfcXVvdGUoYjRfdXNlcl9uYW1lKVspXSwKKy0gICAgICAgICAgW2I0X2NvbXBsYWlu
X2F0KFtiNF9zdGFydF0sIFtiNF9lbmRdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgW1sl
cyAnJXMnIGlzIG5vdCB1c2VkXV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICBbJDFdLCBb
YjRfdXNlcl9uYW1lXSldKVtdZG5sCistbTRfcG9wZGVmKFtiNF9vY2N1cnJlbmNlXSlkbmwKKy1t
NF9wb3BkZWYoW2I0X3VzZXJfbmFtZV0pZG5sCistbTRfcG9wZGVmKFtiNF9zdGFydF0pZG5sCist
bTRfcG9wZGVmKFtiNF9lbmRdKWRubAorLV0pXSkKKy0KKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0gIyMKKy0jIyBiNF9wZXJjZW50X2RlZmluZV8qLiAgIyMKKy0jIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIGI0X3BlcmNlbnRfZGVmaW5lX3VzZShWQVJJQUJMRSkK
Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlY2xhcmUgdGhhdCBWQVJJ
QUJMRSB3YXMgdXNlZC4KKy1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX3VzZV0sCistW200
X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfYmlzb25fdmFyaWFibGVzKF0kMVspXSlkbmwKKy1d
KQorLQorLSMgYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFZBUklBQkxFLCBbREVGQVVMVF0pCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIE1pbWljIG11c2Ns
ZV9wZXJjZW50X2RlZmluZV9nZXQgaW4gLi4vc3JjL211c2NsZS10YWIuaC4gIFRoYXQgaXMsIGlm
CistIyB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyBkZWZpbmVkLCBlbWl0IGl0cyB2
YWx1ZS4gIENvbnRyYXJ5CistIyB0byBpdHMgQyBjb3VudGVycGFydCwgcmV0dXJuIERFRkFVTFQg
b3RoZXJ3aXNlLiAgQWxzbywgcmVjb3JkCistIyBCaXNvbidzIHVzYWdlIG9mIFZBUklBQkxFIGJ5
IGRlZmluaW5nCistIyBiNF9wZXJjZW50X2RlZmluZV9iaXNvbl92YXJpYWJsZXMoVkFSSUFCTEUp
LgorLSMKKy0jIEZvciBleGFtcGxlOgorLSMKKy0jICAgYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtb
Zm9vXV0pCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9nZXRdLAorLVtiNF9wZXJjZW50
X2RlZmluZV91c2UoWyQxXSlkbmwKKy1fYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoWyQxXSwKKy0g
ICAgICAgICAgICAgICAgICAgICAgICAgW200X2luZGlyKFtiNF9wZXJjZW50X2RlZmluZShdJDFb
KV0pXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgWyQyXSldKQorLQorLSMgYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0X2xvYyhWQVJJQUJMRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistIyBNaW1pYyBtdXNjbGVfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyBpbiAuLi9z
cmMvbXVzY2xlLXRhYi5oIGV4YWN0bHkuICBUaGF0IGlzLAorLSMgaWYgdGhlICVkZWZpbmUgdmFy
aWFibGUgVkFSSUFCTEUgaXMgdW5kZWZpbmVkLCBjb21wbGFpbiBmYXRhbGx5IHNpbmNlIHRoYXQn
cworLSMgYSBCaXNvbiBvciBza2VsZXRvbiBlcnJvci4gIE90aGVyd2lzZSwgcmV0dXJuIGl0cyBk
ZWZpbml0aW9uIGxvY2F0aW9uIGluIGEKKy0jIGZvcm0gYXBwcm9wcmlhdGUgZm9yIHRoZSBmaXJz
dCB0d28gYXJndW1lbnRzIG9mIGI0X3dhcm5fYXQsIGI0X2NvbXBsYWluX2F0LCBvcgorLSMgYjRf
ZmF0YWxfYXQuICBEb24ndCByZWNvcmQgdGhpcyBhcyBhIEJpc29uIHVzYWdlIG9mIFZBUklBQkxF
IGFzIHRoZXJlJ3Mgbm8KKy0jIHJlYXNvbiB0byBzdXNwZWN0IHRoYXQgdGhlIHVzZXItc3VwcGxp
ZWQgdmFsdWUgaGFzIHlldCBpbmZsdWVuY2VkIHRoZSBvdXRwdXQuCistIworLSMgRm9yIGV4YW1w
bGU6CistIworLSMgICBiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50X2RlZmluZV9nZXRfbG9jKFtb
Zm9vXV0pLCBbW2ludmFsaWQgZm9vXV0pCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9n
ZXRfbG9jXSwKKy1bbTRfaWZkZWYoW2I0X3BlcmNlbnRfZGVmaW5lX2xvYyhdJDFbKV0sCistICAg
ICAgICAgIFttNF9wdXNoZGVmKFtiNF9sb2NdLCBtNF9pbmRpcihbYjRfcGVyY2VudF9kZWZpbmVf
bG9jKF0kMVspXSkpZG5sCistYjRfbG9jW11kbmwKKy1tNF9wb3BkZWYoW2I0X2xvY10pXSwKKy0g
ICAgICAgICAgW2I0X2ZhdGFsKFtbJDA6IHVuZGVmaW5lZCAlJWRlZmluZSB2YXJpYWJsZSAnJXMn
XV0sIFskMV0pXSldKQorLQorLSMgYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2tpbmQoVkFSSUFCTEUp
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEdldCB0aGUga2lu
ZCAoY29kZSwga2V5d29yZCwgc3RyaW5nKSBvZiBWQVJJQUJMRSwgaS5lLiwgaG93IGl0cworLSMg
dmFsdWUgd2FzIGRlZmluZWQgKGJyYWNlcywgbm90IGRlbGltaXRlcnMsIHF1b3RlcykuCistIwor
LSMgSWYgdGhlICVkZWZpbmUgdmFyaWFibGUgVkFSSUFCTEUgaXMgdW5kZWZpbmVkLCBjb21wbGFp
biBmYXRhbGx5CistIyBzaW5jZSB0aGF0J3MgYSBCaXNvbiBvciBza2VsZXRvbiBlcnJvci4gIERv
bid0IHJlY29yZCB0aGlzIGFzIGEKKy0jIEJpc29uIHVzYWdlIG9mIFZBUklBQkxFIGFzIHRoZXJl
J3Mgbm8gcmVhc29uIHRvIHN1c3BlY3QgdGhhdCB0aGUKKy0jIHVzZXItc3VwcGxpZWQgdmFsdWUg
aGFzIHlldCBpbmZsdWVuY2VkIHRoZSBvdXRwdXQuCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2Rl
ZmluZV9nZXRfa2luZF0sCistW200X2lmZGVmKFtiNF9wZXJjZW50X2RlZmluZV9raW5kKF0kMVsp
XSwKKy0gICAgICAgICAgW200X2luZGlyKFtiNF9wZXJjZW50X2RlZmluZV9raW5kKF0kMVspXSld
LAorLSAgICAgICAgICBbYjRfZmF0YWwoW1skMDogdW5kZWZpbmVkICUlZGVmaW5lIHZhcmlhYmxl
ICclcyddXSwgWyQxXSldKV0pCistCistIyBiNF9wZXJjZW50X2RlZmluZV9nZXRfc3luY2xpbmUo
VkFSSUFCTEUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist
IyBNaW1pYyBtdXNjbGVfcGVyY2VudF9kZWZpbmVfZ2V0X3N5bmNsaW5lIGluIC4uL3NyYy9tdXNj
bGUtdGFiLmggZXhhY3RseS4KKy0jIFRoYXQgaXMsIGlmIHRoZSAlZGVmaW5lIHZhcmlhYmxlIFZB
UklBQkxFIGlzIHVuZGVmaW5lZCwgY29tcGxhaW4gZmF0YWxseQorLSMgc2luY2UgdGhhdCdzIGEg
Qmlzb24gb3Igc2tlbGV0b24gZXJyb3IuICBPdGhlcndpc2UsIHJldHVybiBpdHMgZGVmaW5pdGlv
bgorLSMgbG9jYXRpb24gYXMgYSBiNF9zeW5jbGluZSBpbnZvY2F0aW9uLiAgRG9uJ3QgcmVjb3Jk
IHRoaXMgYXMgYSBCaXNvbiB1c2FnZSBvZgorLSMgVkFSSUFCTEUgYXMgdGhlcmUncyBubyByZWFz
b24gdG8gc3VzcGVjdCB0aGF0IHRoZSB1c2VyLXN1cHBsaWVkIHZhbHVlIGhhcyB5ZXQKKy0jIGlu
Zmx1ZW5jZWQgdGhlIG91dHB1dC4KKy0jCistIyBGb3IgZXhhbXBsZToKKy0jCistIyAgIGI0X3Bl
cmNlbnRfZGVmaW5lX2dldF9zeW5jbGluZShbW2Zvb11dKQorLW00X2RlZmluZShbYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0X3N5bmNsaW5lXSwKKy1bbTRfaWZkZWYoW2I0X3BlcmNlbnRfZGVmaW5lX3N5
bmNsaW5lKF0kMVspXSwKKy0gICAgICAgICAgW200X2luZGlyKFtiNF9wZXJjZW50X2RlZmluZV9z
eW5jbGluZShdJDFbKV0pXSwKKy0gICAgICAgICAgW2I0X2ZhdGFsKFtbJDA6IHVuZGVmaW5lZCAl
JWRlZmluZSB2YXJpYWJsZSAnJXMnXV0sIFskMV0pXSldKQorLQorLSMgX2I0X3BlcmNlbnRfZGVm
aW5lX2lmZGVmKFZBUklBQkxFLCBJRi1UUlVFLCBbSUYtRkFMU0VdKQorLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBJZiB0aGUgJWRl
ZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyBkZWZpbmVkLCBleHBhbmQgSUYtVFJVRSwgZWxzZSBl
eHBhbmQKKy0jIElGLUZBTFNFLiAgRG9uJ3QgcmVjb3JkIHVzYWdlIG9mIFZBUklBQkxFLgorLSMK
Ky0jIEZvciBleGFtcGxlOgorLSMKKy0jICAgX2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFtbZm9v
XV0sIFtbaXQncyBkZWZpbmVkXV0sIFtbaXQncyB1bmRlZmluZWRdXSkKKy1tNF9kZWZpbmUoW19i
NF9wZXJjZW50X2RlZmluZV9pZmRlZl0sCistW200X2lmZGVmKFtiNF9wZXJjZW50X2RlZmluZShd
JDFbKV0sCistICAgICAgICAgIFskMl0sCistICAgICAgICAgIFskM10pXSkKKy0KKy0jIGI0X3Bl
cmNlbnRfZGVmaW5lX2lmZGVmKFZBUklBQkxFLCBJRi1UUlVFLCBbSUYtRkFMU0VdKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBN
aW1pYyBtdXNjbGVfcGVyY2VudF9kZWZpbmVfaWZkZWYgaW4gLi4vc3JjL211c2NsZS10YWIuaCBl
eGFjdGx5LiAgVGhhdCBpcywKKy0jIGlmIHRoZSAlZGVmaW5lIHZhcmlhYmxlIFZBUklBQkxFIGlz
IGRlZmluZWQsIGV4cGFuZCBJRi1UUlVFLCBlbHNlIGV4cGFuZAorLSMgSUYtRkFMU0UuICBBbHNv
LCByZWNvcmQgQmlzb24ncyB1c2FnZSBvZiBWQVJJQUJMRSBieSBkZWZpbmluZworLSMgYjRfcGVy
Y2VudF9kZWZpbmVfYmlzb25fdmFyaWFibGVzKFZBUklBQkxFKS4KKy0jCistIyBGb3IgZXhhbXBs
ZToKKy0jCistIyAgIGI0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFtbZm9vXV0sIFtbaXQncyBkZWZp
bmVkXV0sIFtbaXQncyB1bmRlZmluZWRdXSkKKy1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5l
X2lmZGVmXSwKKy1bX2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFskMV0sCistICAgICAgICAgICAg
ICAgICAgICAgICAgIFtiNF9wZXJjZW50X2RlZmluZV91c2UoWyQxXSkkMl0sCistICAgICAgICAg
ICAgICAgICAgICAgICAgIFskM10pXSkKKy0KKy0KKy0jIGI0X3BlcmNlbnRfZGVmaW5lX2NoZWNr
X2ZpbGVfY29tcGxhaW4oVkFSSUFCTEUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgV2FybiBhYm91dCAlZGVmaW5lIHZhcmlhYmxlIFZBUklB
QkxFIGhhdmluZyBhbiBpbmNvcnJlY3QKKy0jIHZhbHVlLgorLW00X2RlZmluZShbYjRfcGVyY2Vu
dF9kZWZpbmVfY2hlY2tfZmlsZV9jb21wbGFpbl0sCistW2I0X2NvbXBsYWluX2F0KGI0X3BlcmNl
bnRfZGVmaW5lX2dldF9sb2MoWyQxXSksCistICAgICAgICAgICAgICAgIFtbJSVkZWZpbmUgdmFy
aWFibGUgJyVzJyByZXF1aXJlcyAnbm9uZScgb3IgJyIuLi4iJyB2YWx1ZXNdXSwKKy0gICAgICAg
ICAgICAgICAgWyQxXSldKQorLQorLQorLSMgYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfZmlsZShN
QUNSTywgVkFSSUFCTEUsIERFRkFVTFQpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIHRoZSAlZGVmaW5lIHZhcmlhYmxlIFZB
UklBQkxFOgorLSMgLSBpcyB1bmRlZmluZWQsIHRoZW4gaWYgREVGQVVMVCBpcyBub24tZW1wdHks
IGRlZmluZSBNQUNSTyB0byBERUZBVUxUCistIyAtIGlzIGEgc3RyaW5nLCBkZWZpbmUgTUFDUk8g
dG8gaXRzIHZhbHVlCistIyAtIGlzIHRoZSBrZXl3b3JkICdub25lJywgZG8gbm90aGluZworLSMg
LSBvdGhlcndpc2UsIHdhcm4gYWJvdXQgdGhlIGluY29ycmVjdCB2YWx1ZS4KKy1tNF9kZWZpbmUo
W2I0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX2ZpbGVdLAorLVtiNF9wZXJjZW50X2RlZmluZV9pZmRl
ZihbJDJdLAorLSAgW200X2Nhc2UoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2tpbmQoWyQyXSksCist
ICAgIFtzdHJpbmddLAorLSAgICAgICAgIFttNF9kZWZpbmUoWyQxXSwgYjRfcGVyY2VudF9kZWZp
bmVfZ2V0KFskMl0pKV0sCistICAgIFtrZXl3b3JkXSwKKy0gICAgICAgICBbbTRfaWYoYjRfcGVy
Y2VudF9kZWZpbmVfZ2V0KFskMl0pLCBbbm9uZV0sIFtdLAorLSAgICAgICAgICAgICAgICBbYjRf
cGVyY2VudF9kZWZpbmVfY2hlY2tfZmlsZV9jb21wbGFpbihbJDJdKV0pXSwKKy0gICAgW2I0X3Bl
cmNlbnRfZGVmaW5lX2NoZWNrX2ZpbGVfY29tcGxhaW4oWyQyXSldKQorLSAgIF0sCistICAgW200
X2lmdmFsKFskM10sCistICAgICAgICAgICAgIFttNF9kZWZpbmUoWyQxXSwgWyQzXSldKV0pCist
XSkKKy0KKy0KKy0KKy0jIyAtLS0tLS0tLS0gIyMKKy0jIyBPcHRpb25zLiAgIyMKKy0jIyAtLS0t
LS0tLS0gIyMKKy0KKy0KKy0jIGI0X3BlcmNlbnRfZGVmaW5lX2ZsYWdfaWYoVkFSSUFCTEUsIElG
LVRSVUUsIFtJRi1GQUxTRV0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTWltaWMgbXVzY2xlX3BlcmNlbnRfZGVmaW5lX2Zs
YWdfaWYgaW4gLi4vc3JjL211c2NsZS10YWIuaCBleGFjdGx5LiAgVGhhdCBpcywKKy0jIGlmIHRo
ZSAlZGVmaW5lIHZhcmlhYmxlIFZBUklBQkxFIGlzIGRlZmluZWQgdG8gIiIgb3IgInRydWUiLCBl
eHBhbmQgSUYtVFJVRS4KKy0jIElmIGl0IGlzIGRlZmluZWQgdG8gImZhbHNlIiwgZXhwYW5kIElG
LUZBTFNFLiAgQ29tcGxhaW4gaWYgaXQgaXMgdW5kZWZpbmVkCistIyAoYSBCaXNvbiBvciBza2Vs
ZXRvbiBlcnJvciBzaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZSBzaG91bGQgaGF2ZSBiZWVuIHNldAor
LSMgYWxyZWFkeSkgb3IgZGVmaW5lZCB0byBhbnkgb3RoZXIgdmFsdWUgKHBvc3NpYmx5IGEgdXNl
ciBlcnJvcikuICBBbHNvLCByZWNvcmQKKy0jIEJpc29uJ3MgdXNhZ2Ugb2YgVkFSSUFCTEUgYnkg
ZGVmaW5pbmcKKy0jIGI0X3BlcmNlbnRfZGVmaW5lX2Jpc29uX3ZhcmlhYmxlcyhWQVJJQUJMRSku
CistIworLSMgRm9yIGV4YW1wbGU6CistIworLSMgICBiNF9wZXJjZW50X2RlZmluZV9mbGFnX2lm
KFtbZm9vXV0sIFtbaXQncyB0cnVlXV0sIFtbaXQncyBmYWxzZV1dKQorLW00X2RlZmluZShbYjRf
cGVyY2VudF9kZWZpbmVfZmxhZ19pZl0sCistW2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFskMV0s
CistICBbbTRfY2FzZShiNF9wZXJjZW50X2RlZmluZV9nZXQoWyQxXSksCistICAgICAgICAgICBb
XSwgWyQyXSwgW3RydWVdLCBbJDJdLCBbZmFsc2VdLCBbJDNdLAorLSAgICAgICAgICAgW200X2V4
cGFuZF9vbmNlKFtiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50X2RlZmluZV9nZXRfbG9jKFskMV0p
LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW2ludmFsaWQg
dmFsdWUgZm9yICUlZGVmaW5lIEJvb2xlYW4gdmFyaWFibGUgJyVzJ11dLAorLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJDFdKV0sCistICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW1tiNF9wZXJjZW50X2RlZmluZV9mbGFnX2lmKCQxKV1dKV0pXSwKKy0gIFti
NF9mYXRhbChbWyQwOiB1bmRlZmluZWQgJSVkZWZpbmUgdmFyaWFibGUgJyVzJ11dLCBbJDFdKV0p
XSkKKy0KKy0KKy0jIGI0X3BlcmNlbnRfZGVmaW5lX2RlZmF1bHQoVkFSSUFCTEUsIERFRkFVTFQs
IFtLSU5EID0ga2V5d29yZF0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTWltaWMgbXVzY2xlX3BlcmNlbnRfZGVm
aW5lX2RlZmF1bHQgaW4gLi4vc3JjL211c2NsZS10YWIuaCBleGFjdGx5LiAgVGhhdCBpcywKKy0j
IGlmIHRoZSAlZGVmaW5lIHZhcmlhYmxlIFZBUklBQkxFIGlzIHVuZGVmaW5lZCwgc2V0IGl0cyB2
YWx1ZSB0byBERUZBVUxULgorLSMgRG9uJ3QgcmVjb3JkIHRoaXMgYXMgYSBCaXNvbiB1c2FnZSBv
ZiBWQVJJQUJMRSBhcyB0aGVyZSdzIG5vIHJlYXNvbiB0bworLSMgc3VzcGVjdCB0aGF0IHRoZSB2
YWx1ZSBoYXMgeWV0IGluZmx1ZW5jZWQgdGhlIG91dHB1dC4KKy0jCistIyBGb3IgZXhhbXBsZToK
Ky0jCistIyAgIGI0X3BlcmNlbnRfZGVmaW5lX2RlZmF1bHQoW1tmb29dXSwgW1tkZWZhdWx0IHZh
bHVlXV0pCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0XSwKKy1bX2I0X3Bl
cmNlbnRfZGVmaW5lX2lmZGVmKFskMV0sIFtdLAorLSAgICAgICAgICAgW200X2RlZmluZShbYjRf
cGVyY2VudF9kZWZpbmUoXSQxWyldLCBbJDJdKWRubAorLSAgICAgICAgICAgIG00X2RlZmluZShb
YjRfcGVyY2VudF9kZWZpbmVfa2luZChdJDFbKV0sCistICAgICAgICAgICAgICAgICAgICAgIFtt
NF9kZWZhdWx0KFskM10sIFtrZXl3b3JkXSldKWRubAorLSAgICAgICAgICAgIG00X2RlZmluZShb
YjRfcGVyY2VudF9kZWZpbmVfbG9jKF0kMVspXSwKKy0gICAgICAgICAgICAgICAgICAgICAgW1tb
Wzxza2VsZXRvbiBkZWZhdWx0IHZhbHVlPjotMS4tMV1dLAorLSAgICAgICAgICAgICAgICAgICAg
ICAgIFtbPHNrZWxldG9uIGRlZmF1bHQgdmFsdWU+Oi0xLi0xXV1dXSlkbmwKKy0gICAgICAgICAg
ICBtNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX3N5bmNsaW5lKF0kMVspXSwgW1tdXSldKV0p
CistCistCistIyBiNF9wZXJjZW50X2RlZmluZV9pZl9kZWZpbmUoTkFNRSwgW1ZBUklBQkxFID0g
TkFNRV0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCistIyBEZWZpbmUgYjRfTkFNRV9pZiB0aGF0IGV4ZWN1dGVzIGl0cyAkMSBvciAkMiBk
ZXBlbmRpbmcgd2hldGhlcgorLSMgVkFSSUFCTEUgd2FzICVkZWZpbmVkLiAgVGhlIGNoYXJhY3Rl
cnMgJy4nIGFuZCBgLScgaW4gVkFSSUFCTEUgYXJlIG1hcHBlZAorLSMgdG8gJ18nLgorLW00X2Rl
ZmluZShbX2I0X3BlcmNlbnRfZGVmaW5lX2lmX2RlZmluZV0sCistW200X2RlZmluZShtNF9icGF0
c3Vic3QoW2I0XyQxX2lmXSwgW1stLl1dLCBbX10pLAorLSAgICAgICAgICAgW2I0X3BlcmNlbnRf
ZGVmaW5lX2ZsYWdfaWYobTRfZGVmYXVsdChbJDJdLCBbJDFdKSwKKy0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFskM10sIFskNF0pXSldKQorLW00X2RlZmluZShbYjRfcGVy
Y2VudF9kZWZpbmVfaWZfZGVmaW5lXSwKKy1bYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdChbbTRf
ZGVmYXVsdChbJDJdLCBbJDFdKV0sIFtbZmFsc2VdXSkKKy1fYjRfcGVyY2VudF9kZWZpbmVfaWZf
ZGVmaW5lKFskMV0sIFskMl0sICRbMV0sICRbMl0pXSkKKy0KKy0KKy0jIGI0X3BlcmNlbnRfZGVm
aW5lX2NoZWNrX2tpbmQoVkFSSUFCTEUsIEtJTkQsIFtESUFHTk9TVElDID0gY29tcGxhaW5dKQor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9jaGVja19raW5k
XSwKKy1bX2I0X3BlcmNlbnRfZGVmaW5lX2lmZGVmKFskMV0sCistICBbbTRfaWYoYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0X2tpbmQoWyQxXSksIFskMl0sIFtdLAorLSAgICBbYjRfZXJyb3IoW200X2Rl
ZmF1bHQoWyQzXSwgW2NvbXBsYWluXSldLAorLSAgICAgICAgICAgICAgYjRfcGVyY2VudF9kZWZp
bmVfZ2V0X2xvYyhbJDFdKSwKKy0gICAgICAgICAgICAgIFttNF9jYXNlKFskMl0sCistICAgICAg
ICAgICAgICAgICBbY29kZV0sICAgIFtbJSVkZWZpbmUgdmFyaWFibGUgJyVzJyByZXF1aXJlcyAn
ey4uLn0nIHZhbHVlc11dLAorLSAgICAgICAgICAgICAgICAgW2tleXdvcmRdLCBbWyUlZGVmaW5l
IHZhcmlhYmxlICclcycgcmVxdWlyZXMga2V5d29yZCB2YWx1ZXNdXSwKKy0gICAgICAgICAgICAg
ICAgIFtzdHJpbmddLCAgW1slJWRlZmluZSB2YXJpYWJsZSAnJXMnIHJlcXVpcmVzICciLi4uIicg
dmFsdWVzXV0pXSwKKy0gICAgICAgICAgICAgIFskMV0pXSldKWRubAorLV0pCistCistCistIyBi
NF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXMoVkFMVUVTKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIE1pbWljIG11c2NsZV9wZXJjZW50X2RlZmluZV9j
aGVja192YWx1ZXMgaW4gLi4vc3JjL211c2NsZS10YWIuaCBleGFjdGx5CistIyBleGNlcHQgdGhh
dCB0aGUgVkFMVUVTIHN0cnVjdHVyZSBpcyBtb3JlIGFwcHJvcHJpYXRlIGZvciBNNC4gIFRoYXQg
aXMsIFZBTFVFUworLSMgaXMgYSBsaXN0IG9mIHN1Ymxpc3RzIG9mIHN0cmluZ3MuICBGb3IgZWFj
aCBzdWJsaXN0LCB0aGUgZmlyc3Qgc3RyaW5nIGlzIHRoZQorLSMgbmFtZSBvZiBhICVkZWZpbmUg
dmFyaWFibGUsIGFuZCBhbGwgcmVtYWluaW5nIHN0cmluZ3MgaW4gdGhhdCBzdWJsaXN0IGFyZSB0
aGUKKy0jIHZhbGlkIHZhbHVlcyBmb3IgdGhhdCB2YXJpYWJsZS4gIENvbXBsYWluIGlmIHN1Y2gg
YSB2YXJpYWJsZSBpcyB1bmRlZmluZWQgKGEKKy0jIEJpc29uIGVycm9yIHNpbmNlIHRoZSBkZWZh
dWx0IHZhbHVlIHNob3VsZCBoYXZlIGJlZW4gc2V0IGFscmVhZHkpIG9yIGRlZmluZWQKKy0jIHRv
IGFueSBvdGhlciB2YWx1ZSAocG9zc2libHkgYSB1c2VyIGVycm9yKS4gIERvbid0IHJlY29yZCB0
aGlzIGFzIGEgQmlzb24KKy0jIHVzYWdlIG9mIHRoZSB2YXJpYWJsZSBhcyB0aGVyZSdzIG5vIHJl
YXNvbiB0byBzdXNwZWN0IHRoYXQgdGhlIHZhbHVlIGhhcyB5ZXQKKy0jIGluZmx1ZW5jZWQgdGhl
IG91dHB1dC4KKy0jCistIyBGb3IgZXhhbXBsZToKKy0jCistIyAgIGI0X3BlcmNlbnRfZGVmaW5l
X2NoZWNrX3ZhbHVlcyhbW1tbZm9vXV0sIFtbZm9vLXZhbHVlMV1dLCBbW2Zvby12YWx1ZTJdXV1d
LAorLSMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1tbW2Jhcl1dLCBbW2Jhci12
YWx1ZTFdXV1dKQorLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfdmFsdWVzXSwK
Ky1bbTRfZm9yZWFjaChbYjRfc3VibGlzdF0sIG00X3F1b3RlKCRAKSwKKy0gICAgICAgICAgICBb
X2I0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlcyhiNF9zdWJsaXN0KV0pXSkKKy0KKy1tNF9k
ZWZpbmUoW19iNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXNdLAorLVtfYjRfcGVyY2VudF9k
ZWZpbmVfaWZkZWYoWyQxXSwKKy0gIFtiNF9wZXJjZW50X2RlZmluZV9jaGVja19raW5kKF0kMVss
IFtrZXl3b3JkXSwgW2RlcHJlY2F0ZWRdKWRubAorLSAgIG00X3B1c2hkZWYoW2I0X2dvb2RfdmFs
dWVdLCBbMF0pZG5sCistICAgbTRfaWYoJCMsIDEsIFtdLAorLSAgICAgICAgIFttNF9mb3JlYWNo
KFtiNF92YWx1ZV0sIG00X2RxdW90ZShtNF9zaGlmdCgkQCkpLAorLSAgICAgICAgICAgICAgICAg
ICAgIFttNF9pZihtNF9pbmRpcihbYjRfcGVyY2VudF9kZWZpbmUoXSQxWyldKSwgYjRfdmFsdWUs
CistICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttNF9kZWZpbmUoW2I0X2dvb2RfdmFsdWVd
LCBbMV0pXSldKV0pZG5sCistICAgbTRfaWYoYjRfZ29vZF92YWx1ZSwgWzBdLAorLSAgICAgICAg
IFtiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50X2RlZmluZV9nZXRfbG9jKFskMV0pLAorLSAgICAg
ICAgICAgICAgICAgICAgICAgICBbW2ludmFsaWQgdmFsdWUgZm9yICUlZGVmaW5lIHZhcmlhYmxl
ICclcyc6ICclcyddXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgWyQxXSwKKy0gICAgICAg
ICAgICAgICAgICAgICAgICAgbTRfZHF1b3RlKG00X2luZGlyKFtiNF9wZXJjZW50X2RlZmluZShd
JDFbKV0pKSkKKy0gICAgICAgICAgbTRfZm9yZWFjaChbYjRfdmFsdWVdLCBtNF9kcXVvdGUobTRf
c2hpZnQoJEApKSwKKy0gICAgICAgICAgICAgICAgICAgICBbYjRfZXJyb3IoW1tub3RlXV0sIGI0
X3BlcmNlbnRfZGVmaW5lX2dldF9sb2MoWyQxXSksIFtdCistICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFtbYWNjZXB0ZWQgdmFsdWU6ICclcyddXSwKKy0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbTRfZHF1b3RlKGI0X3ZhbHVlKSldKV0pZG5sCistICAg
bTRfcG9wZGVmKFtiNF9nb29kX3ZhbHVlXSldLAorLSAgW2I0X2ZhdGFsKFtbJDA6IHVuZGVmaW5l
ZCAlJWRlZmluZSB2YXJpYWJsZSAnJXMnXV0sIFskMV0pXSldKQorLQorLSMgYjRfcGVyY2VudF9j
b2RlX2dldChbUVVBTElGSUVSXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CistIyBJZiBhbnkgJWNvZGUgYmxvY2tzIGZvciBRVUFMSUZJRVIgYXJlIGRlZmluZWQsIGVtaXQg
dGhlbSBiZWdpbm5pbmcgd2l0aCBhCistIyBjb21tZW50IGFuZCBlbmRpbmcgd2l0aCBzeW5jbGlu
ZXMgYW5kIGEgbmV3bGluZS4gIElmIFFVQUxJRklFUiBpcyBub3QKKy0jIHNwZWNpZmllZCBvciBl
bXB0eSwgZG8gdGhpcyBmb3IgdGhlIHVucXVhbGlmaWVkICVjb2RlIGJsb2Nrcy4gIEFsc28sIHJl
Y29yZAorLSMgQmlzb24ncyB1c2FnZSBvZiBRVUFMSUZJRVIgKGlmIHNwZWNpZmllZCkgYnkgZGVm
aW5pbmcKKy0jIGI0X3BlcmNlbnRfY29kZV9iaXNvbl9xdWFsaWZpZXJzKFFVQUxJRklFUikuCist
IworLSMgRm9yIGV4YW1wbGUsIHRvIGVtaXQgYW55IHVucXVhbGlmaWVkICVjb2RlIGJsb2NrcyBm
b2xsb3dlZCBieSBhbnkgJWNvZGUKKy0jIGJsb2NrcyBmb3IgdGhlIHF1YWxpZmllciBmb286Cist
IworLSMgICBiNF9wZXJjZW50X2NvZGVfZ2V0CistIyAgIGI0X3BlcmNlbnRfY29kZV9nZXQoW1tm
b29dXSkKKy1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfY29kZV9nZXRdLAorLVttNF9wdXNoZGVmKFti
NF9tYWNyb19uYW1lXSwgW1tiNF9wZXJjZW50X2NvZGUoXSQxWyldXSlkbmwKKy1tNF9pZnZhbChb
JDFdLCBbbTRfZGVmaW5lKFtiNF9wZXJjZW50X2NvZGVfYmlzb25fcXVhbGlmaWVycyhdJDFbKV0p
XSlkbmwKKy1tNF9pZmRlZihiNF9tYWNyb19uYW1lLAorLVtiNF9jb21tZW50KFttNF9pZihbJCNd
LCBbMF0sIFtbVW5xdWFsaWZpZWQgJWNvZGVdXSwKKy0gICAgICAgICAgICAgICAgICAgW1siJWNv
ZGUgXSQxWyJdXSlbIGJsb2Nrcy5dXSkKKy1iNF91c2VyX2NvZGUoW200X2luZGlyKGI0X21hY3Jv
X25hbWUpXSkKKy1dKWRubAorLW00X3BvcGRlZihbYjRfbWFjcm9fbmFtZV0pXSkKKy0KKy0jIGI0
X3BlcmNlbnRfY29kZV9pZmRlZihRVUFMSUZJRVIsIElGLVRSVUUsIFtJRi1GQUxTRV0pCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
SWYgYW55ICVjb2RlIGJsb2NrcyBmb3IgUVVBTElGSUVSIChvciB1bnF1YWxpZmllZCAlY29kZSBi
bG9ja3MgaWYKKy0jIFFVQUxJRklFUiBpcyBlbXB0eSkgYXJlIGRlZmluZWQsIGV4cGFuZCBJRi1U
UlVFLCBlbHNlIGV4cGFuZCBJRi1GQUxTRS4KKy0jIEFsc28sIHJlY29yZCBCaXNvbidzIHVzYWdl
IG9mIFFVQUxJRklFUiAoaWYgc3BlY2lmaWVkKSBieSBkZWZpbmluZworLSMgYjRfcGVyY2VudF9j
b2RlX2Jpc29uX3F1YWxpZmllcnMoUVVBTElGSUVSKS4KKy1tNF9kZWZpbmUoW2I0X3BlcmNlbnRf
Y29kZV9pZmRlZl0sCistW200X2lmZGVmKFtiNF9wZXJjZW50X2NvZGUoXSQxWyldLAorLSAgICAg
ICAgICBbbTRfaWZ2YWwoWyQxXSwgW200X2RlZmluZShbYjRfcGVyY2VudF9jb2RlX2Jpc29uX3F1
YWxpZmllcnMoXSQxWyldKV0pJDJdLAorLSAgICAgICAgICBbJDNdKV0pCistCistCistIyMgLS0t
LS0tLS0tLS0tLS0tLS0tICMjCistIyMgQ29tbW9uIHZhcmlhYmxlcy4gICMjCistIyMgLS0tLS0t
LS0tLS0tLS0tLS0tICMjCistCistCistIyBiNF9wYXJzZV9hc3NlcnRfaWYoW0lGLUFTU0VSVElP
TlMtQVJFLVVTRURdLCBbSUYtTk9UXSkKKy0jIGI0X3BhcnNlX3RyYWNlX2lmKFtJRi1ERUJVRy1U
UkFDRVMtQVJFLUVOQUJMRURdLCBbSUYtTk9UXSkKKy0jIGI0X3Rva2VuX2N0b3JfaWYoW0lGLVlZ
TEVYLVJFVFVSTlMtQS1UT0tFTl0sIFtJRi1OT1RdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWI0X3BlcmNlbnRfZGVmaW5l
X2lmX2RlZmluZShbdG9rZW5fY3Rvcl0sIFthcGkudG9rZW4uY29uc3RydWN0b3JdKQorLWI0X3Bl
cmNlbnRfZGVmaW5lX2lmX2RlZmluZShbbG9jYXRpb25zXSkgICAgICMgV2hldGhlciBsb2NhdGlv
bnMgYXJlIHRyYWNrZWQuCistYjRfcGVyY2VudF9kZWZpbmVfaWZfZGVmaW5lKFtwYXJzZS5hc3Nl
cnRdKQorLWI0X3BlcmNlbnRfZGVmaW5lX2lmX2RlZmluZShbcGFyc2UudHJhY2VdKQorLQorLQor
LSMgYjRfYmlzb25fbG9jYXRpb25zX2lmKFtJRi1UUlVFXSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBFeHBhbmQgSUYtVFJVRSBpZiB1c2luZyBsb2NhdGlvbnMsIGFu
ZCB1c2luZyB0aGUgZGVmYXVsdCBsb2NhdGlvbgorLSMgdHlwZS4KKy1tNF9kZWZpbmUoW2I0X2Jp
c29uX2xvY2F0aW9uc19pZl0sCistW2I0X2xvY2F0aW9uc19pZihbYjRfcGVyY2VudF9kZWZpbmVf
aWZkZWYoW1thcGkubG9jYXRpb24udHlwZV1dLCBbXSwgWyQxXSldKV0pCistCistCistIyBiNF9l
cnJvcl92ZXJib3NlX2lmKFtJRi1FUlJPUlMtQVJFLVZFUkJPU0VdLCBbSUYtTk9UXSkKKy0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
TWFwICVkZWZpbmUgcGFyc2UuZXJyb3IgIihzaW1wbGV8dmVyYm9zZSkiIHRvIGI0X2Vycm9yX3Zl
cmJvc2VfaWYgYW5kCistIyBiNF9lcnJvcl92ZXJib3NlX2ZsYWcuCistYjRfcGVyY2VudF9kZWZp
bmVfZGVmYXVsdChbW3BhcnNlLmVycm9yXV0sIFtbc2ltcGxlXV0pCistYjRfcGVyY2VudF9kZWZp
bmVfY2hlY2tfdmFsdWVzKFtbW1twYXJzZS5lcnJvcl1dLAorLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFtbc2ltcGxlXV0sIFtbdmVyYm9zZV1dXV0pCistbTRfZGVmaW5lKFtiNF9l
cnJvcl92ZXJib3NlX2ZsYWddLAorLSAgICAgICAgICBbbTRfY2FzZShiNF9wZXJjZW50X2RlZmlu
ZV9nZXQoW1twYXJzZS5lcnJvcl1dKSwKKy0gICAgICAgICAgICAgICAgICAgW3NpbXBsZV0sICBb
WzBdXSwKKy0gICAgICAgICAgICAgICAgICAgW3ZlcmJvc2VdLCBbWzFdXSldKQorLWI0X2RlZmlu
ZV9mbGFnX2lmKFtlcnJvcl92ZXJib3NlXSkKKy0KKy0jIHl5dG9rZW5fdGFibGUgaXMgbmVlZGVk
IHRvIHN1cHBvcnQgdmVyYm9zZSBlcnJvcnMuCistYjRfZXJyb3JfdmVyYm9zZV9pZihbbTRfZGVm
aW5lKFtiNF90b2tlbl90YWJsZV9mbGFnXSwgWzFdKV0pCistCistCistIyBiNF92YXJpYW50X2lm
KFtJRi1WQVJJQU5ULUFSRS1VU0VEXSwgW0lGLU5PVF0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistYjRfcGVyY2VudF9kZWZpbmVfaWZfZGVmaW5l
KFt2YXJpYW50XSkKKy1tNF9kZWZpbmUoW2I0X3ZhcmlhbnRfZmxhZ10sIFtbMF1dKQorLWI0X3Bl
cmNlbnRfZGVmaW5lX2lmZGVmKFtbYXBpLnZhbHVlLnR5cGVdXSwKKy0gICBbbTRfY2FzZShiNF9w
ZXJjZW50X2RlZmluZV9nZXRfa2luZChbW2FwaS52YWx1ZS50eXBlXV0pLCBba2V5d29yZF0sCist
ICAgICAgICAgICAgW200X2Nhc2UoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbYXBpLnZhbHVlLnR5
cGVdXSksIFt2YXJpYW50XSwKKy0gICAgICAgICAgICAgICAgICAgIFttNF9kZWZpbmUoW2I0X3Zh
cmlhbnRfZmxhZ10sIFtbMV1dKV0pXSldKQorLWI0X2RlZmluZV9mbGFnX2lmKFt2YXJpYW50XSkK
Ky0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSAjIworLSMjIEFmdGVyIHByb2Nlc3NpbmcgdGhlIHNrZWxldG9ucywgY2hl
Y2sgdGhhdCBhbGwgdGhlIHVzZXIncyAgICMjCistIyMgJWRlZmluZSB2YXJpYWJsZXMgYW5kICVj
b2RlIHF1YWxpZmllcnMgd2VyZSB1c2VkIGJ5IEJpc29uLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLW00
X2RlZmluZShbYjRfY2hlY2tfdXNlcl9uYW1lc193cmFwXSwKKy1bbTRfaWZkZWYoW2I0X3BlcmNl
bnRfXSQxW191c2VyX10kMltzXSwKKy0gICAgICAgICAgW2I0X2NoZWNrX3VzZXJfbmFtZXMoW1sl
XSQxICQyXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2I0X3BlcmNlbnRfXSQx
W191c2VyX10kMltzXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1tiNF9wZXJj
ZW50X10kMVtfYmlzb25fXSQyW3NdXSldKV0pCistCistbTRfd3JhcF9saWZvKFsKKy1iNF9jaGVj
a191c2VyX25hbWVzX3dyYXAoW1tkZWZpbmVdXSwgW1t2YXJpYWJsZV1dKQorLWI0X2NoZWNrX3Vz
ZXJfbmFtZXNfd3JhcChbW2NvZGVdXSwgW1txdWFsaWZpZXJdXSkKKy1dKQorLQorLQorLSMjIC0t
LS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBEZWZhdWx0IHZhbHVlcy4gICMjCistIyMgLS0tLS0tLS0t
LS0tLS0tLSAjIworLQorLSMgbTRfZGVmaW5lX2RlZmF1bHQoW2I0X2xleF9wYXJhbV0sIFtdKSAg
IGRubCBicmVha3Mgb3RoZXIgc2tlbGV0b25zCistbTRfZGVmaW5lX2RlZmF1bHQoW2I0X2VwaWxv
Z3VlXSwgW10pCistbTRfZGVmaW5lX2RlZmF1bHQoW2I0X3BhcnNlX3BhcmFtXSwgW10pCistCist
IyBUaGUgaW5pdGlhbCBjb2x1bW4gYW5kIGxpbmUuCistbTRfZGVmaW5lX2RlZmF1bHQoW2I0X2xv
Y2F0aW9uX2luaXRpYWxfY29sdW1uXSwgWzFdKQorLW00X2RlZmluZV9kZWZhdWx0KFtiNF9sb2Nh
dGlvbl9pbml0aWFsX2xpbmVdLCAgIFsxXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0gIyMK
Ky0jIyBTYW5pdHkgY2hlY2tzLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0jIGFw
aS5sb2NhdGlvbi5wcmVmaXg9ey4uLn0gKEphdmEgYW5kIEMrKykuCistYjRfcGVyY2VudF9kZWZp
bmVfY2hlY2tfa2luZChbYXBpLmxvY2F0aW9uLnR5cGVdLCBbY29kZV0sIFtkZXByZWNhdGVkXSkK
Ky0KKy0jIGFwaS5wb3NpdGlvbi5wcmVmaXg9ey4uLn0gKEphdmEpLgorLWI0X3BlcmNlbnRfZGVm
aW5lX2NoZWNrX2tpbmQoW2FwaS5wb3NpdGlvbi50eXBlXSwgW2NvZGVdLCBbZGVwcmVjYXRlZF0p
CistCistIyBhcGkucHJlZml4ID48ICVuYW1lLXByZWZpeC4KKy1iNF9wZXJjZW50X2RlZmluZV9j
aGVja19raW5kKFthcGkucHJlZml4XSwgW2NvZGVdLCBbZGVwcmVjYXRlZF0pCistYjRfcGVyY2Vu
dF9kZWZpbmVfaWZkZWYoW2FwaS5wcmVmaXhdLAorLVttNF9pZmRlZihbYjRfcHJlZml4XSwKKy1b
YjRfY29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhbYXBpLnByZWZpeF0pLAor
LSAgICAgICAgICAgICAgICBbWyclcycgYW5kICclcycgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXJd
XSwKKy0gICAgICAgICAgICAgICAgWyVuYW1lLXByZWZpeF0sCistICAgICAgICAgICAgICAgIFsl
ZGVmaW5lIGFwaS5wcmVmaXhdKV0pXSkKKy0KKy0jIGFwaS50b2tlbi5wcmVmaXg9ey4uLn0KKy0j
IE1ha2UgaXQgYSB3YXJuaW5nIGZvciB0aG9zZSB3aG8gdXNlZCBiZXRhcyBvZiBCaXNvbiAzLjAu
CistYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfa2luZChbYXBpLnRva2VuLnByZWZpeF0sIFtjb2Rl
XSwgW2RlcHJlY2F0ZWRdKQorLQorLSMgYXBpLnZhbHVlLnR5cGUgPjwgJXVuaW9uLgorLWI0X3Bl
cmNlbnRfZGVmaW5lX2lmZGVmKFthcGkudmFsdWUudHlwZV0sCistW200X2lmZGVmKFtiNF91bmlv
bl9tZW1iZXJzXSwKKy1bYjRfY29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhb
YXBpLnZhbHVlLnR5cGVdKSwKKy0gICAgICAgICAgICAgICAgW1snJXMnIGFuZCAnJXMnIGNhbm5v
dCBiZSB1c2VkIHRvZ2V0aGVyXV0sCistICAgICAgICAgICAgICAgIFsldW5pb25dLAorLSAgICAg
ICAgICAgICAgICBbJWRlZmluZSBhcGkudmFsdWUudHlwZV0pXSldKQorLQorLSMgYXBpLnZhbHVl
LnR5cGU9dW5pb24gPjwgJXlhY2MuCistYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoW2FwaS52YWx1
ZS50eXBlXSwKKy1bbTRfaWYoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFthcGkudmFsdWUudHlwZV0p
LCBbdW5pb25dLAorLVtiNF95YWNjX2lmKGRubAorLVtiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50
X2RlZmluZV9nZXRfbG9jKFthcGkudmFsdWUudHlwZV0pLAorLSAgICAgICAgICAgICAgICBbWycl
cycgYW5kICclcycgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXJdXSwKKy0gICAgICAgICAgICAgICAg
WyV5YWNjXSwKKy0gICAgICAgICAgICAgICAgWyVkZWZpbmUgYXBpLnZhbHVlLnR5cGUgInVuaW9u
Il0pXSldKV0pCistCistIyBhcGkudmFsdWUudW5pb24ubmFtZS4KKy1iNF9wZXJjZW50X2RlZmlu
ZV9jaGVja19raW5kKFthcGkudmFsdWUudW5pb24ubmFtZV0sIFtrZXl3b3JkXSkKK2RpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5
L3NrZWxldG9ucy9jLWxpa2UubTQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9jLWxpa2UubTQKK2RlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAoraW5kZXggOGQ4OTFiNjdlZjkuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9jLWxp
a2UubTQKKysrKyAvZGV2L251bGwKK0BAIC0xLDY2ICswLDAgQEAKKy0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYg
LSotCistCistIyBDb21tb24gY29kZSBmb3IgQy1saWtlIGxhbmd1YWdlcyAoQywgQysrLCBKYXZh
LCBldGMuKQorLQorLSMgQ29weXJpZ2h0IChDKSAyMDEyLTIwMTUsIDIwMTgtMjAxOSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0KKy0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3
YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eQorLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0
aGUgTGljZW5zZSwgb3IKKy0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCist
IworLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCistIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSMgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0jCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgYWxvbmcgd2l0aCB0
aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u
CistCistIyBfYjRfY29tbWVudChURVhULCBPUEVOLCBDT05USU5VRSwgRU5EKQorLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFB1dCBURVhUIGluIGNvbW1lbnQu
ICBBdm9pZCB0cmFpbGluZyBzcGFjZXM6IGRvbid0IGluZGVudCBlbXB0eSBsaW5lcy4KKy0jIEF2
b2lkIGFkZGluZyBpbmRlbnRhdGlvbiB0byB0aGUgZmlyc3QgbGluZSwgYXMgdGhlIGluZGVudGF0
aW9uIGNvbWVzCistIyBmcm9tIE9QRU4uICBUaGF0J3Mgd2h5IHdlIGRvbid0IHBhdHN1YnN0KFsk
MV0sIFteXCguXCldLCBbICAgXDFdKS4KKy0jCistIyBQcmVmaXggYWxsIHRoZSBvdXRwdXQgbGlu
ZXMgd2l0aCBQUkVGSVguCistbTRfZGVmaW5lKFtfYjRfY29tbWVudF0sCistWyQyW11tNF9icGF0
c3Vic3QobTRfZXhwYW5kKFtbJDFdXSksIFsKKy1cKC5cKV0sIFsKKy0kM1wxXSkkNF0pCistCist
CistIyBiNF9jb21tZW50KFRFWFQsIFtQUkVGSVhdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIFB1dCBURVhUIGluIGNvbW1lbnQuICBQcmVmaXggYWxsIHRoZSBvdXRwdXQgbGlu
ZXMgd2l0aCBQUkVGSVguCistbTRfZGVmaW5lKFtiNF9jb21tZW50XSwKKy1bX2I0X2NvbW1lbnQo
WyQxXSwgWyQyLyogXSwgWyQyICAgXSwgWyAgKi9dKV0pCistCistCistCistCistIyBfYjRfZG9s
bGFyX2RvbGxhcihWQUxVRSwgU1lNQk9MLU5VTSwgRklFTEQsIERFRkFVTFQtRklFTEQpCistIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CistIyBJZiBGSUVMRCAob3IgREVGQVVMVC1GSUVMRCkgaXMgbm9uLW51bGwsIHJldHVybiAiVkFM
VUUuRklFTEQiLAorLSMgb3RoZXJ3aXNlIGp1c3QgVkFMVUUuICBCZSBzdXJlIHRvIHBhc3MgIihW
QUxVRSkiIGlmIFZBTFVFIGlzIGEKKy0jIHBvaW50ZXIuCistbTRfZGVmaW5lKFtfYjRfZG9sbGFy
X2RvbGxhcl0sCistW2I0X3N5bWJvbF92YWx1ZShbJDFdLAorLSAgICAgICAgICAgICAgICAgWyQy
XSwKKy0gICAgICAgICAgICAgICAgIG00X2lmKFskM10sIFtbXV0sCistICAgICAgICAgICAgICAg
ICAgICAgICBbWyQ0XV0sIFtbJDNdXSkpXSkKKy0KKy0jIGI0X2RvbGxhcl9wdXNoZGVmKFZBTFVF
LVBPSU5URVIsIFNZTUJPTC1OVU0sIFtUWVBFX1RBR10sIExPQ0FUSU9OKQorLSMgYjRfZG9sbGFy
X3BvcGRlZgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWZpbmUgYjRfZG9sbGFyX2RvbGxhciBmb3IgVkFM
VUUtUE9JTlRFUiBhbmQgREVGQVVMVC1GSUVMRCwKKy0jIGFuZCBiNF9hdF9kb2xsYXIgZm9yIExP
Q0FUSU9OLgorLW00X2RlZmluZShbYjRfZG9sbGFyX3B1c2hkZWZdLAorLVttNF9wdXNoZGVmKFti
NF9kb2xsYXJfZG9sbGFyXSwKKy0gICAgICAgICAgICBbX2I0X2RvbGxhcl9kb2xsYXIoWyQxXSwg
WyQyXSwgbTRfZHF1b3RlKCRdWzEpLCBbJDNdKV0pZG5sCistbTRfcHVzaGRlZihbYjRfYXRfZG9s
bGFyXSwgWyQ0XSlkbmwKKy1dKQorLW00X2RlZmluZShbYjRfZG9sbGFyX3BvcGRlZl0sCistW200
X3BvcGRlZihbYjRfYXRfZG9sbGFyXSlkbmwKKy1tNF9wb3BkZWYoW2I0X2RvbGxhcl9kb2xsYXJd
KWRubAorLV0pCitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxl
eC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvYy5tNCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2MubTQKK2RlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggM2NkZTA0YTk1NzEuLjAwMDAwMDAwMDAwCistLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxl
dG9ucy9jLm00CisrKysgL2Rldi9udWxsCitAQCAtMSw4ODMgKzAsMCBAQAorLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRv
Y29uZiAtKi0KKy0KKy0jIEMgTTQgTWFjcm9zIGZvciBCaXNvbi4KKy0KKy0jIENvcHlyaWdodCAo
QykgMjAwMiwgMjAwNC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAor
LSMgSW5jLgorLQorLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistIyB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor
LSMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0jCistIyBUaGlzIHByb2dy
YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0j
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCistIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorLSMKKy0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm
IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKy0KKy1tNF9pbmNsdWRl
KGI0X3NrZWxldG9uc2Rpci9bYy1saWtlLm00XSkKKy0KKy0jIGI0X3RvY3BwKFNUUklORykKKy0j
IC0tLS0tLS0tLS0tLS0tLS0KKy0jIENvbnZlcnQgU1RSSU5HIGludG8gYSB2YWxpZCBDIG1hY3Jv
IG5hbWUuCistbTRfZGVmaW5lKFtiNF90b2NwcF0sCistW200X3RvdXBwZXIobTRfYnBhdHN1YnN0
KG00X3F1b3RlKCQxKSwgW1teYS16QS1aMC05XStdLCBbX10pKV0pCistCistCistIyBiNF9jcHBf
Z3VhcmQoRklMRSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQSB2YWxpZCBDIG1hY3JvIG5h
bWUgdG8gdXNlIGFzIGEgQ1BQIGhlYWRlciBndWFyZCBmb3IgRklMRS4KKy1tNF9kZWZpbmUoW2I0
X2NwcF9ndWFyZF0sCistW1tZWV9dYjRfdG9jcHAobTRfZGVmbihbYjRfcHJlZml4XSkvWyQxXSlb
X0lOQ0xVREVEXV0pCistCistCistIyBiNF9jcHBfZ3VhcmRfb3BlbihGSUxFKQorLSMgYjRfY3Bw
X2d1YXJkX2Nsb3NlKEZJTEUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIElmIEZJ
TEUgZG9lcyBub3QgZXhwYW5kIHRvIG5vdGhpbmcsIG9wZW4vY2xvc2UgQ1BQIGluY2x1c2lvbiBn
dWFyZHMgZm9yIEZJTEUuCistbTRfZGVmaW5lKFtiNF9jcHBfZ3VhcmRfb3Blbl0sCistW200X2lm
dmFsKG00X3F1b3RlKCQxKSwKKy1bI2lmbmRlZiBiNF9jcHBfZ3VhcmQoWyQxXSkKKy0jIGRlZmlu
ZSBiNF9jcHBfZ3VhcmQoWyQxXSldKV0pCistCistbTRfZGVmaW5lKFtiNF9jcHBfZ3VhcmRfY2xv
c2VdLAorLVttNF9pZnZhbChtNF9xdW90ZSgkMSksCistWyNlbmRpZiBiNF9jb21tZW50KFshYjRf
Y3BwX2d1YXJkKFskMV0pXSldKV0pCistCistCistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLSMj
IElkZW50aWZpY2F0aW9uLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCistCistIyBiNF9p
ZGVudGlmaWNhdGlvbgorLSMgLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlcGVuZHMgb24gaW5kaXZp
ZHVhbCBza2VsZXRvbnMgdG8gZGVmaW5lIGI0X3B1cmVfZmxhZywgYjRfcHVzaF9mbGFnLCBvcgor
LSMgYjRfcHVsbF9mbGFnIGlmIHRoZXkgdXNlIHRoZSB2YWx1ZXMgb2YgdGhlICVkZWZpbmUgdmFy
aWFibGVzIGFwaS5wdXJlIG9yCistIyBhcGkucHVzaC1wdWxsLgorLW00X2RlZmluZShbYjRfaWRl
bnRpZmljYXRpb25dLAorLVtbLyogSWRlbnRpZnkgQmlzb24gb3V0cHV0LiAgKi8KKy0jZGVmaW5l
IFlZQklTT04gMQorLQorLS8qIEJpc29uIHZlcnNpb24uICAqLworLSNkZWZpbmUgWVlCSVNPTl9W
RVJTSU9OICJdYjRfdmVyc2lvblsiCistCistLyogU2tlbGV0b24gbmFtZS4gICovCistI2RlZmlu
ZSBZWVNLRUxFVE9OX05BTUUgXWI0X3NrZWxldG9uW11tNF9pZmRlZihbYjRfcHVyZV9mbGFnXSwg
W1sKKy0KKy0vKiBQdXJlIHBhcnNlcnMuICAqLworLSNkZWZpbmUgWVlQVVJFIF1iNF9wdXJlX2Zs
YWddKVtdbTRfaWZkZWYoW2I0X3B1c2hfZmxhZ10sIFtbCistCistLyogUHVzaCBwYXJzZXJzLiAg
Ki8KKy0jZGVmaW5lIFlZUFVTSCBdYjRfcHVzaF9mbGFnXSlbXW00X2lmZGVmKFtiNF9wdWxsX2Zs
YWddLCBbWworLQorLS8qIFB1bGwgcGFyc2Vycy4gICovCistI2RlZmluZSBZWVBVTEwgXWI0X3B1
bGxfZmxhZ10pWworLV1dKQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBEZWZh
dWx0IHZhbHVlcy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgYjRfYXBpX3By
ZWZpeCwgYjRfYXBpX1BSRUZJWAorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
Q29ycmVzcG9uZHMgdG8gJWRlZmluZSBhcGkucHJlZml4CistYjRfcGVyY2VudF9kZWZpbmVfZGVm
YXVsdChbW2FwaS5wcmVmaXhdXSwgW1t5eV1dKQorLW00X2RlZmluZShbYjRfYXBpX3ByZWZpeF0s
CistW2I0X3BlcmNlbnRfZGVmaW5lX2dldChbW2FwaS5wcmVmaXhdXSldKQorLW00X2RlZmluZShb
YjRfYXBpX1BSRUZJWF0sCistW200X3RvdXBwZXIoYjRfYXBpX3ByZWZpeCldKQorLQorLQorLSMg
YjRfcHJlZml4CistIyAtLS0tLS0tLS0KKy0jIElmIHRoZSAlbmFtZS1wcmVmaXggaXMgbm90IGdp
dmVuLCBpdCBpcyBhcGkucHJlZml4LgorLW00X2RlZmluZV9kZWZhdWx0KFtiNF9wcmVmaXhdLCBb
YjRfYXBpX3ByZWZpeF0pCistCistIyBJZiB0aGUgJXVuaW9uIGlzIG5vdCBuYW1lZCwgaXRzIG5h
bWUgaXMgWVlTVFlQRS4KKy1iNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbYXBpLnZhbHVlLnVu
aW9uLm5hbWVdXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFtiNF9hcGlfUFJFRklYW11b
U1RZUEVdXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBQdXJl
L2ltcHVyZSBpbnRlcmZhY2VzLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMK
Ky0KKy0jIGI0X2xleF9mb3JtYWxzCistIyAtLS0tLS0tLS0tLS0tLQorLSMgQWxsIHRoZSB5eWxl
eCBmb3JtYWwgYXJndW1lbnRzLgorLSMgYjRfbGV4X3BhcmFtIGFycml2ZXMgcXVvdGVkIHR3aWNl
LCBidXQgd2Ugd2FudCB0byBrZWVwIG9ubHkgb25lIGxldmVsLgorLW00X2RlZmluZShbYjRfbGV4
X2Zvcm1hbHNdLAorLVtiNF9wdXJlX2lmKFtbW1tZWVNUWVBFICp5eWx2YWxwXV0sIFtbJnl5bHZh
bF1dXVtdZG5sCistYjRfbG9jYXRpb25zX2lmKFssIFtbWVlMVFlQRSAqeXlsbG9jcF0sIFsmeXls
bG9jXV1dKV0pZG5sCistbTRfaWZkZWYoW2I0X2xleF9wYXJhbV0sIFssIF1iNF9sZXhfcGFyYW0p
XSkKKy0KKy0KKy0jIGI0X2xleAorLSMgLS0tLS0tCistIyBDYWxsIHl5bGV4LgorLW00X2RlZmlu
ZShbYjRfbGV4XSwKKy1bYjRfZnVuY3Rpb25fY2FsbChbeXlsZXhdLCBbaW50XSwgYjRfbGV4X2Zv
cm1hbHMpXSkKKy0KKy0KKy0jIGI0X3VzZXJfYXJncworLSMgLS0tLS0tLS0tLS0tCistbTRfZGVm
aW5lKFtiNF91c2VyX2FyZ3NdLAorLVttNF9pZnNldChbYjRfcGFyc2VfcGFyYW1dLCBbLCBiNF9h
cmdzKGI0X3BhcnNlX3BhcmFtKV0pXSkKKy0KKy0KKy0jIGI0X3BhcnNlX3BhcmFtCistIyAtLS0t
LS0tLS0tLS0tLQorLSMgSWYgZGVmaW5lZCwgYjRfcGFyc2VfcGFyYW0gYXJyaXZlcyBkb3VibGUg
cXVvdGVkLCBidXQgYmVsb3cgd2UgcHJlZmVyCistIyBpdCB0byBiZSBzaW5nbGUgcXVvdGVkLgor
LW00X2RlZmluZShbYjRfcGFyc2VfcGFyYW1dLAorLWI0X3BhcnNlX3BhcmFtKQorLQorLQorLSMg
YjRfcGFyc2VfcGFyYW1fZm9yKERFQ0wsIEZPUk1BTCwgQk9EWSkKKy0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSXRlcmF0ZSBvdmVyIHRoZSB1c2VyIHBhcmFt
ZXRlcnMsIGJpbmRpbmcgdGhlIGRlY2xhcmF0aW9uIHRvIERFQ0wsCistIyB0aGUgZm9ybWFsIG5h
bWUgdG8gRk9STUFMLCBhbmQgZXZhbHVhdGluZyB0aGUgQk9EWS4KKy1tNF9kZWZpbmUoW2I0X3Bh
cnNlX3BhcmFtX2Zvcl0sCistW200X2ZvcmVhY2goWyQxXyQyXSwgbTRfZGVmbihbYjRfcGFyc2Vf
cGFyYW1dKSwKKy1bbTRfcHVzaGRlZihbJDFdLCBtNF91bnF1b3RlKG00X2NhcigkMV8kMikpKWRu
bAorLW00X3B1c2hkZWYoWyQyXSwgbTRfc2hpZnQoJDFfJDIpKWRubAorLSQzW11kbmwKKy1tNF9w
b3BkZWYoWyQyXSlkbmwKKy1tNF9wb3BkZWYoWyQxXSlkbmwKKy1dKV0pCistCistIyBiNF9wYXJz
ZV9wYXJhbV91c2UoW1ZBTF0sIFtMT0NdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jICdZWVVTRScgVkFMLCBMT0MgaWYgbG9jYXRpb25zIGFyZSBlbmFibGVkLCBhbmQg
YWxsIHRoZSBwYXJzZS1wYXJhbXMuCistbTRfZGVmaW5lKFtiNF9wYXJzZV9wYXJhbV91c2VdLAor
LVttNF9pZnZhbG4oWyQxXSwgWyAgWVlVU0UgKFskMV0pO10pZG5sCistYjRfbG9jYXRpb25zX2lm
KFttNF9pZnZhbG4oWyQyXSwgWyAgWVlVU0UgKFskMl0pO10pXSlkbmwKKy1iNF9wYXJzZV9wYXJh
bV9mb3IoW0RlY2xdLCBbRm9ybWFsXSwgWyAgWVlVU0UgKEZvcm1hbCk7CistXSlkbmwKKy1dKQor
LQorLQorLSMjIC0tLS0tLS0tLS0tLSAjIworLSMjIERhdGEgVHlwZXMuICAjIworLSMjIC0tLS0t
LS0tLS0tLSAjIworLQorLSMgYjRfaW50X3R5cGUoTUlOLCBNQVgpCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIFJldHVybiB0aGUgc21hbGxlc3QgaW50IHR5cGUgYWJsZSB0byBoYW5kbGUg
bnVtYmVycyByYW5naW5nIGZyb20KKy0jIE1JTiB0byBNQVggKGluY2x1ZGVkKS4KKy1tNF9kZWZp
bmUoW2I0X2ludF90eXBlXSwKKy1bbTRfaWYoYjRfaW50c19pbigkQCwgICAgICBbMF0sICAgWzI1
NV0pLCBbMV0sIFt1bnNpZ25lZCBjaGFyXSwKKy0gICAgICAgYjRfaW50c19pbigkQCwgICBbLTEy
OF0sICAgWzEyN10pLCBbMV0sIFtzaWduZWQgY2hhcl0sCistCistICAgICAgIGI0X2ludHNfaW4o
JEAsICAgICAgWzBdLCBbNjU1MzVdKSwgWzFdLCBbdW5zaWduZWQgc2hvcnRdLAorLSAgICAgICBi
NF9pbnRzX2luKCRALCBbLTMyNzY4XSwgWzMyNzY3XSksIFsxXSwgW3Nob3J0XSwKKy0KKy0gICAg
ICAgbTRfZXZhbChbMCA8PSAkMV0pLCAgICAgICAgICAgICAgICBbMV0sIFt1bnNpZ25lZF0sCist
CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW50XSld
KQorLQorLQorLSMgYjRfaW50X3R5cGVfZm9yKE5BTUUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIFJldHVybiB0aGUgc21hbGxlc3QgaW50IHR5cGUgYWJsZSB0byBoYW5kbGUgbnVtYmVy
cyByYW5naW5nIGZyb20KKy0jICdOQU1FX21pbicgdG8gJ05BTUVfbWF4JyAoaW5jbHVkZWQpLgor
LW00X2RlZmluZShbYjRfaW50X3R5cGVfZm9yXSwKKy1bYjRfaW50X3R5cGUoJDFfbWluLCAkMV9t
YXgpXSkKKy0KKy0KKy0jIGI0X3RhYmxlX3ZhbHVlX2VxdWFscyhUQUJMRSwgVkFMVUUsIExJVEVS
QUwpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg
V2l0aG91dCBpbmR1Y2luZyBhIGNvbXBhcmlzb24gd2FybmluZyBmcm9tIHRoZSBjb21waWxlciwg
Y2hlY2sgaWYgdGhlCistIyBsaXRlcmFsIHZhbHVlIExJVEVSQUwgZXF1YWxzIFZBTFVFIGZyb20g
dGFibGUgVEFCTEUsIHdoaWNoIG11c3QgaGF2ZQorLSMgVEFCTEVfbWluIGFuZCBUQUJMRV9tYXgg
ZGVmaW5lZC4KKy1tNF9kZWZpbmUoW2I0X3RhYmxlX3ZhbHVlX2VxdWFsc10sCistW200X2lmKG00
X2V2YWwoJDMgPCBtNF9pbmRpcihbYjRfXSQxW19taW5dKQorLSAgICAgICAgICAgICAgIHx8IG00
X2luZGlyKFtiNF9dJDFbX21heF0pIDwgJDMpLCBbMV0sCistICAgICAgIFtbMF1dLAorLSAgICAg
ICBbKCEhKCgkMikgPT0gKCQzKSkpXSldKQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tICMj
CistIyMgQ29tcGlsZXIgaXNzdWVzLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLSAjIworLQor
LSMgYjRfYXR0cmlidXRlX2RlZmluZShbbm9yZXR1cm5dKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLSMgUHJvdmlkZSBwb3J0YWJsZSBjb21waWxlciAiYXR0cmlidXRlcyIu
ICBJZiAibm9yZXR1cm4iIGlzIHBhc3NlZCwgZGVmaW5lCistIyBfTm9yZXR1cm4uCistbTRfZGVm
aW5lKFtiNF9hdHRyaWJ1dGVfZGVmaW5lXSwKKy1bWyNpZm5kZWYgWVlfQVRUUklCVVRFCistIyBp
ZiAoZGVmaW5lZCBfX0dOVUNfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorLSAgICAgICYmICgyIDwgX19HTlVDX18gfHwgKF9fR05VQ19fID09IDIgJiYg
OTYgPD0gX19HTlVDX01JTk9SX18pKSkgIFwKKy0gICAgIHx8IGRlZmluZWQgX19TVU5QUk9fQyAm
JiAweDUxMTAgPD0gX19TVU5QUk9fQworLSMgIGRlZmluZSBZWV9BVFRSSUJVVEUoU3BlYykgX19h
dHRyaWJ1dGVfXyhTcGVjKQorLSMgZWxzZQorLSMgIGRlZmluZSBZWV9BVFRSSUJVVEUoU3BlYykg
LyogZW1wdHkgKi8KKy0jIGVuZGlmCistI2VuZGlmCistCistI2lmbmRlZiBZWV9BVFRSSUJVVEVf
UFVSRQorLSMgZGVmaW5lIFlZX0FUVFJJQlVURV9QVVJFICAgWVlfQVRUUklCVVRFICgoX19wdXJl
X18pKQorLSNlbmRpZgorLQorLSNpZm5kZWYgWVlfQVRUUklCVVRFX1VOVVNFRAorLSMgZGVmaW5l
IFlZX0FUVFJJQlVURV9VTlVTRUQgWVlfQVRUUklCVVRFICgoX191bnVzZWRfXykpCistI2VuZGlm
CistCistXW00X2JtYXRjaChbJDFdLCBbXGJub3JldHVyblxiXSwgW1svKiBUaGUgX05vcmV0dXJu
IGtleXdvcmQgb2YgQzExLiAgKi8KKy0jaWYgISBkZWZpbmVkIF9Ob3JldHVybgorLSMgaWYgZGVm
aW5lZCBfX2NwbHVzcGx1cyAmJiAyMDExMDNMIDw9IF9fY3BsdXNwbHVzCistIyAgZGVmaW5lIF9O
b3JldHVybiBbW25vcmV0dXJuXV0KKy0jIGVsaWYgIShkZWZpbmVkIF9fU1REQ19WRVJTSU9OX18g
JiYgMjAxMTEyIDw9IF9fU1REQ19WRVJTSU9OX18pCistIyAgaWYgKDMgPD0gX19HTlVDX18gfHwg
KF9fR05VQ19fID09IDIgJiYgOCA8PSBfX0dOVUNfTUlOT1JfXykgXAorLSAgICAgICB8fCAweDUx
MTAgPD0gX19TVU5QUk9fQykKKy0jICAgZGVmaW5lIF9Ob3JldHVybiBfX2F0dHJpYnV0ZV9fICgo
X19ub3JldHVybl9fKSkKKy0jICBlbGlmIGRlZmluZWQgX01TQ19WRVIgJiYgMTIwMCA8PSBfTVND
X1ZFUgorLSMgICBkZWZpbmUgX05vcmV0dXJuIF9fZGVjbHNwZWMgKG5vcmV0dXJuKQorLSMgIGVs
c2UKKy0jICAgZGVmaW5lIF9Ob3JldHVybgorLSMgIGVuZGlmCistIyBlbmRpZgorLSNlbmRpZgor
LQorLV1dKVsvKiBTdXBwcmVzcyB1bnVzZWQtdmFyaWFibGUgd2FybmluZ3MgYnkgInVzaW5nIiBF
LiAgKi8KKy0jaWYgISBkZWZpbmVkIGxpbnQgfHwgZGVmaW5lZCBfX0dOVUNfXworLSMgZGVmaW5l
IFlZVVNFKEUpICgodm9pZCkgKEUpKQorLSNlbHNlCistIyBkZWZpbmUgWVlVU0UoRSkgLyogZW1w
dHkgKi8KKy0jZW5kaWYKKy0KKy0jaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiAhIGRlZmluZWQgX19J
Q0MgJiYgNDA3IDw9IF9fR05VQ19fICogMTAwICsgX19HTlVDX01JTk9SX18KKy0vKiBTdXBwcmVz
cyBhbiBpbmNvcnJlY3QgZGlhZ25vc3RpYyBhYm91dCB5eWx2YWwgYmVpbmcgdW5pbml0aWFsaXpl
ZC4gICovCistIyBkZWZpbmUgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfQkVHSU4gXAor
LSAgICBfUHJhZ21hICgiR0NDIGRpYWdub3N0aWMgcHVzaCIpIFwKKy0gICAgX1ByYWdtYSAoIkdD
QyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3VuaW5pdGlhbGl6ZWRcIiIpXAorLSAgICBfUHJhZ21h
ICgiR0NDIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XbWF5YmUtdW5pbml0aWFsaXplZFwiIikKKy0j
IGRlZmluZSBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9FTkQgXAorLSAgICBfUHJhZ21h
ICgiR0NDIGRpYWdub3N0aWMgcG9wIikKKy0jZWxzZQorLSMgZGVmaW5lIFlZX0lOSVRJQUxfVkFM
VUUoVmFsdWUpIFZhbHVlCistI2VuZGlmCistI2lmbmRlZiBZWV9JR05PUkVfTUFZQkVfVU5JTklU
SUFMSVpFRF9CRUdJTgorLSMgZGVmaW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JF
R0lOCistIyBkZWZpbmUgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfRU5ECistI2VuZGlm
CistI2lmbmRlZiBZWV9JTklUSUFMX1ZBTFVFCistIyBkZWZpbmUgWVlfSU5JVElBTF9WQUxVRShW
YWx1ZSkgLyogTm90aGluZy4gKi8KKy0jZW5kaWYKKy1dXSkKKy0KKy0KKy0jIGI0X251bGxfZGVm
aW5lCistIyAtLS0tLS0tLS0tLS0tLQorLSMgUG9ydGFiaWxpdHkgaXNzdWVzOiBkZWZpbmUgYSBZ
WV9OVUxMUFRSIGFwcHJvcHJpYXRlIGZvciB0aGUgY3VycmVudAorLSMgbGFuZ3VhZ2UgKEMsIEMr
Kzk4LCBvciBDKysxMSkuCistIworLSMgSW4gQysrIHByZSBDKysxMSBpdCBpcyBzdGFuZGFyZCBw
cmFjdGljZSB0byB1c2UgMCAobm90IE5VTEwpIGZvciB0aGUKKy0jIG51bGwgcG9pbnRlci4gIElu
IEMsIHByZWZlciAoKHZvaWQqKTApIHRvIGF2b2lkIGhhdmluZyB0byBpbmNsdWRlIHN0ZGxpYi5o
LgorLW00X2RlZmluZShbYjRfbnVsbF9kZWZpbmVdLAorLVsjIGlmbmRlZiBZWV9OVUxMUFRSCist
IyAgaWYgZGVmaW5lZCBfX2NwbHVzcGx1cworLSMgICBpZiAyMDExMDNMIDw9IF9fY3BsdXNwbHVz
CistIyAgICBkZWZpbmUgWVlfTlVMTFBUUiBudWxscHRyCistIyAgIGVsc2UKKy0jICAgIGRlZmlu
ZSBZWV9OVUxMUFRSIDAKKy0jICAgZW5kaWYKKy0jICBlbHNlCistIyAgIGRlZmluZSBZWV9OVUxM
UFRSICgodm9pZCopMCkKKy0jICBlbmRpZgorLSMgZW5kaWZbXWRubAorLV0pCistCistCistIyBi
NF9udWxsCistIyAtLS0tLS0tCistIyBSZXR1cm4gYSBudWxsIHBvaW50ZXIgY29uc3RhbnQuCist
bTRfZGVmaW5lKFtiNF9udWxsXSwgW1lZX05VTExQVFJdKQorLQorLQorLQorLSMjIC0tLS0tLS0t
LSMjCistIyMgVmFsdWVzLiAgIyMKKy0jIyAtLS0tLS0tLS0jIworLQorLSMgYjRfaW50ZWdyYWxf
cGFyc2VyX3RhYmxlX2RlZmluZShUQUJMRS1OQU1FLCBDT05URU5ULCBDT01NRU5UKQorLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorLSMgRGVmaW5lICJ5eTxUQUJMRS1OQU1FPiIgd2hvc2UgY29udGVudHMgaXMgQ09OVEVOVC4K
Ky1tNF9kZWZpbmUoW2I0X2ludGVncmFsX3BhcnNlcl90YWJsZV9kZWZpbmVdLAorLVttNF9pZnZh
bG4oWyQzXSwgW2I0X2NvbW1lbnQoWyQzXSwgWyAgXSldKWRubAorLXN0YXRpYyBjb25zdCBiNF9p
bnRfdHlwZV9mb3IoWyQyXSkgeXkkMVtbXV0gPQorLXsKKy0gICQyCistfTtkbmwKKy1dKQorLQor
LQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBBc3NpZ25pbmcgdG9rZW4g
bnVtYmVycy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgYjRf
dG9rZW5fZGVmaW5lKFRPS0VOLU5VTSkKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist
IyBPdXRwdXQgdGhlIGRlZmluaXRpb24gb2YgdGhpcyB0b2tlbiBhcyAjZGVmaW5lLgorLW00X2Rl
ZmluZShbYjRfdG9rZW5fZGVmaW5lXSwKKy1bYjRfdG9rZW5fZm9ybWF0KFsjZGVmaW5lICVzICVz
XSwgWyQxXSldKQorLQorLSMgYjRfdG9rZW5fZGVmaW5lcworLSMgLS0tLS0tLS0tLS0tLS0tLQor
LSMgT3V0cHV0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSB0b2tlbnMuCistbTRfZGVmaW5lKFtiNF90
b2tlbl9kZWZpbmVzXSwKKy1bYjRfYW55X3Rva2VuX3Zpc2libGVfaWYoWy8qIFRva2Vucy4gICov
CistbTRfam9pbihbCistXSwgYjRfc3ltYm9sX21hcChbYjRfdG9rZW5fZGVmaW5lXSkpCistXSld
KQorLQorLQorLSMgYjRfdG9rZW5fZW51bShUT0tFTi1OVU0pCistIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKy0jIE91dHB1dCB0aGUgZGVmaW5pdGlvbiBvZiB0aGlzIHRva2VuIGFzIGFuIGVu
dW0uCistbTRfZGVmaW5lKFtiNF90b2tlbl9lbnVtXSwKKy1bYjRfdG9rZW5fZm9ybWF0KFslcyA9
ICVzXSwgWyQxXSldKQorLQorLQorLSMgYjRfdG9rZW5fZW51bXMKKy0jIC0tLS0tLS0tLS0tLS0t
CistIyBPdXRwdXQgdGhlIGRlZmluaXRpb24gb2YgdGhlIHRva2VucyAoaWYgdGhlcmUgYXJlKSBh
cyBlbnVtcy4KKy1tNF9kZWZpbmUoW2I0X3Rva2VuX2VudW1zXSwKKy1bYjRfYW55X3Rva2VuX3Zp
c2libGVfaWYoW1svKiBUb2tlbiB0eXBlLiAgKi8KKy0jaWZuZGVmIF1iNF9hcGlfUFJFRklYW1RP
S0VOVFlQRQorLSMgZGVmaW5lIF1iNF9hcGlfUFJFRklYW1RPS0VOVFlQRQorLSAgZW51bSBdYjRf
YXBpX3ByZWZpeFt0b2tlbnR5cGUKKy0gIHsKKy0gICAgXW00X2pvaW4oWywKKy0gICAgXSwKKy0g
ICAgICAgICAgICAgYjRfc3ltYm9sX21hcChbYjRfdG9rZW5fZW51bV0pKVsKKy0gIH07CistI2Vu
ZGlmCistXV0pXSkKKy0KKy0KKy0jIGI0X3Rva2VuX2VudW1zX2RlZmluZXMKKy0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKy0jIE91dHB1dCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgdG9rZW5zIChp
ZiB0aGVyZSBhcmUgYW55KSBhcyBlbnVtcyBhbmQsCistIyBpZiBQT1NJWCBZYWNjIGlzIGVuYWJs
ZWQsIGFzICNkZWZpbmVzLgorLW00X2RlZmluZShbYjRfdG9rZW5fZW51bXNfZGVmaW5lc10sCist
W2I0X3Rva2VuX2VudW1zW11iNF95YWNjX2lmKFtiNF90b2tlbl9kZWZpbmVzXSldKQorLQorLQor
LSMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgU2VtYW50aWMgVmFsdWVzLiAgIyMKKy0jIyAt
LS0tLS0tLS0tLS0tLS0tLSAjIworLQorLQorLSMgYjRfc3ltYm9sX3ZhbHVlKFZBTCwgW1NZTUJP
TC1OVU1dLCBbVFlQRS1UQUddKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorLSMgU2VlIFJFQURNRS4KKy1tNF9kZWZpbmUoW2I0X3N5bWJvbF92YWx1
ZV0sCistW200X2lmdmFsKFskM10sCistICAgICAgICAgIFsoJDEuJDMpXSwKKy0gICAgICAgICAg
W200X2lmdmFsKFskMl0sCistICAgICAgICAgICAgICAgICAgICBbYjRfc3ltYm9sX2lmKFskMl0s
IFtoYXNfdHlwZV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoJDEuYjRf
c3ltYm9sKFskMl0sIFt0eXBlXSkpXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWyQxXSldLAorLSAgICAgICAgICAgICAgICAgICAgWyQxXSldKV0pCistCistCistIyMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIERlZmluaW5nIEMgZnVuY3Rpb25zLiAgIyMKKy0j
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistCistCistIyBiNF9mdW5jdGlvbl9kZWZpbmUo
TkFNRSwgUkVUVVJOLVZBTFVFLCBbREVDTDEsIE5BTUUxXSwgLi4uKQorLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlY2xh
cmUgdGhlIGZ1bmN0aW9uIE5BTUUgaW4gQy4KKy1tNF9kZWZpbmUoW2I0X2Z1bmN0aW9uX2RlZmlu
ZV0sCistWyQyCistJDEgKGI0X2Zvcm1hbHMobTRfc2hpZnQyKCRAKSkpW11kbmwKKy1dKQorLQor
LQorLSMgYjRfZm9ybWFscyhbREVDTDEsIE5BTUUxXSwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorLSMgVGhlIGZvcm1hbCBhcmd1bWVudHMgb2YgYSBDIGZ1bmN0aW9u
IGRlZmluaXRpb24uCistbTRfZGVmaW5lKFtiNF9mb3JtYWxzXSwKKy1bbTRfaWYoWyQjXSwgWzBd
LCBbdm9pZF0sCistICAgICAgIFskIyQxXSwgWzFdLCBbdm9pZF0sCistICAgICAgICAgICAgICAg
W200X21hcF9zZXAoW2I0X2Zvcm1hbF0sIFssIF0sIFskQF0pXSldKQorLQorLW00X2RlZmluZShb
YjRfZm9ybWFsXSwKKy1bJDFdKQorLQorLQorLQorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
ICMjCistIyMgRGVjbGFyaW5nIEMgZnVuY3Rpb25zLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAjIworLQorLQorLSMgYjRfZnVuY3Rpb25fZGVjbGFyZShOQU1FLCBSRVRVUk4tVkFM
VUUsIFtERUNMMSwgTkFNRTFdLCAuLi4pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlY2xhcmUgdGhlIGZ1bmN0aW9u
IE5BTUUuCistbTRfZGVmaW5lKFtiNF9mdW5jdGlvbl9kZWNsYXJlXSwKKy1bJDIgJDEgKGI0X2Zv
cm1hbHMobTRfc2hpZnQyKCRAKSkpO1tdZG5sCistXSkKKy0KKy0KKy0KKy0KKy0jIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBDYWxsaW5nIEMgZnVuY3Rpb25zLiAgIyMKKy0jIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIGI0X2Z1bmN0aW9uX2NhbGwoTkFNRSwgUkVU
VVJOLVZBTFVFLCBbREVDTDEsIE5BTUUxXSwgLi4uKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENhbGwgdGhlIGZ1bmN0
aW9uIE5BTUUgd2l0aCBhcmd1bWVudHMgTkFNRTEsIE5BTUUyIGV0Yy4KKy1tNF9kZWZpbmUoW2I0
X2Z1bmN0aW9uX2NhbGxdLAorLVskMSAoYjRfYXJncyhtNF9zaGlmdDIoJEApKSlbXWRubAorLV0p
CistCistCistIyBiNF9hcmdzKFtERUNMMSwgTkFNRTFdLCAuLi4pCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBPdXRwdXQgdGhlIGFyZ3VtZW50cyBOQU1FMSwgTkFNRTIuLi4K
Ky1tNF9kZWZpbmUoW2I0X2FyZ3NdLAorLVttNF9tYXBfc2VwKFtiNF9hcmddLCBbLCBdLCBbJEBd
KV0pCistCistbTRfZGVmaW5lKFtiNF9hcmddLAorLVskMl0pCistCistCistIyMgLS0tLS0tLS0t
LS0gIyMKKy0jIyBTeW5jbGluZXMuICAjIworLSMjIC0tLS0tLS0tLS0tICMjCistCistIyBiNF9z
eW5jX3N0YXJ0KExJTkUsIEZJTEUpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistbTRf
ZGVmaW5lKFtiNF9zeW5jX3N0YXJ0XSwgW1sjXWxpbmUgJDEgJDJdKQorLQorLQorLSMjIC0tLS0t
LS0tLS0tLS0tICMjCistIyMgVXNlciBhY3Rpb25zLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLSAj
IworLQorLSMgYjRfY2FzZShMQUJFTCwgU1RBVEVNRU5UUykKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCistbTRfZGVmaW5lKFtiNF9jYXNlXSwKKy1bICBjYXNlICQxOgorLSQyCistYjRf
c3luY2xpbmUoW0BvbGluZUBdLCBbQG9maWxlQF0pCistICAgIGJyZWFrO10pCistCistCistIyBi
NF9wcmVkaWNhdGVfY2FzZShMQUJFTCwgQ09ORElUSU9OUykKKy0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLW00X2RlZmluZShbYjRfcHJlZGljYXRlX2Nhc2VdLAorLVsg
IGNhc2UgJDE6CistICAgIGlmICghICgKKy0kMikpIFlZRVJST1I7CistYjRfc3luY2xpbmUoW0Bv
bGluZUBdLCBbQG9maWxlQF0pCistICAgIGJyZWFrO10pCistCistCistIyBiNF95eWRlc3RydWN0
X2RlZmluZQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlZmluZSB0aGUgInl5ZGVzdHJ1
Y3QiIGZ1bmN0aW9uLgorLW00X2RlZmluZV9kZWZhdWx0KFtiNF95eWRlc3RydWN0X2RlZmluZV0s
CistW1svKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgor
LXwgUmVsZWFzZSB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgdG8gdGhpcyBzeW1ib2wuICB8CistYC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy0KKy1dYjRf
ZnVuY3Rpb25fZGVmaW5lKFt5eWRlc3RydWN0XSwKKy0gICAgW3N0YXRpYyB2b2lkXSwKKy0gICAg
W1tjb25zdCBjaGFyICp5eW1zZ10sICAgIFt5eW1zZ11dLAorLSAgICBbW2ludCB5eXR5cGVdLCAg
ICAgICAgICAgW3l5dHlwZV1dLAorLSAgICBbW1lZU1RZUEUgKnl5dmFsdWVwXSwgICAgW3l5dmFs
dWVwXV1bXWRubAorLWI0X2xvY2F0aW9uc19pZiggICAgICAgICAgICBbLCBbW1lZTFRZUEUgKnl5
bG9jYXRpb25wXSwgW3l5bG9jYXRpb25wXV1dKVtdZG5sCistbTRfaWZzZXQoW2I0X3BhcnNlX3Bh
cmFtXSwgWywgYjRfcGFyc2VfcGFyYW1dKSlbCisteworLV1iNF9wYXJzZV9wYXJhbV91c2UoW3l5
dmFsdWVwXSwgW3l5bG9jYXRpb25wXSlkbmwKKy1bICBpZiAoIXl5bXNnKQorLSAgICB5eW1zZyA9
ICJEZWxldGluZyI7CistICBZWV9TWU1CT0xfUFJJTlQgKHl5bXNnLCB5eXR5cGUsIHl5dmFsdWVw
LCB5eWxvY2F0aW9ucCk7CistCistICBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9CRUdJ
TgorLSAgXWI0X3N5bWJvbF9hY3Rpb25zKFtkZXN0cnVjdG9yXSlbCistICBZWV9JR05PUkVfTUFZ
QkVfVU5JTklUSUFMSVpFRF9FTkQKKy19XWRubAorLV0pCistCistCistIyBiNF95eV9zeW1ib2xf
cHJpbnRfZGVmaW5lCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWZpbmUgdGhl
ICJ5eV9zeW1ib2xfcHJpbnQiIGZ1bmN0aW9uLgorLW00X2RlZmluZV9kZWZhdWx0KFtiNF95eV9z
eW1ib2xfcHJpbnRfZGVmaW5lXSwKKy1bWworLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0uCistfCBQcmludCB0aGlzIHN5bWJvbCdzIHZhbHVlIG9uIFlZTy4gIHwKKy1gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLQorLV1iNF9mdW5jdGlvbl9kZWZp
bmUoW3l5X3N5bWJvbF92YWx1ZV9wcmludF0sCistICAgIFtzdGF0aWMgdm9pZF0sCistICAgICAg
ICAgICAgICAgW1tGSUxFICp5eW9dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBbeXlvXV0s
CistICAgICAgICAgICAgICAgW1tpbnQgeXl0eXBlXSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbeXl0eXBlXV0sCistICAgICAgICAgICAgICAgW1tZWVNUWVBFIGNvbnN0ICogY29uc3QgeXl2
YWx1ZXBdLCAgICAgICBbeXl2YWx1ZXBdXVtdZG5sCistYjRfbG9jYXRpb25zX2lmKFssIFtbWVlM
VFlQRSBjb25zdCAqIGNvbnN0IHl5bG9jYXRpb25wXSwgW3l5bG9jYXRpb25wXV1dKVtdZG5sCist
bTRfaWZzZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywgYjRfcGFyc2VfcGFyYW1dKSlbCisteworLSAg
RklMRSAqeXlvdXRwdXQgPSB5eW87CistXWI0X3BhcnNlX3BhcmFtX3VzZShbeXlvdXRwdXRdLCBb
eXlsb2NhdGlvbnBdKWRubAorLVsgIGlmICgheXl2YWx1ZXApCistICAgIHJldHVybjtdCistZG5s
IGdsci5jIGRvZXMgbm90IGZlYXR1cmUgeXl0b2tudW0uCistbTRfaWYoYjRfc2tlbGV0b24sIFsi
eWFjYy5jIl0sCistW1sjIGlmZGVmIFlZUFJJTlQKKy0gIGlmICh5eXR5cGUgPCBZWU5UT0tFTlMp
CistICAgIFlZUFJJTlQgKHl5bywgeXl0b2tudW1beXl0eXBlXSwgKnl5dmFsdWVwKTsKKy0jIGVu
ZGlmCistXV0pZG5sCistICBiNF9zeW1ib2xfYWN0aW9ucyhbcHJpbnRlcl0pWworLX0KKy0KKy0K
Ky0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KKy18IFByaW50IHRoaXMgc3ltYm9sIG9u
IFlZTy4gIHwKKy1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy0KKy1dYjRfZnVuY3Rp
b25fZGVmaW5lKFt5eV9zeW1ib2xfcHJpbnRdLAorLSAgICBbc3RhdGljIHZvaWRdLAorLSAgICAg
ICAgICAgICAgIFtbRklMRSAqeXlvXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3l5b11d
LAorLSAgICAgICAgICAgICAgIFtbaW50IHl5dHlwZV0sICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW3l5dHlwZV1dLAorLSAgICAgICAgICAgICAgIFtbWVlTVFlQRSBjb25zdCAqIGNvbnN0IHl5
dmFsdWVwXSwgICAgICAgW3l5dmFsdWVwXV1bXWRubAorLWI0X2xvY2F0aW9uc19pZihbLCBbW1lZ
TFRZUEUgY29uc3QgKiBjb25zdCB5eWxvY2F0aW9ucF0sIFt5eWxvY2F0aW9ucF1dXSlbXWRubAor
LW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssIGI0X3BhcnNlX3BhcmFtXSkpWworLXsKKy0g
IFlZRlBSSU5URiAoeXlvLCAiJXMgJXMgKCIsCistICAgICAgICAgICAgIHl5dHlwZSA8IFlZTlRP
S0VOUyA/ICJ0b2tlbiIgOiAibnRlcm0iLCB5eXRuYW1lW3l5dHlwZV0pOworLQorLV1iNF9sb2Nh
dGlvbnNfaWYoWyAgWVlfTE9DQVRJT05fUFJJTlQgKHl5bywgKnl5bG9jYXRpb25wKTsKKy0gIFlZ
RlBSSU5URiAoeXlvLCAiOiAiKTsKKy1dKWRubAorLVsgIHl5X3N5bWJvbF92YWx1ZV9wcmludCAo
eXlvLCB5eXR5cGUsIHl5dmFsdWVwXWRubAorLWI0X2xvY2F0aW9uc19pZihbLCB5eWxvY2F0aW9u
cF0pW11iNF91c2VyX2FyZ3NbKTsKKy0gIFlZRlBSSU5URiAoeXlvLCAiKSIpOworLX1dZG5sCist
XSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCistIyMgYXBpLnZhbHVlLnR5cGUuICAj
IworLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gIworLSMgYXBpLnZhbHVlLnR5cGU9dW5pb24uICAjCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICMKKy0KKy0jIGI0X3N5bWJvbF90eXBlX3JlZ2lzdGVyKFNZTUJPTC1OVU0pCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgU3ltYm9sIFNZTUJPTC1OVU0gaGFz
IGEgdHlwZSAoZm9yIHZhcmlhbnQpIGluc3RlYWQgb2YgYSB0eXBlLXRhZy4KKy0jIEV4dGVuZCB0
aGUgZGVmaW5pdGlvbiBvZiAldW5pb24ncyBib2R5IChiNF91bmlvbl9tZW1iZXJzKSB3aXRoIGEK
Ky0jIGZpZWxkIG9mIHRoYXQgdHlwZSwgYW5kIGV4dGVuZCB0aGUgc3ltYm9sJ3MgInR5cGUiIGZp
ZWxkIHRvIHBvaW50IHRvCistIyB0aGUgZmllbGQgbmFtZSwgaW5zdGVhZCBvZiB0aGUgdHlwZSBu
YW1lLgorLW00X2RlZmluZShbYjRfc3ltYm9sX3R5cGVfcmVnaXN0ZXJdLAorLVttNF9kZWZpbmUo
W2I0X3N5bWJvbCgkMSwgdHlwZV90YWcpXSwKKy0gICAgICAgICAgIFtiNF9zeW1ib2xfaWYoWyQx
XSwgW2hhc19pZF0sCistICAgICAgICAgICAgICAgICAgICAgICAgIFtiNF9zeW1ib2woWyQxXSwg
W2lkXSldLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbeXl0eXBlX1tdYjRfc3ltYm9sKFsk
MV0sIFtudW1iZXJdKV0pXSlkbmwKKy1tNF9hcHBlbmQoW2I0X3VuaW9uX21lbWJlcnNdLAorLW00
X2V4cGFuZChbCistICBiNF9zeW1ib2xfdGFnX2NvbW1lbnQoWyQxXSlkbmwKKy0gIGI0X3N5bWJv
bChbJDFdLCBbdHlwZV0pIGI0X3N5bWJvbChbJDFdLCBbdHlwZV90YWddKTtdKSkKKy1dKQorLQor
LQorLSMgYjRfdHlwZV9kZWZpbmVfdGFnKFNZTUJPTDEtTlVNLCAuLi4pCistIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEZvciB0aGUgYmF0Y2ggb2Ygc3ltYm9scyBT
WU1CT0wxLU5VTS4uLiAod2hpY2ggYWxsIGhhdmUgdGhlIHNhbWUKKy0jIHR5cGUpLCBlbmhhbmNl
IHRoZSAldW5pb24gZGVmaW5pdGlvbiBmb3IgZWFjaCBvZiB0aGVtLCBhbmQgc2V0CistIyB0aGVy
ZSAidHlwZSIgZmllbGQgdG8gdGhlIGZpZWxkIHRhZyBuYW1lLCBpbnN0ZWFkIG9mIHRoZSB0eXBl
IG5hbWUuCistbTRfZGVmaW5lKFtiNF90eXBlX2RlZmluZV90YWddLAorLVtiNF9zeW1ib2xfaWYo
WyQxXSwgW2hhc190eXBlXSwKKy0gICAgICAgICAgICAgIFttNF9tYXAoW2I0X3N5bWJvbF90eXBl
X3JlZ2lzdGVyXSwgWyRAXSldKQorLV0pCistCistCistIyBiNF9zeW1ib2xfdmFsdWVfdW5pb24o
VkFMLCBTWU1CT0wtTlVNLCBbVFlQRV0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCistIyBTYW1lIG9mIGI0X3N5bWJvbF92YWx1ZSwgYnV0IHdoZW4g
YXBpLnZhbHVlLnR5cGU9dW5pb24uCistbTRfZGVmaW5lKFtiNF9zeW1ib2xfdmFsdWVfdW5pb25d
LAorLVttNF9pZnZhbChbJDNdLAorLSAgICAgICAgICBbKCooJDMqKSgmJDEpKV0sCistICAgICAg
ICAgIFttNF9pZnZhbChbJDJdLAorLSAgICAgICAgICAgICAgICAgICAgW2I0X3N5bWJvbF9pZihb
JDJdLCBbaGFzX3R5cGVdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKCQx
LmI0X3N5bWJvbChbJDJdLCBbdHlwZV90YWddKSldLAorLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbJDFdKV0sCistICAgICAgICAgICAgICAgICAgICBbJDFdKV0pXSkKKy0KKy0K
Ky0jIGI0X3ZhbHVlX3R5cGVfc2V0dXBfdW5pb24KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy0jIFNldHVwIHN1cHBvcnQgZm9yIGFwaS52YWx1ZS50eXBlPXVuaW9uLiAgU3ltYm9scyBh
cmUgZGVmaW5lZCB3aXRoIGEKKy0jIHR5cGUgaW5zdGVhZCBvZiBhIHVuaW9uIG1lbWJlciBuYW1l
OiBidWlsZCB0aGUgY29ycmVzcG9uZGluZyB1bmlvbiwKKy0jIGFuZCBnaXZlIHRoZSBzeW1ib2xz
IHRoZWlyIHRhZy4KKy1tNF9kZWZpbmUoW2I0X3ZhbHVlX3R5cGVfc2V0dXBfdW5pb25dLAorLVtt
NF9kZWZpbmUoW2I0X3VuaW9uX21lbWJlcnNdKQorLWI0X3R5cGVfZm9yZWFjaChbYjRfdHlwZV9k
ZWZpbmVfdGFnXSkKKy1tNF9jb3B5X2ZvcmNlKFtiNF9zeW1ib2xfdmFsdWVfdW5pb25dLCBbYjRf
c3ltYm9sX3ZhbHVlXSkKKy1dKQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IworLSMgYXBpLnZhbHVlLnR5cGUgPSB2YXJpYW50LiAgIworLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gIworLQorLSMgYjRfdmFsdWVfdHlwZV9zZXR1cF92YXJpYW50CistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNldHVwIHN1cHBvcnQgZm9yIGFwaS52YWx1ZS50eXBl
PXZhcmlhbnQuICBCeSBkZWZhdWx0LCBmYWlsLCBzcGVjaWFsaXplZAorLSMgYnkgb3RoZXIgc2tl
bGV0b25zLgorLW00X2RlZmluZShbYjRfdmFsdWVfdHlwZV9zZXR1cF92YXJpYW50XSwKKy1bYjRf
Y29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhbW2FwaS52YWx1ZS50eXBlXV0p
LAorLSAgICAgICAgICAgICAgICBbWyclcycgZG9lcyBub3Qgc3VwcG9ydCAnJXMnXV0sCistICAg
ICAgICAgICAgICAgIFtiNF9za2VsZXRvbl0sCistICAgICAgICAgICAgICAgIFslZGVmaW5lIGFw
aS52YWx1ZS50eXBlIHZhcmlhbnRdKV0pCistCistCistIyBfYjRfdmFsdWVfdHlwZV9zZXR1cF9r
ZXl3b3JkCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBhcGkudmFsdWUudHlw
ZSBpcyBkZWZpbmVkIHdpdGggYSBrZXl3b3JkL3N0cmluZyBzeW50YXguICBDaGVjayBpZgorLSMg
dGhhdCBpcyBwcm9wZXJseSBkZWZpbmVkLCBhbmQgcHJlcGFyZSBpdHMgdXNlLgorLW00X2RlZmlu
ZShbX2I0X3ZhbHVlX3R5cGVfc2V0dXBfa2V5d29yZF0sCistW2I0X3BlcmNlbnRfZGVmaW5lX2No
ZWNrX3ZhbHVlcyhbW1tbYXBpLnZhbHVlLnR5cGVdXSwKKy0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW1tub25lXV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtbdW5pb25dXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1t1bmlvbi1k
aXJlY3RpdmVdXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1t2YXJpYW50
XV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbeXlzdHlwZV1dXV0pZG5s
CistbTRfY2FzZShiNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkudmFsdWUudHlwZV1dKSwKKy0g
ICAgICAgIFt1bmlvbl0sICAgW2I0X3ZhbHVlX3R5cGVfc2V0dXBfdW5pb25dLAorLSAgICAgICAg
W3ZhcmlhbnRdLCBbYjRfdmFsdWVfdHlwZV9zZXR1cF92YXJpYW50XSldKQorLQorLQorLSMgYjRf
dmFsdWVfdHlwZV9zZXR1cAorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQ2hlY2sgaWYgYXBp
LnZhbHVlLnR5cGUgaXMgcHJvcGVybHkgZGVmaW5lZCwgYW5kIHBvc3NpYmx5IHByZXBhcmUKKy0j
IGl0cyB1c2UuCistYjRfZGVmaW5lX3NpbGVudChbYjRfdmFsdWVfdHlwZV9zZXR1cF0sCistWyMg
RGVmaW5lIGRlZmF1bHQgdmFsdWUuCistYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoW1thcGkudmFs
dWUudHlwZV1dLCBbXSwKKy1bIyAldW5pb24gPT4gYXBpLnZhbHVlLnR5cGU9dW5pb24tZGlyZWN0
aXZlCistbTRfaWZkZWYoW2I0X3VuaW9uX21lbWJlcnNdLAorLVttNF9kZWZpbmUoW2I0X3BlcmNl
bnRfZGVmaW5lX2tpbmQoYXBpLnZhbHVlLnR5cGUpXSwgW2tleXdvcmRdKQorLW00X2RlZmluZShb
YjRfcGVyY2VudF9kZWZpbmUoYXBpLnZhbHVlLnR5cGUpXSwgW3VuaW9uLWRpcmVjdGl2ZV0pXSwK
Ky1bIyBubyB0YWcgc2VlbiA9PiBhcGkudmFsdWUudHlwZT17aW50fQorLW00X2lmKGI0X3RhZ19z
ZWVuX2ZsYWcsIDAsCistW200X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfa2luZChhcGkudmFs
dWUudHlwZSldLCBbY29kZV0pCistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZShhcGkudmFs
dWUudHlwZSldLCBbaW50XSldLAorLVsjIG90aGVyd2lzZSBhcGkudmFsdWUudHlwZT15eXN0eXBl
CistbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9raW5kKGFwaS52YWx1ZS50eXBlKV0sIFtr
ZXl3b3JkXSkKKy1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lKGFwaS52YWx1ZS50eXBlKV0s
IFt5eXN0eXBlXSldKV0pXSkKKy0KKy0jIFNldCB1cC4KKy1tNF9ibWF0Y2goYjRfcGVyY2VudF9k
ZWZpbmVfZ2V0X2tpbmQoW1thcGkudmFsdWUudHlwZV1dKSwKKy0gICBba2V5d29yZFx8c3RyaW5n
XSwgW19iNF92YWx1ZV90eXBlX3NldHVwX2tleXdvcmRdKQorLV0pCistCistCistIyMgLS0tLS0t
LS0tLS0tLS0gIyMKKy0jIyBEZWNsYXJhdGlvbnMuICAjIworLSMjIC0tLS0tLS0tLS0tLS0tICMj
CistCistCistIyBiNF92YWx1ZV90eXBlX2RlZmluZQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky1tNF9kZWZpbmUoW2I0X3ZhbHVlX3R5cGVfZGVmaW5lXSwKKy1bYjRfdmFsdWVfdHlwZV9zZXR1
cFtdZG5sCistLyogVmFsdWUgdHlwZS4gICovCistbTRfYm1hdGNoKGI0X3BlcmNlbnRfZGVmaW5l
X2dldF9raW5kKFtbYXBpLnZhbHVlLnR5cGVdXSksCistW2NvZGVdLAorLVtbI2lmICEgZGVmaW5l
ZCBdYjRfYXBpX1BSRUZJWFtTVFlQRSAmJiAhIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbU1RZUEVf
SVNfREVDTEFSRUQKKy10eXBlZGVmIF1iNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkudmFsdWUu
dHlwZV1dKVsgXWI0X2FwaV9QUkVGSVhbU1RZUEU7CistIyBkZWZpbmUgXWI0X2FwaV9QUkVGSVhb
U1RZUEVfSVNfVFJJVklBTCAxCistIyBkZWZpbmUgXWI0X2FwaV9QUkVGSVhbU1RZUEVfSVNfREVD
TEFSRUQgMQorLSNlbmRpZgorLV1dLAorLVttNF9ibWF0Y2goYjRfcGVyY2VudF9kZWZpbmVfZ2V0
KFtbYXBpLnZhbHVlLnR5cGVdXSksCistW3VuaW9uXHx1bmlvbi1kaXJlY3RpdmVdLAorLVtbI2lm
ICEgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtTVFlQRSAmJiAhIGRlZmluZWQgXWI0X2FwaV9QUkVG
SVhbU1RZUEVfSVNfREVDTEFSRUQKKy1dYjRfcGVyY2VudF9kZWZpbmVfZ2V0X3N5bmNsaW5lKFtb
YXBpLnZhbHVlLnVuaW9uLm5hbWVdXSlbCistdW5pb24gXWI0X3BlcmNlbnRfZGVmaW5lX2dldChb
W2FwaS52YWx1ZS51bmlvbi5uYW1lXV0pWworLXsKKy1dYjRfdXNlcl91bmlvbl9tZW1iZXJzWwor
LX07CistXWI0X3BlcmNlbnRfZGVmaW5lX2dldF9zeW5jbGluZShbW2FwaS52YWx1ZS51bmlvbi5u
YW1lXV0pWworLXR5cGVkZWYgdW5pb24gXWI0X3BlcmNlbnRfZGVmaW5lX2dldChbW2FwaS52YWx1
ZS51bmlvbi5uYW1lXV0pWyBdYjRfYXBpX1BSRUZJWFtTVFlQRTsKKy0jIGRlZmluZSBdYjRfYXBp
X1BSRUZJWFtTVFlQRV9JU19UUklWSUFMIDEKKy0jIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtTVFlQ
RV9JU19ERUNMQVJFRCAxCistI2VuZGlmCistXV0pXSldKQorLQorLQorLSMgYjRfbG9jYXRpb25f
dHlwZV9kZWZpbmUKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistbTRfZGVmaW5lKFtiNF9s
b2NhdGlvbl90eXBlX2RlZmluZV0sCistW1svKiBMb2NhdGlvbiB0eXBlLiAgKi8KKy0jaWYgISBk
ZWZpbmVkIF1iNF9hcGlfUFJFRklYW0xUWVBFICYmICEgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtM
VFlQRV9JU19ERUNMQVJFRAorLXR5cGVkZWYgc3RydWN0IF1iNF9hcGlfUFJFRklYW0xUWVBFIF1i
NF9hcGlfUFJFRklYW0xUWVBFOworLXN0cnVjdCBdYjRfYXBpX1BSRUZJWFtMVFlQRQorLXsKKy0g
IGludCBmaXJzdF9saW5lOworLSAgaW50IGZpcnN0X2NvbHVtbjsKKy0gIGludCBsYXN0X2xpbmU7
CistICBpbnQgbGFzdF9jb2x1bW47CistfTsKKy0jIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtMVFlQ
RV9JU19ERUNMQVJFRCAxCistIyBkZWZpbmUgXWI0X2FwaV9QUkVGSVhbTFRZUEVfSVNfVFJJVklB
TCAxCistI2VuZGlmCistXV0pCistCistCistIyBiNF9kZWNsYXJlX3l5bHN0eXBlCistIyAtLS0t
LS0tLS0tLS0tLS0tLS0tCistIyBEZWNsYXJhdGlvbnMgdGhhdCBtaWdodCBlaXRoZXIgZ28gaW50
byB0aGUgaGVhZGVyIChpZiAtLWRlZmluZXMpIG9yCistIyBpbiB0aGUgcGFyc2VyIGJvZHkuICBE
ZWNsYXJlIFlZU1RZUEUvWVlMVFlQRSwgYW5kIHl5bHZhbC95eWxsb2MuCistbTRfZGVmaW5lKFti
NF9kZWNsYXJlX3l5bHN0eXBlXSwKKy1bYjRfdmFsdWVfdHlwZV9kZWZpbmVbXWI0X2xvY2F0aW9u
c19pZihbCistYjRfbG9jYXRpb25fdHlwZV9kZWZpbmVdKQorLQorLWI0X3B1cmVfaWYoW10sIFtb
ZXh0ZXJuIF1iNF9hcGlfUFJFRklYW1NUWVBFIF1iNF9wcmVmaXhbbHZhbDsKKy1dYjRfbG9jYXRp
b25zX2lmKFtbZXh0ZXJuIF1iNF9hcGlfUFJFRklYW0xUWVBFIF1iNF9wcmVmaXhbbGxvYztdXSld
KVtdZG5sCistXSkKKy0KKy0KKy0jIGI0X1lZREVCVUdfZGVmaW5lCistIyAtLS0tLS0tLS0tLS0t
LS0tLQorLW00X2RlZmluZShbYjRfWVlERUJVR19kZWZpbmVdLAorLVtbLyogRGVidWcgdHJhY2Vz
LiAgKi8KKy1dbTRfaWYoYjRfYXBpX3ByZWZpeCwgW3l5XSwKKy1bWyNpZm5kZWYgWVlERUJVRwor
LSMgZGVmaW5lIFlZREVCVUcgXWI0X3BhcnNlX3RyYWNlX2lmKFsxXSwgWzBdKVsKKy0jZW5kaWZd
XSwKKy1bWyNpZm5kZWYgXWI0X2FwaV9QUkVGSVhbREVCVUcKKy0jIGlmIGRlZmluZWQgWVlERUJV
RworLSNpZiBZWURFQlVHCistIyAgIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtERUJVRyAxCistIyAg
ZWxzZQorLSMgICBkZWZpbmUgXWI0X2FwaV9QUkVGSVhbREVCVUcgMAorLSMgIGVuZGlmCistIyBl
bHNlIC8qICEgZGVmaW5lZCBZWURFQlVHICovCistIyAgZGVmaW5lIF1iNF9hcGlfUFJFRklYW0RF
QlVHIF1iNF9wYXJzZV90cmFjZV9pZihbMV0sIFswXSlbCistIyBlbmRpZiAvKiAhIGRlZmluZWQg
WVlERUJVRyAqLworLSNlbmRpZiAgLyogISBkZWZpbmVkIF1iNF9hcGlfUFJFRklYW0RFQlVHICov
XV0pW11kbmwKKy1dKQorLQorLSMgYjRfZGVjbGFyZV95eWRlYnVnCistIyAtLS0tLS0tLS0tLS0t
LS0tLS0KKy1tNF9kZWZpbmUoW2I0X2RlY2xhcmVfeXlkZWJ1Z10sCistW2I0X1lZREVCVUdfZGVm
aW5lWworLSNpZiBdYjRfYXBpX1BSRUZJWFtERUJVRworLWV4dGVybiBpbnQgXWI0X3ByZWZpeFtk
ZWJ1ZzsKKy0jZW5kaWZdW11kbmwKKy1dKQorLQorLSMgYjRfeXlsbG9jX2RlZmF1bHRfZGVmaW5l
CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlZmluZSBZWUxMT0NfREVGQVVMVC4K
Ky1tNF9kZWZpbmUoW2I0X3l5bGxvY19kZWZhdWx0X2RlZmluZV0sCistW1svKiBZWUxMT0NfREVG
QVVMVCAtLSBTZXQgQ1VSUkVOVCB0byBzcGFuIGZyb20gUkhTWzFdIHRvIFJIU1tOXS4KKy0gICBJ
ZiBOIGlzIDAsIHRoZW4gc2V0IENVUlJFTlQgdG8gdGhlIGVtcHR5IGxvY2F0aW9uIHdoaWNoIGVu
ZHMKKy0gICB0aGUgcHJldmlvdXMgc3ltYm9sOiBSSFNbMF0gKGFsd2F5cyBkZWZpbmVkKS4gICov
CistCistI2lmbmRlZiBZWUxMT0NfREVGQVVMVAorLSMgZGVmaW5lIFlZTExPQ19ERUZBVUxUKEN1
cnJlbnQsIFJocywgTikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZG8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCistICAgICAgaWYgKE4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAg
ICAgKEN1cnJlbnQpLmZpcnN0X2xpbmUgICA9IFlZUkhTTE9DIChSaHMsIDEpLmZpcnN0X2xpbmU7
ICAgICAgICBcCistICAgICAgICAgIChDdXJyZW50KS5maXJzdF9jb2x1bW4gPSBZWVJIU0xPQyAo
UmhzLCAxKS5maXJzdF9jb2x1bW47ICAgICAgXAorLSAgICAgICAgICAoQ3VycmVudCkubGFzdF9s
aW5lICAgID0gWVlSSFNMT0MgKFJocywgTikubGFzdF9saW5lOyAgICAgICAgIFwKKy0gICAgICAg
ICAgKEN1cnJlbnQpLmxhc3RfY29sdW1uICA9IFlZUkhTTE9DIChSaHMsIE4pLmxhc3RfY29sdW1u
OyAgICAgICBcCistICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgIGVsc2UgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCistICAgICAgICAgIChDdXJyZW50KS5maXJzdF9saW5lICAgPSAoQ3VycmVudCku
bGFzdF9saW5lICAgPSAgICAgICAgICAgICAgXAorLSAgICAgICAgICAgIFlZUkhTTE9DIChSaHMs
IDApLmxhc3RfbGluZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAg
ICAgKEN1cnJlbnQpLmZpcnN0X2NvbHVtbiA9IChDdXJyZW50KS5sYXN0X2NvbHVtbiA9ICAgICAg
ICAgICAgICBcCistICAgICAgICAgICAgWVlSSFNMT0MgKFJocywgMCkubGFzdF9jb2x1bW47ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgd2hp
bGUgKDApCistI2VuZGlmCistXV0pCistCistIyBiNF95eV9sb2NhdGlvbl9wcmludF9kZWZpbmUK
Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRGVmaW5lIFlZX0xPQ0FUSU9OX1BS
SU5ULgorLW00X2RlZmluZShbYjRfeXlfbG9jYXRpb25fcHJpbnRfZGVmaW5lXSwKKy1bYjRfbG9j
YXRpb25zX2lmKFtbCistLyogWVlfTE9DQVRJT05fUFJJTlQgLS0gUHJpbnQgdGhlIGxvY2F0aW9u
IG9uIHRoZSBzdHJlYW0uCistICAgVGhpcyBtYWNybyB3YXMgbm90IG1hbmRhdGVkIG9yaWdpbmFs
bHk6IGRlZmluZSBvbmx5IGlmIHdlIGtub3cKKy0gICB3ZSB3b24ndCBicmVhayB1c2VyIGNvZGU6
IHdoZW4gdGhlc2UgYXJlIHRoZSBsb2NhdGlvbnMgd2Uga25vdy4gICovCistCistI2lmbmRlZiBZ
WV9MT0NBVElPTl9QUklOVAorLSMgaWYgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtMVFlQRV9JU19U
UklWSUFMICYmIF1iNF9hcGlfUFJFRklYW0xUWVBFX0lTX1RSSVZJQUwKKy0KKy0vKiBQcmludCAq
WVlMT0NQIG9uIFlZTy4gIFByaXZhdGUsIGRvIG5vdCByZWx5IG9uIGl0cyBleGlzdGVuY2UuICov
CistCistWVlfQVRUUklCVVRFX1VOVVNFRAorLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5X2xvY2F0
aW9uX3ByaW50X10sCistICAgIFtzdGF0aWMgaW50XSwKKy0gICAgICAgICAgICAgICBbW0ZJTEUg
Knl5b10sICAgICAgICAgICAgICAgICAgICBbeXlvXV0sCistICAgICAgICAgICAgICAgW1tZWUxU
WVBFIGNvbnN0ICogY29uc3QgeXlsb2NwXSwgW3l5bG9jcF1dKVsKKy17CistICBpbnQgcmVzID0g
MDsKKy0gIGludCBlbmRfY29sID0gMCAhPSB5eWxvY3AtPmxhc3RfY29sdW1uID8geXlsb2NwLT5s
YXN0X2NvbHVtbiAtIDEgOiAwOworLSAgaWYgKDAgPD0geXlsb2NwLT5maXJzdF9saW5lKQorLSAg
ICB7CistICAgICAgcmVzICs9IFlZRlBSSU5URiAoeXlvLCAiJWQiLCB5eWxvY3AtPmZpcnN0X2xp
bmUpOworLSAgICAgIGlmICgwIDw9IHl5bG9jcC0+Zmlyc3RfY29sdW1uKQorLSAgICAgICAgcmVz
ICs9IFlZRlBSSU5URiAoeXlvLCAiLiVkIiwgeXlsb2NwLT5maXJzdF9jb2x1bW4pOworLSAgICB9
CistICBpZiAoMCA8PSB5eWxvY3AtPmxhc3RfbGluZSkKKy0gICAgeworLSAgICAgIGlmICh5eWxv
Y3AtPmZpcnN0X2xpbmUgPCB5eWxvY3AtPmxhc3RfbGluZSkKKy0gICAgICAgIHsKKy0gICAgICAg
ICAgcmVzICs9IFlZRlBSSU5URiAoeXlvLCAiLSVkIiwgeXlsb2NwLT5sYXN0X2xpbmUpOworLSAg
ICAgICAgICBpZiAoMCA8PSBlbmRfY29sKQorLSAgICAgICAgICAgIHJlcyArPSBZWUZQUklOVEYg
KHl5bywgIi4lZCIsIGVuZF9jb2wpOworLSAgICAgICAgfQorLSAgICAgIGVsc2UgaWYgKDAgPD0g
ZW5kX2NvbCAmJiB5eWxvY3AtPmZpcnN0X2NvbHVtbiA8IGVuZF9jb2wpCistICAgICAgICByZXMg
Kz0gWVlGUFJJTlRGICh5eW8sICItJWQiLCBlbmRfY29sKTsKKy0gICAgfQorLSAgcmV0dXJuIHJl
czsKKy0gfQorLQorLSMgIGRlZmluZSBZWV9MT0NBVElPTl9QUklOVChGaWxlLCBMb2MpICAgICAg
ICAgIFwKKy0gIHl5X2xvY2F0aW9uX3ByaW50XyAoRmlsZSwgJihMb2MpKQorLQorLSMgZWxzZQor
LSMgIGRlZmluZSBZWV9MT0NBVElPTl9QUklOVChGaWxlLCBMb2MpICgodm9pZCkgMCkKKy0jIGVu
ZGlmCistI2VuZGlmXV0sCistW1svKiBUaGlzIG1hY3JvIGlzIHByb3ZpZGVkIGZvciBiYWNrd2Fy
ZCBjb21wYXRpYmlsaXR5LiAqLworLSNpZm5kZWYgWVlfTE9DQVRJT05fUFJJTlQKKy0jIGRlZmlu
ZSBZWV9MT0NBVElPTl9QUklOVChGaWxlLCBMb2MpICgodm9pZCkgMCkKKy0jZW5kaWZdXSkKKy1d
KQorLQorLSMgYjRfeXlsb2NfZGVmYXVsdAorLSMgLS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5k
IHRvIGEgcG9zc2libGUgZGVmYXVsdCB2YWx1ZSBmb3IgeXlsbG9jLgorLW00X2RlZmluZShbYjRf
eXlsb2NfZGVmYXVsdF0sCistW1sKKy0jIGlmIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbTFRZUEVf
SVNfVFJJVklBTCAmJiBdYjRfYXBpX1BSRUZJWFtMVFlQRV9JU19UUklWSUFMCistICA9IHsgXW00
X2pvaW4oWywgXSwKKy0gICAgICAgICAgICAgICBtNF9kZWZuKFtiNF9sb2NhdGlvbl9pbml0aWFs
X2xpbmVdKSwKKy0gICAgICAgICAgICAgICBtNF9kZWZuKFtiNF9sb2NhdGlvbl9pbml0aWFsX2Nv
bHVtbl0pLAorLSAgICAgICAgICAgICAgIG00X2RlZm4oW2I0X2xvY2F0aW9uX2luaXRpYWxfbGlu
ZV0pLAorLSAgICAgICAgICAgICAgIG00X2RlZm4oW2I0X2xvY2F0aW9uX2luaXRpYWxfY29sdW1u
XSkpWyB9CistIyBlbmRpZgorLV1dKQorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL3lhY2MuYyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25z
L3lhY2MuYworZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA1NGU0MGU2NzQxMi4uMDAw
MDAwMDAwMDAKKy0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24v
dGhpcmRfcGFydHkvc2tlbGV0b25zL3lhY2MuYworKysrIC9kZXYvbnVsbAorQEAgLTEsMTkyNyAr
MCwwIEBACistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0qLSBDIC0qLQorLSMgWWFjYyBjb21wYXRpYmxlIHNrZWxldG9uIGZvciBC
aXNvbgorLQorLSMgQ29weXJpZ2h0IChDKSAxOTg0LCAxOTg5LTE5OTAsIDIwMDAtMjAxNSwgMjAx
OC0yMDE5IEZyZWUgU29mdHdhcmUKKy0jIEZvdW5kYXRpb24sIEluYy4KKy0KKy1tNF9wdXNoZGVm
KFtiNF9jb3B5cmlnaHRfeWVhcnNdLAorLSAgICAgICAgICAgWzE5ODQsIDE5ODktMTk5MCwgMjAw
MC0yMDE1LCAyMDE4LTIwMTldKQorLQorLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0jIGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cist
IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgorLSMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0jCist
IyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKy0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCistIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorLSMKKy0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistIyBhbG9uZyB3aXRoIHRoaXMg
cHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKy0K
Ky0jIENoZWNrIHRoZSB2YWx1ZSBvZiAlZGVmaW5lIGFwaS5wdXNoLXB1bGwuCistYjRfcGVyY2Vu
dF9kZWZpbmVfZGVmYXVsdChbW2FwaS5wdXNoLXB1bGxdXSwgW1twdWxsXV0pCistYjRfcGVyY2Vu
dF9kZWZpbmVfY2hlY2tfdmFsdWVzKFtbW1thcGkucHVzaC1wdWxsXV0sCistICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgW1twdWxsXV0sIFtbcHVzaF1dLCBbW2JvdGhdXV1dKQorLWI0
X2RlZmluZV9mbGFnX2lmKFtwdWxsXSkgbTRfZGVmaW5lKFtiNF9wdWxsX2ZsYWddLCBbWzFdXSkK
Ky1iNF9kZWZpbmVfZmxhZ19pZihbcHVzaF0pIG00X2RlZmluZShbYjRfcHVzaF9mbGFnXSwgW1sx
XV0pCistbTRfY2FzZShiNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkucHVzaC1wdWxsXV0pLAor
LSAgICAgICAgW3B1bGxdLCBbbTRfZGVmaW5lKFtiNF9wdXNoX2ZsYWddLCBbWzBdXSldLAorLSAg
ICAgICAgW3B1c2hdLCBbbTRfZGVmaW5lKFtiNF9wdWxsX2ZsYWddLCBbWzBdXSldKQorLQorLSMg
SGFuZGxlIEJJU09OX1VTRV9QVVNIX0ZPUl9QVUxMIGZvciB0aGUgdGVzdCBzdWl0ZS4gIFNvIHRo
YXQgcHVzaCBwYXJzaW5nCistIyB0ZXN0cyBmdW5jdGlvbiBhcyB3cml0dGVuLCBkbyBub3QgbGV0
IEJJU09OX1VTRV9QVVNIX0ZPUl9QVUxMIG1vZGlmeSB0aGUKKy0jIGJlaGF2aW9yIG9mIEJpc29u
IGF0IGFsbCB3aGVuIHB1c2ggcGFyc2luZyBpcyBhbHJlYWR5IHJlcXVlc3RlZC4KKy1iNF9kZWZp
bmVfZmxhZ19pZihbdXNlX3B1c2hfZm9yX3B1bGxdKQorLWI0X3VzZV9wdXNoX2Zvcl9wdWxsX2lm
KFsKKy0gIGI0X3B1c2hfaWYoW200X2RlZmluZShbYjRfdXNlX3B1c2hfZm9yX3B1bGxfZmxhZ10s
IFtbMF1dKV0sCistICAgICAgICAgICAgIFttNF9kZWZpbmUoW2I0X3B1c2hfZmxhZ10sIFtbMV1d
KV0pXSkKKy0KKy0jIENoZWNrIHRoZSB2YWx1ZSBvZiAlZGVmaW5lIHBhcnNlLmxhYyBhbmQgZnJp
ZW5kcywgd2hlcmUgTEFDIHN0YW5kcyBmb3IKKy0jIGxvb2thaGVhZCBjb3JyZWN0aW9uLgorLWI0
X3BlcmNlbnRfZGVmaW5lX2RlZmF1bHQoW1twYXJzZS5sYWNdXSwgW1tub25lXV0pCistYjRfcGVy
Y2VudF9kZWZpbmVfZGVmYXVsdChbW3BhcnNlLmxhYy5lcy1jYXBhY2l0eS1pbml0aWFsXV0sIFtb
MjBdXSkKKy1iNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbcGFyc2UubGFjLm1lbW9yeS10cmFj
ZV1dLCBbW2ZhaWx1cmVzXV0pCistYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfdmFsdWVzKFtbW1tw
YXJzZS5sYWNdXSwgW1tmdWxsXV0sIFtbbm9uZV1dXV0sCistICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtbW1twYXJzZS5sYWMubWVtb3J5LXRyYWNlXV0sCistICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgW1tmYWlsdXJlc11dLCBbW2Z1bGxdXV1dKQorLWI0X2RlZmluZV9m
bGFnX2lmKFtsYWNdKQorLW00X2RlZmluZShbYjRfbGFjX2ZsYWddLAorLSAgICAgICAgICBbbTRf
aWYoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbcGFyc2UubGFjXV0pLAorLSAgICAgICAgICAgICAg
ICAgW25vbmVdLCBbWzBdXSwgW1sxXV0pXSkKKy0KKy1tNF9pbmNsdWRlKGI0X3NrZWxldG9uc2Rp
ci9bYy5tNF0pCistCistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIERlZmF1bHQgdmFsdWVz
LiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCistCistIyBTdGFjayBwYXJhbWV0ZXJzLgor
LW00X2RlZmluZV9kZWZhdWx0KFtiNF9zdGFja19kZXB0aF9tYXhdLCBbMTAwMDBdKQorLW00X2Rl
ZmluZV9kZWZhdWx0KFtiNF9zdGFja19kZXB0aF9pbml0XSwgIFsyMDBdKQorLQorLQorLSMjIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFB1cmUvaW1wdXJlIGludGVyZmFjZXMuICAj
IworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLWI0X3BlcmNlbnRfZGVmaW5l
X2RlZmF1bHQoW1thcGkucHVyZV1dLCBbW2ZhbHNlXV0pCistYjRfcGVyY2VudF9kZWZpbmVfY2hl
Y2tfdmFsdWVzKFtbW1thcGkucHVyZV1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFtbZmFsc2VdXSwgW1t0cnVlXV0sIFtbXV0sIFtbZnVsbF1dXV0pCistCistbTRfZGVmaW5l
KFtiNF9wdXJlX2ZsYWddLCBbWzBdXSkKKy1tNF9jYXNlKGI0X3BlcmNlbnRfZGVmaW5lX2dldChb
W2FwaS5wdXJlXV0pLAorLSAgICAgICAgW2ZhbHNlXSwgW200X2RlZmluZShbYjRfcHVyZV9mbGFn
XSwgW1swXV0pXSwKKy0gICAgICAgIFt0cnVlXSwgIFttNF9kZWZpbmUoW2I0X3B1cmVfZmxhZ10s
IFtbMV1dKV0sCistICAgICAgICBbXSwgICAgICBbbTRfZGVmaW5lKFtiNF9wdXJlX2ZsYWddLCBb
WzFdXSldLAorLSAgICAgICAgW2Z1bGxdLCAgW200X2RlZmluZShbYjRfcHVyZV9mbGFnXSwgW1sy
XV0pXSkKKy0KKy1tNF9kZWZpbmUoW2I0X3B1cmVfaWZdLAorLVttNF9jYXNlKGI0X3B1cmVfZmxh
ZywKKy0gICAgICAgICBbMF0sIFskMl0sCistICAgICAgICAgWzFdLCBbJDFdLAorLSAgICAgICAg
IFsyXSwgWyQxXSldKQorLSAgICAgICAgIFttNF9mYXRhbChbaW52YWxpZCBhcGkucHVyZSB2YWx1
ZTogXSQxKV0pXSkKKy0KKy0jIGI0X3l5ZXJyb3JfYXJnX2xvY19pZihBUkcpCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRXhwYW5kIEFSRyBpZmYgeXllcnJvciBpcyB0byBiZSBn
aXZlbiBhIGxvY2F0aW9uIGFzIGFyZ3VtZW50LgorLW00X2RlZmluZShbYjRfeXllcnJvcl9hcmdf
bG9jX2lmXSwKKy1bYjRfbG9jYXRpb25zX2lmKFttNF9jYXNlKGI0X3B1cmVfZmxhZywKKy0gICAg
ICAgICAgICAgICAgICAgICAgICAgIFsxXSwgW200X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFsk
MV0pXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSwgWyQxXSldKV0pCistCistIyBi
NF95eWVycm9yX2FyZ3MKKy0jIC0tLS0tLS0tLS0tLS0tLQorLSMgQXJndW1lbnRzIHBhc3NlZCB0
byB5eWVycm9yOiB1c2VyIGFyZ3MgcGx1cyB5eWxsb2MuCistbTRfZGVmaW5lKFtiNF95eWVycm9y
X2FyZ3NdLAorLVtiNF95eWVycm9yX2FyZ19sb2NfaWYoWyZ5eWxsb2MsIF0pZG5sCistbTRfaWZz
ZXQoW2I0X3BhcnNlX3BhcmFtXSwgW2I0X2FyZ3MoYjRfcGFyc2VfcGFyYW0pLCBdKV0pCistCist
CistCistIyMgLS0tLS0tLS0tLS0tICMjCistIyMgRGF0YSBUeXBlcy4gICMjCistIyMgLS0tLS0t
LS0tLS0tICMjCistCistIyBiNF9pbnRfdHlwZShNSU4sIE1BWCkKKy0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorLSMgUmV0dXJuIHRoZSBzbWFsbGVzdCBpbnQgdHlwZSBhYmxlIHRvIGhhbmRsZSBu
dW1iZXJzIHJhbmdpbmcgZnJvbQorLSMgTUlOIHRvIE1BWCAoaW5jbHVkZWQpLiAgT3ZlcndyaXRl
IHRoZSB2ZXJzaW9uIGZyb20gYy5tNCwgd2hpY2gKKy0jIHVzZXMgb25seSBDODkgdHlwZXMsIHNv
IHRoYXQgdGhlIHVzZXIgY2FuIG92ZXJyaWRlIHRoZSBzaG9ydGVyCistIyB0eXBlcywgYW5kIHNv
IHRoYXQgcHJlLUM4OSBjb21waWxlcnMgYXJlIGhhbmRsZWQgY29ycmVjdGx5LgorLW00X2RlZmlu
ZShbYjRfaW50X3R5cGVdLAorLVttNF9pZihiNF9pbnRzX2luKCRALCAgICAgIFswXSwgICBbMjU1
XSksIFsxXSwgW3l5dHlwZV91aW50OF0sCistICAgICAgIGI0X2ludHNfaW4oJEAsICAgWy0xMjhd
LCAgIFsxMjddKSwgWzFdLCBbeXl0eXBlX2ludDhdLAorLQorLSAgICAgICBiNF9pbnRzX2luKCRA
LCAgICAgIFswXSwgWzY1NTM1XSksIFsxXSwgW3l5dHlwZV91aW50MTZdLAorLSAgICAgICBiNF9p
bnRzX2luKCRALCBbLTMyNzY4XSwgWzMyNzY3XSksIFsxXSwgW3l5dHlwZV9pbnQxNl0sCistCist
ICAgICAgIG00X2V2YWwoWzAgPD0gJDFdKSwgICAgICAgICAgICAgICAgWzFdLCBbdW5zaWduZWRd
LAorLQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lu
dF0pXSkKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFNlbWFudGljIFZhbHVl
cy4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0KKy0jIGI0X2xoc192YWx1ZShT
WU1CT0wtTlVNLCBbVFlQRV0pCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgU2VlIFJFQURNRS4KKy1tNF9kZWZpbmUoW2I0X2xoc192YWx1ZV0sCistW2I0X3N5bWJvbF92
YWx1ZSh5eXZhbCwgWyQxXSwgWyQyXSldKQorLQorLQorLSMgYjRfcmhzX3ZhbHVlKFJVTEUtTEVO
R1RILCBQT1MsIFtTWU1CT0wtTlVNXSwgW1RZUEVdKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgU2VlIFJFQURNRS4KKy1tNF9kZWZp
bmUoW2I0X3Joc192YWx1ZV0sCistW2I0X3N5bWJvbF92YWx1ZShbeXl2c3BAe2I0X3N1YnRyYWN0
KFskMl0sIFskMV0pQH1dLCBbJDNdLCBbJDRdKV0pCistCistCistIyMgLS0tLS0tLS0tLS0gIyMK
Ky0jIyBMb2NhdGlvbnMuICAjIworLSMjIC0tLS0tLS0tLS0tICMjCistCistIyBiNF9saHNfbG9j
YXRpb24oKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEV4cGFuc2lvbiBvZiBAJC4KKy1tNF9k
ZWZpbmUoW2I0X2xoc19sb2NhdGlvbl0sCistWyh5eWxvYyldKQorLQorLQorLSMgYjRfcmhzX2xv
Y2F0aW9uKFJVTEUtTEVOR1RILCBQT1MpCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy0jIEV4cGFuc2lvbiBvZiBAUE9TLCB3aGVyZSB0aGUgY3VycmVudCBydWxlIGhhcyBS
VUxFLUxFTkdUSCBzeW1ib2xzCistIyBvbiBSSFMuCistbTRfZGVmaW5lKFtiNF9yaHNfbG9jYXRp
b25dLAorLVsoeXlsc3BAe2I0X3N1YnRyYWN0KFskMl0sIFskMV0pQH0pXSkKKy0KKy0KKy0jIyAt
LS0tLS0tLS0tLS0tLSAjIworLSMjIERlY2xhcmF0aW9ucy4gICMjCistIyMgLS0tLS0tLS0tLS0t
LS0gIyMKKy0KKy0jIGI0X2RlY2xhcmVfc2Nhbm5lcl9jb21tdW5pY2F0aW9uX3ZhcmlhYmxlcwor
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBEZWNsYXJl
IHRoZSB2YXJpYWJsZXMgdGhhdCBhcmUgZ2xvYmFsLCBvciBsb2NhbCB0byBZWVBBUlNFIGlmCist
IyBwdXJlLXBhcnNlci4KKy1tNF9kZWZpbmUoW2I0X2RlY2xhcmVfc2Nhbm5lcl9jb21tdW5pY2F0
aW9uX3ZhcmlhYmxlc10sIFtbCistLyogVGhlIGxvb2thaGVhZCBzeW1ib2wuICAqLworLWludCB5
eWNoYXI7CistCistXWI0X3B1cmVfaWYoW1sKKy0vKiBUaGUgc2VtYW50aWMgdmFsdWUgb2YgdGhl
IGxvb2thaGVhZCBzeW1ib2wuICAqLworLS8qIERlZmF1bHQgdmFsdWUgdXNlZCBmb3IgaW5pdGlh
bGl6YXRpb24sIGZvciBwYWNpZnlpbmcgb2xkZXIgR0NDcworLSAgIG9yIG5vbi1HQ0MgY29tcGls
ZXJzLiAgKi8KKy1ZWV9JTklUSUFMX1ZBTFVFIChzdGF0aWMgWVlTVFlQRSB5eXZhbF9kZWZhdWx0
OykKKy1ZWVNUWVBFIHl5bHZhbCBZWV9JTklUSUFMX1ZBTFVFICg9IHl5dmFsX2RlZmF1bHQpO11i
NF9sb2NhdGlvbnNfaWYoW1sKKy0KKy0vKiBMb2NhdGlvbiBkYXRhIGZvciB0aGUgbG9va2FoZWFk
IHN5bWJvbC4gICovCistc3RhdGljIFlZTFRZUEUgeXlsb2NfZGVmYXVsdF1iNF95eWxvY19kZWZh
dWx0WzsKKy1ZWUxUWVBFIHl5bGxvYyA9IHl5bG9jX2RlZmF1bHQ7XV0pXSwKKy1bWy8qIFRoZSBz
ZW1hbnRpYyB2YWx1ZSBvZiB0aGUgbG9va2FoZWFkIHN5bWJvbC4gICovCistWVlTVFlQRSB5eWx2
YWw7XWI0X2xvY2F0aW9uc19pZihbWworLS8qIExvY2F0aW9uIGRhdGEgZm9yIHRoZSBsb29rYWhl
YWQgc3ltYm9sLiAgKi8KKy1ZWUxUWVBFIHl5bGxvY11iNF95eWxvY19kZWZhdWx0WztdXSlbCist
LyogTnVtYmVyIG9mIHN5bnRheCBlcnJvcnMgc28gZmFyLiAgKi8KKy1pbnQgeXluZXJycztdXSld
KQorLQorLQorLSMgYjRfZGVjbGFyZV9wYXJzZXJfc3RhdGVfdmFyaWFibGVzCistIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIERlY2xhcmUgYWxsIHRoZSB2YXJpYWJsZXMg
dGhhdCBhcmUgbmVlZGVkIHRvIG1haW50YWluIHRoZSBwYXJzZXIgc3RhdGUKKy0jIGJldHdlZW4g
Y2FsbHMgdG8geXlwdXNoX3BhcnNlLgorLW00X2RlZmluZShbYjRfZGVjbGFyZV9wYXJzZXJfc3Rh
dGVfdmFyaWFibGVzXSwgW2I0X3B1cmVfaWYoW1sKKy0gICAgLyogTnVtYmVyIG9mIHN5bnRheCBl
cnJvcnMgc28gZmFyLiAgKi8KKy0gICAgaW50IHl5bmVycnM7CistXV0pWworLSAgICBpbnQgeXlz
dGF0ZTsKKy0gICAgLyogTnVtYmVyIG9mIHRva2VucyB0byBzaGlmdCBiZWZvcmUgZXJyb3IgbWVz
c2FnZXMgZW5hYmxlZC4gICovCistICAgIGludCB5eWVycnN0YXR1czsKKy0KKy0gICAgLyogVGhl
IHN0YWNrcyBhbmQgdGhlaXIgdG9vbHM6CistICAgICAgICd5eXNzJzogcmVsYXRlZCB0byBzdGF0
ZXMuCistICAgICAgICd5eXZzJzogcmVsYXRlZCB0byBzZW1hbnRpYyB2YWx1ZXMuXWI0X2xvY2F0
aW9uc19pZihbWworLSAgICAgICAneXlscyc6IHJlbGF0ZWQgdG8gbG9jYXRpb25zLl1dKVsKKy0K
Ky0gICAgICAgUmVmZXIgdG8gdGhlIHN0YWNrcyB0aHJvdWdoIHNlcGFyYXRlIHBvaW50ZXJzLCB0
byBhbGxvdyB5eW92ZXJmbG93CistICAgICAgIHRvIHJlYWxsb2NhdGUgdGhlbSBlbHNld2hlcmUu
ICAqLworLQorLSAgICAvKiBUaGUgc3RhdGUgc3RhY2suICAqLworLSAgICB5eXR5cGVfaW50MTYg
eXlzc2FbWVlJTklUREVQVEhdOworLSAgICB5eXR5cGVfaW50MTYgKnl5c3M7CistICAgIHl5dHlw
ZV9pbnQxNiAqeXlzc3A7CistCistICAgIC8qIFRoZSBzZW1hbnRpYyB2YWx1ZSBzdGFjay4gICov
CistICAgIFlZU1RZUEUgeXl2c2FbWVlJTklUREVQVEhdOworLSAgICBZWVNUWVBFICp5eXZzOwor
LSAgICBZWVNUWVBFICp5eXZzcDtdYjRfbG9jYXRpb25zX2lmKFtbCistCistICAgIC8qIFRoZSBs
b2NhdGlvbiBzdGFjay4gICovCistICAgIFlZTFRZUEUgeXlsc2FbWVlJTklUREVQVEhdOworLSAg
ICBZWUxUWVBFICp5eWxzOworLSAgICBZWUxUWVBFICp5eWxzcDsKKy0KKy0gICAgLyogVGhlIGxv
Y2F0aW9ucyB3aGVyZSB0aGUgZXJyb3Igc3RhcnRlZCBhbmQgZW5kZWQuICAqLworLSAgICBZWUxU
WVBFIHl5ZXJyb3JfcmFuZ2VbM107XV0pWworLQorLSAgICBZWVNJWkVfVCB5eXN0YWNrc2l6ZTtd
YjRfbGFjX2lmKFtbCistCistICAgIHl5dHlwZV9pbnQxNiB5eWVzYUB7XWI0X3BlcmNlbnRfZGVm
aW5lX2dldChbW3BhcnNlLmxhYy5lcy1jYXBhY2l0eS1pbml0aWFsXV0pW0B9OworLSAgICB5eXR5
cGVfaW50MTYgKnl5ZXM7CistICAgIFlZU0laRV9UIHl5ZXNfY2FwYWNpdHk7XV0pXSkKKy0KKy0K
Ky0jIF9iNF9kZWNsYXJlX3l5cGFyc2VfcHVzaAorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CistIyBEZWNsYXJhdGlvbiBvZiB5eXBhcnNlIChhbmQgZGVwZW5kZW5jaWVzKSB3aGVuIHVzaW5n
IHRoZSBwdXNoIHBhcnNlcgorLSMgKGluY2x1ZGluZyBpbiBwdWxsIG1vZGUpLgorLW00X2RlZmlu
ZShbX2I0X2RlY2xhcmVfeXlwYXJzZV9wdXNoXSwKKy1bWyNpZm5kZWYgWVlQVVNIX01PUkVfREVG
SU5FRAorLSMgZGVmaW5lIFlZUFVTSF9NT1JFX0RFRklORUQKKy1lbnVtIHsgWVlQVVNIX01PUkUg
PSA0IH07CistI2VuZGlmCistCistdHlwZWRlZiBzdHJ1Y3QgXWI0X3ByZWZpeFtwc3RhdGUgXWI0
X3ByZWZpeFtwc3RhdGU7CistCistXWI0X3B1bGxfaWYoW2I0X2Z1bmN0aW9uX2RlY2xhcmUoW2I0
X3ByZWZpeFtwYXJzZV1dLCBbW2ludF1dLCBiNF9wYXJzZV9wYXJhbSkKKy1dKWI0X2Z1bmN0aW9u
X2RlY2xhcmUoW2I0X3ByZWZpeFtwdXNoX3BhcnNlXV0sIFtbaW50XV0sCistICBbW2I0X3ByZWZp
eFtwc3RhdGUgKnBzXV0sIFtbcHNdXV1iNF9wdXJlX2lmKFssCistICBbW1tpbnQgcHVzaGVkX2No
YXJdXSwgW1twdXNoZWRfY2hhcl1dXSwKKy0gIFtbYjRfYXBpX1BSRUZJWFtTVFlQRSBjb25zdCAq
cHVzaGVkX3ZhbF1dLCBbW3B1c2hlZF92YWxdXV1iNF9sb2NhdGlvbnNfaWYoWywKKy0gIFtbYjRf
YXBpX1BSRUZJWFtMVFlQRSAqcHVzaGVkX2xvY11dLCBbW3B1c2hlZF9sb2NdXV1dKV0pbTRfaWZz
ZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywKKy0gIGI0X3BhcnNlX3BhcmFtXSkpCistYjRfcHVsbF9p
ZihbYjRfZnVuY3Rpb25fZGVjbGFyZShbYjRfcHJlZml4W3B1bGxfcGFyc2VdXSwgW1tpbnRdXSwK
Ky0gIFtbYjRfcHJlZml4W3BzdGF0ZSAqcHNdXSwgW1twc11dXW00X2lmc2V0KFtiNF9wYXJzZV9w
YXJhbV0sIFssCistICBiNF9wYXJzZV9wYXJhbV0pKV0pCistYjRfZnVuY3Rpb25fZGVjbGFyZShb
YjRfcHJlZml4W3BzdGF0ZV9uZXddXSwgW2I0X3ByZWZpeFtwc3RhdGUgKl1dLAorLSAgICAgICAg
ICAgICAgICAgICAgW1tbdm9pZF1dLCBbXV0pCistYjRfZnVuY3Rpb25fZGVjbGFyZShbYjRfcHJl
Zml4W3BzdGF0ZV9kZWxldGVdXSwgW1t2b2lkXV0sCistICAgICAgICAgICAgICAgICAgIFtbYjRf
cHJlZml4W3BzdGF0ZSAqcHNdXSwgW1twc11dXSlkbmwKKy1dKQorLQorLSMgX2I0X2RlY2xhcmVf
eXlwYXJzZQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgV2hlbiBub3QgdGhlIHB1c2ggcGFy
c2VyLgorLW00X2RlZmluZShbX2I0X2RlY2xhcmVfeXlwYXJzZV0sCistW2I0X2Z1bmN0aW9uX2Rl
Y2xhcmUoYjRfcHJlZml4W3BhcnNlXSwgW2ludF0sIGI0X3BhcnNlX3BhcmFtKV0pCistCistCist
IyBiNF9kZWNsYXJlX3l5cGFyc2UKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLQorLW00X2RlZmluZShb
YjRfZGVjbGFyZV95eXBhcnNlXSwKKy1bYjRfcHVzaF9pZihbX2I0X2RlY2xhcmVfeXlwYXJzZV9w
dXNoXSwKKy0gICAgICAgICAgICBbX2I0X2RlY2xhcmVfeXlwYXJzZV0pW11kbmwKKy1dKQorLQor
LQorLSMgYjRfc2hhcmVkX2RlY2xhcmF0aW9ucworLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
LSMgRGVjbGFyYXRpb24gdGhhdCBtaWdodCBlaXRoZXIgZ28gaW50byB0aGUgaGVhZGVyIChpZiAt
LWRlZmluZXMpCistIyBvciBvcGVuIGNvZGVkIGluIHRoZSBwYXJzZXIgYm9keS4KKy1tNF9kZWZp
bmUoW2I0X3NoYXJlZF9kZWNsYXJhdGlvbnNdLAorLVtiNF9jcHBfZ3VhcmRfb3BlbihbYjRfc3Bl
Y19kZWZpbmVzX2ZpbGVdKVsKKy1dYjRfZGVjbGFyZV95eWRlYnVnWworLV1iNF9wZXJjZW50X2Nv
ZGVfZ2V0KFtbcmVxdWlyZXNdXSlbCistXWI0X3Rva2VuX2VudW1zX2RlZmluZXNbCistXWI0X2Rl
Y2xhcmVfeXlsc3R5cGVbCistXWI0X2RlY2xhcmVfeXlwYXJzZVsKKy1dYjRfcGVyY2VudF9jb2Rl
X2dldChbW3Byb3ZpZGVzXV0pWworLV1iNF9jcHBfZ3VhcmRfY2xvc2UoW2I0X3NwZWNfZGVmaW5l
c19maWxlXSlbXWRubAorLV0pCistCistIyMgLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBPdXRwdXQg
ZmlsZXMuICAjIworLSMjIC0tLS0tLS0tLS0tLS0tICMjCistCistYjRfb3V0cHV0X2JlZ2luKFti
NF9wYXJzZXJfZmlsZV9uYW1lXSlbCistXWI0X2NvcHlyaWdodChbQmlzb24gaW1wbGVtZW50YXRp
b24gZm9yIFlhY2MtbGlrZSBwYXJzZXJzIGluIENdKVsKKy0vKiBDIExBTFIoMSkgcGFyc2VyIHNr
ZWxldG9uIHdyaXR0ZW4gYnkgUmljaGFyZCBTdGFsbG1hbiwgYnkKKy0gICBzaW1wbGlmeWluZyB0
aGUgb3JpZ2luYWwgc28tY2FsbGVkICJzZW1hbnRpYyIgcGFyc2VyLiAgKi8KKy0KKy0vKiBBbGwg
c3ltYm9scyBkZWZpbmVkIGJlbG93IHNob3VsZCBiZWdpbiB3aXRoIHl5IG9yIFlZLCB0byBhdm9p
ZAorLSAgIGluZnJpbmdpbmcgb24gdXNlciBuYW1lIHNwYWNlLiAgVGhpcyBzaG91bGQgYmUgZG9u
ZSBldmVuIGZvciBsb2NhbAorLSAgIHZhcmlhYmxlcywgYXMgdGhleSBtaWdodCBvdGhlcndpc2Ug
YmUgZXhwYW5kZWQgYnkgdXNlciBtYWNyb3MuCistICAgVGhlcmUgYXJlIHNvbWUgdW5hdm9pZGFi
bGUgZXhjZXB0aW9ucyB3aXRoaW4gaW5jbHVkZSBmaWxlcyB0bworLSAgIGRlZmluZSBuZWNlc3Nh
cnkgbGlicmFyeSBzeW1ib2xzOyB0aGV5IGFyZSBub3RlZCAiSU5GUklOR0VTIE9OCistICAgVVNF
UiBOQU1FIFNQQUNFIiBiZWxvdy4gICovCistCistXWI0X2Rpc2NsYWltZXJbCistXWI0X2lkZW50
aWZpY2F0aW9uWworLV1iNF9wZXJjZW50X2NvZGVfZ2V0KFtbdG9wXV0pW11kbmwKKy1tNF9pZihi
NF9hcGlfcHJlZml4LCBbeXldLCBbXSwKKy1bWy8qIFN1YnN0aXR1dGUgdGhlIHR5cGUgbmFtZXMu
ICAqLworLSNkZWZpbmUgWVlTVFlQRSAgICAgICAgIF1iNF9hcGlfUFJFRklYW1NUWVBFXWI0X2xv
Y2F0aW9uc19pZihbWworLSNkZWZpbmUgWVlMVFlQRSAgICAgICAgIF1iNF9hcGlfUFJFRklYW0xU
WVBFXV0pXSlbCistXW00X2lmKGI0X3ByZWZpeCwgW3l5XSwgW10sCistW1svKiBTdWJzdGl0dXRl
IHRoZSB2YXJpYWJsZSBhbmQgZnVuY3Rpb24gbmFtZXMuICAqL11iNF9wdWxsX2lmKFtbCistI2Rl
ZmluZSB5eXBhcnNlICAgICAgICAgXWI0X3ByZWZpeFtwYXJzZV1dKWI0X3B1c2hfaWYoW1sKKy0j
ZGVmaW5lIHl5cHVzaF9wYXJzZSAgICBdYjRfcHJlZml4W3B1c2hfcGFyc2VdYjRfcHVsbF9pZihb
WworLSNkZWZpbmUgeXlwdWxsX3BhcnNlICAgIF1iNF9wcmVmaXhbcHVsbF9wYXJzZV1dKVsKKy0j
ZGVmaW5lIHl5cHN0YXRlX25ldyAgICBdYjRfcHJlZml4W3BzdGF0ZV9uZXcKKy0jZGVmaW5lIHl5
cHN0YXRlX2RlbGV0ZSBdYjRfcHJlZml4W3BzdGF0ZV9kZWxldGUKKy0jZGVmaW5lIHl5cHN0YXRl
ICAgICAgICBdYjRfcHJlZml4W3BzdGF0ZV1dKVsKKy0jZGVmaW5lIHl5bGV4ICAgICAgICAgICBd
YjRfcHJlZml4W2xleAorLSNkZWZpbmUgeXllcnJvciAgICAgICAgIF1iNF9wcmVmaXhbZXJyb3IK
Ky0jZGVmaW5lIHl5ZGVidWcgICAgICAgICBdYjRfcHJlZml4W2RlYnVnCistI2RlZmluZSB5eW5l
cnJzICAgICAgICAgXWI0X3ByZWZpeFtuZXJycworLV1dYjRfcHVyZV9pZihbXSwgW1sKKy0jZGVm
aW5lIHl5bHZhbCAgICAgICAgICBdYjRfcHJlZml4W2x2YWwKKy0jZGVmaW5lIHl5Y2hhciAgICAg
ICAgICBdYjRfcHJlZml4W2NoYXJdYjRfbG9jYXRpb25zX2lmKFtbCistI2RlZmluZSB5eWxsb2Mg
ICAgICAgICAgXWI0X3ByZWZpeFtsbG9jXV0pXSkpWworLQorLV1iNF91c2VyX3ByZV9wcm9sb2d1
ZVsKKy1dYjRfbnVsbF9kZWZpbmVbCistCistLyogRW5hYmxpbmcgdmVyYm9zZSBlcnJvciBtZXNz
YWdlcy4gICovCistI2lmZGVmIFlZRVJST1JfVkVSQk9TRQorLSMgdW5kZWYgWVlFUlJPUl9WRVJC
T1NFCistIyBkZWZpbmUgWVlFUlJPUl9WRVJCT1NFIDEKKy0jZWxzZQorLSMgZGVmaW5lIFlZRVJS
T1JfVkVSQk9TRSBdYjRfZXJyb3JfdmVyYm9zZV9pZihbMV0sIFswXSlbCistI2VuZGlmCistCist
XW00X2lmdmFsKG00X3F1b3RlKGI0X3NwZWNfZGVmaW5lc19maWxlKSwKKy1bWy8qIEluIGEgZnV0
dXJlIHJlbGVhc2Ugb2YgQmlzb24sIHRoaXMgc2VjdGlvbiB3aWxsIGJlIHJlcGxhY2VkCistICAg
YnkgI2luY2x1ZGUgIkBiYXNlbmFtZShdYjRfc3BlY19kZWZpbmVzX2ZpbGVbQCkiLiAgKi8KKy1d
XSlkbmwKKy1iNF9zaGFyZWRfZGVjbGFyYXRpb25zWworLQorLV1iNF91c2VyX3Bvc3RfcHJvbG9n
dWVbCistXWI0X3BlcmNlbnRfY29kZV9nZXRbXWRubAorLQorLVsjaWZkZWYgc2hvcnQKKy0jIHVu
ZGVmIHNob3J0CistI2VuZGlmCistCistI2lmZGVmIFlZVFlQRV9VSU5UOAorLXR5cGVkZWYgWVlU
WVBFX1VJTlQ4IHl5dHlwZV91aW50ODsKKy0jZWxzZQorLXR5cGVkZWYgdW5zaWduZWQgY2hhciB5
eXR5cGVfdWludDg7CistI2VuZGlmCistCistI2lmZGVmIFlZVFlQRV9JTlQ4CistdHlwZWRlZiBZ
WVRZUEVfSU5UOCB5eXR5cGVfaW50ODsKKy0jZWxzZQorLXR5cGVkZWYgc2lnbmVkIGNoYXIgeXl0
eXBlX2ludDg7CistI2VuZGlmCistCistI2lmZGVmIFlZVFlQRV9VSU5UMTYKKy10eXBlZGVmIFlZ
VFlQRV9VSU5UMTYgeXl0eXBlX3VpbnQxNjsKKy0jZWxzZQorLXR5cGVkZWYgdW5zaWduZWQgc2hv
cnQgeXl0eXBlX3VpbnQxNjsKKy0jZW5kaWYKKy0KKy0jaWZkZWYgWVlUWVBFX0lOVDE2CistdHlw
ZWRlZiBZWVRZUEVfSU5UMTYgeXl0eXBlX2ludDE2OworLSNlbHNlCistdHlwZWRlZiBzaG9ydCB5
eXR5cGVfaW50MTY7CistI2VuZGlmCistCistI2lmbmRlZiBZWVNJWkVfVAorLSMgaWZkZWYgX19T
SVpFX1RZUEVfXworLSMgIGRlZmluZSBZWVNJWkVfVCBfX1NJWkVfVFlQRV9fCistIyBlbGlmIGRl
ZmluZWQgc2l6ZV90CistIyAgZGVmaW5lIFlZU0laRV9UIHNpemVfdAorLSMgZWxpZiAhIGRlZmlu
ZWQgWVlTSVpFX1QKKy0jICBpbmNsdWRlIDxzdGRkZWYuaD4gLyogSU5GUklOR0VTIE9OIFVTRVIg
TkFNRSBTUEFDRSAqLworLSMgIGRlZmluZSBZWVNJWkVfVCBzaXplX3QKKy0jIGVsc2UKKy0jICBk
ZWZpbmUgWVlTSVpFX1QgdW5zaWduZWQKKy0jIGVuZGlmCistI2VuZGlmCistCistI2RlZmluZSBZ
WVNJWkVfTUFYSU1VTSAoKFlZU0laRV9UKSAtMSkKKy0KKy0jaWZuZGVmIFlZXworLSMgaWYgZGVm
aW5lZCBZWUVOQUJMRV9OTFMgJiYgWVlFTkFCTEVfTkxTCistIyAgaWYgRU5BQkxFX05MUworLSMg
ICBpbmNsdWRlIDxsaWJpbnRsLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8K
Ky0jICAgZGVmaW5lIFlZXyhNc2dpZCkgZGdldHRleHQgKCJiaXNvbi1ydW50aW1lIiwgTXNnaWQp
CistIyAgZW5kaWYKKy0jIGVuZGlmCistIyBpZm5kZWYgWVlfCistIyAgZGVmaW5lIFlZXyhNc2dp
ZCkgTXNnaWQKKy0jIGVuZGlmCistI2VuZGlmCistCistXWI0X2F0dHJpYnV0ZV9kZWZpbmVbCist
CistI2lmIF1iNF9sYWNfaWYoW1sxXV0sIFtbISBkZWZpbmVkIHl5b3ZlcmZsb3cgfHwgWVlFUlJP
Ul9WRVJCT1NFXV0pWworLQorLS8qIFRoZSBwYXJzZXIgaW52b2tlcyBhbGxvY2Egb3IgbWFsbG9j
OyBkZWZpbmUgdGhlIG5lY2Vzc2FyeSBzeW1ib2xzLiAgKi9dZG5sCistYjRfcHVzaF9pZihbXSwg
W2I0X2xhY19pZihbXSwgW1sKKy0KKy0jIGlmZGVmIFlZU1RBQ0tfVVNFX0FMTE9DQQorLSMgIGlm
IFlZU1RBQ0tfVVNFX0FMTE9DQQorLSMgICBpZmRlZiBfX0dOVUNfXworLSMgICAgZGVmaW5lIFlZ
U1RBQ0tfQUxMT0MgX19idWlsdGluX2FsbG9jYQorLSMgICBlbGlmIGRlZmluZWQgX19CVUlMVElO
X1ZBX0FSR19JTkNSCistIyAgICBpbmNsdWRlIDxhbGxvY2EuaD4gLyogSU5GUklOR0VTIE9OIFVT
RVIgTkFNRSBTUEFDRSAqLworLSMgICBlbGlmIGRlZmluZWQgX0FJWAorLSMgICAgZGVmaW5lIFlZ
U1RBQ0tfQUxMT0MgX19hbGxvY2EKKy0jICAgZWxpZiBkZWZpbmVkIF9NU0NfVkVSCistIyAgICBp
bmNsdWRlIDxtYWxsb2MuaD4gLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLworLSMg
ICAgZGVmaW5lIGFsbG9jYSBfYWxsb2NhCistIyAgIGVsc2UKKy0jICAgIGRlZmluZSBZWVNUQUNL
X0FMTE9DIGFsbG9jYQorLSMgICAgaWYgISBkZWZpbmVkIF9BTExPQ0FfSCAmJiAhIGRlZmluZWQg
RVhJVF9TVUNDRVNTCistIyAgICAgaW5jbHVkZSA8c3RkbGliLmg+IC8qIElORlJJTkdFUyBPTiBV
U0VSIE5BTUUgU1BBQ0UgKi8KKy0gICAgICAvKiBVc2UgRVhJVF9TVUNDRVNTIGFzIGEgd2l0bmVz
cyBmb3Igc3RkbGliLmguICAqLworLSMgICAgIGlmbmRlZiBFWElUX1NVQ0NFU1MKKy0jICAgICAg
ZGVmaW5lIEVYSVRfU1VDQ0VTUyAwCistIyAgICAgZW5kaWYKKy0jICAgIGVuZGlmCistIyAgIGVu
ZGlmCistIyAgZW5kaWYKKy0jIGVuZGlmXV0pXSlbCistCistIyBpZmRlZiBZWVNUQUNLX0FMTE9D
CistICAgLyogUGFjaWZ5IEdDQydzICdlbXB0eSBpZi1ib2R5JyB3YXJuaW5nLiAgKi8KKy0jICBk
ZWZpbmUgWVlTVEFDS19GUkVFKFB0cikgZG8geyAvKiBlbXB0eSAqLzsgfSB3aGlsZSAoMCkKKy0j
ICBpZm5kZWYgWVlTVEFDS19BTExPQ19NQVhJTVVNCistICAgIC8qIFRoZSBPUyBtaWdodCBndWFy
YW50ZWUgb25seSBvbmUgZ3VhcmQgcGFnZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBzdGFjaywKKy0g
ICAgICAgYW5kIGEgcGFnZSBzaXplIGNhbiBiZSBhcyBzbWFsbCBhcyA0MDk2IGJ5dGVzLiAgU28g
d2UgY2Fubm90IHNhZmVseQorLSAgICAgICBpbnZva2UgYWxsb2NhIChOKSBpZiBOIGV4Y2VlZHMg
NDA5Ni4gIFVzZSBhIHNsaWdodGx5IHNtYWxsZXIgbnVtYmVyCistICAgICAgIHRvIGFsbG93IGZv
ciBhIGZldyBjb21waWxlci1hbGxvY2F0ZWQgdGVtcG9yYXJ5IHN0YWNrIHNsb3RzLiAgKi8KKy0j
ICAgZGVmaW5lIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSA0MDMyIC8qIHJlYXNvbmFibGUgY2lyY2Eg
MjAwNiAqLworLSMgIGVuZGlmCistIyBlbHNlCistIyAgZGVmaW5lIFlZU1RBQ0tfQUxMT0MgWVlN
QUxMT0MKKy0jICBkZWZpbmUgWVlTVEFDS19GUkVFIFlZRlJFRQorLSMgIGlmbmRlZiBZWVNUQUNL
X0FMTE9DX01BWElNVU0KKy0jICAgZGVmaW5lIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSBZWVNJWkVf
TUFYSU1VTQorLSMgIGVuZGlmCistIyAgaWYgKGRlZmluZWQgX19jcGx1c3BsdXMgJiYgISBkZWZp
bmVkIEVYSVRfU1VDQ0VTUyBcCistICAgICAgICYmICEgKChkZWZpbmVkIFlZTUFMTE9DIHx8IGRl
ZmluZWQgbWFsbG9jKSBcCistICAgICAgICAgICAgICYmIChkZWZpbmVkIFlZRlJFRSB8fCBkZWZp
bmVkIGZyZWUpKSkKKy0jICAgaW5jbHVkZSA8c3RkbGliLmg+IC8qIElORlJJTkdFUyBPTiBVU0VS
IE5BTUUgU1BBQ0UgKi8KKy0jICAgaWZuZGVmIEVYSVRfU1VDQ0VTUworLSMgICAgZGVmaW5lIEVY
SVRfU1VDQ0VTUyAwCistIyAgIGVuZGlmCistIyAgZW5kaWYKKy0jICBpZm5kZWYgWVlNQUxMT0MK
Ky0jICAgZGVmaW5lIFlZTUFMTE9DIG1hbGxvYworLSMgICBpZiAhIGRlZmluZWQgbWFsbG9jICYm
ICEgZGVmaW5lZCBFWElUX1NVQ0NFU1MKKy12b2lkICptYWxsb2MgKFlZU0laRV9UKTsgLyogSU5G
UklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLworLSMgICBlbmRpZgorLSMgIGVuZGlmCistIyAg
aWZuZGVmIFlZRlJFRQorLSMgICBkZWZpbmUgWVlGUkVFIGZyZWUKKy0jICAgaWYgISBkZWZpbmVk
IGZyZWUgJiYgISBkZWZpbmVkIEVYSVRfU1VDQ0VTUworLXZvaWQgZnJlZSAodm9pZCAqKTsgLyog
SU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLworLSMgICBlbmRpZgorLSMgIGVuZGlmCist
IyBlbmRpZl1iNF9sYWNfaWYoW1sKKy0jIGRlZmluZSBZWUNPUFlfTkVFREVEIDFdXSlbCistI2Vu
ZGlmXWI0X2xhY19pZihbXSwgW1sgLyogISBkZWZpbmVkIHl5b3ZlcmZsb3cgfHwgWVlFUlJPUl9W
RVJCT1NFICovXV0pWworLQorLQorLSNpZiAoISBkZWZpbmVkIHl5b3ZlcmZsb3cgXAorLSAgICAg
JiYgKCEgZGVmaW5lZCBfX2NwbHVzcGx1cyBcCistICAgICAgICAgfHwgKF1iNF9sb2NhdGlvbnNf
aWYoW1tkZWZpbmVkIF1iNF9hcGlfUFJFRklYW0xUWVBFX0lTX1RSSVZJQUwgJiYgXWI0X2FwaV9Q
UkVGSVhbTFRZUEVfSVNfVFJJVklBTCBcCistICAgICAgICAgICAgICYmIF1dKVtkZWZpbmVkIF1i
NF9hcGlfUFJFRklYW1NUWVBFX0lTX1RSSVZJQUwgJiYgXWI0X2FwaV9QUkVGSVhbU1RZUEVfSVNf
VFJJVklBTCkpKQorLQorLS8qIEEgdHlwZSB0aGF0IGlzIHByb3Blcmx5IGFsaWduZWQgZm9yIGFu
eSBzdGFjayBtZW1iZXIuICAqLworLXVuaW9uIHl5YWxsb2MKKy17CistICB5eXR5cGVfaW50MTYg
eXlzc19hbGxvYzsKKy0gIFlZU1RZUEUgeXl2c19hbGxvYztdYjRfbG9jYXRpb25zX2lmKFsKKy0g
IFlZTFRZUEUgeXlsc19hbGxvYztdKVsKKy19OworLQorLS8qIFRoZSBzaXplIG9mIHRoZSBtYXhp
bXVtIGdhcCBiZXR3ZWVuIG9uZSBhbGlnbmVkIHN0YWNrIGFuZCB0aGUgbmV4dC4gICovCistIyBk
ZWZpbmUgWVlTVEFDS19HQVBfTUFYSU1VTSAoc2l6ZW9mICh1bmlvbiB5eWFsbG9jKSAtIDEpCist
CistLyogVGhlIHNpemUgb2YgYW4gYXJyYXkgbGFyZ2UgdG8gZW5vdWdoIHRvIGhvbGQgYWxsIHN0
YWNrcywgZWFjaCB3aXRoCistICAgTiBlbGVtZW50cy4gICovCistXWI0X2xvY2F0aW9uc19pZigK
Ky1bIyBkZWZpbmUgWVlTVEFDS19CWVRFUyhOKSBcCistICAgICAoKE4pICogKHNpemVvZiAoeXl0
eXBlX2ludDE2KSArIHNpemVvZiAoWVlTVFlQRSkgKyBzaXplb2YgKFlZTFRZUEUpKSBcCistICAg
ICAgKyAyICogWVlTVEFDS19HQVBfTUFYSU1VTSldLAorLVsjIGRlZmluZSBZWVNUQUNLX0JZVEVT
KE4pIFwKKy0gICAgICgoTikgKiAoc2l6ZW9mICh5eXR5cGVfaW50MTYpICsgc2l6ZW9mIChZWVNU
WVBFKSkgXAorLSAgICAgICsgWVlTVEFDS19HQVBfTUFYSU1VTSldKVsKKy0KKy0jIGRlZmluZSBZ
WUNPUFlfTkVFREVEIDEKKy0KKy0vKiBSZWxvY2F0ZSBTVEFDSyBmcm9tIGl0cyBvbGQgbG9jYXRp
b24gdG8gdGhlIG5ldyBvbmUuICBUaGUKKy0gICBsb2NhbCB2YXJpYWJsZXMgWVlTSVpFIGFuZCBZ
WVNUQUNLU0laRSBnaXZlIHRoZSBvbGQgYW5kIG5ldyBudW1iZXIgb2YKKy0gICBlbGVtZW50cyBp
biB0aGUgc3RhY2ssIGFuZCBZWVBUUiBnaXZlcyB0aGUgbmV3IGxvY2F0aW9uIG9mIHRoZQorLSAg
IHN0YWNrLiAgQWR2YW5jZSBZWVBUUiB0byBhIHByb3Blcmx5IGFsaWduZWQgbG9jYXRpb24gZm9y
IHRoZSBuZXh0CistICAgc3RhY2suICAqLworLSMgZGVmaW5lIFlZU1RBQ0tfUkVMT0NBVEUoU3Rh
Y2tfYWxsb2MsIFN0YWNrKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZG8gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCistICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgWVlTSVpFX1QgeXluZXdieXRlczsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIFlZ
Q09QWSAoJnl5cHRyLT5TdGFja19hbGxvYywgU3RhY2ssIHl5c2l6ZSk7ICAgICAgICAgICAgICAg
ICAgICBcCistICAgICAgICBTdGFjayA9ICZ5eXB0ci0+U3RhY2tfYWxsb2M7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgeXluZXdieXRlcyA9IHl5c3RhY2tz
aXplICogc2l6ZW9mICgqU3RhY2spICsgWVlTVEFDS19HQVBfTUFYSU1VTTsgXAorLSAgICAgICAg
eXlwdHIgKz0geXluZXdieXRlcyAvIHNpemVvZiAoKnl5cHRyKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKy0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIHdoaWxlICgwKQorLQorLSNlbmRpZgor
LQorLSNpZiBkZWZpbmVkIFlZQ09QWV9ORUVERUQgJiYgWVlDT1BZX05FRURFRAorLS8qIENvcHkg
Q09VTlQgb2JqZWN0cyBmcm9tIFNSQyB0byBEU1QuICBUaGUgc291cmNlIGFuZCBkZXN0aW5hdGlv
biBkbworLSAgIG5vdCBvdmVybGFwLiAgKi8KKy0jIGlmbmRlZiBZWUNPUFkKKy0jICBpZiBkZWZp
bmVkIF9fR05VQ19fICYmIDEgPCBfX0dOVUNfXworLSMgICBkZWZpbmUgWVlDT1BZKERzdCwgU3Jj
LCBDb3VudCkgXAorLSAgICAgIF9fYnVpbHRpbl9tZW1jcHkgKERzdCwgU3JjLCAoQ291bnQpICog
c2l6ZW9mICgqKFNyYykpKQorLSMgIGVsc2UKKy0jICAgZGVmaW5lIFlZQ09QWShEc3QsIFNyYywg
Q291bnQpICAgICAgICAgICAgICBcCistICAgICAgZG8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorLSAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKy0gICAgICAgICAgWVlTSVpFX1QgeXlpOyAgICAgICAgICAgICAgICAgICAg
ICAgICBcCistICAgICAgICAgIGZvciAoeXlpID0gMDsgeXlpIDwgKENvdW50KTsgeXlpKyspICAg
XAorLSAgICAgICAgICAgIChEc3QpW3l5aV0gPSAoU3JjKVt5eWldOyAgICAgICAgICAgIFwKKy0g
ICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAg
d2hpbGUgKDApCistIyAgZW5kaWYKKy0jIGVuZGlmCistI2VuZGlmIC8qICFZWUNPUFlfTkVFREVE
ICovCistCistLyogWVlGSU5BTCAtLSBTdGF0ZSBudW1iZXIgb2YgdGhlIHRlcm1pbmF0aW9uIHN0
YXRlLiAgKi8KKy0jZGVmaW5lIFlZRklOQUwgIF1iNF9maW5hbF9zdGF0ZV9udW1iZXJbCistLyog
WVlMQVNUIC0tIExhc3QgaW5kZXggaW4gWVlUQUJMRS4gICovCistI2RlZmluZSBZWUxBU1QgICBd
YjRfbGFzdFsKKy0KKy0vKiBZWU5UT0tFTlMgLS0gTnVtYmVyIG9mIHRlcm1pbmFscy4gICovCist
I2RlZmluZSBZWU5UT0tFTlMgIF1iNF90b2tlbnNfbnVtYmVyWworLS8qIFlZTk5UUyAtLSBOdW1i
ZXIgb2Ygbm9udGVybWluYWxzLiAgKi8KKy0jZGVmaW5lIFlZTk5UUyAgXWI0X250ZXJtc19udW1i
ZXJbCistLyogWVlOUlVMRVMgLS0gTnVtYmVyIG9mIHJ1bGVzLiAgKi8KKy0jZGVmaW5lIFlZTlJV
TEVTICBdYjRfcnVsZXNfbnVtYmVyWworLS8qIFlZTlNUQVRFUyAtLSBOdW1iZXIgb2Ygc3RhdGVz
LiAgKi8KKy0jZGVmaW5lIFlZTlNUQVRFUyAgXWI0X3N0YXRlc19udW1iZXJbCistCistI2RlZmlu
ZSBZWVVOREVGVE9LICBdYjRfdW5kZWZfdG9rZW5fbnVtYmVyWworLSNkZWZpbmUgWVlNQVhVVE9L
ICAgXWI0X3VzZXJfdG9rZW5fbnVtYmVyX21heFsKKy0KKy0vKiBZWVRSQU5TTEFURShUT0tFTi1O
VU0pIC0tIFN5bWJvbCBudW1iZXIgY29ycmVzcG9uZGluZyB0byBUT0tFTi1OVU0KKy0gICBhcyBy
ZXR1cm5lZCBieSB5eWxleCwgd2l0aCBvdXQtb2YtYm91bmRzIGNoZWNraW5nLiAgKi8KKy0jZGVm
aW5lIFlZVFJBTlNMQVRFKFlZWCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCistICAoKHVuc2lnbmVkKSAoWVlYKSA8PSBZWU1BWFVUT0sgPyB5eXRyYW5z
bGF0ZVtZWVhdIDogWVlVTkRFRlRPSykKKy0KKy0vKiBZWVRSQU5TTEFURVtUT0tFTi1OVU1dIC0t
IFN5bWJvbCBudW1iZXIgY29ycmVzcG9uZGluZyB0byBUT0tFTi1OVU0KKy0gICBhcyByZXR1cm5l
ZCBieSB5eWxleC4gICovCistc3RhdGljIGNvbnN0IF1iNF9pbnRfdHlwZV9mb3IoW2I0X3RyYW5z
bGF0ZV0pWyB5eXRyYW5zbGF0ZVtdID0KKy17CistICBdYjRfdHJhbnNsYXRlWworLX07CistCist
I2lmIF1iNF9hcGlfUFJFRklYW0RFQlVHCistXWI0X2ludGVncmFsX3BhcnNlcl90YWJsZV9kZWZp
bmUoW3JsaW5lXSwgW2I0X3JsaW5lXSwKKy0gICAgIFtbWVlSTElORVtZWU5dIC0tIFNvdXJjZSBs
aW5lIHdoZXJlIHJ1bGUgbnVtYmVyIFlZTiB3YXMgZGVmaW5lZC5dXSlbCistI2VuZGlmCistCist
I2lmIF1iNF9hcGlfUFJFRklYW0RFQlVHIHx8IFlZRVJST1JfVkVSQk9TRSB8fCBdYjRfdG9rZW5f
dGFibGVfZmxhZ1sKKy0vKiBZWVROQU1FW1NZTUJPTC1OVU1dIC0tIFN0cmluZyBuYW1lIG9mIHRo
ZSBzeW1ib2wgU1lNQk9MLU5VTS4KKy0gICBGaXJzdCwgdGhlIHRlcm1pbmFscywgdGhlbiwgc3Rh
cnRpbmcgYXQgWVlOVE9LRU5TLCBub250ZXJtaW5hbHMuICAqLworLXN0YXRpYyBjb25zdCBjaGFy
ICpjb25zdCB5eXRuYW1lW10gPQorLXsKKy0gIF1iNF90bmFtZVsKKy19OworLSNlbmRpZgorLQor
LSMgaWZkZWYgWVlQUklOVAorLS8qIFlZVE9LTlVNW05VTV0gLS0gKEV4dGVybmFsKSB0b2tlbiBu
dW1iZXIgY29ycmVzcG9uZGluZyB0byB0aGUKKy0gICAoaW50ZXJuYWwpIHN5bWJvbCBudW1iZXIg
TlVNICh3aGljaCBtdXN0IGJlIHRoYXQgb2YgYSB0b2tlbikuICAqLworLXN0YXRpYyBjb25zdCBd
YjRfaW50X3R5cGVfZm9yKFtiNF90b2tudW1dKVsgeXl0b2tudW1bXSA9CisteworLSAgXWI0X3Rv
a251bVsKKy19OworLSMgZW5kaWYKKy0KKy0jZGVmaW5lIFlZUEFDVF9OSU5GIF1iNF9wYWN0X25p
bmZbCistCistI2RlZmluZSB5eXBhY3RfdmFsdWVfaXNfZGVmYXVsdChZeXN0YXRlKSBcCistICBd
YjRfdGFibGVfdmFsdWVfZXF1YWxzKFtbcGFjdF1dLCBbW1l5c3RhdGVdXSwgW2I0X3BhY3Rfbmlu
Zl0pWworLQorLSNkZWZpbmUgWVlUQUJMRV9OSU5GIF1iNF90YWJsZV9uaW5mWworLQorLSNkZWZp
bmUgeXl0YWJsZV92YWx1ZV9pc19lcnJvcihZeXRhYmxlX3ZhbHVlKSBcCistICBdYjRfdGFibGVf
dmFsdWVfZXF1YWxzKFtbdGFibGVdXSwgW1tZeXRhYmxlX3ZhbHVlXV0sIFtiNF90YWJsZV9uaW5m
XSlbCistCistXWI0X3BhcnNlcl90YWJsZXNfZGVmaW5lWworLQorLSNkZWZpbmUgeXllcnJvayAg
ICAgICAgICh5eWVycnN0YXR1cyA9IDApCistI2RlZmluZSB5eWNsZWFyaW4gICAgICAgKHl5Y2hh
ciA9IFlZRU1QVFkpCistI2RlZmluZSBZWUVNUFRZICAgICAgICAgKC0yKQorLSNkZWZpbmUgWVlF
T0YgICAgICAgICAgIDAKKy0KKy0jZGVmaW5lIFlZQUNDRVBUICAgICAgICBnb3RvIHl5YWNjZXB0
bGFiCistI2RlZmluZSBZWUFCT1JUICAgICAgICAgZ290byB5eWFib3J0bGFiCistI2RlZmluZSBZ
WUVSUk9SICAgICAgICAgZ290byB5eWVycm9ybGFiCistCistCistI2RlZmluZSBZWVJFQ09WRVJJ
TkcoKSAgKCEheXllcnJzdGF0dXMpCistCistI2RlZmluZSBZWUJBQ0tVUChUb2tlbiwgVmFsdWUp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgZG8gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAg
aWYgKHl5Y2hhciA9PSBZWUVNUFRZKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCistICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgeXljaGFyID0gKFRva2VuKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIHl5bHZhbCA9IChWYWx1
ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICBZ
WVBPUFNUQUNLICh5eWxlbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorLSAgICAgICAgeXlzdGF0ZSA9ICp5eXNzcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxdYjRfbGFjX2lmKFtbCistICAgICAgICBZWV9MQUNfRElTQ0FSRCAoIllZ
QkFDS1VQIik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF1dKVsKKy0gICAgICAgIGdv
dG8geXliYWNrdXA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CistICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorLSAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICB5eWVycm9y
IChdYjRfeXllcnJvcl9hcmdzW1lZXygic3ludGF4IGVycm9yOiBjYW5ub3QgYmFjayB1cCIpKTsg
XAorLSAgICAgICAgWVlFUlJPUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKy0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICB3aGlsZSAoMCkKKy0KKy0vKiBFcnJvciB0
b2tlbiBudW1iZXIgKi8KKy0jZGVmaW5lIFlZVEVSUk9SICAgICAgICAxCistI2RlZmluZSBZWUVS
UkNPREUgICAgICAgMjU2CistCistXWI0X2xvY2F0aW9uc19pZihbWworLV1iNF95eWxsb2NfZGVm
YXVsdF9kZWZpbmVbCistI2RlZmluZSBZWVJIU0xPQyhSaHMsIEspICgoUmhzKVtLXSkKKy1dXSlb
CistCistLyogRW5hYmxlIGRlYnVnZ2luZyBpZiByZXF1ZXN0ZWQuICAqLworLSNpZiBdYjRfYXBp
X1BSRUZJWFtERUJVRworLQorLSMgaWZuZGVmIFlZRlBSSU5URgorLSMgIGluY2x1ZGUgPHN0ZGlv
Lmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KKy0jICBkZWZpbmUgWVlGUFJJ
TlRGIGZwcmludGYKKy0jIGVuZGlmCistCistIyBkZWZpbmUgWVlEUFJJTlRGKEFyZ3MpICAgICAg
ICAgICAgICAgICAgICAgICAgXAorLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKy0gIGlmICh5eWRlYnVnKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCistICAgIFlZRlBSSU5URiBBcmdzOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorLX0gd2hpbGUgKDApCistCistXWI0X3l5X2xvY2F0aW9uX3ByaW50X2RlZmluZVsKKy0K
Ky0jIGRlZmluZSBZWV9TWU1CT0xfUFJJTlQoVGl0bGUsIFR5cGUsIFZhbHVlLCBMb2NhdGlvbikg
ICAgICAgICAgICAgICAgICAgIFwKKy1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gIGlmICh5eWRlYnVn
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKy0gICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICBZWUZQUklOVEYgKHN0ZGVyciwgIiVz
ICIsIFRpdGxlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICB5
eV9zeW1ib2xfcHJpbnQgKHN0ZGVyciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKy0gICAgICAgICAgICAgICAgICBUeXBlLCBWYWx1ZV1iNF9sb2NhdGlvbnNf
aWYoWywgTG9jYXRpb25dKVtdYjRfdXNlcl9hcmdzWyk7IFwKKy0gICAgICBZWUZQUklOVEYgKHN0
ZGVyciwgIlxuIik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
Ky0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKy19IHdoaWxlICgwKQorLQorLV1iNF95eV9zeW1ib2xfcHJp
bnRfZGVmaW5lWworLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgorLXwgeXlfc3RhY2tfcHJpbnQgLS0gUHJpbnQg
dGhlIHN0YXRlIHN0YWNrIGZyb20gaXRzIEJPVFRPTSB1cCB0byBpdHMgfAorLXwgVE9QIChpbmNs
dWRlZCkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fAorLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0qLworLQorLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5X3N0YWNrX3ByaW50
XSwgW3N0YXRpYyB2b2lkXSwKKy0gICAgICAgICAgICAgICAgICAgW1t5eXR5cGVfaW50MTYgKnl5
Ym90dG9tXSwgW3l5Ym90dG9tXV0sCistICAgICAgICAgICAgICAgICAgIFtbeXl0eXBlX2ludDE2
ICp5eXRvcF0sICAgIFt5eXRvcF1dKVsKKy17CistICBZWUZQUklOVEYgKHN0ZGVyciwgIlN0YWNr
IG5vdyIpOworLSAgZm9yICg7IHl5Ym90dG9tIDw9IHl5dG9wOyB5eWJvdHRvbSsrKQorLSAgICB7
CistICAgICAgaW50IHl5Ym90ID0gKnl5Ym90dG9tOworLSAgICAgIFlZRlBSSU5URiAoc3RkZXJy
LCAiICVkIiwgeXlib3QpOworLSAgICB9CistICBZWUZQUklOVEYgKHN0ZGVyciwgIlxuIik7Cist
fQorLQorLSMgZGVmaW5lIFlZX1NUQUNLX1BSSU5UKEJvdHRvbSwgVG9wKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCistZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gIGlmICh5eWRlYnVnKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICB5eV9zdGFja19wcmlu
dCAoKEJvdHRvbSksIChUb3ApKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistfSB3aGls
ZSAoMCkKKy0KKy0KKy0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS4KKy18IFJlcG9ydCB0aGF0IHRoZSBZWVJVTEUgaXMgZ29pbmcgdG8gYmUgcmVkdWNl
ZC4gIHwKKy1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ki8KKy0KKy1dYjRfZnVuY3Rpb25fZGVmaW5lKFt5eV9yZWR1Y2VfcHJpbnRdLCBbc3RhdGljIHZv
aWRdLAorLSAgICAgICAgICAgICAgICAgICBbW3l5dHlwZV9pbnQxNiAqeXlzc3BdLCBbeXlzc3Bd
XSwKKy0gICAgICAgICAgICAgICAgICAgW1tZWVNUWVBFICp5eXZzcF0sIFt5eXZzcF1dLAorLSAg
ICBiNF9sb2NhdGlvbnNfaWYoW1tbWVlMVFlQRSAqeXlsc3BdLCBbeXlsc3BdXSwKKy0gICAgICAg
ICAgICAgICAgICAgXSlbW2ludCB5eXJ1bGVdLCBbeXlydWxlXV1tNF9pZnNldChbYjRfcGFyc2Vf
cGFyYW1dLCBbLAorLSAgICAgICAgICAgICAgICAgICBiNF9wYXJzZV9wYXJhbV0pKVsKKy17Cist
ICB1bnNpZ25lZCBsb25nIHl5bG5vID0geXlybGluZVt5eXJ1bGVdOworLSAgaW50IHl5bnJocyA9
IHl5cjJbeXlydWxlXTsKKy0gIGludCB5eWk7CistICBZWUZQUklOVEYgKHN0ZGVyciwgIlJlZHVj
aW5nIHN0YWNrIGJ5IHJ1bGUgJWQgKGxpbmUgJWx1KTpcbiIsCistICAgICAgICAgICAgIHl5cnVs
ZSAtIDEsIHl5bG5vKTsKKy0gIC8qIFRoZSBzeW1ib2xzIGJlaW5nIHJlZHVjZWQuICAqLworLSAg
Zm9yICh5eWkgPSAwOyB5eWkgPCB5eW5yaHM7IHl5aSsrKQorLSAgICB7CistICAgICAgWVlGUFJJ
TlRGIChzdGRlcnIsICIgICAkJWQgPSAiLCB5eWkgKyAxKTsKKy0gICAgICB5eV9zeW1ib2xfcHJp
bnQgKHN0ZGVyciwKKy0gICAgICAgICAgICAgICAgICAgICAgIHl5c3Rvc1t5eXNzcFt5eWkgKyAx
IC0geXlucmhzXV0sCistICAgICAgICAgICAgICAgICAgICAgICAmXWI0X3Joc192YWx1ZSh5eW5y
aHMsIHl5aSArIDEpWworLSAgICAgICAgICAgICAgICAgICAgICAgXWI0X2xvY2F0aW9uc19pZihb
LCAmXWI0X3Joc19sb2NhdGlvbih5eW5yaHMsIHl5aSArIDEpKVtdZG5sCistICAgICAgICAgICAg
ICAgICAgICAgICBiNF91c2VyX2FyZ3NbKTsKKy0gICAgICBZWUZQUklOVEYgKHN0ZGVyciwgIlxu
Iik7CistICAgIH0KKy19CistCistIyBkZWZpbmUgWVlfUkVEVUNFX1BSSU5UKFJ1bGUpICAgICAg
ICAgIFwKKy1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgaWYg
KHl5ZGVidWcpICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIHl5X3JlZHVjZV9wcmlu
dCAoeXlzc3AsIHl5dnNwLCBdYjRfbG9jYXRpb25zX2lmKFt5eWxzcCwgXSlbUnVsZV1iNF91c2Vy
X2FyZ3NbKTsgXAorLX0gd2hpbGUgKDApCistCistLyogTm9uemVybyBtZWFucyBwcmludCBwYXJz
ZSB0cmFjZS4gIEl0IGlzIGxlZnQgdW5pbml0aWFsaXplZCBzbyB0aGF0CistICAgbXVsdGlwbGUg
cGFyc2VycyBjYW4gY29leGlzdC4gICovCistaW50IHl5ZGVidWc7CistI2Vsc2UgLyogIV1iNF9h
cGlfUFJFRklYW0RFQlVHICovCistIyBkZWZpbmUgWVlEUFJJTlRGKEFyZ3MpCistIyBkZWZpbmUg
WVlfU1lNQk9MX1BSSU5UKFRpdGxlLCBUeXBlLCBWYWx1ZSwgTG9jYXRpb24pCistIyBkZWZpbmUg
WVlfU1RBQ0tfUFJJTlQoQm90dG9tLCBUb3ApCistIyBkZWZpbmUgWVlfUkVEVUNFX1BSSU5UKFJ1
bGUpCistI2VuZGlmIC8qICFdYjRfYXBpX1BSRUZJWFtERUJVRyAqLworLQorLQorLS8qIFlZSU5J
VERFUFRIIC0tIGluaXRpYWwgc2l6ZSBvZiB0aGUgcGFyc2VyJ3Mgc3RhY2tzLiAgKi8KKy0jaWZu
ZGVmIFlZSU5JVERFUFRICistIyBkZWZpbmUgWVlJTklUREVQVEggXWI0X3N0YWNrX2RlcHRoX2lu
aXRbCistI2VuZGlmCistCistLyogWVlNQVhERVBUSCAtLSBtYXhpbXVtIHNpemUgdGhlIHN0YWNr
cyBjYW4gZ3JvdyB0byAoZWZmZWN0aXZlIG9ubHkKKy0gICBpZiB0aGUgYnVpbHQtaW4gc3RhY2sg
ZXh0ZW5zaW9uIG1ldGhvZCBpcyB1c2VkKS4KKy0KKy0gICBEbyBub3QgbWFrZSB0aGlzIHZhbHVl
IHRvbyBsYXJnZTsgdGhlIHJlc3VsdHMgYXJlIHVuZGVmaW5lZCBpZgorLSAgIFlZU1RBQ0tfQUxM
T0NfTUFYSU1VTSA8IFlZU1RBQ0tfQllURVMgKFlZTUFYREVQVEgpCistICAgZXZhbHVhdGVkIHdp
dGggaW5maW5pdGUtcHJlY2lzaW9uIGludGVnZXIgYXJpdGhtZXRpYy4gICovCistCistI2lmbmRl
ZiBZWU1BWERFUFRICistIyBkZWZpbmUgWVlNQVhERVBUSCBdYjRfc3RhY2tfZGVwdGhfbWF4Wwor
LSNlbmRpZl1iNF9sYWNfaWYoW1sKKy0KKy0vKiBHaXZlbiBhIHN0YXRlIHN0YWNrIHN1Y2ggdGhh
dCAqWVlCT1RUT00gaXMgaXRzIGJvdHRvbSwgc3VjaCB0aGF0CistICAgKllZVE9QIGlzIGVpdGhl
ciBpdHMgdG9wIG9yIGlzIFlZVE9QX0VNUFRZIHRvIGluZGljYXRlIGFuIGVtcHR5CistICAgc3Rh
Y2ssIGFuZCBzdWNoIHRoYXQgKllZQ0FQQUNJVFkgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGVs
ZW1lbnRzIGl0CistICAgY2FuIGhvbGQgd2l0aG91dCBhIHJlYWxsb2NhdGlvbiwgbWFrZSBzdXJl
IHRoZXJlIGlzIGVub3VnaCByb29tIHRvCistICAgc3RvcmUgWVlBREQgbW9yZSBlbGVtZW50cy4g
IElmIG5vdCwgYWxsb2NhdGUgYSBuZXcgc3RhY2sgdXNpbmcKKy0gICBZWVNUQUNLX0FMTE9DLCBj
b3B5IHRoZSBleGlzdGluZyBlbGVtZW50cywgYW5kIGFkanVzdCAqWVlCT1RUT00sCistICAgKllZ
VE9QLCBhbmQgKllZQ0FQQUNJVFkgdG8gcmVmbGVjdCB0aGUgbmV3IGNhcGFjaXR5IGFuZCBtZW1v
cnkKKy0gICBsb2NhdGlvbi4gIElmICpZWUJPVFRPTSAhPSBZWUJPVFRPTV9OT19GUkVFLCB0aGVu
IGZyZWUgdGhlIG9sZCBzdGFjaworLSAgIHVzaW5nIFlZU1RBQ0tfRlJFRS4gIFJldHVybiAwIGlm
IHN1Y2Nlc3NmdWwgb3IgaWYgbm8gcmVhbGxvY2F0aW9uIGlzCistICAgcmVxdWlyZWQuICBSZXR1
cm4gMSBpZiBtZW1vcnkgaXMgZXhoYXVzdGVkLiAgKi8KKy1zdGF0aWMgaW50CisteXlfbGFjX3N0
YWNrX3JlYWxsb2MgKFlZU0laRV9UICp5eWNhcGFjaXR5LCBZWVNJWkVfVCB5eWFkZCwKKy0jaWYg
XWI0X2FwaV9QUkVGSVhbREVCVUcKKy0gICAgICAgICAgICAgICAgICAgICAgY2hhciBjb25zdCAq
eXlkZWJ1Z19wcmVmaXgsCistICAgICAgICAgICAgICAgICAgICAgIGNoYXIgY29uc3QgKnl5ZGVi
dWdfc3VmZml4LAorLSNlbmRpZgorLSAgICAgICAgICAgICAgICAgICAgICB5eXR5cGVfaW50MTYg
Kip5eWJvdHRvbSwKKy0gICAgICAgICAgICAgICAgICAgICAgeXl0eXBlX2ludDE2ICp5eWJvdHRv
bV9ub19mcmVlLAorLSAgICAgICAgICAgICAgICAgICAgICB5eXR5cGVfaW50MTYgKip5eXRvcCwg
eXl0eXBlX2ludDE2ICp5eXRvcF9lbXB0eSkKKy17CistICBZWVNJWkVfVCB5eXNpemVfb2xkID0K
Ky0gICAgKFlZU0laRV9UKSAoKnl5dG9wID09IHl5dG9wX2VtcHR5ID8gMCA6ICp5eXRvcCAtICp5
eWJvdHRvbSArIDEpOworLSAgWVlTSVpFX1QgeXlzaXplX25ldyA9IHl5c2l6ZV9vbGQgKyB5eWFk
ZDsKKy0gIGlmICgqeXljYXBhY2l0eSA8IHl5c2l6ZV9uZXcpCistICAgIHsKKy0gICAgICBZWVNJ
WkVfVCB5eWFsbG9jID0gMiAqIHl5c2l6ZV9uZXc7CistICAgICAgeXl0eXBlX2ludDE2ICp5eWJv
dHRvbV9uZXc7CistICAgICAgLyogVXNlIFlZTUFYREVQVEggZm9yIG1heGltdW0gc3RhY2sgc2l6
ZSBnaXZlbiB0aGF0IHRoZSBzdGFjaworLSAgICAgICAgIHNob3VsZCBuZXZlciBuZWVkIHRvIGdy
b3cgbGFyZ2VyIHRoYW4gdGhlIG1haW4gc3RhdGUgc3RhY2sKKy0gICAgICAgICBuZWVkcyB0byBn
cm93IHdpdGhvdXQgTEFDLiAgKi8KKy0gICAgICBpZiAoWVlNQVhERVBUSCA8IHl5c2l6ZV9uZXcp
CistICAgICAgICB7CistICAgICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiVzbWF4IHNpemUg
ZXhjZWVkZWQlcyIsIHl5ZGVidWdfcHJlZml4LAorLSAgICAgICAgICAgICAgICAgICAgICB5eWRl
YnVnX3N1ZmZpeCkpOworLSAgICAgICAgICByZXR1cm4gMTsKKy0gICAgICAgIH0KKy0gICAgICBp
ZiAoWVlNQVhERVBUSCA8IHl5YWxsb2MpCistICAgICAgICB5eWFsbG9jID0gWVlNQVhERVBUSDsK
Ky0gICAgICB5eWJvdHRvbV9uZXcgPQorLSAgICAgICAgKHl5dHlwZV9pbnQxNiopIFlZU1RBQ0tf
QUxMT0MgKHl5YWxsb2MgKiBzaXplb2YgKnl5Ym90dG9tX25ldyk7CistICAgICAgaWYgKCF5eWJv
dHRvbV9uZXcpCistICAgICAgICB7CistICAgICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiVz
cmVhbGxvYyBmYWlsZWQlcyIsIHl5ZGVidWdfcHJlZml4LAorLSAgICAgICAgICAgICAgICAgICAg
ICB5eWRlYnVnX3N1ZmZpeCkpOworLSAgICAgICAgICByZXR1cm4gMTsKKy0gICAgICAgIH0KKy0g
ICAgICBpZiAoKnl5dG9wICE9IHl5dG9wX2VtcHR5KQorLSAgICAgICAgeworLSAgICAgICAgICBZ
WUNPUFkgKHl5Ym90dG9tX25ldywgKnl5Ym90dG9tLCB5eXNpemVfb2xkKTsKKy0gICAgICAgICAg
Knl5dG9wID0geXlib3R0b21fbmV3ICsgKHl5c2l6ZV9vbGQgLSAxKTsKKy0gICAgICAgIH0KKy0g
ICAgICBpZiAoKnl5Ym90dG9tICE9IHl5Ym90dG9tX25vX2ZyZWUpCistICAgICAgICBZWVNUQUNL
X0ZSRUUgKCp5eWJvdHRvbSk7CistICAgICAgKnl5Ym90dG9tID0geXlib3R0b21fbmV3OworLSAg
ICAgICp5eWNhcGFjaXR5ID0geXlhbGxvYztdbTRfaWYoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtb
cGFyc2UubGFjLm1lbW9yeS10cmFjZV1dKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFtmdWxsXSwgW1sKKy0gICAgICBZWURQUklOVEYgKChzdGRlcnIsICIlc3JlYWxsb2Mg
dG8gJWx1JXMiLCB5eWRlYnVnX3ByZWZpeCwKKy0gICAgICAgICAgICAgICAgICAodW5zaWduZWQg
bG9uZykgeXlhbGxvYywgeXlkZWJ1Z19zdWZmaXgpKTtdXSlbCistICAgIH0KKy0gIHJldHVybiAw
OworLX0KKy0KKy0vKiBFc3RhYmxpc2ggdGhlIGluaXRpYWwgY29udGV4dCBmb3IgdGhlIGN1cnJl
bnQgbG9va2FoZWFkIGlmIG5vIGluaXRpYWwKKy0gICBjb250ZXh0IGlzIGN1cnJlbnRseSBlc3Rh
Ymxpc2hlZC4KKy0KKy0gICBXZSBkZWZpbmUgYSBjb250ZXh0IGFzIGEgc25hcHNob3Qgb2YgdGhl
IHBhcnNlciBzdGFja3MuICBXZSBkZWZpbmUKKy0gICB0aGUgaW5pdGlhbCBjb250ZXh0IGZvciBh
IGxvb2thaGVhZCBhcyB0aGUgY29udGV4dCBpbiB3aGljaCB0aGUKKy0gICBwYXJzZXIgaW5pdGlh
bGx5IGV4YW1pbmVzIHRoYXQgbG9va2FoZWFkIGluIG9yZGVyIHRvIHNlbGVjdCBhCistICAgc3lu
dGFjdGljIGFjdGlvbi4gIFRodXMsIGlmIHRoZSBsb29rYWhlYWQgZXZlbnR1YWxseSBwcm92ZXMK
Ky0gICBzeW50YWN0aWNhbGx5IHVuYWNjZXB0YWJsZSAocG9zc2libHkgaW4gYSBsYXRlciBjb250
ZXh0IHJlYWNoZWQgdmlhIGEKKy0gICBzZXJpZXMgb2YgcmVkdWN0aW9ucyksIHRoZSBpbml0aWFs
IGNvbnRleHQgY2FuIGJlIHVzZWQgdG8gZGV0ZXJtaW5lCistICAgdGhlIGV4YWN0IHNldCBvZiB0
b2tlbnMgdGhhdCB3b3VsZCBiZSBzeW50YWN0aWNhbGx5IGFjY2VwdGFibGUgaW4gdGhlCistICAg
bG9va2FoZWFkJ3MgcGxhY2UuICBNb3Jlb3ZlciwgaXQgaXMgdGhlIGNvbnRleHQgYWZ0ZXIgd2hp
Y2ggYW55CistICAgZnVydGhlciBzZW1hbnRpYyBhY3Rpb25zIHdvdWxkIGJlIGVycm9uZW91cyBi
ZWNhdXNlIHRoZXkgd291bGQgYmUKKy0gICBkZXRlcm1pbmVkIGJ5IGEgc3ludGFjdGljYWxseSB1
bmFjY2VwdGFibGUgdG9rZW4uCistCistICAgWVlfTEFDX0VTVEFCTElTSCBzaG91bGQgYmUgaW52
b2tlZCB3aGVuIGEgcmVkdWN0aW9uIGlzIGFib3V0IHRvIGJlCistICAgcGVyZm9ybWVkIGluIGFu
IGluY29uc2lzdGVudCBzdGF0ZSAod2hpY2gsIGZvciB0aGUgcHVycG9zZXMgb2YgTEFDLAorLSAg
IGluY2x1ZGVzIGNvbnNpc3RlbnQgc3RhdGVzIHRoYXQgZG9uJ3Qga25vdyB0aGV5J3JlIGNvbnNp
c3RlbnQgYmVjYXVzZQorLSAgIHRoZWlyIGRlZmF1bHQgcmVkdWN0aW9ucyBoYXZlIGJlZW4gZGlz
YWJsZWQpLiAgSWZmIHRoZXJlIGlzIGEKKy0gICBsb29rYWhlYWQgdG9rZW4sIGl0IHNob3VsZCBh
bHNvIGJlIGludm9rZWQgYmVmb3JlIHJlcG9ydGluZyBhIHN5bnRheAorLSAgIGVycm9yLiAgVGhp
cyBsYXR0ZXIgY2FzZSBpcyBmb3IgdGhlIHNha2Ugb2YgdGhlIGRlYnVnZ2luZyBvdXRwdXQuCist
CistICAgRm9yIHBhcnNlLmxhYz1mdWxsLCB0aGUgaW1wbGVtZW50YXRpb24gb2YgWVlfTEFDX0VT
VEFCTElTSCBpcyBhcworLSAgIGZvbGxvd3MuICBJZiBubyBpbml0aWFsIGNvbnRleHQgaXMgY3Vy
cmVudGx5IGVzdGFibGlzaGVkIGZvciB0aGUKKy0gICBjdXJyZW50IGxvb2thaGVhZCwgdGhlbiBj
aGVjayBpZiB0aGF0IGxvb2thaGVhZCBjYW4gZXZlbnR1YWxseSBiZQorLSAgIHNoaWZ0ZWQgaWYg
c3ludGFjdGljIGFjdGlvbnMgY29udGludWUgZnJvbSB0aGUgY3VycmVudCBjb250ZXh0LgorLSAg
IFJlcG9ydCBhIHN5bnRheCBlcnJvciBpZiBpdCBjYW5ub3QuICAqLworLSNkZWZpbmUgWVlfTEFD
X0VTVEFCTElTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLWRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorLSAgaWYgKCF5eV9sYWNfZXN0YWJsaXNoZWQpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorLSAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgIFlZRFBSSU5URiAoKHN0ZGVy
ciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICAg
ICAgICAgICJMQUM6IGluaXRpYWwgY29udGV4dCBlc3RhYmxpc2hlZCBmb3IgJXNcbiIsICAgXAor
LSAgICAgICAgICAgICAgICAgIHl5dG5hbWVbeXl0b2tlbl0pKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorLSAgICAgIHl5X2xhY19lc3RhYmxpc2hlZCA9IDE7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgaW50IHl5X2xhY19z
dGF0dXMgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAg
ICB5eV9sYWMgKHl5ZXNhLCAmeXllcywgJnl5ZXNfY2FwYWNpdHksIHl5c3NwLCB5eXRva2VuKTsg
XAorLSAgICAgICAgaWYgKHl5X2xhY19zdGF0dXMgPT0gMikgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorLSAgICAgICAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgaWYgKHl5X2xhY19zdGF0dXMgPT0g
MSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICBnb3RvIHl5
ZXJybGFiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAg
IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorLX0gd2hpbGUgKDApCistCistLyogRGlzY2FyZCBhbnkgcHJldmlv
dXMgaW5pdGlhbCBsb29rYWhlYWQgY29udGV4dCBiZWNhdXNlIG9mIEV2ZW50LAorLSAgIHdoaWNo
IG1heSBiZSBhIGxvb2thaGVhZCBjaGFuZ2Ugb3IgYW4gaW52YWxpZGF0aW9uIG9mIHRoZSBjdXJy
ZW50bHkKKy0gICBlc3RhYmxpc2hlZCBpbml0aWFsIGNvbnRleHQgZm9yIHRoZSBjdXJyZW50IGxv
b2thaGVhZC4KKy0KKy0gICBUaGUgbW9zdCBjb21tb24gZXhhbXBsZSBvZiBhIGxvb2thaGVhZCBj
aGFuZ2UgaXMgYSBzaGlmdC4gIEFuIGV4YW1wbGUKKy0gICBvZiBib3RoIGNhc2VzIGlzIHN5bnRh
eCBlcnJvciByZWNvdmVyeS4gIFRoYXQgaXMsIGEgc3ludGF4IGVycm9yCistICAgb2NjdXJzIHdo
ZW4gdGhlIGxvb2thaGVhZCBpcyBzeW50YWN0aWNhbGx5IGVycm9uZW91cyBmb3IgdGhlCistICAg
Y3VycmVudGx5IGVzdGFibGlzaGVkIGluaXRpYWwgY29udGV4dCwgc28gZXJyb3IgcmVjb3Zlcnkg
bWFuaXB1bGF0ZXMKKy0gICB0aGUgcGFyc2VyIHN0YWNrcyB0byB0cnkgdG8gZmluZCBhIG5ldyBp
bml0aWFsIGNvbnRleHQgaW4gd2hpY2ggdGhlCistICAgY3VycmVudCBsb29rYWhlYWQgaXMgc3lu
dGFjdGljYWxseSBhY2NlcHRhYmxlLiAgSWYgaXQgZmFpbHMgdG8gZmluZAorLSAgIHN1Y2ggYSBj
b250ZXh0LCBpdCBkaXNjYXJkcyB0aGUgbG9va2FoZWFkLiAgKi8KKy0jaWYgXWI0X2FwaV9QUkVG
SVhbREVCVUcKKy0jIGRlZmluZSBZWV9MQUNfRElTQ0FSRChFdmVudCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLWRvIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICBpZiAo
eXlfbGFjX2VzdGFibGlzaGVkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKy0gICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgIGlmICh5eWRlYnVnKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg
ICAgICBZWUZQUklOVEYgKHN0ZGVyciwgIkxBQzogaW5pdGlhbCBjb250ZXh0IGRpc2NhcmRlZCBk
dWUgdG8gIiAgICAgIFwKKy0gICAgICAgICAgICAgICAgICAgRXZlbnQgIlxuIik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgIHl5X2xhY19lc3RhYmxp
c2hlZCA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCist
ICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKy19IHdoaWxlICgwKQorLSNlbHNlCistIyBkZWZpbmUgWVlfTEFD
X0RJU0NBUkQoRXZlbnQpIHl5X2xhY19lc3RhYmxpc2hlZCA9IDAKKy0jZW5kaWYKKy0KKy0vKiBH
aXZlbiB0aGUgc3RhY2sgd2hvc2UgdG9wIGlzICpZWVNTUCwgcmV0dXJuIDAgaWZmIFlZVE9LRU4g
Y2FuCistICAgZXZlbnR1YWxseSAoYWZ0ZXIgcGVyaGFwcyBzb21lIHJlZHVjdGlvbnMpIGJlIHNo
aWZ0ZWQsIHJldHVybiAxIGlmCistICAgbm90LCBvciByZXR1cm4gMiBpZiBtZW1vcnkgaXMgZXho
YXVzdGVkLiAgQXMgcHJlY29uZGl0aW9ucyBhbmQKKy0gICBwb3N0Y29uZGl0aW9uczogKllZRVNf
Q0FQQUNJVFkgaXMgdGhlIGFsbG9jYXRlZCBzaXplIG9mIHRoZSBhcnJheSB0bworLSAgIHdoaWNo
ICpZWUVTIHBvaW50cywgYW5kIGVpdGhlciAqWVlFUyA9IFlZRVNBIG9yICpZWUVTIHBvaW50cyB0
byBhbgorLSAgIGFycmF5IGFsbG9jYXRlZCB3aXRoIFlZU1RBQ0tfQUxMT0MuICB5eV9sYWMgbWF5
IG92ZXJ3cml0ZSB0aGUKKy0gICBjb250ZW50cyBvZiBlaXRoZXIgYXJyYXksIGFsdGVyICpZWUVT
IGFuZCAqWVlFU19DQVBBQ0lUWSwgYW5kIGZyZWUKKy0gICBhbnkgb2xkICpZWUVTIG90aGVyIHRo
YW4gWVlFU0EuICAqLworLXN0YXRpYyBpbnQKKy15eV9sYWMgKHl5dHlwZV9pbnQxNiAqeXllc2Es
IHl5dHlwZV9pbnQxNiAqKnl5ZXMsCistICAgICAgICBZWVNJWkVfVCAqeXllc19jYXBhY2l0eSwg
eXl0eXBlX2ludDE2ICp5eXNzcCwgaW50IHl5dG9rZW4pCisteworLSAgeXl0eXBlX2ludDE2ICp5
eWVzX3ByZXYgPSB5eXNzcDsKKy0gIHl5dHlwZV9pbnQxNiAqeXllc3AgPSB5eWVzX3ByZXY7Cist
ICBZWURQUklOVEYgKChzdGRlcnIsICJMQUM6IGNoZWNraW5nIGxvb2thaGVhZCAlczoiLCB5eXRu
YW1lW3l5dG9rZW5dKSk7CistICBpZiAoeXl0b2tlbiA9PSBZWVVOREVGVE9LKQorLSAgICB7Cist
ICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiIEFsd2F5cyBFcnJcbiIpKTsKKy0gICAgICByZXR1
cm4gMTsKKy0gICAgfQorLSAgd2hpbGUgKDEpCistICAgIHsKKy0gICAgICBpbnQgeXlydWxlID0g
eXlwYWN0Wyp5eWVzcF07CistICAgICAgaWYgKHl5cGFjdF92YWx1ZV9pc19kZWZhdWx0ICh5eXJ1
bGUpCistICAgICAgICAgIHx8ICh5eXJ1bGUgKz0geXl0b2tlbikgPCAwIHx8IFlZTEFTVCA8IHl5
cnVsZQorLSAgICAgICAgICB8fCB5eWNoZWNrW3l5cnVsZV0gIT0geXl0b2tlbikKKy0gICAgICAg
IHsKKy0gICAgICAgICAgeXlydWxlID0geXlkZWZhY3RbKnl5ZXNwXTsKKy0gICAgICAgICAgaWYg
KHl5cnVsZSA9PSAwKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgIFlZRFBSSU5URiAo
KHN0ZGVyciwgIiBFcnJcbiIpKTsKKy0gICAgICAgICAgICAgIHJldHVybiAxOworLSAgICAgICAg
ICAgIH0KKy0gICAgICAgIH0KKy0gICAgICBlbHNlCistICAgICAgICB7CistICAgICAgICAgIHl5
cnVsZSA9IHl5dGFibGVbeXlydWxlXTsKKy0gICAgICAgICAgaWYgKHl5dGFibGVfdmFsdWVfaXNf
ZXJyb3IgKHl5cnVsZSkpCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgWVlEUFJJTlRG
ICgoc3RkZXJyLCAiIEVyclxuIikpOworLSAgICAgICAgICAgICAgcmV0dXJuIDE7CistICAgICAg
ICAgICAgfQorLSAgICAgICAgICBpZiAoMCA8IHl5cnVsZSkKKy0gICAgICAgICAgICB7CistICAg
ICAgICAgICAgICBZWURQUklOVEYgKChzdGRlcnIsICIgUyVkXG4iLCB5eXJ1bGUpKTsKKy0gICAg
ICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgeXlydWxlID0g
LXl5cnVsZTsKKy0gICAgICAgIH0KKy0gICAgICB7CistICAgICAgICBZWVNJWkVfVCB5eWxlbiA9
IHl5cjJbeXlydWxlXTsKKy0gICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiBSJWQiLCB5eXJ1
bGUgLSAxKSk7CistICAgICAgICBpZiAoeXllc3AgIT0geXllc19wcmV2KQorLSAgICAgICAgICB7
CistICAgICAgICAgICAgWVlTSVpFX1QgeXlzaXplID0gKFlZU0laRV9UKSAoeXllc3AgLSAqeXll
cyArIDEpOworLSAgICAgICAgICAgIGlmICh5eWxlbiA8IHl5c2l6ZSkKKy0gICAgICAgICAgICAg
IHsKKy0gICAgICAgICAgICAgICAgeXllc3AgLT0geXlsZW47CistICAgICAgICAgICAgICAgIHl5
bGVuID0gMDsKKy0gICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBlbHNlCistICAgICAgICAg
ICAgICB7CistICAgICAgICAgICAgICAgIHl5bGVuIC09IHl5c2l6ZTsKKy0gICAgICAgICAgICAg
ICAgeXllc3AgPSB5eWVzX3ByZXY7CistICAgICAgICAgICAgICB9CistICAgICAgICAgIH0KKy0g
ICAgICAgIGlmICh5eWxlbikKKy0gICAgICAgICAgeXllc3AgPSB5eWVzX3ByZXYgLT0geXlsZW47
CistICAgICAgfQorLSAgICAgIHsKKy0gICAgICAgIHl5dHlwZV9pbnQxNiB5eXN0YXRlOworLSAg
ICAgICAgeworLSAgICAgICAgICBjb25zdCBpbnQgeXlsaHMgPSB5eXIxW3l5cnVsZV0gLSBZWU5U
T0tFTlM7CistICAgICAgICAgIGNvbnN0IGludCB5eWkgPSB5eXBnb3RvW3l5bGhzXSArICp5eWVz
cDsKKy0gICAgICAgICAgeXlzdGF0ZSA9ICgoeXl0eXBlX2ludDE2KQorLSAgICAgICAgICAgICAg
ICAgICAgICgwIDw9IHl5aSAmJiB5eWkgPD0gWVlMQVNUICYmIHl5Y2hlY2tbeXlpXSA9PSAqeXll
c3AKKy0gICAgICAgICAgICAgICAgICAgICAgPyB5eXRhYmxlW3l5aV0KKy0gICAgICAgICAgICAg
ICAgICAgICAgOiB5eWRlZmdvdG9beXlsaHNdKSk7CistICAgICAgICB9CistICAgICAgICBpZiAo
eXllc3AgPT0geXllc19wcmV2KQorLSAgICAgICAgICB7CistICAgICAgICAgICAgeXllc3AgPSAq
eXllczsKKy0gICAgICAgICAgICAqeXllc3AgPSB5eXN0YXRlOworLSAgICAgICAgICB9CistICAg
ICAgICBlbHNlCistICAgICAgICAgIHsKKy0gICAgICAgICAgICBpZiAoeXlfbGFjX3N0YWNrX3Jl
YWxsb2MgKHl5ZXNfY2FwYWNpdHksIDEsCistI2lmIF1iNF9hcGlfUFJFRklYW0RFQlVHCistICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICgiLCAiKSIsCistI2VuZGlmCist
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5eWVzLCB5eWVzYSwgJnl5ZXNw
LCB5eWVzX3ByZXYpKQorLSAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBZWURQUklO
VEYgKChzdGRlcnIsICJcbiIpKTsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIDI7CistICAgICAg
ICAgICAgICB9CistICAgICAgICAgICAgKisreXllc3AgPSB5eXN0YXRlOworLSAgICAgICAgICB9
CistICAgICAgICBZWURQUklOVEYgKChzdGRlcnIsICIgRyVkIiwgKGludCkgeXlzdGF0ZSkpOwor
LSAgICAgIH0KKy0gICAgfQorLX1dXSlbCistCistCistI2lmIFlZRVJST1JfVkVSQk9TRQorLQor
LSMgaWZuZGVmIHl5c3RybGVuCistIyAgaWYgZGVmaW5lZCBfX0dMSUJDX18gJiYgZGVmaW5lZCBf
U1RSSU5HX0gKKy0jICAgZGVmaW5lIHl5c3RybGVuIHN0cmxlbgorLSMgIGVsc2UKKy0vKiBSZXR1
cm4gdGhlIGxlbmd0aCBvZiBZWVNUUi4gICovCistXWI0X2Z1bmN0aW9uX2RlZmluZShbeXlzdHJs
ZW5dLCBbc3RhdGljIFlZU0laRV9UXSwKKy0gICBbW2NvbnN0IGNoYXIgKnl5c3RyXSwgW3l5c3Ry
XV0pWworLXsKKy0gIFlZU0laRV9UIHl5bGVuOworLSAgZm9yICh5eWxlbiA9IDA7IHl5c3RyW3l5
bGVuXTsgeXlsZW4rKykKKy0gICAgY29udGludWU7CistICByZXR1cm4geXlsZW47CistfQorLSMg
IGVuZGlmCistIyBlbmRpZgorLQorLSMgaWZuZGVmIHl5c3RwY3B5CistIyAgaWYgZGVmaW5lZCBf
X0dMSUJDX18gJiYgZGVmaW5lZCBfU1RSSU5HX0ggJiYgZGVmaW5lZCBfR05VX1NPVVJDRQorLSMg
ICBkZWZpbmUgeXlzdHBjcHkgc3RwY3B5CistIyAgZWxzZQorLS8qIENvcHkgWVlTUkMgdG8gWVlE
RVNULCByZXR1cm5pbmcgdGhlIGFkZHJlc3Mgb2YgdGhlIHRlcm1pbmF0aW5nICdcMCcgaW4KKy0g
ICBZWURFU1QuICAqLworLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5c3RwY3B5XSwgW3N0YXRpYyBj
aGFyICpdLAorLSAgIFtbY2hhciAqeXlkZXN0XSwgW3l5ZGVzdF1dLCBbW2NvbnN0IGNoYXIgKnl5
c3JjXSwgW3l5c3JjXV0pWworLXsKKy0gIGNoYXIgKnl5ZCA9IHl5ZGVzdDsKKy0gIGNvbnN0IGNo
YXIgKnl5cyA9IHl5c3JjOworLQorLSAgd2hpbGUgKCgqeXlkKysgPSAqeXlzKyspICE9ICdcMCcp
CistICAgIGNvbnRpbnVlOworLQorLSAgcmV0dXJuIHl5ZCAtIDE7CistfQorLSMgIGVuZGlmCist
IyBlbmRpZgorLQorLSMgaWZuZGVmIHl5dG5hbWVycgorLS8qIENvcHkgdG8gWVlSRVMgdGhlIGNv
bnRlbnRzIG9mIFlZU1RSIGFmdGVyIHN0cmlwcGluZyBhd2F5IHVubmVjZXNzYXJ5CistICAgcXVv
dGVzIGFuZCBiYWNrc2xhc2hlcywgc28gdGhhdCBpdCdzIHN1aXRhYmxlIGZvciB5eWVycm9yLiAg
VGhlCistICAgaGV1cmlzdGljIGlzIHRoYXQgZG91YmxlLXF1b3RpbmcgaXMgdW5uZWNlc3Nhcnkg
dW5sZXNzIHRoZSBzdHJpbmcKKy0gICBjb250YWlucyBhbiBhcG9zdHJvcGhlLCBhIGNvbW1hLCBv
ciBiYWNrc2xhc2ggKG90aGVyIHRoYW4KKy0gICBiYWNrc2xhc2gtYmFja3NsYXNoKS4gIFlZU1RS
IGlzIHRha2VuIGZyb20geXl0bmFtZS4gIElmIFlZUkVTIGlzCistICAgbnVsbCwgZG8gbm90IGNv
cHk7IGluc3RlYWQsIHJldHVybiB0aGUgbGVuZ3RoIG9mIHdoYXQgdGhlIHJlc3VsdAorLSAgIHdv
dWxkIGhhdmUgYmVlbi4gICovCistc3RhdGljIFlZU0laRV9UCisteXl0bmFtZXJyIChjaGFyICp5
eXJlcywgY29uc3QgY2hhciAqeXlzdHIpCisteworLSAgaWYgKCp5eXN0ciA9PSAnIicpCistICAg
IHsKKy0gICAgICBZWVNJWkVfVCB5eW4gPSAwOworLSAgICAgIGNoYXIgY29uc3QgKnl5cCA9IHl5
c3RyOworLQorLSAgICAgIGZvciAoOzspCistICAgICAgICBzd2l0Y2ggKCorK3l5cCkKKy0gICAg
ICAgICAgeworLSAgICAgICAgICBjYXNlICdcJyc6CistICAgICAgICAgIGNhc2UgJywnOgorLSAg
ICAgICAgICAgIGdvdG8gZG9fbm90X3N0cmlwX3F1b3RlczsKKy0KKy0gICAgICAgICAgY2FzZSAn
XFwnOgorLSAgICAgICAgICAgIGlmICgqKyt5eXAgIT0gJ1xcJykKKy0gICAgICAgICAgICAgIGdv
dG8gZG9fbm90X3N0cmlwX3F1b3RlczsKKy0gICAgICAgICAgICBlbHNlCistICAgICAgICAgICAg
ICBnb3RvIGFwcGVuZDsKKy0KKy0gICAgICAgICAgYXBwZW5kOgorLSAgICAgICAgICBkZWZhdWx0
OgorLSAgICAgICAgICAgIGlmICh5eXJlcykKKy0gICAgICAgICAgICAgIHl5cmVzW3l5bl0gPSAq
eXlwOworLSAgICAgICAgICAgIHl5bisrOworLSAgICAgICAgICAgIGJyZWFrOworLQorLSAgICAg
ICAgICBjYXNlICciJzoKKy0gICAgICAgICAgICBpZiAoeXlyZXMpCistICAgICAgICAgICAgICB5
eXJlc1t5eW5dID0gJ1wwJzsKKy0gICAgICAgICAgICByZXR1cm4geXluOworLSAgICAgICAgICB9
CistICAgIGRvX25vdF9zdHJpcF9xdW90ZXM6IDsKKy0gICAgfQorLQorLSAgaWYgKCEgeXlyZXMp
CistICAgIHJldHVybiB5eXN0cmxlbiAoeXlzdHIpOworLQorLSAgcmV0dXJuIChZWVNJWkVfVCkg
KHl5c3RwY3B5ICh5eXJlcywgeXlzdHIpIC0geXlyZXMpOworLX0KKy0jIGVuZGlmCistCistLyog
Q29weSBpbnRvICpZWU1TRywgd2hpY2ggaXMgb2Ygc2l6ZSAqWVlNU0dfQUxMT0MsIGFuIGVycm9y
IG1lc3NhZ2UKKy0gICBhYm91dCB0aGUgdW5leHBlY3RlZCB0b2tlbiBZWVRPS0VOIGZvciB0aGUg
c3RhdGUgc3RhY2sgd2hvc2UgdG9wIGlzCistICAgWVlTU1AuXWI0X2xhY19pZihbWyAgSW4gb3Jk
ZXIgdG8gc2VlIGlmIGEgcGFydGljdWxhciB0b2tlbiBUIGlzIGEKKy0gICB2YWxpZCBsb29ha2hl
YWQsIGludm9rZSB5eV9sYWMgKFlZRVNBLCBZWUVTLCBZWUVTX0NBUEFDSVRZLCBZWVNTUCwgVCku
XV0pWworLQorLSAgIFJldHVybiAwIGlmICpZWU1TRyB3YXMgc3VjY2Vzc2Z1bGx5IHdyaXR0ZW4u
ICBSZXR1cm4gMSBpZiAqWVlNU0cgaXMKKy0gICBub3QgbGFyZ2UgZW5vdWdoIHRvIGhvbGQgdGhl
IG1lc3NhZ2UuICBJbiB0aGF0IGNhc2UsIGFsc28gc2V0CistICAgKllZTVNHX0FMTE9DIHRvIHRo
ZSByZXF1aXJlZCBudW1iZXIgb2YgYnl0ZXMuICBSZXR1cm4gMiBpZiB0aGUKKy0gICByZXF1aXJl
ZCBudW1iZXIgb2YgYnl0ZXMgaXMgdG9vIGxhcmdlIHRvIHN0b3JlXWI0X2xhY19pZihbWyBvciBp
ZgorLSAgIHl5X2xhYyByZXR1cm5lZCAyXV0pWy4gICovCistc3RhdGljIGludAorLXl5c3ludGF4
X2Vycm9yIChZWVNJWkVfVCAqeXltc2dfYWxsb2MsIGNoYXIgKip5eW1zZywKKy0gICAgICAgICAg
ICAgICAgXWI0X2xhY19pZihbW3l5dHlwZV9pbnQxNiAqeXllc2EsIHl5dHlwZV9pbnQxNiAqKnl5
ZXMsCistICAgICAgICAgICAgICAgIFlZU0laRV9UICp5eWVzX2NhcGFjaXR5LCBdXSlbeXl0eXBl
X2ludDE2ICp5eXNzcCwgaW50IHl5dG9rZW4pCisteworLSAgWVlTSVpFX1QgeXlzaXplMCA9IHl5
dG5hbWVyciAoWVlfTlVMTFBUUiwgeXl0bmFtZVt5eXRva2VuXSk7CistICBZWVNJWkVfVCB5eXNp
emUgPSB5eXNpemUwOworLSAgZW51bSB7IFlZRVJST1JfVkVSQk9TRV9BUkdTX01BWElNVU0gPSA1
IH07CistICAvKiBJbnRlcm5hdGlvbmFsaXplZCBmb3JtYXQgc3RyaW5nLiAqLworLSAgY29uc3Qg
Y2hhciAqeXlmb3JtYXQgPSBZWV9OVUxMUFRSOworLSAgLyogQXJndW1lbnRzIG9mIHl5Zm9ybWF0
LiAqLworLSAgY2hhciBjb25zdCAqeXlhcmdbWVlFUlJPUl9WRVJCT1NFX0FSR1NfTUFYSU1VTV07
CistICAvKiBOdW1iZXIgb2YgcmVwb3J0ZWQgdG9rZW5zIChvbmUgZm9yIHRoZSAidW5leHBlY3Rl
ZCIsIG9uZSBwZXIKKy0gICAgICJleHBlY3RlZCIpLiAqLworLSAgaW50IHl5Y291bnQgPSAwOwor
LQorLSAgLyogVGhlcmUgYXJlIG1hbnkgcG9zc2liaWxpdGllcyBoZXJlIHRvIGNvbnNpZGVyOgor
LSAgICAgLSBJZiB0aGlzIHN0YXRlIGlzIGEgY29uc2lzdGVudCBzdGF0ZSB3aXRoIGEgZGVmYXVs
dCBhY3Rpb24sIHRoZW4KKy0gICAgICAgdGhlIG9ubHkgd2F5IHRoaXMgZnVuY3Rpb24gd2FzIGlu
dm9rZWQgaXMgaWYgdGhlIGRlZmF1bHQgYWN0aW9uCistICAgICAgIGlzIGFuIGVycm9yIGFjdGlv
bi4gIEluIHRoYXQgY2FzZSwgZG9uJ3QgY2hlY2sgZm9yIGV4cGVjdGVkCistICAgICAgIHRva2Vu
cyBiZWNhdXNlIHRoZXJlIGFyZSBub25lLgorLSAgICAgLSBUaGUgb25seSB3YXkgdGhlcmUgY2Fu
IGJlIG5vIGxvb2thaGVhZCBwcmVzZW50IChpbiB5eWNoYXIpIGlzIGlmCistICAgICAgIHRoaXMg
c3RhdGUgaXMgYSBjb25zaXN0ZW50IHN0YXRlIHdpdGggYSBkZWZhdWx0IGFjdGlvbi4gIFRodXMs
CistICAgICAgIGRldGVjdGluZyB0aGUgYWJzZW5jZSBvZiBhIGxvb2thaGVhZCBpcyBzdWZmaWNp
ZW50IHRvIGRldGVybWluZQorLSAgICAgICB0aGF0IHRoZXJlIGlzIG5vIHVuZXhwZWN0ZWQgb3Ig
ZXhwZWN0ZWQgdG9rZW4gdG8gcmVwb3J0LiAgSW4gdGhhdAorLSAgICAgICBjYXNlLCBqdXN0IHJl
cG9ydCBhIHNpbXBsZSAic3ludGF4IGVycm9yIi4KKy0gICAgIC0gRG9uJ3QgYXNzdW1lIHRoZXJl
IGlzbid0IGEgbG9va2FoZWFkIGp1c3QgYmVjYXVzZSB0aGlzIHN0YXRlIGlzIGEKKy0gICAgICAg
Y29uc2lzdGVudCBzdGF0ZSB3aXRoIGEgZGVmYXVsdCBhY3Rpb24uICBUaGVyZSBtaWdodCBoYXZl
IGJlZW4gYQorLSAgICAgICBwcmV2aW91cyBpbmNvbnNpc3RlbnQgc3RhdGUsIGNvbnNpc3RlbnQg
c3RhdGUgd2l0aCBhIG5vbi1kZWZhdWx0CistICAgICAgIGFjdGlvbiwgb3IgdXNlciBzZW1hbnRp
YyBhY3Rpb24gdGhhdCBtYW5pcHVsYXRlZCB5eWNoYXIuXWI0X2xhY19pZihbWworLSAgICAgICBJ
biB0aGUgZmlyc3QgdHdvIGNhc2VzLCBpdCBtaWdodCBhcHBlYXIgdGhhdCB0aGUgY3VycmVudCBz
eW50YXgKKy0gICAgICAgZXJyb3Igc2hvdWxkIGhhdmUgYmVlbiBkZXRlY3RlZCBpbiB0aGUgcHJl
dmlvdXMgc3RhdGUgd2hlbiB5eV9sYWMKKy0gICAgICAgd2FzIGludm9rZWQuICBIb3dldmVyLCBh
dCB0aGF0IHRpbWUsIHRoZXJlIG1pZ2h0IGhhdmUgYmVlbiBhCistICAgICAgIGRpZmZlcmVudCBz
eW50YXggZXJyb3IgdGhhdCBkaXNjYXJkZWQgYSBkaWZmZXJlbnQgaW5pdGlhbCBjb250ZXh0Cist
ICAgICAgIGR1cmluZyBlcnJvciByZWNvdmVyeSwgbGVhdmluZyBiZWhpbmQgdGhlIGN1cnJlbnQg
bG9va2FoZWFkLl1dLCBbWworLSAgICAgLSBPZiBjb3Vyc2UsIHRoZSBleHBlY3RlZCB0b2tlbiBs
aXN0IGRlcGVuZHMgb24gc3RhdGVzIHRvIGhhdmUKKy0gICAgICAgY29ycmVjdCBsb29rYWhlYWQg
aW5mb3JtYXRpb24sIGFuZCBpdCBkZXBlbmRzIG9uIHRoZSBwYXJzZXIgbm90CistICAgICAgIHRv
IHBlcmZvcm0gZXh0cmEgcmVkdWN0aW9ucyBhZnRlciBmZXRjaGluZyBhIGxvb2thaGVhZCBmcm9t
IHRoZQorLSAgICAgICBzY2FubmVyIGFuZCBiZWZvcmUgZGV0ZWN0aW5nIGEgc3ludGF4IGVycm9y
LiAgVGh1cywgc3RhdGUgbWVyZ2luZworLSAgICAgICAoZnJvbSBMQUxSIG9yIElFTFIpIGFuZCBk
ZWZhdWx0IHJlZHVjdGlvbnMgY29ycnVwdCB0aGUgZXhwZWN0ZWQKKy0gICAgICAgdG9rZW4gbGlz
dC4gIEhvd2V2ZXIsIHRoZSBsaXN0IGlzIGNvcnJlY3QgZm9yIGNhbm9uaWNhbCBMUiB3aXRoCist
ICAgICAgIG9uZSBleGNlcHRpb246IGl0IHdpbGwgc3RpbGwgY29udGFpbiBhbnkgdG9rZW4gdGhh
dCB3aWxsIG5vdCBiZQorLSAgICAgICBhY2NlcHRlZCBkdWUgdG8gYW4gZXJyb3IgYWN0aW9uIGlu
IGEgbGF0ZXIgc3RhdGUuXV0pWworLSAgKi8KKy0gIGlmICh5eXRva2VuICE9IFlZRU1QVFkpCist
ICAgIHsKKy0gICAgICBpbnQgeXluID0geXlwYWN0Wyp5eXNzcF07XWI0X2xhY19pZihbWworLSAg
ICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIkNvbnN0cnVjdGluZyBzeW50YXggZXJyb3IgbWVzc2Fn
ZVxuIikpO11dKVsKKy0gICAgICB5eWFyZ1t5eWNvdW50KytdID0geXl0bmFtZVt5eXRva2VuXTsK
Ky0gICAgICBpZiAoIXl5cGFjdF92YWx1ZV9pc19kZWZhdWx0ICh5eW4pKQorLSAgICAgICAge11i
NF9sYWNfaWYoW10sIFtbCistICAgICAgICAgIC8qIFN0YXJ0IFlZWCBhdCAtWVlOIGlmIG5lZ2F0
aXZlIHRvIGF2b2lkIG5lZ2F0aXZlIGluZGV4ZXMgaW4KKy0gICAgICAgICAgICAgWVlDSEVDSy4g
IEluIG90aGVyIHdvcmRzLCBza2lwIHRoZSBmaXJzdCAtWVlOIGFjdGlvbnMgZm9yCistICAgICAg
ICAgICAgIHRoaXMgc3RhdGUgYmVjYXVzZSB0aGV5IGFyZSBkZWZhdWx0IGFjdGlvbnMuICAqLwor
LSAgICAgICAgICBpbnQgeXl4YmVnaW4gPSB5eW4gPCAwID8gLXl5biA6IDA7CistICAgICAgICAg
IC8qIFN0YXkgd2l0aGluIGJvdW5kcyBvZiBib3RoIHl5Y2hlY2sgYW5kIHl5dG5hbWUuICAqLwor
LSAgICAgICAgICBpbnQgeXljaGVja2xpbSA9IFlZTEFTVCAtIHl5biArIDE7CistICAgICAgICAg
IGludCB5eXhlbmQgPSB5eWNoZWNrbGltIDwgWVlOVE9LRU5TID8geXljaGVja2xpbSA6IFlZTlRP
S0VOUztdXSlbCistICAgICAgICAgIGludCB5eXg7XWI0X2xhY19pZihbWworLQorLSAgICAgICAg
ICBmb3IgKHl5eCA9IDA7IHl5eCA8IFlZTlRPS0VOUzsgKyt5eXgpCistICAgICAgICAgICAgaWYg
KHl5eCAhPSBZWVRFUlJPUiAmJiB5eXggIT0gWVlVTkRFRlRPSykKKy0gICAgICAgICAgICAgIHsK
Ky0gICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgIGludCB5eV9sYWNfc3RhdHVz
ID0geXlfbGFjICh5eWVzYSwgeXllcywgeXllc19jYXBhY2l0eSwKKy0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeXlzc3AsIHl5eCk7CistICAgICAgICAgICAg
ICAgICAgaWYgKHl5X2xhY19zdGF0dXMgPT0gMikKKy0gICAgICAgICAgICAgICAgICAgIHJldHVy
biAyOworLSAgICAgICAgICAgICAgICAgIGlmICh5eV9sYWNfc3RhdHVzID09IDEpCistICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKy0gICAgICAgICAgICAgICAgfV1dLCBbWworLQorLSAg
ICAgICAgICBmb3IgKHl5eCA9IHl5eGJlZ2luOyB5eXggPCB5eXhlbmQ7ICsreXl4KQorLSAgICAg
ICAgICAgIGlmICh5eWNoZWNrW3l5eCArIHl5bl0gPT0geXl4ICYmIHl5eCAhPSBZWVRFUlJPUgor
LSAgICAgICAgICAgICAgICAmJiAheXl0YWJsZV92YWx1ZV9pc19lcnJvciAoeXl0YWJsZVt5eXgg
KyB5eW5dKSkKKy0gICAgICAgICAgICAgIHtdXSlbCistICAgICAgICAgICAgICAgIGlmICh5eWNv
dW50ID09IFlZRVJST1JfVkVSQk9TRV9BUkdTX01BWElNVU0pCistICAgICAgICAgICAgICAgICAg
eworLSAgICAgICAgICAgICAgICAgICAgeXljb3VudCA9IDE7CistICAgICAgICAgICAgICAgICAg
ICB5eXNpemUgPSB5eXNpemUwOworLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAg
ICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICB5eWFyZ1t5eWNvdW50KytdID0geXl0bmFt
ZVt5eXhdOworLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgWVlTSVpFX1Qg
eXlzaXplMSA9IHl5c2l6ZSArIHl5dG5hbWVyciAoWVlfTlVMTFBUUiwgeXl0bmFtZVt5eXhdKTsK
Ky0gICAgICAgICAgICAgICAgICBpZiAoeXlzaXplIDw9IHl5c2l6ZTEgJiYgeXlzaXplMSA8PSBZ
WVNUQUNLX0FMTE9DX01BWElNVU0pCistICAgICAgICAgICAgICAgICAgICB5eXNpemUgPSB5eXNp
emUxOworLSAgICAgICAgICAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICAgICAgICAgIHJldHVy
biAyOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICB9CistICAgICAgICB9XWI0
X2xhY19pZihbWworLSMgaWYgXWI0X2FwaV9QUkVGSVhbREVCVUcKKy0gICAgICBlbHNlIGlmICh5
eWRlYnVnKQorLSAgICAgICAgWVlGUFJJTlRGIChzdGRlcnIsICJObyBleHBlY3RlZCB0b2tlbnMu
XG4iKTsKKy0jIGVuZGlmXV0pWworLSAgICB9CistCistICBzd2l0Y2ggKHl5Y291bnQpCistICAg
IHsKKy0jIGRlZmluZSBZWUNBU0VfKE4sIFMpICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAg
ICBjYXNlIE46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIHl5Zm9y
bWF0ID0gUzsgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICBicmVhaworLSAgICBkZWZh
dWx0OiAvKiBBdm9pZCBjb21waWxlciB3YXJuaW5ncy4gKi8KKy0gICAgICBZWUNBU0VfKDAsIFlZ
Xygic3ludGF4IGVycm9yIikpOworLSAgICAgIFlZQ0FTRV8oMSwgWVlfKCJzeW50YXggZXJyb3Is
IHVuZXhwZWN0ZWQgJXMiKSk7CistICAgICAgWVlDQVNFXygyLCBZWV8oInN5bnRheCBlcnJvciwg
dW5leHBlY3RlZCAlcywgZXhwZWN0aW5nICVzIikpOworLSAgICAgIFlZQ0FTRV8oMywgWVlfKCJz
eW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgJXMsIGV4cGVjdGluZyAlcyBvciAlcyIpKTsKKy0gICAg
ICBZWUNBU0VfKDQsIFlZXygic3ludGF4IGVycm9yLCB1bmV4cGVjdGVkICVzLCBleHBlY3Rpbmcg
JXMgb3IgJXMgb3IgJXMiKSk7CistICAgICAgWVlDQVNFXyg1LCBZWV8oInN5bnRheCBlcnJvciwg
dW5leHBlY3RlZCAlcywgZXhwZWN0aW5nICVzIG9yICVzIG9yICVzIG9yICVzIikpOworLSMgdW5k
ZWYgWVlDQVNFXworLSAgICB9CistCistICB7CistICAgIFlZU0laRV9UIHl5c2l6ZTEgPSB5eXNp
emUgKyB5eXN0cmxlbiAoeXlmb3JtYXQpOworLSAgICBpZiAoeXlzaXplIDw9IHl5c2l6ZTEgJiYg
eXlzaXplMSA8PSBZWVNUQUNLX0FMTE9DX01BWElNVU0pCistICAgICAgeXlzaXplID0geXlzaXpl
MTsKKy0gICAgZWxzZQorLSAgICAgIHJldHVybiAyOworLSAgfQorLQorLSAgaWYgKCp5eW1zZ19h
bGxvYyA8IHl5c2l6ZSkKKy0gICAgeworLSAgICAgICp5eW1zZ19hbGxvYyA9IDIgKiB5eXNpemU7
CistICAgICAgaWYgKCEgKHl5c2l6ZSA8PSAqeXltc2dfYWxsb2MKKy0gICAgICAgICAgICAgJiYg
Knl5bXNnX2FsbG9jIDw9IFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSkpCistICAgICAgICAqeXltc2df
YWxsb2MgPSBZWVNUQUNLX0FMTE9DX01BWElNVU07CistICAgICAgcmV0dXJuIDE7CistICAgIH0K
Ky0KKy0gIC8qIEF2b2lkIHNwcmludGYsIGFzIHRoYXQgaW5mcmluZ2VzIG9uIHRoZSB1c2VyJ3Mg
bmFtZSBzcGFjZS4KKy0gICAgIERvbid0IGhhdmUgdW5kZWZpbmVkIGJlaGF2aW9yIGV2ZW4gaWYg
dGhlIHRyYW5zbGF0aW9uCistICAgICBwcm9kdWNlZCBhIHN0cmluZyB3aXRoIHRoZSB3cm9uZyBu
dW1iZXIgb2YgIiVzInMuICAqLworLSAgeworLSAgICBjaGFyICp5eXAgPSAqeXltc2c7CistICAg
IGludCB5eWkgPSAwOworLSAgICB3aGlsZSAoKCp5eXAgPSAqeXlmb3JtYXQpICE9ICdcMCcpCist
ICAgICAgaWYgKCp5eXAgPT0gJyUnICYmIHl5Zm9ybWF0WzFdID09ICdzJyAmJiB5eWkgPCB5eWNv
dW50KQorLSAgICAgICAgeworLSAgICAgICAgICB5eXAgKz0geXl0bmFtZXJyICh5eXAsIHl5YXJn
W3l5aSsrXSk7CistICAgICAgICAgIHl5Zm9ybWF0ICs9IDI7CistICAgICAgICB9CistICAgICAg
ZWxzZQorLSAgICAgICAgeworLSAgICAgICAgICB5eXArKzsKKy0gICAgICAgICAgeXlmb3JtYXQr
KzsKKy0gICAgICAgIH0KKy0gIH0KKy0gIHJldHVybiAwOworLX0KKy0jZW5kaWYgLyogWVlFUlJP
Ul9WRVJCT1NFICovCistCistXWI0X3l5ZGVzdHJ1Y3RfZGVmaW5lWworLQorLV1iNF9wdXJlX2lm
KFtdLCBbCistCistYjRfZGVjbGFyZV9zY2FubmVyX2NvbW11bmljYXRpb25fdmFyaWFibGVzXSlb
XWI0X3B1c2hfaWYoW1sKKy0KKy1zdHJ1Y3QgeXlwc3RhdGUKKy0gIHtdYjRfZGVjbGFyZV9wYXJz
ZXJfc3RhdGVfdmFyaWFibGVzWworLSAgICAvKiBVc2VkIHRvIGRldGVybWluZSBpZiB0aGlzIGlz
IHRoZSBmaXJzdCB0aW1lIHRoaXMgaW5zdGFuY2UgaGFzCistICAgICAgIGJlZW4gdXNlZC4gICov
CistICAgIGludCB5eW5ldzsKKy0gIH07XWI0X3B1cmVfaWYoW10sIFtbCistCistc3RhdGljIGNo
YXIgeXlwc3RhdGVfYWxsb2NhdGVkID0gMDtdXSliNF9wdWxsX2lmKFsKKy0KKy1iNF9mdW5jdGlv
bl9kZWZpbmUoW1t5eXBhcnNlXV0sIFtbaW50XV0sIGI0X3BhcnNlX3BhcmFtKVsKKy17CistICBy
ZXR1cm4geXlwdWxsX3BhcnNlIChZWV9OVUxMUFRSXW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0s
CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbLCBdYjRfYXJncyhiNF9wYXJz
ZV9wYXJhbSldKVspOworLX0KKy0KKy1dYjRfZnVuY3Rpb25fZGVmaW5lKFtbeXlwdWxsX3BhcnNl
XV0sIFtbaW50XV0sCistICBbW1t5eXBzdGF0ZSAqeXlwc11dLCBbW3l5cHNdXV1tNF9pZnNldChb
YjRfcGFyc2VfcGFyYW1dLCBbLAorLSAgYjRfcGFyc2VfcGFyYW1dKSlbCiste11iNF9wdXJlX2lm
KFtiNF9sb2NhdGlvbnNfaWYoW1sKKy0gIHN0YXRpYyBZWUxUWVBFIHl5bG9jX2RlZmF1bHRdW11i
NF95eWxvY19kZWZhdWx0WzsKKy0gIFlZTFRZUEUgeXlsbG9jID0geXlsb2NfZGVmYXVsdDtdXSld
KVsKKy0gIHl5cHN0YXRlICp5eXBzX2xvY2FsOworLSAgaWYgKHl5cHMpCistICAgIHl5cHNfbG9j
YWwgPSB5eXBzOworLSAgZWxzZQorLSAgICB7CistICAgICAgeXlwc19sb2NhbCA9IHl5cHN0YXRl
X25ldyAoKTsKKy0gICAgICBpZiAoIXl5cHNfbG9jYWwpCistICAgICAgICB7XWI0X3B1cmVfaWYo
W1sKKy0gICAgICAgICAgeXllcnJvciAoXWI0X3l5ZXJyb3JfYXJnc1tZWV8oIm1lbW9yeSBleGhh
dXN0ZWQiKSk7XV0sIFtbCistICAgICAgICAgIGlmICgheXlwc3RhdGVfYWxsb2NhdGVkKQorLSAg
ICAgICAgICAgIHl5ZXJyb3IgKF1iNF95eWVycm9yX2FyZ3NbWVlfKCJtZW1vcnkgZXhoYXVzdGVk
IikpO11dKVsKKy0gICAgICAgICAgcmV0dXJuIDI7CistICAgICAgICB9CistICAgIH0KKy0gIGlu
dCB5eXN0YXR1czsKKy0gIGRvIHtdYjRfcHVyZV9pZihbWworLSAgICBZWVNUWVBFIHl5bHZhbDsK
Ky0gICAgaW50IF1dKVt5eWNoYXIgPSBdYjRfbGV4WzsKKy0gICAgeXlzdGF0dXMgPQorLSAgICAg
IHl5cHVzaF9wYXJzZSAoeXlwc19sb2NhbF1iNF9wdXJlX2lmKFtbLCB5eWNoYXIsICZ5eWx2YWxd
YjRfbG9jYXRpb25zX2lmKFtbLCAmeXlsbG9jXV0pXSltNF9pZnNldChbYjRfcGFyc2VfcGFyYW1d
LCBbLCBiNF9hcmdzKGI0X3BhcnNlX3BhcmFtKV0pWyk7CistICB9IHdoaWxlICh5eXN0YXR1cyA9
PSBZWVBVU0hfTU9SRSk7CistICBpZiAoIXl5cHMpCistICAgIHl5cHN0YXRlX2RlbGV0ZSAoeXlw
c19sb2NhbCk7CistICByZXR1cm4geXlzdGF0dXM7CistfV1dKVsKKy0KKy0vKiBJbml0aWFsaXpl
IHRoZSBwYXJzZXIgZGF0YSBzdHJ1Y3R1cmUuICAqLworLV1iNF9mdW5jdGlvbl9kZWZpbmUoW1t5
eXBzdGF0ZV9uZXddXSwgW1t5eXBzdGF0ZSAqXV0pWworLXsKKy0gIHl5cHN0YXRlICp5eXBzO11i
NF9wdXJlX2lmKFtdLCBbWworLSAgaWYgKHl5cHN0YXRlX2FsbG9jYXRlZCkKKy0gICAgcmV0dXJu
IFlZX05VTExQVFI7XV0pWworLSAgeXlwcyA9ICh5eXBzdGF0ZSAqKSBtYWxsb2MgKHNpemVvZiAq
eXlwcyk7CistICBpZiAoIXl5cHMpCistICAgIHJldHVybiBZWV9OVUxMUFRSOworLSAgeXlwcy0+
eXluZXcgPSAxO11iNF9wdXJlX2lmKFtdLCBbWworLSAgeXlwc3RhdGVfYWxsb2NhdGVkID0gMTtd
XSlbCistICByZXR1cm4geXlwczsKKy19CistCistXWI0X2Z1bmN0aW9uX2RlZmluZShbW3l5cHN0
YXRlX2RlbGV0ZV1dLCBbW3ZvaWRdXSwKKy0gICAgICAgICAgICAgICAgICAgW1tbeXlwc3RhdGUg
Knl5cHNdXSwgW1t5eXBzXV1dKVsKKy17CistICBpZiAoeXlwcykKKy0gICAgeworLSNpZm5kZWYg
eXlvdmVyZmxvdworLSAgICAgIC8qIElmIHRoZSBzdGFjayB3YXMgcmVhbGxvY2F0ZWQgYnV0IHRo
ZSBwYXJzZSBkaWQgbm90IGNvbXBsZXRlLCB0aGVuIHRoZQorLSAgICAgICAgIHN0YWNrIHN0aWxs
IG5lZWRzIHRvIGJlIGZyZWVkLiAgKi8KKy0gICAgICBpZiAoIXl5cHMtPnl5bmV3ICYmIHl5cHMt
Pnl5c3MgIT0geXlwcy0+eXlzc2EpCistICAgICAgICBZWVNUQUNLX0ZSRUUgKHl5cHMtPnl5c3Mp
OworLSNlbmRpZl1iNF9sYWNfaWYoW1sKKy0gICAgICBpZiAoIXl5cHMtPnl5bmV3ICYmIHl5cHMt
Pnl5ZXMgIT0geXlwcy0+eXllc2EpCistICAgICAgICBZWVNUQUNLX0ZSRUUgKHl5cHMtPnl5ZXMp
O11dKVsKKy0gICAgICBmcmVlICh5eXBzKTtdYjRfcHVyZV9pZihbXSwgW1sKKy0gICAgICB5eXBz
dGF0ZV9hbGxvY2F0ZWQgPSAwO11dKVsKKy0gICAgfQorLX0KKy1dYjRfcHVyZV9pZihbWworLSNk
ZWZpbmUgXWI0X3ByZWZpeFtuZXJycyB5eXBzLT5dYjRfcHJlZml4W25lcnJzXV0pWworLSNkZWZp
bmUgeXlzdGF0ZSB5eXBzLT55eXN0YXRlCistI2RlZmluZSB5eWVycnN0YXR1cyB5eXBzLT55eWVy
cnN0YXR1cworLSNkZWZpbmUgeXlzc2EgeXlwcy0+eXlzc2EKKy0jZGVmaW5lIHl5c3MgeXlwcy0+
eXlzcworLSNkZWZpbmUgeXlzc3AgeXlwcy0+eXlzc3AKKy0jZGVmaW5lIHl5dnNhIHl5cHMtPnl5
dnNhCistI2RlZmluZSB5eXZzIHl5cHMtPnl5dnMKKy0jZGVmaW5lIHl5dnNwIHl5cHMtPnl5dnNw
XWI0X2xvY2F0aW9uc19pZihbWworLSNkZWZpbmUgeXlsc2EgeXlwcy0+eXlsc2EKKy0jZGVmaW5l
IHl5bHMgeXlwcy0+eXlscworLSNkZWZpbmUgeXlsc3AgeXlwcy0+eXlsc3AKKy0jZGVmaW5lIHl5
ZXJyb3JfcmFuZ2UgeXlwcy0+eXllcnJvcl9yYW5nZV1dKVsKKy0jZGVmaW5lIHl5c3RhY2tzaXpl
IHl5cHMtPnl5c3RhY2tzaXplXWI0X2xhY19pZihbWworLSNkZWZpbmUgeXllc2EgeXlwcy0+eXll
c2EKKy0jZGVmaW5lIHl5ZXMgeXlwcy0+eXllcworLSNkZWZpbmUgeXllc19jYXBhY2l0eSB5eXBz
LT55eWVzX2NhcGFjaXR5XV0pWworLQorLQorLS8qLS0tLS0tLS0tLS0tLS0tLgorLXwgeXlwdXNo
X3BhcnNlLiAgfAorLWAtLS0tLS0tLS0tLS0tLS0qLworLQorLV1iNF9mdW5jdGlvbl9kZWZpbmUo
W1t5eXB1c2hfcGFyc2VdXSwgW1tpbnRdXSwKKy0gIFtbW3l5cHN0YXRlICp5eXBzXV0sIFtbeXlw
c11dXWI0X3B1cmVfaWYoWywKKy0gIFtbW2ludCB5eXB1c2hlZF9jaGFyXV0sIFtbeXlwdXNoZWRf
Y2hhcl1dXSwKKy0gIFtbW1lZU1RZUEUgY29uc3QgKnl5cHVzaGVkX3ZhbF1dLCBbW3l5cHVzaGVk
X3ZhbF1dXWI0X2xvY2F0aW9uc19pZihbLAorLSAgW1tbWVlMVFlQRSAqeXlwdXNoZWRfbG9jXV0s
IFtbeXlwdXNoZWRfbG9jXV1dXSldKW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssCistICBi
NF9wYXJzZV9wYXJhbV0pKV0sIFtbCistCistCistLyotLS0tLS0tLS0tLgorLXwgeXlwYXJzZS4g
IHwKKy1gLS0tLS0tLS0tLSovCistCistXWI0X2Z1bmN0aW9uX2RlZmluZShbeXlwYXJzZV0sIFtp
bnRdLCBiNF9wYXJzZV9wYXJhbSldKVsKKy17XWI0X3B1cmVfaWYoW2I0X2RlY2xhcmVfc2Nhbm5l
cl9jb21tdW5pY2F0aW9uX3ZhcmlhYmxlcworLV0pYjRfcHVzaF9pZihbYjRfcHVyZV9pZihbXSwg
W1sKKy0gIGludCB5eXB1c2hlZF9jaGFyID0geXljaGFyOworLSAgWVlTVFlQRSB5eXB1c2hlZF92
YWwgPSB5eWx2YWw7XWI0X2xvY2F0aW9uc19pZihbWworLSAgWVlMVFlQRSB5eXB1c2hlZF9sb2Mg
PSB5eWxsb2M7XV0pCistXSldLAorLSAgW2I0X2RlY2xhcmVfcGFyc2VyX3N0YXRlX3ZhcmlhYmxl
cworLV0pYjRfbGFjX2lmKFtbCistICBpbnQgeXlfbGFjX2VzdGFibGlzaGVkID0gMDtdXSlbCist
ICBpbnQgeXluOworLSAgaW50IHl5cmVzdWx0OworLSAgLyogTG9va2FoZWFkIHRva2VuIGFzIGFu
IGludGVybmFsICh0cmFuc2xhdGVkKSB0b2tlbiBudW1iZXIuICAqLworLSAgaW50IHl5dG9rZW4g
PSAwOworLSAgLyogVGhlIHZhcmlhYmxlcyB1c2VkIHRvIHJldHVybiBzZW1hbnRpYyB2YWx1ZSBh
bmQgbG9jYXRpb24gZnJvbSB0aGUKKy0gICAgIGFjdGlvbiByb3V0aW5lcy4gICovCistICBZWVNU
WVBFIHl5dmFsO11iNF9sb2NhdGlvbnNfaWYoW1sKKy0gIFlZTFRZUEUgeXlsb2M7XV0pWworLQor
LSNpZiBZWUVSUk9SX1ZFUkJPU0UKKy0gIC8qIEJ1ZmZlciBmb3IgZXJyb3IgbWVzc2FnZXMsIGFu
ZCBpdHMgYWxsb2NhdGVkIHNpemUuICAqLworLSAgY2hhciB5eW1zZ2J1ZlsxMjhdOworLSAgY2hh
ciAqeXltc2cgPSB5eW1zZ2J1ZjsKKy0gIFlZU0laRV9UIHl5bXNnX2FsbG9jID0gc2l6ZW9mIHl5
bXNnYnVmOworLSNlbmRpZgorLQorLSNkZWZpbmUgWVlQT1BTVEFDSyhOKSAgICh5eXZzcCAtPSAo
TiksIHl5c3NwIC09IChOKV1iNF9sb2NhdGlvbnNfaWYoWywgeXlsc3AgLT0gKE4pXSlbKQorLQor
LSAgLyogVGhlIG51bWJlciBvZiBzeW1ib2xzIG9uIHRoZSBSSFMgb2YgdGhlIHJlZHVjZWQgcnVs
ZS4KKy0gICAgIEtlZXAgdG8gemVybyB3aGVuIG5vIHN5bWJvbCBzaG91bGQgYmUgcG9wcGVkLiAg
Ki8KKy0gIGludCB5eWxlbiA9IDA7XWI0X3B1c2hfaWYoW1sKKy0KKy0gIGlmICgheXlwcy0+eXlu
ZXcpCistICAgIHsKKy0gICAgICB5eW4gPSB5eXBhY3RbeXlzdGF0ZV07CistICAgICAgZ290byB5
eXJlYWRfcHVzaGVkX3Rva2VuOworLSAgICB9XV0pWworLQorLSAgeXlzc3AgPSB5eXNzID0geXlz
c2E7CistICB5eXZzcCA9IHl5dnMgPSB5eXZzYTtdYjRfbG9jYXRpb25zX2lmKFtbCistICB5eWxz
cCA9IHl5bHMgPSB5eWxzYTtdXSlbCistICB5eXN0YWNrc2l6ZSA9IFlZSU5JVERFUFRIO11iNF9s
YWNfaWYoW1sKKy0KKy0gIHl5ZXMgPSB5eWVzYTsKKy0gIHl5ZXNfY2FwYWNpdHkgPSBzaXplb2Yg
eXllc2EgLyBzaXplb2YgKnl5ZXM7CistICBpZiAoWVlNQVhERVBUSCA8IHl5ZXNfY2FwYWNpdHkp
CistICAgIHl5ZXNfY2FwYWNpdHkgPSBZWU1BWERFUFRIO11dKVsKKy0KKy0gIFlZRFBSSU5URiAo
KHN0ZGVyciwgIlN0YXJ0aW5nIHBhcnNlXG4iKSk7CistCistICB5eXN0YXRlID0gMDsKKy0gIHl5
ZXJyc3RhdHVzID0gMDsKKy0gIHl5bmVycnMgPSAwOworLSAgeXljaGFyID0gWVlFTVBUWTsgLyog
Q2F1c2UgYSB0b2tlbiB0byBiZSByZWFkLiAgKi8KKy1dbTRfaWZkZWYoW2I0X2luaXRpYWxfYWN0
aW9uXSwgWworLWI0X2RvbGxhcl9wdXNoZGVmKFttNF9kZWZpbmUoW2I0X2RvbGxhcl9kb2xsYXJf
dXNlZF0peXlsdmFsXSwgW10sIFtdLAorLSAgICAgICAgICAgICAgICAgIFtiNF9wdXNoX2lmKFti
NF9wdXJlX2lmKFsqXSl5eXB1c2hlZF9sb2NdLCBbeXlsbG9jXSldKWRubAorLWI0X3VzZXJfaW5p
dGlhbF9hY3Rpb24KKy1iNF9kb2xsYXJfcG9wZGVmW11kbmwKKy1tNF9pZmRlZihbYjRfZG9sbGFy
X2RvbGxhcl91c2VkXSxbWyAgeXl2c3BbMF0gPSB5eWx2YWw7CistXV0pXSlkbmwKKy1iNF9sb2Nh
dGlvbnNfaWYoW1sgIHl5bHNwWzBdID0gXWI0X3B1c2hfaWYoW2I0X3B1cmVfaWYoWypdKXl5cHVz
aGVkX2xvY10sIFt5eWxsb2NdKVs7CistXV0pZG5sCistWyAgZ290byB5eXNldHN0YXRlOworLQor
LQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLgorLXwgeXluZXdzdGF0ZSAtLSBwdXNoIGEgbmV3IHN0YXRlLCB3aGljaCBpcyBm
b3VuZCBpbiB5eXN0YXRlLiAgfAorLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLXl5bmV3c3RhdGU6CistICAvKiBJbiBhbGwg
Y2FzZXMsIHdoZW4geW91IGdldCBoZXJlLCB0aGUgdmFsdWUgYW5kIGxvY2F0aW9uIHN0YWNrcwor
LSAgICAgaGF2ZSBqdXN0IGJlZW4gcHVzaGVkLiAgU28gcHVzaGluZyBhIHN0YXRlIGhlcmUgZXZl
bnMgdGhlIHN0YWNrcy4gICovCistICB5eXNzcCsrOworLQorLQorLS8qLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCist
fCB5eW5ld3N0YXRlIC0tIHNldCBjdXJyZW50IHN0YXRlICh0aGUgdG9wIG9mIHRoZSBzdGFjaykg
dG8geXlzdGF0ZS4gIHwKKy1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLXl5c2V0c3RhdGU6CistICAqeXlzc3Ag
PSAoeXl0eXBlX2ludDE2KSB5eXN0YXRlOworLQorLSAgaWYgKHl5c3MgKyB5eXN0YWNrc2l6ZSAt
IDEgPD0geXlzc3ApCistI2lmICFkZWZpbmVkIHl5b3ZlcmZsb3cgJiYgIWRlZmluZWQgWVlTVEFD
S19SRUxPQ0FURQorLSAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOworLSNlbHNlCistICAgIHsKKy0g
ICAgICAvKiBHZXQgdGhlIGN1cnJlbnQgdXNlZCBzaXplIG9mIHRoZSB0aHJlZSBzdGFja3MsIGlu
IGVsZW1lbnRzLiAgKi8KKy0gICAgICBZWVNJWkVfVCB5eXNpemUgPSAoWVlTSVpFX1QpICh5eXNz
cCAtIHl5c3MgKyAxKTsKKy0KKy0jIGlmIGRlZmluZWQgeXlvdmVyZmxvdworLSAgICAgIHsKKy0g
ICAgICAgIC8qIEdpdmUgdXNlciBhIGNoYW5jZSB0byByZWFsbG9jYXRlIHRoZSBzdGFjay4gIFVz
ZSBjb3BpZXMgb2YKKy0gICAgICAgICAgIHRoZXNlIHNvIHRoYXQgdGhlICYncyBkb24ndCBmb3Jj
ZSB0aGUgcmVhbCBvbmVzIGludG8KKy0gICAgICAgICAgIG1lbW9yeS4gICovCistICAgICAgICBZ
WVNUWVBFICp5eXZzMSA9IHl5dnM7CistICAgICAgICB5eXR5cGVfaW50MTYgKnl5c3MxID0geXlz
cztdYjRfbG9jYXRpb25zX2lmKFsKKy0gICAgICAgIFlZTFRZUEUgKnl5bHMxID0geXlscztdKVsK
Ky0KKy0gICAgICAgIC8qIEVhY2ggc3RhY2sgcG9pbnRlciBhZGRyZXNzIGlzIGZvbGxvd2VkIGJ5
IHRoZSBzaXplIG9mIHRoZQorLSAgICAgICAgICAgZGF0YSBpbiB1c2UgaW4gdGhhdCBzdGFjaywg
aW4gYnl0ZXMuICBUaGlzIHVzZWQgdG8gYmUgYQorLSAgICAgICAgICAgY29uZGl0aW9uYWwgYXJv
dW5kIGp1c3QgdGhlIHR3byBleHRyYSBhcmdzLCBidXQgdGhhdCBtaWdodAorLSAgICAgICAgICAg
YmUgdW5kZWZpbmVkIGlmIHl5b3ZlcmZsb3cgaXMgYSBtYWNyby4gICovCistICAgICAgICB5eW92
ZXJmbG93IChZWV8oIm1lbW9yeSBleGhhdXN0ZWQiKSwKKy0gICAgICAgICAgICAgICAgICAgICZ5
eXNzMSwgeXlzaXplICogc2l6ZW9mICgqeXlzc3ApLAorLSAgICAgICAgICAgICAgICAgICAgJnl5
dnMxLCB5eXNpemUgKiBzaXplb2YgKCp5eXZzcCksXWI0X2xvY2F0aW9uc19pZihbCistICAgICAg
ICAgICAgICAgICAgICAmeXlsczEsIHl5c2l6ZSAqIHNpemVvZiAoKnl5bHNwKSxdKVsKKy0gICAg
ICAgICAgICAgICAgICAgICZ5eXN0YWNrc2l6ZSk7CistICAgICAgICB5eXNzID0geXlzczE7Cist
ICAgICAgICB5eXZzID0geXl2czE7XWI0X2xvY2F0aW9uc19pZihbCistICAgICAgICB5eWxzID0g
eXlsczE7XSlbCistICAgICAgfQorLSMgZWxzZSAvKiBkZWZpbmVkIFlZU1RBQ0tfUkVMT0NBVEUg
Ki8KKy0gICAgICAvKiBFeHRlbmQgdGhlIHN0YWNrIG91ciBvd24gd2F5LiAgKi8KKy0gICAgICBp
ZiAoWVlNQVhERVBUSCA8PSB5eXN0YWNrc2l6ZSkKKy0gICAgICAgIGdvdG8geXlleGhhdXN0ZWRs
YWI7CistICAgICAgeXlzdGFja3NpemUgKj0gMjsKKy0gICAgICBpZiAoWVlNQVhERVBUSCA8IHl5
c3RhY2tzaXplKQorLSAgICAgICAgeXlzdGFja3NpemUgPSBZWU1BWERFUFRIOworLQorLSAgICAg
IHsKKy0gICAgICAgIHl5dHlwZV9pbnQxNiAqeXlzczEgPSB5eXNzOworLSAgICAgICAgdW5pb24g
eXlhbGxvYyAqeXlwdHIgPQorLSAgICAgICAgICAodW5pb24geXlhbGxvYyAqKSBZWVNUQUNLX0FM
TE9DIChZWVNUQUNLX0JZVEVTICh5eXN0YWNrc2l6ZSkpOworLSAgICAgICAgaWYgKCEgeXlwdHIp
CistICAgICAgICAgIGdvdG8geXlleGhhdXN0ZWRsYWI7CistICAgICAgICBZWVNUQUNLX1JFTE9D
QVRFICh5eXNzX2FsbG9jLCB5eXNzKTsKKy0gICAgICAgIFlZU1RBQ0tfUkVMT0NBVEUgKHl5dnNf
YWxsb2MsIHl5dnMpO11iNF9sb2NhdGlvbnNfaWYoWworLSAgICAgICAgWVlTVEFDS19SRUxPQ0FU
RSAoeXlsc19hbGxvYywgeXlscyk7XSlbCistIyB1bmRlZiBZWVNUQUNLX1JFTE9DQVRFCistICAg
ICAgICBpZiAoeXlzczEgIT0geXlzc2EpCistICAgICAgICAgIFlZU1RBQ0tfRlJFRSAoeXlzczEp
OworLSAgICAgIH0KKy0jIGVuZGlmCistCistICAgICAgeXlzc3AgPSB5eXNzICsgeXlzaXplIC0g
MTsKKy0gICAgICB5eXZzcCA9IHl5dnMgKyB5eXNpemUgLSAxO11iNF9sb2NhdGlvbnNfaWYoWwor
LSAgICAgIHl5bHNwID0geXlscyArIHl5c2l6ZSAtIDE7XSlbCistCistICAgICAgWVlEUFJJTlRG
ICgoc3RkZXJyLCAiU3RhY2sgc2l6ZSBpbmNyZWFzZWQgdG8gJWx1XG4iLAorLSAgICAgICAgICAg
ICAgICAgICh1bnNpZ25lZCBsb25nKSB5eXN0YWNrc2l6ZSkpOworLQorLSAgICAgIGlmICh5eXNz
ICsgeXlzdGFja3NpemUgLSAxIDw9IHl5c3NwKQorLSAgICAgICAgWVlBQk9SVDsKKy0gICAgfQor
LSNlbmRpZiAvKiAhZGVmaW5lZCB5eW92ZXJmbG93ICYmICFkZWZpbmVkIFlZU1RBQ0tfUkVMT0NB
VEUgKi8KKy0KKy0gIFlZRFBSSU5URiAoKHN0ZGVyciwgIkVudGVyaW5nIHN0YXRlICVkXG4iLCB5
eXN0YXRlKSk7CistCistICBpZiAoeXlzdGF0ZSA9PSBZWUZJTkFMKQorLSAgICBZWUFDQ0VQVDsK
Ky0KKy0gIGdvdG8geXliYWNrdXA7CistCistCistLyotLS0tLS0tLS0tLS4KKy18IHl5YmFja3Vw
LiAgfAorLWAtLS0tLS0tLS0tLSovCisteXliYWNrdXA6CistICAvKiBEbyBhcHByb3ByaWF0ZSBw
cm9jZXNzaW5nIGdpdmVuIHRoZSBjdXJyZW50IHN0YXRlLiAgUmVhZCBhCistICAgICBsb29rYWhl
YWQgdG9rZW4gaWYgd2UgbmVlZCBvbmUgYW5kIGRvbid0IGFscmVhZHkgaGF2ZSBvbmUuICAqLwor
LQorLSAgLyogRmlyc3QgdHJ5IHRvIGRlY2lkZSB3aGF0IHRvIGRvIHdpdGhvdXQgcmVmZXJlbmNl
IHRvIGxvb2thaGVhZCB0b2tlbi4gICovCistICB5eW4gPSB5eXBhY3RbeXlzdGF0ZV07CistICBp
ZiAoeXlwYWN0X3ZhbHVlX2lzX2RlZmF1bHQgKHl5bikpCistICAgIGdvdG8geXlkZWZhdWx0Owor
LQorLSAgLyogTm90IGtub3duID0+IGdldCBhIGxvb2thaGVhZCB0b2tlbiBpZiBkb24ndCBhbHJl
YWR5IGhhdmUgb25lLiAgKi8KKy0KKy0gIC8qIFlZQ0hBUiBpcyBlaXRoZXIgWVlFTVBUWSBvciBZ
WUVPRiBvciBhIHZhbGlkIGxvb2thaGVhZCBzeW1ib2wuICAqLworLSAgaWYgKHl5Y2hhciA9PSBZ
WUVNUFRZKQorLSAgICB7XWI0X3B1c2hfaWYoW1sKKy0gICAgICBpZiAoIXl5cHMtPnl5bmV3KQor
LSAgICAgICAge11iNF91c2VfcHVzaF9mb3JfcHVsbF9pZihbXSwgW1sKKy0gICAgICAgICAgWVlE
UFJJTlRGICgoc3RkZXJyLCAiUmV0dXJuIGZvciBhIG5ldyB0b2tlbjpcbiIpKTtdXSlbCistICAg
ICAgICAgIHl5cmVzdWx0ID0gWVlQVVNIX01PUkU7CistICAgICAgICAgIGdvdG8geXlwdXNocmV0
dXJuOworLSAgICAgICAgfQorLSAgICAgIHl5cHMtPnl5bmV3ID0gMDtdYjRfcHVyZV9pZihbXSwg
W1sKKy0gICAgICAvKiBSZXN0b3JpbmcgdGhlIHB1c2hlZCB0b2tlbiBpcyBvbmx5IG5lY2Vzc2Fy
eSBmb3IgdGhlIGZpcnN0CistICAgICAgICAgeXlwdXNoX3BhcnNlIGludm9jYXRpb24gc2luY2Ug
c3Vic2VxdWVudCBpbnZvY2F0aW9ucyBkb24ndCBvdmVyd3JpdGUKKy0gICAgICAgICBpdCBiZWZv
cmUganVtcGluZyB0byB5eXJlYWRfcHVzaGVkX3Rva2VuLiAgKi8KKy0gICAgICB5eWNoYXIgPSB5
eXB1c2hlZF9jaGFyOworLSAgICAgIHl5bHZhbCA9IHl5cHVzaGVkX3ZhbDtdYjRfbG9jYXRpb25z
X2lmKFtbCistICAgICAgeXlsbG9jID0geXlwdXNoZWRfbG9jO11dKV0pWworLXl5cmVhZF9wdXNo
ZWRfdG9rZW46XV0pWworLSAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIlJlYWRpbmcgYSB0b2tl
bjogIikpO11iNF9wdXNoX2lmKFtiNF9wdXJlX2lmKFtbCistICAgICAgeXljaGFyID0geXlwdXNo
ZWRfY2hhcjsKKy0gICAgICBpZiAoeXlwdXNoZWRfdmFsKQorLSAgICAgICAgeXlsdmFsID0gKnl5
cHVzaGVkX3ZhbDtdYjRfbG9jYXRpb25zX2lmKFtbCistICAgICAgaWYgKHl5cHVzaGVkX2xvYykK
Ky0gICAgICAgIHl5bGxvYyA9ICp5eXB1c2hlZF9sb2M7XV0pXSldLCBbWworLSAgICAgIHl5Y2hh
ciA9IF1iNF9sZXhbO11dKVsKKy0gICAgfQorLQorLSAgaWYgKHl5Y2hhciA8PSBZWUVPRikKKy0g
ICAgeworLSAgICAgIHl5Y2hhciA9IHl5dG9rZW4gPSBZWUVPRjsKKy0gICAgICBZWURQUklOVEYg
KChzdGRlcnIsICJOb3cgYXQgZW5kIG9mIGlucHV0LlxuIikpOworLSAgICB9CistICBlbHNlCist
ICAgIHsKKy0gICAgICB5eXRva2VuID0gWVlUUkFOU0xBVEUgKHl5Y2hhcik7CistICAgICAgWVlf
U1lNQk9MX1BSSU5UICgiTmV4dCB0b2tlbiBpcyIsIHl5dG9rZW4sICZ5eWx2YWwsICZ5eWxsb2Mp
OworLSAgICB9CistCistICAvKiBJZiB0aGUgcHJvcGVyIGFjdGlvbiBvbiBzZWVpbmcgdG9rZW4g
WVlUT0tFTiBpcyB0byByZWR1Y2Ugb3IgdG8KKy0gICAgIGRldGVjdCBhbiBlcnJvciwgdGFrZSB0
aGF0IGFjdGlvbi4gICovCistICB5eW4gKz0geXl0b2tlbjsKKy0gIGlmICh5eW4gPCAwIHx8IFlZ
TEFTVCA8IHl5biB8fCB5eWNoZWNrW3l5bl0gIT0geXl0b2tlbildYjRfbGFjX2lmKFtbCistICAg
IHsKKy0gICAgICBZWV9MQUNfRVNUQUJMSVNIOworLSAgICAgIGdvdG8geXlkZWZhdWx0OworLSAg
ICB9XV0sIFtbCistICAgIGdvdG8geXlkZWZhdWx0O11dKVsKKy0gIHl5biA9IHl5dGFibGVbeXlu
XTsKKy0gIGlmICh5eW4gPD0gMCkKKy0gICAgeworLSAgICAgIGlmICh5eXRhYmxlX3ZhbHVlX2lz
X2Vycm9yICh5eW4pKQorLSAgICAgICAgZ290byB5eWVycmxhYjtdYjRfbGFjX2lmKFtbCistICAg
ICAgWVlfTEFDX0VTVEFCTElTSDtdXSlbCistICAgICAgeXluID0gLXl5bjsKKy0gICAgICBnb3Rv
IHl5cmVkdWNlOworLSAgICB9CistCistICAvKiBDb3VudCB0b2tlbnMgc2hpZnRlZCBzaW5jZSBl
cnJvcjsgYWZ0ZXIgdGhyZWUsIHR1cm4gb2ZmIGVycm9yCistICAgICBzdGF0dXMuICAqLworLSAg
aWYgKHl5ZXJyc3RhdHVzKQorLSAgICB5eWVycnN0YXR1cy0tOworLQorLSAgLyogU2hpZnQgdGhl
IGxvb2thaGVhZCB0b2tlbi4gICovCistICBZWV9TWU1CT0xfUFJJTlQgKCJTaGlmdGluZyIsIHl5
dG9rZW4sICZ5eWx2YWwsICZ5eWxsb2MpOworLQorLSAgLyogRGlzY2FyZCB0aGUgc2hpZnRlZCB0
b2tlbi4gICovCistICB5eWNoYXIgPSBZWUVNUFRZO11iNF9sYWNfaWYoW1sKKy0gIFlZX0xBQ19E
SVNDQVJEICgic2hpZnQiKTtdXSlbCistCistICB5eXN0YXRlID0geXluOworLSAgWVlfSUdOT1JF
X01BWUJFX1VOSU5JVElBTElaRURfQkVHSU4KKy0gICorK3l5dnNwID0geXlsdmFsOworLSAgWVlf
SUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfRU5ECistXWI0X2xvY2F0aW9uc19pZihbICAqKyt5
eWxzcCA9IHl5bGxvYztdKVsKKy0gIGdvdG8geXluZXdzdGF0ZTsKKy0KKy0KKy0vKi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgorLXwg
eXlkZWZhdWx0IC0tIGRvIHRoZSBkZWZhdWx0IGFjdGlvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUu
ICB8CistYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKi8KKy15eWRlZmF1bHQ6CistICB5eW4gPSB5eWRlZmFjdFt5eXN0YXRlXTsKKy0g
IGlmICh5eW4gPT0gMCkKKy0gICAgZ290byB5eWVycmxhYjsKKy0gIGdvdG8geXlyZWR1Y2U7Cist
CistCistLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KKy18IHl5cmVkdWNlIC0tIGRv
IGEgcmVkdWN0aW9uLiAgfAorLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisteXly
ZWR1Y2U6CistICAvKiB5eW4gaXMgdGhlIG51bWJlciBvZiBhIHJ1bGUgdG8gcmVkdWNlIHdpdGgu
ICAqLworLSAgeXlsZW4gPSB5eXIyW3l5bl07CistCistICAvKiBJZiBZWUxFTiBpcyBub256ZXJv
LCBpbXBsZW1lbnQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGFjdGlvbjoKKy0gICAgICckJCA9
ICQxJy4KKy0KKy0gICAgIE90aGVyd2lzZSwgdGhlIGZvbGxvd2luZyBsaW5lIHNldHMgWVlWQUwg
dG8gZ2FyYmFnZS4KKy0gICAgIFRoaXMgYmVoYXZpb3IgaXMgdW5kb2N1bWVudGVkIGFuZCBCaXNv
bgorLSAgICAgdXNlcnMgc2hvdWxkIG5vdCByZWx5IHVwb24gaXQuICBBc3NpZ25pbmcgdG8gWVlW
QUwKKy0gICAgIHVuY29uZGl0aW9uYWxseSBtYWtlcyB0aGUgcGFyc2VyIGEgYml0IHNtYWxsZXIs
IGFuZCBpdCBhdm9pZHMgYQorLSAgICAgR0NDIHdhcm5pbmcgdGhhdCBZWVZBTCBtYXkgYmUgdXNl
ZCB1bmluaXRpYWxpemVkLiAgKi8KKy0gIHl5dmFsID0geXl2c3BbMS15eWxlbl07CistCistXWI0
X2xvY2F0aW9uc19pZigKKy1bWyAgLyogRGVmYXVsdCBsb2NhdGlvbi4gKi8KKy0gIFlZTExPQ19E
RUZBVUxUICh5eWxvYywgKHl5bHNwIC0geXlsZW4pLCB5eWxlbik7CistICB5eWVycm9yX3Jhbmdl
WzFdID0geXlsb2M7XV0pWworLSAgWVlfUkVEVUNFX1BSSU5UICh5eW4pO11iNF9sYWNfaWYoW1sK
Ky0gIHsKKy0gICAgaW50IHl5Y2hhcl9iYWNrdXAgPSB5eWNoYXI7CistICAgIHN3aXRjaCAoeXlu
KQorLSAgICAgIHsKKy1dYjRfdXNlcl9hY3Rpb25zWworLSAgICAgICAgZGVmYXVsdDogYnJlYWs7
CistICAgICAgfQorLSAgICBpZiAoeXljaGFyX2JhY2t1cCAhPSB5eWNoYXIpCistICAgICAgWVlf
TEFDX0RJU0NBUkQgKCJ5eWNoYXIgY2hhbmdlIik7CistICB9XV0sIFtbCistICBzd2l0Y2ggKHl5
bikKKy0gICAgeworLSAgICAgIF1iNF91c2VyX2FjdGlvbnNbCistICAgICAgZGVmYXVsdDogYnJl
YWs7CistICAgIH1dXSlbCistICAvKiBVc2VyIHNlbWFudGljIGFjdGlvbnMgc29tZXRpbWVzIGFs
dGVyIHl5Y2hhciwgYW5kIHRoYXQgcmVxdWlyZXMKKy0gICAgIHRoYXQgeXl0b2tlbiBiZSB1cGRh
dGVkIHdpdGggdGhlIG5ldyB0cmFuc2xhdGlvbi4gIFdlIHRha2UgdGhlCistICAgICBhcHByb2Fj
aCBvZiB0cmFuc2xhdGluZyBpbW1lZGlhdGVseSBiZWZvcmUgZXZlcnkgdXNlIG9mIHl5dG9rZW4u
CistICAgICBPbmUgYWx0ZXJuYXRpdmUgaXMgdHJhbnNsYXRpbmcgaGVyZSBhZnRlciBldmVyeSBz
ZW1hbnRpYyBhY3Rpb24sCistICAgICBidXQgdGhhdCB0cmFuc2xhdGlvbiB3b3VsZCBiZSBtaXNz
ZWQgaWYgdGhlIHNlbWFudGljIGFjdGlvbiBpbnZva2VzCistICAgICBZWUFCT1JULCBZWUFDQ0VQ
VCwgb3IgWVlFUlJPUiBpbW1lZGlhdGVseSBhZnRlciBhbHRlcmluZyB5eWNoYXIgb3IKKy0gICAg
IGlmIGl0IGludm9rZXMgWVlCQUNLVVAuICBJbiB0aGUgY2FzZSBvZiBZWUFCT1JUIG9yIFlZQUND
RVBULCBhbgorLSAgICAgaW5jb3JyZWN0IGRlc3RydWN0b3IgbWlnaHQgdGhlbiBiZSBpbnZva2Vk
IGltbWVkaWF0ZWx5LiAgSW4gdGhlCistICAgICBjYXNlIG9mIFlZRVJST1Igb3IgWVlCQUNLVVAs
IHN1YnNlcXVlbnQgcGFyc2VyIGFjdGlvbnMgbWlnaHQgbGVhZAorLSAgICAgdG8gYW4gaW5jb3Jy
ZWN0IGRlc3RydWN0b3IgY2FsbCBvciB2ZXJib3NlIHN5bnRheCBlcnJvciBtZXNzYWdlCistICAg
ICBiZWZvcmUgdGhlIGxvb2thaGVhZCBpcyB0cmFuc2xhdGVkLiAgKi8KKy0gIFlZX1NZTUJPTF9Q
UklOVCAoIi0+ICQkID0iLCB5eXIxW3l5bl0sICZ5eXZhbCwgJnl5bG9jKTsKKy0KKy0gIFlZUE9Q
U1RBQ0sgKHl5bGVuKTsKKy0gIHl5bGVuID0gMDsKKy0gIFlZX1NUQUNLX1BSSU5UICh5eXNzLCB5
eXNzcCk7CistCistICAqKyt5eXZzcCA9IHl5dmFsO11iNF9sb2NhdGlvbnNfaWYoWworLSAgKisr
eXlsc3AgPSB5eWxvYztdKVsKKy0KKy0gIC8qIE5vdyAnc2hpZnQnIHRoZSByZXN1bHQgb2YgdGhl
IHJlZHVjdGlvbi4gIERldGVybWluZSB3aGF0IHN0YXRlCistICAgICB0aGF0IGdvZXMgdG8sIGJh
c2VkIG9uIHRoZSBzdGF0ZSB3ZSBwb3BwZWQgYmFjayB0byBhbmQgdGhlIHJ1bGUKKy0gICAgIG51
bWJlciByZWR1Y2VkIGJ5LiAgKi8KKy0gIHsKKy0gICAgY29uc3QgaW50IHl5bGhzID0geXlyMVt5
eW5dIC0gWVlOVE9LRU5TOworLSAgICBjb25zdCBpbnQgeXlpID0geXlwZ290b1t5eWxoc10gKyAq
eXlzc3A7CistICAgIHl5c3RhdGUgPSAoMCA8PSB5eWkgJiYgeXlpIDw9IFlZTEFTVCAmJiB5eWNo
ZWNrW3l5aV0gPT0gKnl5c3NwCistICAgICAgICAgICAgICAgPyB5eXRhYmxlW3l5aV0KKy0gICAg
ICAgICAgICAgICA6IHl5ZGVmZ290b1t5eWxoc10pOworLSAgfQorLQorLSAgZ290byB5eW5ld3N0
YXRlOworLQorLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCist
fCB5eWVycmxhYiAtLSBoZXJlIG9uIGRldGVjdGluZyBlcnJvci4gIHwKKy1gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLXl5ZXJybGFiOgorLSAgLyogTWFrZSBzdXJl
IHdlIGhhdmUgbGF0ZXN0IGxvb2thaGVhZCB0cmFuc2xhdGlvbi4gIFNlZSBjb21tZW50cyBhdAor
LSAgICAgdXNlciBzZW1hbnRpYyBhY3Rpb25zIGZvciB3aHkgdGhpcyBpcyBuZWNlc3NhcnkuICAq
LworLSAgeXl0b2tlbiA9IHl5Y2hhciA9PSBZWUVNUFRZID8gWVlFTVBUWSA6IFlZVFJBTlNMQVRF
ICh5eWNoYXIpOworLQorLSAgLyogSWYgbm90IGFscmVhZHkgcmVjb3ZlcmluZyBmcm9tIGFuIGVy
cm9yLCByZXBvcnQgdGhpcyBlcnJvci4gICovCistICBpZiAoIXl5ZXJyc3RhdHVzKQorLSAgICB7
CistICAgICAgKyt5eW5lcnJzOworLSNpZiAhIFlZRVJST1JfVkVSQk9TRQorLSAgICAgIHl5ZXJy
b3IgKF1iNF95eWVycm9yX2FyZ3NbWVlfKCJzeW50YXggZXJyb3IiKSk7CistI2Vsc2UKKy0jIGRl
ZmluZSBZWVNZTlRBWF9FUlJPUiB5eXN5bnRheF9lcnJvciAoJnl5bXNnX2FsbG9jLCAmeXltc2cs
IFxdYjRfbGFjX2lmKFtbCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHl5ZXNhLCAmeXllcywgJnl5ZXNfY2FwYWNpdHksIFxdXSlbCistICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHl5c3NwLCB5eXRva2VuKQorLSAgICAgIHsKKy0gICAgICAg
IGNoYXIgY29uc3QgKnl5bXNncCA9IFlZXygic3ludGF4IGVycm9yIik7CistICAgICAgICBpbnQg
eXlzeW50YXhfZXJyb3Jfc3RhdHVzO11iNF9sYWNfaWYoW1sKKy0gICAgICAgIGlmICh5eWNoYXIg
IT0gWVlFTVBUWSkKKy0gICAgICAgICAgWVlfTEFDX0VTVEFCTElTSDtdXSlbCistICAgICAgICB5
eXN5bnRheF9lcnJvcl9zdGF0dXMgPSBZWVNZTlRBWF9FUlJPUjsKKy0gICAgICAgIGlmICh5eXN5
bnRheF9lcnJvcl9zdGF0dXMgPT0gMCkKKy0gICAgICAgICAgeXltc2dwID0geXltc2c7CistICAg
ICAgICBlbHNlIGlmICh5eXN5bnRheF9lcnJvcl9zdGF0dXMgPT0gMSkKKy0gICAgICAgICAgewor
LSAgICAgICAgICAgIGlmICh5eW1zZyAhPSB5eW1zZ2J1ZikKKy0gICAgICAgICAgICAgIFlZU1RB
Q0tfRlJFRSAoeXltc2cpOworLSAgICAgICAgICAgIHl5bXNnID0gKGNoYXIgKikgWVlTVEFDS19B
TExPQyAoeXltc2dfYWxsb2MpOworLSAgICAgICAgICAgIGlmICgheXltc2cpCistICAgICAgICAg
ICAgICB7CistICAgICAgICAgICAgICAgIHl5bXNnID0geXltc2didWY7CistICAgICAgICAgICAg
ICAgIHl5bXNnX2FsbG9jID0gc2l6ZW9mIHl5bXNnYnVmOworLSAgICAgICAgICAgICAgICB5eXN5
bnRheF9lcnJvcl9zdGF0dXMgPSAyOworLSAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVs
c2UKKy0gICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgeXlzeW50YXhfZXJyb3Jfc3Rh
dHVzID0gWVlTWU5UQVhfRVJST1I7CistICAgICAgICAgICAgICAgIHl5bXNncCA9IHl5bXNnOwor
LSAgICAgICAgICAgICAgfQorLSAgICAgICAgICB9CistICAgICAgICB5eWVycm9yIChdYjRfeXll
cnJvcl9hcmdzW3l5bXNncCk7CistICAgICAgICBpZiAoeXlzeW50YXhfZXJyb3Jfc3RhdHVzID09
IDIpCistICAgICAgICAgIGdvdG8geXlleGhhdXN0ZWRsYWI7CistICAgICAgfQorLSMgdW5kZWYg
WVlTWU5UQVhfRVJST1IKKy0jZW5kaWYKKy0gICAgfQorLQorLV1iNF9sb2NhdGlvbnNfaWYoW1sg
IHl5ZXJyb3JfcmFuZ2VbMV0gPSB5eWxsb2M7XV0pWworLQorLSAgaWYgKHl5ZXJyc3RhdHVzID09
IDMpCistICAgIHsKKy0gICAgICAvKiBJZiBqdXN0IHRyaWVkIGFuZCBmYWlsZWQgdG8gcmV1c2Ug
bG9va2FoZWFkIHRva2VuIGFmdGVyIGFuCistICAgICAgICAgZXJyb3IsIGRpc2NhcmQgaXQuICAq
LworLQorLSAgICAgIGlmICh5eWNoYXIgPD0gWVlFT0YpCistICAgICAgICB7CistICAgICAgICAg
IC8qIFJldHVybiBmYWlsdXJlIGlmIGF0IGVuZCBvZiBpbnB1dC4gICovCistICAgICAgICAgIGlm
ICh5eWNoYXIgPT0gWVlFT0YpCistICAgICAgICAgICAgWVlBQk9SVDsKKy0gICAgICAgIH0KKy0g
ICAgICBlbHNlCistICAgICAgICB7CistICAgICAgICAgIHl5ZGVzdHJ1Y3QgKCJFcnJvcjogZGlz
Y2FyZGluZyIsCistICAgICAgICAgICAgICAgICAgICAgIHl5dG9rZW4sICZ5eWx2YWxdYjRfbG9j
YXRpb25zX2lmKFssICZ5eWxsb2NdKVtdYjRfdXNlcl9hcmdzWyk7CistICAgICAgICAgIHl5Y2hh
ciA9IFlZRU1QVFk7CistICAgICAgICB9CistICAgIH0KKy0KKy0gIC8qIEVsc2Ugd2lsbCB0cnkg
dG8gcmV1c2UgbG9va2FoZWFkIHRva2VuIGFmdGVyIHNoaWZ0aW5nIHRoZSBlcnJvcgorLSAgICAg
dG9rZW4uICAqLworLSAgZ290byB5eWVycmxhYjE7CistCistCistLyotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCistfCB5eWVycm9ybGFiIC0tIGVy
cm9yIHJhaXNlZCBleHBsaWNpdGx5IGJ5IFlZRVJST1IuICB8CistYC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisteXllcnJvcmxhYjoKKy0gIC8q
IFBhY2lmeSBjb21waWxlcnMgd2hlbiB0aGUgdXNlciBjb2RlIG5ldmVyIGludm9rZXMgWVlFUlJP
UiBhbmQgdGhlCistICAgICBsYWJlbCB5eWVycm9ybGFiIHRoZXJlZm9yZSBuZXZlciBhcHBlYXJz
IGluIHVzZXIgY29kZS4gICovCistICBpZiAoMCkKKy0gICAgWVlFUlJPUjsKKy0KKy0gIC8qIERv
IG5vdCByZWNsYWltIHRoZSBzeW1ib2xzIG9mIHRoZSBydWxlIHdob3NlIGFjdGlvbiB0cmlnZ2Vy
ZWQKKy0gICAgIHRoaXMgWVlFUlJPUi4gICovCistICBZWVBPUFNUQUNLICh5eWxlbik7CistICB5
eWxlbiA9IDA7CistICBZWV9TVEFDS19QUklOVCAoeXlzcywgeXlzc3ApOworLSAgeXlzdGF0ZSA9
ICp5eXNzcDsKKy0gIGdvdG8geXllcnJsYWIxOworLQorLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KKy18IHl5ZXJybGFi
MSAtLSBjb21tb24gY29kZSBmb3IgYm90aCBzeW50YXggZXJyb3IgYW5kIFlZRVJST1IuICB8Cist
YC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0qLworLXl5ZXJybGFiMToKKy0gIHl5ZXJyc3RhdHVzID0gMzsgICAgICAvKiBFYWNoIHJl
YWwgdG9rZW4gc2hpZnRlZCBkZWNyZW1lbnRzIHRoaXMuICAqLworLQorLSAgZm9yICg7OykKKy0g
ICAgeworLSAgICAgIHl5biA9IHl5cGFjdFt5eXN0YXRlXTsKKy0gICAgICBpZiAoIXl5cGFjdF92
YWx1ZV9pc19kZWZhdWx0ICh5eW4pKQorLSAgICAgICAgeworLSAgICAgICAgICB5eW4gKz0gWVlU
RVJST1I7CistICAgICAgICAgIGlmICgwIDw9IHl5biAmJiB5eW4gPD0gWVlMQVNUICYmIHl5Y2hl
Y2tbeXluXSA9PSBZWVRFUlJPUikKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICB5eW4g
PSB5eXRhYmxlW3l5bl07CistICAgICAgICAgICAgICBpZiAoMCA8IHl5bikKKy0gICAgICAgICAg
ICAgICAgYnJlYWs7CistICAgICAgICAgICAgfQorLSAgICAgICAgfQorLQorLSAgICAgIC8qIFBv
cCB0aGUgY3VycmVudCBzdGF0ZSBiZWNhdXNlIGl0IGNhbm5vdCBoYW5kbGUgdGhlIGVycm9yIHRv
a2VuLiAgKi8KKy0gICAgICBpZiAoeXlzc3AgPT0geXlzcykKKy0gICAgICAgIFlZQUJPUlQ7Cist
CistXWI0X2xvY2F0aW9uc19pZihbWyAgICAgIHl5ZXJyb3JfcmFuZ2VbMV0gPSAqeXlsc3A7XV0p
WworLSAgICAgIHl5ZGVzdHJ1Y3QgKCJFcnJvcjogcG9wcGluZyIsCistICAgICAgICAgICAgICAg
ICAgeXlzdG9zW3l5c3RhdGVdLCB5eXZzcF1iNF9sb2NhdGlvbnNfaWYoWywgeXlsc3BdKVtdYjRf
dXNlcl9hcmdzWyk7CistICAgICAgWVlQT1BTVEFDSyAoMSk7CistICAgICAgeXlzdGF0ZSA9ICp5
eXNzcDsKKy0gICAgICBZWV9TVEFDS19QUklOVCAoeXlzcywgeXlzc3ApOworLSAgICB9XWI0X2xh
Y19pZihbWworLQorLSAgLyogSWYgdGhlIHN0YWNrIHBvcHBpbmcgYWJvdmUgZGlkbid0IGxvc2Ug
dGhlIGluaXRpYWwgY29udGV4dCBmb3IgdGhlCistICAgICBjdXJyZW50IGxvb2thaGVhZCB0b2tl
biwgdGhlIHNoaWZ0IGJlbG93IHdpbGwgZm9yIHN1cmUuICAqLworLSAgWVlfTEFDX0RJU0NBUkQg
KCJlcnJvciByZWNvdmVyeSIpO11dKVsKKy0KKy0gIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJ
WkVEX0JFR0lOCistICAqKyt5eXZzcCA9IHl5bHZhbDsKKy0gIFlZX0lHTk9SRV9NQVlCRV9VTklO
SVRJQUxJWkVEX0VORAorLV1iNF9sb2NhdGlvbnNfaWYoW1sKKy0gIHl5ZXJyb3JfcmFuZ2VbMl0g
PSB5eWxsb2M7CistICAvKiBVc2luZyBZWUxMT0MgaXMgdGVtcHRpbmcsIGJ1dCB3b3VsZCBjaGFu
Z2UgdGhlIGxvY2F0aW9uIG9mCistICAgICB0aGUgbG9va2FoZWFkLiAgWVlMT0MgaXMgYXZhaWxh
YmxlIHRob3VnaC4gICovCistICBZWUxMT0NfREVGQVVMVCAoeXlsb2MsIHl5ZXJyb3JfcmFuZ2Us
IDIpOworLSAgKisreXlsc3AgPSB5eWxvYztdXSlbCistCistICAvKiBTaGlmdCB0aGUgZXJyb3Ig
dG9rZW4uICAqLworLSAgWVlfU1lNQk9MX1BSSU5UICgiU2hpZnRpbmciLCB5eXN0b3NbeXluXSwg
eXl2c3AsIHl5bHNwKTsKKy0KKy0gIHl5c3RhdGUgPSB5eW47CistICBnb3RvIHl5bmV3c3RhdGU7
CistCistCistLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgorLXwgeXlh
Y2NlcHRsYWIgLS0gWVlBQ0NFUFQgY29tZXMgaGVyZS4gIHwKKy1gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSovCisteXlhY2NlcHRsYWI6CistICB5eXJlc3VsdCA9IDA7Cist
ICBnb3RvIHl5cmV0dXJuOworLQorLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0uCistfCB5eWFib3J0bGFiIC0tIFlZQUJPUlQgY29tZXMgaGVyZS4gIHwKKy1gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLXl5YWJvcnRsYWI6CistICB5eXJlc3Vs
dCA9IDE7CistICBnb3RvIHl5cmV0dXJuOworLQorLQorLSNpZiBdYjRfbGFjX2lmKFtbMV1dLCBb
WyFkZWZpbmVkIHl5b3ZlcmZsb3cgfHwgWVlFUlJPUl9WRVJCT1NFXV0pWworLS8qLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KKy18IHl5ZXhoYXVzdGVk
bGFiIC0tIG1lbW9yeSBleGhhdXN0aW9uIGNvbWVzIGhlcmUuICB8CistYC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLXl5ZXhoYXVzdGVkbGFiOgor
LSAgeXllcnJvciAoXWI0X3l5ZXJyb3JfYXJnc1tZWV8oIm1lbW9yeSBleGhhdXN0ZWQiKSk7Cist
ICB5eXJlc3VsdCA9IDI7CistICAvKiBGYWxsIHRocm91Z2guICAqLworLSNlbmRpZgorLQorLQor
LS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0u
CistfCB5eXJldHVybiAtLSBwYXJzaW5nIGlzIGZpbmlzaGVkLCByZXR1cm4gdGhlIHJlc3VsdC4g
IHwKKy1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0qLworLXl5cmV0dXJuOgorLSAgaWYgKHl5Y2hhciAhPSBZWUVNUFRZKQorLSAgICB7CistICAg
ICAgLyogTWFrZSBzdXJlIHdlIGhhdmUgbGF0ZXN0IGxvb2thaGVhZCB0cmFuc2xhdGlvbi4gIFNl
ZSBjb21tZW50cyBhdAorLSAgICAgICAgIHVzZXIgc2VtYW50aWMgYWN0aW9ucyBmb3Igd2h5IHRo
aXMgaXMgbmVjZXNzYXJ5LiAgKi8KKy0gICAgICB5eXRva2VuID0gWVlUUkFOU0xBVEUgKHl5Y2hh
cik7CistICAgICAgeXlkZXN0cnVjdCAoIkNsZWFudXA6IGRpc2NhcmRpbmcgbG9va2FoZWFkIiwK
Ky0gICAgICAgICAgICAgICAgICB5eXRva2VuLCAmeXlsdmFsXWI0X2xvY2F0aW9uc19pZihbLCAm
eXlsbG9jXSlbXWI0X3VzZXJfYXJnc1spOworLSAgICB9CistICAvKiBEbyBub3QgcmVjbGFpbSB0
aGUgc3ltYm9scyBvZiB0aGUgcnVsZSB3aG9zZSBhY3Rpb24gdHJpZ2dlcmVkCistICAgICB0aGlz
IFlZQUJPUlQgb3IgWVlBQ0NFUFQuICAqLworLSAgWVlQT1BTVEFDSyAoeXlsZW4pOworLSAgWVlf
U1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKKy0gIHdoaWxlICh5eXNzcCAhPSB5eXNzKQorLSAg
ICB7CistICAgICAgeXlkZXN0cnVjdCAoIkNsZWFudXA6IHBvcHBpbmciLAorLSAgICAgICAgICAg
ICAgICAgIHl5c3Rvc1sqeXlzc3BdLCB5eXZzcF1iNF9sb2NhdGlvbnNfaWYoWywgeXlsc3BdKVtd
YjRfdXNlcl9hcmdzWyk7CistICAgICAgWVlQT1BTVEFDSyAoMSk7CistICAgIH0KKy0jaWZuZGVm
IHl5b3ZlcmZsb3cKKy0gIGlmICh5eXNzICE9IHl5c3NhKQorLSAgICBZWVNUQUNLX0ZSRUUgKHl5
c3MpOworLSNlbmRpZl1iNF9sYWNfaWYoW1sKKy0gIGlmICh5eWVzICE9IHl5ZXNhKQorLSAgICBZ
WVNUQUNLX0ZSRUUgKHl5ZXMpO11dKWI0X3B1c2hfaWYoW1sKKy0gIHl5cHMtPnl5bmV3ID0gMTsK
Ky0KKy0KKy0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgorLXwg
eXlwdXNocmV0dXJuIC0tIGFzayBmb3IgdGhlIG5leHQgdG9rZW4uICB8CistYC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy15eXB1c2hyZXR1cm46XV0pWworLSNp
ZiBZWUVSUk9SX1ZFUkJPU0UKKy0gIGlmICh5eW1zZyAhPSB5eW1zZ2J1ZikKKy0gICAgWVlTVEFD
S19GUkVFICh5eW1zZyk7CistI2VuZGlmCistICByZXR1cm4geXlyZXN1bHQ7CistfQorLV1iNF9l
cGlsb2d1ZVtdZG5sCistYjRfb3V0cHV0X2VuZAorLQorLWI0X2RlZmluZXNfaWYoW1sKKy1dYjRf
b3V0cHV0X2JlZ2luKFtiNF9zcGVjX2RlZmluZXNfZmlsZV0pWworLV1iNF9jb3B5cmlnaHQoW0Jp
c29uIGludGVyZmFjZSBmb3IgWWFjYy1saWtlIHBhcnNlcnMgaW4gQ10pWworLV1iNF9kaXNjbGFp
bWVyWworLV1iNF9zaGFyZWRfZGVjbGFyYXRpb25zWworLV1iNF9vdXRwdXRfZW5kWworLV1dKSMg
YjRfZGVmaW5lc19pZgorZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xz
L2ZsZXgtYmlzb24vdXBkYXRlX2ZsZXhfYmlzb25fYmluYXJpZXMucHkgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3VwZGF0ZV9mbGV4X2Jpc29uX2JpbmFyaWVzLnB5
CitkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKK2luZGV4IDk5YzAwMmIwNGU3Li4wMDAwMDAwMDAw
MAorLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi91cGRhdGVf
ZmxleF9iaXNvbl9iaW5hcmllcy5weQorKysrIC9kZXYvbnVsbAorQEAgLTEsNjkgKzAsMCBAQAor
LSMhL3Vzci9iaW4vcHl0aG9uMgorLSMKKy0jIENvcHlyaWdodCAyMDE5IFRoZSBBTkdMRSBQcm9q
ZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCistIyBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCistIyBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLSMKKy0jIHVwZGF0ZV9mbGV4X2Jpc29uX2JpbmFy
aWVzLnB5OgorLSMgICBIZWxwZXIgc2NyaXB0IHRvIHVwZGF0ZSB0aGUgdmVyc2lvbiBvZiBmbGV4
IGFuZCBiaXNvbiBpbiBjbG91ZCBzdG9yYWdlLgorLSMgICBUaGVzZSBiaW5hcmllcyBhcmUgdXNl
ZCB0byBnZW5lcmF0ZSB0aGUgQU5HTEUgdHJhbnNsYXRvcidzIGxleGVyIGFuZCBwYXJzZXIuCist
IyAgIFRoaXMgc2NyaXB0IHJlbGllcyBvbiBmbGV4IGFuZCBiaXNvbiBiaW5hcmllcyB0byBiZSBl
eHRlcm5hbGx5IGJ1aWx0IHdoaWNoCistIyAgIGlzIGV4cGVjdGVkIHRvIGJlIGEgcmFyZSBvcGVy
YXRpb24uIEl0IGN1cnJlbnRseSBvbmx5IHdvcmtzIG9uIFdpbmRvd3MgYW5kCistIyAgIExpbnV4
LiBJdCBhbHNvIHdpbGwgdXBkYXRlIHRoZSBoYXNoZXMgc3RvcmVkIGluIHRoZSB0cmVlLiBGb3Ig
bW9yZSBpbmZvIHNlZQorLSMgICBSRUFETUUubWQgaW4gdGhpcyBmb2xkZXIuCistCistaW1wb3J0
IG9zCistaW1wb3J0IHBsYXRmb3JtCistaW1wb3J0IHNodXRpbAorLWltcG9ydCBzeXMKKy0KKy1z
eXMucGF0aC5hcHBlbmQoJ3Rvb2xzLycpCistaW1wb3J0IGFuZ2xlX3Rvb2xzCistCistCistZGVm
IG1haW4oKToKKy0gICAgaWYgYW5nbGVfdG9vbHMuaXNfbGludXg6CistICAgICAgICBzdWJkaXIg
PSAnbGludXgnCistICAgICAgICBmaWxlcyA9IFsnZmxleCcsICdiaXNvbiddCistICAgIGVsaWYg
YW5nbGVfdG9vbHMuaXNfd2luZG93czoKKy0gICAgICAgIHN1YmRpciA9ICd3aW5kb3dzJworLSAg
ICAgICAgZmlsZXMgPSBbCistICAgICAgICAgICAgJ2ZsZXguZXhlJywgJ2Jpc29uLmV4ZScsICdt
NC5leGUnLCAnbXN5cy0yLjAuZGxsJywgJ21zeXMtaWNvbnYtMi5kbGwnLAorLSAgICAgICAgICAg
ICdtc3lzLWludGwtOC5kbGwnCistICAgICAgICBdCistICAgIGVsc2U6CistICAgICAgICBwcmlu
dCgnU2NyaXB0IG11c3QgYmUgcnVuIG9uIExpbnV4IG9yIFdpbmRvd3MuJykKKy0gICAgICAgIHJl
dHVybiAxCistCistICAgIGZpbGVzID0gW29zLnBhdGguam9pbihzeXMucGF0aFswXSwgc3ViZGly
LCBmKSBmb3IgZiBpbiBmaWxlc10KKy0KKy0gICAgIyBTdGVwIDE6IFVwbG9hZCB0byBjbG91ZCBz
dG9yYWdlCistICAgIGlmIG5vdCBhbmdsZV90b29scy51cGxvYWRfdG9fZ29vZ2xlX3N0b3JhZ2Uo
J2FuZ2xlLWZsZXgtYmlzb24nLCBmaWxlcyk6CistICAgICAgICBwcmludCgnRXJyb3IgdXBsb2Fk
IHRvIGNsb3VkIHN0b3JhZ2UnKQorLSAgICAgICAgcmV0dXJuIDEKKy0KKy0gICAgIyBTdGVwIDI6
IFN0YWdlIG5ldyBTSEEgdG8gZ2l0CistICAgIGlmIG5vdCBhbmdsZV90b29scy5zdGFnZV9nb29n
bGVfc3RvcmFnZV9zaGExKGZpbGVzKToKKy0gICAgICAgIHByaW50KCdFcnJvciBydW5uaW5nIGdp
dCBhZGQnKQorLSAgICAgICAgcmV0dXJuIDIKKy0KKy0gICAgcHJpbnQoJycpCistICAgIHByaW50
KCdUaGUgdXBkYXRlZCBTSEEgaGFzIGJlZW4gc3RhZ2VkIGZvciBjb21taXQuIFBsZWFzZSBjb21t
aXQgYW5kIHVwbG9hZC4nKQorLSAgICBwcmludCgnU3VnZ2VzdGVkIGNvbW1pdCBtZXNzYWdlIChw
bGVhc2UgaW5kaWNhdGUgZmxleC9iaXNvbiB2ZXJzaW9ucyk6JykKKy0gICAgcHJpbnQoJy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nKQorLSAgICBwcmludCgnJykKKy0gICAgcHJpbnQoJ1Vw
ZGF0ZSBmbGV4IGFuZCBiaXNvbiBiaW5hcmllcyBmb3IgJXMuJyAlIHBsYXRmb3JtLnN5c3RlbSgp
KQorLSAgICBwcmludCgnJykKKy0gICAgcHJpbnQoJ1RoZXNlIGJpbmFyaWVzIHdlcmUgdXBkYXRl
ZCB1c2luZyAlcy4nICUgb3MucGF0aC5iYXNlbmFtZShfX2ZpbGVfXykpCistICAgIHByaW50KCdQ
bGVhc2Ugc2VlIGluc3RydWN0aW9ucyBpbiB0b29scy9mbGV4LWJpc29uL1JFQURNRS5tZC4nKQor
LSAgICBwcmludCgnJykKKy0gICAgcHJpbnQoJ2ZsZXggaXMgYXQgdmVyc2lvbiBUT0RPLicpCist
ICAgIHByaW50KCdiaXNvbiBpcyBhdCB2ZXJzaW9uIFRPRE8uJykKKy0gICAgcHJpbnQoJycpCist
ICAgIHByaW50KCdCdWc6IE5vbmUnKQorLQorLSAgICByZXR1cm4gMAorLQorLQorLWlmIF9fbmFt
ZV9fID09ICdfX21haW5fXyc6CistICAgIHN5cy5leGl0KG1haW4oKSkKK2RpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvYmlzb24uZXhl
LnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3Mv
Ymlzb24uZXhlLnNoYTEKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggOGNiNWY0ZmI1
YmIuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL3dpbmRvd3MvYmlzb24uZXhlLnNoYTEKKysrKyAvZGV2L251bGwKK0BAIC0xICswLDAg
QEAKKy00YTZlMWRjZWQ2MWRhYjJmY2Q4MjhlZGJmYmZhN2ViMDIxNWNmMmE0CitcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90
b29scy9mbGV4LWJpc29uL3dpbmRvd3MvZmxleC5leGUuc2hhMSBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9mbGV4LmV4ZS5zaGExCitkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKK2luZGV4IGZhYTc4ZWRjYWZlLi4wMDAwMDAwMDAwMAorLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL2ZsZXguZXhlLnNo
YTEKKysrKyAvZGV2L251bGwKK0BAIC0xICswLDAgQEAKKy1iYzUwYjNiNmU4NGEzMDk0MGFhMTIy
M2Y2OTJjOWYxZmM5YmVkYmY5CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbTQu
ZXhlLnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRv
d3MvbTQuZXhlLnNoYTEKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNTY0M2RmYjNi
MDUuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL3dpbmRvd3MvbTQuZXhlLnNoYTEKKysrKyAvZGV2L251bGwKK0BAIC0xICswLDAgQEAK
Ky0wNjgzNmU0NWIwNWQ1OTdkNTZiNzRmZWJlM2JjZmQ3NmU4MGVmOGY4CitcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29s
cy9mbGV4LWJpc29uL3dpbmRvd3MvbXN5cy0yLjAuZGxsLnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbXN5cy0yLjAuZGxsLnNoYTEKK2RlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggOTgzNTJjNzQ2MzUuLjAwMDAwMDAwMDAwCistLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbXN5cy0y
LjAuZGxsLnNoYTEKKysrKyAvZGV2L251bGwKK0BAIC0xICswLDAgQEAKKy1kMGJlYWI3ZWM3N2Iy
NWFjNzFiZDJkM2JmNTRmNGVmZDM5ZTM5NDdmCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
K2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dp
bmRvd3MvbXN5cy1pY29udi0yLmRsbC5zaGExIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9v
bHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtaWNvbnYtMi5kbGwuc2hhMQorZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CitpbmRleCBmNTJiYzRiNDJiOS4uMDAwMDAwMDAwMDAKKy0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9tc3lzLWljb252LTIu
ZGxsLnNoYTEKKysrKyAvZGV2L251bGwKK0BAIC0xICswLDAgQEAKKy0wNTc5ZjE1NjNlMjIwZDYx
MjFiNjVhNWY0NzI5OTE5Y2QwY2I2YWY5CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Rp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRv
d3MvbXN5cy1pbnRsLTguZGxsLnNoYTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9m
bGV4LWJpc29uL3dpbmRvd3MvbXN5cy1pbnRsLTguZGxsLnNoYTEKK2RlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAoraW5kZXggYTczNTkyMTEzZjEuLjAwMDAwMDAwMDAwCistLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbXN5cy1pbnRsLTguZGxsLnNo
YTEKKysrKyAvZGV2L251bGwKK0BAIC0xICswLDAgQEAKKy0yMTJhOWVmOTBlMjFhOThmZjU3Y2Ez
MDFhNjBjODRjYmVjYTdiZTI4CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9wZXJmX3Rlc3RzL2dsbWFyazJC
ZW5jaG1hcmsuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL3BlcmZfdGVz
dHMvZ2xtYXJrMkJlbmNobWFyay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3
NGZjYzY3MzVhMDJkNjhmNWFmNmM1YzQ5OTMzOGE4YjkyNTIzZDIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L3Rlc3RzL3BlcmZfdGVzdHMvZ2xtYXJrMkJlbmNobWFyay5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSwyODUgKzAsMCBAQAotLy8KLS8vIENvcHlyaWdodCAyMDE5IFRoZSBBTkdMRSBQcm9qZWN0IEF1
dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBp
cyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgotLy8KLS8vIGdsbWFyazJCZW5jaG1hcms6Ci0vLyAgIFJ1bnMg
dGhlIGdsbWFyazIgYmVuY2htYXJrLgotLy8KLQotI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0K
LSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHNzdHJlYW0+Ci0KLSNpbmNsdWRlICIuLi9w
ZXJmX3Rlc3RzL3RoaXJkX3BhcnR5L3BlcmYvcGVyZl9yZXN1bHRfcmVwb3J0ZXIuaCIKLSNpbmNs
dWRlICJBTkdMRVBlcmZUZXN0QXJncy5oIgotI2luY2x1ZGUgImNvbW1vbi9wbGF0Zm9ybS5oIgot
I2luY2x1ZGUgImNvbW1vbi9zeXN0ZW1fdXRpbHMuaCIKLSNpbmNsdWRlICJ0ZXN0X3V0aWxzL2Fu
Z2xlX3Rlc3RfY29uZmlncy5oIgotI2luY2x1ZGUgInRlc3RfdXRpbHMvYW5nbGVfdGVzdF9pbnN0
YW50aWF0ZS5oIgotI2luY2x1ZGUgInV0aWwvdGVzdF91dGlscy5oIgotCi11c2luZyBuYW1lc3Bh
Y2UgYW5nbGU7Ci0KLW5hbWVzcGFjZQotewotCi1zdHJ1Y3QgQmVuY2htYXJrSW5mbwotewotICAg
IGNvbnN0IGNoYXIgKmdsbWFyazJDb25maWc7Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLX07Ci0K
LS8vIEVhY2ggZ2xtYXJrMiBzY2VuZSBpcyBpbmRpdmlkdWFsbHkgYmVuY2htYXJrZWQuICBJZiBn
bG1hcmsyIGlzIHJ1biB3aXRob3V0IGEgc3BlY2lmaWMgYmVuY2htYXJrLAotLy8gaXQgY2FuIHBy
b2R1Y2UgYW4gYWdncmVnYXRlIHNjb3JlLCB3aGljaCBpcyBub3QgaW50ZXJlc3RpbmcgYXQgdGhl
IG1vbWVudC4gIEFkZGluZyBhbiBlbXB0eQotLy8gc3RyaW5nICgiIikgdG8gdGhpcyBsaXN0IHdp
bGwgZW5hYmxlIGEgdGVzdCB3aGVyZSBnbG1hcmsyIGlzIHJ1biB3aXRoIHRoZSBkZWZhdWx0IHNj
ZW5lcyBhbmQgdGhlCi0vLyBzY29yZSBmb3IgZWFjaCB0ZXN0IGFzIHdlbGwgYXMgdGhlIG92ZXJh
bGwgc2NvcmUgaXMgb3V0cHV0LgotY29uc3RleHByIEJlbmNobWFya0luZm8ga0JlbmNobWFya3Nb
XSA9IHsKLSAgICB7ImJ1aWxkOnVzZS12Ym89ZmFsc2UiLCAiYnVpbGQifSwKLSAgICB7ImJ1aWxk
OnVzZS12Ym89dHJ1ZSIsICJidWlsZF92Ym8ifSwKLSAgICB7InRleHR1cmU6dGV4dHVyZS1maWx0
ZXI9bmVhcmVzdCIsICJ0ZXh0dXJlX25lYXJlc3QifSwKLSAgICB7InRleHR1cmU6dGV4dHVyZS1m
aWx0ZXI9bGluZWFyIiwgInRleHR1cmVfbGluZWFyIn0sCi0gICAgeyJ0ZXh0dXJlOnRleHR1cmUt
ZmlsdGVyPW1pcG1hcCIsICJ0ZXh0dXJlX21pcG1hcCJ9LAotICAgIHsic2hhZGluZzpzaGFkaW5n
PWdvdXJhdWQiLCAic2hhZGluZ19nb3VyYXVkIn0sCi0gICAgeyJzaGFkaW5nOnNoYWRpbmc9Ymxp
bm4tcGhvbmctaW5mIiwgInNoYWRpbmdfYmxpbm5fcGhvbmcifSwKLSAgICB7InNoYWRpbmc6c2hh
ZGluZz1waG9uZyIsICJzaGFkaW5nX3Bob25nIn0sCi0gICAgeyJzaGFkaW5nOnNoYWRpbmc9Y2Vs
IiwgInNoYWRpbmdfY2VsIn0sCi0gICAgeyJidW1wOmJ1bXAtcmVuZGVyPWhpZ2gtcG9seSIsICJi
dW1wX2hpZ2hfcG9seSJ9LAotICAgIHsiYnVtcDpidW1wLXJlbmRlcj1ub3JtYWxzIiwgImJ1bXBf
bm9ybWFscyJ9LAotICAgIHsiYnVtcDpidW1wLXJlbmRlcj1oZWlnaHQiLCAiYnVtcF9oZWlnaHQi
fSwKLSAgICB7ImVmZmVjdDJkOmtlcm5lbD0wLDEsMDsxLC00LDE7MCwxLDA7IiwgImVmZmVjdDJk
X2VkZ2UifSwKLSAgICB7ImVmZmVjdDJkOmtlcm5lbD0xLDEsMSwxLDE7MSwxLDEsMSwxOzEsMSwx
LDEsMTsiLCAiZWZmZWN0MmRfYmx1ciJ9LAotICAgIHsicHVsc2FyOmxpZ2h0PWZhbHNlOnF1YWRz
PTU6dGV4dHVyZT1mYWxzZSIsICJwdWxzYXIifSwKLSAgICB7ImRlc2t0b3A6Ymx1ci1yYWRpdXM9
NTplZmZlY3Q9Ymx1cjpwYXNzZXM9MTpzZXBhcmFibGU9dHJ1ZTp3aW5kb3dzPTQiLCAiZGVza3Rv
cF9ibHVyIn0sCi0gICAgeyJkZXNrdG9wOmVmZmVjdD1zaGFkb3c6d2luZG93cz00IiwgImRlc2t0
b3Bfc2hhZG93In0sCi0gICAgeyJidWZmZXI6Y29sdW1ucz0yMDA6aW50ZXJsZWF2ZT1mYWxzZTp1
cGRhdGUtZGlzcGVyc2lvbj0wLjk6dXBkYXRlLWZyYWN0aW9uPTAuNTp1cGRhdGUtbWV0aG9kPSIK
LSAgICAgIm1hcCIsCi0gICAgICJidWZmZXJfbWFwIn0sCi0gICAgeyJidWZmZXI6Y29sdW1ucz0y
MDA6aW50ZXJsZWF2ZT1mYWxzZTp1cGRhdGUtZGlzcGVyc2lvbj0wLjk6dXBkYXRlLWZyYWN0aW9u
PTAuNTp1cGRhdGUtbWV0aG9kPSIKLSAgICAgInN1YmRhdGEiLAotICAgICAiYnVmZmVyX3N1YmRh
dGEifSwKLSAgICB7ImJ1ZmZlcjpjb2x1bW5zPTIwMDppbnRlcmxlYXZlPXRydWU6dXBkYXRlLWRp
c3BlcnNpb249MC45OnVwZGF0ZS1mcmFjdGlvbj0wLjU6dXBkYXRlLW1ldGhvZD0iCi0gICAgICJt
YXAiLAotICAgICAiYnVmZmVyX21hcF9pbnRlcmxlYXZlIn0sCi0gICAgeyJpZGVhczpzcGVlZD1k
dXJhdGlvbiIsICJpZGVhcyJ9LAotICAgIHsiamVsbHlmaXNoIiwgImplbGx5ZmlzaCJ9LAotICAg
IHsidGVycmFpbiIsICJ0ZXJyYWluIn0sCi0gICAgeyJzaGFkb3ciLCAic2hhZG93In0sCi0gICAg
eyJyZWZyYWN0IiwgInJlZnJhY3QifSwKLSAgICB7ImNvbmRpdGlvbmFsczpmcmFnbWVudC1zdGVw
cz0wOnZlcnRleC1zdGVwcz0wIiwgImNvbmRpdGlvbmFscyJ9LAotICAgIHsiY29uZGl0aW9uYWxz
OmZyYWdtZW50LXN0ZXBzPTU6dmVydGV4LXN0ZXBzPTAiLCAiY29uZGl0aW9uYWxzX2ZyYWdtZW50
In0sCi0gICAgeyJjb25kaXRpb25hbHM6ZnJhZ21lbnQtc3RlcHM9MDp2ZXJ0ZXgtc3RlcHM9NSIs
ICJjb25kaXRpb25hbHNfdmVydGV4In0sCi0gICAgeyJmdW5jdGlvbjpmcmFnbWVudC1jb21wbGV4
aXR5PWxvdzpmcmFnbWVudC1zdGVwcz01IiwgImZ1bmN0aW9uIn0sCi0gICAgeyJmdW5jdGlvbjpm
cmFnbWVudC1jb21wbGV4aXR5PW1lZGl1bTpmcmFnbWVudC1zdGVwcz01IiwgImZ1bmN0aW9uX2Nv
bXBsZXgifSwKLSAgICB7Imxvb3A6ZnJhZ21lbnQtbG9vcD1mYWxzZTpmcmFnbWVudC1zdGVwcz01
OnZlcnRleC1zdGVwcz01IiwgImxvb3Bfbm9fZnNsb29wIn0sCi0gICAgeyJsb29wOmZyYWdtZW50
LXN0ZXBzPTU6ZnJhZ21lbnQtdW5pZm9ybT1mYWxzZTp2ZXJ0ZXgtc3RlcHM9NSIsICJsb29wX25v
X3VuaWZvcm0ifSwKLSAgICB7Imxvb3A6ZnJhZ21lbnQtc3RlcHM9NTpmcmFnbWVudC11bmlmb3Jt
PXRydWU6dmVydGV4LXN0ZXBzPTUiLCAibG9vcCJ9LAotfTsKLQotdXNpbmcgR0xNYXJrMkJlbmNo
bWFya1Rlc3RQYXJhbXMgPSBzdGQ6OnR1cGxlPFBsYXRmb3JtUGFyYW1ldGVycywgc2l6ZV90PjsK
LXN0ZDo6c3RyaW5nIEdMTWFyazJCZW5jaG1hcmtQcmludCgKLSAgICBjb25zdCA6OnRlc3Rpbmc6
OlRlc3RQYXJhbUluZm88R0xNYXJrMkJlbmNobWFya1Rlc3RQYXJhbXM+ICZwYXJhbXNJbmZvKQot
ewotICAgIGNvbnN0IEdMTWFyazJCZW5jaG1hcmtUZXN0UGFyYW1zICZwYXJhbXMgPSBwYXJhbXNJ
bmZvLnBhcmFtOwotICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBvdXQ7Ci0KLSAgICBvdXQgPDwgc3Rk
OjpnZXQ8MD4ocGFyYW1zKSA8PCAnXyc7Ci0gICAgb3V0IDw8IGtCZW5jaG1hcmtzW3N0ZDo6Z2V0
PDE+KHBhcmFtcyldLm5hbWU7Ci0KLSAgICByZXR1cm4gb3V0LnN0cigpOwotfQotCi1jbGFzcyBH
TE1hcmsyQmVuY2htYXJrIDogcHVibGljIHRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08R0xNYXJrMkJl
bmNobWFya1Rlc3RQYXJhbXM+Ci17Ci0gIHB1YmxpYzoKLSAgICBHTE1hcmsyQmVuY2htYXJrKCkK
LSAgICB7Ci0gICAgICAgIHN3aXRjaCAoc3RkOjpnZXQ8MD4oR2V0UGFyYW0oKSkuZ2V0UmVuZGVy
ZXIoKSkKLSAgICAgICAgewotICAgICAgICAgICAgY2FzZSBFR0xfUExBVEZPUk1fQU5HTEVfVFlQ
RV9EM0QxMV9BTkdMRToKLSAgICAgICAgICAgICAgICBtQmFja2VuZCA9ICJkM2QxMSI7Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEVHTF9QTEFURk9STV9BTkdMRV9U
WVBFX09QRU5HTEVTX0FOR0xFOgotICAgICAgICAgICAgICAgIG1CYWNrZW5kID0gImdsIjsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgRUdMX1BMQVRGT1JNX0FOR0xF
X1RZUEVfVlVMS0FOX0FOR0xFOgotICAgICAgICAgICAgICAgIG1CYWNrZW5kID0gInZ1bGthbiI7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIHN0ZDo6c3RyaW5nIHN0b3J5ID0ga0Jl
bmNobWFya3Nbc3RkOjpnZXQ8MT4oR2V0UGFyYW0oKSldLm5hbWU7Ci0gICAgICAgIG1SZXBvcnRl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8cGVyZl90ZXN0OjpQZXJmUmVzdWx0UmVwb3J0ZXI+KCJnbG1h
cmsyXyIgKyBtQmFja2VuZCwgc3RvcnkpOwotICAgICAgICBtUmVwb3J0ZXItPlJlZ2lzdGVySW1w
b3J0YW50TWV0cmljKCIuZnBzIiwgImZwcyIpOwotICAgICAgICBtUmVwb3J0ZXItPlJlZ2lzdGVy
SW1wb3J0YW50TWV0cmljKCIuc2NvcmUiLCAic2NvcmUiKTsKLSAgICB9Ci0KLSAgICB2b2lkIHJ1
bigpCi0gICAgewotICAgICAgICAvLyBPbmx5IHN1cHBvcnRlZCBvbiBMaW51eCBhbmQgV2luZG93
cyBhdCB0aGUgbW9tZW50LgotICAgICAgICBpZiAoIUlzTGludXgoKSAmJiAhSXNXaW5kb3dzKCkp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGNv
bnN0IEJlbmNobWFya0luZm8gYmVuY2htYXJrSW5mbyA9IGtCZW5jaG1hcmtzW3N0ZDo6Z2V0PDE+
KEdldFBhcmFtKCkpXTsKLSAgICAgICAgY29uc3QgY2hhciAqYmVuY2htYXJrICAgICAgICAgICAg
ID0gYmVuY2htYXJrSW5mby5nbG1hcmsyQ29uZmlnOwotICAgICAgICBjb25zdCBjaGFyICpiZW5j
aG1hcmtOYW1lICAgICAgICAgPSBiZW5jaG1hcmtJbmZvLm5hbWU7Ci0gICAgICAgIGJvb2wgY29t
cGxldGVSdW4gICAgICAgICAgICAgICAgICA9IGJlbmNobWFyayA9PSBudWxscHRyIHx8IGJlbmNo
bWFya1swXSA9PSAnXDAnOwotCi0gICAgICAgIE9wdGlvbmFsPHN0ZDo6c3RyaW5nPiBjd2QgPSBH
ZXRDV0QoKTsKLQotICAgICAgICAvLyBTZXQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkg
dG8gdGhlIGV4ZWN1dGFibGUncywgYXMgdGhlIGRhdGEgcGF0aCBvZiBnbG1hcmsyIGlzCi0gICAg
ICAgIC8vIHNldCByZWxhdGl2ZSB0byB0aGF0IHBhdGguCi0gICAgICAgIHN0ZDo6c3RyaW5nIGV4
ZWN1dGFibGVEaXIgPSBHZXRFeGVjdXRhYmxlRGlyZWN0b3J5KCk7Ci0gICAgICAgIFNldENXRChl
eGVjdXRhYmxlRGlyLmNfc3RyKCkpOwotICAgICAgICBTZXRFbnZpcm9ubWVudFZhcigiQU5HTEVf
REVGQVVMVF9QTEFURk9STSIsIG1CYWNrZW5kLmNfc3RyKCkpOwotCi0gICAgICAgIHN0ZDo6dmVj
dG9yPGNvbnN0IGNoYXIgKj4gYXJncyA9IHsKLSAgICAgICAgICAgICJnbG1hcmsyX2FuZ2xlIiwK
LSAgICAgICAgfTsKLSAgICAgICAgaWYgKE9uZUZyYW1lKCkpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGFyZ3MucHVzaF9iYWNrKCItLXZhbGlkYXRlIik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYg
KCFjb21wbGV0ZVJ1bikKLSAgICAgICAgewotICAgICAgICAgICAgYXJncy5wdXNoX2JhY2soIi0t
YmVuY2htYXJrIik7Ci0gICAgICAgICAgICBhcmdzLnB1c2hfYmFjayhiZW5jaG1hcmspOwotICAg
ICAgICAgICAgZnByaW50ZihzdGRlcnIsICJSdW5uaW5nIGJlbmNobWFyazogJXNcbiIsIGJlbmNo
bWFyayk7Ci0gICAgICAgIH0KLSAgICAgICAgYXJncy5wdXNoX2JhY2sobnVsbHB0cik7Ci0KLSAg
ICAgICAgUHJvY2Vzc0hhbmRsZSBwcm9jZXNzKGFyZ3MsIHRydWUsIGZhbHNlKTsKLSAgICAgICAg
QVNTRVJUX1RSVUUocHJvY2VzcyAmJiBwcm9jZXNzLT5zdGFydGVkKCkpOwotICAgICAgICBBU1NF
UlRfVFJVRShwcm9jZXNzLT5maW5pc2goKSk7Ci0KLSAgICAgICAgLy8gUmVzdG9yZSB0aGUgY3Vy
cmVudCB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIG5leHQgdGVzdHMuCi0gICAgICAgIGlmIChj
d2QudmFsaWQoKSkKLSAgICAgICAgewotICAgICAgICAgICAgU2V0Q1dEKGN3ZC52YWx1ZSgpLmNf
c3RyKCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX0VRKEVYSVRfU1VDQ0VTUywgcHJv
Y2Vzcy0+Z2V0RXhpdENvZGUoKSk7Ci0KLSAgICAgICAgaWYgKCFPbmVGcmFtZSgpKQotICAgICAg
ICB7Ci0gICAgICAgICAgICBzdGQ6OnN0cmluZyBvdXRwdXQgPSBwcm9jZXNzLT5nZXRTdGRvdXQo
KTsKLSAgICAgICAgICAgIHBhcnNlT3V0cHV0KG91dHB1dCwgYmVuY2htYXJrTmFtZSwgY29tcGxl
dGVSdW4pOwotICAgICAgICB9Ci0gICAgfQotCi0gIHByaXZhdGU6Ci0gICAgdm9pZCBwYXJzZU91
dHB1dChjb25zdCBzdGQ6OnN0cmluZyAmb3V0cHV0LCBjb25zdCBjaGFyICpiZW5jaG1hcmtOYW1l
LCBib29sIGNvbXBsZXRlUnVuKQotICAgIHsKLSAgICAgICAgLy8gT3V0cHV0IGlzIGluIHRoZSBm
b2xsb3dpbmcgZm9ybWF0OgotICAgICAgICAvLwotICAgICAgICAvLyA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgIC8vICAgICBn
bG1hcmsyIDIwMTcuMDcKLSAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgICAgICAvLyAgICAgT3BlbkdMIEluZm9ybWF0
aW9uCi0gICAgICAgIC8vICAgICBHTF9WRU5ET1I6ICAgICAuLi4KLSAgICAgICAgLy8gICAgIEdM
X1JFTkRFUkVSOiAgIC4uLgotICAgICAgICAvLyAgICAgR0xfVkVSU0lPTjogICAgLi4uCi0gICAg
ICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLSAgICAgICAgLy8gW3Rlc3RdIGNvbmZpZzogRlBTOiB1aW50IEZyYW1lVGltZTogZmxv
YXQgbXMKLSAgICAgICAgLy8gW3Rlc3RdIGNvbmZpZzogTm90IFN1cHBvcnRlZAotICAgICAgICAv
LyAuLi4KLSAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ2xtYXJrMiBTY29yZTogdWludAotICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgIC8vCi0gICAgICAg
IC8vIFRoaXMgZnVuY3Rpb24gc2tpcHMgdGhlIGhlYWRlciwgcHJpbnRzIG9uZSBsaW5lIGZvciBl
YWNoIHRlc3QvY29uZmlnIGxpbmUgd2hlcmUgdGhlcmUncwotICAgICAgICAvLyBhbiBGUFMgdmFs
dWUsIGFuZCBmaW5hbGx5IHByaW50cyB0aGUgb3ZlcmFsbCBzY29yZS4KLSAgICAgICAgc3RkOjpp
c3RyaW5nc3RyZWFtIGdsbWFyazJPdXRwdXQob3V0cHV0KTsKLSAgICAgICAgc3RkOjpzdHJpbmcg
bGluZTsKLQotICAgICAgICAvLyBFeHBlY3QgPT09PSBhdCB0aGUgdG9wIG9mIHRoZSBoZWFkZXIK
LSAgICAgICAgc3RkOjpnZXRsaW5lKGdsbWFyazJPdXRwdXQsIGxpbmUpOwotICAgICAgICBBU1NF
UlRfRVEoJz0nLCBsaW5lWzBdKTsKLQotICAgICAgICAvLyBTa2lwIG9uZSBsaW5lCi0gICAgICAg
IHN0ZDo6Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKLQotICAgICAgICAvLyBFeHBlY3Qg
PT09PSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBoZWFkZXIKLSAgICAgICAgc3RkOjpnZXRsaW5lKGds
bWFyazJPdXRwdXQsIGxpbmUpOwotICAgICAgICBBU1NFUlRfRVEoJz0nLCBsaW5lWzBdKTsKLQot
ICAgICAgICAvLyBTa2lwIGZvdXIgbGluZXMKLSAgICAgICAgc3RkOjpnZXRsaW5lKGdsbWFyazJP
dXRwdXQsIGxpbmUpOwotICAgICAgICBzdGQ6OmdldGxpbmUoZ2xtYXJrMk91dHB1dCwgbGluZSk7
Ci0gICAgICAgIHN0ZDo6Z2V0bGluZShnbG1hcmsyT3V0cHV0LCBsaW5lKTsKLSAgICAgICAgc3Rk
OjpnZXRsaW5lKGdsbWFyazJPdXRwdXQsIGxpbmUpOwotCi0gICAgICAgIC8vIFRoZSBmb3VydGgg
bGluZSBpcyB0aGUgR0xfVkVSU0lPTi4gIEV4cGVjdCBpdCB0byBpbmNsdWRlIEFOR0xFLCBvdGhl
cndpc2Ugd2UgYXJlIG5vdAotICAgICAgICAvLyBydW5uaW5nIGFnYWluc3QgQU5HTEUuCi0gICAg
ICAgIEFTU0VSVF9ORShsaW5lLmZpbmQoIkFOR0xFIiksIHN0ZDo6c3RyaW5nOjpucG9zKTsKLQot
ICAgICAgICAvLyBFeHBlY3QgPT09PSBhdCB0aGUgYm90dG9tIG9mIHRoZSBoZWFkZXIKLSAgICAg
ICAgc3RkOjpnZXRsaW5lKGdsbWFyazJPdXRwdXQsIGxpbmUpOwotICAgICAgICBBU1NFUlRfRVEo
Jz0nLCBsaW5lWzBdKTsKLQotICAgICAgICAvLyBSZWFkIGNvbmZpZ3MgdW50aWwgdGhlIHRvcCBv
ZiB0aGUgZm9vdGVyIGlzIHJlYWNoZWQKLSAgICAgICAgd2hpbGUgKHN0ZDo6Z2V0bGluZShnbG1h
cmsyT3V0cHV0LCBsaW5lKSAmJiBsaW5lWzBdICE9ICc9JykKLSAgICAgICAgewotICAgICAgICAg
ICAgLy8gUGFyc2UgdGhlIGxpbmUKLSAgICAgICAgICAgIHN0ZDo6aXN0cmluZ3N0cmVhbSBsaW4o
bGluZSk7Ci0KLSAgICAgICAgICAgIHN0ZDo6c3RyaW5nIHRlc3ROYW1lLCB0ZXN0Q29uZmlnOwot
ICAgICAgICAgICAgbGluID4+IHRlc3ROYW1lID4+IHRlc3RDb25maWc7Ci0gICAgICAgICAgICBF
WFBFQ1RfVFJVRShsaW4pOwotCi0gICAgICAgICAgICBzdGQ6OnN0cmluZyBmcHNUYWcsIGZyYW1l
dGltZVRhZzsKLSAgICAgICAgICAgIHNpemVfdCBmcHM7Ci0gICAgICAgICAgICBmbG9hdCBmcmFt
ZXRpbWU7Ci0KLSAgICAgICAgICAgIGxpbiA+PiBmcHNUYWcgPj4gZnBzID4+IGZyYW1ldGltZVRh
ZyA+PiBmcmFtZXRpbWU7Ci0KLSAgICAgICAgICAgIC8vIElmIHRoZSBsaW5lIGlzIG5vdCBpbiBg
RlBTOiB1aW50IEZyYW1lVGltZTogRmxvYXQgbXNgIGZvcm1hdCwgdGhlIHRlc3QgaXMgbm90Ci0g
ICAgICAgICAgICAvLyBzdXBwb3J0ZWQuICBJdCB3aWxsIGJlIHNraXBwZWQuCi0gICAgICAgICAg
ICBpZiAoIWxpbikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgRVhQRUNUX0VRKCJGUFM6IiwgZnBzVGFnKTsKLSAg
ICAgICAgICAgIEVYUEVDVF9FUSgiRnJhbWVUaW1lOiIsIGZyYW1ldGltZVRhZyk7Ci0KLSAgICAg
ICAgICAgIGlmICghY29tcGxldGVSdW4pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
bVJlcG9ydGVyLT5BZGRSZXN1bHQoIi5mcHMiLCBmcHMpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0KLSAgICAgICAgLy8gR2V0IHRoZSBzY29yZSBsaW5lOiBgZ2xtYXJrMiBTY29yZTogdWlu
dGAKLSAgICAgICAgc3RkOjpzdHJpbmcgZ2xtYXJrMlRhZywgc2NvcmVUYWc7Ci0gICAgICAgIHNp
emVfdCBzY29yZTsKLSAgICAgICAgZ2xtYXJrMk91dHB1dCA+PiBnbG1hcmsyVGFnID4+IHNjb3Jl
VGFnID4+IHNjb3JlOwotICAgICAgICBFWFBFQ1RfVFJVRShnbG1hcmsyT3V0cHV0KTsKLSAgICAg
ICAgRVhQRUNUX0VRKCJnbG1hcmsyIiwgZ2xtYXJrMlRhZyk7Ci0gICAgICAgIEVYUEVDVF9FUSgi
U2NvcmU6Iiwgc2NvcmVUYWcpOwotCi0gICAgICAgIGlmIChjb21wbGV0ZVJ1bikKLSAgICAgICAg
ewotICAgICAgICAgICAgbVJlcG9ydGVyLT5BZGRSZXN1bHQoIi5zY29yZSIsIHNjb3JlKTsKLSAg
ICAgICAgfQotICAgIH0KLQotICAgIHN0ZDo6c3RyaW5nIG1CYWNrZW5kID0gImludmFsaWQiOwot
ICAgIHN0ZDo6dW5pcXVlX3B0cjxwZXJmX3Rlc3Q6OlBlcmZSZXN1bHRSZXBvcnRlcj4gbVJlcG9y
dGVyOwotfTsKLQotVEVTVF9QKEdMTWFyazJCZW5jaG1hcmssIFJ1bikKLXsKLSAgICBydW4oKTsK
LX0KLQotQU5HTEVfSU5TVEFOVElBVEVfVEVTVF9DT01CSU5FXzEoR0xNYXJrMkJlbmNobWFyaywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMTWFyazJCZW5jaG1hcmtQcmludCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rpbmc6OlJhbmdlKHN0YXRpY19j
YXN0PHNpemVfdD4oMCksIEFycmF5U2l6ZShrQmVuY2htYXJrcykpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRVMyX0QzRDExKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBFUzJfT1BFTkdMRVMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEVTMl9WVUxLQU4oKSk7Ci0KLX0gIC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9CVUlMRC5nbiBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3RoaXJkX3BhcnR5L2dsbWFyazIvQlVJTEQuZ24KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDI1YWUxMzM5ODZhZjhmYjRkMjI3NTYzMmU3NWU5MzgwNDBkODdiMGQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9CVUlMRC5nbgorKysgL2Rldi9udWxs
CkBAIC0xLDQyMyArMCwwIEBACi0jIENvcHlyaWdodCAyMDE5IFRoZSBBTkdMRSBQcm9qZWN0IEF1
dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSMgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLSMKLSMgQnVpbGQgaW50ZWdyYXRpb24gZm9yIGdsbWFyazIuCi0K
LWltcG9ydCgiLi4vLi4vZ25pL2FuZ2xlLmduaSIpCi0KLV9nbG1hcmsyX2dsYWRfY29tbW9uX3Nv
dXJjZXMgPSBbCi0gICJzcmMvc3JjL2dsYWQvaW5jbHVkZS9nbGFkL2VnbC5oIiwKLSAgInNyYy9z
cmMvZ2xhZC9pbmNsdWRlL2dsYWQvd2dsLmgiLAotICAic3JjL3NyYy9nbGFkL3NyYy9lZ2wuYyIs
Ci1dCi0KLWlmIChpc193aW4pIHsKLSAgX2dsbWFyazJfZ2xhZF9jb21tb25fc291cmNlcyArPSBb
ICJzcmMvc3JjL2dsYWQvc3JjL3dnbC5jIiBdCi19Ci0KLWNvbmZpZygiZ2xtYXJrMl9nbGFkX2Nv
bmZpZyIpIHsKLSAgaW5jbHVkZV9kaXJzID0gWyAic3JjL3NyYy9nbGFkL2luY2x1ZGUiIF0KLX0K
LQotc291cmNlX3NldCgiZ2xtYXJrMl9nbGFkX2dsZXMiKSB7Ci0gIHNvdXJjZXMgPSBfZ2xtYXJr
Ml9nbGFkX2NvbW1vbl9zb3VyY2VzICsgWwotICAgICAgICAgICAgICAic3JjL3NyYy9nbGFkL2lu
Y2x1ZGUvZ2xhZC9nbGVzMi5oIiwKLSAgICAgICAgICAgICAgInNyYy9zcmMvZ2xhZC9zcmMvZ2xl
czIuYyIsCi0gICAgICAgICAgICBdCi0gIHB1YmxpY19jb25maWdzID0gWyAiOmdsbWFyazJfZ2xh
ZF9jb25maWciIF0KLX0KLQotc291cmNlX3NldCgiZ2xtYXJrMl9nbGFkX2dsIikgewotICBzb3Vy
Y2VzID0gX2dsbWFyazJfZ2xhZF9jb21tb25fc291cmNlcyArIFsKLSAgICAgICAgICAgICAgInNy
Yy9zcmMvZ2xhZC9pbmNsdWRlL2dsYWQvZ2wuaCIsCi0gICAgICAgICAgICAgICJzcmMvc3JjL2ds
YWQvc3JjL2dsLmMiLAotICAgICAgICAgICAgXQotICBwdWJsaWNfY29uZmlncyA9IFsgIjpnbG1h
cmsyX2dsYWRfY29uZmlnIiBdCi19Ci0KLWdsbWFya19kYXRhX3BhdGggPSAiJHthbmdsZV9yb290
fS90aGlyZF9wYXJ0eS9nbG1hcmsyL3NyYy9kYXRhIgotcmF3X2dsbWFya19kYXRhX3BhdGggPSBy
ZWJhc2VfcGF0aChnbG1hcmtfZGF0YV9wYXRoLCByb290X2J1aWxkX2RpcikKLQotY29uZmlnKCJn
bG1hcmsyX2NvbW1vbl9jb25maWciKSB7Ci0gIGRlZmluZXMgPSBbICJHTE1BUktfREFUQV9QQVRI
PVwiJHtyYXdfZ2xtYXJrX2RhdGFfcGF0aH1cIiIgXQotICBpbmNsdWRlX2RpcnMgPSBbICJzcmMv
c3JjIiBdCi0gIGlmIChpc193aW4pIHsKLSAgICBpbmNsdWRlX2RpcnMgKz0gWyAic3JjL3NyYy9p
bmNsdWRlIiBdCi0KLSAgICAjIE1fUEkgaXMgbm9uc3RhbmRhcmQuCi0gICAgZGVmaW5lcyArPSBb
ICJfVVNFX01BVEhfREVGSU5FUyIgXQotCi0gICAgaWYgKCFpc19jbGFuZykgewotICAgICAgY2Zs
YWdzID0gWwotICAgICAgICAjIE1TVkMgd2FybnMgYWJvdXQgdGhlIGNvcHlyaWdodCBjaGFyYWN0
ZXIgYmVpbmcgaWxsZWdhbC4KLSAgICAgICAgIi93ZDQ4MjgiLAotCi0gICAgICAgICMgQSB3YXJu
aW5nIGdlbmVyYXRlZCBpbiBzY2VuZS1lZmZlY3QtMmQgaW4gdmVjMjo6Y2FsY19vZmZzZXQKLSAg
ICAgICAgIi93ZDQxNDYiLAotICAgICAgXQotICAgIH0KLSAgfQotfQotCi1jb25maWcoImdsbWFy
azJfZ2xlc19jb25maWciKSB7Ci0gIGRlZmluZXMgPSBbICJHTE1BUksyX1VTRV9HTEVTdjIiIF0K
LX0KLQotY29uZmlnKCJnbG1hcmsyX2dsX2NvbmZpZyIpIHsKLSAgZGVmaW5lcyA9IFsgIkdMTUFS
SzJfVVNFX0dMIiBdCi19Ci0KLWdyb3VwKCJnbG1hcmsyX2dsZXMiKSB7Ci0gIHB1YmxpY19jb25m
aWdzID0gWwotICAgICI6Z2xtYXJrMl9jb21tb25fY29uZmlnIiwKLSAgICAiOmdsbWFyazJfZ2xl
c19jb25maWciLAotICBdCi0gIHB1YmxpY19kZXBzID0gWwotICAgICI6Z2xtYXJrMl9nbGFkX2ds
ZXMiLAotICBdCi19Ci0KLWdyb3VwKCJnbG1hcmsyX2dsIikgewotICBwdWJsaWNfY29uZmlncyA9
IFsKLSAgICAiOmdsbWFyazJfY29tbW9uX2NvbmZpZyIsCi0gICAgIjpnbG1hcmsyX2dsX2NvbmZp
ZyIsCi0gIF0KLSAgcHVibGljX2RlcHMgPSBbCi0gICAgIjpnbG1hcmsyX2dsYWRfZ2wiLAotICBd
Ci19Ci0KLSMgU3VwcGxpZXMgY29tcGF0aWJsZSBoZWFkZXJzIG9uIFdpbjMyLgotY29uZmlnKCJn
bG1hcmsyX2hlYWRlcnNfY29uZmlnIikgewotICBpZiAoaXNfd2luKSB7Ci0gICAgaWYgKGlzX2Ns
YW5nKSB7Ci0gICAgICBjZmxhZ3MgPSBbCi0gICAgICAgICItV25vLXVudXNlZC1mdW5jdGlvbiIs
Ci0gICAgICAgICItV25vLXdyaXRhYmxlLXN0cmluZ3MiLAotICAgICAgICAiLVduby1leHRyYS10
b2tlbnMiLAotICAgICAgXQotICAgIH0KLSAgfQotfQotCi1zb3VyY2Vfc2V0KCJnbG1hcmsyX2hl
YWRlcnMiKSB7Ci0gIHNvdXJjZXMgPSBbCi0gICAgInNyYy9zcmMvY2FudmFzLmgiLAotICAgICJz
cmMvc3JjL2dsLWhlYWRlcnMuaCIsCi0gICAgInNyYy9zcmMvZ2wtc3RhdGUtZWdsLmgiLAotICAg
ICJzcmMvc3JjL2dsLXN0YXRlLmgiLAotICAgICJzcmMvc3JjL2dsLXZpc3VhbC1jb25maWcuaCIs
Ci0gICAgInNyYy9zcmMvbWVzaC5oIiwKLSAgICAic3JjL3NyYy9vcHRpb25zLmgiLAotICAgICJz
cmMvc3JjL3NjZW5lLmgiLAotICAgICJzcmMvc3JjL3NoYXJlZC1saWJyYXJ5LmgiLAotICAgICJz
cmMvc3JjL3RleHR1cmUuaCIsCi0gIF0KLQotICBpZiAoaXNfbGludXgpIHsKLSAgICBzb3VyY2Vz
ICs9IFsgInNyYy9zcmMvZ2wtc3RhdGUtZ2x4LmgiIF0KLSAgfQotICBpZiAoaXNfd2luKSB7Ci0g
ICAgc291cmNlcyArPSBbCi0gICAgICAic3JjL3NyYy9nbC1zdGF0ZS13Z2wuaCIsCi0gICAgICAi
c3JjL3NyYy9pbmNsdWRlL2RpcmVudC5oIiwKLSAgICAgICJzcmMvc3JjL2luY2x1ZGUvZ2V0b3B0
LmgiLAotICAgICAgInNyYy9zcmMvaW5jbHVkZS9zeXMvdGltZS5oIiwKLSAgICBdCi0gIH0KLSAg
cHVibGljX2NvbmZpZ3MgPSBbICI6Z2xtYXJrMl9oZWFkZXJzX2NvbmZpZyIgXQotICBpbmNsdWRl
X2RpcnMgPSBbICJzcmMvc3JjIiBdCi19Ci0KLWNvbmZpZygiZ2xtYXJrMl9saWJtYXRyaXhfY29u
ZmlnIikgewotICBpbmNsdWRlX2RpcnMgPSBbICJzcmMvc3JjL2xpYm1hdHJpeCIgXQotfQotCi10
ZW1wbGF0ZSgiZ2xtYXJrMl9saWJtYXRyaXgiKSB7Ci0gIHNvdXJjZV9zZXQodGFyZ2V0X25hbWUp
IHsKLSAgICBmb3J3YXJkX3ZhcmlhYmxlc19mcm9tKGludm9rZXIsICIqIikKLSAgICBzb3VyY2Vz
ID0gWwotICAgICAgInNyYy9zcmMvbGlibWF0cml4L2dsLWlmLmgiLAotICAgICAgInNyYy9zcmMv
bGlibWF0cml4L2xvZy5jYyIsCi0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvbG9nLmgiLAotICAg
ICAgInNyYy9zcmMvbGlibWF0cml4L21hdC5jYyIsCi0gICAgICAic3JjL3NyYy9saWJtYXRyaXgv
bWF0LmgiLAotICAgICAgInNyYy9zcmMvbGlibWF0cml4L3Byb2dyYW0uY2MiLAotICAgICAgInNy
Yy9zcmMvbGlibWF0cml4L3Byb2dyYW0uaCIsCi0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvc2hh
ZGVyLXNvdXJjZS5jYyIsCi0gICAgICAic3JjL3NyYy9saWJtYXRyaXgvc2hhZGVyLXNvdXJjZS5o
IiwKLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC9zdGFjay5oIiwKLSAgICAgICJzcmMvc3JjL2xp
Ym1hdHJpeC91dGlsLmNjIiwKLSAgICAgICJzcmMvc3JjL2xpYm1hdHJpeC91dGlsLmgiLAotICAg
ICAgInNyYy9zcmMvbGlibWF0cml4L3ZlYy5oIiwKLSAgICBdCi0KLSAgICBpZiAoaXNfY2xhbmcp
IHsKLSAgICAgIGNmbGFnc19jYyA9IFsgIi1Xbm8taW1wbGljaXQtZmFsbHRocm91Z2giIF0KLSAg
ICB9Ci0gICAgcHVibGljX2RlcHMgPSBbCi0gICAgICAiOmdsbWFyazJfaGVhZGVycyIsCi0gICAg
XQotICAgIHB1YmxpY19jb25maWdzID0gWyAiOmdsbWFyazJfbGlibWF0cml4X2NvbmZpZyIgXQot
ICB9Ci19Ci0KLWdsbWFyazJfbGlibWF0cml4KCJnbG1hcmsyX2xpYm1hdHJpeF9nbGVzIikgewot
ICBkZXBzID0gWwotICAgICI6Z2xtYXJrMl9nbGVzIiwKLSAgXQotfQotCi1nbG1hcmsyX2xpYm1h
dHJpeCgiZ2xtYXJrMl9saWJtYXRyaXhfZ2wiKSB7Ci0gIGRlcHMgPSBbCi0gICAgIjpnbG1hcmsy
X2dsIiwKLSAgXQotfQotCi1jb25maWcoImdsbWFyazJfc2NlbmVfaWRlYXNfY29uZmlnIikgewot
ICBpbmNsdWRlX2RpcnMgPSBbICJzcmMvc3JjL3NjZW5lLWlkZWFzIiBdCi19Ci0KLXRlbXBsYXRl
KCJnbG1hcmsyX3NjZW5lX2lkZWFzIikgewotICBzb3VyY2Vfc2V0KHRhcmdldF9uYW1lKSB7Ci0g
ICAgZm9yd2FyZF92YXJpYWJsZXNfZnJvbShpbnZva2VyLCAiKiIpCi0gICAgc291cmNlcyA9IFsK
LSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2EuY2MiLAotICAgICAgInNyYy9zcmMvc2NlbmUt
aWRlYXMvY2hhcmFjdGVycy5oIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2QuY2MiLAot
ICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvZS5jYyIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1p
ZGVhcy9pLmNjIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzL2xhbXAuY2MiLAotICAgICAg
InNyYy9zcmMvc2NlbmUtaWRlYXMvbGFtcC5oIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFz
L2xvZ28uY2MiLAotICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvbG9nby5oIiwKLSAgICAgICJz
cmMvc3JjL3NjZW5lLWlkZWFzL20uY2MiLAotICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvbi5j
YyIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9vLmNjIiwKLSAgICAgICJzcmMvc3JjL3Nj
ZW5lLWlkZWFzL3MuY2MiLAotICAgICAgInNyYy9zcmMvc2NlbmUtaWRlYXMvc3BsaW5lcy5jYyIs
Ci0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy9zcGxpbmVzLmgiLAotICAgICAgInNyYy9zcmMv
c2NlbmUtaWRlYXMvdC5jYyIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy90YWJsZS5jYyIs
Ci0gICAgICAic3JjL3NyYy9zY2VuZS1pZGVhcy90YWJsZS5oIiwKLSAgICBdCi0gICAgcHVibGlj
X2NvbmZpZ3MgPSBbICI6Z2xtYXJrMl9zY2VuZV9pZGVhc19jb25maWciIF0KLSAgfQotfQotCi1n
bG1hcmsyX3NjZW5lX2lkZWFzKCJnbG1hcmsyX3NjZW5lX2lkZWFzX2dsZXMiKSB7Ci0gIGRlcHMg
PSBbCi0gICAgIjpnbG1hcmsyX2dsZXMiLAotICAgICI6Z2xtYXJrMl9saWJtYXRyaXhfZ2xlcyIs
Ci0gIF0KLX0KLQotZ2xtYXJrMl9zY2VuZV9pZGVhcygiZ2xtYXJrMl9zY2VuZV9pZGVhc19nbCIp
IHsKLSAgZGVwcyA9IFsKLSAgICAiOmdsbWFyazJfZ2wiLAotICAgICI6Z2xtYXJrMl9saWJtYXRy
aXhfZ2wiLAotICBdCi19Ci0KLWNvbmZpZygiZ2xtYXJrMl9zY2VuZV90ZXJyYWluX2NvbmZpZyIp
IHsKLSAgaW5jbHVkZV9kaXJzID0gWyAic3JjL3NyYy9zY2VuZS10ZXJyYWluIiBdCi19Ci0KLXRl
bXBsYXRlKCJnbG1hcmsyX3NjZW5lX3RlcnJhaW4iKSB7Ci0gIHNvdXJjZV9zZXQodGFyZ2V0X25h
bWUpIHsKLSAgICBmb3J3YXJkX3ZhcmlhYmxlc19mcm9tKGludm9rZXIsICIqIikKLSAgICBzb3Vy
Y2VzID0gWwotICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi9iYXNlLXJlbmRlcmVyLmNwcCIs
Ci0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL2JsdXItcmVuZGVyZXIuY3BwIiwKLSAgICAg
ICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4vY29weS1yZW5kZXJlci5jcHAiLAotICAgICAgInNyYy9z
cmMvc2NlbmUtdGVycmFpbi9sdW1pbmFuY2UtcmVuZGVyZXIuY3BwIiwKLSAgICAgICJzcmMvc3Jj
L3NjZW5lLXRlcnJhaW4vbm9ybWFsLWZyb20taGVpZ2h0LXJlbmRlcmVyLmNwcCIsCi0gICAgICAi
c3JjL3NyYy9zY2VuZS10ZXJyYWluL292ZXJsYXktcmVuZGVyZXIuY3BwIiwKLSAgICAgICJzcmMv
c3JjL3NjZW5lLXRlcnJhaW4vcmVuZGVyZXItY2hhaW4uY3BwIiwKLSAgICAgICJzcmMvc3JjL3Nj
ZW5lLXRlcnJhaW4vcmVuZGVyZXIuaCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS10ZXJyYWluL3Np
bXBsZXgtbm9pc2UtcmVuZGVyZXIuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLXRlcnJhaW4v
dGVycmFpbi1yZW5kZXJlci5jcHAiLAotICAgICAgInNyYy9zcmMvc2NlbmUtdGVycmFpbi90ZXh0
dXJlLXJlbmRlcmVyLmNwcCIsCi0gICAgXQotCi0gICAgcHVibGljX2NvbmZpZ3MgPSBbICI6Z2xt
YXJrMl9zY2VuZV90ZXJyYWluX2NvbmZpZyIgXQotICB9Ci19Ci0KLWdsbWFyazJfc2NlbmVfdGVy
cmFpbigiZ2xtYXJrMl9zY2VuZV90ZXJyYWluX2dsZXMiKSB7Ci0gIGRlcHMgPSBbCi0gICAgIjpn
bG1hcmsyX2dsZXMiLAotICAgICI6Z2xtYXJrMl9saWJtYXRyaXhfZ2xlcyIsCi0gIF0KLX0KLQot
Z2xtYXJrMl9zY2VuZV90ZXJyYWluKCJnbG1hcmsyX3NjZW5lX3RlcnJhaW5fZ2wiKSB7Ci0gIGRl
cHMgPSBbCi0gICAgIjpnbG1hcmsyX2dsIiwKLSAgICAiOmdsbWFyazJfbGlibWF0cml4X2dsIiwK
LSAgXQotfQotCi10ZW1wbGF0ZSgiZ2xtYXJrMl9jb21tb24iKSB7Ci0gIHNvdXJjZV9zZXQodGFy
Z2V0X25hbWUpIHsKLSAgICBmb3J3YXJkX3ZhcmlhYmxlc19mcm9tKGludm9rZXIsICIqIikKLSAg
ICBzb3VyY2VzID0gWwotICAgICAgInNyYy9zcmMvYmVuY2htYXJrLWNvbGxlY3Rpb24uY3BwIiwK
LSAgICAgICJzcmMvc3JjL2JlbmNobWFyay1jb2xsZWN0aW9uLmgiLAotICAgICAgInNyYy9zcmMv
YmVuY2htYXJrLmNwcCIsCi0gICAgICAic3JjL3NyYy9iZW5jaG1hcmsuaCIsCi0gICAgICAic3Jj
L3NyYy9kZWZhdWx0LWJlbmNobWFya3MuaCIsCi0gICAgICAic3JjL3NyYy9nbC1oZWFkZXJzLmNw
cCIsCi0gICAgICAic3JjL3NyYy9nbC12aXN1YWwtY29uZmlnLmNwcCIsCi0gICAgICAic3JjL3Ny
Yy9nbC12aXN1YWwtY29uZmlnLmgiLAotICAgICAgInNyYy9zcmMvaW1hZ2UtcmVhZGVyLmNwcCIs
Ci0gICAgICAic3JjL3NyYy9pbWFnZS1yZWFkZXIuaCIsCi0gICAgICAic3JjL3NyYy9tYWluLWxv
b3AuY3BwIiwKLSAgICAgICJzcmMvc3JjL21haW4tbG9vcC5oIiwKLSAgICAgICJzcmMvc3JjL21l
c2guY3BwIiwKLSAgICAgICJzcmMvc3JjL21vZGVsLmNwcCIsCi0gICAgICAic3JjL3NyYy9tb2Rl
bC5oIiwKLSAgICAgICJzcmMvc3JjL25hdGl2ZS1zdGF0ZS5oIiwKLSAgICAgICJzcmMvc3JjL29w
dGlvbnMuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWJ1ZmZlci5jcHAiLAotICAgICAgInNy
Yy9zcmMvc2NlbmUtYnVpbGQuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWJ1bXAuY3BwIiwK
LSAgICAgICJzcmMvc3JjL3NjZW5lLWNsZWFyLmNwcCIsCi0gICAgICAic3JjL3NyYy9zY2VuZS1j
b2xsZWN0aW9uLmgiLAotICAgICAgInNyYy9zcmMvc2NlbmUtY29uZGl0aW9uYWxzLmNwcCIsCi0g
ICAgICAic3JjL3NyYy9zY2VuZS1kZWZhdWx0LW9wdGlvbnMuY3BwIiwKLSAgICAgICJzcmMvc3Jj
L3NjZW5lLWRlc2t0b3AuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWVmZmVjdC0yZC5jcHAi
LAotICAgICAgInNyYy9zcmMvc2NlbmUtZnVuY3Rpb24uY3BwIiwKLSAgICAgICJzcmMvc3JjL3Nj
ZW5lLWdyaWQuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWlkZWFzLmNwcCIsCi0gICAgICAi
c3JjL3NyYy9zY2VuZS1qZWxseWZpc2guY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWplbGx5
ZmlzaC5oIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLWxvb3AuY3BwIiwKLSAgICAgICJzcmMvc3Jj
L3NjZW5lLXB1bHNhci5jcHAiLAotICAgICAgInNyYy9zcmMvc2NlbmUtcmVmcmFjdC5jcHAiLAot
ICAgICAgInNyYy9zcmMvc2NlbmUtcmVmcmFjdC5oIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLXNo
YWRpbmcuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NjZW5lLXNoYWRvdy5jcHAiLAotICAgICAgInNy
Yy9zcmMvc2NlbmUtdGVycmFpbi5jcHAiLAotICAgICAgInNyYy9zcmMvc2NlbmUtdGV4dHVyZS5j
cHAiLAotICAgICAgInNyYy9zcmMvc2NlbmUuY3BwIiwKLSAgICAgICJzcmMvc3JjL3NoYXJlZC1s
aWJyYXJ5LmNwcCIsCi0gICAgICAic3JjL3NyYy90ZXh0LXJlbmRlcmVyLmNwcCIsCi0gICAgICAi
c3JjL3NyYy90ZXh0LXJlbmRlcmVyLmgiLAotICAgICAgInNyYy9zcmMvdGV4dHVyZS5jcHAiLAot
ICAgIF0KLQotICAgIHB1YmxpY19kZXBzICs9IFsKLSAgICAgICI6Z2xtYXJrMl9oZWFkZXJzIiwK
LSAgICAgICIke2FuZ2xlX2xpYnBuZ19kaXJ9OmxpYnBuZyIsCi0gICAgICAiJHthbmdsZV9yb290
fS90aGlyZF9wYXJ0eTpqcGVnIiwKLSAgICBdCi0gIH0KLX0KLQotZ2xtYXJrMl9jb21tb24oImds
bWFyazJfY29tbW9uX2dsZXMiKSB7Ci0gIHB1YmxpY19kZXBzID0gWwotICAgICI6Z2xtYXJrMl9n
bGVzIiwKLSAgICAiOmdsbWFyazJfbGlibWF0cml4X2dsZXMiLAotICAgICI6Z2xtYXJrMl9zY2Vu
ZV9pZGVhc19nbGVzIiwKLSAgICAiOmdsbWFyazJfc2NlbmVfdGVycmFpbl9nbGVzIiwKLSAgXQot
fQotCi1nbG1hcmsyX2NvbW1vbigiZ2xtYXJrMl9jb21tb25fZ2wiKSB7Ci0gIHB1YmxpY19kZXBz
ID0gWwotICAgICI6Z2xtYXJrMl9nbCIsCi0gICAgIjpnbG1hcmsyX2xpYm1hdHJpeF9nbCIsCi0g
ICAgIjpnbG1hcmsyX3NjZW5lX2lkZWFzX2dsIiwKLSAgICAiOmdsbWFyazJfc2NlbmVfdGVycmFp
bl9nbCIsCi0gIF0KLX0KLQotZ2xtYXJrMl92ZXJzaW9uID0gIjIwMTcuMDciCi0KLXRlbXBsYXRl
KCJnbG1hcmsyX2V4ZSIpIHsKLSAgZXhlY3V0YWJsZSh0YXJnZXRfbmFtZSkgewotICAgIGZvcndh
cmRfdmFyaWFibGVzX2Zyb20oaW52b2tlciwgIioiKQotICAgIHNvdXJjZXMgKz0gWwotICAgICAg
InNyYy9zcmMvY2FudmFzLWdlbmVyaWMuY3BwIiwKLSAgICAgICJzcmMvc3JjL2NhbnZhcy1nZW5l
cmljLmgiLAotICAgICAgInNyYy9zcmMvbWFpbi5jcHAiLAotICAgIF0KLSAgICBkYXRhID0gWwot
ICAgICAgInNyYy9kYXRhLyIsCi0gICAgXQotCi0gICAgZGVmaW5lcyArPSBbICJHTE1BUktfVkVS
U0lPTj1cIiR7Z2xtYXJrMl92ZXJzaW9ufVwiIiBdCi0KLSAgICBpZiAoaXNfd2luKSB7Ci0gICAg
ICBkZWZpbmVzICs9IFsgIkdMTUFSSzJfVVNFX1dJTjMyIiBdCi0gICAgICBzb3VyY2VzICs9IFsK
LSAgICAgICAgInNyYy9zcmMvbmF0aXZlLXN0YXRlLXdpbjMyLmNwcCIsCi0gICAgICAgICJzcmMv
c3JjL25hdGl2ZS1zdGF0ZS13aW4zMi5oIiwKLSAgICAgIF0KLSAgICB9Ci0gICAgaWYgKGlzX2xp
bnV4KSB7Ci0gICAgICBkZWZpbmVzICs9IFsgIkdMTUFSSzJfVVNFX1gxMSIgXQotICAgICAgc291
cmNlcyArPSBbCi0gICAgICAgICJzcmMvc3JjL25hdGl2ZS1zdGF0ZS14MTEuY3BwIiwKLSAgICAg
ICAgInNyYy9zcmMvbmF0aXZlLXN0YXRlLXgxMS5oIiwKLSAgICAgIF0KLSAgICAgIGxpYnMgPSBb
ICJYMTEiIF0KLSAgICB9Ci0gIH0KLX0KLQotZ2xtYXJrMl9leGUoImdsbWFyazJfYW5nbGUiKSB7
Ci0gIHNvdXJjZXMgPSBbCi0gICAgInNyYy9zcmMvZ2wtc3RhdGUtZWdsLmNwcCIsCi0gIF0KLSAg
ZGVwcyA9IFsKLSAgICAiOmdsbWFyazJfY29tbW9uX2dsZXMiLAotICBdCi0gIGRhdGFfZGVwcyA9
IFsKLSAgICAiJHthbmdsZV9yb290fTpsaWJFR0wiLAotICAgICIke2FuZ2xlX3Jvb3R9OmxpYkdM
RVN2MiIsCi0gIF0KLQotICBkZWZpbmVzID0gWwotICAgICJFR0xfRUdMX1BST1RPVFlQRVM9MSIs
Ci0gICAgIkdMTUFSSzJfVVNFX0VHTCIsCi0gIF0KLQotICBpZiAoaXNfbGludXggJiYgIWlzX2Nv
bXBvbmVudF9idWlsZCkgewotICAgICMgU2V0IHJwYXRoIHRvIGZpbmQgc2hhcmVkIGxpYnMgaW4g
YSBub24tY29tcG9uZW50IGJ1aWxkLgotICAgIHB1YmxpY19jb25maWdzID0gWyAiLy9idWlsZC9j
b25maWcvZ2NjOnJwYXRoX2Zvcl9idWlsdF9zaGFyZWRfbGlicmFyaWVzIiBdCi0gIH0KLX0KLQot
aWYgKGlzX2xpbnV4KSB7Ci0gIGdsbWFyazJfZXhlKCJnbG1hcmsyX2dseCIpIHsKLSAgICBzb3Vy
Y2VzID0gWwotICAgICAgInNyYy9zcmMvZ2wtc3RhdGUtZ2x4LmNwcCIsCi0gICAgICAic3JjL3Ny
Yy9nbGFkL2luY2x1ZGUvZ2xhZC9nbHguaCIsCi0gICAgICAic3JjL3NyYy9nbGFkL3NyYy9nbHgu
YyIsCi0gICAgXQotICAgIGRlcHMgPSBbCi0gICAgICAiOmdsbWFyazJfY29tbW9uX2dsIiwKLSAg
ICBdCi0KLSAgICBkZWZpbmVzID0gWyAiR0xNQVJLMl9VU0VfR0xYIiBdCi0gIH0KLX0KLQotIyBv
cGVuZ2wzMi5saWIvb3BlbmdsMzIuZGxsIGFyZSBub3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MgQVJN
NjQuCi1pZiAoaXNfd2luICYmIHRhcmdldF9jcHUgIT0gImFybTY0IikgewotICBnbG1hcmsyX2V4
ZSgiZ2xtYXJrMl93Z2wiKSB7Ci0gICAgc291cmNlcyA9IFsKLSAgICAgICJzcmMvc3JjL2dsLXN0
YXRlLXdnbC5jcHAiLAotICAgIF0KLSAgICBkZXBzID0gWwotICAgICAgIjpnbG1hcmsyX2NvbW1v
bl9nbCIsCi0gICAgXQotCi0gICAgbGlicyA9IFsgIm9wZW5nbDMyLmxpYiIgXQotICAgIGRlZmlu
ZXMgPSBbICJHTE1BUksyX1VTRV9XR0wiIF0KLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvdGhpcmRfcGFydHkvZ2xtYXJrMi9SRUFETUUuYW5nbGUgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS90aGlyZF9wYXJ0eS9nbG1hcmsyL1JFQURNRS5hbmdsZQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTJiNjM3MWZlZDg0MTU5NzVlMmJkZThlNTFhYTU5OGZm
Y2YwN2Y2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90aGlyZF9wYXJ0eS9nbG1hcmsyL1JFQURNRS5hbmdsZQor
KysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLU5hbWU6IGdsbWFyazIKLVNob3J0IE5hbWU6
IGdsbWFyazIKLVVSTDogaHR0cHM6Ly9naXRodWIuY29tL2dsbWFyazIvZ2xtYXJrMgotU2VjdXJp
dHkgQ3JpdGljYWw6IG5vCi1MaWNlbnNlOiBHUEwgdjMKLUxpY2Vuc2UgRmlsZTogTk9UX1NISVBQ
RUQKLQotRGVzY3JpcHRpb246Ci1nbG1hcmsyIGlzIGFuIE9wZW5HTCAyLjAgYW5kIEVTIDIuMCBi
ZW5jaG1hcmsuCi0KLWdsbWFyazIgaXMgZGV2ZWxvcGVkIGJ5IEFsZXhhbmRyb3MgRnJhbnR6aXMg
YW5kIEplc3NlIEJhcmtlciBiYXNlZCBvbiB0aGUKLW9yaWdpbmFsIGdsbWFyayBiZW5jaG1hcmsg
YnkgQmVuIFNtaXRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi9SRUFETUUubWQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL1JFQURNRS5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGRmZTEyNjI2
NjAzYTM3ODgzN2M5YzEyMTFiMmFiMjc3YTNjOWU3ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL1JFQURNRS5tZAorKysgL2Rldi9udWxsCkBAIC0xLDEyOSArMCwwIEBACi0jIGZsZXgg
YW5kIGJpc29uIGJpbmFyaWVzCi0KLVRoaXMgZm9sZGVyIGNvbnRhaW5zIHRoZSBmbGV4IGFuZCBi
aXNvbiBiaW5hcmllcy4gV2UgdXNlIHRoZXNlIGJpbmFyaWVzIHRvCi1nZW5lcmF0ZSB0aGUgQU5H
TEUgdHJhbnNsYXRvcidzIGxleGVyIGFuZCBwYXJzZXIuCi0KLVVzZSB0aGUgc2NyaXB0IFtgdXBk
YXRlX2ZsZXhfYmlzb25fYmluYXJpZXMucHlgXSh1cGRhdGVfZmxleF9iaXNvbl9iaW5hcmllcy5w
eSkKLXRvIHVwZGF0ZSB0aGUgdmVyc2lvbnMgb2YgdGhlc2UgYmluYXJpZXMgaW4gY2xvdWQgc3Rv
cmFnZS4gSXQgbXVzdCBiZSBydW4gb24KLUxpbnV4IG9yIFdpbmRvd3MuIEl0IHdpbGwgdXBkYXRl
IHRoZSBTSEFzIGZvciB5b3VyIHBsYXRmb3JtLiBBZnRlciBydW5uaW5nIHRoZQotc2NyaXB0IHJ1
biBgZ2l0IGNvbW1pdGAgYW5kIHRoZW4gYGdpdCBjbCB1cGxvYWRgIHRvIGNvZGUgcmV2aWV3IHVz
aW5nIHRoZSBub3JtYWwKLXJldmlldyBwcm9jZXNzLiBZb3Ugd2lsbCBhbHNvIHdhbnQgdG8gcnVu
Ci1bYHNjcmlwdHMvcnVuX2NvZGVfZ2VuZXJhdGlvbi5weWBdKC4uLy4uL3NjcmlwdHMvcnVuX2Nv
ZGVfZ2VuZXJhdGlvbi5weSkgdG8KLXVwZGF0ZSB0aGUgZ2VuZXJhdGVkIGZpbGVzLgotCi1QbGVh
c2UgdXBkYXRlIGJvdGggV2luZG93cyBhbmQgTGludXggYmluYXJpZXMgYXQgdGhlIHNhbWUgdGlt
ZS4gVXNlIHR3byBDTHMuIE9uZQotZm9yIGVhY2ggcGxhdGZvcm0uIE5vdGUgdGhhdCB3ZSBkb24n
dCBjdXJyZW50bHkgc3VwcG9ydCBNYWMgZm9yIGdlbmVyYXRpbmcgdGhlCi1sZXhlciBhbmQgcGFy
c2VyIGZpbGVzLiBJZiB3ZSBkbyB3ZSBzaG91bGQgYWRkIGEgZmxleC9iaXNvbiBkb3dubG9hZCBm
b3IgTWFjIGFzCi13ZWxsLgotCi1Db250YWN0IGptYWRpbGwgb3Igc3lvdXNzZWZpIGZvciBhbnkg
aGVscCB3aXRoIHVwZGF0aW5nIHRoZSBiaW5hcmllcy4KLQotIyMgVXBkYXRpbmcgZmxleCBhbmQg
Ymlzb24gYmluYXJpZXMKLQotVGhpcyBpcyBleHBlY3RlZCB0byBiZSBhIHJhcmUgb3BlcmF0aW9u
LCBhbmQgaXMgY3VycmVudGx5IGRvbmUgYmFzZWQgb24gdGhlCi1mb2xsb3dpbmcgaW5zdHJ1Y3Rp
b25zLiAgTm90ZTogZ2V0IHRoZSBiaW5hcmllcyBmaXJzdCBvbiB3aW5kb3dzLCBhcyBvbmx5IGEK
LXNpbmdsZSBvcHRpb24gaXMgYXZhaWxhYmxlLCB0aGVuIGJ1aWxkIHRoZSBiaW5hcmllcyBmb3Ig
dGhlIHNhbWUgdmVyc2lvbiBvbgotTGludXguCi0KLSMjIyBPbiBXaW5kb3dzCi0KLUluc3RhbGwg
TVN5czIgKHg4Nl82NCkgZnJvbSBodHRwOi8vd3d3Lm1zeXMyLm9yZy8gb24gV2luZG93cy4gIGBm
bGV4YCBzaG91bGQKLWFscmVhZHkgYmUgaW5zdGFsbGVkLiAgSW5zdGFsbCBiaXNvbjoKLQotYGBg
Ci0kIHBhY21hbiAtUyBiaXNvbgotYGBgCi0KLU5vdGUgdGhlIHZlcnNpb25zIG9mIGZsZXggYW5k
IGJpc29uIHNvIHRoZSBzYW1lIHZlcnNpb25zIGNhbiBiZSBidWlsZCBvbiBMaW51eC4KLUZvciBl
eGFtcGxlOgotCi1gYGAKLSQgZmxleCAtLXZlcnNpb24KLWZsZXggMi42LjQKLQotJCBiaXNvbiAt
LXZlcnNpb24KLWJpc29uIChHTlUgQmlzb24pIDMuMy4yCi1gYGAKLQotVGhlIG9ubHkgZGVwZW5k
ZW5jaWVzIGZyb20gTVN5czIgc2hvdWxkIGJlIHRoZSBmb2xsb3dpbmc6Ci0KLWBgYAotbXN5cy1p
bnRsLTguZGxsCi1tc3lzLWljb252LTIuZGxsCi1tc3lzLTIuMC5kbGwKLWBgYAotCi1UaGlzIGNh
biBiZSB2ZXJpZmllZCB3aXRoOgotCi1gYGAKLSQgbGRkIC91c3IvYmluL2ZsZXgKLSQgbGRkIC91
c3IvYmluL2Jpc29uCi1gYGAKLQotQWRkaXRpb25hbGx5LCB3ZSBuZWVkIHRoZSBiaW5hcnkgZm9y
IG00IGF0IGAvdXNyL2Jpbi9tNGAuCi0KLUNvcHkgYWxsIHRoZXNlIDUgZmlsZXMgdG8gdGhpcyBk
aXJlY3Rvcnk6Ci0KLWBgYAotJCBjZCBhbmdsZS8KLSQgY3AgL3Vzci9iaW4vZmxleC5leGUgXAot
ICAgICAvdXNyL2Jpbi9iaXNvbi5leGUgXAotICAgICAvdXNyL2Jpbi9tNC5leGUgXAotICAgICAv
dXNyL2Jpbi9tc3lzLWludGwtOC5kbGwgXAotICAgICAvdXNyL2Jpbi9tc3lzLWljb252LTIuZGxs
IFwKLSAgICAgL3Vzci9iaW4vbXN5cy0yLjAuZGxsIFwKLSAgICAgdG9vbHMvZmxleC1iaXNvbi93
aW5kb3dzLwotYGBgCi0KLVVwbG9hZCB0aGUgYmluYXJpZXM6Ci0KLWBgYAotJCBjZCBhbmdsZS8K
LSQgcHl0aG9uIHRvb2xzL2ZsZXgtYmlzb24vdXBkYXRlX2ZsZXhfYmlzb25fYmluYXJpZXMucHkK
LWBgYAotCi0jIyMgT24gTGludXgKLQotYGBgCi0jIEdldCB0aGUgc291cmNlIG9mIGZsZXgKLSQg
Z2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS93ZXN0ZXMvZmxleC5naXQKLSQgY2QgZmxleC8K
LSMgQ2hlY2tvdXQgdGhlIHNhbWUgdmVyc2lvbiBhcyBtc3lzMiBvbiB3aW5kb3dzCi0kIGdpdCBj
aGVja291dCB2Mi42LjQKLSMgQnVpbGQKLSQgYXV0b3JlY29uZiAtaQotJCBta2RpciBidWlsZCAm
JiBjZCBidWlsZAotJCAuLi9jb25maWd1cmUgQ0ZMQUdTPSItTzIgLURfR05VX1NPVVJDRSIKLSQg
bWFrZSAtagotYGBgCi0KLWBgYAotIyBHZXQgdGhlIHNvdXJjZSBvZiBiaXNvbgotJCBjdXJsIGh0
dHA6Ly9mdHAuZ251Lm9yZy9nbnUvYmlzb24vYmlzb24tMy4zLjIudGFyLnh6IHwgdGFyIC14Sgot
JCBjZCBiaXNvbi0zLjMuMgotIyBCdWlsZAotJCBta2RpciBidWlsZCAmJiBjZCBidWlsZAotJCAu
Li9jb25maWd1cmUgQ0ZMQUdTPSItTzIiCi0kIG1ha2UgLWoKLWBgYAotCi1Ob3RlOiBCaXNvbidz
IFtob21lIHBhZ2VdW0Jpc29uXSBsaXN0cyBmdHAgc2VydmVyIGFuZCBvdGhlciBtaXJyb3JzLiAg
SWYgdGhlCi1hYm92ZSBsaW5rIGlzIGJyb2tlbiwgcmVwbGFjZSB3aXRoIGEgbWlycm9yLgotCi1D
b3B5IHRoZSAyIGV4ZWN1dGFibGVzIHRvIHRoaXMgZGlyZWN0b3J5OgotCi1gYGAKLSQgY2QgYW5n
bGUvCi0kIGNwIC9wYXRoL3RvL2ZsZXgvYnVpbGQvc3JjL2ZsZXggXAotICAgICAvcGF0aC90by9i
aXNvbi9idWlsZC9zcmMvYmlzb24gXAotICAgICB0b29scy9mbGV4LWJpc29uL2xpbnV4LwotYGBg
Ci0KLVVwbG9hZCB0aGUgYmluYXJpZXM6Ci0KLWBgYAotJCBjZCBhbmdsZS8KLSQgcHl0aG9uIHRv
b2xzL2ZsZXgtYmlzb24vdXBkYXRlX2ZsZXhfYmlzb25fYmluYXJpZXMucHkKLWBgYAotCi1bQmlz
b25dOiBodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Jpc29uLwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi9saW51eC9iaXNvbi5zaGExIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi9saW51eC9iaXNvbi5zaGEx
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTNkOTJkZTQxOTA5OGFlZTAxMjQzNmU2
MGJkNjFjZDIzZWE1ZDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vbGludXgvYmlz
b24uc2hhMQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWU2MjhiNzNjZDBhNzY3ZDkzZTFm
OTRiNWE4NmNlNTFjYTgzYzk5ZDUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL2xpbnV4L2ZsZXgu
c2hhMSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vbGludXgvZmxl
eC5zaGExCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMzQwMDQ3Y2ExMmNhZDAxNTZl
Y2Q2NmI1OWJmMzcyYzQ5NDcxZDA4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vbGlu
dXgvZmxleC5zaGExCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZTgzMGU2YzA1MDhkOTY4
NTg3NmU3NzMwNGJiZTdjNGExMjJjMDhlOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRf
cGFydHkvLmdpdGF0dHJpYnV0ZXMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4
LWJpc29uL3RoaXJkX3BhcnR5Ly5naXRhdHRyaWJ1dGVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwNjg4YzhhMTQ5MTUyOGMyNjM0NjY1NWE2NDQ4NzY1ODYzYzg0MmRmLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvLmdpdGF0dHJpYnV0ZXMKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi0qICAgICAgICAgICAgICAgICAgICBlb2w9bGYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFy
dHkvbTRzdWdhci9MSUNFTlNFIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1i
aXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL0xJQ0VOU0UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQ1MTE5MDVjMTY0N2ExZTMxMWU4YjIwZDU5MzBhMzdhOWMyNTMxY2QuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL0xJQ0VOU0UKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMzkgKzAsMCBAQAotCQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VO
U0UKLQkJICAgICAgIFZlcnNpb24gMiwgSnVuZSAxOTkxCi0KLSBDb3B5cmlnaHQgKEMpIDE5ODks
IDE5OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAotIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKLSBFdmVyeW9uZSBpcyBw
ZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKLSBvZiB0aGlz
IGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KLQotCQkJ
ICAgIFByZWFtYmxlCi0KLSAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNp
Z25lZCB0byB0YWtlIGF3YXkgeW91cgotZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAg
QnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKLUxpY2Vuc2UgaXMgaW50ZW5kZWQg
dG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUKLXNvZnR3
YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMu
ICBUaGlzCi1HZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gbW9zdCBvZiB0aGUgRnJl
ZSBTb2Z0d2FyZQotRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3RoZXIgcHJvZ3Jh
bSB3aG9zZSBhdXRob3JzIGNvbW1pdCB0bwotdXNpbmcgaXQuICAoU29tZSBvdGhlciBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24gc29mdHdhcmUgaXMgY292ZXJlZCBieQotdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpbnN0ZWFkLikgIFlvdSBjYW4gYXBwbHkgaXQgdG8KLXlv
dXIgcHJvZ3JhbXMsIHRvby4KLQotICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdl
IGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90Ci1wcmljZS4gIE91ciBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91Ci1oYXZlIHRoZSBm
cmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2Ug
Zm9yCi10aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBj
b2RlIG9yIGNhbiBnZXQgaXQKLWlmIHlvdSB3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRo
ZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0Ci1pbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5k
IHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCi0KLSAgVG8gcHJvdGVjdCB5
b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAotYW55
b25lIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0
aGUgcmlnaHRzLgotVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3Bv
bnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UKLWRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0
d2FyZSwgb3IgaWYgeW91IG1vZGlmeSBpdC4KLQotICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3Ry
aWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCi1ncmF0aXMgb3IgZm9yIGEg
ZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQKLXlv
dSBoYXZlLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNh
biBnZXQgdGhlCi1zb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVy
bXMgc28gdGhleSBrbm93IHRoZWlyCi1yaWdodHMuCi0KLSAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0
cyB3aXRoIHR3byBzdGVwczogKDEpIGNvcHlyaWdodCB0aGUgc29mdHdhcmUsIGFuZAotKDIpIG9m
ZmVyIHlvdSB0aGlzIGxpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8g
Y29weSwKLWRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgc29mdHdhcmUuCi0KLSAgQWxzbywg
Zm9yIGVhY2ggYXV0aG9yJ3MgcHJvdGVjdGlvbiBhbmQgb3Vycywgd2Ugd2FudCB0byBtYWtlIGNl
cnRhaW4KLXRoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50
eSBmb3IgdGhpcyBmcmVlCi1zb2Z0d2FyZS4gIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBi
eSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2UKLXdhbnQgaXRzIHJlY2lwaWVudHMgdG8g
a25vdyB0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwsIHNvCi10aGF0IGFu
eSBwcm9ibGVtcyBpbnRyb2R1Y2VkIGJ5IG90aGVycyB3aWxsIG5vdCByZWZsZWN0IG9uIHRoZSBv
cmlnaW5hbAotYXV0aG9ycycgcmVwdXRhdGlvbnMuCi0KLSAgRmluYWxseSwgYW55IGZyZWUgcHJv
Z3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50bHkgYnkgc29mdHdhcmUKLXBhdGVudHMuICBXZSB3
aXNoIHRvIGF2b2lkIHRoZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUKLXBy
b2dyYW0gd2lsbCBpbmRpdmlkdWFsbHkgb2J0YWluIHBhdGVudCBsaWNlbnNlcywgaW4gZWZmZWN0
IG1ha2luZyB0aGUKLXByb2dyYW0gcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHdlIGhh
dmUgbWFkZSBpdCBjbGVhciB0aGF0IGFueQotcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yIGV2
ZXJ5b25lJ3MgZnJlZSB1c2Ugb3Igbm90IGxpY2Vuc2VkIGF0IGFsbC4KLQotICBUaGUgcHJlY2lz
ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAotbW9k
aWZpY2F0aW9uIGZvbGxvdy4KLQotCQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKLSAg
IFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElG
SUNBVElPTgotCi0gIDAuIFRoaXMgTGljZW5zZSBhcHBsaWVzIHRvIGFueSBwcm9ncmFtIG9yIG90
aGVyIHdvcmsgd2hpY2ggY29udGFpbnMKLWEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0
IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkCi11bmRlciB0aGUgdGVybXMgb2Yg
dGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhlICJQcm9ncmFtIiwgYmVsb3csCi1yZWZl
cnMgdG8gYW55IHN1Y2ggcHJvZ3JhbSBvciB3b3JrLCBhbmQgYSAid29yayBiYXNlZCBvbiB0aGUg
UHJvZ3JhbSIKLW1lYW5zIGVpdGhlciB0aGUgUHJvZ3JhbSBvciBhbnkgZGVyaXZhdGl2ZSB3b3Jr
IHVuZGVyIGNvcHlyaWdodCBsYXc6Ci10aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcg
dGhlIFByb2dyYW0gb3IgYSBwb3J0aW9uIG9mIGl0LAotZWl0aGVyIHZlcmJhdGltIG9yIHdpdGgg
bW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIKLWxhbmd1YWdlLiAg
KEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24g
aW4KLXRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2Vk
IGFzICJ5b3UiLgotCi1BY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9u
IGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAotY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkg
YXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgotcnVubmluZyB0aGUgUHJvZ3JhbSBp
cyBub3QgcmVzdHJpY3RlZCwgYW5kIHRoZSBvdXRwdXQgZnJvbSB0aGUgUHJvZ3JhbQotaXMgY292
ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZCBvbiB0aGUK
LVByb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUg
UHJvZ3JhbSkuCi1XaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIFByb2dy
YW0gZG9lcy4KLQotICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29w
aWVzIG9mIHRoZSBQcm9ncmFtJ3MKLXNvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBh
bnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdQotY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlh
dGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZQotY29weXJpZ2h0IG5vdGlj
ZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZQotbm90aWNl
cyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55IHdh
cnJhbnR5OwotYW5kIGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFByb2dyYW0gYSBj
b3B5IG9mIHRoaXMgTGljZW5zZQotYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4KLQotWW91IG1heSBj
aGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwg
YW5kCi15b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4g
ZXhjaGFuZ2UgZm9yIGEgZmVlLgotCi0gIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBj
b3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24KLW9mIGl0LCB0aHVzIGZvcm1pbmcg
YSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBhbmQgY29weSBhbmQKLWRpc3RyaWJ1dGUgc3Vj
aCBtb2RpZmljYXRpb25zIG9yIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQotYWJv
dmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoK
LQotICAgIGEpIFlvdSBtdXN0IGNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9t
aW5lbnQgbm90aWNlcwotICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5k
IHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCi0KLSAgICBiKSBZb3UgbXVzdCBjYXVzZSBhbnkgd29y
ayB0aGF0IHlvdSBkaXN0cmlidXRlIG9yIHB1Ymxpc2gsIHRoYXQgaW4KLSAgICB3aG9sZSBvciBp
biBwYXJ0IGNvbnRhaW5zIG9yIGlzIGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSBvciBhbnkKLSAg
ICBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRv
IGFsbCB0aGlyZAotICAgIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4K
LQotICAgIGMpIElmIHRoZSBtb2RpZmllZCBwcm9ncmFtIG5vcm1hbGx5IHJlYWRzIGNvbW1hbmRz
IGludGVyYWN0aXZlbHkKLSAgICB3aGVuIHJ1biwgeW91IG11c3QgY2F1c2UgaXQsIHdoZW4gc3Rh
cnRlZCBydW5uaW5nIGZvciBzdWNoCi0gICAgaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9y
ZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlzcGxheSBhbgotICAgIGFubm91bmNlbWVudCBpbmNs
dWRpbmcgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgYQotICAgIG5vdGljZSB0
aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IChvciBlbHNlLCBzYXlpbmcgdGhhdCB5b3UgcHJvdmlk
ZQotICAgIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHBy
b2dyYW0gdW5kZXIKLSAgICB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBo
b3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcwotICAgIExpY2Vuc2UuICAoRXhjZXB0aW9uOiBpZiB0
aGUgUHJvZ3JhbSBpdHNlbGYgaXMgaW50ZXJhY3RpdmUgYnV0Ci0gICAgZG9lcyBub3Qgbm9ybWFs
bHkgcHJpbnQgc3VjaCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbgotICAgIHRo
ZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQotCi1U
aGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4g
IElmCi1pZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBm
cm9tIHRoZSBQcm9ncmFtLAotYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBl
bmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCi10aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5z
ZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCi1zZWN0aW9ucyB3aGVuIHlv
dSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKLWRpc3Ry
aWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBhIHdob2xlIHdoaWNoIGlzIGEgd29y
ayBiYXNlZAotb24gdGhlIFByb2dyYW0sIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11
c3QgYmUgb24gdGhlIHRlcm1zIG9mCi10aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZv
ciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQotZW50aXJlIHdob2xlLCBhbmQgdGh1cyB0
byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mgb2Ygd2hvIHdyb3RlIGl0LgotCi1UaHVz
LCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9y
IGNvbnRlc3QKLXlvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJh
dGhlciwgdGhlIGludGVudCBpcyB0bwotZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhl
IGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCi1jb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9u
IHRoZSBQcm9ncmFtLgotCi1JbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVy
IHdvcmsgbm90IGJhc2VkIG9uIHRoZSBQcm9ncmFtCi13aXRoIHRoZSBQcm9ncmFtIChvciB3aXRo
IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKLWEgc3RvcmFnZSBv
ciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVy
Ci10aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgotCi0gIDMuIFlvdSBtYXkgY29weSBhbmQgZGlz
dHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LAotdW5kZXIgU2VjdGlv
biAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gdW5kZXIgdGhlIHRlcm1zIG9m
Ci1TZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9m
IHRoZSBmb2xsb3dpbmc6Ci0KLSAgICBhKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgY29tcGxldGUg
Y29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlCi0gICAgc291cmNlIGNvZGUsIHdoaWNoIG11
c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCi0gICAgMSBhbmQg
MiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNo
YW5nZTsgb3IsCi0KLSAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZh
bGlkIGZvciBhdCBsZWFzdCB0aHJlZQotICAgIHllYXJzLCB0byBnaXZlIGFueSB0aGlyZCBwYXJ0
eSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUgdGhhbiB5b3VyCi0gICAgY29zdCBvZiBwaHlzaWNhbGx5
IHBlcmZvcm1pbmcgc291cmNlIGRpc3RyaWJ1dGlvbiwgYSBjb21wbGV0ZQotICAgIG1hY2hpbmUt
cmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUKLSAg
ICBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBv
biBhIG1lZGl1bQotICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdl
OyBvciwKLQotICAgIGMpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBpbmZvcm1hdGlvbiB5b3UgcmVj
ZWl2ZWQgYXMgdG8gdGhlIG9mZmVyCi0gICAgdG8gZGlzdHJpYnV0ZSBjb3JyZXNwb25kaW5nIHNv
dXJjZSBjb2RlLiAgKFRoaXMgYWx0ZXJuYXRpdmUgaXMKLSAgICBhbGxvd2VkIG9ubHkgZm9yIG5v
bmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQotICAgIHJlY2VpdmVkIHRo
ZSBwcm9ncmFtIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB3aXRoIHN1Y2gKLSAg
ICBhbiBvZmZlciwgaW4gYWNjb3JkIHdpdGggU3Vic2VjdGlvbiBiIGFib3ZlLikKLQotVGhlIHNv
dXJjZSBjb2RlIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3Jr
IGZvcgotbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICBGb3IgYW4gZXhlY3V0YWJsZSB3b3Jr
LCBjb21wbGV0ZSBzb3VyY2UKLWNvZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxs
IG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55Ci1hc3NvY2lhdGVkIGludGVyZmFjZSBkZWZp
bml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8KLWNvbnRyb2wgY29tcGlsYXRp
b24gYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgZXhlY3V0YWJsZS4gIEhvd2V2ZXIsIGFzIGEKLXNw
ZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5j
bHVkZQotYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNv
dXJjZSBvciBiaW5hcnkKLWZvcm0pIHdpdGggdGhlIG1ham9yIGNvbXBvbmVudHMgKGNvbXBpbGVy
LCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlCi1vcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRo
ZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAotaXRzZWxmIGFjY29tcGFu
aWVzIHRoZSBleGVjdXRhYmxlLgotCi1JZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBv
YmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nCi1hY2Nlc3MgdG8gY29weSBmcm9tIGEgZGVz
aWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50Ci1hY2Nlc3MgdG8gY29weSB0
aGUgc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBjb3VudHMgYXMKLWRpc3RyaWJ1dGlv
biBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdAot
Y29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4K
LQotICA0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1
dGUgdGhlIFByb2dyYW0KLWV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBM
aWNlbnNlLiAgQW55IGF0dGVtcHQKLW90aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vu
c2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcwotdm9pZCwgYW5kIHdpbGwgYXV0b21hdGlj
YWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgotSG93ZXZlciwg
cGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5k
ZXIKLXRoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQg
c28gbG9uZyBhcyBzdWNoCi1wYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCi0KLSAg
NS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91
IGhhdmUgbm90Ci1zaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBw
ZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgotZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVy
aXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCi1wcm9oaWJpdGVkIGJ5IGxhdyBpZiB5
b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5Ci1tb2RpZnlpbmcg
b3IgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKLVBy
b2dyYW0pLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBk
byBzbywgYW5kCi1hbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0
cmlidXRpbmcgb3IgbW9kaWZ5aW5nCi10aGUgUHJvZ3JhbSBvciB3b3JrcyBiYXNlZCBvbiBpdC4K
LQotICA2LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYW55IHdv
cmsgYmFzZWQgb24gdGhlCi1Qcm9ncmFtKSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJl
Y2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQotb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlz
dHJpYnV0ZSBvciBtb2RpZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0bwotdGhlc2UgdGVybXMgYW5k
IGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIKLXJlc3RyaWN0aW9u
cyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVp
bi4KLVlvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0
aGlyZCBwYXJ0aWVzIHRvCi10aGlzIExpY2Vuc2UuCi0KLSAgNy4gSWYsIGFzIGEgY29uc2VxdWVu
Y2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAotaW5mcmluZ2Vt
ZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVz
KSwKLWNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVy
LCBhZ3JlZW1lbnQgb3IKLW90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25z
IG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKLWV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0
aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90Ci1kaXN0cmlidXRlIHNvIGFzIHRv
IHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCi1MaWNl
bnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2Vx
dWVuY2UgeW91Ci1tYXkgbm90IGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gYXQgYWxsLiAgRm9yIGV4
YW1wbGUsIGlmIGEgcGF0ZW50Ci1saWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVl
IHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGJ5Ci1hbGwgdGhvc2Ugd2hvIHJlY2VpdmUg
Y29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KLXRoZSBvbmx5
IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUg
dG8KLXJlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0uCi0K
LUlmIGFueSBwb3J0aW9uIG9mIHRoaXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZv
cmNlYWJsZSB1bmRlcgotYW55IHBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBv
ZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0bwotYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEg
d2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIKLWNpcmN1bXN0YW5jZXMuCi0KLUl0
IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZy
aW5nZSBhbnkKLXBhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNv
bnRlc3QgdmFsaWRpdHkgb2YgYW55Ci1zdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUg
c29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCi1pbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29m
dHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMKLWltcGxlbWVudGVkIGJ5IHB1Ymxp
YyBsaWNlbnNlIHByYWN0aWNlcy4gIE1hbnkgcGVvcGxlIGhhdmUgbWFkZQotZ2VuZXJvdXMgY29u
dHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAotdGhy
b3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9m
IHRoYXQKLXN5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYg
aGUgb3Igc2hlIGlzIHdpbGxpbmcKLXRvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkg
b3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAotaW1wb3NlIHRoYXQgY2hvaWNlLgot
Ci1UaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQg
aXMgYmVsaWV2ZWQgdG8KLWJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNl
bnNlLgotCi0gIDguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3Jh
bSBpcyByZXN0cmljdGVkIGluCi1jZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBv
ciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUKLW9yaWdpbmFsIGNvcHlyaWdodCBob2xk
ZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UKLW1heSBhZGQgYW4g
ZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZwot
dGhvc2UgY291bnRyaWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBp
biBvciBhbW9uZwotY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0
aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCi10aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGlu
IHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KLQotICA5LiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucwotb2YgdGhlIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9u
cyB3aWxsCi1iZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQg
bWF5IGRpZmZlciBpbiBkZXRhaWwgdG8KLWFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5z
LgotCi1FYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJl
ci4gIElmIHRoZSBQcm9ncmFtCi1zcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExp
Y2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQgImFueQotbGF0ZXIgdmVyc2lvbiIsIHlvdSBo
YXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucwotZWl0
aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUKLVNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBz
cGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YKLXRoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2Ug
YW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKLUZvdW5kYXRp
b24uCi0KLSAgMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBQcm9n
cmFtIGludG8gb3RoZXIgZnJlZQotcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlv
bnMgYXJlIGRpZmZlcmVudCwgd3JpdGUgdG8gdGhlIGF1dGhvcgotdG8gYXNrIGZvciBwZXJtaXNz
aW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlCi1Tb2Z0
d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3
ZSBzb21ldGltZXMKLW1ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91ciBkZWNpc2lvbiB3aWxs
IGJlIGd1aWRlZCBieSB0aGUgdHdvIGdvYWxzCi1vZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1
cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kCi1vZiBwcm9tb3Rp
bmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KLQotCQkJICAg
IE5PIFdBUlJBTlRZCi0KLSAgMTEuIEJFQ0FVU0UgVEhFIFBST0dSQU0gSVMgTElDRU5TRUQgRlJF
RSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PIFdBUlJBTlRZCi1GT1IgVEhFIFBST0dSQU0sIFRPIFRI
RSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4KLU9USEVS
V0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVS
IFBBUlRJRVMKLVBST1ZJREUgVEhFIFBST0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VECi1PUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgotTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBB
UwotVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNIElTIFdJVEgg
WU9VLiAgU0hPVUxEIFRIRQotUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhF
IENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsCi1SRVBBSVIgT1IgQ09SUkVDVElPTi4K
LQotICAxMi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9S
IEFHUkVFRCBUTyBJTiBXUklUSU5HCi1XSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkg
T1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkgQU5EL09SCi1SRURJU1RSSUJVVEUgVEhFIFBST0dS
QU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLAotSU5D
TFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyBBUklTSU5HCi1PVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQ
Uk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVECi1UTyBMT1NTIE9GIERBVEEgT1IgREFU
QSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkKLVlPVSBP
UiBUSElSRCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJ
VEggQU5ZIE9USEVSCi1QUk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFS
VFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUKLVBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4K
LQotCQkgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwotCi0JICAgIEhvdyB0byBBcHBs
eSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwotCi0gIElmIHlvdSBkZXZlbG9wIGEg
bmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKLXBvc3Np
YmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRv
IG1ha2UgaXQKLWZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBh
bmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgotCi0gIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZv
bGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0Ci10byBhdHRhY2gg
dGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5
Ci1jb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQg
aGF2ZSBhdCBsZWFzdAotdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVy
ZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCi0KLSAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUg
cHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgotICAgIENv
cHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+Ci0KLSAgICBUaGlzIHByb2dyYW0g
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQot
ICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5Ci0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAgICAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gICAgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGFsb25nCi0gICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKLSAgICA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgotCi1BbHNvIGFkZCBpbmZvcm1hdGlv
biBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KLQot
SWYgdGhlIHByb2dyYW0gaXMgaW50ZXJhY3RpdmUsIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQgbm90
aWNlIGxpa2UgdGhpcwotd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKLQot
ICAgIEdub21vdmlzaW9uIHZlcnNpb24gNjksIENvcHlyaWdodCAoQykgeWVhciBuYW1lIG9mIGF1
dGhvcgotICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsg
Zm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KLSAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFu
ZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0Ci0gICAgdW5kZXIgY2VydGFpbiBj
b25kaXRpb25zOyB0eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgotCi1UaGUgaHlwb3RoZXRpY2Fs
IGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlh
dGUKLXBhcnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUg
Y29tbWFuZHMgeW91IHVzZSBtYXkKLWJlIGNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hv
dyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQotbW91c2UtY2xpY2tzIG9yIG1l
bnUgaXRlbXMtLXdoYXRldmVyIHN1aXRzIHlvdXIgcHJvZ3JhbS4KLQotWW91IHNob3VsZCBhbHNv
IGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIK
LXNjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhl
IHByb2dyYW0sIGlmCi1uZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFt
ZXM6Ci0KLSAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBp
bnRlcmVzdCBpbiB0aGUgcHJvZ3JhbQotICBgR25vbW92aXNpb24nICh3aGljaCBtYWtlcyBwYXNz
ZXMgYXQgY29tcGlsZXJzKSB3cml0dGVuIGJ5IEphbWVzIEhhY2tlci4KLQotICA8c2lnbmF0dXJl
IG9mIFR5IENvb24+LCAxIEFwcmlsIDE5ODkKLSAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UK
LQotVGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGRvZXMgbm90IHBlcm1pdCBpbmNvcnBvcmF0
aW5nIHlvdXIgcHJvZ3JhbSBpbnRvCi1wcm9wcmlldGFyeSBwcm9ncmFtcy4gIElmIHlvdXIgcHJv
Z3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwgeW91IG1heQotY29uc2lkZXIgaXQgbW9yZSB1
c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhl
Ci1saWJyYXJ5LiAgSWYgdGhpcyBpcyB3aGF0IHlvdSB3YW50IHRvIGRvLCB1c2UgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbAotUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJk
X3BhcnR5L200c3VnYXIvUkVBRE1FLmNocm9taXVtIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
dG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL1JFQURNRS5jaHJvbWl1bQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzYwYTVmZDRmZGM5MjdjZjg2NmEzNjIxZDUzZTAx
YjdmNmVlMDNhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L200
c3VnYXIvUkVBRE1FLmNocm9taXVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotTmFt
ZTogQXV0b2NvbmYgTTQgbWFjcm9zIHVzZWQgYnkgQmlzb24KLVNob3J0IE5hbWU6IG00c3VnYXIK
LVVSTDogaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvY29uZi8KLVZlcnNpb246IHVu
a25vd24KLUxpY2Vuc2U6IEdQTAotTGljZW5zZSBGaWxlOiBMSUNFTlNFCi1TZWN1cml0eSBjcml0
aWNhbDogbm8KLQotRGVzY3JpcHRpb246Ci1CaXNvbiB1c2VzIE00IHRvIGdlbmVyYXRlIGl0cyBv
dXRwdXQsIGFuZCB1c2VzIHRoZSB1dGlsaXR5IE00IG1hY3JvcyBpbiB0aGlzCi1kaXJlY3Rvcnku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3Ro
aXJkX3BhcnR5L200c3VnYXIvZm9yZWFjaC5tNCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rv
b2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9mb3JlYWNoLm00CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3MDkzZDBmY2M0ZTg1OGE5OTdiZTU3MDk0ZGRmNWRmN2Q0MTAz
NzEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvbTRzdWdhci9m
b3JlYWNoLm00CisrKyAvZGV2L251bGwKQEAgLTEsMzYyICswLDAgQEAKLSMgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KLSMg
VGhpcyBmaWxlIGlzIHBhcnQgb2YgQXV0b2NvbmYuCi0jIGZvcmVhY2gtYmFzZWQgcmVwbGFjZW1l
bnRzIGZvciByZWN1cnNpdmUgZnVuY3Rpb25zLgotIyBTcGVlZHMgdXAgR05VIE00IDEuNC54IGJ5
IGF2b2lkaW5nIHF1YWRyYXRpYyAkQCByZWN1cnNpb24sIGJ1dCBwZW5hbGl6ZXMKLSMgR05VIE00
IDEuNiBieSByZXF1aXJpbmcgbW9yZSBtZW1vcnkgYW5kIG1hY3JvIGV4cGFuc2lvbnMuCi0jCi0j
IENvcHlyaWdodCAoQykgMjAwOC0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgot
Ci0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEF1dG9jb25mLiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUK
LSMgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5k
ZXIgdGhlCi0jIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlCi0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKLSMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLSMKLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSMgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgVW5kZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJz
aW9uIDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCi0jIHBlcm1pc3Npb25zIGRlc2NyaWJl
ZCBpbiB0aGUgQXV0b2NvbmYgQ29uZmlndXJlIFNjcmlwdCBFeGNlcHRpb24sCi0jIHZlcnNpb24g
My4wLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSMKLSMg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSMgYW5kIGEgY29weSBvZiB0aGUgQXV0b2NvbmYgQ29uZmlndXJlIFNjcmlwdCBF
eGNlcHRpb24gYWxvbmcgd2l0aAotIyB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZXMgQ09QWUlO
R3YzIGFuZCBDT1BZSU5HLkVYQ0VQVElPTgotIyByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZSA8
aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotCi0jIFdyaXR0ZW4gYnkgRXJpYyBCbGFr
ZS4KLQotIyBJbiBNNCAxLjQueCwgZXZlcnkgYnl0ZSBvZiAkQCBpcyByZXNjYW5uZWQuICBUaGlz
IG1lYW5zIHRoYXQgYW4KLSMgYWxnb3JpdGhtIG9uIG4gYXJndW1lbnRzIHRoYXQgcmVjdXJzZXMg
d2l0aCBvbmUgbGVzcyBhcmd1bWVudCBlYWNoCi0jIGl0ZXJhdGlvbiB3aWxsIHNjYW4gbiAqIChu
ICsgMSkgLyAyIGFyZ3VtZW50cywgZm9yIE8obl4yKSB0aW1lLiAgSW4KLSMgTTQgMS42LCB0aGlz
IHdhcyBmaXhlZCBzbyB0aGF0ICRAIGlzIG9ubHkgc2Nhbm5lZCBvbmNlLCB0aGVuCi0jIGJhY2st
cmVmZXJlbmNlcyBhcmUgbWFkZSB0byBpbmZvcm1hdGlvbiBzdG9yZWQgYWJvdXQgdGhlIHNjYW4u
Ci0jIFRodXMsIG4gaXRlcmF0aW9ucyBuZWVkIG9ubHkgc2NhbiBuIGFyZ3VtZW50cywgZm9yIE8o
bikgdGltZS4KLSMgQWRkaXRpb25hbGx5LCBpbiBNNCAxLjQueCwgcmVjdXJzaXZlIGFsZ29yaXRo
bXMgZGlkIG5vdCBjbGVhbiB1cAotIyBtZW1vcnkgdmVyeSB3ZWxsLCByZXF1aXJpbmcgTyhuXjIp
IG1lbW9yeSByYXRoZXIgdGhhbiBPKG4pIGZvciBuCi0jIGl0ZXJhdGlvbnMuCi0jCi0jIFRoaXMg
ZmlsZSBpcyBkZXNpZ25lZCB0byBvdmVyY29tZSB0aGUgcXVhZHJhdGljIG5hdHVyZSBvZiAkQAot
IyByZWN1cnNpb24gYnkgd3JpdGluZyBhIHZhcmlhbnQgb2YgbTRfZm9yZWFjaCB0aGF0IHVzZXMg
bTRfZm9yIHJhdGhlcgotIyB0aGFuICRAIHJlY3Vyc2lvbiB0byBvcGVyYXRlIG9uIHRoZSBsaXN0
LiAgVGhpcyBpbnZvbHZlcyBtb3JlIG1hY3JvCi0jIGV4cGFuc2lvbnMsIGJ1dCBhdm9pZHMgdGhl
IG5lZWQgdG8gcmVzY2FuIGEgcXVhZHJhdGljIG51bWJlciBvZgotIyBhcmd1bWVudHMsIG1ha2lu
ZyB0aGVzZSByZXBsYWNlbWVudHMgdmVyeSBhdHRyYWN0aXZlIGZvciBNNCAxLjQueC4KLSMgT24g
dGhlIG90aGVyIGhhbmQsIGluIGFueSB2ZXJzaW9uIG9mIE00LCBleHBhbmRpbmcgYWRkaXRpb25h
bCBtYWNyb3MKLSMgY29zdHMgYWRkaXRpb25hbCB0aW1lOyB0aGVyZWZvcmUsIGluIE00IDEuNiwg
d2hlcmUgJEAgcmVjdXJzaW9uIHVzZXMKLSMgZmV3ZXIgbWFjcm9zLCB0aGVzZSByZXBsYWNlbWVu
dHMgYWN0dWFsbHkgcGVzc2ltaXplIHBlcmZvcm1hbmNlLgotIyBBZGRpdGlvbmFsbHksIHRoZSB1
c2Ugb2YgJDEwIHRvIG1lYW4gdGhlIHRlbnRoIGFyZ3VtZW50IHZpb2xhdGVzCi0jIFBPU0lYOyBh
bHRob3VnaCBhbGwgdmVyc2lvbnMgb2YgbTQgMS40Lnggc3VwcG9ydCB0aGlzIG1lYW5pbmcsIGEK
LSMgZnV0dXJlIG00IHZlcnNpb24gbWF5IHN3aXRjaCB0byB0YWtlIGl0IGFzIHRoZSBmaXJzdCBh
cmd1bWVudAotIyBjb25jYXRlbmF0ZWQgd2l0aCBhIGxpdGVyYWwgMCwgc28gdGhlIGltcGxlbWVu
dGF0aW9ucyBpbiB0aGlzIGZpbGUKLSMgYXJlIG5vdCBmdXR1cmUtcHJvb2YuICBUaHVzLCB0aGlz
IGZpbGUgaXMgY29uZGl0aW9uYWxseSBpbmNsdWRlZCBhcwotIyBwYXJ0IG9mIG00X2luaXQoKSwg
b25seSB3aGVuIGl0IGlzIGRldGVjdGVkIHRoYXQgTTQgcHJvYmFibHkgaGFzCi0jIHF1YWRyYXRp
YyBiZWhhdmlvciAoaWUuIGl0IGxhY2tzIHRoZSBtYWNybyBfX200X3ZlcnNpb25fXykuCi0jCi0j
IFBsZWFzZSBrZWVwIHRoaXMgZmlsZSBpbiBzeW5jIHdpdGggbTRzdWdhci5tNC4KLQotIyBfbTRf
Zm9yZWFjaChQUkUsIFBPU1QsIElHTk9SRUQsIEFSRy4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEZvcm0gdGhlIGNvbW1vbiBiYXNpcyBvZiB0aGUgbTRf
Zm9yZWFjaCBhbmQgbTRfbWFwIG1hY3Jvcy4gIEZvciBlYWNoCi0jIEFSRywgZXhwYW5kIFBSRVtB
UkddUE9TVFtdLiAgVGhlIElHTk9SRUQgYXJndW1lbnQgbWFrZXMgcmVjdXJzaW9uCi0jIGVhc2ll
ciwgYW5kIG11c3QgYmUgc3VwcGxpZWQgcmF0aGVyIHRoYW4gaW1wbGljaXQuCi0jCi0jIFRoaXMg
dmVyc2lvbiBtaW5pbWl6ZXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGF0ICRAIGlzIGV2YWx1YXRl
ZCBieQotIyB1c2luZyBtNF9mb3IgdG8gZ2VuZXJhdGUgYSBib2lsZXJwbGF0ZSBpbnRvIF9tNF9m
IHRoZW4gcGFzc2luZyAkQCB0bwotIyB0aGF0IHRlbXBvcmFyeSBtYWNyby4gIFRodXMsIHRoZSBy
ZWN1cnNpb24gaXMgZG9uZSBpbiBtNF9mb3Igd2l0aG91dAotIyByZXBhcnNpbmcgYW55IHVzZXIg
aW5wdXQsIGFuZCBpcyBub3QgcXVhZHJhdGljLiAgRm9yIGFuIGlkZWEgb2YgaG93Ci0jIHRoaXMg
d29ya3MsIG5vdGUgdGhhdCBtNF9mb3JlYWNoKGksWzEsMl0sW2ldKSBjYWxscwotIyAgIF9tNF9m
b3JlYWNoKFttNF9kZWZpbmUoW2ldLF0sWylpXSxbXSxbMV0sWzJdKQotIyB3aGljaCBkZWZpbmVz
IF9tNF9mOgotIyAgICQxWyQ0XSQyW10kMVskNV0kMltdX200X3BvcGRlZihbX200X2ZdKQotIyB0
aGVuIGNhbGxzIF9tNF9mKFttNF9kZWZpbmUoW2ldLF0sWylpXSxbXSxbMV0sWzJdKSBmb3IgYSBu
ZXQgcmVzdWx0OgotIyAgIG00X2RlZmluZShbaV0sWzFdKWlbXW00X2RlZmluZShbaV0sWzJdKWlb
XV9tNF9wb3BkZWYoW19tNF9mXSkuCi1tNF9kZWZpbmUoW19tNF9mb3JlYWNoXSwKLVttNF9pZihb
JCNdLCBbM10sIFtdLAotICAgICAgIFttNF9wdXNoZGVmKFtfbTRfZl0sIF9tNF9mb3IoWzRdLCBb
JCNdLCBbMV0sCi0gICBbJDBfKFsxXSwgWzJdLF0sIFspXSlbX200X3BvcGRlZihbX200X2ZdKV0p
X200X2YoJEApXSldKQotCi1tNF9kZWZpbmUoW19tNF9mb3JlYWNoX10sCi1bWyQkMVskJDNdJCQy
W11dXSkKLQotIyBtNF9jYXNlKFNXSVRDSCwgVkFMMSwgSUYtVkFMMSwgVkFMMiwgSUYtVkFMMiwg
Li4uLCBERUZBVUxUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBGaW5kIHRoZSBmaXJzdCBWQUwgdGhhdCBTV0lUQ0ggbWF0
Y2hlcywgYW5kIGV4cGFuZCB0aGUgY29ycmVzcG9uZGluZwotIyBJRi1WQUwuICBJZiB0aGVyZSBh
cmUgbm8gbWF0Y2hlcywgZXhwYW5kIERFRkFVTFQuCi0jCi0jIFVzZSBtNF9mb3IgdG8gY3JlYXRl
IGEgdGVtcG9yYXJ5IG1hY3JvIGluIHRlcm1zIG9mIGEgYm9pbGVycGxhdGUKLSMgbTRfaWYgd2l0
aCBmaW5hbCBjbGVhbnVwLiAgSWYgJCMgaXMgZXZlbiwgd2UgaGF2ZSBERUZBVUxUOyBpZiBpdCBp
cwotIyBvZGQsIHRoZW4gcm91bmRpbmcgdGhlIGxhc3QgJCMgdXAgaW4gdGhlIHRlbXBvcmFyeSBt
YWNybyBpcwotIyBoYXJtbGVzcy4gIEZvciBleGFtcGxlLCBib3RoIG00X2Nhc2UoMSwyLDMsNCw1
KSBhbmQKLSMgbTRfY2FzZSgxLDIsMyw0LDUsNikgcmVzdWx0IGluIHRoZSBpbnRlcm1lZGlhdGUg
X200X2Nhc2UgYmVpbmcKLSMgICBtNF9pZihbJDFdLFskMl0sWyQzXSxbJDFdLFskNF0sWyQ1XSxf
bTRfcG9wZGVmKFtfbTRfY2FzZV0pWyQ2XSkKLW00X2RlZmluZShbbTRfY2FzZV0sCi1bbTRfaWYo
bTRfZXZhbChbJCMgPD0gMl0pLCBbMV0sIFskMl0sCi1bbTRfcHVzaGRlZihbXyQwXSwgW200X2lm
KF1fbTRfZm9yKFsyXSwgbTRfZXZhbChbKCQjIC0gMSkgLyAyICogMl0pLCBbMl0sCi0gICAgIFtf
JDBfKF0sIFspXSlbX200X3BvcGRlZigKLQkgW18kMF0pXW00X2RxdW90ZSgkbTRfZXZhbChbKCQj
ICsgMSkgJiB+MV0pKVspXSlfJDAoJEApXSldKQotCi1tNF9kZWZpbmUoW19tNF9jYXNlX10sCi1b
JDBfKFsxXSwgWyQxXSwgbTRfaW5jcihbJDFdKSldKQotCi1tNF9kZWZpbmUoW19tNF9jYXNlX19d
LAotW1tbJCQxXSxbJCQyXSxbJCQzXSxdXSkKLQotIyBtNF9ibWF0Y2goU1dJVENILCBSRTEsIFZB
TDEsIFJFMiwgVkFMMiwgLi4uLCBERUZBVUxUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBtNCBlcXVpdmFsZW50IG9mCi0jCi0jIGlm
IChTV0lUQ0ggPX4gUkUxKQotIyAgIFZBTDE7Ci0jIGVsaWYgKFNXSVRDSCA9fiBSRTIpCi0jICAg
VkFMMjsKLSMgZWxpZiAuLi4KLSMgICAuLi4KLSMgZWxzZQotIyAgIERFRkFVTFQKLSMKLSMgV2Ug
YnVpbGQgdGhlIHRlbXBvcmFyeSBtYWNybyBfbTRfYjoKLSMgICBtNF9kZWZpbmUoW19tNF9iXSwg
X200X2RlZm4oW19tNF9ibWF0Y2hdKSlfbTRfYihbJDFdLCBbJDJdLCBbJDNdKS4uLgotIyAgIF9t
NF9iKFskMV0sIFskbS0xXSwgWyRtXSlfbTRfYihbXSwgW10sIFskbSsxXV9tNF9wb3BkZWYoW19t
NF9iXSkpCi0jIHRoZW4gaW52b2tlIG00X3VucXVvdGUoX200X2IoJEApKSwgZm9yIGNvbmNhdGVu
YXRpb24gd2l0aCBsYXRlciB0ZXh0LgotbTRfZGVmaW5lKFttNF9ibWF0Y2hdLAotW200X2lmKFsk
I10sIDAsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkI10pXSwKLSAgICAgICBb
JCNdLCAxLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCM6ICQxXSldLAotICAg
ICAgIFskI10sIDIsIFskMl0sCi0gICAgICAgW200X3B1c2hkZWYoW19tNF9iXSwgW200X2RlZmlu
ZShbX200X2JdLAotICBfbTRfZGVmbihbXyQwXSkpXV9tNF9mb3IoWzNdLCBtNF9ldmFsKFsoJCMg
KyAxKSAvIDIgKiAyIC0gMV0pLAotICBbMl0sIFtfJDBfKF0sIFspXSlbX200X2IoW10sIFtdLF1t
NF9kcXVvdGUoWyRdbTRfZXZhbCgKLSAgWygkIyArIDEpIC8gMiAqIDJdKSlbX200X3BvcGRlZihb
X200X2JdKSldKW00X3VucXVvdGUoX200X2IoJEApKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfYm1h
dGNoXSwKLVttNF9pZihtNF9icmVnZXhwKFskMV0sIFskMl0pLCBbLTFdLCBbXSwgW1skM11tNF9k
ZWZpbmUoWyQwXSldKV0pCi0KLW00X2RlZmluZShbX200X2JtYXRjaF9dLAotWyQwXyhbMV0sIG00
X2RlY3IoWyQxXSksIFskMV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfYm1hdGNoX19dLAotW1tfbTRf
YihbJCQxXSwgWyQkMl0sIFskJDNdKV1dKQotCi0KLSMgbTRfY29uZChURVNUMSwgVkFMMSwgSUYt
VkFMMSwgVEVTVDIsIFZBTDIsIElGLVZBTDIsIC4uLiwgW0RFRkFVTFRdKQotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jIFNpbWlsYXIgdG8gbTRfaWYsIGV4Y2VwdCB0aGF0IGVhY2ggVEVTVCBpcyBleHBhbmRlZCB3
aGVuIGVuY291bnRlcmVkLgotIyBJZiB0aGUgZXhwYW5zaW9uIG9mIFRFU1RuIG1hdGNoZXMgdGhl
IHN0cmluZyBWQUxuLCB0aGUgcmVzdWx0IGlzIElGLVZBTG4uCi0jIFRoZSByZXN1bHQgaXMgREVG
QVVMVCBpZiBubyB0ZXN0cyBwYXNzZWQuICBUaGlzIG1hY3JvIGFsbG93cwotIyBzaG9ydC1jaXJj
dWl0aW5nIG9mIGV4cGVuc2l2ZSB0ZXN0cywgd2hlcmUgaXQgcGF5cyB0byBhcnJhbmdlIHF1aWNr
Ci0jIGZpbHRlciB0ZXN0cyB0byBydW4gZmlyc3QuCi0jCi0jIG00X2NvbmQgYWxyZWFkeSBndWFy
YW50ZWVzIGVpdGhlciAzKm4gb3IgMypuICsgMSBhcmd1bWVudHMsIDEgPD0gbi4KLSMgV2Ugb25s
eSBoYXZlIHRvIHNwZWVkIHVwIF9tNF9jb25kLCBieSBidWlsZGluZyB0aGUgdGVtcG9yYXJ5IF9t
NF9jOgotIyAgIG00X2RlZmluZShbX200X2NdLCBfbTRfZGVmbihbbTRfdW5xdW90ZV0pKV9tNF9j
KFttNF9pZigoJDEpLCBbKCQyKV0sCi0jICAgW1skM11tNF9kZWZpbmUoW19tNF9jXSldKV0pX200
X2MoW200X2lmKCgkNCksIFsoJDUpXSwKLSMgICBbWyQ2XW00X2RlZmluZShbX200X2NdKV0pXSku
Li5fbTRfYyhbbTRfaWYoKCRtLTIpLCBbKCRtLTEpXSwKLSMgICBbWyRtXW00X2RlZmluZShbX200
X2NdKV0pXSlfbTRfYyhbWyRtKzFdXV9tNF9wb3BkZWYoW19tNF9jXSkpCi0jIFdlIGludm9rZSBt
NF91bnF1b3RlKF9tNF9jKCRAKSksIGZvciBjb25jYXRlbmF0aW9uIHdpdGggbGF0ZXIgdGV4dC4K
LW00X2RlZmluZShbX200X2NvbmRdLAotW200X3B1c2hkZWYoW19tNF9jXSwgW200X2RlZmluZShb
X200X2NdLAotICBfbTRfZGVmbihbbTRfdW5xdW90ZV0pKV1fbTRfZm9yKFsyXSwgbTRfZXZhbChb
JCMgLyAzICogMyAtIDFdKSwgWzNdLAotICBbJDBfKF0sIFspXSlbX200X2MoXW00X2RxdW90ZSht
NF9kcXVvdGUoCi0gIFskXW00X2V2YWwoWyQjIC8gMyAqIDMgKyAxXSkpKVtfbTRfcG9wZGVmKFtf
bTRfY10pKV0pbTRfdW5xdW90ZShfbTRfYygkQCkpXSkKLQotbTRfZGVmaW5lKFtfbTRfY29uZF9d
LAotWyQwXyhtNF9kZWNyKFskMV0pLCBbJDFdLCBtNF9pbmNyKFskMV0pKV0pCi0KLW00X2RlZmlu
ZShbX200X2NvbmRfX10sCi1bW19tNF9jKFttNF9pZigoJCQxKSwgWygkJDIpXSwgW1skJDNdbTRf
ZGVmaW5lKFtfbTRfY10pXSldKV1dKQotCi0jIG00X2JwYXRzdWJzdHMoU1RSSU5HLCBSRTEsIFNV
QlNUMSwgUkUyLCBTVUJTVDIsIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBtNCBlcXVpdmFsZW50IG9mCi0jCi0jICAgJF8gPSBT
VFJJTkc7Ci0jICAgcy9SRTEvU1VCU1QxL2c7Ci0jICAgcy9SRTIvU1VCU1QyL2c7Ci0jICAgLi4u
Ci0jCi0jIG00X2JwYXRzdWJzdHMgYWxyZWFkeSB2YWxpZGF0ZWQgYW4gb2RkIG51bWJlciBvZiBh
cmd1bWVudHM7IHdlIG9ubHkKLSMgbmVlZCB0byBzcGVlZCB1cCBfbTRfYnBhdHN1YnN0cy4gIFRv
IGF2b2lkIG5lc3RpbmcsIHdlIGJ1aWxkIHRoZQotIyB0ZW1wb3JhcnkgX200X3A6Ci0jICAgbTRf
ZGVmaW5lKFtfbTRfcF0sIFskMV0pbTRfZGVmaW5lKFtfbTRfcF0sCi0jICAgbTRfYnBhdHN1YnN0
KG00X2RxdW90ZShfbTRfZGVmbihbX200X3BdKSksIFskMl0sIFskM10pKW00X2RlZmluZShbX200
X3BdLAotIyAgIG00X2JwYXRzdWJzdChtNF9kcXVvdGUoX200X2RlZm4oW19tNF9wXSkpLCBbJDRd
LCBbJDVdKSltNF9kZWZpbmUoW19tNF9wXSwuLi4KLSMgICBtNF9icGF0c3Vic3QobTRfZHF1b3Rl
KF9tNF9kZWZuKFtfbTRfcF0pKSwgWyRtLTFdLCBbJG1dKSltNF91bnF1b3RlKAotIyAgIF9tNF9k
ZWZuKFtfbTRfcF0pX200X3BvcGRlZihbX200X3BdKSkKLW00X2RlZmluZShbX200X2JwYXRzdWJz
dHNdLAotW200X3B1c2hkZWYoW19tNF9wXSwgW200X2RlZmluZShbX200X3BdLAotICBdbTRfZHF1
b3RlKFskXTEpWyldX200X2ZvcihbM10sIFskI10sIFsyXSwgWyQwXyhdLAotICBbKV0pW200X3Vu
cXVvdGUoX200X2RlZm4oW19tNF9wXSlfbTRfcG9wZGVmKFtfbTRfcF0pKV0pX200X3AoJEApXSkK
LQotbTRfZGVmaW5lKFtfbTRfYnBhdHN1YnN0c19dLAotWyQwXyhtNF9kZWNyKFskMV0pLCBbJDFd
KV0pCi0KLW00X2RlZmluZShbX200X2JwYXRzdWJzdHNfX10sCi1bW200X2RlZmluZShbX200X3Bd
LAotbTRfYnBhdHN1YnN0KG00X2RxdW90ZShfbTRfZGVmbihbX200X3BdKSksIFskJDFdLCBbJCQy
XSkpXV0pCi0KLSMgbTRfc2hpZnRuKE4sIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmV0
dXJucyAuLi4gc2hpZnRlZCBOIHRpbWVzLiAgVXNlZnVsIGZvciByZWN1cnNpdmUgInZhcmFyZ3Mi
IGNvbnN0cnVjdHMuCi0jCi0jIG00X3NoaWZ0biBhbHJlYWR5IHZhbGlkYXRlZCBhcmd1bWVudHM7
IHdlIG9ubHkgbmVlZCB0byBzcGVlZCB1cAotIyBfbTRfc2hpZnRuLiAgSWYgTiBpcyAzLCB0aGVu
IHdlIGJ1aWxkIHRoZSB0ZW1wb3JhcnkgX200X3MsIGRlZmluZWQgYXMKLSMgICAsWyQ1XSxbJDZd
LC4uLixbJG1dX200X3BvcGRlZihbX200X3NdKQotIyBiZWZvcmUgY2FsbGluZyBtNF9zaGlmdChf
bTRfcygkQCkpLgotbTRfZGVmaW5lKFtfbTRfc2hpZnRuXSwKLVttNF9pZihtNF9pbmNyKFskMV0p
LCBbJCNdLCBbXSwgW200X3B1c2hkZWYoW19tNF9zXSwKLSAgX200X2ZvcihtNF9ldmFsKFskMSAr
IDJdKSwgWyQjXSwgWzFdLAotICBbWyxdbTRfZHF1b3RlKCRdLCBbKV0pW19tNF9wb3BkZWYoW19t
NF9zXSldKW00X3NoaWZ0KF9tNF9zKCRAKSldKV0pCi0KLSMgbTRfZG8oU1RSSU5HLCAuLi4pCi0j
IC0tLS0tLS0tLS0tLS0tLS0tLQotIyBUaGlzIG1hY3JvIGludm9rZXMgYWxsIGl0cyBhcmd1bWVu
dHMgKGluIHNlcXVlbmNlLCBvZiBjb3Vyc2UpLiAgSXQgaXMKLSMgdXNlZnVsIGZvciBtYWtpbmcg
eW91ciBtYWNyb3MgbW9yZSBzdHJ1Y3R1cmVkIGFuZCByZWFkYWJsZSBieSBkcm9wcGluZwotIyB1
bm5lY2Vzc2FyeSBkbmwncyBhbmQgaGF2ZSB0aGUgbWFjcm9zIGluZGVudGVkIHByb3Blcmx5Lgot
IwotIyBIZXJlLCB3ZSB1c2UgdGhlIHRlbXBvcmFyeSBtYWNybyBfbTRfZG8sIGRlZmluZWQgYXMK
LSMgICAkMVtdJDJbXS4uLltdJG5bXV9tNF9wb3BkZWYoW19tNF9kb10pCi1tNF9kZWZpbmUoW200
X2RvXSwKLVttNF9pZihbJCNdLCBbMF0sIFtdLAotICAgICAgIFttNF9wdXNoZGVmKFtfJDBdLCBf
bTRfZm9yKFsxXSwgWyQjXSwgWzFdLAotCQkgICBbJF0sIFtbW11dXSlbX200X3BvcGRlZihbXyQw
XSldKV8kMCgkQCldKV0pCi0KLSMgbTRfZHF1b3RlX2VsdChBUkdTKQotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIFJldHVybiBBUkdTIGFzIGFuIHVucXVvdGVkIGxpc3Qgb2YgZG91YmxlLXF1b3Rl
ZCBhcmd1bWVudHMuCi0jCi0jIF9tNF9mb3JlYWNoIHRvIHRoZSByZXNjdWUuCi1tNF9kZWZpbmUo
W200X2RxdW90ZV9lbHRdLAotW200X2lmKFskI10sIFswXSwgW10sIFtbWyQxXV1fbTRfZm9yZWFj
aChbLG00X2RxdW90ZShdLCBbKV0sICRAKV0pXSkKLQotIyBtNF9yZXZlcnNlKEFSR1MpCi0jIC0t
LS0tLS0tLS0tLS0tLS0KLSMgT3V0cHV0IEFSR1MgaW4gcmV2ZXJzZSBvcmRlci4KLSMKLSMgSW52
b2tlIF9tNF9yKCRAKSB3aXRoIHRoZSB0ZW1wb3JhcnkgX200X3IgYnVpbHQgYXMKLSMgICBbJG1d
LCBbJG0tMV0sIC4uLiwgWyQyXSwgWyQxXV9tNF9wb3BkZWYoW19tNF9yXSkKLW00X2RlZmluZShb
bTRfcmV2ZXJzZV0sCi1bbTRfaWYoWyQjXSwgWzBdLCBbXSwgWyQjXSwgWzFdLCBbWyQxXV0sCi1b
bTRfcHVzaGRlZihbX200X3JdLCBbWyQkI11dX200X2ZvcihtNF9kZWNyKFskI10pLCBbMV0sIFst
MV0sCi0gICAgW1ssIF1tNF9kcXVvdGUoJF0sIFspXSlbX200X3BvcGRlZihbX200X3JdKV0pX200
X3IoJEApXSldKQotCi0KLSMgbTRfbWFwX2FyZ3NfcGFpcihFWFBSRVNTSU9OLCBbRU5ELUVYUFIg
PSBFWFBSRVNTSU9OXSwgQVJHLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFBlcmZvcm0gYSBwYWlyd2lzZSBncm91
cGluZyBvZiBjb25zZWN1dGl2ZSBBUkdzLCBieSBleHBhbmRpbmcKLSMgRVhQUkVTU0lPTihbQVJH
MV0sIFtBUkcyXSkuICBJZiB0aGVyZSBhcmUgYW4gb2RkIG51bWJlciBvZiBBUkdzLCB0aGUKLSMg
ZmluYWwgYXJndW1lbnQgaXMgZXhwYW5kZWQgd2l0aCBFTkQtRVhQUihbQVJHbl0pLgotIwotIyBC
dWlsZCB0aGUgdGVtcG9yYXJ5IG1hY3JvIF9tNF9tYXBfYXJnc19wYWlyLCB3aXRoIHRoZSAkMihb
JG0rMV0pCi0jIG9ubHkgb3V0cHV0IGlmICQjIGlzIG9kZDoKLSMgICAkMShbJDNdLCBbJDRdKVtd
JDEoWyQ1XSwgWyQ2XSlbXS4uLiQxKFskbS0xXSwKLSMgICBbJG1dKVtdbTRfZGVmYXVsdChbJDJd
LCBbJDFdKShbJG0rMV0pW11fbTRfcG9wZGVmKFtfbTRfbWFwX2FyZ3NfcGFpcl0pCi1tNF9kZWZp
bmUoW200X21hcF9hcmdzX3BhaXJdLAotW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFskMDog
dG9vIGZldyBhcmd1bWVudHM6ICQjXSldLAotICAgICAgIFskI10sIFsxXSwgW200X2ZhdGFsKFsk
MDogdG9vIGZldyBhcmd1bWVudHM6ICQjOiAkMV0pXSwKLSAgICAgICBbJCNdLCBbMl0sIFtdLAot
ICAgICAgIFskI10sIFszXSwgW200X2RlZmF1bHQoWyQyXSwgWyQxXSkoWyQzXSlbXV0sCi0gICAg
ICAgW200X3B1c2hkZWYoW18kMF0sIF9tNF9mb3IoWzNdLAotICAgbTRfZXZhbChbJCMgLyAyICog
MiAtIDFdKSwgWzJdLCBbXyQwXyhdLCBbKV0pXyQwX2VuZCgKLSAgIFsxXSwgWzJdLCBbJCNdKVtf
bTRfcG9wZGVmKFtfJDBdKV0pXyQwKCRAKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfbWFwX2FyZ3Nf
cGFpcl9dLAotWyQwXyhbMV0sIFskMV0sIG00X2luY3IoWyQxXSkpXSkKLQotbTRfZGVmaW5lKFtf
bTRfbWFwX2FyZ3NfcGFpcl9fXSwKLVtbJCQxKFskJDJdLCBbJCQzXSlbXV1dKQotCi1tNF9kZWZp
bmUoW19tNF9tYXBfYXJnc19wYWlyX2VuZF0sCi1bbTRfaWYobTRfZXZhbChbJDMgJiAxXSksIFsx
XSwgW1ttNF9kZWZhdWx0KFskJDJdLCBbJCQxXSkoWyQkM10pW11dXSldKQotCi0jIG00X2pvaW4o
U0VQLCBBUkcxLCBBUkcyLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUHJv
ZHVjZSBBUkcxU0VQQVJHMi4uLlNFUEFSR24uICBBdm9pZCBiYWNrLXRvLWJhY2sgU0VQIHdoZW4g
YSBnaXZlbiBBUkcKLSMgaXMgdGhlIGVtcHR5IHN0cmluZy4gIE5vIGV4cGFuc2lvbiBpcyBwZXJm
b3JtZWQgb24gU0VQIG9yIEFSR3MuCi0jCi0jIFVzZSBhIHNlbGYtbW9kaWZ5aW5nIHNlcGFyYXRv
ciwgc2luY2Ugd2UgZG9uJ3Qga25vdyBob3cgbWFueQotIyBhcmd1bWVudHMgbWlnaHQgYmUgc2tp
cHBlZCBiZWZvcmUgYSBzZXBhcmF0b3IgaXMgZmlyc3QgcHJpbnRlZCwgYnV0Ci0jIGJlIGNhcmVm
dWwgaWYgdGhlIHNlcGFyYXRvciBjb250YWlucyAkLiAgX200X2ZvcmVhY2ggdG8gdGhlIHJlc2N1
ZS4KLW00X2RlZmluZShbbTRfam9pbl0sCi1bbTRfcHVzaGRlZihbX200X3NlcF0sIFttNF9kZWZp
bmUoW19tNF9zZXBdLCBfbTRfZGVmbihbbTRfZWNob10pKV0pXWRubAotW19tNF9mb3JlYWNoKFtf
JDAoWyQxXSxdLCBbKV0sICRAKV9tNF9wb3BkZWYoW19tNF9zZXBdKV0pCi0KLW00X2RlZmluZShb
X200X2pvaW5dLAotW200X2lmKFskMl0sIFtdLCBbXSwgW19tNF9zZXAoWyQxXSlbJDJdXSldKQot
Ci0jIG00X2pvaW5hbGwoU0VQLCBBUkcxLCBBUkcyLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgUHJvZHVjZSBBUkcxU0VQQVJHMi4uLlNFUEFSR24uICBBbiBlbXB0eSBB
UkcgcmVzdWx0cyBpbiBiYWNrLXRvLWJhY2sgU0VQLgotIyBObyBleHBhbnNpb24gaXMgcGVyZm9y
bWVkIG9uIFNFUCBvciBBUkdzLgotIwotIyBBIGJpdCBlYXNpZXIgdGhhbiBtNF9qb2luLiAgX200
X2ZvcmVhY2ggdG8gdGhlIHJlc2N1ZS4KLW00X2RlZmluZShbbTRfam9pbmFsbF0sCi1bWyQyXW00
X2lmKG00X2V2YWwoWyQjIDw9IDJdKSwgWzFdLCBbXSwKLQkgICBbX200X2ZvcmVhY2goWyQxXSwg
W10sIG00X3NoaWZ0KCRAKSldKV0pCi0KLSMgbTRfbGlzdF9jbXAoQSwgQikKLSMgLS0tLS0tLS0t
LS0tLS0tLS0KLSMgQ29tcGFyZSB0aGUgdHdvIGxpc3RzIG9mIGludGVnZXIgZXhwcmVzc2lvbnMg
QSBhbmQgQi4KLSMKLSMgbTRfbGlzdF9jbXAgdGFrZXMgY2FyZSBvZiBhbnkgc2lkZSBlZmZlY3Rz
OyB3ZSBvbmx5IG92ZXJyaWRlCi0jIF9tNF9saXN0X2NtcF9yYXcsIHdoZXJlIHdlIGNhbiBzYWZl
bHkgZXhwYW5kIGxpc3RzIG11bHRpcGxlIHRpbWVzLgotIyBGaXJzdCwgaW5zZXJ0IHBhZGRpbmcg
c28gdGhhdCBib3RoIGxpc3RzIGFyZSB0aGUgc2FtZSBsZW5ndGg7IHRoZQotIyB0cmFpbGluZyAr
MCBpcyBuZWNlc3NhcnkgdG8gaGFuZGxlIGEgbWlzc2luZyBsaXN0LiAgTmV4dCwgY3JlYXRlIGEK
LSMgdGVtcG9yYXJ5IG1hY3JvIHRvIHBlcmZvcm0gcGFpcndpc2UgY29tcGFyaXNvbnMgdW50aWwg
YW4gaW5lcXVhbGl0eQotIyBpcyBmb3VuZC4gIEZvciBleGFtcGxlLCBtNF9saXN0X2NtcChbMV0s
IFsxLDJdKSBjcmVhdGVzIF9tNF9jbXAgYXMKLSMgICBtNF9pZihtNF9ldmFsKFsoJDEpICE9ICgk
MyldKSwgWzFdLCBbbTRfY21wKFskMV0sIFskM10pXSwKLSMgICAgICAgICBtNF9ldmFsKFsoJDIp
ICE9ICgkNCldKSwgWzFdLCBbbTRfY21wKFskMl0sIFskNF0pXSwKLSMgICAgICAgICBbMF1fbTRf
cG9wZGVmKFtfbTRfY21wXSkpCi0jIHRoZW4gY2FsbHMgX200X2NtcChbMSswXSwgWzAqMl0sIFsx
XSwgWzIrMF0pCi1tNF9kZWZpbmUoW19tNF9saXN0X2NtcF9yYXddLAotW200X2lmKFskMV0sIFsk
Ml0sIDAsCi0gICAgICAgW19tNF9saXN0X2NtcCgkMSswX200X2xpc3RfcGFkKG00X2NvdW50KCQx
KSwgbTRfY291bnQoJDIpKSwKLQkJICAgICAkMiswX200X2xpc3RfcGFkKG00X2NvdW50KCQyKSwg
bTRfY291bnQoJDEpKSldKV0pCi0KLW00X2RlZmluZShbX200X2xpc3RfcGFkXSwKLVttNF9pZiht
NF9ldmFsKCQxIDwgJDIpLCBbMV0sCi0gICAgICAgW19tNF9mb3IobTRfaW5jcihbJDFdKSwgWyQy
XSwgWzFdLCBbLDAqXSldKV0pCi0KLW00X2RlZmluZShbX200X2xpc3RfY21wXSwKLVttNF9wdXNo
ZGVmKFtfbTRfY21wXSwgW200X2lmKF1fbTRfZm9yKAotICAgWzFdLCBtNF9ldmFsKFskIyA+PiAx
XSksIFsxXSwgWyQwXyhdLCBbLF1tNF9ldmFsKFskIyA+PiAxXSlbKV0pWwotICAgICAgWzBdX200
X3BvcGRlZihbX200X2NtcF0pKV0pX200X2NtcCgkQCldKQotCi1tNF9kZWZpbmUoW19tNF9saXN0
X2NtcF9dLAotWyQwXyhbJDFdLCBtNF9ldmFsKFskMSArICQyXSkpXSkKLQotbTRfZGVmaW5lKFtf
bTRfbGlzdF9jbXBfX10sCi1bW200X2V2YWwoWygkJDEpICE9ICgkJDIpXSksIFsxXSwgW200X2Nt
cChbJCQxXSwgWyQkMl0pXSwKLV1dKQotCi0jIG00X21heChFWFBSLCAuLi4pCi0jIG00X21pbihF
WFBSLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0jIFJldHVybiB0aGUgZGVjaW1hbCB2YWx1
ZSBvZiB0aGUgbWF4aW11bSAob3IgbWluaW11bSkgaW4gYSBzZXJpZXMgb2YKLSMgaW50ZWdlciBl
eHByZXNzaW9ucy4KLSMKLSMgX200X2ZvcmVhY2ggdG8gdGhlIHJlc2N1ZTsgd2Ugb25seSBuZWVk
IHRvIHJlcGxhY2UgX200X21pbm1heC4gIEhlcmUsCi0jIHdlIG5lZWQgYSB0ZW1wb3JhcnkgbWFj
cm8gdG8gdHJhY2sgdGhlIGJlc3QgYW5zd2VyIHNvIGZhciwgc28gdGhhdAotIyB0aGUgZm9yZWFj
aCBleHByZXNzaW9uIGlzIHRyYWN0YWJsZS4KLW00X2RlZmluZShbX200X21pbm1heF0sCi1bbTRf
cHVzaGRlZihbX200X2Jlc3RdLCBtNF9ldmFsKFskMl0pKV9tNF9mb3JlYWNoKAotICBbbTRfZGVm
aW5lKFtfbTRfYmVzdF0sICQxKF9tNF9iZXN0LF0sIFspKV0sIG00X3NoaWZ0KCRAKSldZG5sCi1b
X200X2Jlc3RbXV9tNF9wb3BkZWYoW19tNF9iZXN0XSldKQotCi0jIG00X3NldF9hZGRfYWxsKFNF
VCwgVkFMVUUuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEFkZCBlYWNo
IFZBTFVFIGludG8gU0VULiAgVGhpcyBpcyBPKG4pIGluIHRoZSBudW1iZXIgb2YgVkFMVUVzLCBh
bmQKLSMgY2FuIGJlIGZhc3RlciB0aGFuIGNhbGxpbmcgbTRfc2V0X2FkZCBmb3IgZWFjaCBWQUxV
RS4KLSMKLSMgX200X2ZvcmVhY2ggdG8gdGhlIHJlc2N1ZS4gIElmIG5vIGRlbGV0aW9ucyBoYXZl
IG9jY3VycmVkLCB0aGVuCi0jIGF2b2lkIHRoZSBzcGVlZCBwZW5hbHR5IG9mIG00X3NldF9hZGQu
Ci1tNF9kZWZpbmUoW200X3NldF9hZGRfYWxsXSwKLVttNF9pZihbJCNdLCBbMF0sIFtdLCBbJCNd
LCBbMV0sIFtdLAotICAgICAgIFttNF9kZWZpbmUoW19tNF9zZXRfc2l6ZSgkMSldLCBtNF9ldmFs
KG00X3NldF9zaXplKFskMV0pCi0JICArIG00X2xlbihfbTRfZm9yZWFjaChtNF9pZmRlZihbX200
X3NldF9jbGVhbnVwKCQxKV0sCi0gIFtbbTRfc2V0X2FkZF1dLCBbW18kMF1dKVsoWyQxXSxdLCBb
KV0sICRAKSkpKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfc2V0X2FkZF9hbGxdLAotW200X2lmZGVm
KFtfbTRfc2V0KFskMV0sJDIpXSwgW10sCi0JICBbbTRfZGVmaW5lKFtfbTRfc2V0KFskMV0sJDIp
XSwKLQkJICAgICBbMV0pbTRfcHVzaGRlZihbX200X3NldChbJDFdKV0sIFskMl0pLV0pXSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRf
cGFydHkvbTRzdWdhci9tNHN1Z2FyLm00IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL200c3VnYXIubTQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGJiZDY5NTgzNmEyN2Q5YWIwNTk4YzM0YzY0NzM5NTVlZTY5ZjkwODQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9tNHN1Z2FyL200c3Vn
YXIubTQKKysrIC9kZXYvbnVsbApAQCAtMSwzMzA4ICswLDAgQEAKLWRpdmVydCgtMSkjICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYg
LSotCi0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEF1dG9jb25mLgotIyBCYXNlIE00IGxheWVyLgot
IyBSZXF1aXJlcyBHTlUgTTQuCi0jCi0jIENvcHlyaWdodCAoQykgMTk5OS0yMDE3IEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLgotCi0jIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEF1dG9jb25m
LiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUKLSMgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlCi0jIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCi0jIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSMgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK
LSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgVW5k
ZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJzaW9uIDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFs
Ci0jIHBlcm1pc3Npb25zIGRlc2NyaWJlZCBpbiB0aGUgQXV0b2NvbmYgQ29uZmlndXJlIFNjcmlw
dCBFeGNlcHRpb24sCi0jIHZlcnNpb24gMy4wLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbi4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYW5kIGEgY29weSBvZiB0aGUgQXV0
b2NvbmYgQ29uZmlndXJlIFNjcmlwdCBFeGNlcHRpb24gYWxvbmcgd2l0aAotIyB0aGlzIHByb2dy
YW07IHNlZSB0aGUgZmlsZXMgQ09QWUlOR3YzIGFuZCBDT1BZSU5HLkVYQ0VQVElPTgotIyByZXNw
ZWN0aXZlbHkuICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgot
Ci0jIFdyaXR0ZW4gYnkgQWtpbSBEZW1haWxsZS4KLQotIyBTZXQgdGhlIHF1b3Rlcywgd2hhdGV2
ZXIgdGhlIGN1cnJlbnQgcXVvdGluZyBzeXN0ZW0uCi1jaGFuZ2VxdW90ZSgpCi1jaGFuZ2VxdW90
ZShbLCBdKQotCi0jIFNvbWUgb2xkIG00J3MgZG9uJ3Qgc3VwcG9ydCBtNGV4aXQuICBCdXQgdGhl
eSBwcm92aWRlCi0jIGVxdWl2YWxlbnQgZnVuY3Rpb25hbGl0eSBieSBjb3JlIGR1bXBpbmcgYmVj
YXVzZSBvZiB0aGUKLSMgbG9uZyBtYWNyb3Mgd2UgZGVmaW5lLgotaWZkZWYoW19fZ251X19dLCAs
Ci1bZXJycHJpbnQoTTRzdWdhciByZXF1aXJlcyBHTlUgTTQuIEluc3RhbGwgaXQgYmVmb3JlIGlu
c3RhbGxpbmcgTTRzdWdhciBvcgotc2V0IHRoZSBNNCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBp
dHMgYWJzb2x1dGUgZmlsZSBuYW1lLikKLW00ZXhpdCgyKV0pCi0KLQotIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgMS4gU2ltdWxhdGUgLS1wcmVmaXgtYnVpbHRpbnMu
ICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0jIG00X2RlZmlu
ZQotIyBtNF9kZWZuCi0jIG00X3VuZGVmaW5lCi1kZWZpbmUoW200X2RlZmluZV0sICAgZGVmbihb
ZGVmaW5lXSkpCi1kZWZpbmUoW200X2RlZm5dLCAgICAgZGVmbihbZGVmbl0pKQotZGVmaW5lKFtt
NF91bmRlZmluZV0sIGRlZm4oW3VuZGVmaW5lXSkpCi0KLW00X3VuZGVmaW5lKFtkZWZpbmVdKQot
bTRfdW5kZWZpbmUoW2RlZm5dKQotbTRfdW5kZWZpbmUoW3VuZGVmaW5lXSkKLQotCi0jIG00X2Nv
cHkoU1JDLCBEU1QpCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0jIERlZmluZSBEU1QgYXMgdGhlIGRl
ZmluaXRpb24gb2YgU1JDLgotIyBXaGF0J3MgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbjoKLSMgMS4g
bTRfY29weShbZnJvbV0sIFt0b10pCi0jIDIuIG00X2RlZmluZShbdG9dLCBbZnJvbSgkQCldKQot
IyBXZWxsLCBvYnZpb3VzbHkgMSBpcyBtb3JlIGV4cGVuc2l2ZSBpbiBzcGFjZS4gIE1heWJlIDIg
aXMgbW9yZSBleHBlbnNpdmUKLSMgaW4gdGltZSwgYnV0IGJlY2F1c2Ugb2YgdGhlIHNwYWNlIGNv
c3Qgb2YgMSwgaXQncyBub3QgdGhhdCBvYnZpb3VzLgotIyBOZXZlcnRoZWxlc3MsIG9uZSBodWdl
IGRpZmZlcmVuY2UgaXMgdGhlIGhhbmRsaW5nIG9mIGAkMCcuICBJZiBgZnJvbScKLSMgdXNlcyBg
JDAnLCB0aGVuIHdpdGggMSwgYHRvJydzIGAkMCcgaXMgYHRvJywgd2hpbGUgaXQgaXMgYGZyb20n
IGluIDIuCi0jIFRoZSB1c2VyIHdvdWxkIGNlcnRhaW5seSBwcmVmZXIgdG8gc2VlIGB0bycuCi0j
Ci0jIFRoaXMgZGVmaW5pdGlvbiBpcyBpbiBlZmZlY3QgZHVyaW5nIG00c3VnYXIgaW5pdGlhbGl6
YXRpb24sIHdoZW4KLSMgdGhlcmUgYXJlIG5vIHB1c2hkZWYgc3RhY2tzOyBsYXRlciBvbiwgd2Ug
cmVkZWZpbmUgaXQgdG8gc29tZXRoaW5nCi0jIG1vcmUgcG93ZXJmdWwgZm9yIGFsbCBvdGhlciBj
bGllbnRzIHRvIHVzZS4KLW00X2RlZmluZShbbTRfY29weV0sCi1bbTRfZGVmaW5lKFskMl0sIG00
X2RlZm4oWyQxXSkpXSkKLQotCi0jIG00X3JlbmFtZShTUkMsIERTVCkKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBSZW5hbWUgdGhlIG1hY3JvIFNSQyB0byBEU1QuCi1tNF9kZWZpbmUoW200X3Jl
bmFtZV0sCi1bbTRfY29weShbJDFdLCBbJDJdKW00X3VuZGVmaW5lKFskMV0pXSkKLQotCi0jIG00
X3JlbmFtZV9tNChNQUNSTy1OQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmVu
YW1lIE1BQ1JPLU5BTUUgdG8gbTRfTUFDUk8tTkFNRS4KLW00X2RlZmluZShbbTRfcmVuYW1lX200
XSwKLVttNF9yZW5hbWUoWyQxXSwgW200XyQxXSldKQotCi0KLSMgbTRfY29weV91bm00KG00X01B
Q1JPLU5BTUUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBDb3B5IG00X01BQ1JP
LU5BTUUgdG8gTUFDUk8tTkFNRS4KLW00X2RlZmluZShbbTRfY29weV91bm00XSwKLVttNF9jb3B5
KFskMV0sIG00X2JwYXRzdWJzdChbJDFdLCBbXm00X1woLipcKV0sIFtbXDFdXSkpXSkKLQotCi0j
IFNvbWUgbTQgaW50ZXJuYWxzIGhhdmUgbmFtZXMgY29sbGlkaW5nIHdpdGggdG9rZW5zIHdlIG1p
Z2h0IHVzZS4KLSMgUmVuYW1lIHRoZW0gYWAgbGEgYG00IC0tcHJlZml4LWJ1aWx0aW5zJy4gIENv
bmRpdGlvbmFscyBmaXJzdCwgc2luY2UKLSMgc29tZSBzdWJzZXF1ZW50IHJlbmFtZXMgYXJlIGNv
bmRpdGlvbmFsLgotbTRfcmVuYW1lX200KFtpZmRlZl0pCi1tNF9yZW5hbWUoW2lmZWxzZV0sIFtt
NF9pZl0pCi0KLW00X3JlbmFtZV9tNChbYnVpbHRpbl0pCi1tNF9yZW5hbWVfbTQoW2NoYW5nZWNv
bV0pCi1tNF9yZW5hbWVfbTQoW2NoYW5nZXF1b3RlXSkKLW00X2lmZGVmKFtjaGFuZ2V3b3JkXSxk
bmwgY29uZGl0aW9uYWxseSBhdmFpbGFibGUgaW4gMS40LngKLVttNF91bmRlZmluZShbY2hhbmdl
d29yZF0pXSkKLW00X3JlbmFtZV9tNChbZGVidWdmaWxlXSkKLW00X3JlbmFtZV9tNChbZGVidWdt
b2RlXSkKLW00X3JlbmFtZV9tNChbZGVjcl0pCi1tNF9yZW5hbWVfbTQoW2Rpdm51bV0pCi1tNF9y
ZW5hbWVfbTQoW2R1bXBkZWZdKQotbTRfcmVuYW1lX200KFtlcnJwcmludF0pCi1tNF9yZW5hbWVf
bTQoW2VzeXNjbWRdKQotbTRfcmVuYW1lX200KFtldmFsXSkKLW00X3JlbmFtZV9tNChbZm9ybWF0
XSkKLW00X3VuZGVmaW5lKFtpbmNsdWRlXSkKLW00X3JlbmFtZV9tNChbaW5jcl0pCi1tNF9yZW5h
bWVfbTQoW2luZGV4XSkKLW00X3JlbmFtZV9tNChbaW5kaXJdKQotbTRfcmVuYW1lX200KFtsZW5d
KQotbTRfcmVuYW1lKFttNGV4aXRdLCBbbTRfZXhpdF0pCi1tNF91bmRlZmluZShbbTR3cmFwXSkK
LW00X2lmZGVmKFtta3N0ZW1wXSxkbmwgYWRkZWQgaW4gTTQgMS40LjgKLVttNF9yZW5hbWVfbTQo
W21rc3RlbXBdKQotbTRfY29weShbbTRfbWtzdGVtcF0sIFttNF9tYWtldGVtcF0pCi1tNF91bmRl
ZmluZShbbWFrZXRlbXBdKV0sCi1bbTRfcmVuYW1lX200KFttYWtldGVtcF0pCi1tNF9jb3B5KFtt
NF9tYWtldGVtcF0sIFttNF9ta3N0ZW1wXSldKQotbTRfcmVuYW1lKFtwYXRzdWJzdF0sIFttNF9i
cGF0c3Vic3RdKQotbTRfcmVuYW1lX200KFtwb3BkZWZdKQotbTRfcmVuYW1lX200KFtwdXNoZGVm
XSkKLW00X3JlbmFtZShbcmVnZXhwXSwgW200X2JyZWdleHBdKQotbTRfcmVuYW1lX200KFtzaGlm
dF0pCi1tNF91bmRlZmluZShbc2luY2x1ZGVdKQotbTRfcmVuYW1lX200KFtzdWJzdHJdKQotbTRf
aWZkZWYoW3N5bWJvbHNdLGRubCBwcmVzZW50IG9ubHkgaW4gYWxwaGEtcXVhbGl0eSAxLjRvCi1b
bTRfcmVuYW1lX200KFtzeW1ib2xzXSldKQotbTRfcmVuYW1lX200KFtzeXNjbWRdKQotbTRfcmVu
YW1lX200KFtzeXN2YWxdKQotbTRfcmVuYW1lX200KFt0cmFjZW9mZl0pCi1tNF9yZW5hbWVfbTQo
W3RyYWNlb25dKQotbTRfcmVuYW1lX200KFt0cmFuc2xpdF0pCi0KLSMgX200X2RlZm4oQVJHKQot
IyAtLS0tLS0tLS0tLS0tCi0jIF9tNF9kZWZuIGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seSAtIGl0
IGJ5cGFzc2VzIHRoZSB3cmFwcGVyLCBzbyBpdAotIyBtdXN0IG9ubHkgYmUgdXNlZCBvbiBvbmUg
YXJndW1lbnQgYXQgYSB0aW1lLCBhbmQgb25seSBvbiBtYWNyb3MKLSMga25vd24gdG8gYmUgZGVm
aW5lZC4gIE1ha2Ugc3VyZSB0aGlzIHN0aWxsIHdvcmtzIGlmIHRoZSB1c2VyIHJlbmFtZXMKLSMg
bTRfZGVmbiBidXQgbm90IF9tNF9kZWZuLgotbTRfY29weShbbTRfZGVmbl0sIFtfbTRfZGVmbl0p
Ci0KLSMgX200X2RpdmVydF9yYXcoTlVNKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tCi0jIF9tNF9k
aXZlcnRfcmF3IGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seS4gIFVzZSB0aGlzIGluc3RlYWQgb2YK
LSMgbTRfYnVpbHRpbihbZGl2ZXJ0XSwgTlVNKSwgc28gdGhhdCB0cmFjaW5nIGRpdmVyc2lvbiBm
bG93IGlzIGVhc2llci4KLW00X3JlbmFtZShbZGl2ZXJ0XSwgW19tNF9kaXZlcnRfcmF3XSkKLQot
IyBfbTRfcG9wZGVmKEFSRy4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tCi0jIF9tNF9wb3BkZWYg
aXMgZm9yIGludGVybmFsIHVzZSBvbmx5IC0gaXQgYnlwYXNzZXMgdGhlIHdyYXBwZXIsIHNvIGl0
Ci0jIG11c3Qgb25seSBiZSB1c2VkIG9uIG1hY3JvcyBrbm93biB0byBiZSBkZWZpbmVkLiAgTWFr
ZSBzdXJlIHRoaXMKLSMgc3RpbGwgd29ya3MgaWYgdGhlIHVzZXIgcmVuYW1lcyBtNF9wb3BkZWYg
YnV0IG5vdCBfbTRfcG9wZGVmLgotbTRfY29weShbbTRfcG9wZGVmXSwgW19tNF9wb3BkZWZdKQot
Ci0jIF9tNF91bmRlZmluZShBUkcuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIF9tNF91
bmRlZmluZSBpcyBmb3IgaW50ZXJuYWwgdXNlIG9ubHkgLSBpdCBieXBhc3NlcyB0aGUgd3JhcHBl
ciwgc28KLSMgaXQgbXVzdCBvbmx5IGJlIHVzZWQgb24gbWFjcm9zIGtub3duIHRvIGJlIGRlZmlu
ZWQuICBNYWtlIHN1cmUgdGhpcwotIyBzdGlsbCB3b3JrcyBpZiB0aGUgdXNlciByZW5hbWVzIG00
X3VuZGVmaW5lIGJ1dCBub3QgX200X3VuZGVmaW5lLgotbTRfY29weShbbTRfdW5kZWZpbmVdLCBb
X200X3VuZGVmaW5lXSkKLQotIyBfbTRfdW5kaXZlcnQoTlVNLi4uKQotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBfbTRfdW5kaXZlcnQgaXMgZm9yIGludGVybmFsIHVzZSBvbmx5LCBhbmQgc2hv
dWxkIGFsd2F5cyBiZSBnaXZlbgotIyBhcmd1bWVudHMuICBVc2UgdGhpcyBpbnN0ZWFkIG9mIG00
X2J1aWx0aW4oW3VuZGl2ZXJ0XSwgTlVNLi4uKSwgc28KLSMgdGhhdCB0cmFjaW5nIGRpdmVyc2lv
biBmbG93IGlzIGVhc2llci4KLW00X3JlbmFtZShbdW5kaXZlcnRdLCBbX200X3VuZGl2ZXJ0XSkK
LQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyAyLiBFcnJvciBtZXNzYWdlcy4gICMj
Ci0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLQotIyBtNF9sb2NhdGlvbgotIyAtLS0tLS0t
LS0tLQotIyBPdXRwdXQgdGhlIGN1cnJlbnQgZmlsZSwgY29sb24sIGFuZCB0aGUgY3VycmVudCBs
aW5lIG51bWJlci4KLW00X2RlZmluZShbbTRfbG9jYXRpb25dLAotW19fZmlsZV9fOl9fbGluZV9f
XSkKLQotCi0jIG00X2VycnByaW50bihNU0cpCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0jIFNhbWUg
YXMgYGVycnByaW50JywgYnV0IHdpdGggdGhlIG1pc3NpbmcgZW5kIG9mIGxpbmUuCi1tNF9kZWZp
bmUoW200X2VycnByaW50bl0sCi1bbTRfZXJycHJpbnQoWyQxCi1dKV0pCi0KLQotIyBtNF93YXJu
aW5nKE1TRykKLSMgLS0tLS0tLS0tLS0tLS0tCi0jIFdhcm4gdGhlIHVzZXIuCi1tNF9kZWZpbmUo
W200X3dhcm5pbmddLAotW200X2VycnByaW50bihtNF9sb2NhdGlvbls6IHdhcm5pbmc6ICQxXSld
KQotCi0KLSMgbTRfZmF0YWwoTVNHLCBbRVhJVC1TVEFUVVNdKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0jIEZhdGFsIHRoZSB1c2VyLiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDopCi1tNF9kZWZpbmUoW200X2ZhdGFsXSwKLVtt
NF9lcnJwcmludG4obTRfbG9jYXRpb25bOiBlcnJvcjogJDFdCi1tNF9leHBhbnNpb25fc3RhY2sp
bTRfZXhpdChtNF9pZihbJDJdLCwgMSwgWyQyXSkpXSkKLQotCi0jIG00X2Fzc2VydChFWFBSRVNT
SU9OLCBbRVhJVC1TVEFUVVMgPSAxXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotIyBUaGlzIG1hY3JvIGVuc3VyZXMgdGhhdCBFWFBSRVNTSU9OIGV2YWx1YXRl
cyB0byB0cnVlLCBhbmQgZXhpdHMgaWYKLSMgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gZmFsc2Uu
Ci1tNF9kZWZpbmUoW200X2Fzc2VydF0sCi1bbTRfaWYobTRfZXZhbChbJDFdKSwgMCwKLSAgICAg
ICBbbTRfZmF0YWwoW2Fzc2VydCBmYWlsZWQ6ICQxXSwgWyQyXSldKV0pCi0KLQotCi0jIyAtLS0t
LS0tLS0tLS0tICMjCi0jIyAzLiBXYXJuaW5ncy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tICMjCi0K
LQotIyBfbTRfd2FybihDQVRFR09SWSwgTUVTU0FHRSwgW1NUQUNLLVRSQUNFXSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFJlcG9ydCBhIE1FU1NBR0Ug
dG8gdGhlIHVzZXIgaWYgdGhlIENBVEVHT1JZIG9mIHdhcm5pbmdzIGlzIGVuYWJsZWQuCi0jIFRo
aXMgaXMgZm9yIHRyYWNlcyBvbmx5LgotIyBJZiBwcmVzZW50LCBTVEFDSy1UUkFDRSBpcyBhIFxu
LXNlcGFyYXRlZCBsaXN0IG9mICJMT0NBVElPTjogTUVTU0FHRSIsCi0jIHdoZXJlIHRoZSBsYXN0
IGxpbmUgKGFuZCBubyBvdGhlcikgZW5kcyB3aXRoICJ0aGUgdG9wIGxldmVsIi4KLSMKLSMgV2l0
aGluIG00LCB0aGUgbWFjcm8gaXMgYSBuby1vcC4gIFRoaXMgbWFjcm8gcmVhbGx5IG1hdHRlcnMK
LSMgd2hlbiBhdXRvbTR0ZSBwb3N0LXByb2Nlc3NlcyB0aGUgdHJhY2Ugb3V0cHV0LgotbTRfZGVm
aW5lKFtfbTRfd2Fybl0sIFtdKQotCi0KLSMgbTRfd2FybihDQVRFR09SWSwgTUVTU0FHRSkKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmVwb3J0IGEgTUVTU0FHRSB0byB0aGUgdXNl
ciBpZiB0aGUgQ0FURUdPUlkgb2Ygd2FybmluZ3MgaXMgZW5hYmxlZC4KLW00X2RlZmluZShbbTRf
d2Fybl0sCi1bX200X3dhcm4oWyQxXSwgWyQyXSwKLW00X2lmZGVmKFtfbTRfZXhwYW5zaW9uX3N0
YWNrXSwgW200X2V4cGFuc2lvbl9zdGFja10pKV0pCi0KLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0t
LS0tICMjCi0jIyA0LiBGaWxlIGluY2x1c2lvbi4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0t
ICMjCi0KLQotIyBXZSBhbHNvIHdhbnQgdG8gbmV1dHJhbGl6ZSBpbmNsdWRlIChhbmQgc2luY2x1
ZGUgZm9yIHN5bW1ldHJ5KSwKLSMgYnV0IHdlIHdhbnQgdG8gZXh0ZW5kIHRoZW0gc2xpZ2h0bHk6
IHdhcm4gd2hlbiBhIGZpbGUgaXMgaW5jbHVkZWQKLSMgc2V2ZXJhbCB0aW1lcy4gIFRoaXMgaXMs
IGluIGdlbmVyYWwsIGEgZGFuZ2Vyb3VzIG9wZXJhdGlvbiwgYmVjYXVzZQotIyB0b28gbWFueSBw
ZW9wbGUgZm9yZ2V0IHRvIHF1b3RlIHRoZSBmaXJzdCBhcmd1bWVudCBvZiBtNF9kZWZpbmUuCi0j
Ci0jIEZvciBpbnN0YW5jZSBpbiB0aGUgZm9sbG93aW5nIGNhc2U6Ci0jICAgbTRfZGVmaW5lKGZv
bywgW2Jhcl0pCi0jIHRoZW4gYSBzZWNvbmQgcmVhZGluZyB3aWxsIHR1cm4gaW50bwotIyAgIG00
X2RlZmluZShiYXIsIFtiYXJdKQotIyB3aGljaCBpcyBjZXJ0YWlubHkgbm90IHdoYXQgd2FzIG1l
YW50LgotCi0jIG00X2luY2x1ZGVfdW5pcXVlKEZJTEUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIERlY2xhcmUgdGhhdCB0aGUgRklMRSB3YXMgbG9hZGluZzsgYW5kIHdhcm4gaWYgaXQg
aGFzIGFscmVhZHkKLSMgYmVlbiBpbmNsdWRlZC4KLW00X2RlZmluZShbbTRfaW5jbHVkZV91bmlx
dWVdLAotW200X2lmZGVmKFttNF9pbmNsdWRlKCQxKV0sCi0JICBbbTRfd2Fybihbc3ludGF4XSwg
W2ZpbGUgYCQxJyBpbmNsdWRlZCBzZXZlcmFsIHRpbWVzXSldKWRubAotbTRfZGVmaW5lKFttNF9p
bmNsdWRlKCQxKV0pXSkKLQotCi0jIG00X2luY2x1ZGUoRklMRSkKLSMgLS0tLS0tLS0tLS0tLS0t
LQotIyBMaWtlIHRoZSBidWlsdGluIGluY2x1ZGUsIGJ1dCB3YXJucyBhZ2FpbnN0IG11bHRpcGxl
IGluY2x1c2lvbnMuCi1tNF9kZWZpbmUoW200X2luY2x1ZGVdLAotW200X2luY2x1ZGVfdW5pcXVl
KFskMV0pZG5sCi1tNF9idWlsdGluKFtpbmNsdWRlXSwgWyQxXSldKQotCi0KLSMgbTRfc2luY2x1
ZGUoRklMRSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgTGlrZSB0aGUgYnVpbHRpbiBzaW5jbHVk
ZSwgYnV0IHdhcm5zIGFnYWluc3QgbXVsdGlwbGUgaW5jbHVzaW9ucy4KLW00X2RlZmluZShbbTRf
c2luY2x1ZGVdLAotW200X2luY2x1ZGVfdW5pcXVlKFskMV0pZG5sCi1tNF9idWlsdGluKFtzaW5j
bHVkZV0sIFskMV0pXSkKLQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIwotIyMgNS4gQWRkaXRpb25hbCBicmFuY2hpbmcgY29uc3RydWN0cy4gICMjCi0jIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBCb3RoIGBtNF9pZnZh
bCcgYW5kIGBtNF9pZnNldCcgdGVzdHMgYWdhaW5zdCB0aGUgZW1wdHkgc3RyaW5nLiAgVGhlCi0j
IGRpZmZlcmVuY2UgaXMgdGhhdCBgbTRfaWZzZXQnIGlzIHNwZWNpYWxpemVkIG9uIG1hY3Jvcy4K
LSMKLSMgSW4gY2FzZSBvZiBhcmd1bWVudHMgb2YgbWFjcm9zLCBlZy4gJDEsIGl0IG1ha2VzIGxp
dHRsZSBkaWZmZXJlbmNlLgotIyBJbiB0aGUgY2FzZSBvZiBhIG1hY3JvIGBGT08nLCB5b3UgZG9u
J3Qgd2FudCB0byBjaGVjayBgbTRfaWZ2YWwoRk9PLAotIyBUUlVFKScsIGJlY2F1c2UgaWYgYEZP
TycgZXhwYW5kcyB3aXRoIGNvbW1hcywgdGhlcmUgaXMgYSBzaGlmdGluZyBvZgotIyB0aGUgYXJn
dW1lbnRzLiAgU28geW91IHdhbnQgdG8gcnVuIGBtNF9pZnZhbChbRk9PXSknLCBidXQgdGhlbiB5
b3UganVzdAotIyBjb21wYXJlIHRoZSAqc3RyaW5nKiBgRk9PJyBhZ2FpbnN0IGAnLCB3aGljaCwg
b2YgY291cnNlIGZhaWxzLgotIwotIyBTbyB5b3Ugd2FudCB0aGUgdmFyaWF0aW9uIGBtNF9pZnNl
dCcgdGhhdCBleHBlY3RzIGEgbWFjcm8gbmFtZSBhcyAkMS4KLSMgSWYgdGhpcyBtYWNybyBpcyBi
b3RoIGRlZmluZWQgYW5kIGRlZmluZWQgdG8gYSBub24gZW1wdHkgdmFsdWUsIHRoZW4KLSMgaXQg
cnVucyBUUlVFLCBldGMuCi0KLQotIyBtNF9pZmJsYW5rKENPTkQsIFtJRi1CTEFOS10sIFtJRi1U
RVhUXSkKLSMgbTRfaWZuYmxhbmsoQ09ORCwgW0lGLVRFWFRdLCBbSUYtQkxBTktdKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIENPTkQgaXMgZW1wdHks
IG9yIGNvbnNpc3RzIG9ubHkgb2YgYmxhbmtzIChzcGFjZSwgdGFiLCBuZXdsaW5lKSwKLSMgdGhl
biBleHBhbmQgSUYtQkxBTkssIG90aGVyd2lzZSBleHBhbmQgSUYtVEVYVC4gIFRoaXMgZGlmZmVy
cyBmcm9tCi0jIG00X2lmdmFsIG9ubHkgaWYgQ09ORCBoYXMganVzdCB3aGl0ZXNwYWNlLCBidXQg
aXQgaGVscHMgb3B0aW1pemUgaW4KLSMgc3BpdGUgb2YgdXNlcnMgd2hvIG1pc3Rha2VubHkgbGVh
dmUgdHJhaWxpbmcgc3BhY2UgYWZ0ZXIgd2hhdCB0aGV5Ci0jIHRob3VnaHQgd2FzIGFuIGVtcHR5
IGFyZ3VtZW50OgotIyAgIG1hY3JvKAotIyAgICAgICAgIFtdCi0jICAgICAgICApCi0jCi0jIFdy
aXRpbmcgb25lIG1hY3JvIGluIHRlcm1zIG9mIHRoZSBvdGhlciBjYXVzZXMgZXh0cmEgb3Zlcmhl
YWQsIHNvCi0jIHdlIGlubGluZSBib3RoIGRlZmluaXRpb25zLgotbTRfZGVmaW5lKFttNF9pZmJs
YW5rXSwKLVttNF9pZihtNF90cmFuc2xpdChbWyQxXV0sICBbIF1bCV1bCi1dKSwgW10sIFskMl0s
IFskM10pXSkKLQotbTRfZGVmaW5lKFttNF9pZm5ibGFua10sCi1bbTRfaWYobTRfdHJhbnNsaXQo
W1skMV1dLCAgWyBdWwldWwotXSksIFtdLCBbJDNdLCBbJDJdKV0pCi0KLQotIyBtNF9pZnZhbChD
T05ELCBbSUYtVFJVRV0sIFtJRi1GQUxTRV0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgSWYgQ09ORCBpcyBub3QgdGhlIGVtcHR5IHN0cmluZywgZXhwYW5kIElG
LVRSVUUsIG90aGVyd2lzZSBJRi1GQUxTRS4KLSMgQ29tcGFyYWJsZSB0byBtNF9pZmRlZi4KLW00
X2RlZmluZShbbTRfaWZ2YWxdLAotW200X2lmKFskMV0sIFtdLCBbJDNdLCBbJDJdKV0pCi0KLQot
IyBtNF9uKFRFWFQpCi0jIC0tLS0tLS0tLS0KLSMgSWYgVEVYVCBpcyBub3QgZW1wdHksIHJldHVy
biBURVhUIGFuZCBhIG5ldyBsaW5lLCBvdGhlcndpc2Ugbm90aGluZy4KLW00X2RlZmluZShbbTRf
bl0sCi1bbTRfaWYoWyQxXSwKLSAgICAgICBbXSwgW10sCi0JICAgWyQxCi1dKV0pCi0KLQotIyBt
NF9pZnZhbG4oQ09ORCwgW0lGLVRSVUVdLCBbSUYtRkFMU0VdKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTYW1lIGFzIGBtNF9pZnZhbCcsIGJ1dCBhZGQgYW4g
ZXh0cmEgbmV3bGluZSB0byBJRi1UUlVFIG9yIElGLUZBTFNFCi0jIHVubGVzcyB0aGF0IGFyZ3Vt
ZW50IGlzIGVtcHR5LgotbTRfZGVmaW5lKFttNF9pZnZhbG5dLAotW200X2lmKFskMV0sCi0gICAg
ICAgW10sICAgW200X24oWyQzXSldLAotCSAgICAgW200X24oWyQyXSldKV0pCi0KLQotIyBtNF9p
ZnNldChNQUNSTywgW0lGLVRSVUVdLCBbSUYtRkFMU0VdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBNQUNSTyBoYXMgbm8gZGVmaW5pdGlvbiwgb3Igb2Yg
aXRzIGRlZmluaXRpb24gaXMgdGhlIGVtcHR5IHN0cmluZywKLSMgZXhwYW5kIElGLUZBTFNFLCBv
dGhlcndpc2UgSUYtVFJVRS4KLW00X2RlZmluZShbbTRfaWZzZXRdLAotW200X2lmZGVmKFskMV0s
Ci0JICBbbTRfaWZ2YWwoX200X2RlZm4oWyQxXSksIFskMl0sIFskM10pXSwKLQkgIFskM10pXSkK
LQotCi0jIG00X2lmbmRlZihOQU1FLCBbSUYtTk9ULURFRklORURdLCBbSUYtREVGSU5FRF0pCi0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1tNF9kZWZp
bmUoW200X2lmbmRlZl0sCi1bbTRfaWZkZWYoWyQxXSwgWyQzXSwgWyQyXSldKQotCi0KLSMgbTRf
Y2FzZShTV0lUQ0gsIFZBTDEsIElGLVZBTDEsIFZBTDIsIElGLVZBTDIsIC4uLiwgREVGQVVMVCkK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSMgbTQgZXF1aXZhbGVudCBvZgotIyBzd2l0Y2ggKFNXSVRDSCkKLSMgewotIyAgIGNh
c2UgVkFMMToKLSMgICAgIElGLVZBTDE7Ci0jICAgICBicmVhazsKLSMgICBjYXNlIFZBTDI6Ci0j
ICAgICBJRi1WQUwyOwotIyAgICAgYnJlYWs7Ci0jICAgLi4uCi0jICAgZGVmYXVsdDoKLSMgICAg
IERFRkFVTFQ7Ci0jICAgICBicmVhazsKLSMgfS4KLSMgQWxsIHRoZSB2YWx1ZXMgYXJlIG9wdGlv
bmFsLCBhbmQgdGhlIG1hY3JvIGlzIHJvYnVzdCB0byBhY3RpdmUKLSMgc3ltYm9scyBwcm9wZXJs
eSBxdW90ZWQuCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBh
ZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW200X2Nhc2VdLAotW200X2lmKFskI10s
IDAsIFtdLAotICAgICAgIFskI10sIDEsIFtdLAotICAgICAgIFskI10sIDIsIFskMl0sCi0gICAg
ICAgWyQxXSwgWyQyXSwgWyQzXSwKLSAgICAgICBbJDAoWyQxXSwgbTRfc2hpZnQzKCRAKSldKV0p
Ci0KLQotIyBtNF9ibWF0Y2goU1dJVENILCBSRTEsIFZBTDEsIFJFMiwgVkFMMiwgLi4uLCBERUZB
VUxUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotIyBtNCBlcXVpdmFsZW50IG9mCi0jCi0jIGlmIChTV0lUQ0ggPX4gUkUxKQotIyAgIFZB
TDE7Ci0jIGVsaWYgKFNXSVRDSCA9fiBSRTIpCi0jICAgVkFMMjsKLSMgZWxpZiAuLi4KLSMgICAu
Li4KLSMgZWxzZQotIyAgIERFRkFVTFQKLSMKLSMgQWxsIHRoZSB2YWx1ZXMgYXJlIG9wdGlvbmFs
LCBhbmQgdGhlIG1hY3JvIGlzIHJvYnVzdCB0byBhY3RpdmUgc3ltYm9scwotIyBwcm9wZXJseSBx
dW90ZWQuCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1
c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW200X2JtYXRjaF0sCi1bbTRfaWYoWyQjXSwg
MCwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQjXSldLAotICAgICAgIFskI10s
IDEsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkIzogJDFdKV0sCi0gICAgICAg
WyQjXSwgMiwgWyQyXSwKLSAgICAgICBbbTRfaWYobTRfYnJlZ2V4cChbJDFdLCBbJDJdKSwgLTEs
IFskMChbJDFdLCBtNF9zaGlmdDMoJEApKV0sCi0JICAgICAgWyQzXSldKV0pCi0KLSMgbTRfYXJn
bihOLCBBUkdTLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4dHJhY3QgYXJndW1lbnQg
TiAoZ3JlYXRlciB0aGFuIDApIGZyb20gQVJHUy4gIEV4YW1wbGU6Ci0jICAgbTRfZGVmaW5lKFti
XSwgW0JdKQotIyAgIG00X2FyZ24oWzJdLCBbYV0sIFtiXSwgW2NdKSA9PiBiCi0jCi0jIFJhdGhl
ciB0aGFuIHVzaW5nIG00X2NhcihtNF9zaGlmdG4oWyQxXSwgJEApKSwgd2UgZXhwbG9pdCB0aGUg
ZmFjdCB0aGF0Ci0jIEdOVSBtNCBjYW4gZGlyZWN0bHkgcmVmZXJlbmNlIGFueSBhcmd1bWVudCwg
dGhyb3VnaCBhbiBpbmRpcmVjdCBtYWNyby4KLW00X2RlZmluZShbbTRfYXJnbl0sCi1bbTRfYXNz
ZXJ0KFswIDwgJDFdKV1kbmwKLVttNF9wdXNoZGVmKFtfJDBdLCBbX200X3BvcGRlZihbXyQwXSld
bTRfZHF1b3RlKFskXW00X2luY3IoWyQxXSkpKV8kMCgkQCldKQotCi0KLSMgbTRfY2FyKEFSR1Mu
Li4pCi0jIG00X2NkcihBUkdTLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0KLSMgTWFuaXB1bGF0ZSBt
NCBsaXN0cy4gIG00X2NhciByZXR1cm5zIHRoZSBmaXJzdCBhcmd1bWVudC4gIG00X2NkcgotIyBi
dW5kbGVzIGFsbCBidXQgdGhlIGZpcnN0IGFyZ3VtZW50IGludG8gYSBxdW90ZWQgbGlzdC4gIFRo
ZXNlIHR3bwotIyBtYWNyb3MgYXJlIGdlbmVyYWxseSB1c2VkIHdpdGggbGlzdCBhcmd1bWVudHMs
IHdpdGggcXVvdGluZyByZW1vdmVkCi0jIHRvIGJyZWFrIHRoZSBsaXN0IGludG8gbXVsdGlwbGUg
bTQgQVJHUy4KLW00X2RlZmluZShbbTRfY2FyXSwgW1skMV1dKQotbTRfZGVmaW5lKFttNF9jZHJd
LAotW200X2lmKFskI10sIDAsIFttNF9mYXRhbChbJDA6IGNhbm5vdCBiZSBjYWxsZWQgd2l0aG91
dCBhcmd1bWVudHNdKV0sCi0gICAgICAgWyQjXSwgMSwgW10sCi0gICAgICAgW200X2RxdW90ZSht
NF9zaGlmdCgkQCkpXSldKQotCi0jIF9tNF9jZHIoQVJHUy4uLikKLSMgLS0tLS0tLS0tLS0tLS0t
LQotIyBMaWtlIG00X2NkciwgZXhjZXB0IGluY2x1ZGUgYSBsZWFkaW5nIGNvbW1hIHVubGVzcyBv
bmx5IG9uZSBhcmd1bWVudAotIyByZW1haW5zLiAgV2h5PyAgQmVjYXVzZSBjb21wYXJpbmcgYSBs
YXJnZSBsaXN0IGFnYWluc3QgW10gaXMgbW9yZQotIyBleHBlbnNpdmUgaW4gZXhwYW5zaW9uIHRp
bWUgdGhhbiBjb21wYXJpbmcgdGhlIG51bWJlciBvZiBhcmd1bWVudHM7IHNvCi0jIF9tNF9jZHIg
Y2FuIGJlIHVzZWQgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHdoZW4gaXQgaXMg
dGltZQotIyB0byBlbmQgcmVjdXJzaW9uLgotbTRfZGVmaW5lKFtfbTRfY2RyXSwKLVttNF9pZihb
JCNdLCAxLCBbXSwKLSAgICAgICBbLCBtNF9kcXVvdGUobTRfc2hpZnQoJEApKV0pXSkKLQotCi0K
LSMgbTRfY29uZChURVNUMSwgVkFMMSwgSUYtVkFMMSwgVEVTVDIsIFZBTDIsIElGLVZBTDIsIC4u
LiwgW0RFRkFVTFRdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFNpbWlsYXIgdG8gbTRfaWYsIGV4Y2VwdCB0
aGF0IGVhY2ggVEVTVCBpcyBleHBhbmRlZCB3aGVuIGVuY291bnRlcmVkLgotIyBJZiB0aGUgZXhw
YW5zaW9uIG9mIFRFU1RuIG1hdGNoZXMgdGhlIHN0cmluZyBWQUxuLCB0aGUgcmVzdWx0IGlzIElG
LVZBTG4uCi0jIFRoZSByZXN1bHQgaXMgREVGQVVMVCBpZiBubyB0ZXN0cyBwYXNzZWQuICBUaGlz
IG1hY3JvIGFsbG93cwotIyBzaG9ydC1jaXJjdWl0aW5nIG9mIGV4cGVuc2l2ZSB0ZXN0cywgd2hl
cmUgaXQgcGF5cyB0byBhcnJhbmdlIHF1aWNrCi0jIGZpbHRlciB0ZXN0cyB0byBydW4gZmlyc3Qu
Ci0jCi0jIEZvciBhbiBleGFtcGxlLCBjb25zaWRlciBhIHByZXZpb3VzIGltcGxlbWVudGF0aW9u
IG9mIF9BU19RVU9URV9JRkVMU0U6Ci0jCi0jICAgIG00X2lmKG00X2luZGV4KFskMV0sIFtcXSks
IFstMV0sIFskMl0sCi0jICAgICAgICAgIG00X2V2YWwobTRfaW5kZXgoWyQxXSwgW1xcXSkgPj0g
MCksIFsxXSwgWyQyXSwKLSMgICAgICAgICAgbTRfZXZhbChtNF9pbmRleChbJDFdLCBbXCRdKSA+
PSAwKSwgWzFdLCBbJDJdLAotIyAgICAgICAgICBtNF9ldmFsKG00X2luZGV4KFskMV0sIFtcYF0p
ID49IDApLCBbMV0sIFskM10sCi0jICAgICAgICAgIG00X2V2YWwobTRfaW5kZXgoWyQxXSwgW1wi
XSkgPj0gMCksIFsxXSwgWyQzXSwKLSMgICAgICAgICAgWyQyXSkKLSMKLSMgSGVyZSwgbTRfaW5k
ZXggaXMgY29tcHV0ZWQgNSB0aW1lcywgYW5kIG00X2V2YWwgNCwgZXZlbiBpZiAkMSBjb250YWlu
cwotIyBubyBiYWNrc2xhc2guICBJdCBpcyBtb3JlIGVmZmljaWVudCB0byBkbzoKLSMKLSMgICAg
bTRfY29uZChbbTRfaW5kZXgoWyQxXSwgW1xdKV0sIFstMV0sIFskMl0sCi0jICAgICAgICAgICAg
W200X2V2YWwobTRfaW5kZXgoWyQxXSwgW1xcXSkgPj0gMCldLCBbMV0sIFskMl0sCi0jICAgICAg
ICAgICAgW200X2V2YWwobTRfaW5kZXgoWyQxXSwgW1wkXSkgPj0gMCldLCBbMV0sIFskMl0sCi0j
ICAgICAgICAgICAgW200X2V2YWwobTRfaW5kZXgoWyQxXSwgW1xgXSkgPj0gMCldLCBbMV0sIFsk
M10sCi0jICAgICAgICAgICAgW200X2V2YWwobTRfaW5kZXgoWyQxXSwgW1wiXSkgPj0gMCldLCBb
MV0sIFskM10sCi0jICAgICAgICAgICAgWyQyXSkKLSMKLSMgSW4gdGhlIGNvbW1vbiBjYXNlIG9m
ICQxIHdpdGggbm8gYmFja3NsYXNoLCBvbmx5IG9uZSBtNF9pbmRleCBleHBhbnNpb24KLSMgb2Nj
dXJzLCBhbmQgbTRfZXZhbCBpcyBhdm9pZGVkIGFsdG9nZXRoZXIuCi0jCi0jIFBsZWFzZSBrZWVw
IGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9k
ZWZpbmUoW200X2NvbmRdLAotW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFskMDogY2Fubm90
IGJlIGNhbGxlZCB3aXRob3V0IGFyZ3VtZW50c10pXSwKLSAgICAgICBbJCNdLCBbMV0sIFskMV0s
Ci0gICAgICAgbTRfZXZhbChbJCMgJSAzXSksIFsyXSwgW200X2ZhdGFsKFskMDogbWlzc2luZyBh
biBhcmd1bWVudF0pXSwKLSAgICAgICBbXyQwKCRAKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfY29u
ZF0sCi1bbTRfaWYoKCQxKSwgWygkMildLCBbJDNdLAotICAgICAgIFskI10sIFszXSwgW10sCi0g
ICAgICAgWyQjXSwgWzRdLCBbJDRdLAotICAgICAgIFskMChtNF9zaGlmdDMoJEApKV0pXSkKLQot
Ci0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyA2LiBF
bmhhbmNlZCB2ZXJzaW9uIG9mIHNvbWUgcHJpbWl0aXZlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLSMgbTRfYnBhdHN1YnN0cyhTVFJJTkcs
IFJFMSwgU1VCU1QxLCBSRTIsIFNVQlNUMiwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIG00IGVxdWl2YWxlbnQgb2YKLSMKLSMg
ICAkXyA9IFNUUklORzsKLSMgICBzL1JFMS9TVUJTVDEvZzsKLSMgICBzL1JFMi9TVUJTVDIvZzsK
LSMgICAuLi4KLSMKLSMgQWxsIHRoZSB2YWx1ZXMgYXJlIG9wdGlvbmFsLCBhbmQgdGhlIG1hY3Jv
IGlzIHJvYnVzdCB0byBhY3RpdmUgc3ltYm9scwotIyBwcm9wZXJseSBxdW90ZWQuCi0jCi0jIEkg
d291bGQgaGF2ZSBsaWtlZCB0byBuYW1lIHRoaXMgbWFjcm8gYG00X2JwYXRzdWJzdCcsIHVuZm9y
dHVuYXRlbHksCi0jIGR1ZSB0byBxdW90YXRpb24gcHJvYmxlbXMsIEkgbmVlZCB0byBkb3VibGUg
cXVvdGUgJDEgYmVsb3csIHRoZXJlZm9yZQotIyB0aGUgYW5jaG9ycyBhcmUgYnJva2VuIDooICBJ
IGNhbid0IGxldCB1c2VycyBiZSB0cmFwcGVkIGJ5IHRoYXQuCi0jCi0jIFJlY2FsbCB0aGF0IG00
X3NoaWZ0MyBhbHdheXMgcmVzdWx0cyBpbiBhbiBhcmd1bWVudC4gIEhlbmNlLCB3ZSBuZWVkCi0j
IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gYSBmaW5hbCBkZWxldGlvbiB2cy4gZW5kaW5nIHJlY3Vy
c2lvbi4KLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVz
dG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShbbTRfYnBhdHN1YnN0c10sCi1bbTRfaWYoWyQj
XSwgMCwgW200X2ZhdGFsKFskMDogdG9vIGZldyBhcmd1bWVudHM6ICQjXSldLAotICAgICAgIFsk
I10sIDEsIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkIzogJDFdKV0sCi0gICAg
ICAgWyQjXSwgMiwgW200X3VucXVvdGUobTRfYnVpbHRpbihbcGF0c3Vic3RdLCBbWyQxXV0sIFsk
Ml0pKV0sCi0gICAgICAgWyQjXSwgMywgW200X3VucXVvdGUobTRfYnVpbHRpbihbcGF0c3Vic3Rd
LCBbWyQxXV0sIFskMl0sIFskM10pKV0sCi0gICAgICAgW18kMCgkQG00X2lmKG00X2V2YWwoJCMg
JiAxKSwgMCwgWyxdKSldKV0pCi1tNF9kZWZpbmUoW19tNF9icGF0c3Vic3RzXSwKLVttNF9pZihb
JCNdLCAyLCBbJDFdLAotICAgICAgIFskMChtNF9idWlsdGluKFtwYXRzdWJzdF0sIFtbJDFdXSwg
WyQyXSwgWyQzXSksCi0JICAgbTRfc2hpZnQzKCRAKSldKV0pCi0KLQotIyBtNF9jb3B5KFNSQywg
RFNUKQotIyAtLS0tLS0tLS0tLS0tLS0tLQotIyBEZWZpbmUgdGhlIHB1c2hkZWYgc3RhY2sgRFNU
IGFzIGEgY29weSBvZiB0aGUgcHVzaGRlZiBzdGFjayBTUkM7Ci0jIGdpdmUgYW4gZXJyb3IgaWYg
RFNUIGlzIGFscmVhZHkgZGVmaW5lZC4gIFRoaXMgaXMgcGFydGljdWxhcmx5IG5pY2UKLSMgZm9y
IGNvcHlpbmcgc2VsZi1tb2RpZnlpbmcgcHVzaGRlZiBzdGFja3MsIHdoZXJlIHRoZSB0b3AgZGVm
aW5pdGlvbgotIyBpbmNsdWRlcyBvbmUtc2hvdCBpbml0aWFsaXphdGlvbiB0aGF0IGlzIGxhdGVy
IHBvcHBlZCB0byB0aGUgbm9ybWFsCi0jIGRlZmluaXRpb24uICBUaGlzIHZlcnNpb24gaW50ZW50
aW9uYWxseSBkb2VzIG5vdGhpbmcgaWYgU1JDIGlzCi0jIHVuZGVmaW5lZC4KLSMKLSMgU29tZSBt
YWNyb3Mgc2ltcGx5IGNhbid0IGJlIHJlbmFtZWQgd2l0aCB0aGlzIG1ldGhvZDogbmFtZWx5LCBh
bnl0aGluZwotIyBpbnZvbHZlZCBpbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgbTRfc3RhY2tfZm9y
ZWFjaF9zZXAuCi1tNF9kZWZpbmUoW200X2NvcHldLAotW200X2lmZGVmKFskMl0sIFttNF9mYXRh
bChbJDA6IHdvbid0IG92ZXJ3cml0ZSBkZWZpbmVkIG1hY3JvOiAkMl0pXSwKLQkgIFttNF9zdGFj
a19mb3JlYWNoX3NlcChbJDFdLCBbbTRfcHVzaGRlZihbJDJdLF0sIFspXSldKV1kbmwKLVttNF9p
ZmRlZihbbTRfbG9jYXRpb24oJDEpXSwgW200X2RlZmluZShbbTRfbG9jYXRpb24oJDIpXSwgbTRf
bG9jYXRpb24pXSldKQotCi0KLSMgbTRfY29weV9mb3JjZShTUkMsIERTVCkKLSMgbTRfcmVuYW1l
X2ZvcmNlKFNSQywgRFNUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIExpa2UgbTRf
Y29weS9tNF9yZW5hbWUsIGV4Y2VwdCBibGluZGx5IG92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgRFNU
LgotIyBOb3RlIHRoYXQgbTRfY29weV9mb3JjZSB0b2xlcmF0ZXMgdW5kZWZpbmVkIFNSQywgd2hp
bGUgbTRfcmVuYW1lX2ZvcmNlCi0jIGRvZXMgbm90LgotbTRfZGVmaW5lKFttNF9jb3B5X2ZvcmNl
XSwKLVttNF9pZmRlZihbJDJdLCBbX200X3VuZGVmaW5lKFskMl0pXSltNF9jb3B5KCRAKV0pCi0K
LW00X2RlZmluZShbbTRfcmVuYW1lX2ZvcmNlXSwKLVttNF9pZmRlZihbJDJdLCBbX200X3VuZGVm
aW5lKFskMl0pXSltNF9yZW5hbWUoJEApXSkKLQotCi0jIG00X2RlZmluZV9kZWZhdWx0KE1BQ1JP
LCBWQUxVRSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBNQUNSTyBp
cyB1bmRlZmluZWQsIHNldCBpdCB0byBWQUxVRS4KLW00X2RlZmluZShbbTRfZGVmaW5lX2RlZmF1
bHRdLAotW200X2lmbmRlZihbJDFdLCBbbTRfZGVmaW5lKCRAKV0pXSkKLQotCi0jIG00X2RlZmF1
bHQoRVhQMSwgRVhQMikKLSMgbTRfZGVmYXVsdF9uYmxhbmsoRVhQMSwgRVhQMikKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmV0dXJucyBFWFAxIGlmIG5vdCBlbXB0eS9ibGFu
aywgb3RoZXJ3aXNlIEVYUDIuICBFeHBhbmQgdGhlIHJlc3VsdC4KLSMKLSMgbTRfZGVmYXVsdCBp
cyBjYWxsZWQgb24gaG90IHBhdGhzLCBzbyBpbmxpbmUgdGhlIGNvbnRlbnRzIG9mIG00X2lmdmFs
LAotIyBmb3Igb25lIGxlc3Mgcm91bmQgb2YgZXhwYW5zaW9uLgotbTRfZGVmaW5lKFttNF9kZWZh
dWx0XSwKLVttNF9pZihbJDFdLCBbXSwgWyQyXSwgWyQxXSldKQotCi1tNF9kZWZpbmUoW200X2Rl
ZmF1bHRfbmJsYW5rXSwKLVttNF9pZmJsYW5rKFskMV0sIFskMl0sIFskMV0pXSkKLQotCi0jIG00
X2RlZmF1bHRfcXVvdGVkKEVYUDEsIEVYUDIpCi0jIG00X2RlZmF1bHRfbmJsYW5rX3F1b3RlZChF
WFAxLCBFWFAyKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmV0
dXJucyBFWFAxIGlmIG5vbiBlbXB0eS9ibGFuaywgb3RoZXJ3aXNlIEVYUDIuICBMZWF2ZSB0aGUg
cmVzdWx0IHF1b3RlZC4KLSMKLSMgRm9yIGNvbXBhcmlzb246Ci0jICAgbTRfZGVmaW5lKFthY3Rp
dmVdLCBbQUNUSVZFXSkKLSMgICBtNF9kZWZhdWx0KFthY3RpdmVdLCBbZGVmYXVsdF0pID0+IEFD
VElWRQotIyAgIG00X2RlZmF1bHQoW10sIFthY3RpdmVdKSA9PiBBQ1RJVkUKLSMgICAtbTRfZGVm
YXVsdChbIF0sIFthY3RpdmVdKS0gPT4gLSAtCi0jICAgLW00X2RlZmF1bHRfbmJsYW5rKFsgXSwg
W2FjdGl2ZV0pLSA9PiAtQUNUSVZFLQotIyAgIG00X2RlZmF1bHRfcXVvdGVkKFthY3RpdmVdLCBb
ZGVmYXVsdF0pID0+IGFjdGl2ZQotIyAgIG00X2RlZmF1bHRfcXVvdGVkKFtdLCBbYWN0aXZlXSkg
PT4gYWN0aXZlCi0jICAgLW00X2RlZmF1bHRfcXVvdGVkKFsgXSwgW2FjdGl2ZV0pLSA9PiAtIC0K
LSMgICAtbTRfZGVmYXVsdF9uYmxhbmtfcXVvdGVkKFsgXSwgW2FjdGl2ZV0pLSA9PiAtYWN0aXZl
LQotIwotIyBtNF9kZWZhdWx0IG1hY3JvIGlzIGNhbGxlZCBvbiBob3QgcGF0aHMsIHNvIGlubGlu
ZSB0aGUgY29udGVudHMgb2YgbTRfaWZ2YWwsCi0jIGZvciBvbmUgbGVzcyByb3VuZCBvZiBleHBh
bnNpb24uCi1tNF9kZWZpbmUoW200X2RlZmF1bHRfcXVvdGVkXSwKLVttNF9pZihbJDFdLCBbXSwg
W1skMl1dLCBbWyQxXV0pXSkKLQotbTRfZGVmaW5lKFttNF9kZWZhdWx0X25ibGFua19xdW90ZWRd
LAotW200X2lmYmxhbmsoWyQxXSwgW1skMl1dLCBbWyQxXV0pXSkKLQotCi0jIG00X2RlZm4oTkFN
RSkKLSMgLS0tLS0tLS0tLS0tLQotIyBMaWtlIHRoZSBvcmlnaW5hbCwgZXhjZXB0IGd1YXJhbnRl
ZSBhIHdhcm5pbmcgd2hlbiB1c2luZyBzb21ldGhpbmcgd2hpY2ggaXMKLSMgdW5kZWZpbmVkICh1
bmxpa2UgTTQgMS40LngpLiAgVGhpcyByZXBsYWNlbWVudCBpcyBub3QgYSBmdWxsLWZlYXR1cmVk
Ci0jIHJlcGxhY2VtZW50OiBpZiBhbnkgb2YgdGhlIGRlZmluZWQgbWFjcm9zIGNvbnRhaW4gdW5i
YWxhbmNlZCBxdW90aW5nLCBidXQKLSMgd2hlbiBwYXN0ZWQgdG9nZXRoZXIgcmVzdWx0IGluIGEg
d2VsbC1xdW90ZWQgc3RyaW5nLCB0aGVuIG9ubHkgbmF0aXZlIG00Ci0jIHN1cHBvcnQgaXMgYWJs
ZSB0byBnZXQgaXQgY29ycmVjdC4gIEJ1dCB0aGF0J3Mgd2hlcmUgcXVhZHJpZ3JhcGhzIGNvbWUg
aW4KLSMgaGFuZHksIGlmIHlvdSByZWFsbHkgbmVlZCB1bmJhbGFuY2VkIHF1b3RlcyBpbnNpZGUg
eW91ciBtYWNyb3MuCi0jCi0jIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGZyZXF1ZW50bHksIHNvIG1p
bmltaXplIHRoZSBhbW91bnQgb2YgYWRkaXRpb25hbAotIyBleHBhbnNpb25zIGJ5IHNraXBwaW5n
IG00X2lmbmRlZi4gIEJldHRlciB5ZXQsIGlmIF9fbTRfdmVyc2lvbl9fIGV4aXN0cywKLSMgKGFk
ZGVkIGluIE00IDEuNiksIHRoZW4gbGV0IG00IGRvIHRoZSBqb2IgZm9yIHVzIChzZWUgbTRfaW5p
dCkuCi1tNF9kZWZpbmUoW200X2RlZm5dLAotW200X2lmKFskI10sIFswXSwgW1skMF1dLAotICAg
ICAgIFskI10sIFsxXSwgW200X2lmZGVmKFskMV0sIFtfbTRfZGVmbihbJDFdKV0sCi0JCQkgICAg
W200X2ZhdGFsKFskMDogdW5kZWZpbmVkIG1hY3JvOiAkMV0pXSldLAotICAgICAgIFttNF9tYXBf
YXJncyhbJDBdLCAkQCldKV0pCi0KLQotIyBtNF9kdW1wZGVmKE5BTUUuLi4pCi0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0KLSMgSW4gbTQgMS40LngsIGR1bXBkZWYgd3JpdGVzIHRvIHRoZSBjdXJyZW50
IGRlYnVnZmlsZSwgcmF0aGVyIHRoYW4KLSMgc3RkZXJyLiAgVGhpcyBpbiB0dXJuIHJveWFsbHkg
Y29uZnVzZXMgYXV0b200dGU7IHNvIHdlIGZvbGxvdyB0aGUKLSMgbGVhZCBvZiBuZXdlciBtNCBh
bmQgYWx3YXlzIGR1bXAgdG8gc3RkZXJyLiAgVW5saWtlIHRoZSBvcmlnaW5hbCwKLSMgdGhpcyB2
ZXJzaW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50LCBzaW5jZSB0aGVyZSBpcyBubyBjb252ZW5pZW50
IHdheQotIyBpbiBtNCAxLjQueCB0byBncmFiIHRoZSBuYW1lcyBvZiBhbGwgZGVmaW5lZCBtYWNy
b3MuICBOZXdlciBtNAotIyBhbHdheXMgZHVtcHMgdG8gc3RkZXJyLCByZWdhcmRsZXNzIG9mIHRo
ZSBjdXJyZW50IGRlYnVnZmlsZTsgaXQgYWxzbwotIyBwcm92aWRlcyBtNHN5bWJvbHMgYXMgYSB3
YXkgdG8gZ3JhYiBhbGwgY3VycmVudCBtYWNybyBuYW1lcy4gIEJ1dAotIyBkdW1wZGVmcyBpcyBu
b3QgZnJlcXVlbnRseSBjYWxsZWQsIHNvIHdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQKLSMg
Y29uZGl0aW9uYWxseSB1c2luZyB0aGVzZSBuZXdlciBmZWF0dXJlcy4gIEFsc28sIHRoaXMgdmVy
c2lvbgotIyBkb2Vzbid0IHNvcnQgbXVsdGlwbGUgYXJndW1lbnRzLgotIwotIyBJZiB3ZSBkZXRl
Y3QgbTQgMS42IG9yIG5ld2VyLCB0aGVuIHByb3ZpZGUgYW4gYWx0ZXJuYXRlIGRlZmluaXRpb24s
Ci0jIGluc3RhbGxlZCBkdXJpbmcgbTRfaW5pdCwgdGhhdCBhbGxvd3MgYnVpbHRpbnMgdGhyb3Vn
aC4KLSMgVW5mb3J0dW5hdGVseSwgdGhlcmUgaXMgbm8gbmljZSB3YXkgaW4gbTQgMS40LnggdG8g
ZHVtcCBidWlsdGlucy4KLW00X2RlZmluZShbbTRfZHVtcGRlZl0sCi1bbTRfaWYoWyQjXSwgWzBd
LCBbbTRfZmF0YWwoWyQwOiBtaXNzaW5nIGFyZ3VtZW50XSldLAotICAgICAgIFskI10sIFsxXSwg
W200X2lmZGVmKFskMV0sIFttNF9lcnJwcmludG4oCi0gIFskMToJXW00X2RxdW90ZShfbTRfZGVm
bihbJDFdKSkpXSwgW200X2ZhdGFsKFskMDogdW5kZWZpbmVkIG1hY3JvOiAkMV0pXSldLAotICAg
ICAgIFttNF9tYXBfYXJncyhbJDBdLCAkQCldKV0pCi0KLW00X2RlZmluZShbX200X2R1bXBkZWZd
LAotW200X2lmKFskI10sIFswXSwgW200X2ZhdGFsKFskMDogbWlzc2luZyBhcmd1bWVudF0pXSwK
LSAgICAgICBbJCNdLCBbMV0sIFttNF9idWlsdGluKFtkdW1wZGVmXSwgWyQxXSldLAotICAgICAg
IFttNF9tYXBfYXJnc19zZXAoW200X2J1aWx0aW4oW2R1bXBkZWZdLF0sIFspXSwgW10sICRAKV0p
XSkKLQotCi0jIG00X2R1bXBkZWZzKE5BTUUuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IFNpbWlsYXIgdG8gYG00X2R1bXBkZWYoTkFNRSknLCBidXQgaWYgTkFNRSB3YXMgbTRfcHVzaGRl
ZidlZCwgZGlzcGxheSBpdHMKLSMgdmFsdWUgc3RhY2sgKG1vc3QgcmVjZW50IGRpc3BsYXllZCBm
aXJzdCkuICBBbHNvLCB0aGlzIHZlcnNpb24gc2lsZW50bHkKLSMgaWdub3JlcyB1bmRlZmluZWQg
bWFjcm9zLCByYXRoZXIgdGhhbiBlcnJvcmluZyBvdXQuCi0jCi0jIFRoaXMgbWFjcm8gY2hlYXRz
LCBiZWNhdXNlIGl0IHJlbGllcyBvbiB0aGUgY3VycmVudCBkZWZpbml0aW9uIG9mIE5BTUUKLSMg
d2hpbGUgdGhlIHNlY29uZCBhcmd1bWVudCBvZiBtNF9zdGFja19mb3JlYWNoX2xpZm8gaXMgZXZh
bHVhdGVkICh3aGljaAotIyB3b3VsZCBiZSB1bmRlZmluZWQgYWNjb3JkaW5nIHRvIHRoZSBBUEkp
LgotbTRfZGVmaW5lKFttNF9kdW1wZGVmc10sCi1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwo
WyQwOiBtaXNzaW5nIGFyZ3VtZW50XSldLAotICAgICAgIFskI10sIFsxXSwgW200X3N0YWNrX2Zv
cmVhY2hfbGlmbyhbJDFdLCBbbTRfZHVtcGRlZihbJDFdKW00X2lnbm9yZV0pXSwKLSAgICAgICBb
bTRfbWFwX2FyZ3MoWyQwXSwgJEApXSldKQotCi0jIG00X2VzeXNjbWRfcyhDT01NQU5EKQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTGlrZSBtNF9lc3lzY21kLCBleGNlcHQgc3RyaXAgYW55
IHRyYWlsaW5nIG5ld2xpbmVzLCB0aHVzIGJlaGF2aW5nCi0jIG1vcmUgbGlrZSBzaGVsbCBjb21t
YW5kIHN1YnN0aXR1dGlvbi4KLW00X2RlZmluZShbbTRfZXN5c2NtZF9zXSwKLVttNF9jaG9tcF9h
bGwobTRfZXN5c2NtZChbJDFdKSldKQotCi0KLSMgbTRfcG9wZGVmKE5BTUUpCi0jIC0tLS0tLS0t
LS0tLS0tLQotIyBMaWtlIHRoZSBvcmlnaW5hbCwgZXhjZXB0IGd1YXJhbnRlZSBhIHdhcm5pbmcg
d2hlbiB1c2luZyBzb21ldGhpbmcgd2hpY2ggaXMKLSMgdW5kZWZpbmVkICh1bmxpa2UgTTQgMS40
LngpLgotIwotIyBUaGlzIG1hY3JvIGlzIGNhbGxlZCBmcmVxdWVudGx5LCBzbyBtaW5pbWl6ZSB0
aGUgYW1vdW50IG9mIGFkZGl0aW9uYWwKLSMgZXhwYW5zaW9ucyBieSBza2lwcGluZyBtNF9pZm5k
ZWYuICBCZXR0ZXIgeWV0LCBpZiBfX200X3ZlcnNpb25fXyBleGlzdHMsCi0jIChhZGRlZCBpbiBN
NCAxLjYpLCB0aGVuIGxldCBtNCBkbyB0aGUgam9iIGZvciB1cyAoc2VlIG00X2luaXQpLgotbTRf
ZGVmaW5lKFttNF9wb3BkZWZdLAotW200X2lmKFskI10sIFswXSwgW1skMF1dLAotICAgICAgIFsk
I10sIFsxXSwgW200X2lmZGVmKFskMV0sIFtfbTRfcG9wZGVmKFskMV0pXSwKLQkJCSAgICBbbTRf
ZmF0YWwoWyQwOiB1bmRlZmluZWQgbWFjcm86ICQxXSldKV0sCi0gICAgICAgW200X21hcF9hcmdz
KFskMF0sICRAKV0pXSkKLQotCi0jIG00X3NoaWZ0bihOLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0t
LS0tCi0jIFJldHVybnMgLi4uIHNoaWZ0ZWQgTiB0aW1lcy4gIFVzZWZ1bCBmb3IgcmVjdXJzaXZl
ICJ2YXJhcmdzIiBjb25zdHJ1Y3RzLgotIwotIyBBdXRvY29uZiBkb2VzIG5vdCB1c2UgdGhpcyBt
YWNybywgYmVjYXVzZSBpdCBpcyBpbmhlcmVudGx5IHNsb3dlciB0aGFuCi0jIGNhbGxpbmcgdGhl
IGNvbW1vbiBjYXNlcyBvZiBtNF9zaGlmdDIgb3IgbTRfc2hpZnQzIGRpcmVjdGx5LiAgQnV0IGl0
Ci0jIG1pZ2h0IGFzIHdlbGwgYmUgZmFzdCBmb3Igb3RoZXIgY2xpZW50cywgc3VjaCBhcyBMaWJ0
b29sLiAgT25lIHdheSB0bwotIyBkbyB0aGlzIGlzIHRvIGV4cGFuZCAkQCBvbmx5IG9uY2UgaW4g
X200X3NoaWZ0biAob3RoZXJ3aXNlLCBmb3IgbG9uZwotIyBsaXN0cywgdGhlIGV4cGFuc2lvbiBv
ZiBtNF9pZiB0YWtlcyB0d2ljZSBhcyBtdWNoIG1lbW9yeSBhcyB3aGF0IHRoZQotIyBsaXN0IGl0
c2VsZiBvY2N1cGllcywgb25seSB0byB0aHJvdyBhd2F5IHRoZSB1bnVzZWQgYnJhbmNoKS4gIFRo
ZSBlbmQKLSMgcmVzdWx0IGlzIHN0cmljdGx5IGVxdWl2YWxlbnQgdG8KLSMgICBtNF9pZihbJDFd
LCAxLCBbbTRfc2hpZnQoLG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpXSwKLSMgICAgICAgICBbX200
X3NoaWZ0bihtNF9kZWNyKFskMV0pLCBtNF9zaGlmdChtNF9zaGlmdCgkQCkpKV0pCi0jIGJ1dCB3
aXRoIHRoZSBmaW5hbCBgbTRfc2hpZnQobTRfc2hpZnQoJEApKSknIHNoYXJlZCBiZXR3ZWVuIHRo
ZSB0d28KLSMgcGF0aHMuICBUaGUgZmlyc3QgbGVnIHVzZXMgYSBuby1vcCBtNF9zaGlmdCgsJEAp
IHRvIGJhbGFuY2Ugb3V0IHRoZSAoKS4KLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBz
eW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShbbTRfc2hpZnRu
XSwKLVttNF9hc3NlcnQoMCA8ICQxICYmICQxIDwgJCMpXyQwKCRAKV0pCi0KLW00X2RlZmluZShb
X200X3NoaWZ0bl0sCi1bbTRfaWYoWyQxXSwgMSwgW200X3NoaWZ0KF0sCi0gICAgICAgWyQwKG00
X2RlY3IoWyQxXSldKSwgbTRfc2hpZnQobTRfc2hpZnQoJEApKSldKQotCi0jIG00X3NoaWZ0Migu
Li4pCi0jIG00X3NoaWZ0MyguLi4pCi0jIC0tLS0tLS0tLS0tLS0tCi0jIFJldHVybnMgLi4uIHNo
aWZ0ZWQgdHdpY2UsIGFuZCB0aHJlZSB0aW1lcy4gIEZhc3RlciB0aGFuIG00X3NoaWZ0bi4KLW00
X2RlZmluZShbbTRfc2hpZnQyXSwgW200X3NoaWZ0KG00X3NoaWZ0KCRAKSldKQotbTRfZGVmaW5l
KFttNF9zaGlmdDNdLCBbbTRfc2hpZnQobTRfc2hpZnQobTRfc2hpZnQoJEApKSldKQotCi0jIF9t
NF9zaGlmdDIoLi4uKQotIyBfbTRfc2hpZnQzKC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tCi0jIExp
a2UgbTRfc2hpZnQyIG9yIG00X3NoaWZ0MywgZXhjZXB0IGluY2x1ZGUgYSBsZWFkaW5nIGNvbW1h
IHVubGVzcyBzaGlmdGluZwotIyBjb25zdW1lcyBhbGwgYXJndW1lbnRzLiAgV2h5PyAgQmVjYXVz
ZSBpbiByZWN1cnNpb24sIGl0IGlzIG5pY2UgdG8KLSMgZGlzdGluZ3Vpc2ggYmV0d2VlbiAxIGVs
ZW1lbnQgbGVmdCBhbmQgMCBlbGVtZW50cyBsZWZ0LCBiYXNlZCBvbiBob3cgbWFueQotIyBhcmd1
bWVudHMgdGhpcyBzaGlmdCBleHBhbmRzIHRvLgotbTRfZGVmaW5lKFtfbTRfc2hpZnQyXSwKLVtt
NF9pZihbJCNdLCBbMl0sIFtdLAotICAgICAgIFssIG00X3NoaWZ0KG00X3NoaWZ0KCRAKSldKV0p
Ci1tNF9kZWZpbmUoW19tNF9zaGlmdDNdLAotW200X2lmKFskI10sIFszXSwgW10sCi0gICAgICAg
WywgbTRfc2hpZnQobTRfc2hpZnQobTRfc2hpZnQoJEApKSldKV0pCi0KLQotIyBtNF91bmRlZmlu
ZShOQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLQotIyBMaWtlIHRoZSBvcmlnaW5hbCwgZXhjZXB0
IGd1YXJhbnRlZSBhIHdhcm5pbmcgd2hlbiB1c2luZyBzb21ldGhpbmcgd2hpY2ggaXMKLSMgdW5k
ZWZpbmVkICh1bmxpa2UgTTQgMS40LngpLgotIwotIyBUaGlzIG1hY3JvIGlzIGNhbGxlZCBmcmVx
dWVudGx5LCBzbyBtaW5pbWl6ZSB0aGUgYW1vdW50IG9mIGFkZGl0aW9uYWwKLSMgZXhwYW5zaW9u
cyBieSBza2lwcGluZyBtNF9pZm5kZWYuICBCZXR0ZXIgeWV0LCBpZiBfX200X3ZlcnNpb25fXyBl
eGlzdHMsCi0jIChhZGRlZCBpbiBNNCAxLjYpLCB0aGVuIGxldCBtNCBkbyB0aGUgam9iIGZvciB1
cyAoc2VlIG00X2luaXQpLgotbTRfZGVmaW5lKFttNF91bmRlZmluZV0sCi1bbTRfaWYoWyQjXSwg
WzBdLCBbWyQwXV0sCi0gICAgICAgWyQjXSwgWzFdLCBbbTRfaWZkZWYoWyQxXSwgW19tNF91bmRl
ZmluZShbJDFdKV0sCi0JCQkgICAgW200X2ZhdGFsKFskMDogdW5kZWZpbmVkIG1hY3JvOiAkMV0p
XSldLAotICAgICAgIFttNF9tYXBfYXJncyhbJDBdLCAkQCldKV0pCi0KLSMgX200X3dyYXAoUFJF
LCBQT1NUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEhlbHBlciBtYWNybyBmb3IgbTRfd3Jh
cCBhbmQgbTRfd3JhcF9saWZvLiAgQWxsb3dzIG5lc3RlZCBjYWxscyB0bwotIyBtNF93cmFwIHdp
dGhpbiB3cmFwcGVkIHRleHQuICBVc2UgX200X2RlZm4gYW5kIF9tNF9wb3BkZWYgZm9yIHNwZWVk
LgotbTRfZGVmaW5lKFtfbTRfd3JhcF0sCi1bbTRfaWZkZWYoWyQwX3RleHRdLAotCSAgW200X2Rl
ZmluZShbJDBfdGV4dF0sIFskMV1fbTRfZGVmbihbJDBfdGV4dF0pWyQyXSldLAotCSAgW200X2J1
aWx0aW4oW200d3JhcF0sIFttNF91bnF1b3RlKAotICBfbTRfZGVmbihbJDBfdGV4dF0pX200X3Bv
cGRlZihbJDBfdGV4dF0pKV0pbTRfZGVmaW5lKFskMF90ZXh0XSwgWyQxJDJdKV0pXSkKLQotIyBt
NF93cmFwKFRFWFQpCi0jIC0tLS0tLS0tLS0tLS0KLSMgQXBwZW5kIFRFWFQgdG8gdGhlIGxpc3Qg
b2YgaG9va3MgdG8gYmUgZXhlY3V0ZWQgYXQgdGhlIGVuZCBvZiBpbnB1dC4KLSMgV2hlcmVhcyB0
aGUgb3JkZXIgb2YgdGhlIG9yaWdpbmFsIG1heSBiZSBMSUZPIGluIHRoZSB1bmRlcmx5aW5nIG00
LAotIyB0aGlzIHZlcnNpb24gaXMgYWx3YXlzIEZJRk8uCi1tNF9kZWZpbmUoW200X3dyYXBdLAot
W19tNF93cmFwKFtdLCBbJDFbXV0pXSkKLQotIyBtNF93cmFwX2xpZm8oVEVYVCkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tCi0jIFByZXBlbmQgVEVYVCB0byB0aGUgbGlzdCBvZiBob29rcyB0byBiZSBl
eGVjdXRlZCBhdCB0aGUgZW5kIG9mIGlucHV0LgotIyBXaGVyZWFzIHRoZSBvcmRlciBvZiBtNF93
cmFwIG1heSBiZSBGSUZPIGluIHRoZSB1bmRlcmx5aW5nIG00LCB0aGlzCi0jIHZlcnNpb24gaXMg
YWx3YXlzIExJRk8uCi1tNF9kZWZpbmUoW200X3dyYXBfbGlmb10sCi1bX200X3dyYXAoWyQxW11d
KV0pCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIDcuIFF1b3RpbmcgbWFu
aXB1bGF0aW9uLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotCi0jIG00
X2FwcGx5KE1BQ1JPLCBMSVNUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSW52b2tlIE1B
Q1JPLCB3aXRoIGFyZ3VtZW50cyBwcm92aWRlZCBmcm9tIHRoZSBxdW90ZWQgbGlzdCBvZgotIyBj
b21tYS1zZXBhcmF0ZWQgcXVvdGVkIGFyZ3VtZW50cy4gIElmIExJU1QgaXMgZW1wdHksIGludm9r
ZSBNQUNSTwotIyB3aXRob3V0IGFyZ3VtZW50cy4gIFRoZSBleHBhbnNpb24gd2lsbCBub3QgYmUg
Y29uY2F0ZW5hdGVkIHdpdGgKLSMgc3Vic2VxdWVudCB0ZXh0LgotbTRfZGVmaW5lKFttNF9hcHBs
eV0sCi1bbTRfaWYoWyQyXSwgW10sIFskMV0sIFskMSgkMildKVtdXSkKLQotIyBfbTRfYXBwbHko
TUFDUk8sIExJU1QpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTGlrZSBtNF9hcHBseSwg
ZXhjZXB0IGRvIG5vdGhpbmcgaWYgTElTVCBpcyBlbXB0eS4KLW00X2RlZmluZShbX200X2FwcGx5
XSwKLVttNF9pZihbJDJdLCBbXSwgW10sIFskMSgkMilbXV0pXSkKLQotCi0jIG00X2NvdW50KEFS
R1MpCi0jIC0tLS0tLS0tLS0tLS0tCi0jIFJldHVybiBhIGNvdW50IG9mIGhvdyBtYW55IEFSR1Mg
YXJlIHByZXNlbnQuCi1tNF9kZWZpbmUoW200X2NvdW50XSwgWyQjXSkKLQotCi0jIG00X2N1cnJ5
KE1BQ1JPLCBBUkcuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFBlcmZvcm0gYXJn
dW1lbnQgY3VycnlpbmcuICBUaGUgZXhwYW5zaW9uIG9mIHRoaXMgbWFjcm8gaXMgYW5vdGhlcgot
IyBtYWNybyB0aGF0IHRha2VzIGV4YWN0bHkgb25lIGFyZ3VtZW50LCBhcHBlbmRzIGl0IHRvIHRo
ZSBlbmQgb2YgdGhlCi0jIG9yaWdpbmFsIEFSRyBsaXN0LCB0aGVuIGludm9rZXMgTUFDUk8uICBG
b3IgZXhhbXBsZToKLSMgICBtNF9jdXJyeShbbTRfY3VycnldLCBbbTRfcmV2ZXJzZV0sIFsxXSko
WzJdKShbM10pID0+IDMsIDIsIDEKLSMgTm90IHF1aXRlIGFzIHByYWN0aWNhbCBhcyBtNF9pbmNy
LCBidXQgeW91IGNvdWxkIGFsc28gZG86Ci0jICAgbTRfZGVmaW5lKFthZGRdLCBbbTRfZXZhbCgo
WyQxXSkgKyAoWyQyXSkpXSkKLSMgICBtNF9kZWZpbmUoW2FkZF9vbmVdLCBbbTRfY3VycnkoW2Fk
ZF0sIFsxXSldKQotIyAgIGFkZF9vbmUoKShbMl0pID0+IDMKLW00X2RlZmluZShbbTRfY3Vycnld
LCBbJDEobTRfc2hpZnQoJEAsKV8kMF0pCi1tNF9kZWZpbmUoW19tNF9jdXJyeV0sICAgICAgICAg
ICAgICAgW1skMV0pXSkKLQotCi0jIG00X2RvKFNUUklORywgLi4uKQotIyAtLS0tLS0tLS0tLS0t
LS0tLS0KLSMgVGhpcyBtYWNybyBpbnZva2VzIGFsbCBpdHMgYXJndW1lbnRzIChpbiBzZXF1ZW5j
ZSwgb2YgY291cnNlKS4gIEl0IGlzCi0jIHVzZWZ1bCBmb3IgbWFraW5nIHlvdXIgbWFjcm9zIG1v
cmUgc3RydWN0dXJlZCBhbmQgcmVhZGFibGUgYnkgZHJvcHBpbmcKLSMgdW5uZWNlc3NhcnkgZG5s
J3MgYW5kIGhhdmUgdGhlIG1hY3JvcyBpbmRlbnRlZCBwcm9wZXJseS4gIE5vIGNvbmNhdGVuYXRp
b24KLSMgb2NjdXJzIGFmdGVyIGEgU1RSSU5HOyB1c2UgbTRfdW5xdW90ZShtNF9qb2luKCxTVFJJ
TkcpKSBmb3IgdGhhdC4KLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGgg
YW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShbbTRfZG9dLAotW200X2lmKFsk
I10sIDAsIFtdLAotICAgICAgIFskI10sIDEsIFskMVtdXSwKLSAgICAgICBbJDFbXSQwKG00X3No
aWZ0KCRAKSldKV0pCi0KLQotIyBtNF9kcXVvdGUoQVJHUykKLSMgLS0tLS0tLS0tLS0tLS0tCi0j
IFJldHVybiBBUkdTIGFzIGEgcXVvdGVkIGxpc3Qgb2YgcXVvdGVkIGFyZ3VtZW50cy4KLW00X2Rl
ZmluZShbbTRfZHF1b3RlXSwgIFtbJEBdXSkKLQotCi0jIG00X2RxdW90ZV9lbHQoQVJHUykKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSZXR1cm4gQVJHUyBhcyBhbiB1bnF1b3RlZCBsaXN0IG9m
IGRvdWJsZS1xdW90ZWQgYXJndW1lbnRzLgotIwotIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGlu
IHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgotbTRfZGVmaW5lKFttNF9kcXVv
dGVfZWx0XSwKLVttNF9pZihbJCNdLCBbMF0sIFtdLAotICAgICAgIFskI10sIFsxXSwgW1tbJDFd
XV0sCi0gICAgICAgW1tbJDFdXSwkMChtNF9zaGlmdCgkQCkpXSldKQotCi0KLSMgbTRfZWNobyhB
UkdTKQotIyAtLS0tLS0tLS0tLS0tCi0jIFJldHVybiB0aGUgQVJHUywgd2l0aCB0aGUgc2FtZSBs
ZXZlbCBvZiBxdW90aW5nLiAgV2hpdGVzcGFjZSBhZnRlcgotIyB1bnF1b3RlZCBjb21tYXMgYXJl
IGNvbnN1bWVkLgotbTRfZGVmaW5lKFttNF9lY2hvXSwgWyRAXSkKLQotCi0jIG00X2V4cGFuZChB
UkcpCi0jIF9tNF9leHBhbmQoQVJHKQotIyAtLS0tLS0tLS0tLS0tLS0KLSMgUmV0dXJuIHRoZSBl
eHBhbnNpb24gb2YgQVJHIGFzIGEgc2luZ2xlIHN0cmluZy4gIFVubGlrZQotIyBtNF9xdW90ZSgk
MSksIHRoaXMgcHJlc2VydmVzIHdoaXRlc3BhY2UgZm9sbG93aW5nIHNpbmdsZS1xdW90ZWQKLSMg
Y29tbWFzIHRoYXQgYXBwZWFyIHdpdGhpbiBBUkcuICBJdCBhbHNvIGRlYWxzIHdpdGggc2hlbGwg
Y2FzZQotIyBzdGF0ZW1lbnRzLgotIwotIyAgIG00X2RlZmluZShbYWN0aXZlXSwgW0FDVCwgSVZF
XSkKLSMgICBtNF9kZWZpbmUoW2FjdGl2ZTJdLCBbW0FDVCwgSVZFXV0pCi0jICAgbTRfcXVvdGUo
YWN0aXZlLCBhY3RpdmUyKQotIyAgID0+IEFDVCxJVkUsQUNULCBJVkUKLSMgICBtNF9leHBhbmQo
W2FjdGl2ZSwgYWN0aXZlMl0pCi0jICAgPT4gQUNULCBJVkUsIEFDVCwgSVZFCi0jCi0jIFVuZm9y
dHVuYXRlbHksIGR1ZSB0byBsaW1pdGF0aW9ucyBpbiBtNCwgQVJHIG11c3QgZXhwYW5kIHRvCi0j
IHNvbWV0aGluZyB3aXRoIGJhbGFuY2VkIHF1b3RlcyAodXNlIHF1YWRyaWdyYXBocyB0byBnZXQg
YXJvdW5kCi0jIHRoaXMpLCBhbmQgc2hvdWxkIG5vdCBjb250YWluIHRoZSB1bmxpa2VseSBkZWxp
bWl0ZXJzIC09PHsoIG9yCi0jICl9Pj0tLiAgSXQgaXMgcG9zc2libGUgdG8gaGF2ZSB1bmJhbGFu
Y2VkIHF1b3RlZCBgKCcgb3IgYCknLCBhcyB3ZWxsCi0jIGFzIHVuYmFsYW5jZWQgdW5xdW90ZWQg
YCknLiAgbTRfZXhwYW5kIGNhbiBoYW5kbGUgdW50ZXJtaW5hdGVkCi0jIGNvbW1lbnRzIG9yIGRu
bCBvbiB0aGUgZmluYWwgbGluZSwgYXQgdGhlIGV4cGVuc2Ugb2Ygc3BlZWQ7IGl0IGFsc28KLSMg
YWlkcyBpbiBkZXRlY3RpbmcgYXR0ZW1wdHMgdG8gaW5jb3JyZWN0bHkgY2hhbmdlIHRoZSBjdXJy
ZW50Ci0jIGRpdmVyc2lvbiBpbnNpZGUgQVJHLiAgTWVhbndoaWxlLCBfbTRfZXhwYW5kIGlzIGZh
c3RlciBidXQgbXVzdCBiZQotIyBnaXZlbiBhIHRlcm1pbmF0ZWQgZXhwYW5zaW9uLCBhbmQgaGFz
IG5vIHNhZmV0eSBjaGVja3MgZm9yCi0jIG1pcy1kaXZlcnRlZCB0ZXh0LgotIwotIyBFeHBsb2l0
IHRoYXQgZXh0cmEgdW5xdW90ZWQgKCkgd2lsbCBncm91cCB1bnF1b3RlZCBjb21tYXMgYW5kIHRo
ZQotIyBmb2xsb3dpbmcgd2hpdGVzcGFjZS4gIG00X2JwYXRzdWJzdCBjYW4ndCBoYW5kbGUgbmV3
bGluZXMgaW5zaWRlICQxLAotIyBhbmQgbTRfc3Vic3RyIHN0cmlwcyBxdW90aW5nLiAgU28gd2Ug
KGFiKXVzZSBtNF9jaGFuZ2VxdW90ZSwgdXNpbmcKLSMgdGVtcG9yYXJ5IHF1b3RlcyB0byByZW1v
dmUgdGhlIGRlbGltaXRlcnMgdGhhdCBjb252ZW5pZW50bHkgaW5jbHVkZWQKLSMgdGhlIHVucXVv
dGVkICgpIHRoYXQgd2VyZSBhZGRlZCBwcmlvciB0byB0aGUgY2hhbmdlcXVvdGUuCi0jCi0jIFRo
YW5rcyB0byBzaGVsbCBjYXNlIHN0YXRlbWVudHMsIHRvbyBtYW55IHBlb3BsZSBhcmUgcHJvbmUg
dG8gcGFzcwotIyB1bmRlcnF1b3RlZCBgKScsIHNvIHdlIHRyeSB0byBkZXRlY3QgdGhhdCBieSBw
YXNzaW5nIGEgbWFya2VyIGFzIGEKLSMgZm91cnRoIGFyZ3VtZW50OyBpZiB0aGUgbWFya2VyIGlz
IG5vdCBwcmVzZW50LCB0aGVuIHdlIGFzc3VtZSB0aGF0Ci0jIHdlIGVuY291bnRlcmVkIGFuIGVh
cmx5IGApJywgYW5kIHJlLWV4cGFuZCB0aGUgZmlyc3QgYXJndW1lbnQsIGJ1dAotIyB0aGlzIHRp
bWUgd2l0aCBvbmUgbW9yZSBgKCcgaW4gdGhlIHNlY29uZCBhcmd1bWVudCBhbmQgaW4gdGhlCi0j
IG9wZW4tcXVvdGUgZGVsaW1pdGVyLiAgV2UgbXVzdCBhbHNvIGlnbm9yZSB0aGUgc2xvcCBmcm9t
IHRoZQotIyBwcmV2aW91cyB0cnkuICBUaGUgZmluYWwgbWFjcm8gaXMgdGh1cyBoYWxmIGxpbmUt
bm9pc2UsIGhhbGYgYXJ0LgotbTRfZGVmaW5lKFttNF9leHBhbmRdLAotW200X3B1c2hkZWYoW200
X2RpdmVydF0sIF9tNF9kZWZuKFtfbTRfZGl2ZXJ0X3Vuc2FmZV0pKV1kbmwKLVttNF9wdXNoZGVm
KFttNF9kaXZlcnRfcHVzaF0sIF9tNF9kZWZuKFtfbTRfZGl2ZXJ0X3Vuc2FmZV0pKV1kbmwKLVtt
NF9jaG9tcChfJDAoWyQxCi1dKSlfbTRfcG9wZGVmKFttNF9kaXZlcnRdLCBbbTRfZGl2ZXJ0X3B1
c2hdKV0pCi0KLW00X2RlZmluZShbX200X2V4cGFuZF0sIFskMF8oWyQxXSwgWyhdLCAtPTx7KCQx
KX0+PS0sIFt9Pj0tXSldKQotCi1tNF9kZWZpbmUoW19tNF9leHBhbmRfXSwKLVttNF9pZihbJDRd
LCBbfT49LV0sCi0gICAgICAgW200X2NoYW5nZXF1b3RlKFstPTx7JDJdLCBbKX0+PS1dKSQzbTRf
Y2hhbmdlcXVvdGUoWywgXSldLAotICAgICAgIFskMChbJDFdLCBbKCQyXSwgLT08eygkMiQxKX0+
PS0sIFt9Pj0tXSltNF9pZ25vcmUkMl0pXSkKLQotCi0jIG00X2lnbm9yZShBUkdTKQotIyAtLS0t
LS0tLS0tLS0tLS0KLSMgRXhwYW5kcyB0byBub3RoaW5nLiAgVXNlZnVsIGZvciBjb25kaXRpb25h
bGx5IGlnbm9yaW5nIGFuIGFyYml0cmFyeQotIyBudW1iZXIgb2YgYXJndW1lbnRzIChzZWUgX200
X2xpc3RfY21wIGZvciBhbiBleGFtcGxlKS4KLW00X2RlZmluZShbbTRfaWdub3JlXSkKLQotCi0j
IG00X21ha2VfbGlzdChBUkdTKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0KLSMgU2ltaWxhciB0byBt
NF9kcXVvdGUsIHRoaXMgY3JlYXRlcyBhIHF1b3RlZCBsaXN0IG9mIHF1b3RlZCBBUkdTLiAgVGhp
cwotIyB2ZXJzaW9uIGlzIGxlc3MgZWZmaWNpZW50IHRoYW4gbTRfZHF1b3RlLCBidXQgc2VwYXJh
dGVzIGVhY2ggYXJndW1lbnQKLSMgd2l0aCBhIGNvbW1hIGFuZCBuZXdsaW5lLCByYXRoZXIgdGhh
biBqdXN0IGNvbW1hLCBmb3IgcmVhZGFiaWxpdHkuCi0jIFdoZW4gZGV2ZWxvcGluZyBhbiBtNHN1
Z2FyIGFsZ29yaXRobSwgeW91IGNvdWxkIHRlbXBvcmFyaWx5IHVzZQotIyAgIG00X3B1c2hkZWYo
W200X2RxdW90ZV0sbTRfZGVmbihbbTRfbWFrZV9saXN0XSkpCi0jIGFyb3VuZCB5b3VyIGNvZGUg
dG8gbWFrZSBkZWJ1Z2dpbmcgZWFzaWVyLgotbTRfZGVmaW5lKFttNF9tYWtlX2xpc3RdLCBbbTRf
am9pbihbLAotXSwgbTRfZHF1b3RlX2VsdCgkQCkpXSkKLQotCi0jIG00X25vcXVvdGUoU1RSSU5H
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmV0dXJuIHRoZSByZXN1bHQgb2YgaWdub3Jpbmcg
YWxsIHF1b3RlcyBpbiBTVFJJTkcgYW5kIGludm9raW5nIHRoZQotIyBtYWNyb3MgaXQgY29udGFp
bnMuICBBbW9uZyBvdGhlciB0aGluZ3MsIHRoaXMgaXMgdXNlZnVsIGZvciBlbmFibGluZwotIyBt
YWNybyBpbnZvY2F0aW9ucyBpbnNpZGUgc3RyaW5ncyB3aXRoIFtdIGJsb2NrcyAoZm9yIGluc3Rh
bmNlIHJlZ2V4cHMKLSMgYW5kIGhlbHAtc3RyaW5ncykuICBPbiB0aGUgb3RoZXIgaGFuZCwgc2lu
Y2UgYWxsIHF1b3RlcyBhcmUgZGlzYWJsZWQsCi0jIGFueSBtYWNybyBleHBhbmRlZCBkdXJpbmcg
dGhpcyB0aW1lIHRoYXQgcmVsaWVzIG9uIG5lc3RlZCBbXSBxdW90aW5nCi0jIHdpbGwgbGlrZWx5
IGNyYXNoIGFuZCBidXJuLiAgVGhpcyBtYWNybyBpcyBzZWxkb20gdXNlZnVsOyBjb25zaWRlcgot
IyBtNF91bnF1b3RlIG9yIG00X2V4cGFuZCBpbnN0ZWFkLgotbTRfZGVmaW5lKFttNF9ub3F1b3Rl
XSwKLVttNF9jaGFuZ2VxdW90ZShbLT08eyhdLFspfT49LV0pJDEtPTx7KCl9Pj0tbTRfY2hhbmdl
cXVvdGUoWyxdKV0pCi0KLQotIyBtNF9xdW90ZShBUkdTKQotIyAtLS0tLS0tLS0tLS0tLQotIyBS
ZXR1cm4gQVJHUyBhcyBhIHNpbmdsZSBhcmd1bWVudC4gIEFueSB3aGl0ZXNwYWNlIGFmdGVyIHVu
cXVvdGVkIGNvbW1hcwotIyBpcyBzdHJpcHBlZC4gIFRoZXJlIGlzIGFsd2F5cyBvdXRwdXQsIGV2
ZW4gd2hlbiB0aGVyZSB3ZXJlIG5vIGFyZ3VtZW50cy4KLSMKLSMgSXQgaXMgaW1wb3J0YW50IHRv
IHJlYWxpemUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBgbTRfcXVvdGUoZXhwKScgYW5kCi0jIGBb
ZXhwXSc6IGluIHRoZSBmaXJzdCBjYXNlIHlvdSBvYnRhaW4gdGhlIHF1b3RlZCAqcmVzdWx0KiBv
ZiB0aGUKLSMgZXhwYW5zaW9uIG9mIEVYUCwgd2hpbGUgaW4gdGhlIGxhdHRlciB5b3UganVzdCBv
YnRhaW4gdGhlIHN0cmluZwotIyBgZXhwJy4KLW00X2RlZmluZShbbTRfcXVvdGVdLCAgW1skKl1d
KQotCi0KLSMgX200X3F1b3RlKEFSR1MpCi0jIC0tLS0tLS0tLS0tLS0tLQotIyBMaWtlIG00X3F1
b3RlLCBleGNlcHQgdGhhdCB3aGVuIHRoZXJlIGFyZSBubyBhcmd1bWVudHMsIHRoZXJlIGlzIG5v
Ci0jIG91dHB1dC4gIEZvciBjb25kaXRpb25hbCBzY2VuYXJpb3MgKHN1Y2ggYXMgcGFzc2luZyBf
bTRfcXVvdGUgYXMgdGhlCi0jIG1hY3JvIG5hbWUgaW4gbTRfbWFwYWxsKSwgdGhpcyBmZWF0dXJl
IGNhbiBiZSB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4KLSMgb25lIGFyZ3VtZW50IG9mIHRo
ZSBlbXB0eSBzdHJpbmcgdnMuIG5vIGFyZ3VtZW50cy4gIEhvd2V2ZXIsIGluIHRoZQotIyBub3Jt
YWwgY2FzZSB3aXRoIGFyZ3VtZW50cyBwcmVzZW50LCB0aGlzIGlzIGxlc3MgZWZmaWNpZW50IHRo
YW4gbTRfcXVvdGUuCi1tNF9kZWZpbmUoW19tNF9xdW90ZV0sCi1bbTRfaWYoWyQjXSwgWzBdLCBb
XSwgW1skKl1dKV0pCi0KLQotIyBtNF9yZXZlcnNlKEFSR1MpCi0jIC0tLS0tLS0tLS0tLS0tLS0K
LSMgT3V0cHV0IEFSR1MgaW4gcmV2ZXJzZSBvcmRlci4KLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFj
aC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShb
bTRfcmV2ZXJzZV0sCi1bbTRfaWYoWyQjXSwgWzBdLCBbXSwgWyQjXSwgWzFdLCBbWyQxXV0sCi0g
ICAgICAgWyQwKG00X3NoaWZ0KCRAKSksIFskMV1dKV0pCi0KLQotIyBtNF91bnF1b3RlKEFSR1Mp
Ci0jIC0tLS0tLS0tLS0tLS0tLS0KLSMgUmVtb3ZlIG9uZSBsYXllciBvZiBxdW90ZXMgZnJvbSBl
YWNoIEFSRywgcGVyZm9ybWluZyBvbmUgbGV2ZWwgb2YKLSMgZXhwYW5zaW9uLiAgRm9yIG9uZSBh
cmd1bWVudCwgbTRfdW5xdW90ZShbYXJnXSkgaXMgbW9yZSBlZmZpY2llbnQgdGhhbgotIyBtNF9k
byhbYXJnXSksIGJ1dCBmb3IgbXVsdGlwbGUgYXJndW1lbnRzLCB0aGUgZGlmZmVyZW5jZSBpcyB0
aGF0Ci0jIG00X3VucXVvdGUgc2VwYXJhdGVzIGFyZ3VtZW50cyB3aXRoIGNvbW1hcyB3aGlsZSBt
NF9kbyBjb25jYXRlbmF0ZXMuCi0jIEZvbGxvdyB0aGlzIG1hY3JvIHdpdGggW10gaWYgY29uY2F0
ZW5hdGlvbiB3aXRoIHN1YnNlcXVlbnQgdGV4dCBpcwotIyB1bmRlc2lyZWQuCi1tNF9kZWZpbmUo
W200X3VucXVvdGVdLCBbJCpdKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMj
Ci0jIyA4LiBJbXBsZW1lbnRpbmcgbTQgbG9vcHMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gIyMKLQotCi0jIG00X2ZvcihWQVJJQUJMRSwgRklSU1QsIExBU1QsIFtTVEVQID0g
Ky8tMV0sIEVYUFJFU1NJT04pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFuZCBFWFBSRVNTSU9OIGRlZmluaW5nIFZBUklB
QkxFIHRvIEZST00sIEZST00gKyAxLCAuLi4sIFRPIHdpdGgKLSMgaW5jcmVtZW50cyBvZiBTVEVQ
LiAgQm90aCBsaW1pdHMgYXJlIGluY2x1ZGVkLCBhbmQgYm91bmRzIGFyZQotIyBjaGVja2VkIGZv
ciBjb25zaXN0ZW5jeS4gIFRoZSBhbGdvcml0aG0gaXMgcm9idXN0IHRvIGluZGlyZWN0Ci0jIFZB
UklBQkxFIG5hbWVzLiAgQ2hhbmdpbmcgVkFSSUFCTEUgaW5zaWRlIEVYUFJFU1NJT04gd2lsbCBu
b3QgaW1wYWN0Ci0jIHRoZSBudW1iZXIgb2YgaXRlcmF0aW9ucy4KLSMKLSMgVXNlcyBfbTRfZGVm
biBmb3Igc3BlZWQsIGFuZCBhdm9pZCBkbmwgaW4gdGhlIG1hY3JvIGJvZHkuICBGYWN0b3IKLSMg
dGhlIF9tNF9mb3IgY2FsbCBzbyB0aGF0IEVYUFJFU1NJT04gaXMgb25seSBwYXJzZWQgb25jZS4K
LW00X2RlZmluZShbbTRfZm9yXSwKLVttNF9wdXNoZGVmKFskMV0sIG00X2V2YWwoWyQyXSkpXWRu
bAotW200X2NvbmQoW200X2V2YWwoKFskM10pID4gKFskMl0pKV0sIDEsCi0JICAgW200X3B1c2hk
ZWYoW19tNF9zdGVwXSwgbTRfZXZhbChtNF9kZWZhdWx0X3F1b3RlZChbJDRdLAotCSAgICAgIDEp
KSltNF9hc3NlcnQoX200X3N0ZXAgPiAwKV8kMChfbTRfZGVmbihbJDFdKSwKLSAgbTRfZXZhbCgo
KFskM10pIC0gKFskMl0pKSAvIF9tNF9zdGVwICogX200X3N0ZXAgKyAoWyQyXSkpLCBfbTRfc3Rl
cCxdLAotCSBbbTRfZXZhbCgoWyQzXSkgPCAoWyQyXSkpXSwgMSwKLQkgICBbbTRfcHVzaGRlZihb
X200X3N0ZXBdLCBtNF9ldmFsKG00X2RlZmF1bHRfcXVvdGVkKFskNF0sCi0JICAgICAgLTEpKSlt
NF9hc3NlcnQoX200X3N0ZXAgPCAwKV8kMChfbTRfZGVmbihbJDFdKSwKLSAgbTRfZXZhbCgoKFsk
Ml0pIC0gKFskM10pKSAvIC0oX200X3N0ZXApICogX200X3N0ZXAgKyAoWyQyXSkpLCBfbTRfc3Rl
cCxdLAotCSBbbTRfcHVzaGRlZihbX200X3N0ZXBdKV8kMChfbTRfZGVmbihbJDFdKSwgX200X2Rl
Zm4oWyQxXSksIDAsXSldZG5sCi1bW200X2RlZmluZShbJDFdLF0sIFspJDVdKW00X3BvcGRlZihb
X200X3N0ZXBdLCBbJDFdKV0pCi0KLSMgX200X2ZvcihDT1VOVCwgTEFTVCwgU1RFUCwgUFJFLCBQ
T1NUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIENvcmUgb2Yg
dGhlIGxvb3AsIG5vIGNvbnNpc3RlbmN5IGNoZWNrcywgYWxsIGFyZ3VtZW50cyBhcmUgcGxhaW4K
LSMgbnVtYmVycy4gIEV4cGFuZCBQUkVbQ09VTlRdUE9TVCwgdGhlbiBhbHRlciBDT1VOVCBieSBT
VEVQIGFuZAotIyBpdGVyYXRlIGlmIENPVU5UIGlzIG5vdCBMQVNULgotbTRfZGVmaW5lKFtfbTRf
Zm9yXSwKLVskNFskMV0kNVtdbTRfaWYoWyQxXSwgWyQyXSwgW10sCi0JCSBbJDAobTRfZXZhbChb
JDEgKyAkM10pLCBbJDJdLCBbJDNdLCBbJDRdLCBbJDVdKV0pXSkKLQotCi0jIEltcGxlbWVudGlu
ZyBgZm9yZWFjaCcgbG9vcHMgaW4gbTQgaXMgbXVjaCBtb3JlIHRyaWNreSB0aGFuIGl0IG1heQot
IyBzZWVtLiAgRm9yIGV4YW1wbGUsIHRoZSBvbGQgTTQgMS40LjQgbWFudWFsIGhhZCBhbiBpbmNv
cnJlY3QgZXhhbXBsZSwKLSMgd2hpY2ggbG9va2VkIGxpa2UgdGhpcyAod2hlbiB0cmFuc2xhdGVk
IHRvIG00c3VnYXIpOgotIwotIyB8ICMgZm9yZWFjaChWQVIsIChMSVNUKSwgU1RNVCkKLSMgfCBt
NF9kZWZpbmUoW2ZvcmVhY2hdLAotIyB8ICAgW200X3B1c2hkZWYoWyQxXSlfZm9yZWFjaChbJDFd
LCBbJDJdLCBbJDNdKW00X3BvcGRlZihbJDFdKV0pCi0jIHwgbTRfZGVmaW5lKFtfYXJnMV0sIFsk
MV0pCi0jIHwgbTRfZGVmaW5lKFtfZm9yZWFjaF0sCi0jIHwgICBbbTRfaWYoWyQyXSwgWygpXSwg
LAotIyB8ICAgICBbbTRfZGVmaW5lKFskMV0sIF9hcmcxJDIpJDNbXV9mb3JlYWNoKFskMV0sICht
NF9zaGlmdCQyKSwgWyQzXSldKV0pCi0jCi0jIEJ1dCB0aGVuIGlmIHlvdSBydW4KLSMKLSMgfCBt
NF9kZWZpbmUoYSwgMSkKLSMgfCBtNF9kZWZpbmUoYiwgMikKLSMgfCBtNF9kZWZpbmUoYywgMykK
LSMgfCBmb3JlYWNoKFtmXSwgWyhbYV0sIFsoYl0sIFtjKV0pXSwgW2VjaG8gZgotIyB8IF0pCi0j
Ci0jIGl0IGdpdmVzCi0jCi0jICA9PiBlY2hvIDEKLSMgID0+IGVjaG8gKDIsMykKLSMKLSMgd2hp
Y2ggaXMgbm90IHdoYXQgaXMgZXhwZWN0ZWQuCi0jCi0jIE9mIGNvdXJzZSB0aGUgcHJvYmxlbSBp
cyB0aGF0IG1hbnkgcXVvdGVzIGFyZSBtaXNzaW5nLiAgU28geW91IGFkZAotIyBwbGVudHkgb2Yg
cXVvdGVzIGF0IHJhbmRvbSBwbGFjZXMsIHVudGlsIHlvdSByZWFjaCB0aGUgZXhwZWN0ZWQKLSMg
cmVzdWx0LiAgQWx0ZXJuYXRpdmVseSwgaWYgeW91IGFyZSBhIHF1b3Rpbmcgd2l6YXJkLCB5b3Ug
ZGlyZWN0bHkKLSMgcmVhY2ggdGhlIGZvbGxvd2luZyBpbXBsZW1lbnRhdGlvbiAoYnV0IGlmIHlv
dSByZWFsbHkgZGlkLCB0aGVuCi0jIGFwcGx5IHRvIHRoZSBtYWludGVuYW5jZSBvZiBtNHN1Z2Fy
ISkuCi0jCi0jIHwgIyBmb3JlYWNoKFZBUiwgKExJU1QpLCBTVE1UKQotIyB8IG00X2RlZmluZShb
Zm9yZWFjaF0sIFttNF9wdXNoZGVmKFskMV0pX2ZvcmVhY2goJEApbTRfcG9wZGVmKFskMV0pXSkK
LSMgfCBtNF9kZWZpbmUoW19hcmcxXSwgW1skMV1dKQotIyB8IG00X2RlZmluZShbX2ZvcmVhY2hd
LAotIyB8ICBbbTRfaWYoJDIsIFsoKV0sICwKLSMgfCAgICBbbTRfZGVmaW5lKFskMV0sIFtfYXJn
MSQyXSkkM1tdX2ZvcmVhY2goWyQxXSwgWyhtNF9zaGlmdCQyKV0sIFskM10pXSldKQotIwotIyB3
aGljaCB0aGlzIHRpbWUgYW5zd2VycwotIwotIyAgPT4gZWNobyBhCi0jICA9PiBlY2hvIChiCi0j
ICA9PiBlY2hvIGMpCi0jCi0jIEJpbmdvIQotIwotIyBXZWxsLCBub3QgcXVpdGUuCi0jCi0jIFdp
dGggYSBiZXR0ZXIgbG9vaywgeW91IHJlYWxpemUgdGhhdCB0aGUgcGFyZW5zIGFyZSBtb3JlIGEg
cGFpbiB0aGFuCi0jIGEgaGVscDogc2luY2UgYW55d2F5IHlvdSBuZWVkIHRvIHF1b3RlIHByb3Bl
cmx5IHRoZSBsaXN0LCB5b3UgZW5kIHVwCi0jIHdpdGggYWx3YXlzIHVzaW5nIGFuIG91dGVybW9z
dCBwYWlyIG9mIHBhcmVucyBhbmQgYW4gb3V0ZXJtb3N0IHBhaXIKLSMgb2YgcXVvdGVzLiAgUmVq
ZWN0aW5nIHRoZSBwYXJlbnMgYm90aCBlYXNlcyB0aGUgaW1wbGVtZW50YXRpb24sIGFuZAotIyBz
aW1wbGlmaWVzIHRoZSB1c2U6Ci0jCi0jIHwgIyBmb3JlYWNoKFZBUiwgKExJU1QpLCBTVE1UKQot
IyB8IG00X2RlZmluZShbZm9yZWFjaF0sIFttNF9wdXNoZGVmKFskMV0pX2ZvcmVhY2goJEApbTRf
cG9wZGVmKFskMV0pXSkKLSMgfCBtNF9kZWZpbmUoW19hcmcxXSwgWyQxXSkKLSMgfCBtNF9kZWZp
bmUoW19mb3JlYWNoXSwKLSMgfCAgW200X2lmKCQyLCBbXSwgLAotIyB8ICAgIFttNF9kZWZpbmUo
WyQxXSwgW19hcmcxKCQyKV0pJDNbXV9mb3JlYWNoKFskMV0sIFttNF9zaGlmdCgkMildLCBbJDNd
KV0pXSkKLSMKLSMKLSMgTm93LCBqdXN0IHJlcGxhY2UgdGhlIGAkMicgd2l0aCBgbTRfcXVvdGUo
JDIpJyBpbiB0aGUgb3V0ZXIgYG00X2lmJwotIyB0byBpbXByb3ZlIHJvYnVzdG5lc3MsIGFuZCB5
b3UgY29tZSB1cCB3aXRoIGEgbmljZSBpbXBsZW1lbnRhdGlvbgotIyB0aGF0IGRvZXNuJ3QgcmVx
dWlyZSBleHRyYSBwYXJlbnRoZXNlcyBpbiB0aGUgdXNlcidzIExJU1QuCi0jCi0jIEJ1dCB3YWl0
IC0gIG5vdyB0aGUgYWxnb3JpdGhtIGlzIHF1YWRyYXRpYywgYmVjYXVzZSBldmVyeSByZWN1cnNp
b24gb2YKLSMgdGhlIGFsZ29yaXRobSBrZWVwcyB0aGUgZW50aXJlIExJU1QgYW5kIG1lcmVseSBh
ZGRzIGFub3RoZXIgbTRfc2hpZnQgdG8KLSMgdGhlIHF1b3RlZCB0ZXh0LiAgSWYgdGhlIHVzZXIg
aGFzIGEgbG90IG9mIGVsZW1lbnRzIGluIExJU1QsIHlvdSBjYW4KLSMgYnJpbmcgdGhlIHN5c3Rl
bSB0byBpdHMga25lZXMgd2l0aCB0aGUgbWVtb3J5IG00IHRoZW4gcmVxdWlyZXMsIG9yIHRyaXAK
LSMgdGhlIG00IC0tbmVzdGluZy1saW1pdCByZWN1cnNpb24gZmFjdG9yLiAgVGhlIG9ubHkgd2F5
IHRvIGF2b2lkCi0jIHF1YWRyYXRpYyBncm93dGggaXMgZW5zdXJlIG00X3NoaWZ0IGlzIGV4cGFu
ZGVkIHByaW9yIHRvIHRoZSByZWN1cnNpb24uCi0jIEhlbmNlIHRoZSBkZXNpZ24gYmVsb3cuCi0j
Ci0jIFRoZSBNNCBtYW51YWwgbm93IGluY2x1ZGVzIGEgY2hhcHRlciBkZXZvdGVkIHRvIHRoaXMg
aXNzdWUsIHdpdGgKLSMgdGhlIGxlc3NvbnMgbGVhcm5lZCBmcm9tIG00c3VnYXIuICBBbmQgc3Rp
bGwsIHRoaXMgZGVzaWduIGlzIG9ubHkKLSMgb3B0aW1hbCBmb3IgTTQgMS42OyBzZWUgZm9yZWFj
aC5tNCBmb3IgeWV0IG1vcmUgY29tbWVudHMgb24gd2h5Ci0jIE00IDEuNC54IHVzZXMgeWV0IGFu
b3RoZXIgaW1wbGVtZW50YXRpb24uCi0KLQotIyBtNF9mb3JlYWNoKFZBUklBQkxFLCBMSVNULCBF
WFBSRVNTSU9OKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIwot
IyBFeHBhbmQgRVhQUkVTU0lPTiBhc3NpZ25pbmcgZWFjaCB2YWx1ZSBvZiB0aGUgTElTVCB0byBW
QVJJQUJMRS4KLSMgTElTVCBzaG91bGQgaGF2ZSB0aGUgZm9ybSBgaXRlbV8xLCBpdGVtXzIsIC4u
LiwgaXRlbV9uJywgaS5lLiB0aGUKLSMgd2hvbGUgbGlzdCBtdXN0ICpxdW90ZWQqLiAgUXVvdGUg
bWVtYmVycyB0b28gaWYgeW91IGRvbid0IHdhbnQgdGhlbQotIyB0byBiZSBleHBhbmRlZC4KLSMK
LSMgVGhpcyBtYWNybyBpcyByb2J1c3QgdG8gYWN0aXZlIHN5bWJvbHM6Ci0jICAgICAgfCBtNF9k
ZWZpbmUoYWN0aXZlLCBbQUNULCBJVkVdKQotIyAgICAgIHwgbTRfZm9yZWFjaChWYXIsIFthY3Rp
dmUsIGFjdGl2ZV0sIFstVmFyLV0pCi0jICAgICA9PiAtQUNULS1JVkUtLUFDVC0tSVZFLQotIwot
IyAgICAgIHwgbTRfZm9yZWFjaChWYXIsIFtbYWN0aXZlXSwgW2FjdGl2ZV1dLCBbLVZhci1dKQot
IyAgICAgPT4gLUFDVCwgSVZFLS1BQ1QsIElWRS0KLSMKLSMgICAgICB8IG00X2ZvcmVhY2goVmFy
LCBbW1thY3RpdmVdXSwgW1thY3RpdmVdXV0sIFstVmFyLV0pCi0jICAgICA9PiAtYWN0aXZlLS1h
Y3RpdmUtCi0jCi0jIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGZyZXF1ZW50bHksIHNvIGF2b2lkIGV4
dHJhIGV4cGFuc2lvbnMgc3VjaCBhcwotIyBtNF9pZnZhbCBhbmQgZG5sLiAgQWxzbywgc2luY2Ug
JDIgbWlnaHQgYmUgcXVpdGUgbGFyZ2UsIHRyeSB0byB1c2UgaXQKLSMgYXMgbGl0dGxlIGFzIHBv
c3NpYmxlIGluIF9tNF9mb3JlYWNoOyBlYWNoIGV4dHJhIHVzZSByZXF1aXJlcyB0aGF0IG11Y2gK
LSMgbW9yZSBtZW1vcnkgZm9yIGV4cGFuc2lvbi4gIFNvLCByYXRoZXIgdGhhbiBkaXJlY3RseSBj
b21wYXJlICQyIGFnYWluc3QKLSMgW10gYW5kIHVzZSBtNF9jYXIvbTRfY2RyIGZvciByZWN1cnNp
b24sIHdlIGluc3RlYWQgdW5ib3ggdGhlIGxpc3QgKHdoaWNoCi0jIHJlcXVpcmVzIHN3YXBwaW5n
IHRoZSBhcmd1bWVudCBvcmRlciBpbiB0aGUgaGVscGVyKSwgaW5zZXJ0IGFuIGlnbm9yZWQKLSMg
dGhpcmQgYXJndW1lbnQsIGFuZCB1c2UgbTRfc2hpZnQzIHRvIGRldGVjdCB3aGVuIHJlY3Vyc2lv
biBpcyBjb21wbGV0ZSwKLSMgYXQgd2hpY2ggcG9pbnQgdGhpcyBsb29rcyB2ZXJ5IG11Y2ggbGlr
ZSBtNF9tYXBfYXJncy4KLW00X2RlZmluZShbbTRfZm9yZWFjaF0sCi1bbTRfaWYoWyQyXSwgW10s
IFtdLAotICAgICAgIFttNF9wdXNoZGVmKFskMV0pXyQwKFttNF9kZWZpbmUoWyQxXSxdLCBbKSQz
XSwgW10sCi0gICQyKW00X3BvcGRlZihbJDFdKV0pXSkKLQotIyBfbTRfZm9yZWFjaChQUkUsIFBP
U1QsIElHTk9SRUQsIEFSRy4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIEZvcm0gdGhlIGNvbW1vbiBiYXNpcyBvZiB0aGUgbTRfZm9yZWFjaCBhbmQgbTRf
bWFwIG1hY3Jvcy4gIEZvciBlYWNoCi0jIEFSRywgZXhwYW5kIFBSRVtBUkddUE9TVFtdLiAgVGhl
IElHTk9SRUQgYXJndW1lbnQgbWFrZXMgcmVjdXJzaW9uCi0jIGVhc2llciwgYW5kIG11c3QgYmUg
c3VwcGxpZWQgcmF0aGVyIHRoYW4gaW1wbGljaXQuCi0jCi0jIFBsZWFzZSBrZWVwIGZvcmVhY2gu
bTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUuCi1tNF9kZWZpbmUoW19t
NF9mb3JlYWNoXSwKLVttNF9pZihbJCNdLCBbM10sIFtdLAotICAgICAgIFskMVskNF0kMltdJDAo
WyQxXSwgWyQyXSwgbTRfc2hpZnQzKCRAKSldKV0pCi0KLQotIyBtNF9mb3JlYWNoX3coVkFSSUFC
TEUsIExJU1QsIEVYUFJFU1NJT04pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLSMgTGlrZSBtNF9mb3JlYWNoLCBidXQgdGhlIGxpc3QgaXMgd2hpdGVzcGFjZSBz
ZXBhcmF0ZWQuICBEZXBlbmRpbmcgb24KLSMgRVhQUkVTU0lPTiwgaXQgbWF5IGJlIG1vcmUgZWZm
aWNpZW50IHRvIHVzZSBtNF9tYXBfYXJnc193LgotIwotIyBUaGlzIG1hY3JvIGlzIHJvYnVzdCB0
byBhY3RpdmUgc3ltYm9sczoKLSMgICAgbTRfZm9yZWFjaF93KFtWYXJdLCBbIGFjdGl2ZQotIyAg
ICBiCWFjdFwKLSMgICAgaXZlICBdLCBbLVZhci1dKWVuZAotIyAgICA9PiAtYWN0aXZlLS1iLS1h
Y3RpdmUtZW5kCi0jCi0jIFRoaXMgdXNlZCB0byB1c2UgYSBzbG93ZXIgaW1wbGVtZW50YXRpb24g
YmFzZWQgb24gbTRfZm9yZWFjaDoKLSMgICBtNF9mb3JlYWNoKFskMV0sIG00X3NwbGl0KG00X25v
cm1hbGl6ZShbJDJdKSwgWyBdKSwgWyQzXSkKLW00X2RlZmluZShbbTRfZm9yZWFjaF93XSwKLVtt
NF9wdXNoZGVmKFskMV0pbTRfbWFwX2FyZ3NfdyhbJDJdLAotICBbbTRfZGVmaW5lKFskMV0sXSwg
WykkM10pbTRfcG9wZGVmKFskMV0pXSkKLQotCi0jIG00X21hcChNQUNSTywgTElTVCkKLSMgbTRf
bWFwYWxsKE1BQ1JPLCBMSVNUKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEludm9rZSBN
QUNSTygkMSksIE1BQ1JPKCQyKSBldGMuIHdoZXJlICQxLCAkMi4uLiBhcmUgdGhlIGVsZW1lbnRz
IG9mCi0jIExJU1QuICAkMSwgJDIuLi4gbXVzdCBpbiB0dXJuIGJlIGxpc3RzLCBhcHByb3ByaWF0
ZSBmb3IgbTRfYXBwbHkuCi0jIElmIExJU1QgY29udGFpbnMgYW4gZW1wdHkgc3VibGlzdCwgbTRf
bWFwIHNraXBzIHRoZSBleHBhbnNpb24gb2YKLSMgTUFDUk8sIHdoaWxlIG00X21hcGFsbCBleHBh
bmRzIE1BQ1JPIHdpdGggbm8gYXJndW1lbnRzLgotIwotIyBTaW5jZSBMSVNUIG1heSBiZSBxdWl0
ZSBsYXJnZSwgd2Ugd2FudCB0byBtaW5pbWl6ZSBob3cgb2Z0ZW4gaXQKLSMgYXBwZWFycyBpbiB0
aGUgZXhwYW5zaW9uLiAgUmF0aGVyIHRoYW4gdXNlIG00X2Nhci9tNF9jZHIgaXRlcmF0aW9uLAot
IyB3ZSB1bmJveCB0aGUgbGlzdCwgYW5kIHVzZSBfbTRfZm9yZWFjaCBmb3IgaXRlcmF0aW9uLiAg
Rm9yIG00X21hcCwKLSMgYW4gZW1wdHkgbGlzdCBiZWhhdmVzIGxpa2UgYW4gZW1wdHkgc3VibGlz
dCBhbmQgZ2V0cyBpZ25vcmVkOyBmb3IKLSMgbTRfbWFwYWxsLCB3ZSBtdXN0IHNwZWNpYWwtY2Fz
ZSB0aGUgZW1wdHkgbGlzdC4KLW00X2RlZmluZShbbTRfbWFwXSwKLVtfbTRfZm9yZWFjaChbX200
X2FwcGx5KFskMV0sXSwgWyldLCBbXSwgJDIpXSkKLQotbTRfZGVmaW5lKFttNF9tYXBhbGxdLAot
W200X2lmKFskMl0sIFtdLCBbXSwKLSAgICAgICBbX200X2ZvcmVhY2goW200X2FwcGx5KFskMV0s
XSwgWyldLCBbXSwgJDIpXSldKQotCi0KLSMgbTRfbWFwX3NlcChNQUNSTywgW1NFUEFSQVRPUl0s
IExJU1QpCi0jIG00X21hcGFsbF9zZXAoTUFDUk8sIFtTRVBBUkFUT1JdLCBMSVNUKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSW52b2tlIE1BQ1JPKCQxKSwg
U0VQQVJBVE9SLCBNQUNSTygkMiksIC4uLiwgTUFDUk8oJE4pIHdoZXJlICQxLAotIyAkMi4uLiAk
TiBhcmUgdGhlIGVsZW1lbnRzIG9mIExJU1QsIGFuZCBhcmUgaW4gdHVybiBsaXN0cyBhcHByb3By
aWF0ZQotIyBmb3IgbTRfYXBwbHkuICBTRVBBUkFUT1IgaXMgZXhwYW5kZWQsIGluIG9yZGVyIHRv
IGFsbG93IHRoZSBjcmVhdGlvbgotIyBvZiBhIGxpc3Qgb2YgYXJndW1lbnRzIGJ5IHVzaW5nIGEg
c2luZ2xlLXF1b3RlZCBjb21tYSBhcyB0aGUKLSMgc2VwYXJhdG9yLiAgRm9yIGVhY2ggZW1wdHkg
c3VibGlzdCwgbTRfbWFwX3NlcCBza2lwcyB0aGUgZXhwYW5zaW9uCi0jIG9mIE1BQ1JPIGFuZCBT
RVBBUkFUT1IsIHdoaWxlIG00X21hcGFsbF9zZXAgZXhwYW5kcyBNQUNSTyB3aXRoIG5vCi0jIGFy
Z3VtZW50cy4KLSMKLSMgRm9yIG00X21hcGFsbF9zZXAsIG1lcmVseSBleHBhbmQgdGhlIGZpcnN0
IGl0ZXJhdGlvbiB3aXRob3V0IHRoZQotIyBzZXBhcmF0b3IsIHRoZW4gaW5jbHVkZSBzZXBhcmF0
b3IgYXMgcGFydCBvZiBzdWJzZXF1ZW50IHJlY3Vyc2lvbjsKLSMgYnV0IGF2b2lkIGV4dHJhIGV4
cGFuc2lvbiBvZiBMSVNUJ3Mgc2lkZS1lZmZlY3RzIHZpYSBhIGhlbHBlciBtYWNyby4KLSMgRm9y
IG00X21hcF9zZXAsIHRoaW5ncyBhcmUgdHJpY2tpZXIgLSB3ZSBkb24ndCBrbm93IGlmIHRoZSBm
aXJzdAotIyBsaXN0IGVsZW1lbnQgaXMgYW4gZW1wdHkgc3VibGlzdCwgc28gd2UgbXVzdCBkZWZp
bmUgYSBzZWxmLW1vZGlmeWluZwotIyBoZWxwZXIgbWFjcm8gYW5kIHVzZSB0aGF0IGFzIHRoZSBz
ZXBhcmF0b3IgaW5zdGVhZC4KLW00X2RlZmluZShbbTRfbWFwX3NlcF0sCi1bbTRfcHVzaGRlZihb
bTRfU2VwXSwgW200X2RlZmluZShbbTRfU2VwXSwgX200X2RlZm4oW200X3VucXVvdGVdKSldKV1k
bmwKLVtfbTRfZm9yZWFjaChbX200X2FwcGx5KFttNF9TZXAoWyQyXSlbXSQxXSxdLCBbKV0sIFtd
LCAkMyltNF9wb3BkZWYoW200X1NlcF0pXSkKLQotbTRfZGVmaW5lKFttNF9tYXBhbGxfc2VwXSwK
LVttNF9pZihbJDNdLCBbXSwgW10sIFtfJDAoWyQxXSwgWyQyXSwgJDMpXSldKQotCi1tNF9kZWZp
bmUoW19tNF9tYXBhbGxfc2VwXSwKLVttNF9hcHBseShbJDFdLCBbJDNdKV9tNF9mb3JlYWNoKFtt
NF9hcHBseShbJDJbXSQxXSxdLCBbKV0sIG00X3NoaWZ0MigkQCkpXSkKLQotIyBtNF9tYXBfYXJn
cyhFWFBSRVNTSU9OLCBBUkcuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSMgRXhwYW5kIEVYUFJFU1NJT04oW0FSR10pIGZvciBlYWNoIGFyZ3VtZW50LiAgTW9yZSBlZmZp
Y2llbnQgdGhhbgotIyAgIG00X2ZvcmVhY2goW3Zhcl0sIFtBUkcuLi5dLCBbRVhQUkVTU0lPTiht
NF9kZWZuKFt2YXJdKSldKQotIyBTaG9ydGhhbmQgZm9yIG00X21hcF9hcmdzX3NlcChbRVhQUkVT
U0lPTihdLCBbKV0sIFtdLCBBUkcuLi4pLgotbTRfZGVmaW5lKFttNF9tYXBfYXJnc10sCi1bbTRf
aWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiB0b28gZmV3IGFyZ3VtZW50czogJCNdKV0sCi0g
ICAgICAgWyQjXSwgWzFdLCBbXSwKLSAgICAgICBbJCNdLCBbMl0sIFskMShbJDJdKVtdXSwKLSAg
ICAgICBbX200X2ZvcmVhY2goWyQxKF0sIFspXSwgJEApXSldKQotCi0KLSMgbTRfbWFwX2FyZ3Nf
cGFpcihFWFBSRVNTSU9OLCBbRU5ELUVYUFIgPSBFWFBSRVNTSU9OXSwgQVJHLi4uKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jIFBlcmZvcm0gYSBwYWlyd2lzZSBncm91cGluZyBvZiBjb25zZWN1dGl2ZSBBUkdzLCBieSBl
eHBhbmRpbmcKLSMgRVhQUkVTU0lPTihbQVJHMV0sIFtBUkcyXSkuICBJZiB0aGVyZSBhcmUgYW4g
b2RkIG51bWJlciBvZiBBUkdzLCB0aGUKLSMgZmluYWwgYXJndW1lbnQgaXMgZXhwYW5kZWQgd2l0
aCBFTkQtRVhQUihbQVJHbl0pLgotIwotIyBGb3IgZXhhbXBsZToKLSMgICBtNF9kZWZpbmUoW3No
b3ddLCBbKCQqKW00X25ld2xpbmVdKWRubAotIyAgIG00X21hcF9hcmdzX3BhaXIoW3Nob3ddLCBb
XSwgW2FdLCBbYl0sIFtjXSwgW2RdLCBbZV0pZG5sCi0jICAgPT4gKGEsYikKLSMgICA9PiAoYyxk
KQotIyAgID0+IChlKQotIwotIyBQbGVhc2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBh
bnkgYWRqdXN0bWVudHMgbWFkZSBoZXJlLgotbTRfZGVmaW5lKFttNF9tYXBfYXJnc19wYWlyXSwK
LVttNF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkI10p
XSwKLSAgICAgICBbJCNdLCBbMV0sIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAk
IzogJDFdKV0sCi0gICAgICAgWyQjXSwgWzJdLCBbXSwKLSAgICAgICBbJCNdLCBbM10sIFttNF9k
ZWZhdWx0KFskMl0sIFskMV0pKFskM10pW11dLAotICAgICAgIFskI10sIFs0XSwgWyQxKFskM10s
IFskNF0pW11dLAotICAgICAgIFskMShbJDNdLCBbJDRdKVtdJDAoWyQxXSwgWyQyXSwgbTRfc2hp
ZnQobTRfc2hpZnQzKCRAKSkpXSldKQotCi0KLSMgbTRfbWFwX2FyZ3Nfc2VwKFtQUkVdLCBbUE9T
VF0sIFtTRVBdLCBBUkcuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotIyBFeHBhbmQgUFJFW0FSR11QT1NUIGZvciBlYWNoIGFyZ3VtZW50LCB3aXRo
IFNFUCBiZXR3ZWVuIGFyZ3VtZW50cy4KLW00X2RlZmluZShbbTRfbWFwX2FyZ3Nfc2VwXSwKLVtt
NF9pZihbJCNdLCBbMF0sIFttNF9mYXRhbChbJDA6IHRvbyBmZXcgYXJndW1lbnRzOiAkI10pXSwK
LSAgICAgICBbJCNdLCBbMV0sIFtdLAotICAgICAgIFskI10sIFsyXSwgW10sCi0gICAgICAgWyQj
XSwgWzNdLCBbXSwKLSAgICAgICBbJCNdLCBbNF0sIFskMVskNF0kMltdXSwKLSAgICAgICBbJDFb
JDRdJDJbXV9tNF9mb3JlYWNoKFskM1tdJDFdLCBbJDJdLCBtNF9zaGlmdDMoJEApKV0pXSkKLQot
Ci0jIG00X21hcF9hcmdzX3coU1RSSU5HLCBbUFJFXSwgW1BPU1RdLCBbU0VQXSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQZXJmb3JtIHRoZSBleHBh
bnNpb24gb2YgUFJFW3dvcmRdUE9TVFtdIGZvciBlYWNoIHdvcmQgaW4gU1RSSU5HCi0jIHNlcGFy
YXRlZCBieSB3aGl0ZXNwYWNlLiAgTW9yZSBlZmZpY2llbnQgdGhhbjoKLSMgICBtNF9mb3JlYWNo
X3coW3Zhcl0sIFtTVFJJTkddLCBbUFJFW11tNF9kZWZuKFt2YXJdKVBPU1RdKQotIyBBZGRpdGlv
bmFsbHksIGV4cGFuZCBTRVAgYmV0d2VlbiB3b3Jkcy4KLSMKLSMgQXMgbG9uZyBhcyB3ZSBoYXZl
IHRvIHVzZSBtNF9icGF0c3Vic3QgdG8gc3BsaXQgdGhlIHN0cmluZywgd2UgbWlnaHQKLSMgYXMg
d2VsbCBtYWtlIGl0IGFsc28gYXBwbHkgUFJFIGFuZCBQT1NUOyB0aGlzIGF2b2lkcyBpdGVyYXRp
b24KLSMgYWx0b2dldGhlci4gIEJ1dCB3ZSBtdXN0IGJlIGNhcmVmdWwgb2YgYW55IFwgaW4gUFJF
IG9yIFBPU1QuCi0jIF9tNF9zdHJpcCByZXR1cm5zIGEgcXVvdGVkIHN0cmluZywgYnV0IHRoYXQn
cyBva2F5LCBzaW5jZSBpdCBhbHNvCi0jIHN1cHBsaWVzIGFuIGVtcHR5IGxlYWRpbmcgYW5kIHRy
YWlsaW5nIGFyZ3VtZW50IGR1ZSB0byBvdXIKLSMgaW50ZW50aW9uYWwgd2hpdGVzcGFjZSBhcm91
bmQgU1RSSU5HLiAgV2UgdXNlIG00X3N1YnN0ciB0byBzdHJpcCB0aGUKLSMgZW1wdHkgZWxlbWVu
dHMgYW5kIHJlbW92ZSB0aGUgZXh0cmEgbGF5ZXIgb2YgcXVvdGluZy4KLW00X2RlZmluZShbbTRf
bWFwX2FyZ3Nfd10sCi1bXyQwKF9tNF9zcGxpdChbIF1tNF9mbGF0dGVuKFskMV0pWyBdLCBbWwkg
XStdLAotCSAgICAgICBtNF9pZihtNF9pbmRleChbJDIkMyQ0XSwgW1xdKSwgWy0xXSwgW1skM1td
JDRbXSQyXV0sCi0JCSAgICAgW200X2JwYXRzdWJzdChbWyQzW10kNFtdJDJdXSwgW1xcXSwgW1xc
XFxdKV0pKSwKLSAgICAgbTRfbGVuKFtbXSQzW10kNF0pLCBtNF9sZW4oWyQ0W10kMltdXSkpXSkK
LQotbTRfZGVmaW5lKFtfbTRfbWFwX2FyZ3Nfd10sCi1bbTRfc3Vic3RyKFskMV0sIFskMl0sIG00
X2V2YWwobTRfbGVuKFskMV0pIC0gWyQyXSAtIFskM10pKV0pCi0KLQotIyBtNF9zdGFja19mb3Jl
YWNoKE1BQ1JPLCBGVU5DKQotIyBtNF9zdGFja19mb3JlYWNoX2xpZm8oTUFDUk8sIEZVTkMpCi0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUGFzcyBlYWNoIHN0YWNrZWQg
ZGVmaW5pdGlvbiBvZiBNQUNSTyB0byB0aGUgb25lLWFyZ3VtZW50IG1hY3JvIEZVTkMuCi0jIG00
X3N0YWNrX2ZvcmVhY2ggcHJvY2VlZHMgaW4gRklGTyBvcmRlciwgd2hpbGUgbTRfc3RhY2tfZm9y
ZWFjaF9saWZvCi0jIHByb2Nlc3NlcyB0aGUgdG9wbW9zdCBkZWZpbml0aW9ucyBmaXJzdC4gIElu
IGFkZGl0aW9uLCBGVU5DIHNob3VsZAotIyBub3QgcHVzaCBvciBwb3AgZGVmaW5pdGlvbnMgb2Yg
TUFDUk8sIGFuZCBzaG91bGQgbm90IGV4cGVjdCBhbnl0aGluZyBhYm91dAotIyB0aGUgYWN0aXZl
IGRlZmluaXRpb24gb2YgTUFDUk8gKGl0IHdpbGwgbm90IGJlIHRoZSB0b3Btb3N0LCBhbmQgbWF5
IG5vdAotIyBiZSB0aGUgb25lIHBhc3NlZCB0byBGVU5DIGVpdGhlcikuCi0jCi0jIFNvbWUgbWFj
cm9zIHNpbXBseSBjYW4ndCBiZSBleGFtaW5lZCB3aXRoIHRoaXMgbWV0aG9kOiBuYW1lbHksCi0j
IGFueXRoaW5nIGludm9sdmVkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBfbTRfc3RhY2tfcmV2
ZXJzZS4KLW00X2RlZmluZShbbTRfc3RhY2tfZm9yZWFjaF0sCi1bX200X3N0YWNrX3JldmVyc2Uo
WyQxXSwgW200X3RtcC0kMV0pXWRubAotW19tNF9zdGFja19yZXZlcnNlKFttNF90bXAtJDFdLCBb
JDFdLCBbJDIoX200X2RlZm4oW200X3RtcC0kMV0pKV0pXSkKLQotbTRfZGVmaW5lKFttNF9zdGFj
a19mb3JlYWNoX2xpZm9dLAotW19tNF9zdGFja19yZXZlcnNlKFskMV0sIFttNF90bXAtJDFdLCBb
JDIoX200X2RlZm4oW200X3RtcC0kMV0pKV0pXWRubAotW19tNF9zdGFja19yZXZlcnNlKFttNF90
bXAtJDFdLCBbJDFdKV0pCi0KLSMgbTRfc3RhY2tfZm9yZWFjaF9zZXAoTUFDUk8sIFtQUkVdLCBb
UE9TVF0sIFtTRVBdKQotIyBtNF9zdGFja19mb3JlYWNoX3NlcF9saWZvKE1BQ1JPLCBbUFJFXSwg
W1BPU1RdLCBbU0VQXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIFNpbWlsYXIgdG8gbTRfc3RhY2tfZm9yZWFjaCBhbmQgbTRfc3Rh
Y2tfZm9yZWFjaF9saWZvLCBpbiB0aGF0IGV2ZXJ5Ci0jIGRlZmluaXRpb24gb2YgYSBwdXNoZGVm
IHN0YWNrIHdpbGwgYmUgdmlzaXRlZC4gIEJ1dCByYXRoZXIgdGhhbgotIyBwYXNzaW5nIHRoZSBk
ZWZpbml0aW9uIGFzIGEgc2luZ2xlIGFyZ3VtZW50IHRvIGEgbWFjcm8sIHRoaXMgdmFyaWFudAot
IyBleHBhbmRzIHRoZSBjb25jYXRlbmF0aW9uIG9mIFBSRVtdZGVmaW5pdGlvbltdUE9TVCwgYW5k
IGV4cGFuZHMgU0VQCi0jIGJldHdlZW4gY29uc2VjdXRpdmUgZXhwYW5zaW9ucy4gIE5vdGUgdGhh
dCBtNF9zdGFja19mb3JlYWNoKFthXSwgW2JdKQotIyBpcyBlcXVpdmFsZW50IHRvIG00X3N0YWNr
X2ZvcmVhY2hfc2VwKFthXSwgW2IoXSwgWyldKS4KLW00X2RlZmluZShbbTRfc3RhY2tfZm9yZWFj
aF9zZXBdLAotW19tNF9zdGFja19yZXZlcnNlKFskMV0sIFttNF90bXAtJDFdKV1kbmwKLVtfbTRf
c3RhY2tfcmV2ZXJzZShbbTRfdG1wLSQxXSwgWyQxXSwgWyQyW11fbTRfZGVmbihbbTRfdG1wLSQx
XSkkM10sIFskNFtdXSldKQotCi1tNF9kZWZpbmUoW200X3N0YWNrX2ZvcmVhY2hfc2VwX2xpZm9d
LAotW19tNF9zdGFja19yZXZlcnNlKFskMV0sIFttNF90bXAtJDFdLCBbJDJbXV9tNF9kZWZuKFtt
NF90bXAtJDFdKSQzXSwgWyQ0W11dKV1kbmwKLVtfbTRfc3RhY2tfcmV2ZXJzZShbbTRfdG1wLSQx
XSwgWyQxXSldKQotCi0KLSMgX200X3N0YWNrX3JldmVyc2UoT0xELCBORVcsIFtBQ1RJT05dLCBb
U0VQXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMg
QSByZWN1cnNpdmUgd29ya2VyIGZvciBwdXNoZGVmIHN0YWNrIG1hbmlwdWxhdGlvbi4gIERlc3Ry
dWN0aXZlbHkKLSMgY29weSB0aGUgT0xEIHN0YWNrIGludG8gdGhlIE5FVywgYW5kIGV4cGFuZGlu
ZyBBQ1RJT04gZm9yIGVhY2gKLSMgaXRlcmF0aW9uLiAgQWZ0ZXIgdGhlIGZpcnN0IGl0ZXJhdGlv
biwgU0VQIGlzIHByb21vdGVkIHRvIHRoZSBmcm9udAotIyBvZiBBQ1RJT04gKG5vdGUgdGhhdCBT
RVAgc2hvdWxkIGluY2x1ZGUgYSB0cmFpbGluZyBbXSBpZiBpdCBpcyB0bwotIyBhdm9pZCBpbnRl
cmZlcmluZyB3aXRoIEFDVElPTikuICBUaGUgY3VycmVudCBkZWZpbml0aW9uIGlzIGV4YW1pbmVk
Ci0jIGFmdGVyIHRoZSBORVcgaGFzIGJlZW4gcHVzaGVkIGJ1dCBiZWZvcmUgT0xEIGhhcyBiZWVu
IHBvcHBlZDsgdGhpcwotIyBvcmRlciBpcyBpbXBvcnRhbnQsIGFzIEFDVElPTiBpcyBwZXJtaXR0
ZWQgdG8gb3BlcmF0ZSBvbiBlaXRoZXIKLSMgX200X2RlZm4oW09MRF0pIG9yIF9tNF9kZWZuKFtO
RVddKS4gIFNpbmNlIHRoZSBvcGVyYXRpb24gaXMKLSMgZGVzdHJ1Y3RpdmUsIHRoaXMgbWFjcm8g
aXMgZ2VuZXJhbGx5IHVzZWQgdHdpY2UsIHdpdGggYSB0ZW1wb3JhcnkKLSMgbWFjcm8gbmFtZSBo
b2xkaW5nIHRoZSBzd2FwcGVkIGNvcHkuCi1tNF9kZWZpbmUoW19tNF9zdGFja19yZXZlcnNlXSwK
LVttNF9pZmRlZihbJDFdLCBbbTRfcHVzaGRlZihbJDJdLAotICBfbTRfZGVmbihbJDFdKSkkM1td
X200X3BvcGRlZihbJDFdKSQwKFskMV0sIFskMl0sIFskNCQzXSldKV0pCi0KLQotCi0jIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIDkuIE1vcmUgZGl2ZXJzaW9uIHN1cHBvcnQu
ICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLQotIyBtNF9jbGVhcmRp
dmVydChESVZFUlNJT04tTkFNRS4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIERpc2NhcmQgYW55IHRleHQgaW4gRElWRVJTSU9OLU5BTUUuCi0jCi0jIFRoaXMgd29y
a3MgZXZlbiBpbnNpZGUgbTRfZXhwYW5kLgotbTRfZGVmaW5lKFttNF9jbGVhcmRpdmVydF0sCi1b
bTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoWyQwOiBtaXNzaW5nIGFyZ3VtZW50XSldLAotICAg
ICAgIFtfbTRfZGl2ZXJ0X3JhdyhbLTFdKW00X3VuZGl2ZXJ0KCRAKV9tNF9kaXZlcnRfcmF3KAot
CSBfbTRfZGl2ZXJ0KF9tNF9kZWZuKFtfbTRfZGl2ZXJ0X2RpdmVyc2lvbl0pLCBbLV0pKV0pXSkK
LQotCi0jIF9tNF9kaXZlcnQoRElWRVJTSU9OLU5BTUUgb3IgTlVNQkVSLCBbTk9XQVJOXSkKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBESVZF
UlNJT04tTkFNRSBpcyB0aGUgbmFtZSBvZiBhIGRpdmVyc2lvbiwgcmV0dXJuIGl0cyBudW1iZXIs
Ci0jIG90aGVyd2lzZSBpZiBpdCBpcyBhIE5VTUJFUiByZXR1cm4gaXQuICBJc3N1ZSBhIHdhcm5p
bmcgYWJvdXQKLSMgdGhlIHVzZSBvZiBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbmFtZSwgdW5sZXNz
IE5PV0FSTiBpcyBwcm92aWRlZC4KLW00X2RlZmluZShbX200X2RpdmVydF0sCi1bbTRfaWZkZWYo
W19tNF9kaXZlcnQoJDEpXSwKLQkgIFttNF9pbmRpcihbX200X2RpdmVydCgkMSldKV0sCi0JICBb
bTRfaWYoWyQyXSwgW10sIFttNF93YXJuKFtzeW50YXhdLAotCSAgICAgW3ByZWZlciBuYW1lZCBk
aXZlcnNpb25zXSldKSQxXSldKQotCi0jIEtJTEwgaXMgb25seSB1c2VkIHRvIHN1cHByZXNzIG91
dHB1dC4KLW00X2RlZmluZShbX200X2RpdmVydChLSUxMKV0sICAgICAgICAgICAtMSkKLQotIyBU
aGUgZW1wdHkgZGl2ZXJzaW9uIG5hbWUgaXMgYSBzeW5vbnltIGZvciAwLgotbTRfZGVmaW5lKFtf
bTRfZGl2ZXJ0KCldLCAgICAgICAgICAgICAgICAwKQotCi0KLSMgbTRfZGl2ZXJ0X3N0YWNrCi0j
IC0tLS0tLS0tLS0tLS0tLQotIyBQcmludCB0aGUgZGl2ZXJzaW9uIHN0YWNrLCBpZiBpdCdzIG5v
bmVtcHR5LiAgVGhlIGNhbGxlciBpcwotIyByZXNwb25zaWJsZSBmb3IgYW55IGxlYWRpbmcgb3Ig
dHJhaWxpbmcgbmV3bGluZS4KLW00X2RlZmluZShbbTRfZGl2ZXJ0X3N0YWNrXSwKLVttNF9zdGFj
a19mb3JlYWNoX3NlcF9saWZvKFtfbTRfZGl2ZXJ0X3N0YWNrXSwgW10sIFtdLCBbCi1dKV0pCi0K
LQotIyBtNF9kaXZlcnRfc3RhY2tfcHVzaChNQUNSTy1OQU1FLCBESVZFUlNJT04tTkFNRSkKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEZvcm0g
YW4gZW50cnkgb2YgdGhlIGRpdmVyc2lvbiBzdGFjayBmcm9tIGNhbGxlciBNQUNSTy1OQU1FIGFu
ZAotIyBlbnRlcmluZyBESVZFUlNJT04tTkFNRSBhbmQgcHVzaCBpdC4KLW00X2RlZmluZShbbTRf
ZGl2ZXJ0X3N0YWNrX3B1c2hdLAotW200X3B1c2hkZWYoW19tNF9kaXZlcnRfc3RhY2tdLCBtNF9s
b2NhdGlvbls6ICQxOiAkMl0pXSkKLQotCi0jIG00X2RpdmVydChESVZFUlNJT04tTkFNRSkKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBDaGFuZ2UgdGhlIGRpdmVyc2lvbiBzdHJlYW0g
dG8gRElWRVJTSU9OLU5BTUUuCi1tNF9kZWZpbmUoW200X2RpdmVydF0sCi1bbTRfcG9wZGVmKFtf
bTRfZGl2ZXJ0X3N0YWNrXSldZG5sCi1bbTRfZGVmaW5lKFtfbTRfZGl2ZXJ0X2RpdmVyc2lvbl0s
IFskMV0pXWRubAotW200X2RpdmVydF9zdGFja19wdXNoKFskMF0sIFskMV0pXWRubAotW19tNF9k
aXZlcnRfcmF3KF9tNF9kaXZlcnQoWyQxXSkpXSkKLQotCi0jIG00X2RpdmVydF9wdXNoKERJVkVS
U0lPTi1OQU1FLCBbTk9XQVJOXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBDaGFuZ2UgdGhlIGRpdmVyc2lvbiBzdHJlYW0gdG8gRElWRVJTSU9OLU5BTUUs
IHdoaWxlIHN0YWNraW5nIG9sZCB2YWx1ZXMuCi0jIEZvciBpbnRlcm5hbCB1c2Ugb25seTogaWYg
Tk9XQVJOIGlzIG5vdCBlbXB0eSwgRElWRVJTSU9OLU5BTUUgY2FuIGJlIGEKLSMgbnVtYmVyIGlu
c3RlYWQgb2YgYSBuYW1lLgotbTRfZGVmaW5lKFttNF9kaXZlcnRfcHVzaF0sCi1bbTRfZGl2ZXJ0
X3N0YWNrX3B1c2goWyQwXSwgWyQxXSldZG5sCi1bbTRfcHVzaGRlZihbX200X2RpdmVydF9kaXZl
cnNpb25dLCBbJDFdKV1kbmwKLVtfbTRfZGl2ZXJ0X3JhdyhfbTRfZGl2ZXJ0KFskMV0sIFskMl0p
KV0pCi0KLQotIyBtNF9kaXZlcnRfcG9wKFtESVZFUlNJT04tTkFNRV0pCi0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQ2hhbmdlIHRoZSBkaXZlcnNpb24gc3RyZWFtIHRvIGl0
cyBwcmV2aW91cyB2YWx1ZSwgdW5zdGFja2luZyBpdC4KLSMgSWYgc3BlY2lmaWVkLCB2ZXJpZnkg
d2UgbGVmdCBESVZFUlNJT04tTkFNRS4KLSMgV2hlbiB3ZSBwb3AgdGhlIGxhc3QgdmFsdWUgZnJv
bSB0aGUgc3RhY2ssIHdlIGRpdmVydCB0byAtMS4KLW00X2RlZmluZShbbTRfZGl2ZXJ0X3BvcF0s
Ci1bbTRfaWYoWyQxXSwgW10sIFtdLAotICAgICAgIFskMV0sIF9tNF9kZWZuKFtfbTRfZGl2ZXJ0
X2RpdmVyc2lvbl0pLCBbXSwKLSAgICAgICBbbTRfZmF0YWwoWyQwKCQxKTogZGl2ZXJzaW9uIG1p
c21hdGNoOgotXW00X2RpdmVydF9zdGFjayldKV1kbmwKLVtfbTRfcG9wZGVmKFtfbTRfZGl2ZXJ0
X3N0YWNrXSwgW19tNF9kaXZlcnRfZGl2ZXJzaW9uXSldZG5sCi1bbTRfaWZkZWYoW19tNF9kaXZl
cnRfZGl2ZXJzaW9uXSwgW10sCi0JICAgW200X2ZhdGFsKFt0b28gbWFueSBtNF9kaXZlcnRfcG9w
XSldKV1kbmwKLVtfbTRfZGl2ZXJ0X3JhdyhfbTRfZGl2ZXJ0KF9tNF9kZWZuKFtfbTRfZGl2ZXJ0
X2RpdmVyc2lvbl0pLCBbLV0pKV0pCi0KLQotIyBtNF9kaXZlcnRfdGV4dChESVZFUlNJT04tTkFN
RSwgQ09OVEVOVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IE91dHB1dCBDT05URU5UIGludG8gRElWRVJTSU9OLU5BTUUgKHdoaWNoIG1heSBiZSBhIG51bWJl
ciBhY3R1YWxseSkuCi0jIEFuIGVuZCBvZiBsaW5lIGlzIGFwcGVuZGVkIGZvciBmcmVlIHRvIENP
TlRFTlQuCi1tNF9kZWZpbmUoW200X2RpdmVydF90ZXh0XSwKLVttNF9kaXZlcnRfcHVzaChbJDFd
KSQyCi1tNF9kaXZlcnRfcG9wKFskMV0pXSkKLQotCi0jIG00X2RpdmVydF9vbmNlKERJVkVSU0lP
Ti1OQU1FLCBDT05URU5UKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLSMgT3V0cHV0IENPTlRFTlQgaW50byBESVZFUlNJT04tTkFNRSBvbmNlLCBpZiBub3QgYWxy
ZWFkeSB0aGVyZS4KLSMgQW4gZW5kIG9mIGxpbmUgaXMgYXBwZW5kZWQgZm9yIGZyZWUgdG8gQ09O
VEVOVC4KLW00X2RlZmluZShbbTRfZGl2ZXJ0X29uY2VdLAotW200X2V4cGFuZF9vbmNlKFttNF9k
aXZlcnRfdGV4dChbJDFdLCBbJDJdKV0pXSkKLQotCi0jIF9tNF9kaXZlcnRfdW5zYWZlKERJVkVS
U0lPTi1OQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSXNzdWUg
YSB3YXJuaW5nIHRoYXQgdGhlIGF0dGVtcHQgdG8gY2hhbmdlIHRoZSBjdXJyZW50IGRpdmVyc2lv
biB0bwotIyBESVZFUlNJT04tTkFNRSBpcyB1bnNhZmUsIGJlY2F1c2UgdGhpcyBtYWNybyBpcyBi
ZWluZyBleHBhbmRlZAotIyBkdXJpbmcgYXJndW1lbnQgY29sbGVjdGlvbiBvZiBtNF9leHBhbmQu
Ci1tNF9kZWZpbmUoW19tNF9kaXZlcnRfdW5zYWZlXSwKLVttNF9mYXRhbChbJDA6IGNhbm5vdCBj
aGFuZ2UgZGl2ZXJzaW9uIHRvIGAkMScgaW5zaWRlIG00X2V4cGFuZF0pXSkKLQotCi0jIG00X3Vu
ZGl2ZXJ0KERJVkVSU0lPTi1OQU1FLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLSMgVW5kaXZlcnQgRElWRVJTSU9OLU5BTUUuICBVbmxpa2UgdGhlIE00IHZlcnNpb24sIHRo
aXMgcmVxdWlyZXMgYXQKLSMgbGVhc3Qgb25lIERJVkVSU0lPTi1OQU1FOyBhbHNvLCBkdWUgdG8g
c3VwcG9ydCBmb3IgbmFtZWQgZGl2ZXJzaW9ucywKLSMgdGhpcyBzaG91bGQgbm90IGJlIHVzZWQg
dG8gdW5kaXZlcnQgZmlsZXMuCi1tNF9kZWZpbmUoW200X3VuZGl2ZXJ0XSwKLVttNF9pZihbJCNd
LCBbMF0sIFttNF9mYXRhbChbJDA6IG1pc3NpbmcgYXJndW1lbnRdKV0sCi0gICAgICAgWyQjXSwg
WzFdLCBbX200X3VuZGl2ZXJ0KF9tNF9kaXZlcnQoWyQxXSkpXSwKLSAgICAgICBbbTRfbWFwX2Fy
Z3MoWyQwXSwgJEApXSldKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSAjIwotIyMgMTAuIERlZmluaW5nIG1hY3JvcyB3aXRoIGJlbGxzIGFuZCB3
aGlzdGxlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gIyMKLQotIyBgbTRfZGVmdW4nIGlzIGJhc2ljYWxseSBgbTRfZGVmaW5lJyBidXQgaXQg
ZXF1aXBzIHRoZSBtYWNybyB3aXRoIHRoZQotIyBuZWVkZWQgbWFjaGluZXJ5IGZvciBgbTRfcmVx
dWlyZScuICBBIG1hY3JvIG11c3QgYmUgbTRfZGVmdW4nZCBpZgotIyBlaXRoZXIgaXQgaXMgbTRf
cmVxdWlyZSdkLCBvciBpdCBtNF9yZXF1aXJlJ3MuCi0jCi0jIFR3byB0aGluZ3MgZGVzZXJ2ZSBh
dHRlbnRpb24gYW5kIGFyZSBkZXRhaWxlZCBiZWxvdzoKLSMgIDEuIEltcGxlbWVudGF0aW9uIG9m
IG00X3JlcXVpcmUKLSMgIDIuIEtlZXBpbmcgdHJhY2sgb2YgdGhlIGV4cGFuc2lvbiBzdGFjawot
IwotIyAxLiBJbXBsZW1lbnRhdGlvbiBvZiBtNF9yZXF1aXJlCi0jID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLSMKLSMgT2YgY291cnNlIG00X2RlZnVuIGNhbGxzIG00X3Byb3ZpZGUs
IHNvIHRoYXQgYSBtYWNybyB3aGljaCBoYXMKLSMgYmVlbiBleHBhbmRlZCBpcyBub3QgZXhwYW5k
ZWQgYWdhaW4gd2hlbiBtNF9yZXF1aXJlJ2QsIGJ1dCB0aGUKLSMgZGlmZmljdWx0IHBhcnQgaXMg
dGhlIHByb3BlciBleHBhbnNpb24gb2YgbWFjcm9zIHdoZW4gdGhleSBhcmUKLSMgbTRfcmVxdWly
ZSdkLgotIwotIyBUaGUgaW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24gdGhyZWUgaWRlYXMsIChp
KSB1c2luZyBkaXZlcnNpb25zIHRvCi0jIHByZXBhcmUgdGhlIGV4cGFuc2lvbiBvZiB0aGUgbWFj
cm8gYW5kIGl0cyBkZXBlbmRlbmNpZXMgKGJ5IEZyYW5jLG9pcwotIyBQaW5hcmQpLCAoaWkpIGV4
cGFuZCB0aGUgbW9zdCByZWNlbnRseSBtNF9yZXF1aXJlJ2QgbWFjcm9zIF9hZnRlcl8KLSMgdGhl
IHByZXZpb3VzIG1hY3JvcyAoYnkgQXhlbCBUaGltbSksIGFuZCAoaWlpKSB0cmFjayBpbnN0YW5j
ZXMgb2YKLSMgcHJvdmlkZSBiZWZvcmUgcmVxdWlyZSAoYnkgRXJpYyBCbGFrZSkuCi0jCi0jCi0j
IFRoZSBmaXJzdCBpZGVhOiB3aHkgdXNlIGRpdmVyc2lvbnM/Ci0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jCi0jIFdoZW4gYSBtYWNybyByZXF1aXJlcyBhbm90aGVyLCB0
aGUgb3RoZXIgbWFjcm8gaXMgZXhwYW5kZWQgaW4gbmV3Ci0jIGRpdmVyc2lvbiwgR1JPVy4gIFdo
ZW4gdGhlIG91dGVyIG1hY3JvIGlzIGZ1bGx5IGV4cGFuZGVkLCB3ZSBmaXJzdAotIyB1bmRpdmVy
dCB0aGUgbW9zdCBuZXN0ZWQgZGl2ZXJzaW9ucyAoR1JPVyAtIDEuLi4pLCBhbmQgZmluYWxseQot
IyB1bmRpdmVydCBHUk9XLiAgVG8gdW5kZXJzdGFuZCB3aHkgd2UgbmVlZCBzZXZlcmFsIGRpdmVy
c2lvbnMsCi0jIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgZXhhbXBsZToKLSMKLSMgfCBtNF9kZWZ1
bihbVEVTVDFdLCBbVGVzdC4uLm00X3JlcXVpcmUoW1RFU1QyXSkxXSkKLSMgfCBtNF9kZWZ1bihb
VEVTVDJdLCBbVGVzdC4uLm00X3JlcXVpcmUoW1RFU1QzXSkyXSkKLSMgfCBtNF9kZWZ1bihbVEVT
VDNdLCBbVGVzdC4uLjNdKQotIwotIyBCZWNhdXNlIG00X3JlcXVpcmUgaXMgbm90IHJlcXVpcmVk
IHRvIGJlIGZpcnN0IGluIHRoZSBvdXRlciBtYWNyb3MsIHdlCi0jIG11c3Qga2VlcCB0aGUgZXhw
YW5zaW9ucyBvZiB0aGUgdmFyaW91cyBsZXZlbHMgb2YgbTRfcmVxdWlyZSBzZXBhcmF0ZWQuCi0j
IFJpZ2h0IGJlZm9yZSBleGVjdXRpbmcgdGhlIGVwaWxvZ3VlIG9mIFRFU1QxLCB3ZSBoYXZlOgot
IwotIwkgICBHUk9XIC0gMjogVGVzdC4uLjMKLSMJICAgR1JPVyAtIDE6IFRlc3QuLi4yCi0jCSAg
IEdST1c6ICAgICBUZXN0Li4uMQotIwkgICBCT0RZOgotIwotIyBGaW5hbGx5IHRoZSBlcGlsb2d1
ZSBvZiBURVNUMSB1bmRpdmVydHMgR1JPVyAtIDIsIEdST1cgLSAxLCBhbmQKLSMgR1JPVyBpbnRv
IHRoZSByZWd1bGFyIGZsb3csIEJPRFkuCi0jCi0jCSAgIEdST1cgLSAyOgotIwkgICBHUk9XIC0g
MToKLSMJICAgR1JPVzoKLSMJICAgQk9EWTogICAgICAgIFRlc3QuLi4zOyBUZXN0Li4uMjsgVGVz
dC4uLjEKLSMKLSMgKFRoZSBzZW1pY29sb25zIGFyZSBoZXJlIGZvciBjbGFyaWZpY2F0aW9uLCBi
dXQgb2YgY291cnNlIGFyZSBub3QKLSMgZW1pdHRlZC4pICBUaGlzIGlzIHdoYXQgQXV0b2NvbmYg
Mi4wIChJIHRoaW5rKSB0byAyLjEzIChJJ20gc3VyZSkKLSMgaW1wbGVtZW50LgotIwotIwotIyBU
aGUgc2Vjb25kIGlkZWE6IGZpcnN0IHJlcXVpcmVkIGZpcnN0IG91dAotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIwotIyBUaGUgbmF0dXJhbCBpbXBsZW1lbnRh
dGlvbiBvZiB0aGUgaWRlYSBhYm92ZSBpcyBidWdneSBhbmQgcHJvZHVjZXMKLSMgdmVyeSBzdXJw
cmlzaW5nIHJlc3VsdHMgaW4gc29tZSBzaXR1YXRpb25zLiAgTGV0J3MgY29uc2lkZXIgdGhlCi0j
IGZvbGxvd2luZyBleGFtcGxlIHRvIGV4cGxhaW4gdGhlIGJ1ZzoKLSMKLSMgfCBtNF9kZWZ1bihb
VEVTVDFdLCAgW200X3JlcXVpcmUoW1RFU1QyYV0pbTRfcmVxdWlyZShbVEVTVDJiXSldKQotIyB8
IG00X2RlZnVuKFtURVNUMmFdLCBbXSkKLSMgfCBtNF9kZWZ1bihbVEVTVDJiXSwgW200X3JlcXVp
cmUoW1RFU1QzXSldKQotIyB8IG00X2RlZnVuKFtURVNUM10sICBbbTRfcmVxdWlyZShbVEVTVDJh
XSldKQotIyB8Ci0jIHwgQUNfSU5JVAotIyB8IFRFU1QxCi0jCi0jIFRoZSBkZXBlbmRlbmNpZXMg
YmV0d2VlbiB0aGUgbWFjcm9zIGFyZToKLSMKLSMJCSAzIC0tLSAyYgotIwkJLyAgICAgICAgXCAg
ICAgICAgICAgICAgaXMgbTRfcmVxdWlyZSdkIGJ5Ci0jCSAgICAgICAvICAgICAgICAgIFwgICAg
ICAgbGVmdCAtLS0tLS0tLS0tLS0tLS0tLS0tLSByaWdodAotIwkgICAgMmEgLS0tLS0tLS0tLS0t
IDEKLSMKLSMgSWYgeW91IHN0cmljdGx5IGFwcGx5IHRoZSBydWxlcyBnaXZlbiBpbiB0aGUgcHJl
dmlvdXMgc2VjdGlvbiB5b3UgZ2V0OgotIwotIwkgICBHUk9XIC0gMjogVEVTVDMKLSMJICAgR1JP
VyAtIDE6IFRFU1QyYTsgVEVTVDJiCi0jCSAgIEdST1c6ICAgICBURVNUMQotIwkgICBCT0RZOgot
IwotIyAoVEVTVDJhLCBhbHRob3VnaCByZXF1aXJlZCBieSBURVNUMyBpcyBub3QgZXhwYW5kZWQg
aW4gR1JPVyAtIDMKLSMgYmVjYXVzZSBpcyBoYXMgYWxyZWFkeSBiZWVuIGV4cGFuZGVkIGJlZm9y
ZSBpbiBHUk9XIC0gMSwgc28gaXQgaGFzCi0jIGJlZW4gQUNfUFJPVklERSdkLCBzbyBpdCBpcyBu
b3QgZXhwYW5kZWQgYWdhaW4pIHNvIHdoZW4geW91IHVuZGl2ZXJ0Ci0jIHRoZSBzdGFjayBvZiBk
aXZlcnNpb25zLCB5b3UgZ2V0OgotIwotIwkgICBHUk9XIC0gMjoKLSMJICAgR1JPVyAtIDE6Ci0j
CSAgIEdST1c6Ci0jCSAgIEJPRFk6ICAgICAgICBURVNUMzsgVEVTVDJhOyBURVNUMmI7IFRFU1Qx
Ci0jCi0jIGkuZS4sIFRFU1QyYSBpcyBleHBhbmRlZCBhZnRlciBURVNUMyBhbHRob3VnaCB0aGUg
bGF0dGVyIHJlcXVpcmVkIHRoZQotIyBmb3JtZXIuCi0jCi0jIFN0YXJ0aW5nIGZyb20gMi41MCwg
d2UgdXNlIGFuIGltcGxlbWVudGF0aW9uIHByb3ZpZGVkIGJ5IEF4ZWwgVGhpbW0uCi0jIFRoZSBp
ZGVhIGlzIHNpbXBsZTogdGhlIG9yZGVyIGluIHdoaWNoIG1hY3JvcyBhcmUgZW1pdHRlZCBtdXN0
IGJlIHRoZQotIyBzYW1lIGFzIHRoZSBvbmUgaW4gd2hpY2ggbWFjcm9zIGFyZSBleHBhbmRlZC4g
IChUaGUgYnVnIGFib3ZlIGNhbgotIyBpbmRlZWQgYmUgZGVzY3JpYmVkIGFzOiBhIG1hY3JvIGhh
cyBiZWVuIG00X3Byb3ZpZGUnZCBiZWZvcmUgaXRzCi0jIGRlcGVuZGVudCwgYnV0IGl0IGlzIGVt
aXR0ZWQgYWZ0ZXI6IHRoZSBsYWNrIG9mIGNvcnJlbGF0aW9uIGJldHdlZW4KLSMgZW1pc3Npb24g
YW5kIGV4cGFuc2lvbiBvcmRlciBpcyBndWlsdHkpLgotIwotIyBIb3cgdG8gZG8gdGhhdD8gIFlv
dSBrZWVwIHRoZSBzdGFjayBvZiBkaXZlcnNpb25zIHRvIGVsYWJvcmF0ZSB0aGUKLSMgbWFjcm9z
LCBidXQgZWFjaCB0aW1lIGEgbWFjcm8gaXMgZnVsbHkgZXhwYW5kZWQsIGVtaXQgaXQgaW1tZWRp
YXRlbHkuCi0jCi0jIEluIHRoZSBleGFtcGxlIGFib3ZlLCB3aGVuIFRFU1QyYSBpcyBleHBhbmRl
ZCwgYnV0IGl0J3MgZXBpbG9ndWUgaXMKLSMgbm90IHJ1biB5ZXQsIHlvdSBoYXZlOgotIwotIwkg
ICBHUk9XIC0gMjoKLSMJICAgR1JPVyAtIDE6IFRFU1QyYQotIwkgICBHUk9XOiAgICAgRWxhYm9y
YXRpb24gb2YgVEVTVDEKLSMJICAgQk9EWToKLSMKLSMgVGhlIGVwaWxvZ3VlIG9mIFRFU1QyYSBl
bWl0cyBpdCBpbW1lZGlhdGVseToKLSMKLSMJICAgR1JPVyAtIDI6Ci0jCSAgIEdST1cgLSAxOgot
IwkgICBHUk9XOiAgICAgRWxhYm9yYXRpb24gb2YgVEVTVDEKLSMJICAgQk9EWTogICAgIFRFU1Qy
YQotIwotIyBURVNUMmIgdGhlbiByZXF1aXJlcyBURVNUMywgc28gcmlnaHQgYmVmb3JlIHRoZSBl
cGlsb2d1ZSBvZiBURVNUMywgeW91Ci0jIGhhdmU6Ci0jCi0jCSAgIEdST1cgLSAyOiBURVNUMwot
IwkgICBHUk9XIC0gMTogRWxhYm9yYXRpb24gb2YgVEVTVDJiCi0jCSAgIEdST1c6ICAgICBFbGFi
b3JhdGlvbiBvZiBURVNUMQotIwkgICBCT0RZOiAgICAgIFRFU1QyYQotIwotIyBUaGUgZXBpbG9n
dWUgb2YgVEVTVDMgZW1pdHMgaXQ6Ci0jCi0jCSAgIEdST1cgLSAyOgotIwkgICBHUk9XIC0gMTog
RWxhYm9yYXRpb24gb2YgVEVTVDJiCi0jCSAgIEdST1c6ICAgICBFbGFib3JhdGlvbiBvZiBURVNU
MQotIwkgICBCT0RZOiAgICAgVEVTVDJhOyBURVNUMwotIwotIyBURVNUMmIgaXMgbm93IGNvbXBs
ZXRlbHkgZXhwYW5kZWQsIGFuZCBlbWl0dGVkOgotIwotIwkgICBHUk9XIC0gMjoKLSMJICAgR1JP
VyAtIDE6Ci0jCSAgIEdST1c6ICAgICBFbGFib3JhdGlvbiBvZiBURVNUMQotIwkgICBCT0RZOiAg
ICAgVEVTVDJhOyBURVNUMzsgVEVTVDJiCi0jCi0jIGFuZCBmaW5hbGx5LCBURVNUMSBpcyBmaW5p
c2hlZCBhbmQgZW1pdHRlZDoKLSMKLSMJICAgR1JPVyAtIDI6Ci0jCSAgIEdST1cgLSAxOgotIwkg
ICBHUk9XOgotIwkgICBCT0RZOiAgICAgVEVTVDJhOyBURVNUMzsgVEVTVDJiOiBURVNUMQotIwot
IyBUaGUgaWRlYSBpcyBzaW1wbGUsIGJ1dCB0aGUgaW1wbGVtZW50YXRpb24gaXMgYSBiaXQgaW52
b2x2ZWQuICBJZgotIyB5b3UgYXJlIGxpa2UgbWUsIHlvdSB3aWxsIHdhbnQgdG8gc2VlIHRoZSBh
Y3R1YWwgZnVuY3Rpb25pbmcgb2YgdGhpcwotIyBpbXBsZW1lbnRhdGlvbiB0byBiZSBjb252aW5j
ZWQuICBUaGUgbmV4dCBzZWN0aW9uIGdpdmVzIHRoZSBmdWxsCi0jIGRldGFpbHMuCi0jCi0jCi0j
IFRoZSBBeGVsIFRoaW1tIGltcGxlbWVudGF0aW9uIGF0IHdvcmsKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIwotIyBXZSBjb25zaWRlciB0aGUgbWFjcm9zIGFib3Zl
LCBhbmQgdGhpcyBjb25maWd1cmUuYWM6Ci0jCi0jCSAgICBBQ19JTklUCi0jCSAgICBURVNUMQot
IwotIyBZb3Ugc2hvdWxkIGtlZXAgdGhlIGRlZmluaXRpb25zIG9mIF9tNF9kZWZ1bl9wcm8sIF9t
NF9kZWZ1bl9lcGksIGFuZAotIyBtNF9yZXF1aXJlIGF0IGhhbmQgdG8gZm9sbG93IHRoZSBzdGVw
cy4KLSMKLSMgVGhpcyBpbXBsZW1lbnRhdGlvbiB0cmllcyBub3QgdG8gYXNzdW1lIHRoYXQgdGhl
IGN1cnJlbnQgZGl2ZXJzaW9uIGlzCi0jIEJPRFksIHNvIGFzIHNvb24gYXMgYSBtYWNybyAobTRf
ZGVmdW4nZCkgaXMgZXhwYW5kZWQsIHdlIGZpcnN0Ci0jIHJlY29yZCB0aGUgY3VycmVudCBkaXZl
cnNpb24gdW5kZXIgdGhlIG5hbWUgX200X2RpdmVydF9kdW1wIChkZW5vdGVkCi0jIERVTVAgYmVs
b3cgZm9yIHNob3J0KS4gIFRoaXMgaW50cm9kdWNlcyBhbiBpbXBvcnRhbnQgZGlmZmVyZW5jZSB3
aXRoCi0jIHRoZSBwcmV2aW91cyB2ZXJzaW9ucyBvZiBBdXRvY29uZjogeW91IGNhbm5vdCB1c2Ug
bTRfcmVxdWlyZSBpZiB5b3UKLSMgYXJlIG5vdCBpbnNpZGUgYW4gbTRfZGVmdW4nZCBtYWNybywg
YW5kIGVzcGVjaWFsbHksIHlvdSBjYW5ub3QKLSMgbTRfcmVxdWlyZSBkaXJlY3RseSBmcm9tIHRo
ZSB0b3AgbGV2ZWwuCi0jCi0jIFdlIGhhdmUgbm90IHRyaWVkIHRvIHNpbXVsYXRlIHRoZSBvbGQg
YmVoYXZpb3IgKGJldHRlciB5ZXQsIHdlCi0jIGRpYWdub3NlIGl0KSwgYmVjYXVzZSBpdCBpcyB0
b28gZGFuZ2Vyb3VzOiBhIG1hY3JvIG00X3JlcXVpcmUnZCBmcm9tCi0jIHRoZSB0b3AgbGV2ZWwg
aXMgZXhwYW5kZWQgYmVmb3JlIHRoZSBib2R5IG9mIGBjb25maWd1cmUnLCBpLmUuLCBiZWZvcmUK
LSMgYW55IG90aGVyIHRlc3Qgd2FzIHJ1bi4gIEkgbGV0IHlvdSBpbWFnaW5lIHRoZSByZXN1bHQg
b2YgcmVxdWlyaW5nCi0jIEFDX1NURENfSEVBREVSUyBmb3IgaW5zdGFuY2UsIGJlZm9yZSBBQ19Q
Uk9HX0NDIHdhcyBhY3R1YWxseSBydW4uLi4uCi0jCi0jIEFmdGVyIEFDX0lOSVQgd2FzIHJ1biwg
dGhlIGN1cnJlbnQgZGl2ZXJzaW9uIGlzIEJPRFkuCi0jICogQUNfSU5JVCB3YXMgcnVuCi0jICAg
RFVNUDogICAgICAgICAgICAgICAgdW5kZWZpbmVkCi0jICAgZGl2ZXJzaW9uIHN0YWNrOiAgICAg
Qk9EWSB8LQotIwotIyAqIFRFU1QxIGlzIGV4cGFuZGVkCi0jIFRoZSBwcm9sb2d1ZSBvZiBURVNU
MSBzZXRzIF9tNF9kaXZlcnRfZHVtcCwgd2hpY2ggaXMgdGhlIGRpdmVyc2lvbgotIyB3aGVyZSB0
aGUgY3VycmVudCBlbGFib3JhdGlvbiB3aWxsIGJlIGR1bXBlZCwgdG8gdGhlIGN1cnJlbnQKLSMg
ZGl2ZXJzaW9uLiAgSXQgYWxzbyBtNF9kaXZlcnRfcHVzaCB0byBHUk9XLCB3aGVyZSB0aGUgZnVs
bAotIyBleHBhbnNpb24gb2YgVEVTVDEgYW5kIGl0cyBkZXBlbmRlbmNpZXMgd2lsbCBiZSBlbGFi
b3JhdGVkLgotIyAgIERVTVA6ICAgICAgICBCT0RZCi0jICAgQk9EWTogICAgICAgIGVtcHR5Ci0j
ICAgZGl2ZXJzaW9uczogIEdST1csIEJPRFkgfC0KLSMKLSMgKiBURVNUMSByZXF1aXJlcyBURVNU
MmEKLSMgX200X3JlcXVpcmVfY2FsbCBtNF9kaXZlcnRfcHVzaGVzIGFub3RoZXIgdGVtcG9yYXJ5
IGRpdmVyc2lvbiwKLSMgR1JPVyAtIDEsIGFuZCBleHBhbmRzIFRFU1QyYSBpbiB0aGVyZS4KLSMg
ICBEVU1QOiAgICAgICAgQk9EWQotIyAgIEJPRFk6ICAgICAgICBlbXB0eQotIyAgIEdST1cgLSAx
OiAgICBURVNUMmEKLSMgICBkaXZlcnNpb25zOiAgR1JPVyAtIDEsIEdST1csIEJPRFkgfC0KLSMg
VGhlbiB0aGUgY29udGVudCBvZiB0aGUgdGVtcG9yYXJ5IGRpdmVyc2lvbiBpcyBtb3ZlZCB0byBE
VU1QIGFuZCB0aGUKLSMgdGVtcG9yYXJ5IGRpdmVyc2lvbiBpcyBwb3BwZWQuCi0jICAgRFVNUDog
ICAgICAgIEJPRFkKLSMgICBCT0RZOiAgICAgICAgVEVTVDJhCi0jICAgZGl2ZXJzaW9uczogIEdS
T1csIEJPRFkgfC0KLSMKLSMgKiBURVNUMSByZXF1aXJlcyBURVNUMmIKLSMgQWdhaW4sIF9tNF9y
ZXF1aXJlX2NhbGwgcHVzaGVzIEdST1cgLSAxIGFuZCBoZWFkcyB0byBleHBhbmQgVEVTVDJiLgot
IyAgIERVTVA6ICAgICAgICBCT0RZCi0jICAgQk9EWTogICAgICAgIFRFU1QyYQotIyAgIGRpdmVy
c2lvbnM6ICBHUk9XIC0gMSwgR1JPVywgQk9EWSB8LQotIwotIyAqIFRFU1QyYiByZXF1aXJlcyBU
RVNUMwotIyBfbTRfcmVxdWlyZV9jYWxsIHB1c2hlcyBHUk9XIC0gMiBhbmQgZXhwYW5kcyBURVNU
MyBoZXJlLgotIyAoVEVTVDMgcmVxdWlyZXMgVEVTVDJhLCBidXQgVEVTVDJhIGhhcyBhbHJlYWR5
IGJlZW4gbTRfcHJvdmlkZSdkLCBzbwotIyBub3RoaW5nIGhhcHBlbnMuKQotIyAgIERVTVA6ICAg
ICAgICBCT0RZCi0jICAgQk9EWTogICAgICAgIFRFU1QyYQotIyAgIEdST1cgLSAyOiAgICBURVNU
MwotIyAgIGRpdmVyc2lvbnM6ICBHUk9XIC0gMiwgR1JPVyAtIDEsIEdST1csIEJPRFkgfC0KLSMg
VGhlbiB0aGUgZGl2ZXJzaW9uIGlzIGFwcGVuZGVkIHRvIERVTVAsIGFuZCBwb3BwZWQuCi0jICAg
RFVNUDogICAgICAgIEJPRFkKLSMgICBCT0RZOiAgICAgICAgVEVTVDJhOyBURVNUMwotIyAgIGRp
dmVyc2lvbnM6ICBHUk9XIC0gMSwgR1JPVywgQk9EWSB8LQotIwotIyAqIFRFU1QxIHJlcXVpcmVz
IFRFU1QyYiAoY29udGQuKQotIyBUaGUgY29udGVudCBvZiBURVNUMmIgaXMgZXhwYW5kZWQuLi4K
LSMgICBEVU1QOiAgICAgICAgQk9EWQotIyAgIEJPRFk6ICAgICAgICBURVNUMmE7IFRFU1QzCi0j
ICAgR1JPVyAtIDE6ICAgIFRFU1QyYiwKLSMgICBkaXZlcnNpb25zOiAgR1JPVyAtIDEsIEdST1cs
IEJPRFkgfC0KLSMgLi4uIGFuZCBtb3ZlZCB0byBEVU1QLgotIyAgIERVTVA6ICAgICAgICBCT0RZ
Ci0jICAgQk9EWTogICAgICAgIFRFU1QyYTsgVEVTVDM7IFRFU1QyYgotIyAgIGRpdmVyc2lvbnM6
ICBHUk9XLCBCT0RZIHwtCi0jCi0jICogVEVTVDEgaXMgZXhwYW5kZWQ6IGVwaWxvZ3VlCi0jIFRF
U1QxJ3Mgb3duIGNvbnRlbnQgaXMgaW4gR1JPVy4uLgotIyAgIERVTVA6ICAgICAgICBCT0RZCi0j
ICAgQk9EWTogICAgICAgIFRFU1QyYTsgVEVTVDM7IFRFU1QyYgotIyAgIEdST1c6ICAgICAgICBU
RVNUMQotIyAgIGRpdmVyc2lvbnM6ICBCT0RZIHwtCi0jIC4uLiBhbmQgaXQncyBlcGlsb2d1ZSBt
b3ZlcyBpdCB0byBEVU1QIGFuZCB0aGVuIHVuZGVmaW5lcyBEVU1QLgotIyAgIERVTVA6ICAgICAg
IHVuZGVmaW5lZAotIyAgIEJPRFk6ICAgICAgIFRFU1QyYTsgVEVTVDM7IFRFU1QyYjsgVEVTVDEK
LSMgICBkaXZlcnNpb25zOiBCT0RZIHwtCi0jCi0jCi0jIFRoZSB0aGlyZCBpZGVhOiB0cmFjayBt
YWNyb3MgcHJvdmlkZWQgYmVmb3JlIHRoZXkgd2VyZSByZXF1aXJlZAotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMKLSMg
VXNpbmcganVzdCB0aGUgZmlyc3QgdHdvIGlkZWFzLCBBdXRvY29uZiAyLjUwIHRocm91Z2ggMi42
MyBzdGlsbCBoYWQKLSMgYSBzdWJ0bGUgYnVnIGZvciBtb3JlIHRoYW4gc2V2ZW4geWVhcnMuICBM
ZXQncyBjb25zaWRlciB0aGUKLSMgZm9sbG93aW5nIGV4YW1wbGUgdG8gZXhwbGFpbiB0aGUgYnVn
OgotIwotIyB8IG00X2RlZnVuKFtURVNUMV0sIFsxXSkKLSMgfCBtNF9kZWZ1bihbVEVTVDJdLCBb
MltdbTRfcmVxdWlyZShbVEVTVDFdKV0pCi0jIHwgbTRfZGVmdW4oW1RFU1QzXSwgWzMgVEVTVDEg
bTRfcmVxdWlyZShbVEVTVDJdKV0pCi0jIHwgVEVTVDMKLSMKLSMgQWZ0ZXIgdGhlIHByb2xvZ3Vl
IG9mIFRFU1QzLCB3ZSBhcmUgY29sbGVjdGluZyB0ZXh0IGluIEdST1cgd2l0aCB0aGUKLSMgaW50
ZW50IG9mIGR1bXBpbmcgaXQgaW4gQk9EWSBkdXJpbmcgdGhlIGVwaWxvZ3VlLiAgTmV4dCwgd2UK
LSMgZW5jb3VudGVyIHRoZSBkaXJlY3QgaW52b2NhdGlvbiBvZiBURVNUMSwgd2hpY2ggcHJvdmlk
ZXMgdGhlIG1hY3JvCi0jIGluIHBsYWNlIGluIEdST1cuICBGcm9tIHRoZXJlLCB3ZSBlbmNvdW50
ZXIgYSByZXF1aXJlbWVudCBmb3IgVEVTVDIsCi0jIHdoaWNoIG11c3QgYmUgY29sbGVjdGVkIGlu
IGEgbmV3IGRpdmVyc2lvbi4gIFdoaWxlIGV4cGFuZGluZyBURVNUMiwKLSMgd2UgZW5jb3VudGVy
IGEgcmVxdWlyZW1lbnQgZm9yIFRFU1QxLCBidXQgc2luY2UgaXQgaGFzIGFscmVhZHkgYmVlbgot
IyBleHBhbmRlZCwgdGhlIEF4ZWwgVGhpbW0gYWxnb3JpdGhtIHN0YXRlcyB0aGF0IHdlIGNhbiB0
cmVhdCBpdCBhcyBhCi0jIG5vLW9wLiAgQnV0IHRoYXQgd291bGQgbGVhZCB0byBhbiBlbmQgcmVz
dWx0IG9mIGAyIDMgMScsIG1lYW5pbmcKLSMgdGhhdCB3ZSBoYXZlIG9uY2UgYWdhaW4gb3V0cHV0
IGEgbWFjcm8gKFRFU1QyKSBwcmlvciB0byBpdHMKLSMgcmVxdWlyZW1lbnRzIChURVNUMSkuCi0j
Ci0jIFRoZSBwcm9ibGVtIGNhbiBvbmx5IG9jY3VyIGlmIGEgc2luZ2xlIGRlZnVuJ2QgbWFjcm8g
Zmlyc3QgcHJvdmlkZXMsCi0jIHRoZW4gbGF0ZXIgaW5kaXJlY3RseSByZXF1aXJlcywgdGhlIHNh
bWUgbWFjcm8uICBOb3RlIHRoYXQgZGlyZWN0bHkKLSMgZXhwYW5kaW5nIHRoZW4gcmVxdWlyaW5n
IGEgbWFjcm8gaXMgb2theTogYmVjYXVzZSB0aGUgZGVwZW5kZW5jeSB3YXMKLSMgbWV0LCB0aGUg
cmVxdWlyZSBwaGFzZSBjYW4gYmUgYSBuby1vcC4gIEZvciB0aGF0IG1hdHRlciwgdGhlIG91dGVy
Ci0jIG1hY3JvIGNhbiBldmVuIHJlcXVpcmUgdHdvIGhlbHBlcnMsIHdoZXJlIHRoZSBmaXJzdCBo
ZWxwZXIgZXhwYW5kcwotIyB0aGUgbWFjcm8sIGFuZCB0aGUgc2Vjb25kIGhlbHBlciBpbmRpcmVj
dGx5IHJlcXVpcmVzIHRoZSBtYWNyby4KLSMgT3V0LW9mLW9yZGVyIGV4cGFuc2lvbiBpcyBvbmx5
IHByZXNlbnQgaWYgdGhlIGlubmVyIG1hY3JvIGlzCi0jIHJlcXVpcmVkIGJ5IHNvbWV0aGluZyB0
aGF0IHdpbGwgYmUgaG9pc3RlZCBpbiBmcm9udCBvZiB3aGVyZSB0aGUKLSMgZGlyZWN0IGV4cGFu
c2lvbiBvY2N1cnJlZC4gIEluIG90aGVyIHdvcmRzLCB3ZSBtdXN0IGJlIGNhcmVmdWwgbm90Ci0j
IHRvIHdhcm4gb246Ci0jCi0jIHwgbTRfZGVmdW4oW1RFU1Q0XSwgWzRdKQotIyB8IG00X2RlZnVu
KFtURVNUNV0sIFs1IFRFU1Q0IG00X3JlcXVpcmUoW1RFU1Q0XSldKQotIyB8IFRFU1Q1ID0+IDUg
NAotIwotIyBvciBldmVuIHRoZSBtb3JlIGNvbXBsZXg6Ci0jCi0jIHwgbTRfZGVmdW4oW1RFU1Q2
XSwgWzZdKQotIyB8IG00X2RlZnVuKFtURVNUN10sIFs3IFRFU1Q2XSkKLSMgfCBtNF9kZWZ1bihb
VEVTVDhdLCBbOCBtNF9yZXF1aXJlKFtURVNUNl0pXSkKLSMgfCBtNF9kZWZ1bihbVEVTVDldLCBb
OSBtNF9yZXF1aXJlKFtURVNUOF0pXSkKLSMgfCBtNF9kZWZ1bihbVEVTVDEwXSwgWzEwIG00X3Jl
cXVpcmUoW1RFU1Q3XSkgbTRfcmVxdWlyZShbVEVTVDldKV0pCi0jIHwgVEVTVDEwID0+IDcgNiA4
IDkgMTAKLSMKLSMgU28sIHRvIGRldGVjdCB3aGV0aGVyIGEgcmVxdWlyZSB3YXMgZGlyZWN0IG9y
IGluZGlyZWN0LCBtNF9kZWZ1biBhbmQKLSMgbTRfcmVxdWlyZSB0cmFjayB0aGUgbmFtZSBvZiB0
aGUgbWFjcm8gdGhhdCBjYXVzZWQgYSBkaXZlcnNpb24gdG8gYmUKLSMgY3JlYXRlZCAodXNpbmcg
dGhlIHN0YWNrIF9tNF9kaXZlcnRpbmcsIGNvdXBsZWQgd2l0aCBhbiBPKDEpIGxvb2t1cAotIyBf
bTRfZGl2ZXJ0aW5nKFtOQU1FXSkpLCBhbmQgbTRfcHJvdmlkZSBzdG9yZXMgdGhlIG5hbWUgYXNz
b2NpYXRlZAotIyB3aXRoIHRoZSBkaXZlcnNpb24gYXQgd2hpY2ggYSBtYWNybyB3YXMgcHJvdmlk
ZWQuICBBIHJlcXVpcmUgY2FsbCBpcwotIyBkaXJlY3QgaWYgaXQgb2NjdXJzIHdpdGhpbiB0aGUg
c2FtZSBkaXZlcnNpb24gd2hlcmUgdGhlIG1hY3JvIHdhcwotIyBwcm92aWRlZCwgb3IgaWYgdGhl
IGRpdmVyc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHByb3ZpZGluZyBjb250ZXh0Ci0jIGhhcyBi
ZWVuIGNvbGxlY3RlZC4KLSMKLSMgVGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSB3YXJuaW5nIGlu
dm9sdmVzIHRyYWNraW5nIHRoZSBzZXQgb2YKLSMgbWFjcm9zIHdoaWNoIGhhdmUgYmVlbiBwcm92
aWRlZCBzaW5jZSB0aGUgc3RhcnQgb2YgdGhlIG91dGVybW9zdAotIyBkZWZ1bidkIG1hY3JvICh0
aGUgc2V0IGlzIG5hbWVkIF9tNF9wcm92aWRlKS4gIFdoZW4gc3RhcnRpbmcgYW4KLSMgb3V0ZXJt
b3N0IG1hY3JvLCB0aGUgc2V0IGlzIGVtcHRpZWQ7IHdoZW4gYSBtYWNybyBpcyBwcm92aWRlZCwg
aXQgaXMKLSMgYWRkZWQgdG8gdGhlIHNldDsgd2hlbiByZXF1aXJlIGV4cGFuZHMgdGhlIGJvZHkg
b2YgYSBtYWNybywgaXQgaXMKLSMgcmVtb3ZlZCBmcm9tIHRoZSBzZXQ7IGFuZCB3aGVuIGEgbWFj
cm8gaXMgaW5kaXJlY3RseSByZXF1aXJlZCwgdGhlCi0jIHNldCBpcyBjaGVja2VkLiAgSWYgYSBt
YWNybyBpcyBpbiB0aGUgc2V0LCB0aGVuIGl0IGhhcyBiZWVuIHByb3ZpZGVkCi0jIGJlZm9yZSBp
dCB3YXMgcmVxdWlyZWQsIGFuZCB3ZSBzYXRpc2Z5IGRlcGVuZGVuY2llcyBieSBleHBhbmRpbmcg
dGhlCi0jIG1hY3JvIGFzIGlmIGl0IGhhZCBuZXZlciBiZWVuIHByb3ZpZGVkOyBpbiB0aGUgZXhh
bXBsZSBnaXZlbiBhYm92ZSwKLSMgdGhpcyBtZWFucyB3ZSBub3cgb3V0cHV0IGAxIDIgMyAxJy4g
IE1lYW53aGlsZSwgYSB3YXJuaW5nIGlzIGlzc3VlZAotIyB0byBpbmZvcm0gdGhlIHVzZXIgdGhh
dCBoZXIgbWFjcm9zIHRyaWdnZXIgdGhlIGJ1ZyBpbiBvbGRlciBhdXRvY29uZgotIyB2ZXJzaW9u
cywgYW5kIHRoYXQgaGVyIG91dHB1dCBmaWxlIG5vdyBjb250YWlucyByZWR1bmRhbnQgY29udGVu
dHMKLSMgKGFuZCBwb3NzaWJseSBuZXcgcHJvYmxlbXMsIGlmIHRoZSByZXBlYXRlZCBtYWNybyB3
YXMgbm90Ci0jIGlkZW1wb3RlbnQpLiAgTWVhbndoaWxlLCBtYWNyb3MgZGVmaW5lZCBieSBtNF9k
ZWZ1bl9vbmNlIGluc3RlYWQgb2YKLSMgbTRfZGVmdW4gYXJlIGlkZW1wb3RlbnQsIGF2b2lkaW5n
IGFueSB3YXJuaW5nIG9yIGR1cGxpY2F0ZSBvdXRwdXQuCi0jCi0jCi0jIDIuIEtlZXBpbmcgdHJh
Y2sgb2YgdGhlIGV4cGFuc2lvbiBzdGFjawotIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLSMKLSMgV2hlbiBNNCBleHBhbnNpb24gZ29lcyB3cm9uZyBpdCBpcyBvZnRl
biBleHRyZW1lbHkgaGFyZCB0byBmaW5kIHRoZQotIyBwYXRoIGFtb25nc3QgbWFjcm9zIHRoYXQg
ZHJvdmUgdG8gdGhlIGZhaWx1cmUuICBXaGF0IGlzIG5lZWRlZCBpcwotIyB0aGUgc3RhY2sgb2Yg
bWFjcm8gYGNhbGxzJy4gT25lIGNvdWxkIGltYWdpbmUgdGhhdCBHTlUgTTQgd291bGQKLSMgbWFp
bnRhaW4gYSBzdGFjayBvZiBtYWNybyBleHBhbnNpb25zLCB1bmZvcnR1bmF0ZWx5IGl0IGRvZXNu
J3QsIHNvCi0jIHdlIGRvIGl0IGJ5IGhhbmQuICBUaGlzIGlzIG9mIGNvdXJzZSBleHRyZW1lbHkg
Y29zdGx5LCBidXQgdGhlIGhlbHAKLSMgdGhpcyBzdGFjayBwcm92aWRlcyBpcyB3b3J0aCBpdC4g
IE5ldmVydGhlbGVzcyB0byBsaW1pdCB0aGUKLSMgcGVyZm9ybWFuY2UgcGVuYWx0eSB0aGlzIGlz
IGltcGxlbWVudGVkIG9ubHkgZm9yIG00X2RlZnVuJ2QgbWFjcm9zLAotIyBub3QgZm9yIGRlZmlu
ZSdkIG1hY3Jvcy4KLSMKLSMgRWFjaCB0aW1lIHdlIGVudGVyIGFuIG00X2RlZnVuJ2QgbWFjcm9z
LCB3ZSBhZGQgYSBkZWZpbml0aW9uIGluCi0jIF9tNF9leHBhbnNpb25fc3RhY2ssIGFuZCB3aGVu
IHdlIGV4aXQgdGhlIG1hY3JvLCB3ZSByZW1vdmUgaXQgKHRoYW5rcwotIyB0byBwdXNoZGVmL3Bv
cGRlZikuICBtNF9zdGFja19mb3JlYWNoIGlzIHVzZWQgdG8gcHJpbnQgdGhlIGV4cGFuc2lvbgot
IyBzdGFjayBpbiB0aGUgcmFyZSBjYXNlcyB3aGVuIGl0J3MgbmVlZGVkLgotIwotIyBJbiBhZGRp
dGlvbiwgd2Ugd2FudCB0byBkZXRlY3QgY2lyY3VsYXIgbTRfcmVxdWlyZSBkZXBlbmRlbmNpZXMu
Ci0jIEVhY2ggdGltZSB3ZSBleHBhbmQgYSBtYWNybyBGT08gd2UgZGVmaW5lIF9tNF9leHBhbmRp
bmcoRk9PKTsgYW5kCi0jIG00X3JlcXVpcmUoQkFSKSBzaW1wbHkgY2hlY2tzIHdoZXRoZXIgX200
X2V4cGFuZGluZyhCQVIpIGlzIGRlZmluZWQuCi0KLQotIyBtNF9leHBhbnNpb25fc3RhY2sKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFuZHMgdG8gdGhlIGVudGlyZSBjb250ZW50cyBvZiB0
aGUgZXhwYW5zaW9uIHN0YWNrLiAgVGhlIGNhbGxlcgotIyBtdXN0IHN1cHBseSBhIHRyYWlsaW5n
IG5ld2xpbmUuICBUaGlzIG1hY3JvIGFsd2F5cyBwcmludHMgYQotIyBsb2NhdGlvbjsgY2hlY2sg
d2hldGhlciBfbTRfZXhwYW5zaW9uX3N0YWNrIGlzIGRlZmluZWQgdG8gZmlsdGVyIG91dAotIyB0
aGUgY2FzZSB3aGVuIG5vIGRlZnVuJ2QgbWFjcm8gaXMgaW4gZm9yY2UuCi1tNF9kZWZpbmUoW200
X2V4cGFuc2lvbl9zdGFja10sCi1bbTRfc3RhY2tfZm9yZWFjaF9zZXBfbGlmbyhbXyQwXSwgW18k
MF9lbnRyeShdLCBbKQotXSltNF9sb2NhdGlvbls6IHRoZSB0b3AgbGV2ZWxdXSkKLQotIyBfbTRf
ZXhwYW5zaW9uX3N0YWNrX2VudHJ5KE1BQ1JPKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBGb3JtYXQgYW4gZW50cnkgZm9yIE1BQ1JPIGZvdW5kIG9uIHRoZSBleHBhbnNp
b24gc3RhY2suCi1tNF9kZWZpbmUoW19tNF9leHBhbnNpb25fc3RhY2tfZW50cnldLAotW19tNF9k
ZWZuKFttNF9sb2NhdGlvbigkMSldKVs6ICQxIGlzIGV4cGFuZGVkIGZyb20uLi5dXSkKLQotIyBt
NF9leHBhbnNpb25fc3RhY2tfcHVzaChNQUNSTykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIEZvcm0gYW4gZW50cnkgb2YgdGhlIGV4cGFuc2lvbiBzdGFjayBvbiBlbnRyeSB0
byBNQUNSTyBhbmQgcHVzaCBpdC4KLW00X2RlZmluZShbbTRfZXhwYW5zaW9uX3N0YWNrX3B1c2hd
LAotW200X3B1c2hkZWYoW19tNF9leHBhbnNpb25fc3RhY2tdLCBbJDFdKV0pCi0KLQotIyBfbTRf
ZGl2ZXJ0KEdST1cpCi0jIC0tLS0tLS0tLS0tLS0tLS0KLSMgVGhpcyBkaXZlcnNpb24gaXMgdXNl
ZCBieSB0aGUgbTRfZGVmdW4vbTRfcmVxdWlyZSBtYWNoaW5lcnkuICBJdCBpcwotIyBpbXBvcnRh
bnQgdG8ga2VlcCByb29tIGJlZm9yZSBHUk9XIGJlY2F1c2UgZm9yIGVhY2ggbmVzdGVkCi0jIEFD
X1JFUVVJUkUgd2UgdXNlIGFuIGFkZGl0aW9uYWwgZGl2ZXJzaW9uIChpLmUuLCB0d28gbTRfcmVx
dWlyZSdzCi0jIHdpbGwgdXNlIEdST1cgLSAyLiAgTW9yZSB0aGFuIDMgbGV2ZWxzIGhhcyBuZXZl
ciBzZWVtZWQgdG8gYmUKLSMgbmVlZGVkLikKLSMKLSMgLi4uCi0jIC0gR1JPVyAtIDIKLSMgICBt
NF9yZXF1aXJlJ2QgY29kZSwgMiBsZXZlbCBkZWVwCi0jIC0gR1JPVyAtIDEKLSMgICBtNF9yZXF1
aXJlJ2QgY29kZSwgMSBsZXZlbCBkZWVwCi0jIC0gR1JPVwotIyAgIG00X2RlZnVuJ2QgbWFjcm9z
IGFyZSBlbGFib3JhdGVkIGhlcmUuCi0KLW00X2RlZmluZShbX200X2RpdmVydChHUk9XKV0sICAg
ICAgIDEwMDAwKQotCi0KLSMgX200X2RlZnVuX3BybyhNQUNSTy1OQU1FKQotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIFRoZSBwcm9sb2d1ZSBmb3IgQXV0b2NvbmYgbWFjcm9zLgotIwot
IyBUaGlzIGlzIGNhbGxlZCBmcmVxdWVudGx5LCBzbyBtaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIG1h
Y3JvIGludm9jYXRpb25zCi0jIGJ5IGF2b2lkaW5nIGRubCBhbmQgbTRfZGVmbiBvdmVyaGVhZC4K
LW00X2RlZmluZShbX200X2RlZnVuX3Byb10sCi1bbTRfaWZkZWYoW19tNF9leHBhbnNpb25fc3Rh
Y2tdLCBbXSwgW19tNF9kZWZ1bl9wcm9fb3V0ZXIoWyQxXSldKV1kbmwKLVttNF9leHBhbnNpb25f
c3RhY2tfcHVzaChbJDFdKW00X3B1c2hkZWYoW19tNF9leHBhbmRpbmcoJDEpXSldKQotCi1tNF9k
ZWZpbmUoW19tNF9kZWZ1bl9wcm9fb3V0ZXJdLAotW200X3NldF9kZWxldGUoW19tNF9wcm92aWRl
XSldZG5sCi1bbTRfcHVzaGRlZihbX200X2RpdmVydGluZyhbJDFdKV0pbTRfcHVzaGRlZihbX200
X2RpdmVydGluZ10sIFskMV0pXWRubAotW200X3B1c2hkZWYoW19tNF9kaXZlcnRfZHVtcF0sIG00
X2Rpdm51bSltNF9kaXZlcnRfcHVzaChbR1JPV10pXSkKLQotIyBfbTRfZGVmdW5fZXBpKE1BQ1JP
LU5BTUUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgVGhlIEVwaWxvZ3VlIGZvciBB
dXRvY29uZiBtYWNyb3MuICBNQUNSTy1OQU1FIG9ubHkgaGVscHMgdHJhY2luZwotIyB0aGUgUFJP
L0VQSSBwYWlycy4KLSMKLSMgVGhpcyBpcyBjYWxsZWQgZnJlcXVlbnRseSwgc28gbWluaW1pemUg
dGhlIG51bWJlciBvZiBtYWNybyBpbnZvY2F0aW9ucwotIyBieSBhdm9pZGluZyBkbmwgYW5kIG00
X3BvcGRlZiBvdmVyaGVhZC4KLW00X2RlZmluZShbX200X2RlZnVuX2VwaV0sCi1bX200X3BvcGRl
ZihbX200X2V4cGFuZGluZygkMSldLCBbX200X2V4cGFuc2lvbl9zdGFja10pXWRubAotW200X2lm
ZGVmKFtfbTRfZXhwYW5zaW9uX3N0YWNrXSwgW10sIFtfbTRfZGVmdW5fZXBpX291dGVyKFskMV0p
XSldZG5sCi1bbTRfcHJvdmlkZShbJDFdKV0pCi0KLW00X2RlZmluZShbX200X2RlZnVuX2VwaV9v
dXRlcl0sCi1bX200X3BvcGRlZihbX200X2RpdmVydF9kdW1wXSwgW19tNF9kaXZlcnRpbmcoWyQx
XSldLCBbX200X2RpdmVydGluZ10pXWRubAotW200X2RpdmVydF9wb3AoW0dST1ddKW00X3VuZGl2
ZXJ0KFtHUk9XXSldKQotCi0KLSMgX200X2RpdmVydF9kdW1wCi0jIC0tLS0tLS0tLS0tLS0tLQot
IyBJZiBibGFuaywgd2UgYXJlIG91dHNpZGUgb2YgYW55IGRlZnVuJ2QgbWFjcm8uICBPdGhlcndp
c2UsIGV4cGFuZHMKLSMgdG8gdGhlIGRpdmVyc2lvbiBudW1iZXIgKG5vdCBuYW1lKSB3aGVyZSBy
ZXF1aXJlJ2QgbWFjcm9zIHNob3VsZCBiZQotIyBtb3ZlZCBvbmNlIGNvbXBsZXRlZC4KLW00X2Rl
ZmluZShbX200X2RpdmVydF9kdW1wXSkKLQotCi0jIG00X2RpdmVydF9yZXF1aXJlKERJVkVSU0lP
TiwgTkFNRS1UTy1DSEVDSywgW0JPRFktVE8tRVhQQU5EXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTYW1lIGFzIG00
X3JlcXVpcmUsIGJ1dCBCT0RZLVRPLUVYUEFORCBnb2VzIGludG8gdGhlIG5hbWVkIERJVkVSU0lP
TjsKLSMgcmVxdWlyZW1lbnRzIHN0aWxsIGdvIGluIHRoZSBjdXJyZW50IGRpdmVyc2lvbiB0aG91
Z2guCi0jCi1tNF9kZWZpbmUoW200X2RpdmVydF9yZXF1aXJlXSwKLVttNF9pZmRlZihbX200X2V4
cGFuZGluZygkMildLAotICBbbTRfZmF0YWwoWyQwOiBjaXJjdWxhciBkZXBlbmRlbmN5IG9mICQy
XSldKV1kbmwKLVttNF9pZihfbTRfZGl2ZXJ0X2R1bXAsIFtdLAotICBbbTRfZmF0YWwoWyQwKCQy
KTogY2Fubm90IGJlIHVzZWQgb3V0c2lkZSBvZiBhbiBtNF9kZWZ1bidkIG1hY3JvXSldKV1kbmwK
LVttNF9wcm92aWRlX2lmKFskMl0sIFtdLAotICBbX200X3JlcXVpcmVfY2FsbChbJDJdLCBbJDNd
LCBfbTRfZGl2ZXJ0KFskMV0sIFstXSkpXSldKQotCi0KLSMgbTRfZGVmdW4oTkFNRSwgRVhQQU5T
SU9OLCBbTUFDUk8gPSBtNF9kZWZpbmVdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlZmluZSBhIG1hY3JvIE5BTUUgd2hpY2ggYXV0b21hdGlj
YWxseSBwcm92aWRlcyBpdHNlbGYuICBBZGQKLSMgbWFjaGluZXJ5IHNvIHRoZSBtYWNybyBhdXRv
bWF0aWNhbGx5IHN3aXRjaGVzIGV4cGFuc2lvbiB0byB0aGUKLSMgZGl2ZXJzaW9uIHN0YWNrIGlm
IGl0IGlzIG5vdCBhbHJlYWR5IHVzaW5nIGl0LCBwcmlvciB0byBFWFBBTlNJT04uCi0jIEluIHRo
aXMgY2FzZSwgb25jZSBmaW5pc2hlZCwgaXQgd2lsbCBicmluZyBiYWNrIGFsbCB0aGUgY29kZQot
IyBhY2N1bXVsYXRlZCBpbiB0aGUgZGl2ZXJzaW9uIHN0YWNrLiAgVGhpcywgY29tYmluZWQgd2l0
aCBtNF9yZXF1aXJlLAotIyBhY2hpZXZlcyB0aGUgdG9wb2xvZ2ljYWwgb3JkZXJpbmcgb2YgbWFj
cm9zLiAgV2UgZG9uJ3QgdXNlIHRoaXMKLSMgbWFjcm8gdG8gZGVmaW5lIHNvbWUgZnJlcXVlbnRs
eSBjYWxsZWQgbWFjcm9zIHRoYXQgYXJlIG5vdCBpbnZvbHZlZAotIyBpbiBvcmRlcmluZyBjb25z
dHJhaW50cywgdG8gc2F2ZSBtNCBwcm9jZXNzaW5nLgotIwotIyBNQUNSTyBpcyBhbiB1bmRvY3Vt
ZW50ZWQgYXJndW1lbnQ7IHdoZW4gc2V0IHRvIG00X3B1c2hkZWYsIGFuZCBOQU1FCi0jIGlzIGFs
cmVhZHkgZGVmaW5lZCwgdGhlIG5ldyBkZWZpbml0aW9uIGlzIGFkZGVkIHRvIHRoZSBwdXNoZGVm
Ci0jIHN0YWNrLCByYXRoZXIgdGhhbiBvdmVyd3JpdGluZyB0aGUgY3VycmVudCBkZWZpbml0aW9u
LiAgSXQgY2FuIHRodXMKLSMgYmUgdXNlZCB0byB3cml0ZSBzZWxmLW1vZGlmeWluZyBtYWNyb3Ms
IHdoaWNoIHBvcCB0aGVtc2VsdmVzIHRvIGEKLSMgcHJldmlvdXNseSBtNF9kZWZpbmUnZCBkZWZp
bml0aW9uIHNvIHRoYXQgc3Vic2VxdWVudCB1c2Ugb2YgdGhlCi0jIG1hY3JvIGlzIGZhc3Rlci4K
LW00X2RlZmluZShbbTRfZGVmdW5dLAotW200X2RlZmluZShbbTRfbG9jYXRpb24oJDEpXSwgbTRf
bG9jYXRpb24pXWRubAotW200X2RlZmF1bHQoWyQzXSwgW200X2RlZmluZV0pKFskMV0sCi0gIFtf
bTRfZGVmdW5fcHJvKF1tNF9kcXVvdGUoJFswXSlbKSQyW11fbTRfZGVmdW5fZXBpKF1tNF9kcXVv
dGUoJFswXSlbKV0pXSkKLQotCi0jIG00X2RlZnVuX2luaXQoTkFNRSwgSU5JVCwgQ09NTU9OKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTGlrZSBtNF9kZWZ1biwgYnV0
IHNwbGl0IEVYUEFOU0lPTiBpbnRvIHR3byBwb3J0aW9uczogSU5JVCB3aGljaCBpcwotIyBkb25l
IG9ubHkgdGhlIGZpcnN0IHRpbWUgTkFNRSBpcyBpbnZva2VkLCBhbmQgQ09NTU9OIHdoaWNoIGlz
Ci0jIGV4cGFuZGVkIGV2ZXJ5IHRpbWUuCi0jCi0jIEZvciBub3csIHRoZSBDT01NT04gZGVmaW5p
dGlvbiBpcyBhbHdheXMgbTRfZGVmaW5lJ2QsIGdpdmluZyBhbiBldmVuCi0jIGxpZ2h0ZXItd2Vp
Z2h0IGRlZmluaXRpb24uICBtNF9kZWZ1biBhbGxvd3Mgc2VsZi1wcm92aWRpbmcsIGJ1dCBvbmNl
Ci0jIGEgbWFjcm8gaXMgcHJvdmlkZWQsIG00X3JlcXVpcmUgbm8gbG9uZ2VyIGNhcmVzIGlmIGl0
IGlzIG00X2RlZmluZSdkCi0jIG9yIG00X2RlZnVuJ2QuICBtNF9kZWZ1biBhbHNvIHByb3ZpZGVz
IGxvY2F0aW9uIHRyYWNraW5nIHRvIGlkZW50aWZ5Ci0jIGRlcGVuZGVuY3kgYnVncywgYnV0IG9u
Y2UgdGhlIElOSVQgaGFzIGJlZW4gZXhwYW5kZWQsIHdlIGtub3cgdGhlcmUKLSMgYXJlIG5vIGRl
cGVuZGVuY3kgYnVncy4gIEhvd2V2ZXIsIGlmIGEgZnV0dXJlIHVzZSBuZWVkcyBDT01NT04gdG8g
YmUKLSMgbTRfZGVmdW4nZCwgd2UgY2FuIGFkZCBhIHBhcmFtZXRlciwgc2ltaWxhciB0byB0aGUg
dGhpcmQgcGFyYW1ldGVyCi0jIHRvIG00X2RlZnVuLgotbTRfZGVmaW5lKFttNF9kZWZ1bl9pbml0
XSwKLVttNF9kZWZpbmUoWyQxXSwgWyQzW11dKW00X2RlZnVuKFskMV0sCi0gICBbJDJbXV9tNF9w
b3BkZWYoXW00X2RxdW90ZSgkWzBdKVspbTRfaW5kaXIoXW00X2RxdW90ZSgkWzBdKWRubAotW200
X2lmKF1tNF9kcXVvdGUoJFsjXSlbLCBbMF0sIFtdLCBdbTRfZHF1b3RlKFssJF1AKVspKV0sIFtt
NF9wdXNoZGVmXSldKQotCi0KLSMgbTRfZGVmdW5fb25jZShOQU1FLCBFWFBBTlNJT04pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBMaWtlIG00X2RlZnVuLCBidXQgZ3VhcmFu
dGVlIHRoYXQgRVhQQU5TSU9OIG9ubHkgaGFwcGVucyBvbmNlCi0jICh0aGVyZWFmdGVyLCB1c2lu
ZyBOQU1FIGlzIGEgbm8tb3ApLgotIwotIyBJZiBfbTRfZGl2ZXJ0X2R1bXAgaXMgZW1wdHksIHdl
IGFyZSBjYWxsZWQgYXQgdGhlIHRvcCBsZXZlbDsKLSMgb3RoZXJ3aXNlLCB3ZSBtdXN0IGVuc3Vy
ZSB0aGF0IHdlIGFyZSByZXF1aXJlZCBpbiBmcm9udCBvZiB0aGUKLSMgY3VycmVudCBkZWZ1bidk
IG1hY3JvLiAgVXNlIGEgaGVscGVyIG1hY3JvIHNvIHRoYXQgRVhQQU5TSU9OIG5lZWQKLSMgb25s
eSBvY2N1ciBvbmNlIGluIHRoZSBkZWZpbml0aW9uIG9mIE5BTUUsIHNpbmNlIGl0IG1pZ2h0IGJl
IGxhcmdlLgotbTRfZGVmaW5lKFttNF9kZWZ1bl9vbmNlXSwKLVttNF9kZWZpbmUoW200X2xvY2F0
aW9uKCQxKV0sIG00X2xvY2F0aW9uKV1kbmwKLVttNF9kZWZpbmUoWyQxXSwgW19tNF9kZWZ1bl9v
bmNlKFskMV0sIFskMl0sIG00X2lmKF9tNF9kaXZlcnRfZHVtcCwgW10sCi0gIFtbX200X2RlZnVu
X3BybyhbJDFdKW00X3VucXVvdGUoXSwgWylfbTRfZGVmdW5fZXBpKFskMV0pXV0sCi1tNF9pZmRl
ZihbX200X2RpdmVydGluZyhbJDFdKV0sIFstXSksIFstXSwgW1ttNF91bnF1b3RlKF0sIFspXV0s
Ci0gIFtbX200X3JlcXVpcmVfY2FsbChbJDFdLF0sIFssIF9tNF9kaXZlcnRfZHVtcCldXSkpXSld
KQotCi1tNF9kZWZpbmUoW19tNF9kZWZ1bl9vbmNlXSwKLVttNF9wdXNoZGVmKFskMV0pJDNbJDJb
XW00X3Byb3ZpZGUoWyQxXSldJDRdKQotCi0KLSMgbTRfcGF0dGVybl9mb3JiaWQoRVJFLCBbV0hZ
XSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVjbGFyZSB0aGF0IG5vIHRv
a2VuIG1hdGNoaW5nIHRoZSBmb3JiaWRkZW4gcGVybCBleHRlbmRlZCByZWd1bGFyCi0jIGV4cHJl
c3Npb24gRVJFIHNob3VsZCBiZSBzZWVuIGluIHRoZSBvdXRwdXQgdW5sZXNzLi4uCi1tNF9kZWZp
bmUoW200X3BhdHRlcm5fZm9yYmlkXSwgW10pCi0KLQotIyBtNF9wYXR0ZXJuX2FsbG93KEVSRSkK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIC4uLiB0aGF0IHRva2VuIGFsc28gbWF0Y2hlcyB0
aGUgYWxsb3dlZCBleHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb24gRVJFLgotIyBCb3RoIHVzZWQg
dmlhIHRyYWNlcywgYnkgYXV0b200dGUgcG9zdC1wcm9jZXNzaW5nLgotbTRfZGVmaW5lKFttNF9w
YXR0ZXJuX2FsbG93XSwgW10pCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICMjCi0jIyAxMS4gRGVwZW5kZW5jaWVzIGJldHdlZW4gbWFjcm9zLiAgIyMKLSMjIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0KLSMgbTRfYmVmb3JlKFRISVMtTUFD
Uk8tTkFNRSwgQ0FMTEVELU1BQ1JPLU5BTUUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJc3N1ZSBhIHdhcm5pbmcgaWYgQ0FMTEVELU1BQ1JPLU5B
TUUgd2FzIGNhbGxlZCBiZWZvcmUgVEhJUy1NQUNSTy1OQU1FLgotbTRfZGVmaW5lKFttNF9iZWZv
cmVdLAotW200X3Byb3ZpZGVfaWYoWyQyXSwKLQkgICAgICAgW200X3dhcm4oW3N5bnRheF0sIFsk
MiB3YXMgY2FsbGVkIGJlZm9yZSAkMV0pXSldKQotCi0KLSMgbTRfcmVxdWlyZShOQU1FLVRPLUNI
RUNLLCBbQk9EWS1UTy1FWFBBTkQgPSBOQU1FLVRPLUNIRUNLXSkKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgTkFNRS1U
Ty1DSEVDSyBoYXMgbmV2ZXIgYmVlbiBleHBhbmRlZCAoYWN0dWFsbHksIGlmIGl0IGlzIG5vdAot
IyBtNF9wcm92aWRlJ2QpLCBleHBhbmQgQk9EWS1UTy1FWFBBTkQgKmJlZm9yZSogdGhlIGN1cnJl
bnQgbWFjcm8KLSMgZXhwYW5zaW9uOyBmb2xsb3cgdGhlIGV4cGFuc2lvbiB3aXRoIGEgbmV3bGlu
ZS4gIE9uY2UgZXhwYW5kZWQsIGVtaXQKLSMgaXQgaW4gX200X2RpdmVydF9kdW1wLiAgS2VlcCB0
cmFjayBvZiB0aGUgbTRfcmVxdWlyZSBjaGFpbiBpbgotIyBfbTRfZXhwYW5zaW9uX3N0YWNrLgot
IwotIyBUaGUgbm9ybWFsIGNhc2VzIGFyZToKLSMKLSMgLSBOQU1FLVRPLUNIRUNLID09IEJPRFkt
VE8tRVhQQU5ECi0jICAgV2hpY2ggeW91IGNhbiB1c2UgZm9yIHJlZ3VsYXIgbWFjcm9zIHdpdGgg
b3Igd2l0aG91dCBhcmd1bWVudHMsIGUuZy4sCi0jICAgICBtNF9yZXF1aXJlKFtBQ19QUk9HX0ND
XSwgW0FDX1BST0dfQ0NdKQotIyAgICAgbTRfcmVxdWlyZShbQUNfQ0hFQ0tfSEVBREVSUyh0aHJl
YWRzLmgpXSwgW0FDX0NIRUNLX0hFQURFUlModGhyZWFkcy5oKV0pCi0jICAgd2hpY2ggaXMganVz
dCB0aGUgc2FtZSBhcwotIyAgICAgbTRfcmVxdWlyZShbQUNfUFJPR19DQ10pCi0jICAgICBtNF9y
ZXF1aXJlKFtBQ19DSEVDS19IRUFERVJTKHRocmVhZHMuaCldKQotIwotIyAtIEJPRFktVE8tRVhQ
QU5EID09IG00X2luZGlyKFtOQU1FLVRPLUNIRUNLXSkKLSMgICBJbiB0aGUgY2FzZSBvZiBtYWNy
b3Mgd2l0aCBpcnJlZ3VsYXIgbmFtZXMuICBGb3IgaW5zdGFuY2U6Ci0jICAgICBtNF9yZXF1aXJl
KFtBQ19MQU5HX0NPTVBJTEVSKEMpXSwgW2luZGlyKFtBQ19MQU5HX0NPTVBJTEVSKEMpXSldKQot
IyAgIHdoaWNoIG1lYW5zIGBpZiB0aGUgbWFjcm8gbmFtZWQgYEFDX0xBTkdfQ09NUElMRVIoQykn
ICh0aGUgcGFyZW5zIGFyZQotIyAgIHBhcnQgb2YgdGhlIG5hbWUsIGl0IGlzIG5vdCBhbiBhcmd1
bWVudCkgaGFzIG5vdCBiZWVuIHJ1biwgdGhlbgotIyAgIGNhbGwgaXQuJwotIyAgIEhhZCB5b3Ug
dXNlZAotIyAgICAgbTRfcmVxdWlyZShbQUNfTEFOR19DT01QSUxFUihDKV0sIFtBQ19MQU5HX0NP
TVBJTEVSKEMpXSkKLSMgICB0aGVuIG00X3JlcXVpcmUgd291bGQgaGF2ZSB0cmllZCB0byBleHBh
bmQgYEFDX0xBTkdfQ09NUElMRVIoQyknLCBpLmUuLAotIyAgIGNhbGwgdGhlIG1hY3JvIGBBQ19M
QU5HX0NPTVBJTEVSJyB3aXRoIGBDJyBhcyBhcmd1bWVudC4KLSMKLSMgICBZb3UgY291bGQgYXJn
dWUgdGhhdCBgQUNfTEFOR19DT01QSUxFUicsIHdoZW4gaXQgcmVjZWl2ZXMgYW4gYXJndW1lbnQK
LSMgICBzdWNoIGFzIGBDJyBzaG91bGQgZGlzcGF0Y2ggdGhlIGNhbGwgdG8gYEFDX0xBTkdfQ09N
UElMRVIoQyknLiAgQnV0IHRoaXMKLSMgICBgZXh0ZW5zaW9uJyBwcmV2ZW50cyBgQUNfTEFOR19D
T01QSUxFUicgZnJvbSBoYXZpbmcgYWN0dWFsIGFyZ3VtZW50cyB0aGF0Ci0jICAgaXQgcGFzc2Vz
IHRvIGBBQ19MQU5HX0NPTVBJTEVSKEMpJy4KLSMKLSMgVGhpcyBpcyBjYWxsZWQgZnJlcXVlbnRs
eSwgc28gbWluaW1pemUgdGhlIG51bWJlciBvZiBtYWNybyBpbnZvY2F0aW9ucwotIyBieSBhdm9p
ZGluZyBkbmwgYW5kIG90aGVyIG92ZXJoZWFkIG9uIHRoZSBjb21tb24gcGF0aC4KLW00X2RlZmlu
ZShbbTRfcmVxdWlyZV0sCi1bbTRfaWZkZWYoW19tNF9leHBhbmRpbmcoJDEpXSwKLSAgW200X2Zh
dGFsKFskMDogY2lyY3VsYXIgZGVwZW5kZW5jeSBvZiAkMV0pXSldZG5sCi1bbTRfaWYoX200X2Rp
dmVydF9kdW1wLCBbXSwKLSAgW200X2ZhdGFsKFskMCgkMSk6IGNhbm5vdCBiZSB1c2VkIG91dHNp
ZGUgb2YgYW4gXWRubAotbTRfaWYoWyQwXSwgW200X3JlcXVpcmVdLCBbW200X2RlZnVuXV0sIFtb
QUNfREVGVU5dXSlbJ2QgbWFjcm9dKV0pXWRubAotW200X3Byb3ZpZGVfaWYoWyQxXSwgW200X3Nl
dF9jb250YWlucyhbX200X3Byb3ZpZGVdLCBbJDFdLAotICAgIFtfbTRfcmVxdWlyZV9jaGVjayhb
JDFdLCBfbTRfZGVmbihbbTRfcHJvdmlkZSgkMSldKSwgWyQwXSldLCBbbTRfaWdub3JlXSldLAot
ICBbX200X3JlcXVpcmVfY2FsbF0pKFskMV0sIFskMl0sIF9tNF9kaXZlcnRfZHVtcCldKQotCi0K
LSMgX200X3JlcXVpcmVfY2FsbChOQU1FLVRPLUNIRUNLLCBbQk9EWS1UTy1FWFBBTkQgPSBOQU1F
LVRPLUNIRUNLXSwKLSMgICAgICAgICAgICAgICAgICBESVZFUlNJT04tTlVNQkVSKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotIyBJZiBtNF9yZXF1aXJlIGRlY2lkZXMgdG8gZXhwYW5kIHRoZSBib2R5LCBpdCBjYWxs
cyB0aGlzIG1hY3JvLiAgVGhlCi0jIGV4cGFuc2lvbiBpcyBwbGFjZWQgaW4gRElWRVJTSU9OLU5V
TUJFUi4KLSMKLSMgVGhpcyBpcyBjYWxsZWQgZnJlcXVlbnRseSwgc28gbWluaW1pemUgdGhlIG51
bWJlciBvZiBtYWNybyBpbnZvY2F0aW9ucwotIyBieSBhdm9pZGluZyBkbmwgYW5kIG90aGVyIG92
ZXJoZWFkIG9uIHRoZSBjb21tb24gcGF0aC4KLSMgVGhlIHVzZSBvZiBhIHdpdG5lc3MgbWFjcm8g
cHJvdGVjdGluZyB0aGUgd2FybmluZyBhbGxvd3MgYWNsb2NhbAotIyB0byBzaWxlbmNlIGFueSB3
YXJuaW5ncyB3aGVuIHByb2JpbmcgZm9yIHdoYXQgbWFjcm9zIGFyZSByZXF1aXJlZAotIyBhbmQg
bXVzdCB0aGVyZWZvcmUgYmUgbG9jYXRlZCwgd2hlbiB1c2luZyB0aGUgQXV0b2NvbmYtd2l0aG91
dC1hY2xvY2FsLW00Ci0jIGF1dG9tNHRlIGxhbmd1YWdlLiAgRm9yIG1vcmUgYmFja2dyb3VuZCwg
c2VlOgotIyBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLXBhdGNo
ZXMvMjAxMi0xMS9tc2cwMDAzNS5odG1sCi1tNF9kZWZpbmUoW19tNF9yZXF1aXJlX2NhbGxdLAot
W200X3B1c2hkZWYoW19tNF9kaXZlcnRfZ3Jvd10sIG00X2RlY3IoX200X2RpdmVydF9ncm93KSld
ZG5sCi1bbTRfcHVzaGRlZihbX200X2RpdmVydGluZyhbJDFdKV0pbTRfcHVzaGRlZihbX200X2Rp
dmVydGluZ10sIFskMV0pXWRubAotW200X2RpdmVydF9wdXNoKF9tNF9kaXZlcnRfZ3JvdywgWy1d
KV1kbmwKLVttNF9pZihbJDJdLCBbXSwgWyQxXSwgWyQyXSkKLW00X3Byb3ZpZGVfaWYoWyQxXSwg
W200X3NldF9yZW1vdmUoW19tNF9wcm92aWRlXSwgWyQxXSldLAotICBbbTRfaWZuZGVmKFttNF9y
ZXF1aXJlX3NpbGVudF9wcm9iZV0sCi0gICAgW200X3dhcm4oW3N5bnRheF0sIFskMSBpcyBtNF9y
ZXF1aXJlJ2QgYnV0IG5vdCBtNF9kZWZ1bidkXSldKV0pXWRubAotW19tNF9kaXZlcnRfcmF3KCQz
KV9tNF91bmRpdmVydChfbTRfZGl2ZXJ0X2dyb3cpXWRubAotW200X2RpdmVydF9wb3AoX200X2Rp
dmVydF9ncm93KV9tNF9wb3BkZWYoW19tNF9kaXZlcnRfZ3Jvd10sCi1bX200X2RpdmVydGluZyhb
JDFdKV0sIFtfbTRfZGl2ZXJ0aW5nXSldKQotCi0KLSMgX200X3JlcXVpcmVfY2hlY2soTkFNRS1U
Ty1DSEVDSywgT1dORVIsIENBTExFUikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgTkFNRS1UTy1DSEVDSyBoYXMgYmVlbiBpZGVudGlmaWVkIGFz
IHByZXZpb3VzbHkgZXhwYW5kZWQgaW4gdGhlCi0jIGRpdmVyc2lvbiBvd25lZCBieSBPV05FUi4g
IElmIHRoaXMgaXMgYSBwcm9ibGVtLCB3YXJuIG9uIGJlaGFsZiBvZgotIyBDQUxMRVIgYW5kIHJl
dHVybiBfbTRfcmVxdWlyZV9jYWxsOyBvdGhlcndpc2UgcmV0dXJuIG00X2lnbm9yZS4KLW00X2Rl
ZmluZShbX200X3JlcXVpcmVfY2hlY2tdLAotW200X2lmKF9tNF9kZWZuKFtfbTRfZGl2ZXJ0aW5n
XSksIFskMl0sIFttNF9pZ25vcmVdLAotICAgICAgIG00X2lmZGVmKFtfbTRfZGl2ZXJ0aW5nKFsk
Ml0pXSwgWy1dKSwgWy1dLCBbbTRfd2Fybihbc3ludGF4XSwKLSAgIFskMzogYCQxJyB3YXMgZXhw
YW5kZWQgYmVmb3JlIGl0IHdhcyByZXF1aXJlZAotaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy
ZS9hdXRvY29uZi9tYW51YWwvYXV0b2NvbmYuaHRtbCNFeHBhbmRlZC1CZWZvcmUtUmVxdWlyZWRd
KV9tNF9yZXF1aXJlX2NhbGxdLAotICAgICAgIFttNF9pZ25vcmVdKV0pCi0KLQotIyBfbTRfZGl2
ZXJ0X2dyb3cKLSMgLS0tLS0tLS0tLS0tLS0tCi0jIFRoZSBjb3VudGVyIGZvciBfbTRfcmVxdWly
ZV9jYWxsLgotbTRfZGVmaW5lKFtfbTRfZGl2ZXJ0X2dyb3ddLCBfbTRfZGl2ZXJ0KFtHUk9XXSkp
Ci0KLQotIyBtNF9leHBhbmRfb25jZShURVhULCBbV0lUTkVTUyA9IFRFWFRdKQotIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBURVhUIGhhcyBuZXZlciBiZWVu
IGV4cGFuZGVkLCBleHBhbmQgaXQgKmhlcmUqLiAgVXNlIFdJVE5FU1MgYXMKLSMgYXMgYSBtZW1v
cnkgdGhhdCBURVhUIGhhcyBhbHJlYWR5IGJlZW4gZXhwYW5kZWQuCi1tNF9kZWZpbmUoW200X2V4
cGFuZF9vbmNlXSwKLVttNF9wcm92aWRlX2lmKG00X2RlZmF1bHRfcXVvdGVkKFskMl0sIFskMV0p
LAotCSAgICAgICBbXSwKLQkgICAgICAgW200X3Byb3ZpZGUobTRfZGVmYXVsdF9xdW90ZWQoWyQy
XSwgWyQxXSkpW10kMV0pXSkKLQotCi0jIG00X3Byb3ZpZGUoTUFDUk8tTkFNRSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotbTRfZGVmaW5lKFttNF9wcm92aWRlXSwKLVttNF9pZmRlZihbbTRf
cHJvdmlkZSgkMSldLCBbXSwKLVttNF9zZXRfYWRkKFtfbTRfcHJvdmlkZV0sIFskMV0sIFttNF9k
ZWZpbmUoW200X3Byb3ZpZGUoJDEpXSwKLSAgbTRfaWZkZWYoW19tNF9kaXZlcnRpbmddLCBbX200
X2RlZm4oW19tNF9kaXZlcnRpbmddKV0pKV0pXSldKQotCi0KLSMgbTRfcHJvdmlkZV9pZihNQUNS
Ty1OQU1FLCBJRi1QUk9WSURFRCwgSUYtTk9ULVBST1ZJREVEKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIE1BQ1JPLU5BTUUg
aXMgcHJvdmlkZWQgZG8gSUYtUFJPVklERUQsIGVsc2UgSUYtTk9ULVBST1ZJREVELgotIyBUaGUg
cHVycG9zZSBvZiB0aGlzIG1hY3JvIGlzIHRvIHByb3ZpZGUgdGhlIHVzZXIgd2l0aCBhIG1lYW5z
IHRvCi0jIGNoZWNrIG1hY3JvcyB3aGljaCBhcmUgcHJvdmlkZWQgd2l0aG91dCBsZXR0aW5nIGhl
ciBrbm93IGhvdyB0aGUKLSMgaW5mb3JtYXRpb24gaXMgY29kZWQuCi1tNF9kZWZpbmUoW200X3By
b3ZpZGVfaWZdLAotW200X2lmZGVmKFttNF9wcm92aWRlKCQxKV0sCi0JICBbJDJdLCBbJDNdKV0p
Ci0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyAxMi4gVGV4dCBwcm9jZXNzaW5n
LiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0KLSMgbTRfY3JfbGV0dGVycwot
IyBtNF9jcl9MRVRURVJTCi0jIG00X2NyX0xldHRlcnMKLSMgLS0tLS0tLS0tLS0tLQotbTRfZGVm
aW5lKFttNF9jcl9sZXR0ZXJzXSwgW2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6XSkKLW00X2Rl
ZmluZShbbTRfY3JfTEVUVEVSU10sIFtBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWl0pCi1tNF9k
ZWZpbmUoW200X2NyX0xldHRlcnNdLAotbTRfZGVmbihbbTRfY3JfbGV0dGVyc10pZG5sCi1tNF9k
ZWZuKFttNF9jcl9MRVRURVJTXSlkbmwKLSkKLQotCi0jIG00X2NyX2RpZ2l0cwotIyAtLS0tLS0t
LS0tLS0KLW00X2RlZmluZShbbTRfY3JfZGlnaXRzXSwgWzAxMjM0NTY3ODldKQotCi0KLSMgbTRf
Y3JfYWxudW0KLSMgLS0tLS0tLS0tLS0KLW00X2RlZmluZShbbTRfY3JfYWxudW1dLAotbTRfZGVm
bihbbTRfY3JfTGV0dGVyc10pZG5sCi1tNF9kZWZuKFttNF9jcl9kaWdpdHNdKWRubAotKQotCi0K
LSMgbTRfY3Jfc3ltYm9sczEKLSMgbTRfY3Jfc3ltYm9sczIKLSMgLS0tLS0tLS0tLS0tLS0KLW00
X2RlZmluZShbbTRfY3Jfc3ltYm9sczFdLAotbTRfZGVmbihbbTRfY3JfTGV0dGVyc10pZG5sCi1f
KQotCi1tNF9kZWZpbmUoW200X2NyX3N5bWJvbHMyXSwKLW00X2RlZm4oW200X2NyX3N5bWJvbHMx
XSlkbmwKLW00X2RlZm4oW200X2NyX2RpZ2l0c10pZG5sCi0pCi0KLSMgbTRfY3JfYWxsCi0jIC0t
LS0tLS0tLQotIyBUaGUgY2hhcmFjdGVyIHJhbmdlIHJlcHJlc2VudGluZyBldmVyeXRoaW5nLCB3
aXRoIGAtJyBhcyB0aGUgbGFzdAotIyBjaGFyYWN0ZXIsIHNpbmNlIGl0IGlzIHNwZWNpYWwgdG8g
bTRfdHJhbnNsaXQuICBVc2Ugd2l0aCBjYXJlLCBiZWNhdXNlCi0jIGl0IGNvbnRhaW5zIGNoYXJh
Y3RlcnMgc3BlY2lhbCB0byBNNCAoZm9ydHVuYXRlbHksIGJvdGggQVNDSUkgYW5kIEVCQ0RJQwot
IyBoYXZlIFtdIGluIG9yZGVyLCBzbyBtNF9kZWZuKFttNF9jcl9hbGxdKSByZW1haW5zIGEgdmFs
aWQgc3RyaW5nKS4gIEl0Ci0jIGFsc28gY29udGFpbnMgY2hhcmFjdGVycyBzcGVjaWFsIHRvIHRl
cm1pbmFscywgc28gaXQgc2hvdWxkIG5ldmVyIGJlCi0jIGRpc3BsYXllZCBpbiBhbiBlcnJvciBt
ZXNzYWdlLiAgQWxzbywgYXR0ZW1wdHMgdG8gbWFwIFsgYW5kIF0gdG8gb3RoZXIKLSMgY2hhcmFj
dGVycyB2aWEgbTRfdHJhbnNsaXQgbXVzdCBkZWFsIHdpdGggdGhlIGZhY3QgdGhhdCBtNF90cmFu
c2xpdCBkb2VzCi0jIG5vdCBhZGQgcXVvdGVzIHRvIHRoZSBvdXRwdXQuCi0jCi0jIEluIEVCQ0RJ
QywgJCBpcyBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSAqLCB3aGljaCBsZWFkcyB0byBwcm9ibGVt
cwotIyBpZiBtNF9jcl9hbGwgaXMgaW5saW5lZCBpbnRvIGEgbWFjcm8gZGVmaW5pdGlvbjsgc28g
c3dhcCB0aGVtLgotIwotIyBJdCBpcyBtYWlubHkgdXNlZnVsIGluIGdlbmVyYXRpbmcgaW52ZXJ0
ZWQgY2hhcmFjdGVyIHJhbmdlIG1hcHMsIGZvciB1c2UKLSMgaW4gcGxhY2VzIHdoZXJlIG00X3Ry
YW5zbGl0IGlzIGZhc3RlciB0aGFuIGFuIGVxdWl2YWxlbnQgbTRfYnBhdHN1YnN0OwotIyB0aGUg
cmVnZXggYFteYS16XScgaXMgZXF1aXZhbGVudCB0bzoKLSMgIG00X3RyYW5zbGl0KG00X2RxdW90
ZShtNF9kZWZuKFttNF9jcl9hbGxdKSksIFthLXpdKQotbTRfZGVmaW5lKFttNF9jcl9hbGxdLAot
bTRfdHJhbnNsaXQobTRfZHF1b3RlKG00X2Zvcm1hdChtNF9kcXVvdGUobTRfZm9yKAotICAsMSwy
NTUsLFtbJWNdXSkpbTRfZm9yKFtpXSwxLDI1NSwsWyxpXSkpKSwgWyQqLV0sIFsqJF0pLSkKLQot
Ci0jIF9tNF9kZWZpbmVfY3Jfbm90KENBVEVHT1JZKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSMgRGVmaW5lIG00X2NyX25vdF9DQVRFR09SWSBhcyB0aGUgaW52ZXJzZSBvZiBtNF9j
cl9DQVRFR09SWS4KLW00X2RlZmluZShbX200X2RlZmluZV9jcl9ub3RdLAotW200X2RlZmluZShb
bTRfY3Jfbm90XyQxXSwKLQkgICBtNF90cmFuc2xpdChtNF9kcXVvdGUobTRfZGVmbihbbTRfY3Jf
YWxsXSkpLAotCQkgICAgICAgbTRfZGVmbihbbTRfY3JfJDFdKSkpXSkKLQotCi0jIG00X2NyX25v
dF9sZXR0ZXJzCi0jIG00X2NyX25vdF9MRVRURVJTCi0jIG00X2NyX25vdF9MZXR0ZXJzCi0jIG00
X2NyX25vdF9kaWdpdHMKLSMgbTRfY3Jfbm90X2FsbnVtCi0jIG00X2NyX25vdF9zeW1ib2xzMQot
IyBtNF9jcl9ub3Rfc3ltYm9sczIKLSMgLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEludmVyc2UgY2hh
cmFjdGVyIHNldHMKLV9tNF9kZWZpbmVfY3Jfbm90KFtsZXR0ZXJzXSkKLV9tNF9kZWZpbmVfY3Jf
bm90KFtMRVRURVJTXSkKLV9tNF9kZWZpbmVfY3Jfbm90KFtMZXR0ZXJzXSkKLV9tNF9kZWZpbmVf
Y3Jfbm90KFtkaWdpdHNdKQotX200X2RlZmluZV9jcl9ub3QoW2FsbnVtXSkKLV9tNF9kZWZpbmVf
Y3Jfbm90KFtzeW1ib2xzMV0pCi1fbTRfZGVmaW5lX2NyX25vdChbc3ltYm9sczJdKQotCi0KLSMg
bTRfbmV3bGluZShbU1RSSU5HXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kcyB0
byBhIG5ld2xpbmUsIHBvc3NpYmx5IGZvbGxvd2VkIGJ5IFNUUklORy4gIEV4aXN0cyBtb3N0bHkg
Zm9yCi0jIGZvcm1hdHRpbmcgcmVhc29ucy4KLW00X2RlZmluZShbbTRfbmV3bGluZV0sIFsKLSQx
XSkKLQotCi0jIG00X3JlX2VzY2FwZShTVFJJTkcpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IEVzY2FwZSBSRSBhY3RpdmUgY2hhcmFjdGVycyBpbiBTVFJJTkcuCi1tNF9kZWZpbmUoW200X3Jl
X2VzY2FwZV0sCi1bbTRfYnBhdHN1YnN0KFskMV0sCi0JICAgICAgW1tdWyorLj9cXiRdXSwgW1xc
XCZdKV0pCi0KLQotIyBtNF9yZV9zdHJpbmcKLSMgLS0tLS0tLS0tLS0tCi0jIFJlZ2V4cCBmb3Ig
YFthLXpBLVpfMC05XSonCi0jIG00X2RxdW90ZSBwcm92aWRlcyBsaXRlcmFsIFtdIGZvciB0aGUg
Y2hhcmFjdGVyIGNsYXNzLgotbTRfZGVmaW5lKFttNF9yZV9zdHJpbmddLAotbTRfZHF1b3RlKG00
X2RlZm4oW200X2NyX3N5bWJvbHMyXSkpZG5sCi1bKl1kbmwKLSkKLQotCi0jIG00X3JlX3dvcmQK
LSMgLS0tLS0tLS0tLQotIyBSZWdleHAgZm9yIGBbYS16QS1aX11bYS16QS1aXzAtOV0qJwotbTRf
ZGVmaW5lKFttNF9yZV93b3JkXSwKLW00X2RxdW90ZShtNF9kZWZuKFttNF9jcl9zeW1ib2xzMV0p
KWRubAotbTRfZGVmbihbbTRfcmVfc3RyaW5nXSlkbmwKLSkKLQotCi0jIG00X3RvbG93ZXIoU1RS
SU5HKQotIyBtNF90b3VwcGVyKFNUUklORykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFRoZXNl
IG1hY3JvcyBjb252ZXJ0IFNUUklORyB0byBsb3dlcmNhc2Ugb3IgdXBwZXJjYXNlLgotIwotIyBS
YXRoZXIgdGhhbiBleHBhbmQgdGhlIG00X2RlZm4gZWFjaCB0aW1lLCB3ZSBpbmxpbmUgdGhlbSB1
cCBmcm9udC4KLW00X2RlZmluZShbbTRfdG9sb3dlcl0sCi1bbTRfdHJhbnNsaXQoW1skMV1dLCBd
bTRfZHF1b3RlKG00X2RlZm4oW200X2NyX0xFVFRFUlNdKSlbLAotCQkgICAgIF1tNF9kcXVvdGUo
bTRfZGVmbihbbTRfY3JfbGV0dGVyc10pKVspXSkKLW00X2RlZmluZShbbTRfdG91cHBlcl0sCi1b
bTRfdHJhbnNsaXQoW1skMV1dLCBdbTRfZHF1b3RlKG00X2RlZm4oW200X2NyX2xldHRlcnNdKSlb
LAotCQkgICAgIF1tNF9kcXVvdGUobTRfZGVmbihbbTRfY3JfTEVUVEVSU10pKVspXSkKLQotCi0j
IG00X3NwbGl0KFNUUklORywgW1JFR0VYUF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jIFNwbGl0IFNUUklORyBpbnRvIGFuIG00IGxpc3Qgb2YgcXVvdGVkIGVsZW1lbnRzLiAgVGhl
IGVsZW1lbnRzIGFyZQotIyBxdW90ZWQgd2l0aCBbIGFuZCBdLiAgQmVnaW5uaW5nIHNwYWNlcyBh
bmQgZW5kIHNwYWNlcyAqYXJlIGtlcHQqLgotIyBVc2UgbTRfc3RyaXAgdG8gcmVtb3ZlIHRoZW0u
Ci0jCi0jIFJFR0VYUCBzcGVjaWZpZXMgd2hlcmUgdG8gc3BsaXQuICBEZWZhdWx0IGlzIFtcdCBd
Ky4KLSMKLSMgSWYgU1RSSU5HIGlzIGVtcHR5LCB0aGUgcmVzdWx0IGlzIGFuIGVtcHR5IGxpc3Qu
Ci0jCi0jIFBheSBhdHRlbnRpb24gdG8gdGhlIG00X2NoYW5nZXF1b3Rlcy4gIFdoZW4gbTQgcmVh
ZHMgdGhlIGRlZmluaXRpb24gb2YKLSMgbTRfc3BsaXQsIGl0IHN0aWxsIGhhcyBxdW90ZXMgc2V0
IHRvIFsgYW5kIF0uICBMdWNraWx5LCB0aGVzZSBhcmUgbWF0Y2hlZAotIyBpbiB0aGUgbWFjcm8g
Ym9keSwgc28gdGhlIGRlZmluaXRpb24gaXMgc3RvcmVkIGNvcnJlY3RseS4gIFVzZSB0aGUgc2Ft
ZQotIyBhbHRlcm5hdGUgcXVvdGVzIGFzIG00X25vcXVvdGU7IGl0IG11c3QgYmUgdW5saWtlbHkg
dG8gYXBwZWFyIGluICQxLgotIwotIyBBbHNvLCBub3RpY2UgdGhhdCAkMSBpcyBxdW90ZWQgdHdp
Y2UsIHNpbmNlIHdlIHdhbnQgdGhlIHJlc3VsdCB0bwotIyBiZSBxdW90ZWQuICBUaGVuIHlvdSBz
aG91bGQgdW5kZXJzdGFuZCB0aGF0IHRoZSBhcmd1bWVudCBvZgotIyBwYXRzdWJzdCBpcyAtPTx7
KFNUUklORyl9Pj0tIChpLmUuLCB3aXRoIGFkZGl0aW9uYWwgLT08eyggYW5kICl9Pj0tKS4KLSMK
LSMgVGhpcyBtYWNybyBpcyBzYWZlIG9uIGFjdGl2ZSBzeW1ib2xzLCBpLmUuOgotIyAgIG00X2Rl
ZmluZShhY3RpdmUsIEFDVElWRSkKLSMgICBtNF9zcGxpdChbYWN0aXZlIGFjdGl2ZSBdKWVuZAot
IyAgID0+IFthY3RpdmVdLCBbYWN0aXZlXSwgW11lbmQKLSMKLSMgT3B0aW1pemUgb24gcmVnZXgg
b2YgYCAnIChzcGFjZSksIHNpbmNlIG00X2ZvcmVhY2hfdyBhbHJlYWR5IGd1YXJhbnRlZXMKLSMg
dGhhdCB0aGUgbGlzdCBjb250YWlucyBzaW5nbGUgc3BhY2Ugc2VwYXJhdG9ycywgYW5kIGEgY29t
bW9uIGNhc2UgaXMKLSMgc3BsaXR0aW5nIGEgc2luZ2xlLWVsZW1lbnQgbGlzdC4gIFRoaXMgbWFj
cm8gaXMgY2FsbGVkIGZyZXF1ZW50bHksCi0jIHNvIGF2b2lkIHVubmVjZXNzYXJ5IGRubCBpbnNp
ZGUgdGhlIGRlZmluaXRpb24uCi1tNF9kZWZpbmUoW200X3NwbGl0XSwKLVttNF9pZihbJDFdLCBb
XSwgW10sCi0gICAgICAgWyQyXSwgWyBdLCBbbTRfaWYobTRfaW5kZXgoWyQxXSwgWyBdKSwgWy0x
XSwgW1tbJDFdXV0sCi0JCQkgW18kMChbJDFdLCBbJDJdLCBbLCBdKV0pXSwKLSAgICAgICBbJDJd
LCBbXSwgW18kMChbJDFdLCBbWwkgXStdLCBbLCBdKV0sCi0gICAgICAgW18kMChbJDFdLCBbJDJd
LCBbLCBdKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfc3BsaXRdLAotW200X2NoYW5nZXF1b3RlKFst
PTx7KF0sWyl9Pj0tXSldZG5sCi1bW200X2JwYXRzdWJzdCgtPTx7KC09PHsoJDEpfT49LSl9Pj0t
LCAtPTx7KCQyKX0+PS0sCi0JICAgICAgIC09PHsoXSQzWyl9Pj0tKV1tNF9jaGFuZ2VxdW90ZShb
LCBdKV0pCi0KLQotIyBtNF9jaG9tcChTVFJJTkcpCi0jIG00X2Nob21wX2FsbChTVFJJTkcpCi0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFJldHVybiBTVFJJTkcgcXVvdGVkLCBidXQgd2l0aG91
dCBhIHRyYWlsaW5nIG5ld2xpbmUuICBtNF9jaG9tcAotIyByZW1vdmVzIGF0IG1vc3Qgb25lIG5l
d2xpbmUsIHdoaWxlIG00X2Nob21wX2FsbCByZW1vdmVzIGFsbAotIyBjb25zZWN1dGl2ZSB0cmFp
bGluZyBuZXdsaW5lcy4gIEVtYmVkZGVkIG5ld2xpbmVzIGFyZSBub3QgdG91Y2hlZCwKLSMgYW5k
IGEgdHJhaWxpbmcgYmFja3NsYXNoLW5ld2xpbmUgbGVhdmVzIGp1c3QgYSB0cmFpbGluZyBiYWNr
c2xhc2guCi0jCi0jIG00X2JyZWdleHAgaXMgc2xvd2VyIHRoYW4gbTRfaW5kZXgsIGFuZCB3ZSBk
b24ndCBhbHdheXMgd2FudCB0bwotIyByZW1vdmUgYWxsIG5ld2xpbmVzOyBoZW5jZSB0aGUgdHdv
IHZhcmlhbnRzLiAgV2UgbWFzc2FnZSBjaGFyYWN0ZXJzCi0jIHRvIGdpdmUgYSBuaWNlciBwYXR0
ZXJuIHRvIG1hdGNoLCBwYXJ0aWN1bGFybHkgc2luY2UgbTRfYnJlZ2V4cCBpcwotIyBsaW5lLW9y
aWVudGVkLiAgQm90aCB2ZXJzaW9ucyBtdXN0IGd1YXJhbnRlZSBhIG1hdGNoLCB0byBhdm9pZCBi
dWdzCi0jIHdpdGggcHJlY2lzaW9uIC0xIGluIG00X2Zvcm1hdCBpbiBvbGRlciBtNC4KLW00X2Rl
ZmluZShbbTRfY2hvbXBdLAotW200X2Zvcm1hdChbWyUuKnNdXSwgbTRfaW5kZXgobTRfdHJhbnNs
aXQoW1skMV1dLCBbCi0vLl0sIFsvICBdKVsuLy5dLCBbLy5dKSwgWyQxXSldKQotCi1tNF9kZWZp
bmUoW200X2Nob21wX2FsbF0sCi1bbTRfZm9ybWF0KFtbJS4qc11dLCBtNF9icmVnZXhwKG00X3Ry
YW5zbGl0KFtbJDFdXSwgWwotL10sIFsvIF0pLCBbLyokXSksIFskMV0pXSkKLQotCi0jIG00X2Zs
YXR0ZW4oU1RSSU5HKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgU1RSSU5HIGNvbnRhaW5z
IGVuZCBvZiBsaW5lcywgcmVwbGFjZSB0aGVtIHdpdGggc3BhY2VzLiAgSWYgdGhlcmUKLSMgYXJl
IGJhY2tzbGFzaGVkIGVuZCBvZiBsaW5lcywgcmVtb3ZlIHRoZW0uICBUaGlzIG1hY3JvIGlzIHNh
ZmUgd2l0aAotIyBhY3RpdmUgc3ltYm9scy4KLSMgICAgbTRfZGVmaW5lKGFjdGl2ZSwgQUNUSVZF
KQotIyAgICBtNF9mbGF0dGVuKFthY3RpdmUKLSMgICAgYWN0XAotIyAgICBpdmVdKWVuZAotIyAg
ICA9PiBhY3RpdmUgYWN0aXZlZW5kCi0jCi0jIEluIG00LCBtNF9icGF0c3Vic3QgaXMgZXhwZW5z
aXZlLCBzbyBmaXJzdCBjaGVjayBmb3IgYSBuZXdsaW5lLgotbTRfZGVmaW5lKFttNF9mbGF0dGVu
XSwKLVttNF9pZihtNF9pbmRleChbJDFdLCBbCi1dKSwgWy0xXSwgW1skMV1dLAotICAgICAgIFtt
NF90cmFuc2xpdChtNF9icGF0c3Vic3QoW1tbJDFdXV0sIFtcXAotXSksIFsKLV0sIFsgXSldKV0p
Ci0KLQotIyBtNF9zdHJpcChTVFJJTkcpCi0jIC0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kcyBp
bnRvIFNUUklORyB3aXRoIHRhYnMgYW5kIHNwYWNlcyBzaW5nbGVkIG91dCBpbnRvIGEgc2luZ2xl
Ci0jIHNwYWNlLCBhbmQgcmVtb3ZpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzLgotIwot
IyBUaGlzIG1hY3JvIGlzIHJvYnVzdCB0byBhY3RpdmUgc3ltYm9scy4KLSMgICAgbTRfZGVmaW5l
KGFjdGl2ZSwgQUNUSVZFKQotIyAgICBtNF9zdHJpcChbICBhY3RpdmUgPHRhYj4gPHRhYj5hY3Rp
dmUgXSllbmQKLSMgICAgPT4gYWN0aXZlIGFjdGl2ZWVuZAotIwotIyBGaXJzdCwgbm90aWNlIHRo
YXQgd2UgZ3VhcmFudGVlIHRyYWlsaW5nIHNwYWNlLiAgV2h5PyAgQmVjYXVzZSByZWd1bGFyCi0j
IGV4cHJlc3Npb25zIGFyZSBncmVlZHksIGFuZCBgLiogPycgd291bGQgYWx3YXlzIGdyb3VwIHRo
ZSBzcGFjZSBpbnRvIHRoZQotIyAuKiBwb3J0aW9uLiAgVGhlIGFsZ29yaXRobSBpcyBzaW1wbGVy
IGJ5IGF2b2lkaW5nIGA/JyBhdCB0aGUgZW5kLiAgVGhlCi0jIGFsZ29yaXRobSBjb3JyZWN0bHkg
c3RyaXBzIGV2ZXJ5dGhpbmcgaWYgU1RSSU5HIGlzIGp1c3QgYCAnLgotIwotIyBUaGVuIG5vdGlj
ZSB0aGUgc2Vjb25kIHBhdHRlcm46IGl0IGlzIGluIGNoYXJnZSBvZiByZW1vdmluZyB0aGUKLSMg
bGVhZGluZy90cmFpbGluZyBzcGFjZXMuICBXaHkgbm90IGp1c3QgYFteIF0nPyAgQmVjYXVzZSB0
aGV5IGFyZQotIyBhcHBsaWVkIHRvIG92ZXItcXVvdGVkIHN0cmluZ3MsIGkuZS4gbW9yZSBvciBs
ZXNzIFtTVFJJTkddLCBkdWUKLSMgdG8gdGhlIGxpbWl0YXRpb25zIG9mIG00X2JwYXRzdWJzdHMu
ICBTbyB0aGUgbGVhZGluZyBzcGFjZSBpbiBTVFJJTkcKLSMgaXMgdGhlICpzZWNvbmQqIGNoYXJh
Y3RlcjsgZXF1YWxseSBmb3IgdGhlIHRyYWlsaW5nIHNwYWNlLgotbTRfZGVmaW5lKFttNF9zdHJp
cF0sCi1bbTRfYnBhdHN1YnN0cyhbJDEgXSwKLQkgICAgICAgW1sJIF0rXSwgWyBdLAotCSAgICAg
ICBbXi4gP1woLipcKSAuJF0sIFtbW1wxXV1dKV0pCi0KLQotIyBtNF9ub3JtYWxpemUoU1RSSU5H
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBBcHBseSBtNF9mbGF0dGVuIGFuZCBtNF9zdHJp
cCB0byBTVFJJTkcuCi0jCi0jIFRoZSBhcmd1bWVudCBpcyBxdW90ZWQsIHNvIHRoYXQgdGhlIG1h
Y3JvIGlzIHJvYnVzdCB0byBhY3RpdmUgc3ltYm9sczoKLSMKLSMgICAgbTRfZGVmaW5lKGFjdGl2
ZSwgQUNUSVZFKQotIyAgICBtNF9ub3JtYWxpemUoWyAgYWN0XAotIyAgICBpdmUKLSMgICAgYWN0
aXZlIF0pZW5kCi0jICAgID0+IGFjdGl2ZSBhY3RpdmVlbmQKLQotbTRfZGVmaW5lKFttNF9ub3Jt
YWxpemVdLAotW200X3N0cmlwKG00X2ZsYXR0ZW4oWyQxXSkpXSkKLQotCi0KLSMgbTRfam9pbihT
RVAsIEFSRzEsIEFSRzIuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQcm9k
dWNlIEFSRzFTRVBBUkcyLi4uU0VQQVJHbi4gIEF2b2lkIGJhY2stdG8tYmFjayBTRVAgd2hlbiBh
IGdpdmVuIEFSRwotIyBpcyB0aGUgZW1wdHkgc3RyaW5nLiAgTm8gZXhwYW5zaW9uIGlzIHBlcmZv
cm1lZCBvbiBTRVAgb3IgQVJHcy4KLSMKLSMgU2luY2UgdGhlIG51bWJlciBvZiBhcmd1bWVudHMg
dG8gam9pbiBjYW4gYmUgYXJiaXRyYXJpbHkgbG9uZywgd2UKLSMgd2FudCB0byBhdm9pZCBoYXZp
bmcgbW9yZSB0aGFuIG9uZSAkQCBpbiB0aGUgbWFjcm8gZGVmaW5pdGlvbjsKLSMgb3RoZXJ3aXNl
LCB0aGUgZXhwYW5zaW9uIHdvdWxkIHJlcXVpcmUgdHdpY2UgdGhlIG1lbW9yeSBvZiB0aGUgYWxy
ZWFkeQotIyBsb25nIGxpc3QuICBIZW5jZSwgbTRfam9pbiBtZXJlbHkgbG9va3MgZm9yIHRoZSBm
aXJzdCBub24tZW1wdHkgZWxlbWVudCwKLSMgYW5kIG91dHB1dHMganVzdCB0aGF0IGVsZW1lbnQ7
IHdoaWxlIF9tNF9qb2luIGxvb2tzIGZvciBhbGwgbm9uLWVtcHR5Ci0jIGVsZW1lbnRzLCBhbmQg
b3V0cHV0cyB0aGVtIGZvbGxvd2luZyBhIHNlcGFyYXRvci4gIFRoZSBmaW5hbCB0cmljayB0bwot
IyBub3RlIGlzIHRoYXQgd2UgZGVjaWRlIGJldHdlZW4gcmVjdXJzaW5nIHdpdGggJDAgb3IgXyQw
IGJhc2VkIG9uIHRoZQotIyBuZXN0ZWQgbTRfaWYgZW5kaW5nIHdpdGggYF8nLgotIwotIyBQbGVh
c2Uga2VlcCBmb3JlYWNoLm00IGluIHN5bmMgd2l0aCBhbnkgYWRqdXN0bWVudHMgbWFkZSBoZXJl
LgotbTRfZGVmaW5lKFttNF9qb2luXSwKLVttNF9pZihbJCNdLCBbMV0sIFtdLAotICAgICAgIFsk
I10sIFsyXSwgW1skMl1dLAotICAgICAgIFttNF9pZihbJDJdLCBbXSwgW10sIFtbJDJdX10pJDAo
WyQxXSwgbTRfc2hpZnQyKCRAKSldKV0pCi1tNF9kZWZpbmUoW19tNF9qb2luXSwKLVttNF9pZihb
JCMkMl0sIFsyXSwgW10sCi0gICAgICAgW200X2lmKFskMl0sIFtdLCBbXSwgW1skMSQyXV0pJDAo
WyQxXSwgbTRfc2hpZnQyKCRAKSldKV0pCi0KLSMgbTRfam9pbmFsbChTRVAsIEFSRzEsIEFSRzIu
Li4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQcm9kdWNlIEFSRzFTRVBB
UkcyLi4uU0VQQVJHbi4gIEFuIGVtcHR5IEFSRyByZXN1bHRzIGluIGJhY2stdG8tYmFjayBTRVAu
Ci0jIE5vIGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQgb24gU0VQIG9yIEFSR3MuCi0jCi0jIFBsZWFz
ZSBrZWVwIGZvcmVhY2gubTQgaW4gc3luYyB3aXRoIGFueSBhZGp1c3RtZW50cyBtYWRlIGhlcmUu
Ci1tNF9kZWZpbmUoW200X2pvaW5hbGxdLCBbWyQyXV8kMChbJDFdLCBtNF9zaGlmdCgkQCkpXSkK
LW00X2RlZmluZShbX200X2pvaW5hbGxdLAotW200X2lmKFskI10sIFsyXSwgW10sIFtbJDEkM10k
MChbJDFdLCBtNF9zaGlmdDIoJEApKV0pXSkKLQotIyBtNF9jb21iaW5lKFtTRVBBUkFUT1JdLCBQ
UkVGSVgtTElTVCwgW0lORklYXSwgU1VGRklYLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQcm9kdWNlIHRoZSBwYWlyd2lz
ZSBjb21iaW5hdGlvbiBvZiBldmVyeSBlbGVtZW50IGluIHRoZSBxdW90ZWQsCi0jIGNvbW1hLXNl
cGFyYXRlZCBQUkVGSVgtTElTVCB3aXRoIGV2ZXJ5IGVsZW1lbnQgZnJvbSB0aGUgU1VGRklYIGFy
Z3VtZW50cy4KLSMgRWFjaCBwYWlyIGlzIGpvaW5lZCB3aXRoIElORklYLCBhbmQgcGFpcnMgYXJl
IHNlcGFyYXRlZCBieSBTRVBBUkFUT1IuCi0jIE5vIGV4cGFuc2lvbiBvY2N1cnMgb24gU0VQQVJB
VE9SLCBJTkZJWCwgb3IgZWxlbWVudHMgb2YgZWl0aGVyIGxpc3QuCi0jCi0jIEZvciBleGFtcGxl
OgotIyAgIG00X2NvbWJpbmUoWywgXSwgW1thXSwgW2JdLCBbY11dLCBbLV0sIFsxXSwgWzJdLCBb
M10pCi0jICAgPT4gYS0xLCBhLTIsIGEtMywgYi0xLCBiLTIsIGItMywgYy0xLCBjLTIsIGMtMwot
IwotIyBUaGlzIGRlZmluaXRpb24gaXMgYSBiaXQgaGFpcnk7IHRoZSB0aGluZyB0byByZWFsaXpl
IGlzIHRoYXQgd2Ugd2FudAotIyB0byBjb25zdHJ1Y3QgbTRfbWFwX2FyZ3Nfc2VwKFtbcHJlZml4
JDNdXSwgW10sIFtbJDFdXSwgbTRfc2hpZnQzKCRAKSkKLSMgYXMgdGhlIGlubmVyIGxvb3AsIHVz
aW5nIGVhY2ggcHJlZml4IGdlbmVyYXRlZCBieSB0aGUgb3V0ZXIgbG9vcCwKLSMgYW5kIHdpdGhv
dXQgcmVjYWxjdWxhdGluZyBtNF9zaGlmdDMgZXZlcnkgb3V0ZXIgaXRlcmF0aW9uLgotbTRfZGVm
aW5lKFttNF9jb21iaW5lXSwKLVttNF9pZihbJDJdLCBbXSwgW10sIG00X2V2YWwoWyQjID4gM10p
LCBbMV0sCi1bbTRfbWFwX2FyZ3Nfc2VwKFttNF9tYXBfYXJnc19zZXAobTRfZHF1b3RlKF0sIFsp
W1skM11dLCBbXSwgW1skMV1dLF1dXWRubAotW200X2RxdW90ZShtNF9kcXVvdGUobTRfc2hpZnQz
KCRAKSkpW1spXSwgW1skMV1dLCAkMildKV0pCi0KLQotIyBtNF9hcHBlbmQoTUFDUk8tTkFNRSwg
U1RSSU5HLCBbU0VQQVJBVE9SXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0jIFJlZGVmaW5lIE1BQ1JPLU5BTUUgdG8gaG9sZCBpdHMgZm9ybWVyIGNvbnRl
bnQgcGx1cyBgU0VQQVJBVE9SYCdTVFJJTkcnCi0jIGF0IHRoZSBlbmQuICBJdCBpcyB2YWxpZCB0
byB1c2UgdGhpcyBtYWNybyB3aXRoIE1BQ1JPLU5BTUUgdW5kZWZpbmVkLAotIyBpbiB3aGljaCBj
YXNlIG5vIFNFUEFSQVRPUiBpcyBhZGRlZC4gIEJlIGF3YXJlIHRoYXQgdGhlIGNyaXRlcmlvbiBp
cwotIyBgbm90IGJlaW5nIGRlZmluZWQnLCBhbmQgbm90IGBub3QgYmVpbmcgZW1wdHknLgotIwot
IyBOb3RlIHRoYXQgbmVpdGhlciBTVFJJTkcgbm9yIFNFUEFSQVRPUiBhcmUgZXhwYW5kZWQgaGVy
ZTsgcmF0aGVyLCB3aGVuCi0jIHlvdSBleHBhbmQgTUFDUk8tTkFNRSwgdGhleSB3aWxsIGJlIGV4
cGFuZGVkIGF0IHRoYXQgcG9pbnQgaW4gdGltZS4KLSMKLSMgVGhpcyBtYWNybyBpcyByb2J1c3Qg
dG8gYWN0aXZlIHN5bWJvbHMuICBJdCBjYW4gYmUgdXNlZCB0byBncm93Ci0jIHN0cmluZ3MuCi0j
Ci0jICAgIHwgbTRfZGVmaW5lKGFjdGl2ZSwgQUNUSVZFKWRubAotIyAgICB8IG00X2FwcGVuZChb
c2VudGVuY2VdLCBbVGhpcyBpcyBhbl0pZG5sCi0jICAgIHwgbTRfYXBwZW5kKFtzZW50ZW5jZV0s
IFsgYWN0aXZlIF0pZG5sCi0jICAgIHwgbTRfYXBwZW5kKFtzZW50ZW5jZV0sIFtzeW1ib2wuXSlk
bmwKLSMgICAgfCBzZW50ZW5jZQotIyAgICB8IG00X3VuZGVmaW5lKFthY3RpdmVdKWRubAotIyAg
ICB8IHNlbnRlbmNlCi0jICAgID0+IFRoaXMgaXMgYW4gQUNUSVZFIHN5bWJvbC4KLSMgICAgPT4g
VGhpcyBpcyBhbiBhY3RpdmUgc3ltYm9sLgotIwotIyBJdCBjYW4gYmUgdXNlZCB0byBkZWZpbmUg
aG9va3MuCi0jCi0jICAgIHwgbTRfZGVmaW5lKGFjdGl2ZSwgQUNUSVZFKWRubAotIyAgICB8IG00
X2FwcGVuZChbaG9va3NdLCBbbTRfZGVmaW5lKFthY3QxXSwgW2FjdDJdKV0pZG5sCi0jICAgIHwg
bTRfYXBwZW5kKFtob29rc10sIFttNF9kZWZpbmUoW2FjdDJdLCBbYWN0aXZlXSldKWRubAotIyAg
ICB8IG00X3VuZGVmaW5lKFthY3RpdmVdKWRubAotIyAgICB8IGFjdDEKLSMgICAgfCBob29rcwot
IyAgICB8IGFjdDEKLSMgICAgPT4gYWN0MQotIyAgICA9PgotIyAgICA9PiBhY3RpdmUKLSMKLSMg
SXQgY2FuIGFsc28gYmUgdXNlZCB0byBjcmVhdGUgbGlzdHMsIGFsdGhvdWdoIHRoaXMgcGFydGlj
dWxhciB1c2FnZSB3YXMKLSMgYnJva2VuIHByaW9yIHRvIGF1dG9jb25mIDIuNjIuCi0jICAgIHwg
bTRfYXBwZW5kKFtsaXN0XSwgW29uZV0sIFssIF0pZG5sCi0jICAgIHwgbTRfYXBwZW5kKFtsaXN0
XSwgW3R3b10sIFssIF0pZG5sCi0jICAgIHwgbTRfYXBwZW5kKFtsaXN0XSwgW3RocmVlXSwgWywg
XSlkbmwKLSMgICAgfCBsaXN0Ci0jICAgIHwgbTRfZHF1b3RlKGxpc3QpCi0jICAgID0+IG9uZSwg
dHdvLCB0aHJlZQotIyAgICA9PiBbb25lXSxbdHdvXSxbdGhyZWVdCi0jCi0jIE5vdGUgdGhhdCBt
NF9hcHBlbmQgY2FuIGJlbmVmaXQgZnJvbSBhbW9ydGl6ZWQgTyhuKSBtNCBiZWhhdmlvciwgaWYK
LSMgdGhlIHVuZGVybHlpbmcgbTQgaW1wbGVtZW50YXRpb24gaXMgc21hcnQgZW5vdWdoIHRvIGF2
b2lkIGNvcHlpbmcgZXhpc3RpbmcKLSMgY29udGVudHMgd2hlbiBlbmxhcmdpbmcgYSBtYWNybydz
IGRlZmluaXRpb24gaW50byBhbnkgcHJlLWFsbG9jYXRlZCBzdG9yYWdlCi0jIChtNCAxLjQueCB1
bmZvcnR1bmF0ZWx5IGRvZXMgbm90IGltcGxlbWVudCB0aGlzIG9wdGltaXphdGlvbikuICBXZSBk
bwotIyBub3QgaW1wbGVtZW50IG00X3ByZXBlbmQsIHNpbmNlIGl0IGlzIGluaGVyZW50bHkgTyhu
XjIpIChwcmUtYWxsb2NhdGVkCi0jIHN0b3JhZ2Ugb25seSBvY2N1cnMgYXQgdGhlIGVuZCBvZiBh
IG1hY3JvLCBzbyB0aGUgZXhpc3RpbmcgY29udGVudHMgbXVzdAotIyBhbHdheXMgYmUgbW92ZWQp
LgotIwotIyBVc2UgX200X2RlZm4gZm9yIHNwZWVkLgotbTRfZGVmaW5lKFttNF9hcHBlbmRdLAot
W200X2RlZmluZShbJDFdLCBtNF9pZmRlZihbJDFdLCBbX200X2RlZm4oWyQxXSlbJDNdXSlbJDJd
KV0pCi0KLQotIyBtNF9hcHBlbmRfdW5pcShNQUNSTy1OQU1FLCBTVFJJTkcsIFtTRVBBUkFUT1Jd
LCBbSUYtVU5JUV0sIFtJRi1EVVBdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBMaWtlIGBtNF9hcHBlbmQn
LCBidXQgYXBwZW5kIG9ubHkgaWYgbm90IHlldCBwcmVzZW50LiAgQWRkaXRpb25hbGx5LAotIyBl
eHBhbmQgSUYtVU5JUSBpZiBTVFJJTkcgd2FzIGFwcGVuZGVkLCBvciBJRi1EVVAgaWYgU1RSSU5H
IHdhcyBhbHJlYWR5Ci0jIHByZXNlbnQuICBBbHNvLCB3YXJuIGlmIFNFUEFSQVRPUiBpcyBub3Qg
ZW1wdHkgYW5kIG9jY3VycyB3aXRoaW4gU1RSSU5HLAotIyBhcyB0aGUgYWxnb3JpdGhtIG5vIGxv
bmdlciBndWFyYW50ZWVzIHVuaXF1ZW5lc3MuCi0jCi0jIE5vdGUgdGhhdCB3aGlsZSBtNF9hcHBl
bmQgY2FuIGJlIE8obikgKGRlcGVuZGluZyBvbiB0aGUgcXVhbGl0eSBvZiB0aGUKLSMgdW5kZXJs
eWluZyBNNCBpbXBsZW1lbnRhdGlvbiksIG00X2FwcGVuZF91bmlxIGlzIGluaGVyZW50bHkgTyhu
XjIpCi0jIGJlY2F1c2UgZWFjaCBhcHBlbmQgb3BlcmF0aW9uIHNlYXJjaGVzIHRoZSBlbnRpcmUg
c3RyaW5nLgotbTRfZGVmaW5lKFttNF9hcHBlbmRfdW5pcV0sCi1bbTRfaWZ2YWwoWyQzXSwgW200
X2lmKG00X2luZGV4KFskMl0sIFskM10pLCBbLTFdLCBbXSwKLQkJICAgICAgIFttNF93YXJuKFtz
eW50YXhdLAotCQkJCVskMDogYCQyJyBjb250YWlucyBgJDMnXSldKV0pXyQwKCRAKV0pCi1tNF9k
ZWZpbmUoW19tNF9hcHBlbmRfdW5pcV0sCi1bbTRfaWZkZWYoWyQxXSwKLQkgIFttNF9pZihtNF9p
bmRleChbJDNdX200X2RlZm4oWyQxXSlbJDNdLCBbJDMkMiQzXSksIFstMV0sCi0JCSBbbTRfYXBw
ZW5kKFskMV0sIFskMl0sIFskM10pJDRdLCBbJDVdKV0sCi0JICBbbTRfZGVmaW5lKFskMV0sIFsk
Ml0pJDRdKV0pCi0KLSMgbTRfYXBwZW5kX3VuaXFfdyhNQUNSTy1OQU1FLCBTVFJJTkdTKQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEZvciBlYWNoIG9mIHRoZSB3
b3JkcyBpbiB0aGUgd2hpdGVzcGFjZSBzZXBhcmF0ZWQgbGlzdCBTVFJJTkdTLCBhcHBlbmQKLSMg
b25seSB0aGUgdW5pcXVlIHN0cmluZ3MgdG8gdGhlIGRlZmluaXRpb24gb2YgTUFDUk8tTkFNRS4K
LSMKLSMgVXNlIF9tNF9kZWZuIGZvciBzcGVlZC4KLW00X2RlZmluZShbbTRfYXBwZW5kX3VuaXFf
d10sCi1bbTRfbWFwX2FyZ3NfdyhbJDJdLCBbX200X2FwcGVuZF91bmlxKFskMV0sXSwgWywgWyBd
KV0pXSkKLQotCi0jIG00X2VzY2FwZShTVFJJTkcpCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0jIE91
dHB1dCBxdW90ZWQgU1RSSU5HLCBidXQgd2l0aCBlbWJlZGRlZCAjLCAkLCBbIGFuZCBdIHR1cm5l
ZCBpbnRvCi0jIHF1YWRyaWdyYXBocy4KLSMKLSMgSXQgaXMgZmFzdGVyIHRvIGNoZWNrIGlmIFNU
UklORyBpcyBhbHJlYWR5IGdvb2QgdXNpbmcgbTRfdHJhbnNsaXQKLSMgdGhhbiB0byBibGluZGx5
IHBlcmZvcm0gZm91ciBtNF9icGF0c3Vic3QuCi0jCi0jIEJlY2F1c2UgdGhlIHRyYW5zbGl0IGlz
IHN0cmlwcGluZyBxdW90ZXMsIGl0IG11c3QgYWxzbyBuZXV0cmFsaXplCi0jIGFueXRoaW5nIHRo
YXQgbWlnaHQgYmUgaW4gYSBtYWNybyBuYW1lLCBhcyB3ZWxsIGFzIGNvbW1lbnRzLCBjb21tYXMs
Ci0jIGFuZCBwYXJlbnRoZXNlcy4gIEFsbCB0aGUgcHJvYmxlbSBjaGFyYWN0ZXJzIGFyZSB1bmlm
aWVkIHNvIHRoYXQgYQotIyBzaW5nbGUgbTRfaW5kZXggY2FuIHNjYW4gdGhlIHJlc3VsdC4KLSMK
LSMgUmF0aGVyIHRoYW4gZXhwYW5kIG00X2RlZm4gZXZlcnkgdGltZSBtNF9lc2NhcGUgaXMgZXhw
YW5kZWQsIHdlCi0jIGlubGluZSBpdHMgZXhwYW5zaW9uIHVwIGZyb250LgotbTRfZGVmaW5lKFtt
NF9lc2NhcGVdLAotW200X2lmKG00X2luZGV4KG00X3RyYW5zbGl0KFskMV0sCi0gICBbW10jLCgp
XV1tNF9kcXVvdGUobTRfZGVmbihbbTRfY3Jfc3ltYm9sczJdKSlbLCBbJCQkXSksIFskXSksCi0g
IFstMV0sIFttNF9lY2hvXSwgW18kMF0pKFskMV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfZXNjYXBl
XSwKLVttNF9jaGFuZ2VxdW90ZShbLT08eyhdLFspfT49LV0pXWRubAotW200X2JwYXRzdWJzdCht
NF9icGF0c3Vic3QobTRfYnBhdHN1YnN0KG00X2JwYXRzdWJzdCgKLQkgIC09PHsoLT08eygtPTx7
KC09PHsoLT08eygkMSl9Pj0tKX0+PS0pfT49LSl9Pj0tKX0+PS0sCi0JLT08eygjKX0+PS0sIC09
PHsoQCU6QCl9Pj0tKSwKLSAgICAgIC09PHsoXFspfT49LSwgLT08eyhAPDpAKX0+PS0pLAotICAg
IC09PHsoXF0pfT49LSwgLT08eyhAOj5AKX0+PS0pLAotICAtPTx7KFwkKX0+PS0sIC09PHsoQFN8
QCl9Pj0tKW00X2NoYW5nZXF1b3RlKFssXSldKQotCi0KLSMgbTRfdGV4dF93cmFwKFNUUklORywg
W1BSRUZJWF0sIFtGSVJTVC1QUkVGSVhdLCBbV0lEVEhdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFuZHMgaW50byBTVFJJ
Tkcgd3JhcHBlZCB0byBob2xkIGluIFdJRFRIIGNvbHVtbnMgKGRlZmF1bHQgPSA3OSkuCi0jIElm
IFBSRUZJWCBpcyBnaXZlbiwgZWFjaCBsaW5lIGlzIHByZWZpeGVkIHdpdGggaXQuICBJZiBGSVJT
VC1QUkVGSVggaXMKLSMgc3BlY2lmaWVkLCB0aGVuIHRoZSBmaXJzdCBsaW5lIGlzIHByZWZpeGVk
IHdpdGggaXQuICBBcyBhIHNwZWNpYWwgY2FzZSwKLSMgaWYgdGhlIGxlbmd0aCBvZiBGSVJTVC1Q
UkVGSVggaXMgZ3JlYXRlciB0aGFuIHRoYXQgb2YgUFJFRklYLCB0aGVuCi0jIEZJUlNULVBSRUZJ
WCB3aWxsIGJlIGxlZnQgYWxvbmUgb24gdGhlIGZpcnN0IGxpbmUuCi0jCi0jIE5vIGV4cGFuc2lv
biBvY2N1cnMgb24gdGhlIGNvbnRlbnRzIFNUUklORywgUFJFRklYLCBvciBGSVJTVC1QUkVGSVgs
Ci0jIGFsdGhvdWdoIHF1YWRyaWdyYXBocyBhcmUgY29ycmVjdGx5IHJlY29nbml6ZWQuICBNb3Jl
IHByZWNpc2VseSwKLSMgeW91IG1heSByZWRlZmluZSBtNF9xbGVuIHRvIHJlY29nbml6ZSB3aGF0
ZXZlciBlc2NhcGUgc2VxdWVuY2VzIHRoYXQKLSMgeW91IHdpbGwgcG9zdC1wcm9jZXNzLgotIwot
IyBUeXBpY2FsIG91dHB1dHMgYXJlOgotIwotIyBtNF90ZXh0X3dyYXAoW1Nob3J0IHN0cmluZyAq
L10sIFsgICBdLCBbLyogXSwgMjApCi0jICA9PiAvKiBTaG9ydCBzdHJpbmcgKi8KLSMKLSMgbTRf
dGV4dF93cmFwKFtNdWNoIGxvbmdlciBzdHJpbmcgKi9dLCBbICAgXSwgWy8qIF0sIDIwKQotIyAg
PT4gLyogTXVjaCBsb25nZXIKLSMgID0+ICAgIHN0cmluZyAqLwotIwotIyBtNF90ZXh0X3dyYXAo
W1Nob3J0IGRvYy5dLCBbICAgICAgICAgIF0sIFsgIC0tc2hvcnQgXSwgMzApCi0jICA9PiAgIC0t
c2hvcnQgU2hvcnQgZG9jLgotIwotIyBtNF90ZXh0X3dyYXAoW1Nob3J0IGRvYy5dLCBbICAgICAg
ICAgIF0sIFsgIC0tdG9vLXdpZGUgXSwgMzApCi0jICA9PiAgIC0tdG9vLXdpZGUKLSMgID0+ICAg
ICAgICAgICBTaG9ydCBkb2MuCi0jCi0jIG00X3RleHRfd3JhcChbU3VwZXIgbG9uZyBkb2N1bWVu
dGF0aW9uLl0sIFsgICAgICAgICAgXSwgWyAgLS10b28td2lkZSBdLCAzMCkKLSMgID0+ICAgLS10
b28td2lkZQotIyAgPT4gICAgICBTdXBlciBsb25nCi0jICA9PiAgICAgIGRvY3VtZW50YXRpb24u
Ci0jCi0jIEZJWE1FOiB0aGVyZSBpcyBubyBjaGVja2luZyBvZiBhIGxvbmdlciBQUkVGSVggdGhh
biBXSURUSCwgYnV0IGRvCi0jIHdlIHJlYWxseSB3YW50IHRvIGJvdGhlciB3aXRoIHBlb3BsZSB0
cnlpbmcgZWFjaCBzaW5nbGUgY29ybmVyCi0jIG9mIGEgc29mdHdhcmU/Ci0jCi0jIFRoaXMgbWFj
cm8gZG9lcyBub3QgbGVhdmUgYSB0cmFpbGluZyBzcGFjZSBiZWhpbmQgdGhlIGxhc3Qgd29yZCBv
ZiBhIGxpbmUsCi0jIHdoaWNoIGNvbXBsaWNhdGVzIGl0IGEgYml0LiAgVGhlIGFsZ29yaXRobSBp
cyBvdGhlcndpc2Ugc3R1cGlkIGFuZCBzaW1wbGU6Ci0jIGFsbCB0aGUgd29yZHMgYXJlIHByZWNl
ZGVkIGJ5IG00X1NlcGFyYXRvciB3aGljaCBpcyBkZWZpbmVkIHRvIGVtcHR5IGZvcgotIyB0aGUg
Zmlyc3Qgd29yZCwgYW5kIHRoZW4gYCAnIChzaW5nbGUgc3BhY2UpIGZvciBhbGwgdGhlIG90aGVy
cy4KLSMKLSMgVGhlIGFsZ29yaXRobSB1c2VzIGEgaGVscGVyIHRoYXQgdXNlcyAkMiB0aHJvdWdo
ICQ0IGRpcmVjdGx5LCByYXRoZXIgdGhhbgotIyB1c2luZyBsb2NhbCB2YXJpYWJsZXMsIHRvIGF2
b2lkIG00X2RlZm4gb3ZlcmhlYWQsIG9yIGV4cGFuc2lvbiBzd2FsbG93aW5nCi0jIGFueSAkLiAg
SXQgYWxzbyBieXBhc3NlcyBtNF9wb3BkZWYgb3ZlcmhlYWQgd2l0aCBfbTRfcG9wZGVmIHNpbmNl
IG5vIHVzZXIKLSMgbWFjcm8gZXhwYW5zaW9uIG9jY3VycyBpbiB0aGUgbWVhbnRpbWUuICBBbHNv
LCB0aGUgZGVmaW5pdGlvbiBpcyB3cml0dGVuCi0jIHdpdGggbTRfZG8sIHRvIGF2b2lkIHRpbWUg
d2FzdGVkIG9uIGRubCBkdXJpbmcgZXhwYW5zaW9uIChzaW5jZSB0aGlzIGlzCi0jIGFscmVhZHkg
YSB0aW1lLWNvbnN1bWluZyBtYWNybykuCi1tNF9kZWZpbmUoW200X3RleHRfd3JhcF0sCi1bXyQw
KG00X2VzY2FwZShbJDFdKSwgWyQyXSwgbTRfZGVmYXVsdF9xdW90ZWQoWyQzXSwgWyQyXSksCi0g
ICAgIG00X2RlZmF1bHRfcXVvdGVkKFskNF0sIFs3OV0pKV0pCi0KLW00X2RlZmluZShbX200X3Rl
eHRfd3JhcF0sCi1tNF9kbyhkbmwgc2V0IHVwIGxvY2FsIHZhcmlhYmxlcywgdG8gYXZvaWQgcmVw
ZWF0ZWQgY2FsY3VsYXRpb25zCi1bW200X3B1c2hkZWYoW200X0luZGVudF0sIG00X3FsZW4oWyQy
XSkpXV0sCi1bW200X3B1c2hkZWYoW200X0N1cnNvcl0sIG00X3FsZW4oWyQzXSkpXV0sCi1bW200
X3B1c2hkZWYoW200X1NlcGFyYXRvcl0sIFttNF9kZWZpbmUoW200X1NlcGFyYXRvcl0sIFsgXSld
KV1dLAotZG5sIGV4cGFuZCB0aGUgZmlyc3QgcHJlZml4LCB0aGVuIGNoZWNrIGl0cyBsZW5ndGgg
dnMuIHJlZ3VsYXIgcHJlZml4Ci1kbmwgc2FtZSBsZW5ndGg6IG5vdGhpbmcgc3BlY2lhbAotZG5s
IHByZWZpeDEgbG9uZ2VyOiBvdXRwdXQgb24gbGluZSBieSBpdHNlbGYsIGFuZCByZXNldCBjdXJz
b3IKLWRubCBwcmVmaXgxIHNob3J0ZXI6IHBhZCB0byBsZW5ndGggb2YgcHJlZml4LCBhbmQgcmVz
ZXQgY3Vyc29yCi1bW1skM11tNF9jb25kKFttNF9DdXJzb3JdLCBtNF9JbmRlbnQsIFtdLAotCSAg
ICAgIFttNF9ldmFsKG00X0N1cnNvciA+IG00X0luZGVudCldLCBbMV0sIFsKLVskMl1tNF9kZWZp
bmUoW200X0N1cnNvcl0sIG00X0luZGVudCldLAotCSAgICAgIFttNF9mb3JtYXQoWyUqc10sIG00
X21heChbMF0sCi0gIG00X2V2YWwobTRfSW5kZW50IC0gbTRfQ3Vyc29yKSksIFtdKW00X2RlZmlu
ZShbbTRfQ3Vyc29yXSwgbTRfSW5kZW50KV0pXV0sCi1kbmwgbm93LCBmb3IgZWFjaCB3b3JkLCBj
b21wdXRlIHRoZSBjdXJzb3IgYWZ0ZXIgdGhlIHdvcmQgaXMgb3V0cHV0LCB0aGVuCi1kbmwgY2hl
Y2sgaWYgdGhlIGN1cnNvciB3b3VsZCBleGNlZWQgdGhlIHdyYXAgY29sdW1uCi1kbmwgaWYgc28s
IHJlc2V0IGN1cnNvciwgYW5kIGluc2VydCBuZXdsaW5lIGFuZCBwcmVmaXgKLWRubCBpZiBub3Qs
IGluc2VydCB0aGUgc2VwYXJhdG9yICh1c3VhbGx5IGEgc3BhY2UpCi1kbmwgZWl0aGVyIHdheSwg
aW5zZXJ0IHRoZSB3b3JkCi1bW200X21hcF9hcmdzX3coWyQxXSwgWyQwX3dvcmQoXSwgWywgWyQy
XSwgWyQ0XSldKV1dLAotZG5sIGZpbmFsbHksIGNsZWFuIHVwIHRoZSBsb2NhbCB2YXJpYWJsZXMK
LVtbX200X3BvcGRlZihbbTRfU2VwYXJhdG9yXSwgW200X0N1cnNvcl0sIFttNF9JbmRlbnRdKV1d
KSkKLQotbTRfZGVmaW5lKFtfbTRfdGV4dF93cmFwX3dvcmRdLAotW200X2RlZmluZShbbTRfQ3Vy
c29yXSwgbTRfZXZhbChtNF9DdXJzb3IgKyBtNF9xbGVuKFskMV0pICsgMSkpXWRubAotW200X2lm
KG00X2V2YWwobTRfQ3Vyc29yID4gKFskM10pKSwKLSAgICAgIFsxXSwgW200X2RlZmluZShbbTRf
Q3Vyc29yXSwgbTRfZXZhbChtNF9JbmRlbnQgKyBtNF9xbGVuKFskMV0pICsgMSkpCi1bJDJdXSwK
LSAgICAgIFttNF9TZXBhcmF0b3JbXV0pWyQxXV0pCi0KLSMgbTRfdGV4dF9ib3goTUVTU0FHRSwg
W0ZSQU1FLUNIQVJBQ1RFUiA9IGAtJ10pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotIyBUdXJuIE1FU1NBR0UgaW50bzoKLSMgICMjIC0tLS0tLS0gIyMK
LSMgICMjIE1FU1NBR0UgIyMKLSMgICMjIC0tLS0tLS0gIyMKLSMgdXNpbmcgRlJBTUUtQ0hBUkFD
VEVSIGluIHRoZSBib3JkZXIuCi0jCi0jIFF1YWRyaWdyYXBocyBhcmUgY29ycmVjdGx5IHJlY29n
bml6ZWQuICBNb3JlIHByZWNpc2VseSwgeW91IG1heQotIyByZWRlZmluZSBtNF9xbGVuIHRvIHJl
Y29nbml6ZSB3aGF0ZXZlciBlc2NhcGUgc2VxdWVuY2VzIHRoYXQgeW91Ci0jIHdpbGwgcG9zdC1w
cm9jZXNzLgotbTRfZGVmaW5lKFttNF90ZXh0X2JveF0sCi1bbTRfcHVzaGRlZihbbTRfQm9yZGVy
XSwKLQkgICAgbTRfdHJhbnNsaXQobTRfZm9ybWF0KFtbWyUqc11dXSwgbTRfZGVjcihtNF9xbGVu
KF9tNF9leHBhbmQoWyQxCi1dKSkpLCBbXSksIFsgXSwgbTRfZGVmYXVsdF9xdW90ZWQoWyQyXSwg
Wy1dKSkpXWRubAotW1sjI10gX200X2RlZm4oW200X0JvcmRlcl0pIFsjI10KLVsjI10gJDEgWyMj
XQotWyMjXSBfbTRfZGVmbihbbTRfQm9yZGVyXSkgWyMjXV9tNF9wb3BkZWYoW200X0JvcmRlcl0p
XSkKLQotCi0jIG00X3FsZW4oU1RSSU5HKQotIyAtLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kcyB0
byB0aGUgbGVuZ3RoIG9mIFNUUklORyBhZnRlciBhdXRvbTR0ZSBjb252ZXJ0cyBhbGwgcXVhZHJp
Z3JhcGhzLgotIwotIyBJZiB5b3UgdXNlIHNvbWUgb3RoZXIgbWVhbnMgb2YgcG9zdC1wcm9jZXNz
aW5nIG00IG91dHB1dCByYXRoZXIgdGhhbgotIyBhdXRvbTR0ZSwgdGhlbiB5b3UgbWF5IHJlZGVm
aW5lIHRoaXMgbWFjcm8gdG8gcmVjb2duaXplIHdoYXRldmVyCi0jIGVzY2FwZSBzZXF1ZW5jZXMg
eW91ciBwb3N0LXByb2Nlc3NvciB3aWxsIGhhbmRsZS4gIEZvciB0aGF0IG1hdHRlciwKLSMgbTRf
ZGVmaW5lKFttNF9xbGVuXSwgbTRfZGVmbihbbTRfbGVuXSkpIGlzIHN1ZmZpY2llbnQgaWYgeW91
IGRvbid0Ci0jIGRvIGFueSBwb3N0LXByb2Nlc3NpbmcuCi0jCi0jIEF2b2lkIGJwYXRzdWJzdHMg
Zm9yIHRoZSBjb21tb24gY2FzZSBvZiBubyBxdWFkcmlncmFwaHMuICBDYWNoZQotIyByZXN1bHRz
LCBhcyBjb25maWd1cmUgc2NyaXB0cyB0ZW5kIHRvIGFzayBhYm91dCBsZW5ndGhzIG9mIGNvbW1v
bgotIyBzdHJpbmdzIGxpa2UgYC8qJyBhbmQgYCovJyByYXRoZXIgZnJlcXVlbnRseS4gIE1pbmlt
aXplIHRoZSBudW1iZXIKLSMgb2YgdGltZXMgdGhhdCAkMSBvY2N1cnMgaW4gbTRfcWxlbiwgc28g
dGhlcmUgaXMgbGVzcyB0ZXh0IHRvIHBhcnNlCi0jIG9uIGEgY2FjaGUgaGl0LgotbTRfZGVmaW5l
KFttNF9xbGVuXSwKLVttNF9pZmRlZihbJDAtJDFdLCBbX200X2RlZm4oWyQwLV1dLCBbXyQwKF0p
WyQxXSldKQotbTRfZGVmaW5lKFtfbTRfcWxlbl0sCi1bbTRfZGVmaW5lKFttNF9xbGVuLSQxXSwK
LW00X2lmKG00X2luZGV4KFskMV0sIFtAXSksIFstMV0sIFttNF9sZW4oWyQxXSldLAotICAgICAg
W200X2xlbihtNF9icGF0c3Vic3QoW1skMV1dLAotCQkJICAgW0BcKFwoPDpcfDo+XHxTfFx8JTpc
fFx7Olx8Olx9XClcKEBcKVx8JnRAXCldLAotCQkJICAgW1wzXSkpXSkpX200X2RlZm4oW200X3Fs
ZW4tJDFdKV0pCi0KLSMgbTRfY29weXJpZ2h0X2NvbmRlbnNlKFRFWFQpCi0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotIyBDb25kZW5zZSB0aGUgY29weXJpZ2h0IG5vdGljZSBpbiBURVhU
IHRvIG9ubHkgZGlzcGxheSB0aGUgZmluYWwKLSMgeWVhciwgd3JhcHBpbmcgdGhlIHJlc3VsdHMg
dG8gZml0IGluIDgwIGNvbHVtbnMuCi1tNF9kZWZpbmUoW200X2NvcHlyaWdodF9jb25kZW5zZV0s
Ci1bbTRfdGV4dF93cmFwKG00X2JwYXRzdWJzdChtNF9mbGF0dGVuKFtbJDFdXSksCi1bKEMpWy0J
ICwwLTldKlwoWzEtOV1bMC05XVswLTldWzAtOV1cKV0sIFsoQykgXDFdKSldKQotCi0jIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgMTMuIE51bWJlciBwcm9jZXNzaW5nLiAgIyMKLSMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLSMgbTRfY21wKEEsIEIpCi0jIC0tLS0tLS0t
LS0tLQotIyBDb21wYXJlIHR3byBpbnRlZ2VyIGV4cHJlc3Npb25zLgotIyBBIDwgQiAtPiAtMQot
IyBBID0gQiAtPiAgMAotIyBBID4gQiAtPiAgMQotbTRfZGVmaW5lKFttNF9jbXBdLAotW200X2V2
YWwoKChbJDFdKSA+IChbJDJdKSkgLSAoKFskMV0pIDwgKFskMl0pKSldKQotCi0KLSMgbTRfbGlz
dF9jbXAoQSwgQikKLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMKLSMgQ29tcGFyZSB0aGUgdHdvIGxp
c3RzIG9mIGludGVnZXIgZXhwcmVzc2lvbnMgQSBhbmQgQi4gIEZvciBpbnN0YW5jZToKLSMgICBt
NF9saXN0X2NtcChbMSwgMF0sICAgICBbMV0pICAgIC0+ICAwCi0jICAgbTRfbGlzdF9jbXAoWzEs
IDBdLCAgICAgWzEsIDBdKSAtPiAgMAotIyAgIG00X2xpc3RfY21wKFsxLCAyXSwgICAgIFsxLCAw
XSkgLT4gIDEKLSMgICBtNF9saXN0X2NtcChbMSwgMiwgM10sICBbMSwgMl0pIC0+ICAxCi0jICAg
bTRfbGlzdF9jbXAoWzEsIDIsIC0zXSwgWzEsIDJdKSAtPiAtMQotIyAgIG00X2xpc3RfY21wKFsx
LCAwXSwgICAgIFsxLCAyXSkgLT4gLTEKLSMgICBtNF9saXN0X2NtcChbMV0sICAgICAgICBbMSwg
Ml0pIC0+IC0xCi0jICAgbTRfZGVmaW5lKFt4YV0sIFtvb3BzXSlkbmwKLSMgICBtNF9saXN0X2Nt
cChbWzB4YV1dLCAgICBbNSs1XSkgIC0+IDAKLSMKLSMgUmF0aGVyIHRoYW4gZmFjZSB0aGUgb3Zl
cmhlYWQgb2YgbTRfY2FzZSwgd2UgdXNlIGEgaGVscGVyIGZ1bmN0aW9uIHdob3NlCi0jIGV4cGFu
c2lvbiBpbmNsdWRlcyB0aGUgbmFtZSBvZiB0aGUgbWFjcm8gdG8gaW52b2tlIG9uIHRoZSB0YWls
LCBlaXRoZXIKLSMgbTRfaWdub3JlIG9yIG00X3VucXVvdGUuICBUaGlzIGlzIHBhcnRpY3VsYXJs
eSB1c2VmdWwgd2hlbiBjb21wYXJpbmcKLSMgbG9uZyBsaXN0cywgc2luY2UgbGVzcyB0ZXh0IGlz
IGJlaW5nIGV4cGFuZGVkIGZvciBkZWNpZGluZyB3aGVuIHRvIGVuZAotIyByZWN1cnNpb24uICBU
aGUgcmVjdXJzaW9uIGlzIGJldHdlZW4gYSBwYWlyIG9mIG1hY3JvcyB0aGF0IGFsdGVybmF0ZQot
IyB3aGljaCBsaXN0IGlzIHRyaW1tZWQgYnkgb25lIGVsZW1lbnQ7IHRoaXMgaXMgbW9yZSBlZmZp
Y2llbnQgdGhhbgotIyBjYWxsaW5nIG00X2NkciBvbiBib3RoIGxpc3RzIGZyb20gYSBzaW5nbGUg
bWFjcm8uICBHdWFyYW50ZWUgZXhhY3RseQotIyBvbmUgZXhwYW5zaW9uIG9mIGJvdGggbGlzdHMn
IHNpZGUgZWZmZWN0cy4KLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGgg
YW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShbbTRfbGlzdF9jbXBdLAotW18k
MF9yYXcobTRfZHF1b3RlKCQxKSwgbTRfZHF1b3RlKCQyKSldKQotCi1tNF9kZWZpbmUoW19tNF9s
aXN0X2NtcF9yYXddLAotW200X2lmKFskMV0sIFskMl0sIFswXSwgW19tNF9saXN0X2NtcF8xKFsk
MV0sICQyKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfbGlzdF9jbXBdLAotW200X2lmKFskMV0sIFtd
LCBbMG00X2lnbm9yZV0sIFskMl0sIFswXSwgW200X3VucXVvdGVdLCBbJDJtNF9pZ25vcmVdKV0p
Ci0KLW00X2RlZmluZShbX200X2xpc3RfY21wXzFdLAotW19tNF9saXN0X2NtcF8yKFskMl0sIFtt
NF9zaGlmdDIoJEApXSwgJDEpXSkKLQotbTRfZGVmaW5lKFtfbTRfbGlzdF9jbXBfMl0sCi1bX200
X2xpc3RfY21wKFskMSQzXSwgbTRfY21wKFskMyswXSwgWyQxKzBdKSkoCi0gIFtfbTRfbGlzdF9j
bXBfMShtNF9kcXVvdGUobTRfc2hpZnQzKCRAKSksICQyKV0pXSkKLQotIyBtNF9tYXgoRVhQUiwg
Li4uKQotIyBtNF9taW4oRVhQUiwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLQotIyBSZXR1cm4g
dGhlIGRlY2ltYWwgdmFsdWUgb2YgdGhlIG1heGltdW0gKG9yIG1pbmltdW0pIGluIGEgc2VyaWVz
IG9mCi0jIGludGVnZXIgZXhwcmVzc2lvbnMuCi0jCi0jIE00IDEuNC54IGRvZXNuJ3QgcHJvdmlk
ZSA/Oi4gIEhlbmNlIHRoaXMgaHVnZSBtNF9ldmFsLiAgQXZvaWQgbTRfZXZhbAotIyBpZiBib3Ro
IGFyZ3VtZW50cyBhcmUgaWRlbnRpY2FsLCBidXQgYmUgYXdhcmUgb2YgbTRfbWF4KDB4YSwgMTAp
IChoZW5jZQotIyB0aGUgdXNlIG9mIDw9LCBub3QganVzdCA8LCBpbiB0aGUgc2Vjb25kIG11bHRp
cGx5KS4KLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVz
dG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShbbTRfbWF4XSwKLVttNF9pZihbJCNdLCBbMF0s
IFttNF9mYXRhbChbdG9vIGZldyBhcmd1bWVudHMgdG8gJDBdKV0sCi0gICAgICAgWyQjXSwgWzFd
LCBbbTRfZXZhbChbJDFdKV0sCi0gICAgICAgWyQjJDFdLCBbMiQyXSwgW200X2V2YWwoWyQxXSld
LAotICAgICAgIFskI10sIFsyXSwgW18kMCgkQCldLAotICAgICAgIFtfbTRfbWlubWF4KFtfJDBd
LCAkQCldKV0pCi0KLW00X2RlZmluZShbX200X21heF0sCi1bbTRfZXZhbCgoKFskMV0pID4gKFsk
Ml0pKSAqIChbJDFdKSArICgoWyQxXSkgPD0gKFskMl0pKSAqIChbJDJdKSldKQotCi1tNF9kZWZp
bmUoW200X21pbl0sCi1bbTRfaWYoWyQjXSwgWzBdLCBbbTRfZmF0YWwoW3RvbyBmZXcgYXJndW1l
bnRzIHRvICQwXSldLAotICAgICAgIFskI10sIFsxXSwgW200X2V2YWwoWyQxXSldLAotICAgICAg
IFskIyQxXSwgWzIkMl0sIFttNF9ldmFsKFskMV0pXSwKLSAgICAgICBbJCNdLCBbMl0sIFtfJDAo
JEApXSwKLSAgICAgICBbX200X21pbm1heChbXyQwXSwgJEApXSldKQotCi1tNF9kZWZpbmUoW19t
NF9taW5dLAotW200X2V2YWwoKChbJDFdKSA8IChbJDJdKSkgKiAoWyQxXSkgKyAoKFskMV0pID49
IChbJDJdKSkgKiAoWyQyXSkpXSkKLQotIyBfbTRfbWlubWF4KE1FVEhPRCwgQVJHMSwgQVJHMi4u
LikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIENvbW1vbiByZWN1cnNp
b24gY29kZSBmb3IgbTRfbWF4IGFuZCBtNF9taW4uICBNRVRIT0QgbXVzdCBiZSBfbTRfbWF4Ci0j
IG9yIF9tNF9taW4sIGFuZCB0aGVyZSBtdXN0IGJlIGF0IGxlYXN0IHR3byBhcmd1bWVudHMgdG8g
Y29tYmluZS4KLSMKLSMgUGxlYXNlIGtlZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFk
anVzdG1lbnRzIG1hZGUgaGVyZS4KLW00X2RlZmluZShbX200X21pbm1heF0sCi1bbTRfaWYoWyQj
XSwgWzNdLCBbJDEoWyQyXSwgWyQzXSldLAotICAgICAgIFskMChbJDFdLCAkMShbJDJdLCBbJDNd
KSwgbTRfc2hpZnQzKCRAKSldKV0pCi0KLQotIyBtNF9zaWduKEEpCi0jIC0tLS0tLS0tLS0KLSMg
VGhlIHNpZ24gb2YgdGhlIGludGVnZXIgZXhwcmVzc2lvbiBBLgotbTRfZGVmaW5lKFttNF9zaWdu
XSwKLVttNF9ldmFsKCgoWyQxXSkgPiAwKSAtICgoWyQxXSkgPCAwKSldKQotCi0KLQotIyMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyAxNC4gVmVyc2lvbiBwcm9jZXNzaW5nLiAgIyMK
LSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0KLSMgbTRfdmVyc2lvbl91bmxldHRl
cihWRVJTSU9OKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE5vcm1hbGl6ZSBi
ZXRhIHZlcnNpb24gbnVtYmVycyB3aXRoIGxldHRlcnMgdG8gbnVtZXJpYyBleHByZXNzaW9ucywg
d2hpY2gKLSMgY2FuIHRoZW4gYmUgaGFuZGVkIHRvIG00X2V2YWwgZm9yIHRoZSBwdXJwb3NlIG9m
IGNvbXBhcmlzb24uCi0jCi0jICAgTmwgLT4gKE4rMSkuLTEuKGwjKQotIwotIyBmb3IgZXhhbXBs
ZToKLSMgICBbMi4xNGFdIC0+IFswLDIsMTQrMSwtMSxbMHIzNjphXV0gLT4gMi4xNS4tMS4xMAot
IyAgIFsyLjE0Yl0gLT4gWzAsMiwxNSsxLC0xLFswcjM2OmJdXSAtPiAyLjE1Li0xLjExCi0jICAg
WzIuNjFhYS5iXSAtPiBbMCwyLjYxLDEsLTEsWzByMzY6YWFdLCsxLC0xLFswcjM2OmJdXSAtPiAy
LjYyLi0xLjM3MC4xLi0xLjExCi0jICAgWzA4XSAtPiBbMCxbMHIxMDowXThdIC0+IDgKLSMKLSMg
VGhpcyBtYWNybyBleHBlY3RzIHJlYXNvbmFibGUgdmVyc2lvbiBudW1iZXJzLCBidXQgY2FuIGhh
bmRsZSBkb3VibGUKLSMgbGV0dGVycyBhbmQgZG9lcyBub3QgZXhwYW5kIGFueSBtYWNyb3MuICBP
cmlnaW5hbCB2ZXJzaW9uIHN0cmluZ3MgY2FuCi0jIHVzZSBib3RoIGAuJyBhbmQgYC0nIHNlcGFy
YXRvcnMuCi0jCi0jIElubGluZSBjb25zdGFudCBleHBhbnNpb25zLCB0byBhdm9pZCBtNF9kZWZu
IG92ZXJoZWFkLgotIyBfbTRfdmVyc2lvbl91bmxldHRlciBpcyB0aGUgcmVhbCB3b3JraG9yc2Ug
dXNlZCBieSBtNF92ZXJzaW9uX2NvbXBhcmUsCi0jIGJ1dCBzaW5jZSBbMHIzNjphXSBhbmQgY29t
bWFzIGFyZSBsZXNzIHJlYWRhYmxlIHRoYW4gMTAgYW5kIGRvdHMsIHdlCi0jIHByb3ZpZGUgYSB3
cmFwcGVyIGZvciBodW1hbiB1c2UuCi1tNF9kZWZpbmUoW200X3ZlcnNpb25fdW5sZXR0ZXJdLAot
W200X3N1YnN0cihtNF9tYXBfYXJncyhbLm00X2V2YWxdLCBtNF91bnF1b3RlKF8kMChbJDFdKSkp
LCBbM10pXSkKLW00X2RlZmluZShbX200X3ZlcnNpb25fdW5sZXR0ZXJdLAotW200X2JwYXRzdWJz
dChtNF9icGF0c3Vic3QobTRfdHJhbnNsaXQoW1tbWzAsJDFdXV1dLCBbLi1dLCBbLCxdKSxdZG5s
Ci1tNF9kcXVvdGUobTRfZHF1b3RlKG00X2RlZm4oW200X2NyX0xldHRlcnNdKSkpW1srXSwKLQkg
ICAgICBbKzEsLTEsWzByMzY6XCZdXSksIFssMF0sIFssWzByMTA6MF1dKV0pCi0KLQotIyBtNF92
ZXJzaW9uX2NvbXBhcmUoVkVSU0lPTi0xLCBWRVJTSU9OLTIpCi0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgQ29tcGFyZSB0aGUgdHdvIHZlcnNpb24gbnVtYmVy
cyBhbmQgZXhwYW5kIGludG8KLSMgIC0xIGlmIFZFUlNJT04tMSA8IFZFUlNJT04tMgotIyAgIDAg
aWYgICAgICAgICAgID0KLSMgICAxIGlmICAgICAgICAgICA+Ci0jCi0jIFNpbmNlIF9tNF92ZXJz
aW9uX3VubGV0dGVyIGRvZXMgbm90IG91dHB1dCBzaWRlIGVmZmVjdHMsIHdlIGNhbgotIyBzYWZl
bHkgYnlwYXNzIHRoZSBvdmVyaGVhZCBvZiBtNF92ZXJzaW9uX2NtcC4KLW00X2RlZmluZShbbTRf
dmVyc2lvbl9jb21wYXJlXSwKLVtfbTRfbGlzdF9jbXBfcmF3KF9tNF92ZXJzaW9uX3VubGV0dGVy
KFskMV0pLCBfbTRfdmVyc2lvbl91bmxldHRlcihbJDJdKSldKQotCi0KLSMgbTRfUEFDS0FHRV9O
QU1FCi0jIG00X1BBQ0tBR0VfVEFSTkFNRQotIyBtNF9QQUNLQUdFX1ZFUlNJT04KLSMgbTRfUEFD
S0FHRV9TVFJJTkcKLSMgbTRfUEFDS0FHRV9CVUdSRVBPUlQKLSMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLSMgSWYgbTRzdWdhci92ZXJzaW9uLm00IGlzIHByZXNlbnQsIHRoZW4gZGVmaW5lIHZlcnNp
b24gc3RyaW5ncy4gIFRoaXMKLSMgZmlsZSBpcyBvcHRpb25hbCwgcHJvdmlkZWQgYnkgQXV0b2Nv
bmYgYnV0IGFic2VudCBpbiBCaXNvbi4KLW00X3NpbmNsdWRlKFttNHN1Z2FyL3ZlcnNpb24ubTRd
KQotCi0KLSMgbTRfdmVyc2lvbl9wcmVyZXEoVkVSU0lPTiwgW0lGLU9LXSwgW0lGLU5PVCA9IEZB
SUxdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIENoZWNrIHRoaXMgQXV0b2NvbmYgdmVyc2lvbiBhZ2FpbnN0IFZFUlNJT04uCi1tNF9k
ZWZpbmUoW200X3ZlcnNpb25fcHJlcmVxXSwKLW00X2lmZGVmKFttNF9QQUNLQUdFX1ZFUlNJT05d
LAotW1ttNF9pZihtNF92ZXJzaW9uX2NvbXBhcmUoXW00X2RxdW90ZShtNF9kZWZuKFttNF9QQUNL
QUdFX1ZFUlNJT05dKSlbLCBbJDFdKSwKLQlbLTFdLAotCVttNF9kZWZhdWx0KFskM10sCi0JCSAg
ICBbbTRfZmF0YWwoW0F1dG9jb25mIHZlcnNpb24gJDEgb3IgaGlnaGVyIGlzIHJlcXVpcmVkXSwK
LQkJCSAgICAgIFs2M10pXSldLAotCVskMl0pXV0sCi1bW200X2ZhdGFsKFttNHN1Z2FyL3ZlcnNp
b24ubTQgbm90IGZvdW5kXSldXSkpCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyAx
NS4gU2V0IGhhbmRsaW5nLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0jIEF1dG9j
b25mIGxpa2VzIHRvIGNyZWF0ZSBhcmJpdHJhcmlseSBsYXJnZSBzZXRzOyBmb3IgZXhhbXBsZSwg
YXMgb2YKLSMgdGhpcyB3cml0aW5nLCB0aGUgY29uZmlndXJlLmFjIGZvciBjb3JldXRpbHMgdHJh
Y2tzIGEgc2V0IG9mIG1vcmUKLSMgdGhhbiA0MDAgQUNfU1VCU1QuICBIb3cgZG8gd2UgdHJhY2sg
YWxsIG9mIHRoZXNlIHNldCBtZW1iZXJzLAotIyB3aXRob3V0IGludHJvZHVjaW5nIGR1cGxpY2F0
ZXM/ICBXZSBjb3VsZCB1c2UgbTRfYXBwZW5kX3VuaXEsIHdpdGgKLSMgdGhlIHNldCBOQU1FIHJl
c2lkaW5nIGluIHRoZSBjb250ZW50cyBvZiB0aGUgbWFjcm8gTkFNRS4KLSMgVW5mb3J0dW5hdGVs
eSwgbTRfYXBwZW5kX3VuaXEgaXMgcXVhZHJhdGljIGZvciBzZXQgY3JlYXRpb24sIGJlY2F1c2UK
LSMgaXQgY29zdHMgTyhuKSB0byBzZWFyY2ggdGhlIHN0cmluZyBmb3IgZWFjaCBvZiBPKG4pIGlu
c2VydGlvbnM7IG5vdAotIyB0byBtZW50aW9uIHRoYXQgd2l0aCBtNCAxLjQueCwgZXZlbiB1c2lu
ZyBtNF9hcHBlbmQgaXMgc2xvdywgY29zdGluZwotIyBPKG4pIHJhdGhlciB0aGFuIE8oMSkgcGVy
IGluc2VydGlvbi4gIE90aGVyIHNldCBvcGVyYXRpb25zLCBub3QgdXNlZAotIyBieSBBdXRvY29u
ZiBidXQgc3RpbGwgcG9zc2libGUgYnkgbWFuaXB1bGF0aW9uIG9mIHRoZSBkZWZpbml0aW9uCi0j
IHRyYWNrZWQgaW4gbWFjcm8gTkFNRSwgaW5jbHVkZSBPKG4pIGRlbGV0aW9uIG9mIG9uZSBlbGVt
ZW50IGFuZCBPKG4pCi0jIGNvbXB1dGF0aW9uIG9mIHNldCBzaXplLiAgQmVjYXVzZSB0aGUgc2V0
IGlzIGV4cG9zZWQgdG8gdGhlIHVzZXIgdmlhCi0jIHRoZSBkZWZpbml0aW9uIG9mIGEgc2luZ2xl
IG1hY3JvLCB3ZSBjYW5ub3QgY2FjaGUgYW55IGRhdGEgYWJvdXQgdGhlCi0jIHNldCB3aXRob3V0
IHJpc2tpbmcgdGhlIGNhY2hlIGJlaW5nIGludmFsaWRhdGVkIGJ5IHRoZSB1c2VyCi0jIHJlZGVm
aW5pbmcgTkFNRS4KLSMKLSMgQ2FuIHdlIGRvIGJldHRlcj8gIFllcywgYmVjYXVzZSBtNCBnaXZl
cyB1cyBhbiBPKDEpIHNlYXJjaCBmdW5jdGlvbgotIyBmb3IgZnJlZTogaWZkZWYuICBBZGRpdGlv
bmFsbHksIGV2ZW4gbTQgMS40LnggZ2l2ZXMgdXMgYW4gTygxKQotIyBpbnNlcnQgb3BlcmF0aW9u
IGZvciBmcmVlOiBwdXNoZGVmLiAgQnV0IHRvIHVzZSB0aGVzZSwgd2UgbXVzdAotIyByZXByZXNl
bnQgdGhlIHNldCB2aWEgYSBncm91cCBvZiBtYWNyb3M7IHRvIGtlZXAgdGhlIHNldCBjb25zaXN0
ZW50LAotIyB3ZSBtdXN0IGhpZGUgdGhlIHNldCBzbyB0aGF0IHRoZSB1c2VyIGNhbiBvbmx5IG1h
bmlwdWxhdGUgaXQgdGhyb3VnaAotIyBhY2Nlc3NvciBtYWNyb3MuICBUaGUgY29udGVudHMgb2Yg
dGhlIHNldCBhcmUgbWFpbnRhaW5lZCB0aHJvdWdoIHR3bwotIyBhY2Nlc3MgcG9pbnRzOyBfbTRf
c2V0KFtuYW1lXSkgaXMgYSBwdXNoZGVmIHN0YWNrIG9mIHZhbHVlcyBpbiB0aGUKLSMgc2V0LCB1
c2VmdWwgZm9yIE8obikgdHJhdmVyc2FsIG9mIHRoZSBzZXQgY29udGVudHM7IHdoaWxlIHRoZQot
IyBleGlzdGVuY2Ugb2YgX200X3NldChbbmFtZV0sdmFsdWUpIHdpdGggbm8gcGFydGljdWxhciB2
YWx1ZSBpcwotIyB1c2VmdWwgZm9yIE8oMSkgcXVlcnlpbmcgb2Ygc2V0IG1lbWJlcnNoaXAuICBB
bmQgc2luY2UgdGhlIHVzZXIKLSMgY2Fubm90IGV4dGVybmFsbHkgbWFuaXB1bGF0ZSB0aGUgc2V0
LCB3ZSBhcmUgZnJlZSB0byBhZGQgYWRkaXRpb25hbAotIyBjYWNoaW5nIG1hY3JvcyBmb3Igb3Ro
ZXIgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzLiAgRGVsZXRpb24gY2FuIGJlCi0jIE8oMSkgcGVy
IGVsZW1lbnQgcmF0aGVyIHRoYW4gTyhuKSwgYnkgcmV3b3JraW5nIHRoZSBkZWZpbml0aW9uIG9m
Ci0jIF9tNF9zZXQoW25hbWVdLHZhbHVlKSB0byBiZSAwIG9yIDEgYmFzZWQgb24gY3VycmVudCBt
ZW1iZXJzaGlwLCBhbmQKLSMgYWRkaW5nIF9tNF9zZXRfY2xlYW51cChuYW1lKSB0byBkZWZlciB0
aGUgTyhuKSBjbGVhbnVwIG9mCi0jIF9tNF9zZXQoW25hbWVdKSB1bnRpbCB3ZSBoYXZlIGFub3Ro
ZXIgcmVhc29uIHRvIGRvIGFuIE8obikKLSMgdHJhdmVyc2FsLiAgVGhlIGV4aXN0ZW5jZSBvZiBf
bTRfc2V0X2NsZWFudXAobmFtZSkgY2FuIHRoZW4gYmUgdXNlZAotIyBlbHNld2hlcmUgdG8gZGV0
ZXJtaW5lIGlmIHdlIG11c3QgZGVyZWZlcmVuY2UgX200X3NldChbbmFtZV0sdmFsdWUpLAotIyBv
ciBhc3N1bWUgdGhhdCBkZWZpbml0aW9uIGltcGxpZXMgc2V0IG1lbWJlcnNoaXAuICBGaW5hbGx5
LCBzaXplIGNhbgotIyBiZSB0cmFja2VkIGluIGFuIE8oMSkgZmFzaGlvbiB3aXRoIF9tNF9zZXRf
c2l6ZShuYW1lKS4KLSMKLSMgVGhlIHF1b3RpbmcgaW4gX200X3NldChbbmFtZV0sdmFsdWUpIGlz
IGNob3NlbiBzbyB0aGF0IHRoZXJlIGlzIG5vCi0jIGFtYmlndWl0eSB3aXRoIGEgc2V0IHdob3Nl
IG5hbWUgY29udGFpbnMgYSBjb21tYSwgYW5kIHNvIHRoYXQgd2UgY2FuCi0jIHN1cHBseSB0aGUg
dmFsdWUgdmlhIF9tNF9kZWZuKFtfbTRfc2V0KFtuYW1lXSldKSB3aXRob3V0IG5lZWRpbmcgYW55
Ci0jIHF1b3RlIG1hbmlwdWxhdGlvbi4KLQotIyBtNF9zZXRfYWRkKFNFVCwgVkFMVUUsIFtJRi1V
TklRXSwgW0lGLURVUF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSMgQWRkIFZBTFVFIGFzIGFuIGVsZW1lbnQgb2YgU0VULiAgRXhwYW5kIElGLVVOSVEg
b24gdGhlIGZpcnN0Ci0jIGFkZGl0aW9uLCBhbmQgSUYtRFVQIGlmIGl0IGlzIGFscmVhZHkgaW4g
dGhlIHNldC4gIEFkZGl0aW9uIG9mIG9uZQotIyBlbGVtZW50IGlzIE8oMSksIHN1Y2ggdGhhdCBv
dmVyYWxsIHNldCBjcmVhdGlvbiBpcyBPKG4pLgotIwotIyBXZSBkbyBub3Qgd2FudCB0byBhZGQg
YSBkdXBsaWNhdGUgZm9yIGEgcHJldmlvdXNseSBkZWxldGVkIGJ1dAotIyB1bnBydW5lZCBlbGVt
ZW50LCBidXQgaXQgaXMganVzdCBhcyBlYXN5IHRvIGNoZWNrIGV4aXN0ZW5jZSBkaXJlY3RseQot
IyBhcyBpdCBpcyB0byBxdWVyeSBfbTRfc2V0X2NsZWFudXAoJDEpLgotbTRfZGVmaW5lKFttNF9z
ZXRfYWRkXSwKLVttNF9pZmRlZihbX200X3NldChbJDFdLCQyKV0sCi0JICBbbTRfaWYobTRfaW5k
aXIoW19tNF9zZXQoWyQxXSwkMildKSwgWzBdLAotCQkgW200X2RlZmluZShbX200X3NldChbJDFd
LCQyKV0sCi0JCQkgICAgWzFdKV9tNF9zZXRfc2l6ZShbJDFdLCBbbTRfaW5jcl0pJDNdLCBbJDRd
KV0sCi0JICBbbTRfZGVmaW5lKFtfbTRfc2V0KFskMV0sJDIpXSwKLQkJICAgICBbMV0pbTRfcHVz
aGRlZihbX200X3NldChbJDFdKV0sCi0JCQkJICAgIFskMl0pX200X3NldF9zaXplKFskMV0sIFtt
NF9pbmNyXSkkM10pXSkKLQotIyBtNF9zZXRfYWRkX2FsbChTRVQsIFZBTFVFLi4uKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBBZGQgZWFjaCBWQUxVRSBpbnRvIFNFVC4gIFRo
aXMgaXMgTyhuKSBpbiB0aGUgbnVtYmVyIG9mIFZBTFVFcywgYW5kCi0jIGNhbiBiZSBmYXN0ZXIg
dGhhbiBjYWxsaW5nIG00X3NldF9hZGQgZm9yIGVhY2ggVkFMVUUuCi0jCi0jIEltcGxlbWVudCB0
d28gcmVjdXJzaW9uIGhlbHBlcnM7IHRoZSBjaGVjayB2YXJpYW50IGlzIHNsb3dlciBidXQKLSMg
aGFuZGxlcyB0aGUgY2FzZSB3aGVyZSBhbiBlbGVtZW50IGhhcyBwcmV2aW91c2x5IGJlZW4gcmVt
b3ZlZCBidXQKLSMgbm90IHBydW5lZC4gIFRoZSByZWN1cnNpb24gaGVscGVycyBpZ25vcmUgdGhl
aXIgc2Vjb25kIGFyZ3VtZW50LCBzbwotIyB0aGF0IHdlIGNhbiB1c2UgdGhlIGZhc3RlciBtNF9z
aGlmdDIgYW5kIDIgYXJndW1lbnRzLCByYXRoZXIgdGhhbgotIyBfbTRfc2hpZnQyIGFuZCBvbmUg
YXJndW1lbnQsIGFzIHRoZSBzaWduYWwgdG8gZW5kIHJlY3Vyc2lvbi4KLSMKLSMgUGxlYXNlIGtl
ZXAgZm9yZWFjaC5tNCBpbiBzeW5jIHdpdGggYW55IGFkanVzdG1lbnRzIG1hZGUgaGVyZS4KLW00
X2RlZmluZShbbTRfc2V0X2FkZF9hbGxdLAotW200X2RlZmluZShbX200X3NldF9zaXplKCQxKV0s
IG00X2V2YWwobTRfc2V0X3NpemUoWyQxXSkKLSAgKyBtNF9sZW4obTRfaWZkZWYoW19tNF9zZXRf
Y2xlYW51cCgkMSldLCBbXyQwX2NoZWNrXSwgW18kMF0pKFskMV0sICRAKSkpKV0pCi0KLW00X2Rl
ZmluZShbX200X3NldF9hZGRfYWxsXSwKLVttNF9pZihbJCNdLCBbMl0sIFtdLAotICAgICAgIFtt
NF9pZmRlZihbX200X3NldChbJDFdLCQzKV0sIFtdLAotCQkgW200X2RlZmluZShbX200X3NldChb
JDFdLCQzKV0sIFsxXSltNF9wdXNoZGVmKFtfbTRfc2V0KFskMV0pXSwKLQkgICBbJDNdKS1dKSQw
KFskMV0sIG00X3NoaWZ0MigkQCkpXSldKQotCi1tNF9kZWZpbmUoW19tNF9zZXRfYWRkX2FsbF9j
aGVja10sCi1bbTRfaWYoWyQjXSwgWzJdLCBbXSwKLSAgICAgICBbbTRfc2V0X2FkZChbJDFdLCBb
JDNdKSQwKFskMV0sIG00X3NoaWZ0MigkQCkpXSldKQotCi0jIG00X3NldF9jb250YWlucyhTRVQs
IFZBTFVFLCBbSUYtUFJFU0VOVF0sIFtJRi1BQlNFTlRdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kIElGLVBSRVNFTlQg
aWYgU0VUIGNvbnRhaW5zIFZBTFVFLCBvdGhlcndpc2UgZXhwYW5kIElGLUFCU0VOVC4KLSMgVGhp
cyBpcyBhbHdheXMgTygxKS4KLW00X2RlZmluZShbbTRfc2V0X2NvbnRhaW5zXSwKLVttNF9pZmRl
ZihbX200X3NldF9jbGVhbnVwKCQxKV0sCi0JICBbbTRfaWYobTRfaWZkZWYoW19tNF9zZXQoWyQx
XSwkMildLAotCQkgICAgW200X2luZGlyKFtfbTRfc2V0KFskMV0sJDIpXSldLCBbMF0pLCBbMV0s
IFskM10sIFskNF0pXSwKLQkgIFttNF9pZmRlZihbX200X3NldChbJDFdLCQyKV0sIFskM10sIFsk
NF0pXSldKQotCi0jIG00X3NldF9jb250ZW50cyhTRVQsIFtTRVBdKQotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kIHRvIGEgc2luZ2xlIHN0cmluZyBjb250YWluaW5nIGFs
bCB0aGUgZWxlbWVudHMgaW4gU0VULAotIyBzZXBhcmF0ZWQgYnkgU0VQLCB3aXRob3V0IG1vZGlm
eWluZyBTRVQuICBObyBwcm92aXNpb24gaXMgbWFkZSBmb3IKLSMgZGlzYW1iaWd1YXRpbmcgc2V0
IGVsZW1lbnRzIHRoYXQgY29udGFpbiBub24tZW1wdHkgU0VQIGFzIGEKLSMgc3ViLXN0cmluZywg
b3IgZm9yIHJlY29nbml6aW5nIGEgc2V0IHRoYXQgY29udGFpbnMgb25seSB0aGUgZW1wdHkKLSMg
c3RyaW5nLiAgT3JkZXIgb2YgdGhlIG91dHB1dCBpcyBub3QgZ3VhcmFudGVlZC4gIElmIGFueSBl
bGVtZW50cwotIyBoYXZlIGJlZW4gcHJldmlvdXNseSByZW1vdmVkIGZyb20gdGhlIHNldCwgdGhp
cyBhY3Rpb24gd2lsbCBwcnVuZQotIyB0aGUgdW51c2VkIG1lbW9yeS4gIFRoaXMgaXMgTyhuKSBp
biB0aGUgc2l6ZSBvZiB0aGUgc2V0IGJlZm9yZQotIyBwcnVuaW5nLgotIwotIyBVc2UgX200X3Bv
cGRlZiBmb3Igc3BlZWQuICBUaGUgZXhpc3RlbmNlIG9mIF9tNF9zZXRfY2xlYW51cCgkMSkKLSMg
ZGV0ZXJtaW5lcyB3aGljaCB2ZXJzaW9uIG9mIF8xIGhlbHBlciB3ZSB1c2UuCi1tNF9kZWZpbmUo
W200X3NldF9jb250ZW50c10sCi1bbTRfc2V0X21hcF9zZXAoWyQxXSwgW10sIFtdLCBbWyQyXV0p
XSkKLQotIyBfbTRfc2V0X2NvbnRlbnRzXzEoU0VUKQotIyBfbTRfc2V0X2NvbnRlbnRzXzFjKFNF
VCkKLSMgX200X3NldF9jb250ZW50c18yKFNFVCwgW1BSRV0sIFtQT1NUXSwgW1NFUF0pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbmQgdG8g
YSBsaXN0IG9mIHF1b3RlZCBlbGVtZW50cyBjdXJyZW50bHkgaW4gdGhlIHNldCwgZWFjaAotIyBz
dXJyb3VuZGVkIGJ5IFBSRSBhbmQgUE9TVCwgYW5kIG1vdmluZyBTRVAgaW4gZnJvbnQgb2YgUFJF
IG9uCi0jIHJlY3Vyc2lvbi4gIFRvIGF2b2lkIG5lc3RpbmcgbGltaXQgcmVzdHJpY3Rpb25zLCB0
aGUgYWxnb3JpdGhtIG11c3QKLSMgYmUgYnJva2VuIGludG8gdHdvIHBhcnRzOyBfMSBkZXN0cnVj
dGl2ZWx5IGNvcGllcyB0aGUgc3RhY2sgaW4KLSMgcmV2ZXJzZSBpbnRvIF9tNF9zZXRfKCQxKSwg
cHJvZHVjaW5nIG5vIG91dHB1dDsgdGhlbiBfMgotIyBkZXN0cnVjdGl2ZWx5IGNvcGllcyBfbTRf
c2V0XygkMSkgYmFjayBpbnRvIHRoZSBzdGFjayBpbiByZXZlcnNlLgotIyBJZiBubyBlbGVtZW50
cyB3ZXJlIGRlbGV0ZWQsIHRoZW4gdGhpcyB2aXNpdHMgdGhlIHNldCBpbiB0aGUgb3JkZXIKLSMg
dGhhdCBlbGVtZW50cyB3ZXJlIGluc2VydGVkLiAgQmVoYXZpb3IgaXMgdW5kZWZpbmVkIGlmIFBS
RS9QT1NUL1NFUAotIyB0cmllcyB0byByZWN1cnNpdmVseSBsaXN0IG9yIG1vZGlmeSBTRVQgaW4g
YW55IHdheSBvdGhlciB0aGFuCi0jIGNhbGxpbmcgbTRfc2V0X3JlbW92ZSBvbiB0aGUgY3VycmVu
dCBlbGVtZW50LiAgVXNlIF8xIGlmIGFsbCBlbnRyaWVzCi0jIGluIHRoZSBzdGFjayBhcmUgZ3Vh
cmFudGVlZCB0byBiZSBpbiB0aGUgc2V0LCBhbmQgXzFjIHRvIHBydW5lCi0jIHJlbW92ZWQgZW50
cmllcy4gIFVzZXMgX200X2RlZm4gYW5kIF9tNF9wb3BkZWYgZm9yIHNwZWVkLgotbTRfZGVmaW5l
KFtfbTRfc2V0X2NvbnRlbnRzXzFdLAotW19tNF9zdGFja19yZXZlcnNlKFtfbTRfc2V0KFskMV0p
XSwgW19tNF9zZXRfKCQxKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfc2V0X2NvbnRlbnRzXzFjXSwK
LVttNF9pZmRlZihbX200X3NldChbJDFdKV0sCi0JICBbbTRfc2V0X2NvbnRhaW5zKFskMV0sIF9t
NF9kZWZuKFtfbTRfc2V0KFskMV0pXSksCi0JCSAgIFttNF9wdXNoZGVmKFtfbTRfc2V0XygkMSld
LCBfbTRfZGVmbihbX200X3NldChbJDFdKV0pKV0sCi0JCSAgIFtfbTRfcG9wZGVmKFtfbTRfc2V0
KFskMV0sXV9tNF9kZWZuKAotICAgICAgW19tNF9zZXQoWyQxXSldKVspXSldKV9tNF9wb3BkZWYo
W19tNF9zZXQoWyQxXSldKSQwKFskMV0pXSwKLQkgIFtfbTRfcG9wZGVmKFtfbTRfc2V0X2NsZWFu
dXAoJDEpXSldKV0pCi0KLW00X2RlZmluZShbX200X3NldF9jb250ZW50c18yXSwKLVtfbTRfc3Rh
Y2tfcmV2ZXJzZShbX200X3NldF8oJDEpXSwgW19tNF9zZXQoWyQxXSldLAotICBbJDJbXV9tNF9k
ZWZuKFtfbTRfc2V0XygkMSldKSQzXSwgWyQ0W11dKV0pCi0KLSMgbTRfc2V0X2RlbGV0ZShTRVQp
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLQotIyBEZWxldGUgYWxsIGVsZW1lbnRzIGluIFNFVCwgYW5k
IHJlY2xhaW0gYW55IG1lbW9yeSBvY2N1cGllZCBieSB0aGUKLSMgc2V0LiAgVGhpcyBpcyBPKG4p
IGluIHRoZSBzZXQgc2l6ZS4KLSMKLSMgVXNlIF9tNF9kZWZuIGFuZCBfbTRfcG9wZGVmIGZvciBz
cGVlZC4KLW00X2RlZmluZShbbTRfc2V0X2RlbGV0ZV0sCi1bbTRfaWZkZWYoW19tNF9zZXQoWyQx
XSldLAotCSAgW19tNF9wb3BkZWYoW19tNF9zZXQoWyQxXSxdX200X2RlZm4oW19tNF9zZXQoWyQx
XSldKVspXSwKLQkJICAgICAgW19tNF9zZXQoWyQxXSldKSQwKFskMV0pXSwKLQkgIFttNF9pZmRl
ZihbX200X3NldF9jbGVhbnVwKCQxKV0sCi0JCSAgICBbX200X3BvcGRlZihbX200X3NldF9jbGVh
bnVwKCQxKV0pXSltNF9pZmRlZigKLQkJICAgIFtfbTRfc2V0X3NpemUoJDEpXSwKLQkJICAgIFtf
bTRfcG9wZGVmKFtfbTRfc2V0X3NpemUoJDEpXSldKV0pXSkKLQotIyBtNF9zZXRfZGlmZmVyZW5j
ZShTRVQxLCBTRVQyKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQcm9kdWNl
IGEgTElTVCBvZiBxdW90ZWQgZWxlbWVudHMgdGhhdCBvY2N1ciBpbiBTRVQxIGJ1dCBub3QgU0VU
Mi4KLSMgT3V0cHV0IGEgY29tbWEgcHJpb3IgdG8gYW55IGVsZW1lbnRzLCB0byBkaXN0aW5ndWlz
aCB0aGUgZW1wdHkKLSMgc3RyaW5nIGZyb20gbm8gZWxlbWVudHMuICBUaGlzIGNhbiBiZSBkaXJl
Y3RseSB1c2VkIGFzIGEgc2VyaWVzIG9mCi0jIGFyZ3VtZW50cywgc3VjaCBhcyBmb3IgbTRfam9p
biwgb3Igd3JhcHBlZCBpbnNpZGUgcXVvdGVzIGZvciB1c2UgaW4KLSMgbTRfZm9yZWFjaC4gIE9y
ZGVyIG9mIHRoZSBvdXRwdXQgaXMgbm90IGd1YXJhbnRlZWQuCi0jCi0jIFNob3J0LWNpcmN1aXQg
dGhlIGlkZW1wb3RlbmNlIHJlbGF0aW9uLgotbTRfZGVmaW5lKFttNF9zZXRfZGlmZmVyZW5jZV0s
Ci1bbTRfaWYoWyQxXSwgWyQyXSwgW10sIFttNF9zZXRfbWFwX3NlcChbJDFdLCBbXyQwKFskMl0s
XSwgWyldKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfc2V0X2RpZmZlcmVuY2VdLAotW200X3NldF9j
b250YWlucyhbJDFdLCBbJDJdLCBbXSwgWyxbJDJdXSldKQotCi0jIG00X3NldF9kdW1wKFNFVCwg
W1NFUF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV4cGFuZCB0byBhIHNpbmdsZSBz
dHJpbmcgY29udGFpbmluZyBhbGwgdGhlIGVsZW1lbnRzIGluIFNFVCwKLSMgc2VwYXJhdGVkIGJ5
IFNFUCwgdGhlbiBkZWxldGUgU0VULiAgSW4gZ2VuZXJhbCwgaWYgeW91IG9ubHkgbmVlZCB0bwot
IyBsaXN0IHRoZSBjb250ZW50cyBvbmNlLCB0aGlzIGlzIGZhc3RlciB0aGFuIG00X3NldF9jb250
ZW50cy4gIE5vCi0jIHByb3Zpc2lvbiBpcyBtYWRlIGZvciBkaXNhbWJpZ3VhdGluZyBzZXQgZWxl
bWVudHMgdGhhdCBjb250YWluCi0jIG5vbi1lbXB0eSBTRVAgYXMgYSBzdWItc3RyaW5nLiAgT3Jk
ZXIgb2YgdGhlIG91dHB1dCBpcyBub3QKLSMgZ3VhcmFudGVlZC4gIFRoaXMgaXMgTyhuKSBpbiB0
aGUgc2l6ZSBvZiB0aGUgc2V0IGJlZm9yZSBwcnVuaW5nLgotIwotIyBVc2UgX200X3BvcGRlZiBm
b3Igc3BlZWQuICBVc2UgZXhpc3RlbmNlIG9mIF9tNF9zZXRfY2xlYW51cCgkMSkgdG8KLSMgZGVj
aWRlIGlmIG1vcmUgZXhwZW5zaXZlIHJlY3Vyc2lvbiBpcyBuZWVkZWQuCi1tNF9kZWZpbmUoW200
X3NldF9kdW1wXSwKLVttNF9pZmRlZihbX200X3NldF9zaXplKCQxKV0sCi0JICBbX200X3BvcGRl
ZihbX200X3NldF9zaXplKCQxKV0pXSltNF9pZmRlZihbX200X3NldF9jbGVhbnVwKCQxKV0sCi0g
ICAgW18kMF9jaGVja10sIFtfJDBdKShbJDFdLCBbXSwgWyQyXSldKQotCi0jIF9tNF9zZXRfZHVt
cChTRVQsIFtTRVBdLCBbUFJFUF0pCi0jIF9tNF9zZXRfZHVtcF9jaGVjayhTRVQsIFtTRVBdLCBb
UFJFUF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFByaW50
IFNFUCBhbmQgdGhlIGN1cnJlbnQgZWxlbWVudCwgdGhlbiBkZWxldGUgdGhlIGVsZW1lbnQgYW5k
Ci0jIHJlY3Vyc2Ugd2l0aCBlbXB0eSBTRVAgY2hhbmdlZCB0byBQUkVQLiAgVGhlIGNoZWNrIHZh
cmlhbnQgY2hlY2tzCi0jIHdoZXRoZXIgdGhlIGVsZW1lbnQgaGFzIGJlZW4gcHJldmlvdXNseSBy
ZW1vdmVkLiAgVXNlIF9tNF9kZWZuIGFuZAotIyBfbTRfcG9wZGVmIGZvciBzcGVlZC4KLW00X2Rl
ZmluZShbX200X3NldF9kdW1wXSwKLVttNF9pZmRlZihbX200X3NldChbJDFdKV0sCi0JICBbWyQy
XV9tNF9kZWZuKFtfbTRfc2V0KFskMV0pXSlfbTRfcG9wZGVmKFtfbTRfc2V0KFskMV0sXV9tNF9k
ZWZuKAotCQlbX200X3NldChbJDFdKV0pWyldLCBbX200X3NldChbJDFdKV0pJDAoWyQxXSwgWyQy
JDNdKV0pXSkKLQotbTRfZGVmaW5lKFtfbTRfc2V0X2R1bXBfY2hlY2tdLAotW200X2lmZGVmKFtf
bTRfc2V0KFskMV0pXSwKLQkgIFttNF9zZXRfY29udGFpbnMoWyQxXSwgX200X2RlZm4oW19tNF9z
ZXQoWyQxXSldKSwKLQkJCSAgIFtbJDJdX200X2RlZm4oW19tNF9zZXQoWyQxXSldKV0pX200X3Bv
cGRlZigKLSAgICBbX200X3NldChbJDFdLF1fbTRfZGVmbihbX200X3NldChbJDFdKV0pWyldLAot
ICAgIFtfbTRfc2V0KFskMV0pXSkkMChbJDFdLCBbJDIkM10pXSwKLQkgIFtfbTRfcG9wZGVmKFtf
bTRfc2V0X2NsZWFudXAoJDEpXSldKV0pCi0KLSMgbTRfc2V0X2VtcHR5KFNFVCwgW0lGLUVNUFRZ
XSwgW0lGLUVMRU1FTlRTXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLSMgRXhwYW5kIElGLUVNUFRZIGlmIFNFVCBoYXMgbm8gZWxlbWVudHMsIG90aGVy
d2lzZSBJRi1FTEVNRU5UUy4KLW00X2RlZmluZShbbTRfc2V0X2VtcHR5XSwKLVttNF9pZmRlZihb
X200X3NldF9zaXplKCQxKV0sCi0JICBbbTRfaWYobTRfaW5kaXIoW19tNF9zZXRfc2l6ZSgkMSld
KSwgWzBdLCBbJDJdLCBbJDNdKV0sIFskMl0pXSkKLQotIyBtNF9zZXRfZm9yZWFjaChTRVQsIFZB
UiwgQUNUSU9OKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBGb3IgZWFj
aCBlbGVtZW50IG9mIFNFVCwgZGVmaW5lIFZBUiB0byB0aGUgZWxlbWVudCBhbmQgZXhwYW5kCi0j
IEFDVElPTi4gIEFDVElPTiBzaG91bGQgbm90IHJlY3Vyc2l2ZWx5IGxpc3QgU0VUJ3MgY29udGVu
dHMsIGFkZAotIyBlbGVtZW50cyB0byBTRVQsIG5vciBkZWxldGUgYW55IGVsZW1lbnQgZnJvbSBT
RVQgZXhjZXB0IHRoZSBvbmUKLSMgY3VycmVudGx5IGluIFZBUi4gIFRoZSBvcmRlciB0aGF0IHRo
ZSBlbGVtZW50cyBhcmUgdmlzaXRlZCBpbiBpcyBub3QKLSMgZ3VhcmFudGVlZC4gIFRoaXMgaXMg
ZmFzdGVyIHRoYW4gdGhlIGNvcnJlc3BvbmRpbmcgbTRfZm9yZWFjaChbVkFSXSwKLSMgICBtNF9p
bmRpcihbbTRfZHF1b3RlXW00X3NldF9saXN0YyhbU0VUXSkpLCBbQUNUSU9OXSkKLW00X2RlZmlu
ZShbbTRfc2V0X2ZvcmVhY2hdLAotW200X3B1c2hkZWYoWyQyXSltNF9zZXRfbWFwX3NlcChbJDFd
LAotW200X2RlZmluZShbJDJdLF0sIFspJDNdKW00X3BvcGRlZihbJDJdKV0pCi0KLSMgbTRfc2V0
X2ludGVyc2VjdGlvbihTRVQxLCBTRVQyKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIFByb2R1Y2UgYSBMSVNUIG9mIHF1b3RlZCBlbGVtZW50cyB0aGF0IG9jY3VyIGluIGJv
dGggU0VUMSBvciBTRVQyLgotIyBPdXRwdXQgYSBjb21tYSBwcmlvciB0byBhbnkgZWxlbWVudHMs
IHRvIGRpc3Rpbmd1aXNoIHRoZSBlbXB0eQotIyBzdHJpbmcgZnJvbSBubyBlbGVtZW50cy4gIFRo
aXMgY2FuIGJlIGRpcmVjdGx5IHVzZWQgYXMgYSBzZXJpZXMgb2YKLSMgYXJndW1lbnRzLCBzdWNo
IGFzIGZvciBtNF9qb2luLCBvciB3cmFwcGVkIGluc2lkZSBxdW90ZXMgZm9yIHVzZSBpbgotIyBt
NF9mb3JlYWNoLiAgT3JkZXIgb2YgdGhlIG91dHB1dCBpcyBub3QgZ3VhcmFudGVlZC4KLSMKLSMg
SXRlcmF0ZSBvdmVyIHRoZSBzbWFsbGVyIHNldCwgYW5kIHNob3J0LWNpcmN1aXQgdGhlIGlkZW1w
b3RlbmNlCi0jIHJlbGF0aW9uLgotbTRfZGVmaW5lKFttNF9zZXRfaW50ZXJzZWN0aW9uXSwKLVtt
NF9pZihbJDFdLCBbJDJdLCBbbTRfc2V0X2xpc3RjKFskMV0pXSwKLSAgICAgICBtNF9ldmFsKG00
X3NldF9zaXplKFskMl0pIDwgbTRfc2V0X3NpemUoWyQxXSkpLCBbMV0sIFskMChbJDJdLCBbJDFd
KV0sCi0gICAgICAgW200X3NldF9tYXBfc2VwKFskMV0sIFtfJDAoWyQyXSxdLCBbKV0pXSldKQot
Ci1tNF9kZWZpbmUoW19tNF9zZXRfaW50ZXJzZWN0aW9uXSwKLVttNF9zZXRfY29udGFpbnMoWyQx
XSwgWyQyXSwgWyxbJDJdXSldKQotCi0jIG00X3NldF9saXN0KFNFVCkKLSMgbTRfc2V0X2xpc3Rj
KFNFVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgUHJvZHVjZSBhIExJU1Qgb2YgcXVvdGVkIGVs
ZW1lbnRzIG9mIFNFVC4gIFRoaXMgY2FuIGJlIGRpcmVjdGx5IHVzZWQKLSMgYXMgYSBzZXJpZXMg
b2YgYXJndW1lbnRzLCBzdWNoIGFzIGZvciBtNF9qb2luIG9yIG00X3NldF9hZGRfYWxsLCBvcgot
IyB3cmFwcGVkIGluc2lkZSBxdW90ZXMgZm9yIHVzZSBpbiBtNF9mb3JlYWNoIG9yIG00X21hcC4g
IFdpdGgKLSMgbTRfc2V0X2xpc3QsIHRoZXJlIGlzIG5vIHdheSB0byBkaXN0aW5ndWlzaCBhbiBl
bXB0eSBzZXQgZnJvbSBhIHNldAotIyBjb250YWluaW5nIG9ubHkgdGhlIGVtcHR5IHN0cmluZzsg
d2l0aCBtNF9zZXRfbGlzdGMsIGEgbGVhZGluZyBjb21tYQotIyBpcyBvdXRwdXQgaWYgdGhlcmUg
YXJlIGFueSBlbGVtZW50cy4KLW00X2RlZmluZShbbTRfc2V0X2xpc3RdLAotW200X3NldF9tYXBf
c2VwKFskMV0sIFtdLCBbXSwgWyxdKV0pCi0KLW00X2RlZmluZShbbTRfc2V0X2xpc3RjXSwKLVtt
NF9zZXRfbWFwX3NlcChbJDFdLCBbLF0pXSkKLQotIyBtNF9zZXRfbWFwKFNFVCwgQUNUSU9OKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBGb3IgZWFjaCBlbGVtZW50IG9mIFNFVCwgZXhw
YW5kIEFDVElPTiB3aXRoIGEgc2luZ2xlIGFyZ3VtZW50IG9mIHRoZQotIyBjdXJyZW50IGVsZW1l
bnQuICBBQ1RJT04gc2hvdWxkIG5vdCByZWN1cnNpdmVseSBsaXN0IFNFVCdzIGNvbnRlbnRzLAot
IyBhZGQgZWxlbWVudHMgdG8gU0VULCBub3IgZGVsZXRlIGFueSBlbGVtZW50IGZyb20gU0VUIGV4
Y2VwdCB0aGUgb25lCi0jIHBhc3NlZCBhcyBhbiBhcmd1bWVudC4gIFRoZSBvcmRlciB0aGF0IHRo
ZSBlbGVtZW50cyBhcmUgdmlzaXRlZCBpbgotIyBpcyBub3QgZ3VhcmFudGVlZC4gIFRoaXMgaXMg
ZmFzdGVyIHRoYW4gZWl0aGVyIG9mIHRoZSBjb3JyZXNwb25kaW5nCi0jICAgbTRfbWFwX2FyZ3Mo
W0FDVElPTl1tNF9zZXRfbGlzdGMoW1NFVF0pKQotIyAgIG00X3NldF9mb3JlYWNoKFtTRVRdLCBb
VkFSXSwgW0FDVElPTihtNF9kZWZuKFtWQVJdKSldKQotbTRfZGVmaW5lKFttNF9zZXRfbWFwXSwK
LVttNF9zZXRfbWFwX3NlcChbJDFdLCBbJDIoXSwgWyldKV0pCi0KLSMgbTRfc2V0X21hcF9zZXAo
U0VULCBbUFJFXSwgW1BPU1RdLCBbU0VQXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLSMgRm9yIGVhY2ggZWxlbWVudCBvZiBTRVQsIGV4cGFuZCBQUkVbdmFs
dWVdUE9TVFtdLCBhbmQgZXhwYW5kIFNFUAotIyBiZXR3ZWVuIGVsZW1lbnRzLgotbTRfZGVmaW5l
KFttNF9zZXRfbWFwX3NlcF0sCi1bbTRfaWZkZWYoW19tNF9zZXRfY2xlYW51cCgkMSldLCBbX200
X3NldF9jb250ZW50c18xY10sCi0JICBbX200X3NldF9jb250ZW50c18xXSkoWyQxXSlfbTRfc2V0
X2NvbnRlbnRzXzIoJEApXSkKLQotIyBtNF9zZXRfcmVtb3ZlKFNFVCwgVkFMVUUsIFtJRi1QUkVT
RU5UXSwgW0lGLUFCU0VOVF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgVkFMVUUgaXMgYW4gZWxlbWVudCBvZiBTRVQsIGRlbGV0
ZSBpdCBhbmQgZXhwYW5kIElGLVBSRVNFTlQuCi0jIE90aGVyd2lzZSBleHBhbmQgSUYtQUJTRU5U
LiAgRGVsZXRpbmcgYSBzaW5nbGUgdmFsdWUgaXMgTygxKSwKLSMgYWx0aG91Z2ggaXQgbGVhdmVz
IG1lbW9yeSBvY2N1cGllZCB1bnRpbCB0aGUgbmV4dCBPKG4pIHRyYXZlcnNhbCBvZgotIyB0aGUg
c2V0IHdoaWNoIHdpbGwgY29tcGFjdCB0aGUgc2V0LgotIwotIyBPcHRpbWl6ZSBpZiB0aGUgZWxl
bWVudCBiZWluZyByZW1vdmVkIGlzIHRoZSBtb3N0IHJlY2VudGx5IGFkZGVkLAotIyBzaW5jZSBk
ZWZpbmluZyBfbTRfc2V0X2NsZWFudXAoJDEpIHNsb3dzIGRvd24gc28gbWFueSBvdGhlciBtYWNy
b3MuCi0jIEluIHBhcnRpY3VsYXIsIHRoaXMgcGxheXMgd2VsbCB3aXRoIG00X3NldF9mb3JlYWNo
IGFuZCBtNF9zZXRfbWFwLgotbTRfZGVmaW5lKFttNF9zZXRfcmVtb3ZlXSwKLVttNF9zZXRfY29u
dGFpbnMoWyQxXSwgWyQyXSwgW19tNF9zZXRfc2l6ZShbJDFdLAotICAgIFttNF9kZWNyXSltNF9p
ZihfbTRfZGVmbihbX200X3NldChbJDFdKV0pLCBbJDJdLAotCQkgICAgW19tNF9wb3BkZWYoW19t
NF9zZXQoWyQxXSwkMildLCBbX200X3NldChbJDFdKV0pXSwKLQkJICAgIFttNF9kZWZpbmUoW19t
NF9zZXRfY2xlYW51cCgkMSldKW00X2RlZmluZSgKLQkJICAgICAgW19tNF9zZXQoWyQxXSwkMild
LCBbMF0pXSkkM10sIFskNF0pXSkKLQotIyBtNF9zZXRfc2l6ZShTRVQpCi0jIC0tLS0tLS0tLS0t
LS0tLS0KLSMgRXhwYW5kIHRvIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgY3VycmVudGx5IGluIFNF
VC4gIFRoaXMgb3BlcmF0aW9uCi0jIGlzIE8oMSksIGFuZCB0aHVzIG1vcmUgZWZmaWNpZW50IHRo
YW4gbTRfY291bnQobTRfc2V0X2xpc3QoW1NFVF0pKS4KLW00X2RlZmluZShbbTRfc2V0X3NpemVd
LAotW200X2lmZGVmKFtfbTRfc2V0X3NpemUoJDEpXSwgW200X2luZGlyKFtfbTRfc2V0X3NpemUo
JDEpXSldLCBbMF0pXSkKLQotIyBfbTRfc2V0X3NpemUoU0VULCBBQ1RJT04pCi0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgQUNUSU9OIG11c3QgYmUgZWl0aGVyIG00X2luY3Igb3IgbTRf
ZGVjciwgYW5kIHRoZSBzaXplIG9mIFNFVCBpcwotIyBjaGFuZ2VkIGFjY29yZGluZ2x5LiAgSWYg
dGhlIHNldCBpcyBlbXB0eSwgQUNUSU9OIG11c3Qgbm90IGJlCi0jIG00X2RlY3IuCi1tNF9kZWZp
bmUoW19tNF9zZXRfc2l6ZV0sCi1bbTRfZGVmaW5lKFtfbTRfc2V0X3NpemUoJDEpXSwKLQkgICBt
NF9pZmRlZihbX200X3NldF9zaXplKCQxKV0sIFskMihtNF9pbmRpcihbX200X3NldF9zaXplKCQx
KV0pKV0sCi0JCSAgICBbMV0pKV0pCi0KLSMgbTRfc2V0X3VuaW9uKFNFVDEsIFNFVDIpCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQcm9kdWNlIGEgTElTVCBvZiBkb3VibGUgcXVvdGVk
IGVsZW1lbnRzIHRoYXQgb2NjdXIgaW4gZWl0aGVyIFNFVDEKLSMgb3IgU0VUMiwgd2l0aG91dCBk
dXBsaWNhdGVzLiAgT3V0cHV0IGEgY29tbWEgcHJpb3IgdG8gYW55IGVsZW1lbnRzLAotIyB0byBk
aXN0aW5ndWlzaCB0aGUgZW1wdHkgc3RyaW5nIGZyb20gbm8gZWxlbWVudHMuICBUaGlzIGNhbiBi
ZQotIyBkaXJlY3RseSB1c2VkIGFzIGEgc2VyaWVzIG9mIGFyZ3VtZW50cywgc3VjaCBhcyBmb3Ig
bTRfam9pbiwgb3IKLSMgd3JhcHBlZCBpbnNpZGUgcXVvdGVzIGZvciB1c2UgaW4gbTRfZm9yZWFj
aC4gIE9yZGVyIG9mIHRoZSBvdXRwdXQgaXMKLSMgbm90IGd1YXJhbnRlZWQuCi0jCi0jIFdlIGNh
biByZWx5IG9uIHRoZSBmYWN0IHRoYXQgbTRfc2V0X2xpc3RjIHBydW5lcyBTRVQxLCBzbyB3ZSBk
b24ndAotIyBuZWVkIHRvIGNoZWNrIF9tNF9zZXQoWyQxXSxlbGVtZW50KSBmb3IgMC4gIFNob3J0
LWNpcmN1aXQgdGhlCi0jIGlkZW1wb3RlbmNlIHJlbGF0aW9uLgotbTRfZGVmaW5lKFttNF9zZXRf
dW5pb25dLAotW200X3NldF9saXN0YyhbJDFdKW00X2lmKFskMV0sIFskMl0sIFtdLAotICBbbTRf
c2V0X21hcF9zZXAoWyQyXSwgW18kMChbJDFdLF0sIFspXSldKV0pCi0KLW00X2RlZmluZShbX200
X3NldF91bmlvbl0sCi1bbTRfaWZkZWYoW19tNF9zZXQoWyQxXSwkMildLCBbXSwgWyxbJDJdXSld
KQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIDE2LiBGaWxlIGhhbmRsaW5nLiAg
IyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotCi0jIEl0IGlzIGEgcmVhbCBwaXR5IHRo
YXQgTTQgY29tZXMgd2l0aCBubyBtYWNyb3MgdG8gYmluZCBhIGRpdmVyc2lvbgotIyB0byBhIGZp
bGUuICBTbyB3ZSBoYXZlIHRvIGRlYWwgd2l0aG91dCwgd2hpY2ggbWFrZXMgdXMgYSBsb3QgbW9y
ZQotIyBmcmFnaWxlIHRoYW4gd2Ugc2hvdWxkLgotCi0KLSMgbTRfZmlsZV9hcHBlbmQoRklMRS1O
QU1FLCBDT05URU5UKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1tNF9k
ZWZpbmUoW200X2ZpbGVfYXBwZW5kXSwKLVttNF9zeXNjbWQoW2NhdCA+PiQxIDw8X200ZW9mCi0k
MgotX200ZW9mCi1dKQotbTRfaWYobTRfc3lzdmFsLCBbMF0sIFtdLAotICAgICAgW200X2ZhdGFs
KFskMDogY2Fubm90IHdyaXRlOiAkMV0pXSldKQotCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMjCi0jIyAxNy4gU2V0dGluZyBNNHN1Z2FyIHVwLiAgIyMKLSMjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSAjIwotCi0jIF9tNF9kaXZlcnRfZGl2ZXJzaW9uIHNob3VsZCBiZSBkZWZp
bmVkLgotbTRfZGl2ZXJ0X3B1c2goW0tJTExdKQotCi0jIG00X2luaXQKLSMgLS0tLS0tLQotIyBJ
bml0aWFsaXplIHRoZSBtNHN1Z2FyIGxhbmd1YWdlLgotbTRfZGVmaW5lKFttNF9pbml0XSwKLVsj
IEFsbCB0aGUgTTRzdWdhciBtYWNyb3Mgc3RhcnQgd2l0aCBgbTRfJywgZXhjZXB0IGBkbmwnIGtl
cHQgYXMgaXMKLSMgZm9yIHNha2Ugb2Ygc2ltcGxpY2l0eS4KLW00X3BhdHRlcm5fZm9yYmlkKFte
Xz9tNF9dKQotbTRfcGF0dGVybl9mb3JiaWQoW15kbmwkXSkKLQotIyBJZiBfX200X3ZlcnNpb25f
XyBpcyBkZWZpbmVkLCB3ZSBhc3N1bWUgdGhhdCB3ZSBhcmUgYmVpbmcgcnVuIGJ5IE00Ci0jIDEu
NiBvciBuZXdlciwgdGh1cyAkQCByZWN1cnNpb24gaXMgbGluZWFyLCBhbmQgZGVidWdtb2RlKCtk
bykKLSMgaXMgYXZhaWxhYmxlIGZvciBmYXN0ZXIgY2hlY2tzIG9mIGRlcmVmZXJlbmNpbmcgdW5k
ZWZpbmVkIG1hY3JvcwotIyBhbmQgZm9yY2luZyBkdW1wZGVmIHRvIHByaW50IHRvIHN0ZGVyciBy
ZWdhcmRsZXNzIG9mIGRlYnVnZmlsZS4KLSMgQnV0IGlmIGl0IGlzIG1pc3NpbmcsIHdlIGFzc3Vt
ZSB3ZSBhcmUgYmVpbmcgcnVuIGJ5IE00IDEuNC54LCB0aGF0Ci0jICRAIHJlY3Vyc2lvbiBpcyBx
dWFkcmF0aWMsIGFuZCB0aGF0IHdlIG5lZWQgZm9yZWFjaC1iYXNlZAotIyByZXBsYWNlbWVudCBt
YWNyb3MuICBBbHNvLCBtNCBwcmlvciB0byAxLjQuOCBsb3NlcyB0cmFjayBvZiBsb2NhdGlvbgot
IyBkdXJpbmcgbTR3cmFwIHRleHQ7IF9fbGluZV9fIHNob3VsZCBuZXZlciBiZSAwLgotIwotIyBV
c2UgdGhlIHJhdyBidWlsdGluIHRvIGF2b2lkIHRyaXBwaW5nIHVwIGluY2x1ZGUgdHJhY2luZy4K
LSMgTWVhbndoaWxlLCBhdm9pZCBtNF9jb3B5LCBzaW5jZSBpdCB0ZW1wb3JhcmlseSB1bmRlZmlu
ZXMgbTRfZGVmbi4KLW00X2lmZGVmKFtfX200X3ZlcnNpb25fX10sCi1bbTRfZGVidWdtb2RlKFsr
ZG9dKQotbTRfZGVmaW5lKFttNF9kZWZuXSwgX200X2RlZm4oW19tNF9kZWZuXSkpCi1tNF9kZWZp
bmUoW200X2R1bXBkZWZdLCBfbTRfZGVmbihbX200X2R1bXBkZWZdKSkKLW00X2RlZmluZShbbTRf
cG9wZGVmXSwgX200X2RlZm4oW19tNF9wb3BkZWZdKSkKLW00X2RlZmluZShbbTRfdW5kZWZpbmVd
LCBfbTRfZGVmbihbX200X3VuZGVmaW5lXSkpXSwKLVttNF9idWlsdGluKFtpbmNsdWRlXSwgW200
c3VnYXIvZm9yZWFjaC5tNF0pCi1tNF93cmFwX2xpZm8oW200X2lmKF9fbGluZV9fLCBbMF0sIFtt
NF9wdXNoZGVmKFttNF9sb2NhdGlvbl0sCi1dXW00X2RxdW90ZShtNF9kcXVvdGUobTRfZHF1b3Rl
KF9fZmlsZV9fOl9fbGluZV9fKSkpW1spXSldKV0pCi0KLSMgUmV3cml0ZSB0aGUgZmlyc3QgZW50
cnkgb2YgdGhlIGRpdmVyc2lvbiBzdGFjay4KLW00X2RpdmVydChbS0lMTF0pCi0KLSMgQ2hlY2sg
dGhlIGRpdmVydCBwdXNoL3BvcCBwZXJmZWN0IGJhbGFuY2UuCi0jIFNvbWUgdXNlcnMgYXJlIHBy
b25lIHRvIGFsc28gdXNlIG00X3dyYXAgdG8gcmVnaXN0ZXIgbGFzdC1taW51dGUKLSMgbTRfZGl2
ZXJ0X3RleHQ7IHNvIGFmdGVyIG91ciBkaXZlcnNpb24gY2xlYW51cHMsIHdlIHJlc3RvcmUKLSMg
S0lMTCBhcyB0aGUgYm90dG9tIG9mIHRoZSBkaXZlcnNpb24gc3RhY2suCi1tNF93cmFwKFttNF9w
b3BkZWYoW19tNF9kaXZlcnRfZGl2ZXJzaW9uXSltNF9pZmRlZigKLSAgW19tNF9kaXZlcnRfZGl2
ZXJzaW9uXSwgW200X2ZhdGFsKFskMDogdW5iYWxhbmNlZCBtNF9kaXZlcnRfcHVzaDoKLV1tNF9k
aXZlcnRfc3RhY2spXSlfbTRfcG9wZGVmKFtfbTRfZGl2ZXJ0X3N0YWNrXSltNF9kaXZlcnRfcHVz
aChbS0lMTF0pXSkKLV0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29s
cy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9MSUNFTlNFIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvTElDRU5T
RQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTRhOWVkMDI0ZDM4NTk3OTM2MTgxNTJl
YTU1OWExNjhiYmNiYjVlMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3Bh
cnR5L3NrZWxldG9ucy9MSUNFTlNFCisrKyAvZGV2L251bGwKQEAgLTEsNjc0ICswLDAgQEAKLSAg
ICAgICAgICAgICAgICAgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKLSAgICAgICAgICAg
ICAgICAgICAgICAgVmVyc2lvbiAzLCAyOSBKdW5lIDIwMDcKLQotIENvcHlyaWdodCAoQykgMjAw
NyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4gPGh0dHA6Ly9mc2Yub3JnLz4KLSBFdmVy
eW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMK
LSBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dl
ZC4KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWFtYmxlCi0KLSAgVGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGEgZnJlZSwgY29weWxlZnQgbGljZW5zZSBmb3IKLXNv
ZnR3YXJlIGFuZCBvdGhlciBraW5kcyBvZiB3b3Jrcy4KLQotICBUaGUgbGljZW5zZXMgZm9yIG1v
c3Qgc29mdHdhcmUgYW5kIG90aGVyIHByYWN0aWNhbCB3b3JrcyBhcmUgZGVzaWduZWQKLXRvIHRh
a2UgYXdheSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSB0aGUgd29ya3MuICBCeSBj
b250cmFzdCwKLXRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBn
dWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCi1zaGFyZSBhbmQgY2hhbmdlIGFsbCB2ZXJzaW9ucyBv
ZiBhIHByb2dyYW0tLXRvIG1ha2Ugc3VyZSBpdCByZW1haW5zIGZyZWUKLXNvZnR3YXJlIGZvciBh
bGwgaXRzIHVzZXJzLiAgV2UsIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIHVzZSB0aGUK
LUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQg
YXBwbGllcyBhbHNvIHRvCi1hbnkgb3RoZXIgd29yayByZWxlYXNlZCB0aGlzIHdheSBieSBpdHMg
YXV0aG9ycy4gIFlvdSBjYW4gYXBwbHkgaXQgdG8KLXlvdXIgcHJvZ3JhbXMsIHRvby4KLQotICBX
aGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRv
bSwgbm90Ci1wcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQg
dG8gbWFrZSBzdXJlIHRoYXQgeW91Ci1oYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29w
aWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCi10aGVtIGlmIHlvdSB3aXNoKSwg
dGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdQotd2FudCBp
dCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdCBp
biBuZXcKLWZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2Ug
dGhpbmdzLgotCi0gIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gcHJldmVudCBv
dGhlcnMgZnJvbSBkZW55aW5nIHlvdQotdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3Vy
cmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCi1jZXJ0YWluIHJlc3BvbnNp
YmlsaXRpZXMgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYK
LXlvdSBtb2RpZnkgaXQ6IHJlc3BvbnNpYmlsaXRpZXMgdG8gcmVzcGVjdCB0aGUgZnJlZWRvbSBv
ZiBvdGhlcnMuCi0KLSAgRm9yIGV4YW1wbGUsIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiBz
dWNoIGEgcHJvZ3JhbSwgd2hldGhlcgotZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgcGFz
cyBvbiB0byB0aGUgcmVjaXBpZW50cyB0aGUgc2FtZQotZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2
ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKLW9yIGNhbiBn
ZXQgdGhlIHNvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBz
byB0aGV5Ci1rbm93IHRoZWlyIHJpZ2h0cy4KLQotICBEZXZlbG9wZXJzIHRoYXQgdXNlIHRoZSBH
TlUgR1BMIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0d28gc3RlcHM6Ci0oMSkgYXNzZXJ0IGNv
cHlyaWdodCBvbiB0aGUgc29mdHdhcmUsIGFuZCAoMikgb2ZmZXIgeW91IHRoaXMgTGljZW5zZQot
Z2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1v
ZGlmeSBpdC4KLQotICBGb3IgdGhlIGRldmVsb3BlcnMnIGFuZCBhdXRob3JzJyBwcm90ZWN0aW9u
LCB0aGUgR1BMIGNsZWFybHkgZXhwbGFpbnMKLXRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9y
IHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKLWF1dGhvcnMnIHNha2Us
IHRoZSBHUEwgcmVxdWlyZXMgdGhhdCBtb2RpZmllZCB2ZXJzaW9ucyBiZSBtYXJrZWQgYXMKLWNo
YW5nZWQsIHNvIHRoYXQgdGhlaXIgcHJvYmxlbXMgd2lsbCBub3QgYmUgYXR0cmlidXRlZCBlcnJv
bmVvdXNseSB0bwotYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KLQotICBTb21lIGRldmlj
ZXMgYXJlIGRlc2lnbmVkIHRvIGRlbnkgdXNlcnMgYWNjZXNzIHRvIGluc3RhbGwgb3IgcnVuCi1t
b2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRo
ZSBtYW51ZmFjdHVyZXIKLWNhbiBkbyBzby4gIFRoaXMgaXMgZnVuZGFtZW50YWxseSBpbmNvbXBh
dGlibGUgd2l0aCB0aGUgYWltIG9mCi1wcm90ZWN0aW5nIHVzZXJzJyBmcmVlZG9tIHRvIGNoYW5n
ZSB0aGUgc29mdHdhcmUuICBUaGUgc3lzdGVtYXRpYwotcGF0dGVybiBvZiBzdWNoIGFidXNlIG9j
Y3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KLXVzZSwgd2hp
Y2ggaXMgcHJlY2lzZWx5IHdoZXJlIGl0IGlzIG1vc3QgdW5hY2NlcHRhYmxlLiAgVGhlcmVmb3Jl
LCB3ZQotaGF2ZSBkZXNpZ25lZCB0aGlzIHZlcnNpb24gb2YgdGhlIEdQTCB0byBwcm9oaWJpdCB0
aGUgcHJhY3RpY2UgZm9yIHRob3NlCi1wcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ug
c3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQotc3RhbmQgcmVhZHkgdG8gZXh0ZW5k
IHRoaXMgcHJvdmlzaW9uIHRvIHRob3NlIGRvbWFpbnMgaW4gZnV0dXJlIHZlcnNpb25zCi1vZiB0
aGUgR1BMLCBhcyBuZWVkZWQgdG8gcHJvdGVjdCB0aGUgZnJlZWRvbSBvZiB1c2Vycy4KLQotICBG
aW5hbGx5LCBldmVyeSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2Fy
ZSBwYXRlbnRzLgotU3RhdGVzIHNob3VsZCBub3QgYWxsb3cgcGF0ZW50cyB0byByZXN0cmljdCBk
ZXZlbG9wbWVudCBhbmQgdXNlIG9mCi1zb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0
ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwotYXZvaWQgdGhlIHNwZWNpYWwg
ZGFuZ2VyIHRoYXQgcGF0ZW50cyBhcHBsaWVkIHRvIGEgZnJlZSBwcm9ncmFtIGNvdWxkCi1tYWtl
IGl0IGVmZmVjdGl2ZWx5IHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB0aGUgR1BMIGFz
c3VyZXMgdGhhdAotcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0g
bm9uLWZyZWUuCi0KLSAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlp
bmcsIGRpc3RyaWJ1dGlvbiBhbmQKLW1vZGlmaWNhdGlvbiBmb2xsb3cuCi0KLSAgICAgICAgICAg
ICAgICAgICAgICAgVEVSTVMgQU5EIENPTkRJVElPTlMKLQotICAwLiBEZWZpbml0aW9ucy4KLQot
ICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZS4KLQotICAiQ29weXJpZ2h0IiBhbHNvIG1lYW5zIGNvcHlyaWdodC1saWtl
IGxhd3MgdGhhdCBhcHBseSB0byBvdGhlciBraW5kcyBvZgotd29ya3MsIHN1Y2ggYXMgc2VtaWNv
bmR1Y3RvciBtYXNrcy4KLQotICAiVGhlIFByb2dyYW0iIHJlZmVycyB0byBhbnkgY29weXJpZ2h0
YWJsZSB3b3JrIGxpY2Vuc2VkIHVuZGVyIHRoaXMKLUxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlz
IGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAotInJlY2lwaWVudHMiIG1heSBi
ZSBpbmRpdmlkdWFscyBvciBvcmdhbml6YXRpb25zLgotCi0gIFRvICJtb2RpZnkiIGEgd29yayBt
ZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKLWluIGEg
ZmFzaGlvbiByZXF1aXJpbmcgY29weXJpZ2h0IHBlcm1pc3Npb24sIG90aGVyIHRoYW4gdGhlIG1h
a2luZyBvZiBhbgotZXhhY3QgY29weS4gIFRoZSByZXN1bHRpbmcgd29yayBpcyBjYWxsZWQgYSAi
bW9kaWZpZWQgdmVyc2lvbiIgb2YgdGhlCi1lYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBv
biIgdGhlIGVhcmxpZXIgd29yay4KLQotICBBICJjb3ZlcmVkIHdvcmsiIG1lYW5zIGVpdGhlciB0
aGUgdW5tb2RpZmllZCBQcm9ncmFtIG9yIGEgd29yayBiYXNlZAotb24gdGhlIFByb2dyYW0uCi0K
LSAgVG8gInByb3BhZ2F0ZSIgYSB3b3JrIG1lYW5zIHRvIGRvIGFueXRoaW5nIHdpdGggaXQgdGhh
dCwgd2l0aG91dAotcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25k
YXJpbHkgbGlhYmxlIGZvcgotaW5mcmluZ2VtZW50IHVuZGVyIGFwcGxpY2FibGUgY29weXJpZ2h0
IGxhdywgZXhjZXB0IGV4ZWN1dGluZyBpdCBvbiBhCi1jb21wdXRlciBvciBtb2RpZnlpbmcgYSBw
cml2YXRlIGNvcHkuICBQcm9wYWdhdGlvbiBpbmNsdWRlcyBjb3B5aW5nLAotZGlzdHJpYnV0aW9u
ICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUK
LXB1YmxpYywgYW5kIGluIHNvbWUgY291bnRyaWVzIG90aGVyIGFjdGl2aXRpZXMgYXMgd2VsbC4K
LQotICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhh
dCBlbmFibGVzIG90aGVyCi1wYXJ0aWVzIHRvIG1ha2Ugb3IgcmVjZWl2ZSBjb3BpZXMuICBNZXJl
IGludGVyYWN0aW9uIHdpdGggYSB1c2VyIHRocm91Z2gKLWEgY29tcHV0ZXIgbmV0d29yaywgd2l0
aCBubyB0cmFuc2ZlciBvZiBhIGNvcHksIGlzIG5vdCBjb252ZXlpbmcuCi0KLSAgQW4gaW50ZXJh
Y3RpdmUgdXNlciBpbnRlcmZhY2UgZGlzcGxheXMgIkFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXMi
Ci10byB0aGUgZXh0ZW50IHRoYXQgaXQgaW5jbHVkZXMgYSBjb252ZW5pZW50IGFuZCBwcm9taW5l
bnRseSB2aXNpYmxlCi1mZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNv
cHlyaWdodCBub3RpY2UsIGFuZCAoMikKLXRlbGxzIHRoZSB1c2VyIHRoYXQgdGhlcmUgaXMgbm8g
d2FycmFudHkgZm9yIHRoZSB3b3JrIChleGNlcHQgdG8gdGhlCi1leHRlbnQgdGhhdCB3YXJyYW50
aWVzIGFyZSBwcm92aWRlZCksIHRoYXQgbGljZW5zZWVzIG1heSBjb252ZXkgdGhlCi13b3JrIHVu
ZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2Uu
ICBJZgotdGhlIGludGVyZmFjZSBwcmVzZW50cyBhIGxpc3Qgb2YgdXNlciBjb21tYW5kcyBvciBv
cHRpb25zLCBzdWNoIGFzIGEKLW1lbnUsIGEgcHJvbWluZW50IGl0ZW0gaW4gdGhlIGxpc3QgbWVl
dHMgdGhpcyBjcml0ZXJpb24uCi0KLSAgMS4gU291cmNlIENvZGUuCi0KLSAgVGhlICJzb3VyY2Ug
Y29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKLWZv
ciBtYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gICJPYmplY3QgY29kZSIgbWVhbnMgYW55IG5v
bi1zb3VyY2UKLWZvcm0gb2YgYSB3b3JrLgotCi0gIEEgIlN0YW5kYXJkIEludGVyZmFjZSIgbWVh
bnMgYW4gaW50ZXJmYWNlIHRoYXQgZWl0aGVyIGlzIGFuIG9mZmljaWFsCi1zdGFuZGFyZCBkZWZp
bmVkIGJ5IGEgcmVjb2duaXplZCBzdGFuZGFyZHMgYm9keSwgb3IsIGluIHRoZSBjYXNlIG9mCi1p
bnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdl
LCBvbmUgdGhhdAotaXMgd2lkZWx5IHVzZWQgYW1vbmcgZGV2ZWxvcGVycyB3b3JraW5nIGluIHRo
YXQgbGFuZ3VhZ2UuCi0KLSAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxl
IHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKLXRoYW4gdGhlIHdvcmsgYXMgYSB3aG9sZSwg
dGhhdCAoYSkgaXMgaW5jbHVkZWQgaW4gdGhlIG5vcm1hbCBmb3JtIG9mCi1wYWNrYWdpbmcgYSBN
YWpvciBDb21wb25lbnQsIGJ1dCB3aGljaCBpcyBub3QgcGFydCBvZiB0aGF0IE1ham9yCi1Db21w
b25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRo
IHRoYXQKLU1ham9yIENvbXBvbmVudCwgb3IgdG8gaW1wbGVtZW50IGEgU3RhbmRhcmQgSW50ZXJm
YWNlIGZvciB3aGljaCBhbgotaW1wbGVtZW50YXRpb24gaXMgYXZhaWxhYmxlIHRvIHRoZSBwdWJs
aWMgaW4gc291cmNlIGNvZGUgZm9ybS4gIEEKLSJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNv
bnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAotKGtlcm5lbCwgd2luZG93
IHN5c3RlbSwgYW5kIHNvIG9uKSBvZiB0aGUgc3BlY2lmaWMgb3BlcmF0aW5nIHN5c3RlbQotKGlm
IGFueSkgb24gd2hpY2ggdGhlIGV4ZWN1dGFibGUgd29yayBydW5zLCBvciBhIGNvbXBpbGVyIHVz
ZWQgdG8KLXByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVz
ZWQgdG8gcnVuIGl0LgotCi0gIFRoZSAiQ29ycmVzcG9uZGluZyBTb3VyY2UiIGZvciBhIHdvcmsg
aW4gb2JqZWN0IGNvZGUgZm9ybSBtZWFucyBhbGwKLXRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8g
Z2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKLXdvcmspIHJ1biB0aGUg
b2JqZWN0IGNvZGUgYW5kIHRvIG1vZGlmeSB0aGUgd29yaywgaW5jbHVkaW5nIHNjcmlwdHMgdG8K
LWNvbnRyb2wgdGhvc2UgYWN0aXZpdGllcy4gIEhvd2V2ZXIsIGl0IGRvZXMgbm90IGluY2x1ZGUg
dGhlIHdvcmsncwotU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9y
IGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQotcHJvZ3JhbXMgd2hpY2ggYXJlIHVzZWQgdW5tb2Rp
ZmllZCBpbiBwZXJmb3JtaW5nIHRob3NlIGFjdGl2aXRpZXMgYnV0Ci13aGljaCBhcmUgbm90IHBh
cnQgb2YgdGhlIHdvcmsuICBGb3IgZXhhbXBsZSwgQ29ycmVzcG9uZGluZyBTb3VyY2UKLWluY2x1
ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmls
ZXMgZm9yCi10aGUgd29yaywgYW5kIHRoZSBzb3VyY2UgY29kZSBmb3Igc2hhcmVkIGxpYnJhcmll
cyBhbmQgZHluYW1pY2FsbHkKLWxpbmtlZCBzdWJwcm9ncmFtcyB0aGF0IHRoZSB3b3JrIGlzIHNw
ZWNpZmljYWxseSBkZXNpZ25lZCB0byByZXF1aXJlLAotc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRh
IGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKLXN1YnByb2dyYW1z
IGFuZCBvdGhlciBwYXJ0cyBvZiB0aGUgd29yay4KLQotICBUaGUgQ29ycmVzcG9uZGluZyBTb3Vy
Y2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCi1jYW4gcmVnZW5lcmF0ZSBh
dXRvbWF0aWNhbGx5IGZyb20gb3RoZXIgcGFydHMgb2YgdGhlIENvcnJlc3BvbmRpbmcKLVNvdXJj
ZS4KLQotICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGEgd29yayBpbiBzb3VyY2UgY29k
ZSBmb3JtIGlzIHRoYXQKLXNhbWUgd29yay4KLQotICAyLiBCYXNpYyBQZXJtaXNzaW9ucy4KLQot
ICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0
aGUgdGVybSBvZgotY29weXJpZ2h0IG9uIHRoZSBQcm9ncmFtLCBhbmQgYXJlIGlycmV2b2NhYmxl
IHByb3ZpZGVkIHRoZSBzdGF0ZWQKLWNvbmRpdGlvbnMgYXJlIG1ldC4gIFRoaXMgTGljZW5zZSBl
eHBsaWNpdGx5IGFmZmlybXMgeW91ciB1bmxpbWl0ZWQKLXBlcm1pc3Npb24gdG8gcnVuIHRoZSB1
bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCi1jb3ZlcmVkIHdv
cmsgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2Ugb25seSBpZiB0aGUgb3V0cHV0LCBnaXZlbiBp
dHMKLWNvbnRlbnQsIGNvbnN0aXR1dGVzIGEgY292ZXJlZCB3b3JrLiAgVGhpcyBMaWNlbnNlIGFj
a25vd2xlZGdlcyB5b3VyCi1yaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwg
YXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KLQotICBZb3UgbWF5IG1ha2UsIHJ1biBhbmQg
cHJvcGFnYXRlIGNvdmVyZWQgd29ya3MgdGhhdCB5b3UgZG8gbm90Ci1jb252ZXksIHdpdGhvdXQg
Y29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwotaW4g
Zm9yY2UuICBZb3UgbWF5IGNvbnZleSBjb3ZlcmVkIHdvcmtzIHRvIG90aGVycyBmb3IgdGhlIHNv
bGUgcHVycG9zZQotb2YgaGF2aW5nIHRoZW0gbWFrZSBtb2RpZmljYXRpb25zIGV4Y2x1c2l2ZWx5
IGZvciB5b3UsIG9yIHByb3ZpZGUgeW91Ci13aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhv
c2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCi10aGUgdGVybXMgb2YgdGhp
cyBMaWNlbnNlIGluIGNvbnZleWluZyBhbGwgbWF0ZXJpYWwgZm9yIHdoaWNoIHlvdSBkbwotbm90
IGNvbnRyb2wgY29weXJpZ2h0LiAgVGhvc2UgdGh1cyBtYWtpbmcgb3IgcnVubmluZyB0aGUgY292
ZXJlZCB3b3JrcwotZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxm
LCB1bmRlciB5b3VyIGRpcmVjdGlvbgotYW5kIGNvbnRyb2wsIG9uIHRlcm1zIHRoYXQgcHJvaGli
aXQgdGhlbSBmcm9tIG1ha2luZyBhbnkgY29waWVzIG9mCi15b3VyIGNvcHlyaWdodGVkIG1hdGVy
aWFsIG91dHNpZGUgdGhlaXIgcmVsYXRpb25zaGlwIHdpdGggeW91LgotCi0gIENvbnZleWluZyB1
bmRlciBhbnkgb3RoZXIgY2lyY3Vtc3RhbmNlcyBpcyBwZXJtaXR0ZWQgc29sZWx5IHVuZGVyCi10
aGUgY29uZGl0aW9ucyBzdGF0ZWQgYmVsb3cuICBTdWJsaWNlbnNpbmcgaXMgbm90IGFsbG93ZWQ7
IHNlY3Rpb24gMTAKLW1ha2VzIGl0IHVubmVjZXNzYXJ5LgotCi0gIDMuIFByb3RlY3RpbmcgVXNl
cnMnIExlZ2FsIFJpZ2h0cyBGcm9tIEFudGktQ2lyY3VtdmVudGlvbiBMYXcuCi0KLSAgTm8gY292
ZXJlZCB3b3JrIHNoYWxsIGJlIGRlZW1lZCBwYXJ0IG9mIGFuIGVmZmVjdGl2ZSB0ZWNobm9sb2dp
Y2FsCi1tZWFzdXJlIHVuZGVyIGFueSBhcHBsaWNhYmxlIGxhdyBmdWxmaWxsaW5nIG9ibGlnYXRp
b25zIHVuZGVyIGFydGljbGUKLTExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRl
ZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgotc2ltaWxhciBsYXdzIHByb2hpYml0aW5nIG9yIHJl
c3RyaWN0aW5nIGNpcmN1bXZlbnRpb24gb2Ygc3VjaAotbWVhc3VyZXMuCi0KLSAgV2hlbiB5b3Ug
Y29udmV5IGEgY292ZXJlZCB3b3JrLCB5b3Ugd2FpdmUgYW55IGxlZ2FsIHBvd2VyIHRvIGZvcmJp
ZAotY2lyY3VtdmVudGlvbiBvZiB0ZWNobm9sb2dpY2FsIG1lYXN1cmVzIHRvIHRoZSBleHRlbnQg
c3VjaCBjaXJjdW12ZW50aW9uCi1pcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRl
ciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCi10aGUgY292ZXJlZCB3b3JrLCBhbmQgeW91
IGRpc2NsYWltIGFueSBpbnRlbnRpb24gdG8gbGltaXQgb3BlcmF0aW9uIG9yCi1tb2RpZmljYXRp
b24gb2YgdGhlIHdvcmsgYXMgYSBtZWFucyBvZiBlbmZvcmNpbmcsIGFnYWluc3QgdGhlIHdvcmsn
cwotdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBj
aXJjdW12ZW50aW9uIG9mCi10ZWNobm9sb2dpY2FsIG1lYXN1cmVzLgotCi0gIDQuIENvbnZleWlu
ZyBWZXJiYXRpbSBDb3BpZXMuCi0KLSAgWW91IG1heSBjb252ZXkgdmVyYmF0aW0gY29waWVzIG9m
IHRoZSBQcm9ncmFtJ3Mgc291cmNlIGNvZGUgYXMgeW91Ci1yZWNlaXZlIGl0LCBpbiBhbnkgbWVk
aXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAotYXBwcm9wcmlhdGVseSBw
dWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlOwota2Vl
cCBpbnRhY3QgYWxsIG5vdGljZXMgc3RhdGluZyB0aGF0IHRoaXMgTGljZW5zZSBhbmQgYW55Ci1u
b24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkg
dG8gdGhlIGNvZGU7Ci1rZWVwIGludGFjdCBhbGwgbm90aWNlcyBvZiB0aGUgYWJzZW5jZSBvZiBh
bnkgd2FycmFudHk7IGFuZCBnaXZlIGFsbAotcmVjaXBpZW50cyBhIGNvcHkgb2YgdGhpcyBMaWNl
bnNlIGFsb25nIHdpdGggdGhlIFByb2dyYW0uCi0KLSAgWW91IG1heSBjaGFyZ2UgYW55IHByaWNl
IG9yIG5vIHByaWNlIGZvciBlYWNoIGNvcHkgdGhhdCB5b3UgY29udmV5LAotYW5kIHlvdSBtYXkg
b2ZmZXIgc3VwcG9ydCBvciB3YXJyYW50eSBwcm90ZWN0aW9uIGZvciBhIGZlZS4KLQotICA1LiBD
b252ZXlpbmcgTW9kaWZpZWQgU291cmNlIFZlcnNpb25zLgotCi0gIFlvdSBtYXkgY29udmV5IGEg
d29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KLXByb2R1
Y2UgaXQgZnJvbSB0aGUgUHJvZ3JhbSwgaW4gdGhlIGZvcm0gb2Ygc291cmNlIGNvZGUgdW5kZXIg
dGhlCi10ZXJtcyBvZiBzZWN0aW9uIDQsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwg
b2YgdGhlc2UgY29uZGl0aW9uczoKLQotICAgIGEpIFRoZSB3b3JrIG11c3QgY2FycnkgcHJvbWlu
ZW50IG5vdGljZXMgc3RhdGluZyB0aGF0IHlvdSBtb2RpZmllZAotICAgIGl0LCBhbmQgZ2l2aW5n
IGEgcmVsZXZhbnQgZGF0ZS4KLQotICAgIGIpIFRoZSB3b3JrIG11c3QgY2FycnkgcHJvbWluZW50
IG5vdGljZXMgc3RhdGluZyB0aGF0IGl0IGlzCi0gICAgcmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNl
bnNlIGFuZCBhbnkgY29uZGl0aW9ucyBhZGRlZCB1bmRlciBzZWN0aW9uCi0gICAgNy4gIFRoaXMg
cmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwotICAg
ICJrZWVwIGludGFjdCBhbGwgbm90aWNlcyIuCi0KLSAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRo
ZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwotICAgIExpY2Vuc2UgdG8gYW55
b25lIHdobyBjb21lcyBpbnRvIHBvc3Nlc3Npb24gb2YgYSBjb3B5LiAgVGhpcwotICAgIExpY2Vu
c2Ugd2lsbCB0aGVyZWZvcmUgYXBwbHksIGFsb25nIHdpdGggYW55IGFwcGxpY2FibGUgc2VjdGlv
biA3Ci0gICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQg
YWxsIGl0cyBwYXJ0cywKLSAgICByZWdhcmRsZXNzIG9mIGhvdyB0aGV5IGFyZSBwYWNrYWdlZC4g
IFRoaXMgTGljZW5zZSBnaXZlcyBubwotICAgIHBlcm1pc3Npb24gdG8gbGljZW5zZSB0aGUgd29y
ayBpbiBhbnkgb3RoZXIgd2F5LCBidXQgaXQgZG9lcyBub3QKLSAgICBpbnZhbGlkYXRlIHN1Y2gg
cGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgotCi0gICAgZCkg
SWYgdGhlIHdvcmsgaGFzIGludGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlcywgZWFjaCBtdXN0IGRp
c3BsYXkKLSAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJv
Z3JhbSBoYXMgaW50ZXJhY3RpdmUKLSAgICBpbnRlcmZhY2VzIHRoYXQgZG8gbm90IGRpc3BsYXkg
QXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcywgeW91cgotICAgIHdvcmsgbmVlZCBub3QgbWFrZSB0
aGVtIGRvIHNvLgotCi0gIEEgY29tcGlsYXRpb24gb2YgYSBjb3ZlcmVkIHdvcmsgd2l0aCBvdGhl
ciBzZXBhcmF0ZSBhbmQgaW5kZXBlbmRlbnQKLXdvcmtzLCB3aGljaCBhcmUgbm90IGJ5IHRoZWly
IG5hdHVyZSBleHRlbnNpb25zIG9mIHRoZSBjb3ZlcmVkIHdvcmssCi1hbmQgd2hpY2ggYXJlIG5v
dCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAotaW4g
b3Igb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0sIGlzIGNh
bGxlZCBhbgotImFnZ3JlZ2F0ZSIgaWYgdGhlIGNvbXBpbGF0aW9uIGFuZCBpdHMgcmVzdWx0aW5n
IGNvcHlyaWdodCBhcmUgbm90Ci11c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmln
aHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCi1iZXlvbmQgd2hhdCB0aGUgaW5kaXZpZHVh
bCB3b3JrcyBwZXJtaXQuICBJbmNsdXNpb24gb2YgYSBjb3ZlcmVkIHdvcmsKLWluIGFuIGFnZ3Jl
Z2F0ZSBkb2VzIG5vdCBjYXVzZSB0aGlzIExpY2Vuc2UgdG8gYXBwbHkgdG8gdGhlIG90aGVyCi1w
YXJ0cyBvZiB0aGUgYWdncmVnYXRlLgotCi0gIDYuIENvbnZleWluZyBOb24tU291cmNlIEZvcm1z
LgotCi0gIFlvdSBtYXkgY29udmV5IGEgY292ZXJlZCB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0g
dW5kZXIgdGhlIHRlcm1zCi1vZiBzZWN0aW9ucyA0IGFuZCA1LCBwcm92aWRlZCB0aGF0IHlvdSBh
bHNvIGNvbnZleSB0aGUKLW1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKLWluIG9uZSBvZiB0aGVzZSB3YXlzOgotCi0g
ICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2lj
YWwgcHJvZHVjdAotICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVt
KSwgYWNjb21wYW5pZWQgYnkgdGhlCi0gICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgZml4ZWQgb24g
YSBkdXJhYmxlIHBoeXNpY2FsIG1lZGl1bQotICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3
YXJlIGludGVyY2hhbmdlLgotCi0gICAgYikgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3Ig
ZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAotICAgIChpbmNsdWRpbmcgYSBwaHlzaWNh
bCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQotICAgIHdyaXR0ZW4gb2Zm
ZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycyBhbmQgdmFsaWQgZm9yIGFzCi0gICAg
bG9uZyBhcyB5b3Ugb2ZmZXIgc3BhcmUgcGFydHMgb3IgY3VzdG9tZXIgc3VwcG9ydCBmb3IgdGhh
dCBwcm9kdWN0Ci0gICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9i
amVjdCBjb2RlIGVpdGhlciAoMSkgYQotICAgIGNvcHkgb2YgdGhlIENvcnJlc3BvbmRpbmcgU291
cmNlIGZvciBhbGwgdGhlIHNvZnR3YXJlIGluIHRoZQotICAgIHByb2R1Y3QgdGhhdCBpcyBjb3Zl
cmVkIGJ5IHRoaXMgTGljZW5zZSwgb24gYSBkdXJhYmxlIHBoeXNpY2FsCi0gICAgbWVkaXVtIGN1
c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwot
ICAgIG1vcmUgdGhhbiB5b3VyIHJlYXNvbmFibGUgY29zdCBvZiBwaHlzaWNhbGx5IHBlcmZvcm1p
bmcgdGhpcwotICAgIGNvbnZleWluZyBvZiBzb3VyY2UsIG9yICgyKSBhY2Nlc3MgdG8gY29weSB0
aGUKLSAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8g
Y2hhcmdlLgotCi0gICAgYykgQ29udmV5IGluZGl2aWR1YWwgY29waWVzIG9mIHRoZSBvYmplY3Qg
Y29kZSB3aXRoIGEgY29weSBvZiB0aGUKLSAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhl
IENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwotICAgIGFsdGVybmF0aXZlIGlzIGFsbG93ZWQg
b25seSBvY2Nhc2lvbmFsbHkgYW5kIG5vbmNvbW1lcmNpYWxseSwgYW5kCi0gICAgb25seSBpZiB5
b3UgcmVjZWl2ZWQgdGhlIG9iamVjdCBjb2RlIHdpdGggc3VjaCBhbiBvZmZlciwgaW4gYWNjb3Jk
Ci0gICAgd2l0aCBzdWJzZWN0aW9uIDZiLgotCi0gICAgZCkgQ29udmV5IHRoZSBvYmplY3QgY29k
ZSBieSBvZmZlcmluZyBhY2Nlc3MgZnJvbSBhIGRlc2lnbmF0ZWQKLSAgICBwbGFjZSAoZ3JhdGlz
IG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKLSAg
ICBDb3JyZXNwb25kaW5nIFNvdXJjZSBpbiB0aGUgc2FtZSB3YXkgdGhyb3VnaCB0aGUgc2FtZSBw
bGFjZSBhdCBubwotICAgIGZ1cnRoZXIgY2hhcmdlLiAgWW91IG5lZWQgbm90IHJlcXVpcmUgcmVj
aXBpZW50cyB0byBjb3B5IHRoZQotICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGgg
dGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCi0gICAgY29weSB0aGUgb2JqZWN0IGNv
ZGUgaXMgYSBuZXR3b3JrIHNlcnZlciwgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlCi0gICAgbWF5
IGJlIG9uIGEgZGlmZmVyZW50IHNlcnZlciAob3BlcmF0ZWQgYnkgeW91IG9yIGEgdGhpcmQgcGFy
dHkpCi0gICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJv
dmlkZWQgeW91IG1haW50YWluCi0gICAgY2xlYXIgZGlyZWN0aW9ucyBuZXh0IHRvIHRoZSBvYmpl
Y3QgY29kZSBzYXlpbmcgd2hlcmUgdG8gZmluZCB0aGUKLSAgICBDb3JyZXNwb25kaW5nIFNvdXJj
ZS4gIFJlZ2FyZGxlc3Mgb2Ygd2hhdCBzZXJ2ZXIgaG9zdHMgdGhlCi0gICAgQ29ycmVzcG9uZGlu
ZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCi0gICAg
YXZhaWxhYmxlIGZvciBhcyBsb25nIGFzIG5lZWRlZCB0byBzYXRpc2Z5IHRoZXNlIHJlcXVpcmVt
ZW50cy4KLQotICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVy
IHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKLSAgICB5b3UgaW5mb3JtIG90aGVyIHBlZXJzIHdoZXJl
IHRoZSBvYmplY3QgY29kZSBhbmQgQ29ycmVzcG9uZGluZwotICAgIFNvdXJjZSBvZiB0aGUgd29y
ayBhcmUgYmVpbmcgb2ZmZXJlZCB0byB0aGUgZ2VuZXJhbCBwdWJsaWMgYXQgbm8KLSAgICBjaGFy
Z2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KLQotICBBIHNlcGFyYWJsZSBwb3J0aW9uIG9mIHRoZSBv
YmplY3QgY29kZSwgd2hvc2Ugc291cmNlIGNvZGUgaXMgZXhjbHVkZWQKLWZyb20gdGhlIENvcnJl
c3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCi1pbmNsdWRl
ZCBpbiBjb252ZXlpbmcgdGhlIG9iamVjdCBjb2RlIHdvcmsuCi0KLSAgQSAiVXNlciBQcm9kdWN0
IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKLXRh
bmdpYmxlIHBlcnNvbmFsIHByb3BlcnR5IHdoaWNoIGlzIG5vcm1hbGx5IHVzZWQgZm9yIHBlcnNv
bmFsLCBmYW1pbHksCi1vciBob3VzZWhvbGQgcHVycG9zZXMsIG9yICgyKSBhbnl0aGluZyBkZXNp
Z25lZCBvciBzb2xkIGZvciBpbmNvcnBvcmF0aW9uCi1pbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRl
cm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCi1kb3VidGZ1
bCBjYXNlcyBzaGFsbCBiZSByZXNvbHZlZCBpbiBmYXZvciBvZiBjb3ZlcmFnZS4gIEZvciBhIHBh
cnRpY3VsYXIKLXByb2R1Y3QgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHVzZXIsICJub3JtYWxs
eSB1c2VkIiByZWZlcnMgdG8gYQotdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mg
b2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCi1vZiB0aGUgcGFydGljdWxhciB1
c2VyIG9yIG9mIHRoZSB3YXkgaW4gd2hpY2ggdGhlIHBhcnRpY3VsYXIgdXNlcgotYWN0dWFsbHkg
dXNlcywgb3IgZXhwZWN0cyBvciBpcyBleHBlY3RlZCB0byB1c2UsIHRoZSBwcm9kdWN0LiAgQSBw
cm9kdWN0Ci1pcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBw
cm9kdWN0IGhhcyBzdWJzdGFudGlhbAotY29tbWVyY2lhbCwgaW5kdXN0cmlhbCBvciBub24tY29u
c3VtZXIgdXNlcywgdW5sZXNzIHN1Y2ggdXNlcyByZXByZXNlbnQKLXRoZSBvbmx5IHNpZ25pZmlj
YW50IG1vZGUgb2YgdXNlIG9mIHRoZSBwcm9kdWN0LgotCi0gICJJbnN0YWxsYXRpb24gSW5mb3Jt
YXRpb24iIGZvciBhIFVzZXIgUHJvZHVjdCBtZWFucyBhbnkgbWV0aG9kcywKLXByb2NlZHVyZXMs
IGF1dGhvcml6YXRpb24ga2V5cywgb3Igb3RoZXIgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gaW5z
dGFsbAotYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4g
dGhhdCBVc2VyIFByb2R1Y3QgZnJvbQotYSBtb2RpZmllZCB2ZXJzaW9uIG9mIGl0cyBDb3JyZXNw
b25kaW5nIFNvdXJjZS4gIFRoZSBpbmZvcm1hdGlvbiBtdXN0Ci1zdWZmaWNlIHRvIGVuc3VyZSB0
aGF0IHRoZSBjb250aW51ZWQgZnVuY3Rpb25pbmcgb2YgdGhlIG1vZGlmaWVkIG9iamVjdAotY29k
ZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1
c2UKLW1vZGlmaWNhdGlvbiBoYXMgYmVlbiBtYWRlLgotCi0gIElmIHlvdSBjb252ZXkgYW4gb2Jq
ZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCi1zcGVjaWZp
Y2FsbHkgZm9yIHVzZSBpbiwgYSBVc2VyIFByb2R1Y3QsIGFuZCB0aGUgY29udmV5aW5nIG9jY3Vy
cyBhcwotcGFydCBvZiBhIHRyYW5zYWN0aW9uIGluIHdoaWNoIHRoZSByaWdodCBvZiBwb3NzZXNz
aW9uIGFuZCB1c2Ugb2YgdGhlCi1Vc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJl
Y2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCi1maXhlZCB0ZXJtIChyZWdhcmRsZXNzIG9m
IGhvdyB0aGUgdHJhbnNhY3Rpb24gaXMgY2hhcmFjdGVyaXplZCksIHRoZQotQ29ycmVzcG9uZGlu
ZyBTb3VyY2UgY29udmV5ZWQgdW5kZXIgdGhpcyBzZWN0aW9uIG11c3QgYmUgYWNjb21wYW5pZWQK
LWJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBk
b2VzIG5vdCBhcHBseQotaWYgbmVpdGhlciB5b3Ugbm9yIGFueSB0aGlyZCBwYXJ0eSByZXRhaW5z
IHRoZSBhYmlsaXR5IHRvIGluc3RhbGwKLW1vZGlmaWVkIG9iamVjdCBjb2RlIG9uIHRoZSBVc2Vy
IFByb2R1Y3QgKGZvciBleGFtcGxlLCB0aGUgd29yayBoYXMKLWJlZW4gaW5zdGFsbGVkIGluIFJP
TSkuCi0KLSAgVGhlIHJlcXVpcmVtZW50IHRvIHByb3ZpZGUgSW5zdGFsbGF0aW9uIEluZm9ybWF0
aW9uIGRvZXMgbm90IGluY2x1ZGUgYQotcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlk
ZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCi1mb3IgYSB3b3JrIHRoYXQg
aGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkIGJ5IHRoZSByZWNpcGllbnQsIG9yIGZvcgot
dGhlIFVzZXIgUHJvZHVjdCBpbiB3aGljaCBpdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxs
ZWQuICBBY2Nlc3MgdG8gYQotbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNh
dGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKLWFkdmVyc2VseSBhZmZlY3RzIHRoZSBvcGVyYXRp
b24gb2YgdGhlIG5ldHdvcmsgb3IgdmlvbGF0ZXMgdGhlIHJ1bGVzIGFuZAotcHJvdG9jb2xzIGZv
ciBjb21tdW5pY2F0aW9uIGFjcm9zcyB0aGUgbmV0d29yay4KLQotICBDb3JyZXNwb25kaW5nIFNv
dXJjZSBjb252ZXllZCwgYW5kIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBwcm92aWRlZCwKLWlu
IGFjY29yZCB3aXRoIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGluIGEgZm9ybWF0IHRoYXQgaXMgcHVi
bGljbHkKLWRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0
byB0aGUgcHVibGljIGluCi1zb3VyY2UgY29kZSBmb3JtKSwgYW5kIG11c3QgcmVxdWlyZSBubyBz
cGVjaWFsIHBhc3N3b3JkIG9yIGtleSBmb3IKLXVucGFja2luZywgcmVhZGluZyBvciBjb3B5aW5n
LgotCi0gIDcuIEFkZGl0aW9uYWwgVGVybXMuCi0KLSAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMi
IGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKLUxpY2Vuc2UgYnkg
bWFraW5nIGV4Y2VwdGlvbnMgZnJvbSBvbmUgb3IgbW9yZSBvZiBpdHMgY29uZGl0aW9ucy4KLUFk
ZGl0aW9uYWwgcGVybWlzc2lvbnMgdGhhdCBhcmUgYXBwbGljYWJsZSB0byB0aGUgZW50aXJlIFBy
b2dyYW0gc2hhbGwKLWJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0
aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKLXRoYXQgdGhleSBhcmUgdmFsaWQgdW5kZXIgYXBw
bGljYWJsZSBsYXcuICBJZiBhZGRpdGlvbmFsIHBlcm1pc3Npb25zCi1hcHBseSBvbmx5IHRvIHBh
cnQgb2YgdGhlIFByb2dyYW0sIHRoYXQgcGFydCBtYXkgYmUgdXNlZCBzZXBhcmF0ZWx5Ci11bmRl
ciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVy
bmVkIGJ5Ci10aGlzIExpY2Vuc2Ugd2l0aG91dCByZWdhcmQgdG8gdGhlIGFkZGl0aW9uYWwgcGVy
bWlzc2lvbnMuCi0KLSAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywg
eW91IG1heSBhdCB5b3VyIG9wdGlvbgotcmVtb3ZlIGFueSBhZGRpdGlvbmFsIHBlcm1pc3Npb25z
IGZyb20gdGhhdCBjb3B5LCBvciBmcm9tIGFueSBwYXJ0IG9mCi1pdC4gIChBZGRpdGlvbmFsIHBl
cm1pc3Npb25zIG1heSBiZSB3cml0dGVuIHRvIHJlcXVpcmUgdGhlaXIgb3duCi1yZW1vdmFsIGlu
IGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UK
LWFkZGl0aW9uYWwgcGVybWlzc2lvbnMgb24gbWF0ZXJpYWwsIGFkZGVkIGJ5IHlvdSB0byBhIGNv
dmVyZWQgd29yaywKLWZvciB3aGljaCB5b3UgaGF2ZSBvciBjYW4gZ2l2ZSBhcHByb3ByaWF0ZSBj
b3B5cmlnaHQgcGVybWlzc2lvbi4KLQotICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zp
c2lvbiBvZiB0aGlzIExpY2Vuc2UsIGZvciBtYXRlcmlhbCB5b3UKLWFkZCB0byBhIGNvdmVyZWQg
d29yaywgeW91IG1heSAoaWYgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlcnMgb2YK
LXRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRo
IHRlcm1zOgotCi0gICAgYSkgRGlzY2xhaW1pbmcgd2FycmFudHkgb3IgbGltaXRpbmcgbGlhYmls
aXR5IGRpZmZlcmVudGx5IGZyb20gdGhlCi0gICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2
IG9mIHRoaXMgTGljZW5zZTsgb3IKLQotICAgIGIpIFJlcXVpcmluZyBwcmVzZXJ2YXRpb24gb2Yg
c3BlY2lmaWVkIHJlYXNvbmFibGUgbGVnYWwgbm90aWNlcyBvcgotICAgIGF1dGhvciBhdHRyaWJ1
dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKLSAgICBO
b3RpY2VzIGRpc3BsYXllZCBieSB3b3JrcyBjb250YWluaW5nIGl0OyBvcgotCi0gICAgYykgUHJv
aGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFs
LCBvcgotICAgIHJlcXVpcmluZyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIG9mIHN1Y2ggbWF0ZXJp
YWwgYmUgbWFya2VkIGluCi0gICAgcmVhc29uYWJsZSB3YXlzIGFzIGRpZmZlcmVudCBmcm9tIHRo
ZSBvcmlnaW5hbCB2ZXJzaW9uOyBvcgotCi0gICAgZCkgTGltaXRpbmcgdGhlIHVzZSBmb3IgcHVi
bGljaXR5IHB1cnBvc2VzIG9mIG5hbWVzIG9mIGxpY2Vuc29ycyBvcgotICAgIGF1dGhvcnMgb2Yg
dGhlIG1hdGVyaWFsOyBvcgotCi0gICAgZSkgRGVjbGluaW5nIHRvIGdyYW50IHJpZ2h0cyB1bmRl
ciB0cmFkZW1hcmsgbGF3IGZvciB1c2Ugb2Ygc29tZQotICAgIHRyYWRlIG5hbWVzLCB0cmFkZW1h
cmtzLCBvciBzZXJ2aWNlIG1hcmtzOyBvcgotCi0gICAgZikgUmVxdWlyaW5nIGluZGVtbmlmaWNh
dGlvbiBvZiBsaWNlbnNvcnMgYW5kIGF1dGhvcnMgb2YgdGhhdAotICAgIG1hdGVyaWFsIGJ5IGFu
eW9uZSB3aG8gY29udmV5cyB0aGUgbWF0ZXJpYWwgKG9yIG1vZGlmaWVkIHZlcnNpb25zIG9mCi0g
ICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSBy
ZWNpcGllbnQsIGZvcgotICAgIGFueSBsaWFiaWxpdHkgdGhhdCB0aGVzZSBjb250cmFjdHVhbCBh
c3N1bXB0aW9ucyBkaXJlY3RseSBpbXBvc2Ugb24KLSAgICB0aG9zZSBsaWNlbnNvcnMgYW5kIGF1
dGhvcnMuCi0KLSAgQWxsIG90aGVyIG5vbi1wZXJtaXNzaXZlIGFkZGl0aW9uYWwgdGVybXMgYXJl
IGNvbnNpZGVyZWQgImZ1cnRoZXIKLXJlc3RyaWN0aW9ucyIgd2l0aGluIHRoZSBtZWFuaW5nIG9m
IHNlY3Rpb24gMTAuICBJZiB0aGUgUHJvZ3JhbSBhcyB5b3UKLXJlY2VpdmVkIGl0LCBvciBhbnkg
cGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCi1nb3Zlcm5l
ZCBieSB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCBhIHRlcm0gdGhhdCBpcyBhIGZ1cnRoZXIKLXJl
c3RyaWN0aW9uLCB5b3UgbWF5IHJlbW92ZSB0aGF0IHRlcm0uICBJZiBhIGxpY2Vuc2UgZG9jdW1l
bnQgY29udGFpbnMKLWEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2lu
ZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwotTGljZW5zZSwgeW91IG1heSBhZGQgdG8gYSBjb3Zl
cmVkIHdvcmsgbWF0ZXJpYWwgZ292ZXJuZWQgYnkgdGhlIHRlcm1zCi1vZiB0aGF0IGxpY2Vuc2Ug
ZG9jdW1lbnQsIHByb3ZpZGVkIHRoYXQgdGhlIGZ1cnRoZXIgcmVzdHJpY3Rpb24gZG9lcwotbm90
IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCi0KLSAgSWYgeW91IGFkZCB0
ZXJtcyB0byBhIGNvdmVyZWQgd29yayBpbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24sIHlvdQot
bXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2Yg
dGhlCi1hZGRpdGlvbmFsIHRlcm1zIHRoYXQgYXBwbHkgdG8gdGhvc2UgZmlsZXMsIG9yIGEgbm90
aWNlIGluZGljYXRpbmcKLXdoZXJlIHRvIGZpbmQgdGhlIGFwcGxpY2FibGUgdGVybXMuCi0KLSAg
QWRkaXRpb25hbCB0ZXJtcywgcGVybWlzc2l2ZSBvciBub24tcGVybWlzc2l2ZSwgbWF5IGJlIHN0
YXRlZCBpbiB0aGUKLWZvcm0gb2YgYSBzZXBhcmF0ZWx5IHdyaXR0ZW4gbGljZW5zZSwgb3Igc3Rh
dGVkIGFzIGV4Y2VwdGlvbnM7Ci10aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3
YXkuCi0KLSAgOC4gVGVybWluYXRpb24uCi0KLSAgWW91IG1heSBub3QgcHJvcGFnYXRlIG9yIG1v
ZGlmeSBhIGNvdmVyZWQgd29yayBleGNlcHQgYXMgZXhwcmVzc2x5Ci1wcm92aWRlZCB1bmRlciB0
aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdCBvdGhlcndpc2UgdG8gcHJvcGFnYXRlIG9yCi1tb2Rp
ZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdo
dHMgdW5kZXIKLXRoaXMgTGljZW5zZSAoaW5jbHVkaW5nIGFueSBwYXRlbnQgbGljZW5zZXMgZ3Jh
bnRlZCB1bmRlciB0aGUgdGhpcmQKLXBhcmFncmFwaCBvZiBzZWN0aW9uIDExKS4KLQotICBIb3dl
dmVyLCBpZiB5b3UgY2Vhc2UgYWxsIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UsIHRoZW4geW91
cgotbGljZW5zZSBmcm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzIHJlaW5zdGF0
ZWQgKGEpCi1wcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9s
ZGVyIGV4cGxpY2l0bHkgYW5kCi1maW5hbGx5IHRlcm1pbmF0ZXMgeW91ciBsaWNlbnNlLCBhbmQg
KGIpIHBlcm1hbmVudGx5LCBpZiB0aGUgY29weXJpZ2h0Ci1ob2xkZXIgZmFpbHMgdG8gbm90aWZ5
IHlvdSBvZiB0aGUgdmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucwotcHJpb3IgdG8g
NjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgotCi0gIE1vcmVvdmVyLCB5b3VyIGxpY2Vuc2Ug
ZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcwotcmVpbnN0YXRlZCBwZXJtYW5l
bnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCi12aW9sYXRp
b24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSBo
YXZlCi1yZWNlaXZlZCBub3RpY2Ugb2YgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSAoZm9yIGFu
eSB3b3JrKSBmcm9tIHRoYXQKLWNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlv
bGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKLXlvdXIgcmVjZWlwdCBvZiB0aGUgbm90aWNl
LgotCi0gIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2Vz
IG5vdCB0ZXJtaW5hdGUgdGhlCi1saWNlbnNlcyBvZiBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVk
IGNvcGllcyBvciByaWdodHMgZnJvbSB5b3UgdW5kZXIKLXRoaXMgTGljZW5zZS4gIElmIHlvdXIg
cmlnaHRzIGhhdmUgYmVlbiB0ZXJtaW5hdGVkIGFuZCBub3QgcGVybWFuZW50bHkKLXJlaW5zdGF0
ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNh
bWUKLW1hdGVyaWFsIHVuZGVyIHNlY3Rpb24gMTAuCi0KLSAgOS4gQWNjZXB0YW5jZSBOb3QgUmVx
dWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCi0KLSAgWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNj
ZXB0IHRoaXMgTGljZW5zZSBpbiBvcmRlciB0byByZWNlaXZlIG9yCi1ydW4gYSBjb3B5IG9mIHRo
ZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCi1vY2N1
cnJpbmcgc29sZWx5IGFzIGEgY29uc2VxdWVuY2Ugb2YgdXNpbmcgcGVlci10by1wZWVyIHRyYW5z
bWlzc2lvbgotdG8gcmVjZWl2ZSBhIGNvcHkgbGlrZXdpc2UgZG9lcyBub3QgcmVxdWlyZSBhY2Nl
cHRhbmNlLiAgSG93ZXZlciwKLW5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRz
IHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgotbW9kaWZ5IGFueSBjb3ZlcmVkIHdvcmsu
ICBUaGVzZSBhY3Rpb25zIGluZnJpbmdlIGNvcHlyaWdodCBpZiB5b3UgZG8KLW5vdCBhY2NlcHQg
dGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieSBtb2RpZnlpbmcgb3IgcHJvcGFnYXRpbmcgYQot
Y292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5z
ZSB0byBkbyBzby4KLQotICAxMC4gQXV0b21hdGljIExpY2Vuc2luZyBvZiBEb3duc3RyZWFtIFJl
Y2lwaWVudHMuCi0KLSAgRWFjaCB0aW1lIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHRoZSBy
ZWNpcGllbnQgYXV0b21hdGljYWxseQotcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlIG9yaWdp
bmFsIGxpY2Vuc29ycywgdG8gcnVuLCBtb2RpZnkgYW5kCi1wcm9wYWdhdGUgdGhhdCB3b3JrLCBz
dWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCi1mb3IgZW5m
b3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB3aXRoIHRoaXMgTGljZW5zZS4KLQot
ICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBj
b250cm9sIG9mIGFuCi1vcmdhbml6YXRpb24sIG9yIHN1YnN0YW50aWFsbHkgYWxsIGFzc2V0cyBv
ZiBvbmUsIG9yIHN1YmRpdmlkaW5nIGFuCi1vcmdhbml6YXRpb24sIG9yIG1lcmdpbmcgb3JnYW5p
emF0aW9ucy4gIElmIHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZAotd29yayByZXN1bHRzIGZyb20g
YW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKLXRyYW5zYWN0aW9uIHdo
byByZWNlaXZlcyBhIGNvcHkgb2YgdGhlIHdvcmsgYWxzbyByZWNlaXZlcyB3aGF0ZXZlcgotbGlj
ZW5zZXMgdG8gdGhlIHdvcmsgdGhlIHBhcnR5J3MgcHJlZGVjZXNzb3IgaW4gaW50ZXJlc3QgaGFk
IG9yIGNvdWxkCi1naXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdo
dCB0byBwb3NzZXNzaW9uIG9mIHRoZQotQ29ycmVzcG9uZGluZyBTb3VyY2Ugb2YgdGhlIHdvcmsg
ZnJvbSB0aGUgcHJlZGVjZXNzb3IgaW4gaW50ZXJlc3QsIGlmCi10aGUgcHJlZGVjZXNzb3IgaGFz
IGl0IG9yIGNhbiBnZXQgaXQgd2l0aCByZWFzb25hYmxlIGVmZm9ydHMuCi0KLSAgWW91IG1heSBu
b3QgaW1wb3NlIGFueSBmdXJ0aGVyIHJlc3RyaWN0aW9ucyBvbiB0aGUgZXhlcmNpc2Ugb2YgdGhl
Ci1yaWdodHMgZ3JhbnRlZCBvciBhZmZpcm1lZCB1bmRlciB0aGlzIExpY2Vuc2UuICBGb3IgZXhh
bXBsZSwgeW91IG1heQotbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhl
ciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCi1yaWdodHMgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vu
c2UsIGFuZCB5b3UgbWF5IG5vdCBpbml0aWF0ZSBsaXRpZ2F0aW9uCi0oaW5jbHVkaW5nIGEgY3Jv
c3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdAotYW55
IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2Zm
ZXJpbmcgZm9yCi1zYWxlLCBvciBpbXBvcnRpbmcgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24g
b2YgaXQuCi0KLSAgMTEuIFBhdGVudHMuCi0KLSAgQSAiY29udHJpYnV0b3IiIGlzIGEgY29weXJp
Z2h0IGhvbGRlciB3aG8gYXV0aG9yaXplcyB1c2UgdW5kZXIgdGhpcwotTGljZW5zZSBvZiB0aGUg
UHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKLXdv
cmsgdGh1cyBsaWNlbnNlZCBpcyBjYWxsZWQgdGhlIGNvbnRyaWJ1dG9yJ3MgImNvbnRyaWJ1dG9y
IHZlcnNpb24iLgotCi0gIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMi
IGFyZSBhbGwgcGF0ZW50IGNsYWltcwotb3duZWQgb3IgY29udHJvbGxlZCBieSB0aGUgY29udHJp
YnV0b3IsIHdoZXRoZXIgYWxyZWFkeSBhY3F1aXJlZCBvcgotaGVyZWFmdGVyIGFjcXVpcmVkLCB0
aGF0IHdvdWxkIGJlIGluZnJpbmdlZCBieSBzb21lIG1hbm5lciwgcGVybWl0dGVkCi1ieSB0aGlz
IExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZl
cnNpb24sCi1idXQgZG8gbm90IGluY2x1ZGUgY2xhaW1zIHRoYXQgd291bGQgYmUgaW5mcmluZ2Vk
IG9ubHkgYXMgYQotY29uc2VxdWVuY2Ugb2YgZnVydGhlciBtb2RpZmljYXRpb24gb2YgdGhlIGNv
bnRyaWJ1dG9yIHZlcnNpb24uICBGb3IKLXB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNv
bnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudAotcGF0ZW50IHN1YmxpY2Vuc2VzIGlu
IGEgbWFubmVyIGNvbnNpc3RlbnQgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIG9mCi10aGlzIExpY2Vu
c2UuCi0KLSAgRWFjaCBjb250cmlidXRvciBncmFudHMgeW91IGEgbm9uLWV4Y2x1c2l2ZSwgd29y
bGR3aWRlLCByb3lhbHR5LWZyZWUKLXBhdGVudCBsaWNlbnNlIHVuZGVyIHRoZSBjb250cmlidXRv
cidzIGVzc2VudGlhbCBwYXRlbnQgY2xhaW1zLCB0bwotbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBm
b3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCi1wcm9wYWdhdGUg
dGhlIGNvbnRlbnRzIG9mIGl0cyBjb250cmlidXRvciB2ZXJzaW9uLgotCi0gIEluIHRoZSBmb2xs
b3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNz
Ci1hZ3JlZW1lbnQgb3IgY29tbWl0bWVudCwgaG93ZXZlciBkZW5vbWluYXRlZCwgbm90IHRvIGVu
Zm9yY2UgYSBwYXRlbnQKLShzdWNoIGFzIGFuIGV4cHJlc3MgcGVybWlzc2lvbiB0byBwcmFjdGlj
ZSBhIHBhdGVudCBvciBjb3ZlbmFudCBub3QgdG8KLXN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVu
dCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCi1wYXJ0eSBtZWFucyB0
byBtYWtlIHN1Y2ggYW4gYWdyZWVtZW50IG9yIGNvbW1pdG1lbnQgbm90IHRvIGVuZm9yY2UgYQot
cGF0ZW50IGFnYWluc3QgdGhlIHBhcnR5LgotCi0gIElmIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdv
cmssIGtub3dpbmdseSByZWx5aW5nIG9uIGEgcGF0ZW50IGxpY2Vuc2UsCi1hbmQgdGhlIENvcnJl
c3BvbmRpbmcgU291cmNlIG9mIHRoZSB3b3JrIGlzIG5vdCBhdmFpbGFibGUgZm9yIGFueW9uZQot
dG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vu
c2UsIHRocm91Z2ggYQotcHVibGljbHkgYXZhaWxhYmxlIG5ldHdvcmsgc2VydmVyIG9yIG90aGVy
IHJlYWRpbHkgYWNjZXNzaWJsZSBtZWFucywKLXRoZW4geW91IG11c3QgZWl0aGVyICgxKSBjYXVz
ZSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdG8gYmUgc28KLWF2YWlsYWJsZSwgb3IgKDIpIGFy
cmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKLXBhdGVudCBs
aWNlbnNlIGZvciB0aGlzIHBhcnRpY3VsYXIgd29yaywgb3IgKDMpIGFycmFuZ2UsIGluIGEgbWFu
bmVyCi1jb25zaXN0ZW50IHdpdGggdGhlIHJlcXVpcmVtZW50cyBvZiB0aGlzIExpY2Vuc2UsIHRv
IGV4dGVuZCB0aGUgcGF0ZW50Ci1saWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJL
bm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKLWFjdHVhbCBrbm93bGVkZ2UgdGhhdCwg
YnV0IGZvciB0aGUgcGF0ZW50IGxpY2Vuc2UsIHlvdXIgY29udmV5aW5nIHRoZQotY292ZXJlZCB3
b3JrIGluIGEgY291bnRyeSwgb3IgeW91ciByZWNpcGllbnQncyB1c2Ugb2YgdGhlIGNvdmVyZWQg
d29yawotaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFi
bGUgcGF0ZW50cyBpbiB0aGF0Ci1jb3VudHJ5IHRoYXQgeW91IGhhdmUgcmVhc29uIHRvIGJlbGll
dmUgYXJlIHZhbGlkLgotCi0gIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGgg
YSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKLWFycmFuZ2VtZW50LCB5b3UgY29udmV5LCBvciBwcm9w
YWdhdGUgYnkgcHJvY3VyaW5nIGNvbnZleWFuY2Ugb2YsIGEKLWNvdmVyZWQgd29yaywgYW5kIGdy
YW50IGEgcGF0ZW50IGxpY2Vuc2UgdG8gc29tZSBvZiB0aGUgcGFydGllcwotcmVjZWl2aW5nIHRo
ZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5
Ci1vciBjb252ZXkgYSBzcGVjaWZpYyBjb3B5IG9mIHRoZSBjb3ZlcmVkIHdvcmssIHRoZW4gdGhl
IHBhdGVudCBsaWNlbnNlCi15b3UgZ3JhbnQgaXMgYXV0b21hdGljYWxseSBleHRlbmRlZCB0byBh
bGwgcmVjaXBpZW50cyBvZiB0aGUgY292ZXJlZAotd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQu
Ci0KLSAgQSBwYXRlbnQgbGljZW5zZSBpcyAiZGlzY3JpbWluYXRvcnkiIGlmIGl0IGRvZXMgbm90
IGluY2x1ZGUgd2l0aGluCi10aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhl
IGV4ZXJjaXNlIG9mLCBvciBpcwotY29uZGl0aW9uZWQgb24gdGhlIG5vbi1leGVyY2lzZSBvZiBv
bmUgb3IgbW9yZSBvZiB0aGUgcmlnaHRzIHRoYXQgYXJlCi1zcGVjaWZpY2FsbHkgZ3JhbnRlZCB1
bmRlciB0aGlzIExpY2Vuc2UuICBZb3UgbWF5IG5vdCBjb252ZXkgYSBjb3ZlcmVkCi13b3JrIGlm
IHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhh
dCBpcwotaW4gdGhlIGJ1c2luZXNzIG9mIGRpc3RyaWJ1dGluZyBzb2Z0d2FyZSwgdW5kZXIgd2hp
Y2ggeW91IG1ha2UgcGF5bWVudAotdG8gdGhlIHRoaXJkIHBhcnR5IGJhc2VkIG9uIHRoZSBleHRl
bnQgb2YgeW91ciBhY3Rpdml0eSBvZiBjb252ZXlpbmcKLXRoZSB3b3JrLCBhbmQgdW5kZXIgd2hp
Y2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQotcGFydGllcyB3aG8gd291
bGQgcmVjZWl2ZSB0aGUgY292ZXJlZCB3b3JrIGZyb20geW91LCBhIGRpc2NyaW1pbmF0b3J5Ci1w
YXRlbnQgbGljZW5zZSAoYSkgaW4gY29ubmVjdGlvbiB3aXRoIGNvcGllcyBvZiB0aGUgY292ZXJl
ZCB3b3JrCi1jb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVz
KSwgb3IgKGIpIHByaW1hcmlseQotZm9yIGFuZCBpbiBjb25uZWN0aW9uIHdpdGggc3BlY2lmaWMg
cHJvZHVjdHMgb3IgY29tcGlsYXRpb25zIHRoYXQKLWNvbnRhaW4gdGhlIGNvdmVyZWQgd29yaywg
dW5sZXNzIHlvdSBlbnRlcmVkIGludG8gdGhhdCBhcnJhbmdlbWVudCwKLW9yIHRoYXQgcGF0ZW50
IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCi0KLSAgTm90aGlu
ZyBpbiB0aGlzIExpY2Vuc2Ugc2hhbGwgYmUgY29uc3RydWVkIGFzIGV4Y2x1ZGluZyBvciBsaW1p
dGluZwotYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1l
bnQgdGhhdCBtYXkKLW90aGVyd2lzZSBiZSBhdmFpbGFibGUgdG8geW91IHVuZGVyIGFwcGxpY2Fi
bGUgcGF0ZW50IGxhdy4KLQotICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4K
LQotICBJZiBjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBv
cmRlciwgYWdyZWVtZW50IG9yCi1vdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0
aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90Ci1leGN1c2UgeW91IGZyb20gdGhlIGNv
bmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdCBjb252ZXkgYQotY292ZXJl
ZCB3b3JrIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1
bmRlciB0aGlzCi1MaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0
aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQotbm90IGNvbnZleSBpdCBhdCBhbGwuICBGb3Ig
ZXhhbXBsZSwgaWYgeW91IGFncmVlIHRvIHRlcm1zIHRoYXQgb2JsaWdhdGUgeW91Ci10byBjb2xs
ZWN0IGEgcm95YWx0eSBmb3IgZnVydGhlciBjb252ZXlpbmcgZnJvbSB0aG9zZSB0byB3aG9tIHlv
dSBjb252ZXkKLXRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90
aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwotTGljZW5zZSB3b3VsZCBiZSB0byByZWZyYWluIGVudGly
ZWx5IGZyb20gY29udmV5aW5nIHRoZSBQcm9ncmFtLgotCi0gIDEzLiBVc2Ugd2l0aCB0aGUgR05V
IEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgotCi0gIE5vdHdpdGhzdGFuZGluZyBhbnkg
b3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgeW91IGhhdmUKLXBlcm1pc3Npb24gdG8g
bGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKLXVu
ZGVyIHZlcnNpb24gMyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlu
dG8gYSBzaW5nbGUKLWNvbWJpbmVkIHdvcmssIGFuZCB0byBjb252ZXkgdGhlIHJlc3VsdGluZyB3
b3JrLiAgVGhlIHRlcm1zIG9mIHRoaXMKLUxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0
byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLAotYnV0IHRoZSBzcGVjaWFsIHJl
cXVpcmVtZW50cyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAotc2Vj
dGlvbiAxMywgY29uY2VybmluZyBpbnRlcmFjdGlvbiB0aHJvdWdoIGEgbmV0d29yayB3aWxsIGFw
cGx5IHRvIHRoZQotY29tYmluYXRpb24gYXMgc3VjaC4KLQotICAxNC4gUmV2aXNlZCBWZXJzaW9u
cyBvZiB0aGlzIExpY2Vuc2UuCi0KLSAgVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkg
cHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YKLXRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwK
LWJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlm
ZmVyIGluIGRldGFpbCB0bwotYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCi0KLSAg
RWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJ
ZiB0aGUKLVByb2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBjZXJ0YWluIG51bWJlcmVkIHZlcnNpb24g
b2YgdGhlIEdOVSBHZW5lcmFsCi1QdWJsaWMgTGljZW5zZSAib3IgYW55IGxhdGVyIHZlcnNpb24i
IGFwcGxpZXMgdG8gaXQsIHlvdSBoYXZlIHRoZQotb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVy
bXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKLXZlcnNpb24gb3Igb2Yg
YW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi1Gb3VuZGF0
aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9m
IHRoZQotR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJz
aW9uIGV2ZXIgcHVibGlzaGVkCi1ieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotCi0g
IElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBm
dXR1cmUKLXZlcnNpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBjYW4gYmUg
dXNlZCwgdGhhdCBwcm94eSdzCi1wdWJsaWMgc3RhdGVtZW50IG9mIGFjY2VwdGFuY2Ugb2YgYSB2
ZXJzaW9uIHBlcm1hbmVudGx5IGF1dGhvcml6ZXMgeW91Ci10byBjaG9vc2UgdGhhdCB2ZXJzaW9u
IGZvciB0aGUgUHJvZ3JhbS4KLQotICBMYXRlciBsaWNlbnNlIHZlcnNpb25zIG1heSBnaXZlIHlv
dSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudAotcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRp
dGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQotYXV0aG9yIG9yIGNvcHlyaWdo
dCBob2xkZXIgYXMgYSByZXN1bHQgb2YgeW91ciBjaG9vc2luZyB0byBmb2xsb3cgYQotbGF0ZXIg
dmVyc2lvbi4KLQotICAxNS4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4KLQotICBUSEVSRSBJUyBO
TyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCi1B
UFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBU
SEUgQ09QWVJJR0hUCi1IT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTIFBST1ZJREUgVEhFIFBS
T0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZCi1PRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJF
U1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLVRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLVBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFVQUxJVFkgQU5EIFBF
UkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNCi1JUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JB
TSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKLUFMTCBORUNFU1NBUlkg
U0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KLQotICAxNi4gTGltaXRhdGlvbiBvZiBM
aWFiaWxpdHkuCi0KLSAgSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUg
TEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5HCi1XSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBP
UiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTCi1USEUgUFJPR1JB
TSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsIElOQ0xV
RElORyBBTlkKLUdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRQotVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBS
T0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgotREFUQSBPUiBEQVRB
IEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1Ig
VEhJUkQKLVBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lU
SCBBTlkgT1RIRVIgUFJPR1JBTVMpLAotRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJU
WSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotU1VDSCBEQU1BR0VTLgot
Ci0gIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCi0KLSAgSWYgdGhl
IGRpc2NsYWltZXIgb2Ygd2FycmFudHkgYW5kIGxpbWl0YXRpb24gb2YgbGlhYmlsaXR5IHByb3Zp
ZGVkCi1hYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0
byB0aGVpciB0ZXJtcywKLXJldmlld2luZyBjb3VydHMgc2hhbGwgYXBwbHkgbG9jYWwgbGF3IHRo
YXQgbW9zdCBjbG9zZWx5IGFwcHJveGltYXRlcwotYW4gYWJzb2x1dGUgd2FpdmVyIG9mIGFsbCBj
aXZpbCBsaWFiaWxpdHkgaW4gY29ubmVjdGlvbiB3aXRoIHRoZQotUHJvZ3JhbSwgdW5sZXNzIGEg
d2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQotY29weSBv
ZiB0aGUgUHJvZ3JhbSBpbiByZXR1cm4gZm9yIGEgZmVlLgotCi0gICAgICAgICAgICAgICAgICAg
ICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKLQotICAgICAgICAgICAgSG93IHRvIEFwcGx5
IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IFByb2dyYW1zCi0KLSAgSWYgeW91IGRldmVsb3AgYSBu
ZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAotcG9zc2li
bGUgdXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8g
bWFrZSBpdAotZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFu
ZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCi0KLSAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9s
bG93aW5nIG5vdGljZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKLXRvIGF0dGFjaCB0
aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkK
LXN0YXRlIHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhh
dmUgYXQgbGVhc3QKLXRoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUg
dGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgotCi0gICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHBy
b2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KLSAgICBDb3B5
cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgotCi0gICAgVGhpcyBwcm9ncmFtIGlz
IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAg
ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieQotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0gICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICAgIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
ICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251
Lm9yZy9saWNlbnNlcy8+LgotCi1BbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFj
dCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KLQotICBJZiB0aGUgcHJvZ3JhbSBk
b2VzIHRlcm1pbmFsIGludGVyYWN0aW9uLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0Ci1ub3RpY2Ug
bGlrZSB0aGlzIHdoZW4gaXQgc3RhcnRzIGluIGFuIGludGVyYWN0aXZlIG1vZGU6Ci0KLSAgICA8
cHJvZ3JhbT4gIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+Ci0gICAgVGhp
cyBwcm9ncmFtIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMg
dHlwZSBgc2hvdyB3Jy4KLSAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdl
bGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0Ci0gICAgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zOyB0
eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgotCi1UaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBz
aG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKLXBhcnRzIG9m
IHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB5b3VyIHByb2dyYW0ncyBj
b21tYW5kcwotbWlnaHQgYmUgZGlmZmVyZW50OyBmb3IgYSBHVUkgaW50ZXJmYWNlLCB5b3Ugd291
bGQgdXNlIGFuICJhYm91dCBib3giLgotCi0gIFlvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBs
b3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciBzY2hvb2wsCi1pZiBhbnksIHRv
IHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYgbmVjZXNz
YXJ5LgotRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQg
Zm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKLTxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K
LQotICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29y
cG9yYXRpbmcgeW91ciBwcm9ncmFtCi1pbnRvIHByb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91
ciBwcm9ncmFtIGlzIGEgc3Vicm91dGluZSBsaWJyYXJ5LCB5b3UKLW1heSBjb25zaWRlciBpdCBt
b3JlIHVzZWZ1bCB0byBwZXJtaXQgbGlua2luZyBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMgd2l0
aAotdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUg
R05VIExlc3NlciBHZW5lcmFsCi1QdWJsaWMgTGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5z
ZS4gIEJ1dCBmaXJzdCwgcGxlYXNlIHJlYWQKLTxodHRwOi8vd3d3LmdudS5vcmcvcGhpbG9zb3Bo
eS93aHktbm90LWxncGwuaHRtbD4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9SRUFETUUuY2hyb21pdW0g
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3Nr
ZWxldG9ucy9SRUFETUUuY2hyb21pdW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIx
NWQ4MmU2MzY2ZTU5OWIwNDI2OWFmMTQxMGEzMDQ5ZDBmZGM0ZmIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9v
bHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvUkVBRE1FLmNocm9taXVtCisrKyAv
ZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotTmFtZTogQmlzb24gc2tlbGV0b25zCi1VUkw6IGh0
dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYmlzb24vCi1WZXJzaW9uOiAzLjMuMgotTGljZW5z
ZTogR1BMCi1MaWNlbnNlIEZpbGU6IExJQ0VOU0UKLVNlY3VyaXR5IGNyaXRpY2FsOiBubwotCi1E
ZXNjcmlwdGlvbjoKLUJpc29uIGlzIGEgcGFyc2VyIGdlbmVyYXRvci4gSXQgdXNlcyBza2VsZXRv
biBmaWxlcyBhcyB0ZW1wbGF0ZXMgZm9yIGJ1aWxkaW5nCi1zaW1pbGFyIGxhbmd1YWdlcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRf
cGFydHkvc2tlbGV0b25zL2Jpc29uLm00IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMv
ZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvYmlzb24ubTQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGUzNTkxODc1YzBmNjIzZDVmMTA4YmJjMjlmZDdhZjU4NGY2ZTczNzEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvYmlz
b24ubTQKKysrIC9kZXYvbnVsbApAQCAtMSwxMTExICswLDAgQEAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAt
Ki0KLQotIyBMYW5ndWFnZS1pbmRlcGVuZGVudCBNNCBNYWNyb3MgZm9yIEJpc29uLgotCi0jIENv
cHlyaWdodCAoQykgMjAwMiwgMjAwNC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLAotIyBJbmMuCi0KLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSMgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IKLSMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBwcm9n
cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0j
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUKLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs
IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0KLQotIyMgLS0tLS0tLS0tLS0t
LS0tLSAjIwotIyMgSWRlbnRpZmljYXRpb24uICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwot
Ci0jIGI0X2dlbmVyYXRlZF9ieQotIyAtLS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfZ2Vu
ZXJhdGVkX2J5XSwKLVtiNF9jb21tZW50KFtBIEJpc29uIHBhcnNlciwgbWFkZSBieSBHTlUgQmlz
b24gYjRfdmVyc2lvbi5dKQotXSkKLQotIyBiNF9jb3B5cmlnaHQoVElUTEUsIFtZRUFSU10pCi0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgWUVBUlMgYXJlIG5vdCBkZWZpbmVk
LCB1c2UgYjRfY29weXJpZ2h0X3llYXJzLgotbTRfZGVmaW5lKFtiNF9jb3B5cmlnaHRdLAotW2I0
X2dlbmVyYXRlZF9ieQotYjRfY29tbWVudChbJDEKLQotXW00X2RxdW90ZShtNF90ZXh0X3dyYXAo
W0NvcHlyaWdodCAoQykKLV1tNF9pZnZhbChbJDJdLCBbWyQyXV0sIFttNF9kZWZuKFtiNF9jb3B5
cmlnaHRfeWVhcnNdKV0pWwotRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXSkpWwotCi1U
aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQotaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotCi1UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLWJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi1NRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi1HTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi1Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotYWxvbmcgd2l0aCB0aGlzIHBy
b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXSkKLQot
YjRfY29tbWVudChbQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgeW91IG1heSBjcmVhdGUgYSBsYXJn
ZXIgd29yayB0aGF0IGNvbnRhaW5zCi1wYXJ0IG9yIGFsbCBvZiB0aGUgQmlzb24gcGFyc2VyIHNr
ZWxldG9uIGFuZCBkaXN0cmlidXRlIHRoYXQgd29yawotdW5kZXIgdGVybXMgb2YgeW91ciBjaG9p
Y2UsIHNvIGxvbmcgYXMgdGhhdCB3b3JrIGlzbid0IGl0c2VsZiBhCi1wYXJzZXIgZ2VuZXJhdG9y
IHVzaW5nIHRoZSBza2VsZXRvbiBvciBhIG1vZGlmaWVkIHZlcnNpb24gdGhlcmVvZgotYXMgYSBw
YXJzZXIgc2tlbGV0b24uICBBbHRlcm5hdGl2ZWx5LCBpZiB5b3UgbW9kaWZ5IG9yIHJlZGlzdHJp
YnV0ZQotdGhlIHBhcnNlciBza2VsZXRvbiBpdHNlbGYsIHlvdSBtYXkgKGF0IHlvdXIgb3B0aW9u
KSByZW1vdmUgdGhpcwotc3BlY2lhbCBleGNlcHRpb24sIHdoaWNoIHdpbGwgY2F1c2UgdGhlIHNr
ZWxldG9uIGFuZCB0aGUgcmVzdWx0aW5nCi1CaXNvbiBvdXRwdXQgZmlsZXMgdG8gYmUgbGljZW5z
ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwotTGljZW5zZSB3aXRob3V0IHRoaXMgc3Bl
Y2lhbCBleGNlcHRpb24uCi0KLVRoaXMgc3BlY2lhbCBleGNlcHRpb24gd2FzIGFkZGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gaW4KLXZlcnNpb24gMi4yIG9mIEJpc29uLl0pCi1d
KQotCi0KLSMgYjRfZGlzY2xhaW1lcgotIyAtLS0tLS0tLS0tLS0tCi0jIElzc3VlIGEgd2Fybmlu
ZyBhYm91dCBwcml2YXRlIGltcGxlbWVudGF0aW9uIGRldGFpbHMuCi1tNF9kZWZpbmUoW2I0X2Rp
c2NsYWltZXJdLAotW2I0X2NvbW1lbnQoW1VuZG9jdW1lbnRlZCBtYWNyb3MsIGVzcGVjaWFsbHkg
dGhvc2Ugd2hvc2UgbmFtZSBzdGFydCB3aXRoIFlZXywKLWFyZSBwcml2YXRlIGltcGxlbWVudGF0
aW9uIGRldGFpbHMuICBEbyBub3QgcmVseSBvbiB0aGVtLl0pCi1dKQotCi0KLQotIyBiNF9yZXF1
aXJlZF92ZXJzaW9uX2lmKFZFUlNJT04sIElGX05FV0VSLCBJRl9PTERFUikKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIHRoZSB2ZXJz
aW9uICVyZXF1aXJlJ2QgYnkgdGhlIHVzZXIgaXMgVkVSU0lPTiAob3IgbmV3ZXIpIGV4cGFuZAot
IyBJRl9ORVdFUiwgb3RoZXJ3aXNlIElGX09MREVSLiAgVkVSU0lPTiBzaG91bGQgYmUgYW4gaW50
ZWdlciwgZS5nLiwKLSMgMzAyIGZvciAzLjIuCi1tNF9kZWZpbmUoW2I0X3JlcXVpcmVkX3ZlcnNp
b25faWZdLAotW200X2lmKG00X2V2YWwoJDEgPD0gYjRfcmVxdWlyZWRfdmVyc2lvbiksCi0gICAg
ICAgICAgICAgIFsxXSwgWyQyXSwgWyQzXSldKQotCi0KLSMjIC0tLS0tLS0tICMjCi0jIyBPdXRw
dXQuICAjIwotIyMgLS0tLS0tLS0gIyMKLQotIyBiNF9vdXRwdXRfYmVnaW4oRklMRTEsIEZJTEUy
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFbmFibGUgb3V0cHV0LCBpLmUu
LCBzZW5kIHRvIGRpdmVyc2lvbiAwLCBleHBhbmQgYWZ0ZXIgIiMiLCBhbmQKLSMgZ2VuZXJhdGUg
dGhlIHRhZyB0byBvdXRwdXQgaW50byBGSUxFLiAgTXVzdCBiZSBmb2xsb3dlZCBieSBFT0wuCi0j
IEZJTEUgaXMgRklMRTEgY29uY2F0ZW5hdGVkIHRvIEZJTEUyLiAgRklMRTIgY2FuIGJlIGVtcHR5
LCBvciBiZQotIyBhYnNvbHV0ZTogZG8gdGhlIHJpZ2h0IHRoaW5nLgotbTRfZGVmaW5lKFtiNF9v
dXRwdXRfYmVnaW5dLAotW200X2NoYW5nZWNvbSgpCi1tNF9kaXZlcnRfcHVzaCgwKWRubAotQG91
dHB1dChtNF91bnF1b3RlKFskMV0pQCxtNF91bnF1b3RlKFskMl0pQClAZG5sCi1dKQotCi0KLSMg
YjRfb3V0cHV0X2VuZAotIyAtLS0tLS0tLS0tLS0tCi0jIE91dHB1dCBub3RoaW5nLCByZXN0b3Jl
ICMgYXMgY29tbWVudCBjaGFyYWN0ZXIgKG5vIGV4cGFuc2lvbnMgYWZ0ZXIgIykuCi1tNF9kZWZp
bmUoW2I0X291dHB1dF9lbmRdLAotW200X2RpdmVydF9wb3AoMCkKLW00X2NoYW5nZWNvbShbI10p
Ci1dKQotCi0KLSMgYjRfZGl2ZXJ0X2tpbGwoQ09ERSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSMgRXhwYW5kIENPREUgZm9yIGl0cyBzaWRlIGVmZmVjdHMsIGRpc2NhcmQgaXRzIG91dHB1dC4K
LW00X2RlZmluZShbYjRfZGl2ZXJ0X2tpbGxdLAotW200X2RpdmVydF90ZXh0KFtLSUxMXSwgWyQx
XSldKQotCi0KLSMgYjRfZGVmaW5lX3NpbGVudChNQUNSTywgQ09ERSkKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgU2FtZSBhcyBtNF9kZWZpbmUsIGJ1dCB0aHJvdyBhd2F5IHRo
ZSBleHBhbnNpb24gb2YgQ09ERS4KLW00X2RlZmluZShbYjRfZGVmaW5lX3NpbGVudF0sCi1bbTRf
ZGVmaW5lKFskMV0sIFtiNF9kaXZlcnRfa2lsbChbJDJdKV0pXSkKLQotCi0jIyAtLS0tLS0tLS0t
LS0tLS0tICMjCi0jIyBFcnJvciBoYW5kbGluZy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tICMj
Ci0KLSMgVGhlIGZvbGxvd2luZyBlcnJvciBoYW5kbGluZyBtYWNyb3MgcHJpbnQgZXJyb3IgZGly
ZWN0aXZlcyB0aGF0IHNob3VsZCBub3QKLSMgYmVjb21lIGFyZ3VtZW50cyBvZiBvdGhlciBtYWNy
byBpbnZvY2F0aW9ucyBzaW5jZSB0aGV5IHdvdWxkIGxpa2VseSB0aGVuIGJlCi0jIG1hbmdsZWQu
ICBUaHVzLCB0aGV5IHByaW50IHRvIHN0ZG91dCBkaXJlY3RseS4KLQotIyBiNF9jYXQoVEVYVCkK
LSMgLS0tLS0tLS0tLS0tCi0jIFdyaXRlIFRFWFQgdG8gc3Rkb3V0LiAgUHJlY2VkZSB0aGUgZmlu
YWwgbmV3bGluZSB3aXRoIGFuIEAgc28gdGhhdCBpdCdzCi0jIGVzY2FwZWQuICBGb3IgZXhhbXBs
ZToKLSMKLSMgICBiNF9jYXQoW1tAY29tcGxhaW4oaW52YWxpZCBpbnB1dEApXV0pCi1tNF9kZWZp
bmUoW2I0X2NhdF0sCi1bbTRfc3lzY21kKFtjYXQgPDwnX200ZW9mJwotXW00X2JwYXRzdWJzdCht
NF9kcXVvdGUoJDEpLCBbX200ZW9mXSwgW19tNEBgZW9mXSlbQAotX200ZW9mCi1dKWRubAotbTRf
aWYobTRfc3lzdmFsLCBbMF0sIFtdLCBbbTRfZmF0YWwoWyQwOiBjYW5ub3Qgd3JpdGUgdG8gc3Rk
b3V0XSldKV0pCi0KLSMgYjRfZXJyb3IoS0lORCwgU1RBUlQsIEVORCwgRk9STUFULCBbQVJHMV0s
IFtBUkcyXSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIFdyaXRlIEBLSU5EKFNUQVJUQCxFTkRALEZPUk1BVEAsQVJHMUAs
QVJHMkAsLi4uQCkgdG8gc3Rkb3V0LgotIwotIyBGb3IgZXhhbXBsZToKLSMKLSMgICBiNF9lcnJv
cihbW2NvbXBsYWluXV0sIFtbaW5wdXQueToyLjNdXSwgW1tpbnB1dC55OjUuNF1dLAotIyAgICAg
ICAgICAgIFtbaW52YWxpZCAlc11dLCBbW2Zvb11dKQotbTRfZGVmaW5lKFtiNF9lcnJvcl0sCi1b
YjRfY2F0KFtbQGNvbXBsYWluXVsoXSQxW0AsXSQyW0AsXSQzW0AsXSQ0W11dZG5sCi1bbTRfaWYo
WyQjXSwgWzRdLCBbXSwKLSAgICAgICBbbTRfZm9yZWFjaChbYjRfYXJnXSwKLSAgICAgICAgICAg
ICAgICAgICBtNF9kcXVvdGUobTRfc2hpZnQobTRfc2hpZnQobTRfc2hpZnQobTRfc2hpZnQoJEAp
KSkpKSwKLSAgICAgICAgICAgICAgICAgICBbW0AsXWI0X2FyZ10pXSlbQCldXSldKQotCi0jIGI0
X3dhcm4oRk9STUFULCBbQVJHMV0sIFtBUkcyXSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgV3JpdGUgQHdhcm4oRk9STUFUQCxBUkcxQCxBUkcyQCwuLi5A
KSB0byBzdGRvdXQuCi0jCi0jIEZvciBleGFtcGxlOgotIwotIyAgIGI0X3dhcm4oW1tpbnZhbGlk
IHZhbHVlIGZvciAnJXMnOiAlc11dLCBbW2Zvb11dLCBbWzNdXSkKLSMKLSMgQXMgYSBzaW1wbGUg
dGVzdCBzdWl0ZSwgdGhpczoKLSMKLSMgICBtNF9kaXZlcnQoLTEpCi0jICAgbTRfZGVmaW5lKFth
c2RmXSwgW0FTREZdKQotIyAgIG00X2RlZmluZShbZnNhXSwgW0ZTQV0pCi0jICAgbTRfZGVmaW5l
KFtmZHNhXSwgW0ZEU0FdKQotIyAgIGI0X3dhcm5fYXQoW1tbYXNkZiksIGFzZGZdXV0sIFtbW2Zz
YSksIGZzYV1dXSwgW1tbZmRzYSksIGZkc2FdXV0pCi0jICAgYjRfd2Fybl9hdChbW2FzZGYpLCBh
c2RmXV0sIFtbZnNhKSwgZnNhXV0sIFtbZmRzYSksIGZkc2FdXSkKLSMgICBiNF93YXJuX2F0KCkK
LSMgICBiNF93YXJuX2F0KDEpCi0jICAgYjRfd2Fybl9hdCgxLCAyKQotIwotIyBTaG91bGQgcHJv
ZHVjZSB0aGlzIHdpdGhvdXQgbmV3bGluZXM6Ci0jCi0jICAgQHdhcm5fYXQoW2FzZGYpLCBhc2Rm
XUAsQCxALFtmc2EpLCBmc2FdQCxbZmRzYSksIGZkc2FdQCkKLSMgICBAd2Fybihhc2RmKSwgYXNk
ZkAsQCxALGZzYSksIGZzYUAsZmRzYSksIGZkc2FAKQotIyAgIEB3YXJuKEApCi0jICAgQHdhcm4o
MUApCi0jICAgQHdhcm4oMUAsMkApCi1tNF9kZWZpbmUoW2I0X3dhcm5dLAotW2I0X2Vycm9yKFtb
d2Fybl1dLCBbXSwgW10sICRAKV0pCi0KLSMgYjRfd2Fybl9hdChTVEFSVCwgRU5ELCBGT1JNQVQs
IFtBUkcxXSwgW0FSRzJdLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBXcml0ZSBAd2FybihTVEFSVEAsRU5EQCxGT1JNQVRALEFS
RzFALEFSRzJALC4uLkApIHRvIHN0ZG91dC4KLSMKLSMgRm9yIGV4YW1wbGU6Ci0jCi0jICAgYjRf
d2Fybl9hdChbW2lucHV0Lnk6Mi4zXV0sIFtbaW5wdXQueTo1LjRdXSwgW1tpbnZhbGlkICVzXV0s
IFtbZm9vXV0pCi1tNF9kZWZpbmUoW2I0X3dhcm5fYXRdLAotW2I0X2Vycm9yKFtbd2Fybl1dLCAk
QCldKQotCi0jIGI0X2NvbXBsYWluKEZPUk1BVCwgW0FSRzFdLCBbQVJHMl0sIC4uLikKLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBCb3VuY2UgdG8gYjRfY29t
cGxhaW5fYXQuCi0jCi0jIFNlZSBiNF93YXJuIGV4YW1wbGUuCi1tNF9kZWZpbmUoW2I0X2NvbXBs
YWluXSwKLVtiNF9lcnJvcihbW2NvbXBsYWluXV0sIFtdLCBbXSwgJEApXSkKLQotIyBiNF9jb21w
bGFpbl9hdChTVEFSVCwgRU5ELCBGT1JNQVQsIFtBUkcxXSwgW0FSRzJdLCAuLi4pCi0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgV3Jp
dGUgQGNvbXBsYWluKFNUQVJUQCxFTkRALEZPUk1BVEAsQVJHMUAsQVJHMkAsLi4uQCkgdG8gc3Rk
b3V0LgotIwotIyBTZWUgYjRfd2Fybl9hdCBleGFtcGxlLgotbTRfZGVmaW5lKFtiNF9jb21wbGFp
bl9hdF0sCi1bYjRfZXJyb3IoW1tjb21wbGFpbl1dLCAkQCldKQotCi0jIGI0X2ZhdGFsKEZPUk1B
VCwgW0FSRzFdLCBbQVJHMl0sIC4uLikKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBCb3VuY2UgdG8gYjRfZmF0YWxfYXQuCi0jCi0jIFNlZSBiNF93YXJuIGV4YW1w
bGUuCi1tNF9kZWZpbmUoW2I0X2ZhdGFsXSwKLVtiNF9lcnJvcihbW2ZhdGFsXV0sIFtdLCBbXSwg
JEApZG5sCi1tNF9leGl0KDEpXSkKLQotIyBiNF9mYXRhbF9hdChTVEFSVCwgRU5ELCBGT1JNQVQs
IFtBUkcxXSwgW0FSRzJdLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgV3JpdGUgQGZhdGFsKFNUQVJUQCxFTkRALEZPUk1BVEAs
QVJHMUAsQVJHMkAsLi4uQCkgdG8gc3Rkb3V0IGFuZCBleGl0LgotIwotIyBTZWUgYjRfd2Fybl9h
dCBleGFtcGxlLgotbTRfZGVmaW5lKFtiNF9mYXRhbF9hdF0sCi1bYjRfZXJyb3IoW1tmYXRhbF1d
LCAkQClkbmwKLW00X2V4aXQoMSldKQotCi0KLSMjIC0tLS0tLS0tLS0tLSAjIwotIyMgRGF0YSBU
eXBlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0gIyMKLQotIyBiNF9pbnRzX2luKElOVDEsIElOVDIs
IExPVywgSElHSCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFJldHVy
biAxIGlmZiBib3RoIElOVDEgYW5kIElOVDIgYXJlIGluIFtMT1csIEhJR0hdLCAwIG90aGVyd2lz
ZS4KLW00X2RlZmluZShbYjRfaW50c19pbl0sCi1bbTRfZXZhbChbJDMgPD0gJDEgJiYgJDEgPD0g
JDQgJiYgJDMgPD0gJDIgJiYgJDIgPD0gJDRdKV0pCi0KLQotIyBiNF9zdWJ0cmFjdChMSFMsIFJI
UykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEV2YWx1YXRlIExIUyAtIFJIUyBpZiB0aGV5
IGFyZSBpbnRlZ2VyIGxpdGVyYWxzLCBvdGhlcndpc2UgZXhwYW5kCi0jIHRvIChMSFMpIC0gKFJI
UykuCi1tNF9kZWZpbmUoW2I0X3N1YnRyYWN0XSwKLVttNF9ibWF0Y2goWyQxJDJdLCBbXlswMTIz
NDU2Nzg5XSokXSwKLSAgICAgICAgICAgW200X2V2YWwoWyQxIC0gJDJdKV0sCi0gICAgICAgICAg
IFsoJDEpIC0gKCQyKV0pXSkKLQotIyBiNF9qb2luKEFSRzEsIC4uLikKLSMgX2I0X2pvaW4oQVJH
MSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tCi0jIEpvaW4gd2l0aCBjb21tYSwgc2tpcHBp
bmcgZW1wdHkgYXJndW1lbnRzLgotIyBiNF9qb2luIGNhbGxzIGl0c2VsZiByZWN1cnNpdmVseSB1
bnRpbCBpdCBzZWVzIHRoZSBmaXJzdCBub24tZW1wdHkKLSMgYXJndW1lbnQsIHRoZW4gY2FsbHMg
X2I0X2pvaW4gKGkuZS4sIGBfJDBgKSB3aGljaCBwcmVwZW5kcyBlYWNoCi0jIG5vbi1lbXB0eSBh
cmd1bWVudCB3aXRoIGEgY29tbWEuCi1tNF9kZWZpbmUoW2I0X2pvaW5dLAotW200X2lmKFskIyQx
XSwKLSAgICAgICBbMV0sIFtdLAotICAgICAgIFttNF9pZnZhbChbJDFdLAotICAgICAgICAgICAg
ICAgICBbJDFbXV8kMChtNF9zaGlmdCgkQCkpXSwKLSAgICAgICAgICAgICAgICAgWyQwKG00X3No
aWZ0KCRAKSldKV0pXSkKLQotIyBfYjRfam9pbihBUkdTMSwgLi4uKQotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLQotbTRfZGVmaW5lKFtfYjRfam9pbl0sCi1bbTRfaWYoWyQjJDFdLAotICAgICAgIFsx
XSwgW10sCi0gICAgICAgW200X2lmdmFsKFskMV0sIFssICQxXSlbXSQwKG00X3NoaWZ0KCRAKSld
KV0pCi0KLQotCi0KLSMgYjRfaW50ZWdyYWxfcGFyc2VyX3RhYmxlc19tYXAoTUFDUk8pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgTWFwIE1BQ1JPIG9uIGFsbCB0
aGUgaW50ZWdyYWwgdGFibGVzLiAgTUFDUk8gaXMgZXhwZWN0ZWQgdG8gaGF2ZQotIyB0aGUgc2ln
bmF0dXJlIE1BQ1JPKFRBQkxFLU5BTUUsIENPTlRFTlQsIENPTU1FTlQpLgotbTRfZGVmaW5lKFti
NF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVzX21hcF0sCi1bJDEoW3BhY3RdLCBbYjRfcGFjdF0sCi0g
ICAgW1tZWVBBQ1RbU1RBVEUtTlVNXSAtLSBJbmRleCBpbiBZWVRBQkxFIG9mIHRoZSBwb3J0aW9u
IGRlc2NyaWJpbmcKLVNUQVRFLU5VTS5dXSkKLQotJDEoW2RlZmFjdF0sIFtiNF9kZWZhY3RdLAot
ICAgW1tZWURFRkFDVFtTVEFURS1OVU1dIC0tIERlZmF1bHQgcmVkdWN0aW9uIG51bWJlciBpbiBz
dGF0ZSBTVEFURS1OVU0uCi1QZXJmb3JtZWQgd2hlbiBZWVRBQkxFIGRvZXMgbm90IHNwZWNpZnkg
c29tZXRoaW5nIGVsc2UgdG8gZG8uICBaZXJvCi1tZWFucyB0aGUgZGVmYXVsdCBpcyBhbiBlcnJv
ci5dXSkKLQotJDEoW3Bnb3RvXSwgW2I0X3Bnb3RvXSwgW1tZWVBHT1RPW05URVJNLU5VTV0uXV0p
Ci0KLSQxKFtkZWZnb3RvXSwgW2I0X2RlZmdvdG9dLCBbW1lZREVGR09UT1tOVEVSTS1OVU1dLl1d
KQotCi0kMShbdGFibGVdLCBbYjRfdGFibGVdLAotICAgW1tZWVRBQkxFW1lZUEFDVFtTVEFURS1O
VU1dXSAtLSBXaGF0IHRvIGRvIGluIHN0YXRlIFNUQVRFLU5VTS4gIElmCi1wb3NpdGl2ZSwgc2hp
ZnQgdGhhdCB0b2tlbi4gIElmIG5lZ2F0aXZlLCByZWR1Y2UgdGhlIHJ1bGUgd2hvc2UKLW51bWJl
ciBpcyB0aGUgb3Bwb3NpdGUuICBJZiBZWVRBQkxFX05JTkYsIHN5bnRheCBlcnJvci5dXSkKLQot
JDEoW2NoZWNrXSwgW2I0X2NoZWNrXSkKLQotJDEoW3N0b3NdLCBbYjRfc3Rvc10sCi0gICBbW1lZ
U1RPU1tTVEFURS1OVU1dIC0tIFRoZSAoaW50ZXJuYWwgbnVtYmVyIG9mIHRoZSkgYWNjZXNzaW5n
Ci1zeW1ib2wgb2Ygc3RhdGUgU1RBVEUtTlVNLl1dKQotCi0kMShbcjFdLCBbYjRfcjFdLAotICAg
W1tZWVIxW1lZTl0gLS0gU3ltYm9sIG51bWJlciBvZiBzeW1ib2wgdGhhdCBydWxlIFlZTiBkZXJp
dmVzLl1dKQotCi0kMShbcjJdLCBbYjRfcjJdLAotICAgW1tZWVIyW1lZTl0gLS0gTnVtYmVyIG9m
IHN5bWJvbHMgb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiBydWxlIFlZTi5dXSkKLV0pCi0KLQot
IyBiNF9wYXJzZXJfdGFibGVzX2RlY2xhcmUKLSMgYjRfcGFyc2VyX3RhYmxlc19kZWZpbmUKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlZmluZS9kZWNsYXJlIHRoZSAoZGV0ZXJtaW5p
c3RpYykgcGFyc2VyIHRhYmxlcy4KLW00X2RlZmluZShbYjRfcGFyc2VyX3RhYmxlc19kZWNsYXJl
XSwKLVtiNF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVzX21hcChbYjRfaW50ZWdyYWxfcGFyc2VyX3Rh
YmxlX2RlY2xhcmVdKV0pCi0KLW00X2RlZmluZShbYjRfcGFyc2VyX3RhYmxlc19kZWZpbmVdLAot
W2I0X2ludGVncmFsX3BhcnNlcl90YWJsZXNfbWFwKFtiNF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVf
ZGVmaW5lXSldKQotCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyBEZWNvZGluZyBv
cHRpb25zLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0jIGI0X2ZsYWdfaWYoRkxB
RywgSUYtVFJVRSwgSUYtRkFMU0UpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIFJ1biBJRi1UUlVFIGlmIGI0X0ZMQUdfZmxhZyBpcyAxLCBJRi1GQUxTRSBpZiBGTEFH
IGlzIDAsIG90aGVyd2lzZSBmYWlsLgotbTRfZGVmaW5lKFtiNF9mbGFnX2lmXSwKLVttNF9jYXNl
KGI0XyQxX2ZsYWcsCi0gICAgICAgICBbMF0sIFskM10sCi0gICAgICAgICBbMV0sIFskMl0sCi0g
ICAgICAgICBbbTRfZmF0YWwoW2ludmFsaWQgJDEgdmFsdWU6IF1iNF8kMV9mbGFnKV0pXSkKLQot
Ci0jIGI0X2RlZmluZV9mbGFnX2lmKEZMQUcpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0j
IERlZmluZSAiYjRfRkxBR19pZihJRi1UUlVFLCBJRi1GQUxTRSkiIHRoYXQgZGVwZW5kcyBvbiB0
aGUKLSMgdmFsdWUgb2YgdGhlIEJvb2xlYW4gRkxBRy4KLW00X2RlZmluZShbYjRfZGVmaW5lX2Zs
YWdfaWZdLAotW19iNF9kZWZpbmVfZmxhZ19pZigkWzFdLCAkWzJdLCBbJDFdKV0pCi0KLSMgX2I0
X2RlZmluZV9mbGFnX2lmKCQxLCAkMiwgRkxBRykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLSMgV29yayBhcm91bmQgdGhlIGltcG9zc2liaWxpdHkgdG8gZGVmaW5lIG1hY3Jv
cyBpbnNpZGUgbWFjcm9zLAotIyBiZWNhdXNlIGlzc3VpbmcgJ1skMV0nIGlzIG5vdCBwb3NzaWJs
ZSBpbiBNNC4gIEdOVSBNNCBzaG91bGQgcHJvdmlkZQotIyAkJDEgYSBsYSBNNS9UZVguCi1tNF9k
ZWZpbmUoW19iNF9kZWZpbmVfZmxhZ19pZl0sCi1bbTRfaWYoWyQxJDJdLCAkWzFdJFsyXSwgW10s
Ci0gICAgICAgW200X2ZhdGFsKFskMDogSW52YWxpZCBhcmd1bWVudHM6ICRAXSldKWRubAotbTRf
ZGVmaW5lKFtiNF8kM19pZl0sCi0gICAgICAgICAgW2I0X2ZsYWdfaWYoWyQzXSwgWyQxXSwgWyQy
XSldKV0pCi0KLQotIyBiNF9GTEFHX2lmKElGLVRSVUUsIElGLUZBTFNFKQotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbmQgSUYtVFJVRSwgaWYgRkxBRyBpcyB0cnVlLCBJ
Ri1GQUxTRSBvdGhlcndpc2UuCi1iNF9kZWZpbmVfZmxhZ19pZihbZGVmaW5lc10pICAgICAgICAg
ICAgIyBXaGV0aGVyIGhlYWRlcnMgYXJlIHJlcXVlc3RlZC4KLWI0X2RlZmluZV9mbGFnX2lmKFtn
bHJdKSAgICAgICAgICAgICAgICAjIFdoZXRoZXIgYSBHTFIgcGFyc2VyIGlzIHJlcXVlc3RlZC4K
LWI0X2RlZmluZV9mbGFnX2lmKFtub25kZXRlcm1pbmlzdGljXSkgICAjIFdoZXRoZXIgY29uZmxp
Y3RzIHNob3VsZCBiZSBoYW5kbGVkLgotYjRfZGVmaW5lX2ZsYWdfaWYoW3Rva2VuX3RhYmxlXSkg
ICAgICAgICMgV2hldGhlciB5eXRva2VuX3RhYmxlIGlzIGRlbWFuZGVkLgotYjRfZGVmaW5lX2Zs
YWdfaWYoW3lhY2NdKSAgICAgICAgICAgICAgICMgV2hldGhlciBQT1NJWCBZYWNjIGlzIGVtdWxh
dGVkLgotCi0KLSMgYjRfZ2xyX2NjX2lmKFtJRi1UUlVFXSwgW0lGLUZBTFNFXSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfZ2xyX2NjX2lmXSwK
LSAgICAgICAgICBbbTRfaWYoYjRfc2tlbGV0b24sIFsiZ2xyLmNjIl0sICRAKV0pCi0KLQotIyMg
LS0tLS0tLS0tICMjCi0jIyBTeW1ib2xzLiAgIyMKLSMjIC0tLS0tLS0tLSAjIwotCi0jIEZvciBh
IGRlc2NyaXB0aW9uIG9mIHRoZSBTeW1ib2wgaGFuZGxpbmcsIHNlZSBSRUFETUUuCi0jCi0jIFRo
ZSBmb2xsb3dpbmcgbWFjcm9zIHByb3ZpZGUgYWNjZXNzIHRvIHN5bWJvbCByZWxhdGVkIHZhbHVl
cy4KLQotIyBfX2I0X3N5bWJvbChOVU0sIEZJRUxEKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotIyBSZWNvdmVyIGEgRklFTEQgYWJvdXQgc3ltYm9sICNOVU0uICBUaGFua3MgdG8gbTRfaW5k
aXIsIGZhaWxzIGlmCi0jIHVuZGVmaW5lZC4KLW00X2RlZmluZShbX19iNF9zeW1ib2xdLAotW200
X2luZGlyKFtiNF9zeW1ib2woJDEsICQyKV0pXSkKLQotCi0jIF9iNF9zeW1ib2woTlVNLCBGSUVM
RCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSZWNvdmVyIGEgRklFTEQgYWJvdXQgc3lt
Ym9sICNOVU0gKG9yICJvcmlnIE5VTSIpLiAgRmFpbHMgaWYKLSMgdW5kZWZpbmVkLgotbTRfZGVm
aW5lKFtfYjRfc3ltYm9sXSwKLVttNF9pZmRlZihbYjRfc3ltYm9sKCQxLCBudW1iZXIpXSwKLSAg
ICAgICAgICBbX19iNF9zeW1ib2wobTRfaW5kaXIoW2I0X3N5bWJvbCgkMSwgbnVtYmVyKV0pLCAk
MildLAotICAgICAgICAgIFtfX2I0X3N5bWJvbChbJDFdLCBbJDJdKV0pXSkKLQotCi0KLSMgYjRf
c3ltYm9sKE5VTSwgRklFTEQpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSZWNvdmVyIGEg
RklFTEQgYWJvdXQgc3ltYm9sICNOVU0gKG9yICJvcmlnIE5VTSIpLiAgRmFpbHMgaWYKLSMgdW5k
ZWZpbmVkLiAgSWYgRklFTEQgPSBpZCwgcHJlcGVuZCB0aGUgdG9rZW4gcHJlZml4LgotbTRfZGVm
aW5lKFtiNF9zeW1ib2xdLAotW200X2Nhc2UoWyQyXSwKLSAgICAgICAgIFtpZF0sICAgIFttNF9k
byhbYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFthcGkudG9rZW4ucHJlZml4XSldLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIFtfYjRfc3ltYm9sKFskMV0sIFtpZF0pXSldLAotICAgICAgICAgW19i
NF9zeW1ib2woJEApXSldKQotCi0KLSMgYjRfc3ltYm9sX2lmKE5VTSwgRklFTEQsIElGLVRSVUUs
IElGLUZBTFNFKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jIElmIEZJRUxEIGFib3V0IHN5bWJvbCAjTlVNIGlzIDEgZXhwYW5kIElGLVRSVUUsIGlmIGlz
IDAsIGV4cGFuZCBJRi1GQUxTRS4KLSMgT3RoZXJ3aXNlIGFuIGVycm9yLgotbTRfZGVmaW5lKFti
NF9zeW1ib2xfaWZdLAotW200X2Nhc2UoYjRfc3ltYm9sKFskMV0sIFskMl0pLAotICAgICAgICAg
WzFdLCBbJDNdLAotICAgICAgICAgWzBdLCBbJDRdLAotICAgICAgICAgW200X2ZhdGFsKFskMDog
ZmllbGQgJDIgb2YgJDEgaXMgbm90IGEgQm9vbGVhbjpdIGI0X3N5bWJvbChbJDFdLCBbJDJdKSld
KV0pCi0KLQotIyBiNF9zeW1ib2xfdGFnX2NvbW1lbnQoU1lNQk9MLU5VTSkKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElzc3VlIGEgY29tbWVudCBnaXZpbmcgdGhlIHRh
ZyBvZiBzeW1ib2wgTlVNLgotbTRfZGVmaW5lKFtiNF9zeW1ib2xfdGFnX2NvbW1lbnRdLAotW2I0
X2NvbW1lbnQoW2I0X3N5bWJvbChbJDFdLCBbdGFnXSldKQotXSkKLQotCi0jIGI0X3N5bWJvbF9h
Y3Rpb25fbG9jYXRpb24oU1lNQk9MLU5VTSwgS0lORCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSZXBvcnQgdGhlIGxvY2F0aW9uIG9mIHRoZSBLSU5E
IGFjdGlvbiBhcyBGSUxFOkxJTkUuCi1tNF9kZWZpbmUoW2I0X3N5bWJvbF9hY3Rpb25fbG9jYXRp
b25dLAotW2I0X3N5bWJvbChbJDFdLCBbJDJfZmlsZV0pOmI0X3N5bmNsaW5lKFtiNF9zeW1ib2wo
WyQxXSwgWyQyX2xpbmVdKV0pXSkKLQotCi0jIGI0X3N5bWJvbF9hY3Rpb24oU1lNQk9MLU5VTSwg
S0lORCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSdW4gdGhlIGFj
dGlvbiBLSU5EIChkZXN0cnVjdG9yIG9yIHByaW50ZXIpIGZvciBTWU1CT0wtTlVNLgotbTRfZGVm
aW5lKFtiNF9zeW1ib2xfYWN0aW9uXSwKLVtiNF9zeW1ib2xfaWYoWyQxXSwgW2hhc18kMl0sCi1b
YjRfZG9sbGFyX3B1c2hkZWYoWygqeXl2YWx1ZXApXSwKLSAgICAgICAgICAgICAgICAgICBbJDFd
LAotICAgICAgICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgICAgICAgIFsoKnl5bG9jYXRp
b25wKV0pZG5sCi0gICAgX2I0X3N5bWJvbF9jYXNlKFskMV0pW11kbmwKLWI0X3N5bmNsaW5lKFti
NF9zeW1ib2woWyQxXSwgWyQyX2xpbmVdKV0sIFtiNF9zeW1ib2woWyQxXSwgWyQyX2ZpbGVdKV0p
Ci0gICAgICBiNF9zeW1ib2woWyQxXSwgWyQyXSkKLWI0X3N5bmNsaW5lKFtAb2xpbmVAXSwgW0Bv
ZmlsZUBdKQotICAgICAgICBicmVhazsKLQotYjRfZG9sbGFyX3BvcGRlZltdZG5sCi1dKV0pCi0K
LQotIyBiNF9zeW1ib2xfZGVzdHJ1Y3RvcihTWU1CT0wtTlVNKQotIyBiNF9zeW1ib2xfcHJpbnRl
cihTWU1CT0wtTlVNKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotbTRfZGVm
aW5lKFtiNF9zeW1ib2xfZGVzdHJ1Y3Rvcl0sIFtiNF9zeW1ib2xfYWN0aW9uKFskMV0sIFtkZXN0
cnVjdG9yXSldKQotbTRfZGVmaW5lKFtiNF9zeW1ib2xfcHJpbnRlcl0sICAgIFtiNF9zeW1ib2xf
YWN0aW9uKFskMV0sIFtwcmludGVyXSldKQotCi0KLSMgYjRfc3ltYm9sX2FjdGlvbnMoS0lORCwg
W1RZUEUgPSB5eXR5cGVdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIEVtaXQgdGhlIHN5bWJvbCBhY3Rpb25zIGZvciBLSU5EICgicHJpbnRlciIgb3IgImRl
c3RydWN0b3IiKS4KLSMgRGlzcGF0Y2ggb24gVFlQRS4KLW00X2RlZmluZShbYjRfc3ltYm9sX2Fj
dGlvbnNdLAotW200X3B1c2hkZWYoW2I0X2FjdGlvbnNfXSwgbTRfZXhwYW5kKFtiNF9zeW1ib2xf
Zm9yZWFjaChbYjRfc3ltYm9sXyQxXSldKSlkbmwKLW00X2lmdmFsKG00X2RlZm4oW2I0X2FjdGlv
bnNfXSksCi1bc3dpdGNoIChtNF9kZWZhdWx0KFskMl0sIFt5eXR5cGVdKSkKLSAgICB7Ci1tNF9k
ZWZuKFtiNF9hY3Rpb25zX10pW11kbmwKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIGJyZWFrOwot
ICAgIH1kbmwKLV0sCi1bWVlVU0UgKG00X2RlZmF1bHQoWyQyXSwgW3l5dHlwZV0pKTtdKWRubAot
bTRfcG9wZGVmKFtiNF9hY3Rpb25zX10pZG5sCi1dKQotCi0jIF9iNF9zeW1ib2xfY2FzZShTWU1C
T0wtTlVNKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSXNzdWUgYSAiY2FzZSBO
VU0iIGZvciBTWU1CT0wtTlVNLiAgRW5kcyB3aXRoIGl0cyBFT0wgdG8gbWFrZSBpdAotIyBlYXNp
ZXIgdG8gdXNlIHdpdGggbTRfbWFwLCBidXQgdGhlbiwgdXNlIFtdZG5sIHRvIHN1cHByZXNzIHRo
ZSBsYXN0Ci0jIG9uZS4KLW00X2RlZmluZShbX2I0X3N5bWJvbF9jYXNlXSwKLVtjYXNlIGI0X3N5
bWJvbChbJDFdLCBbbnVtYmVyXSk6IGI0X3N5bWJvbF90YWdfY29tbWVudChbJDFdKV0pCi1dKQot
Ci0KLSMgYjRfc3ltYm9sX2ZvcmVhY2goTUFDUk8pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotIyBJbnZva2UgTUFDUk8oU1lNQk9MLU5VTSkgZm9yIGVhY2ggU1lNQk9MLU5VTS4KLW00X2Rl
ZmluZShbYjRfc3ltYm9sX2ZvcmVhY2hdLAotICAgICAgICAgIFttNF9tYXAoWyQxXSwgbTRfZGVm
bihbYjRfc3ltYm9sX251bWJlcnNdKSldKQotCi0jIGI0X3N5bWJvbF9tYXAoTUFDUk8pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIFJldHVybiBhIGxpc3QgKHBvc3NpYmx5IGVtcHR5IGVsZW1l
bnRzKSBvZiBNQUNSTyBpbnZva2VkIGZvciBlYWNoCi0jIFNZTUJPTC1OVU0uCi1tNF9kZWZpbmUo
W2I0X3N5bWJvbF9tYXBdLAotW200X21hcF9hcmdzX3NlcChbJDEoXSwgWyldLCBbLF0sIGI0X3N5
bWJvbF9udW1iZXJzKV0pCi0KLQotIyBiNF90b2tlbl92aXNpYmxlX2lmKE5VTSwgSUYtVFJVRSwg
SUYtRkFMU0UpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSMgV2hldGhlciBOVU0gZGVub3RlcyBhIHRva2VuIHRoYXQgaGFzIGFuIGV4cG9ydGVkIGRlZmlu
aXRpb24gKGkuZS4sCi0jIHNob3dzIGluIGVudW0geXl0b2tlbnR5cGUpLgotbTRfZGVmaW5lKFti
NF90b2tlbl92aXNpYmxlX2lmXSwKLVtiNF9zeW1ib2xfaWYoWyQxXSwgW2lzX3Rva2VuXSwKLSAg
ICAgICAgICAgICAgW2I0X3N5bWJvbF9pZihbJDFdLCBbaGFzX2lkXSwgWyQyXSwgWyQzXSldLAot
ICAgICAgICAgICAgICBbJDNdKV0pCi0KLSMgYjRfdG9rZW5faGFzX2RlZmluaXRpb24oTlVNKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIDEgaWYgTlVNIGlzIHZpc2libGUsIG5v
dGhpbmcgb3RoZXJ3aXNlLgotbTRfZGVmaW5lKFtiNF90b2tlbl9oYXNfZGVmaW5pdGlvbl0sCi1b
YjRfdG9rZW5fdmlzaWJsZV9pZihbJDFdLCBbMV0pXSkKLQotIyBiNF9hbnlfdG9rZW5fdmlzaWJs
ZV9pZihbSUYtVFJVRV0sIFtJRi1GQUxTRV0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgV2hldGhlciB0aGVyZSBpcyBhIHRva2VuIHRoYXQgbmVl
ZHMgdG8gYmUgZGVmaW5lZC4KLW00X2RlZmluZShbYjRfYW55X3Rva2VuX3Zpc2libGVfaWZdLAot
W200X2lmdmFsKGI0X3N5bWJvbF9mb3JlYWNoKFtiNF90b2tlbl9oYXNfZGVmaW5pdGlvbl0pLAot
ICAgICAgICAgIFskMV0sIFskMl0pXSkKLQotCi0jIGI0X3Rva2VuX2Zvcm1hdChGT1JNQVQsIE5V
TSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotbTRfZGVmaW5lKFtiNF90b2tlbl9m
b3JtYXRdLAotW2I0X3Rva2VuX3Zpc2libGVfaWYoWyQyXSwKLVttNF9xdW90ZShtNF9mb3JtYXQo
WyQxXSwKLSAgICAgICAgICAgICAgICAgICAgIFtiNF9zeW1ib2woWyQyXSwgW2lkXSldLAotICAg
ICAgICAgICAgICAgICAgICAgW2I0X3N5bWJvbChbJDJdLCBbdXNlcl9udW1iZXJdKV0pKV0pXSkK
LQotCi0jIyAtLS0tLS0tICMjCi0jIyBUeXBlcy4gICMjCi0jIyAtLS0tLS0tICMjCi0KLSMgX2I0
X3R5cGVfYWN0aW9uKE5VTVMpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBSdW4gYWN0aW9u
cyBmb3IgdGhlIHN5bWJvbCBOVU1TIHRoYXQgYWxsIGhhdmUgdGhlIHNhbWUgdHlwZS1uYW1lLgot
IyBTa2lwIE5VTVMgdGhhdCBoYXZlIG5vIHR5cGUtbmFtZS4KLSMKLSMgVG8gc3BlY2lmeSB0aGUg
YWN0aW9uIHRvIHJ1biwgZGVmaW5lIGI0X2RvbGxhcl9kb2xsYXIoU1lNQk9MLU5VTSwKLSMgVEFH
LCBUWVBFKS4KLW00X2RlZmluZShbX2I0X3R5cGVfYWN0aW9uXSwKLVtiNF9zeW1ib2xfaWYoWyQx
XSwgW2hhc190eXBlXSwKLVttNF9tYXAoWyAgICAgIF9iNF9zeW1ib2xfY2FzZV0sIFskQF0pW11k
bmwKLSAgICAgICAgYjRfZG9sbGFyX2RvbGxhcihbYjRfc3ltYm9sKFskMV0sIFtudW1iZXJdKV0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgW2I0X3N5bWJvbChbJDFdLCBbdGFnXSldLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIFtiNF9zeW1ib2woWyQxXSwgW3R5cGVdKV0pOwotICAgICAg
ICBicmVhazsKLQotXSldKQotCi0jIGI0X3R5cGVfZm9yZWFjaChNQUNSTykKLSMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotIyBJbnZva2UgTUFDUk8oU1lNQk9MLU5VTVMpIGZvciBlYWNoIHNldCBv
ZiBTWU1CT0wtTlVNUyBmb3IgZWFjaCB0eXBlIHNldC4KLW00X2RlZmluZShbYjRfdHlwZV9mb3Jl
YWNoXSwKLSAgICAgICAgICBbbTRfbWFwKFskMV0sIG00X2RlZm4oW2I0X3R5cGVfbmFtZXNdKSld
KQotCi0KLQotIyMgLS0tLS0tLS0tLS0gIyMKLSMjIFN5bmNsaW5lcy4gICMjCi0jIyAtLS0tLS0t
LS0tLSAjIwotCi0jIGI0X2Jhc2VuYW1lKE5BTUUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tCi0jIFNp
bWlsYXIgdG8gUE9TSVggYmFzZW5hbWU7IHRoZSBkaWZmZXJlbmNlcyBkb24ndCBtYXR0ZXIgaGVy
ZS4KLSMgQmV3YXJlIHRoYXQgTkFNRSBpcyBub3QgZXZhbHVhdGVkLgotbTRfZGVmaW5lKFtiNF9i
YXNlbmFtZV0sCi1bbTRfYnBhdHN1YnN0KFskMV0sIFteLiovXChbXi9dK1wpLyokXSwgW1wxXSld
KQotCi0KLSMgYjRfc3luY2xpbmUoTElORSwgRklMRSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLW00X2RlZmluZShbYjRfc3luY2xpbmVdLAotW2I0X2ZsYWdfaWYoW3N5bmNsaW5lc10sCi1b
YjRfc3luY19zdGFydChbJDFdLCBbJDJdKSBiNF9zeW5jX2VuZChbX19saW5lX19dLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2I0X2Jhc2VuYW1lKG00X3F1b3RlKF9f
ZmlsZV9fKSldKVtdZG5sCi1dKV0pCi0KLSMgYjRfc3luY19zdGFydChMSU5FLCBGSUxFKQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTeW5jbGluZSBmb3IgdGhlIG5ldyBwbGFjZS4gIFR5
cGljYWxseSBhIGRpcmVjdGl2ZSBmb3IgdGhlIGNvbXBpbGVyLgotbTRfZGVmaW5lKFtiNF9zeW5j
X3N0YXJ0XSwgW2I0X2NvbW1lbnQoWyQyOiQxXSldKQotCi0jIGI0X3N5bmNfZW5kKExJTkUsIEZJ
TEUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFN5bmNsaW5lIGZvciB0aGUgY3VycmVu
dCBwbGFjZSwgd2hpY2ggZW5kcy4gIFR5cGljYWxseSBhIGNvbW1lbnQKLSMgbGVmdCBmb3IgdGhl
IHJlYWRlci4KLW00X2RlZmluZShbYjRfc3luY19lbmRdLCAgIFtiNF9jb21tZW50KFskMjokMV0p
XSkKLQotCi0jIGI0X3VzZXJfY29kZShVU0VSLUNPREUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jIEVtaXQgY29kZSBmcm9tIHRoZSB1c2VyLCBlbmRpbmcgaXQgd2l0aCBzeW5jbGluZXMu
Ci1tNF9kZWZpbmUoW2I0X3VzZXJfY29kZV0sCi1bJDEKLWI0X3N5bmNsaW5lKFtAb2xpbmVAXSwg
W0BvZmlsZUBdKV0pCi0KLQotIyBiNF9kZWZpbmVfdXNlcl9jb2RlKE1BQ1JPLCBDT01NRU5UKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBGcm9tIGI0X01BQ1JPLCBp
ZiBkZWZpbmVkLCBidWlsZCBiNF91c2VyX01BQ1JPIHRoYXQgaW5jbHVkZXMgdGhlIHN5bmNsaW5l
cy4KLW00X2RlZmluZShbYjRfZGVmaW5lX3VzZXJfY29kZV0sCi1bbTRfZGVmaW5lKFtiNF91c2Vy
XyQxXSwKLSAgICAgICAgICAgW200X2lmZGVmKFtiNF8kMV0sCi0gICAgICAgICAgICAgICAgICAg
ICBbbTRfaWZ2YWwoWyQyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYjRfY29t
bWVudChbJDJdKQotXSliNF91c2VyX2NvZGUoW2I0XyQxXSldKV0pXSkKLQotIyBiNF91c2VyX2Fj
dGlvbnMKLSMgYjRfdXNlcl9pbml0aWFsX2FjdGlvbgotIyBiNF91c2VyX3Bvc3RfcHJvbG9ndWUK
LSMgYjRfdXNlcl9wcmVfcHJvbG9ndWUKLSMgYjRfdXNlcl91bmlvbl9tZW1iZXJzCi0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLSMgTWFjcm9zIHRoYXQgaXNzdWUgdXNlciBjb2RlLCBlbmRpbmcg
d2l0aCBzeW5jbGluZXMuCi1iNF9kZWZpbmVfdXNlcl9jb2RlKFthY3Rpb25zXSkKLWI0X2RlZmlu
ZV91c2VyX2NvZGUoW2luaXRpYWxfYWN0aW9uXSwgW1VzZXIgaW5pdGlhbGl6YXRpb24gY29kZS5d
KQotYjRfZGVmaW5lX3VzZXJfY29kZShbcG9zdF9wcm9sb2d1ZV0sIFtTZWNvbmQgcGFydCBvZiB1
c2VyIHByb2xvZ3VlLl0pCi1iNF9kZWZpbmVfdXNlcl9jb2RlKFtwcmVfcHJvbG9ndWVdLCBbRmly
c3QgcGFydCBvZiB1c2VyIHByb2xvZ3VlLl0pCi1iNF9kZWZpbmVfdXNlcl9jb2RlKFt1bmlvbl9t
ZW1iZXJzXSkKLQotCi0jIGI0X2NoZWNrX3VzZXJfbmFtZXMoV0hBVCwgVVNFUi1MSVNULCBCSVNP
Ti1OQU1FU1BBQ0UpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0jIENvbXBsYWluIGlmIGFueSBuYW1lIG9mIHR5cGUgV0hBVCBpcyB1c2Vk
IGJ5IHRoZSB1c2VyIChhcyByZWNvcmRlZCBpbgotIyBVU0VSLUxJU1QpIGJ1dCBpcyBub3QgdXNl
ZCBieSBCaXNvbiAoYXMgcmVjb3JkZWQgYnkgbWFjcm9zIGluIHRoZQotIyBuYW1lc3BhY2UgQklT
T04tTkFNRVNQQUNFKS4KLSMKLSMgVVNFUi1MSVNUIG11c3QgZXhwYW5kIHRvIGEgbGlzdCBzcGVj
aWZ5aW5nIGFsbCB1c2VyIG9jY3VycmVuY2VzIG9mIGFsbCBuYW1lcwotIyBvZiB0eXBlIFdIQVQu
ICAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IG11c3QgYmUgYSB0cmlwbGV0IHNwZWNpZnlpbmcgb25l
Ci0jIG9jY3VycmVuY2U6IG5hbWUsIHN0YXJ0IGJvdW5kYXJ5LCBhbmQgZW5kIGJvdW5kYXJ5LiAg
RW1wdHkgc3RyaW5nIG5hbWVzIGFyZQotIyBmaW5lLiAgQW4gZW1wdHkgbGlzdCBpcyBmaW5lLgot
IwotIyBGb3IgZXhhbXBsZSwgdG8gZGVmaW5lIGI0X2Zvb191c2VyX25hbWVzIHRvIGJlIHVzZWQg
Zm9yIFVTRVItTElTVCB3aXRoIHRocmVlCi0jIG5hbWUgb2NjdXJyZW5jZXMgYW5kIHdpdGggY29y
cmVjdCBxdW90aW5nOgotIwotIyAgIG00X2RlZmluZShbYjRfZm9vX3VzZXJfbmFtZXNdLAotIyAg
ICAgICAgICAgICBbW1tbW1tiYXJdXSwgW1twYXJzZXIueToxLjddXSwgW1twYXJzZXIueToxLjE2
XV1dXSwKLSMgICAgICAgICAgICAgICBbW1tbYmFyXV0sIFtbcGFyc2VyLnk6NS43XV0sIFtbcGFy
c2VyLnk6NS4xNl1dXV0sCi0jICAgICAgICAgICAgICAgW1tbW2Jhel1dLCBbW3BhcnNlci55Ojgu
N11dLCBbW3BhcnNlci55OjguMTZdXV1dXV0pCi0jCi0jIFRoZSBtYWNybyBCSVNPTi1OQU1FU1BB
Q0UoYmFyKSBtdXN0IGJlIGRlZmluZWQgaWZmIHRoZSBuYW1lIGJhciBvZiB0eXBlIFdIQVQKLSMg
aXMgdXNlZCBieSBCaXNvbiAoaW4gdGhlIGZyb250LWVuZCBvciBpbiB0aGUgc2tlbGV0b24pLiAg
RW1wdHkgc3RyaW5nIG5hbWVzCi0jIGFyZSBmaW5lLCBidXQgaXQgd291bGQgYmUgdWdseSBmb3Ig
Qmlzb24gdG8gYWN0dWFsbHkgdXNlIG9uZS4KLSMKLSMgRm9yIGV4YW1wbGUsIHRvIHVzZSBiNF9m
b29fYmlzb25fbmFtZXMgZm9yIEJJU09OLU5BTUVTUEFDRSBhbmQgZGVmaW5lIHRoYXQKLSMgdGhl
IG5hbWVzIGJhciBhbmQgYmF6IGFyZSB1c2VkIGJ5IEJpc29uOgotIwotIyAgIG00X2RlZmluZShb
YjRfZm9vX2Jpc29uX25hbWVzKGJhcildKQotIyAgIG00X2RlZmluZShbYjRfZm9vX2Jpc29uX25h
bWVzKGJheildKQotIwotIyBUbyBpbnZva2UgYjRfY2hlY2tfdXNlcl9uYW1lcyB3aXRoIFRZUEUg
Zm9vLCB3aXRoIFVTRVItTElTVAotIyBiNF9mb29fdXNlcl9uYW1lcywgd2l0aCBCSVNPTi1OQU1F
U1BBQ0UgYjRfZm9vX2Jpc29uX25hbWVzLCBhbmQgd2l0aCBjb3JyZWN0Ci0jIHF1b3Rpbmc6Ci0j
Ci0jICAgYjRfY2hlY2tfdXNlcl9uYW1lcyhbW2Zvb11dLCBbYjRfZm9vX3VzZXJfbmFtZXNdLAot
IyAgICAgICAgICAgICAgICAgICAgICAgW1tiNF9mb29fYmlzb25fbmFtZXNdXSkKLW00X2RlZmlu
ZShbYjRfY2hlY2tfdXNlcl9uYW1lc10sCi1bbTRfZm9yZWFjaChbYjRfb2NjdXJyZW5jZV0sICQy
LAotW200X3B1c2hkZWYoW2I0X29jY3VycmVuY2VdLCBiNF9vY2N1cnJlbmNlKWRubAotbTRfcHVz
aGRlZihbYjRfdXNlcl9uYW1lXSwgbTRfY2FyKGI0X29jY3VycmVuY2UpKWRubAotbTRfcHVzaGRl
ZihbYjRfc3RhcnRdLCBtNF9jYXIobTRfc2hpZnQoYjRfb2NjdXJyZW5jZSkpKWRubAotbTRfcHVz
aGRlZihbYjRfZW5kXSwgbTRfc2hpZnQobTRfc2hpZnQoYjRfb2NjdXJyZW5jZSkpKWRubAotbTRf
aWZuZGVmKCQzWyhdbTRfcXVvdGUoYjRfdXNlcl9uYW1lKVspXSwKLSAgICAgICAgICBbYjRfY29t
cGxhaW5fYXQoW2I0X3N0YXJ0XSwgW2I0X2VuZF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IFtbJXMgJyVzJyBpcyBub3QgdXNlZF1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICBbJDFd
LCBbYjRfdXNlcl9uYW1lXSldKVtdZG5sCi1tNF9wb3BkZWYoW2I0X29jY3VycmVuY2VdKWRubAot
bTRfcG9wZGVmKFtiNF91c2VyX25hbWVdKWRubAotbTRfcG9wZGVmKFtiNF9zdGFydF0pZG5sCi1t
NF9wb3BkZWYoW2I0X2VuZF0pZG5sCi1dKV0pCi0KLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0gIyMKLSMjIGI0X3BlcmNlbnRfZGVmaW5lXyouICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICMjCi0KLQotIyBiNF9wZXJjZW50X2RlZmluZV91c2UoVkFSSUFCTEUpCi0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVjbGFyZSB0aGF0IFZBUklBQkxFIHdhcyB1c2Vk
LgotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV91c2VdLAotW200X2RlZmluZShbYjRfcGVy
Y2VudF9kZWZpbmVfYmlzb25fdmFyaWFibGVzKF0kMVspXSlkbmwKLV0pCi0KLSMgYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0KFZBUklBQkxFLCBbREVGQVVMVF0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBNaW1pYyBtdXNjbGVfcGVyY2VudF9kZWZpbmVfZ2V0
IGluIC4uL3NyYy9tdXNjbGUtdGFiLmguICBUaGF0IGlzLCBpZgotIyB0aGUgJWRlZmluZSB2YXJp
YWJsZSBWQVJJQUJMRSBpcyBkZWZpbmVkLCBlbWl0IGl0cyB2YWx1ZS4gIENvbnRyYXJ5Ci0jIHRv
IGl0cyBDIGNvdW50ZXJwYXJ0LCByZXR1cm4gREVGQVVMVCBvdGhlcndpc2UuICBBbHNvLCByZWNv
cmQKLSMgQmlzb24ncyB1c2FnZSBvZiBWQVJJQUJMRSBieSBkZWZpbmluZwotIyBiNF9wZXJjZW50
X2RlZmluZV9iaXNvbl92YXJpYWJsZXMoVkFSSUFCTEUpLgotIwotIyBGb3IgZXhhbXBsZToKLSMK
LSMgICBiNF9wZXJjZW50X2RlZmluZV9nZXQoW1tmb29dXSkKLW00X2RlZmluZShbYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0XSwKLVtiNF9wZXJjZW50X2RlZmluZV91c2UoWyQxXSlkbmwKLV9iNF9wZXJj
ZW50X2RlZmluZV9pZmRlZihbJDFdLAotICAgICAgICAgICAgICAgICAgICAgICAgIFttNF9pbmRp
cihbYjRfcGVyY2VudF9kZWZpbmUoXSQxWyldKV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
WyQyXSldKQotCi0jIGI0X3BlcmNlbnRfZGVmaW5lX2dldF9sb2MoVkFSSUFCTEUpCi0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE1pbWljIG11c2NsZV9wZXJjZW50X2Rl
ZmluZV9nZXRfbG9jIGluIC4uL3NyYy9tdXNjbGUtdGFiLmggZXhhY3RseS4gIFRoYXQgaXMsCi0j
IGlmIHRoZSAlZGVmaW5lIHZhcmlhYmxlIFZBUklBQkxFIGlzIHVuZGVmaW5lZCwgY29tcGxhaW4g
ZmF0YWxseSBzaW5jZSB0aGF0J3MKLSMgYSBCaXNvbiBvciBza2VsZXRvbiBlcnJvci4gIE90aGVy
d2lzZSwgcmV0dXJuIGl0cyBkZWZpbml0aW9uIGxvY2F0aW9uIGluIGEKLSMgZm9ybSBhcHByb3By
aWF0ZSBmb3IgdGhlIGZpcnN0IHR3byBhcmd1bWVudHMgb2YgYjRfd2Fybl9hdCwgYjRfY29tcGxh
aW5fYXQsIG9yCi0jIGI0X2ZhdGFsX2F0LiAgRG9uJ3QgcmVjb3JkIHRoaXMgYXMgYSBCaXNvbiB1
c2FnZSBvZiBWQVJJQUJMRSBhcyB0aGVyZSdzIG5vCi0jIHJlYXNvbiB0byBzdXNwZWN0IHRoYXQg
dGhlIHVzZXItc3VwcGxpZWQgdmFsdWUgaGFzIHlldCBpbmZsdWVuY2VkIHRoZSBvdXRwdXQuCi0j
Ci0jIEZvciBleGFtcGxlOgotIwotIyAgIGI0X2NvbXBsYWluX2F0KGI0X3BlcmNlbnRfZGVmaW5l
X2dldF9sb2MoW1tmb29dXSksIFtbaW52YWxpZCBmb29dXSkKLW00X2RlZmluZShbYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0X2xvY10sCi1bbTRfaWZkZWYoW2I0X3BlcmNlbnRfZGVmaW5lX2xvYyhdJDFb
KV0sCi0gICAgICAgICAgW200X3B1c2hkZWYoW2I0X2xvY10sIG00X2luZGlyKFtiNF9wZXJjZW50
X2RlZmluZV9sb2MoXSQxWyldKSlkbmwKLWI0X2xvY1tdZG5sCi1tNF9wb3BkZWYoW2I0X2xvY10p
XSwKLSAgICAgICAgICBbYjRfZmF0YWwoW1skMDogdW5kZWZpbmVkICUlZGVmaW5lIHZhcmlhYmxl
ICclcyddXSwgWyQxXSldKV0pCi0KLSMgYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2tpbmQoVkFSSUFC
TEUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBHZXQgdGhlIGtp
bmQgKGNvZGUsIGtleXdvcmQsIHN0cmluZykgb2YgVkFSSUFCTEUsIGkuZS4sIGhvdyBpdHMKLSMg
dmFsdWUgd2FzIGRlZmluZWQgKGJyYWNlcywgbm90IGRlbGltaXRlcnMsIHF1b3RlcykuCi0jCi0j
IElmIHRoZSAlZGVmaW5lIHZhcmlhYmxlIFZBUklBQkxFIGlzIHVuZGVmaW5lZCwgY29tcGxhaW4g
ZmF0YWxseQotIyBzaW5jZSB0aGF0J3MgYSBCaXNvbiBvciBza2VsZXRvbiBlcnJvci4gIERvbid0
IHJlY29yZCB0aGlzIGFzIGEKLSMgQmlzb24gdXNhZ2Ugb2YgVkFSSUFCTEUgYXMgdGhlcmUncyBu
byByZWFzb24gdG8gc3VzcGVjdCB0aGF0IHRoZQotIyB1c2VyLXN1cHBsaWVkIHZhbHVlIGhhcyB5
ZXQgaW5mbHVlbmNlZCB0aGUgb3V0cHV0LgotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmluZV9n
ZXRfa2luZF0sCi1bbTRfaWZkZWYoW2I0X3BlcmNlbnRfZGVmaW5lX2tpbmQoXSQxWyldLAotICAg
ICAgICAgIFttNF9pbmRpcihbYjRfcGVyY2VudF9kZWZpbmVfa2luZChdJDFbKV0pXSwKLSAgICAg
ICAgICBbYjRfZmF0YWwoW1skMDogdW5kZWZpbmVkICUlZGVmaW5lIHZhcmlhYmxlICclcyddXSwg
WyQxXSldKV0pCi0KLSMgYjRfcGVyY2VudF9kZWZpbmVfZ2V0X3N5bmNsaW5lKFZBUklBQkxFKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE1pbWljIG11c2Ns
ZV9wZXJjZW50X2RlZmluZV9nZXRfc3luY2xpbmUgaW4gLi4vc3JjL211c2NsZS10YWIuaCBleGFj
dGx5LgotIyBUaGF0IGlzLCBpZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyB1bmRl
ZmluZWQsIGNvbXBsYWluIGZhdGFsbHkKLSMgc2luY2UgdGhhdCdzIGEgQmlzb24gb3Igc2tlbGV0
b24gZXJyb3IuICBPdGhlcndpc2UsIHJldHVybiBpdHMgZGVmaW5pdGlvbgotIyBsb2NhdGlvbiBh
cyBhIGI0X3N5bmNsaW5lIGludm9jYXRpb24uICBEb24ndCByZWNvcmQgdGhpcyBhcyBhIEJpc29u
IHVzYWdlIG9mCi0jIFZBUklBQkxFIGFzIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIHN1c3BlY3QgdGhh
dCB0aGUgdXNlci1zdXBwbGllZCB2YWx1ZSBoYXMgeWV0Ci0jIGluZmx1ZW5jZWQgdGhlIG91dHB1
dC4KLSMKLSMgRm9yIGV4YW1wbGU6Ci0jCi0jICAgYjRfcGVyY2VudF9kZWZpbmVfZ2V0X3N5bmNs
aW5lKFtbZm9vXV0pCi1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2dldF9zeW5jbGluZV0s
Ci1bbTRfaWZkZWYoW2I0X3BlcmNlbnRfZGVmaW5lX3N5bmNsaW5lKF0kMVspXSwKLSAgICAgICAg
ICBbbTRfaW5kaXIoW2I0X3BlcmNlbnRfZGVmaW5lX3N5bmNsaW5lKF0kMVspXSldLAotICAgICAg
ICAgIFtiNF9mYXRhbChbWyQwOiB1bmRlZmluZWQgJSVkZWZpbmUgdmFyaWFibGUgJyVzJ11dLCBb
JDFdKV0pXSkKLQotIyBfYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoVkFSSUFCTEUsIElGLVRSVUUs
IFtJRi1GQUxTRV0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotIyBJZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyBkZWZp
bmVkLCBleHBhbmQgSUYtVFJVRSwgZWxzZSBleHBhbmQKLSMgSUYtRkFMU0UuICBEb24ndCByZWNv
cmQgdXNhZ2Ugb2YgVkFSSUFCTEUuCi0jCi0jIEZvciBleGFtcGxlOgotIwotIyAgIF9iNF9wZXJj
ZW50X2RlZmluZV9pZmRlZihbW2Zvb11dLCBbW2l0J3MgZGVmaW5lZF1dLCBbW2l0J3MgdW5kZWZp
bmVkXV0pCi1tNF9kZWZpbmUoW19iNF9wZXJjZW50X2RlZmluZV9pZmRlZl0sCi1bbTRfaWZkZWYo
W2I0X3BlcmNlbnRfZGVmaW5lKF0kMVspXSwKLSAgICAgICAgICBbJDJdLAotICAgICAgICAgIFsk
M10pXSkKLQotIyBiNF9wZXJjZW50X2RlZmluZV9pZmRlZihWQVJJQUJMRSwgSUYtVFJVRSwgW0lG
LUZBTFNFXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0jIE1pbWljIG11c2NsZV9wZXJjZW50X2RlZmluZV9pZmRlZiBpbiAuLi9zcmMv
bXVzY2xlLXRhYi5oIGV4YWN0bHkuICBUaGF0IGlzLAotIyBpZiB0aGUgJWRlZmluZSB2YXJpYWJs
ZSBWQVJJQUJMRSBpcyBkZWZpbmVkLCBleHBhbmQgSUYtVFJVRSwgZWxzZSBleHBhbmQKLSMgSUYt
RkFMU0UuICBBbHNvLCByZWNvcmQgQmlzb24ncyB1c2FnZSBvZiBWQVJJQUJMRSBieSBkZWZpbmlu
ZwotIyBiNF9wZXJjZW50X2RlZmluZV9iaXNvbl92YXJpYWJsZXMoVkFSSUFCTEUpLgotIwotIyBG
b3IgZXhhbXBsZToKLSMKLSMgICBiNF9wZXJjZW50X2RlZmluZV9pZmRlZihbW2Zvb11dLCBbW2l0
J3MgZGVmaW5lZF1dLCBbW2l0J3MgdW5kZWZpbmVkXV0pCi1tNF9kZWZpbmUoW2I0X3BlcmNlbnRf
ZGVmaW5lX2lmZGVmXSwKLVtfYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoWyQxXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBbYjRfcGVyY2VudF9kZWZpbmVfdXNlKFskMV0pJDJdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIFskM10pXSkKLQotCi0jIGI0X3BlcmNlbnRfZGVmaW5lX2NoZWNr
X2ZpbGVfY29tcGxhaW4oVkFSSUFCTEUpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIFdhcm4gYWJvdXQgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJM
RSBoYXZpbmcgYW4gaW5jb3JyZWN0Ci0jIHZhbHVlLgotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2Rl
ZmluZV9jaGVja19maWxlX2NvbXBsYWluXSwKLVtiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50X2Rl
ZmluZV9nZXRfbG9jKFskMV0pLAotICAgICAgICAgICAgICAgIFtbJSVkZWZpbmUgdmFyaWFibGUg
JyVzJyByZXF1aXJlcyAnbm9uZScgb3IgJyIuLi4iJyB2YWx1ZXNdXSwKLSAgICAgICAgICAgICAg
ICBbJDFdKV0pCi0KLQotIyBiNF9wZXJjZW50X2RlZmluZV9jaGVja19maWxlKE1BQ1JPLCBWQVJJ
QUJMRSwgREVGQVVMVCkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIElmIHRoZSAlZGVmaW5lIHZhcmlhYmxlIFZBUklBQkxFOgotIyAt
IGlzIHVuZGVmaW5lZCwgdGhlbiBpZiBERUZBVUxUIGlzIG5vbi1lbXB0eSwgZGVmaW5lIE1BQ1JP
IHRvIERFRkFVTFQKLSMgLSBpcyBhIHN0cmluZywgZGVmaW5lIE1BQ1JPIHRvIGl0cyB2YWx1ZQot
IyAtIGlzIHRoZSBrZXl3b3JkICdub25lJywgZG8gbm90aGluZwotIyAtIG90aGVyd2lzZSwgd2Fy
biBhYm91dCB0aGUgaW5jb3JyZWN0IHZhbHVlLgotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2RlZmlu
ZV9jaGVja19maWxlXSwKLVtiNF9wZXJjZW50X2RlZmluZV9pZmRlZihbJDJdLAotICBbbTRfY2Fz
ZShiNF9wZXJjZW50X2RlZmluZV9nZXRfa2luZChbJDJdKSwKLSAgICBbc3RyaW5nXSwKLSAgICAg
ICAgIFttNF9kZWZpbmUoWyQxXSwgYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFskMl0pKV0sCi0gICAg
W2tleXdvcmRdLAotICAgICAgICAgW200X2lmKGI0X3BlcmNlbnRfZGVmaW5lX2dldChbJDJdKSwg
W25vbmVdLCBbXSwKLSAgICAgICAgICAgICAgICBbYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfZmls
ZV9jb21wbGFpbihbJDJdKV0pXSwKLSAgICBbYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfZmlsZV9j
b21wbGFpbihbJDJdKV0pCi0gICBdLAotICAgW200X2lmdmFsKFskM10sCi0gICAgICAgICAgICAg
W200X2RlZmluZShbJDFdLCBbJDNdKV0pXSkKLV0pCi0KLQotCi0jIyAtLS0tLS0tLS0gIyMKLSMj
IE9wdGlvbnMuICAjIwotIyMgLS0tLS0tLS0tICMjCi0KLQotIyBiNF9wZXJjZW50X2RlZmluZV9m
bGFnX2lmKFZBUklBQkxFLCBJRi1UUlVFLCBbSUYtRkFMU0VdKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBNaW1pYyBtdXNjbGVf
cGVyY2VudF9kZWZpbmVfZmxhZ19pZiBpbiAuLi9zcmMvbXVzY2xlLXRhYi5oIGV4YWN0bHkuICBU
aGF0IGlzLAotIyBpZiB0aGUgJWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyBkZWZpbmVkIHRv
ICIiIG9yICJ0cnVlIiwgZXhwYW5kIElGLVRSVUUuCi0jIElmIGl0IGlzIGRlZmluZWQgdG8gImZh
bHNlIiwgZXhwYW5kIElGLUZBTFNFLiAgQ29tcGxhaW4gaWYgaXQgaXMgdW5kZWZpbmVkCi0jIChh
IEJpc29uIG9yIHNrZWxldG9uIGVycm9yIHNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlIHNob3VsZCBo
YXZlIGJlZW4gc2V0Ci0jIGFscmVhZHkpIG9yIGRlZmluZWQgdG8gYW55IG90aGVyIHZhbHVlIChw
b3NzaWJseSBhIHVzZXIgZXJyb3IpLiAgQWxzbywgcmVjb3JkCi0jIEJpc29uJ3MgdXNhZ2Ugb2Yg
VkFSSUFCTEUgYnkgZGVmaW5pbmcKLSMgYjRfcGVyY2VudF9kZWZpbmVfYmlzb25fdmFyaWFibGVz
KFZBUklBQkxFKS4KLSMKLSMgRm9yIGV4YW1wbGU6Ci0jCi0jICAgYjRfcGVyY2VudF9kZWZpbmVf
ZmxhZ19pZihbW2Zvb11dLCBbW2l0J3MgdHJ1ZV1dLCBbW2l0J3MgZmFsc2VdXSkKLW00X2RlZmlu
ZShbYjRfcGVyY2VudF9kZWZpbmVfZmxhZ19pZl0sCi1bYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYo
WyQxXSwKLSAgW200X2Nhc2UoYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFskMV0pLAotICAgICAgICAg
ICBbXSwgWyQyXSwgW3RydWVdLCBbJDJdLCBbZmFsc2VdLCBbJDNdLAotICAgICAgICAgICBbbTRf
ZXhwYW5kX29uY2UoW2I0X2NvbXBsYWluX2F0KGI0X3BlcmNlbnRfZGVmaW5lX2dldF9sb2MoWyQx
XSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1tpbnZhbGlk
IHZhbHVlIGZvciAlJWRlZmluZSBCb29sZWFuIHZhcmlhYmxlICclcyddXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJDFdKV0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBbW2I0X3BlcmNlbnRfZGVmaW5lX2ZsYWdfaWYoJDEpXV0pXSldLAotICBbYjRf
ZmF0YWwoW1skMDogdW5kZWZpbmVkICUlZGVmaW5lIHZhcmlhYmxlICclcyddXSwgWyQxXSldKV0p
Ci0KLQotIyBiNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFZBUklBQkxFLCBERUZBVUxULCBbS0lO
RCA9IGtleXdvcmRdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBNaW1pYyBtdXNjbGVfcGVyY2VudF9kZWZpbmVfZGVm
YXVsdCBpbiAuLi9zcmMvbXVzY2xlLXRhYi5oIGV4YWN0bHkuICBUaGF0IGlzLAotIyBpZiB0aGUg
JWRlZmluZSB2YXJpYWJsZSBWQVJJQUJMRSBpcyB1bmRlZmluZWQsIHNldCBpdHMgdmFsdWUgdG8g
REVGQVVMVC4KLSMgRG9uJ3QgcmVjb3JkIHRoaXMgYXMgYSBCaXNvbiB1c2FnZSBvZiBWQVJJQUJM
RSBhcyB0aGVyZSdzIG5vIHJlYXNvbiB0bwotIyBzdXNwZWN0IHRoYXQgdGhlIHZhbHVlIGhhcyB5
ZXQgaW5mbHVlbmNlZCB0aGUgb3V0cHV0LgotIwotIyBGb3IgZXhhbXBsZToKLSMKLSMgICBiNF9w
ZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbZm9vXV0sIFtbZGVmYXVsdCB2YWx1ZV1dKQotbTRfZGVm
aW5lKFtiNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0XSwKLVtfYjRfcGVyY2VudF9kZWZpbmVfaWZk
ZWYoWyQxXSwgW10sCi0gICAgICAgICAgIFttNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lKF0k
MVspXSwgWyQyXSlkbmwKLSAgICAgICAgICAgIG00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVf
a2luZChdJDFbKV0sCi0gICAgICAgICAgICAgICAgICAgICAgW200X2RlZmF1bHQoWyQzXSwgW2tl
eXdvcmRdKV0pZG5sCi0gICAgICAgICAgICBtNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2xv
YyhdJDFbKV0sCi0gICAgICAgICAgICAgICAgICAgICAgW1tbWzxza2VsZXRvbiBkZWZhdWx0IHZh
bHVlPjotMS4tMV1dLAotICAgICAgICAgICAgICAgICAgICAgICAgW1s8c2tlbGV0b24gZGVmYXVs
dCB2YWx1ZT46LTEuLTFdXV1dKWRubAotICAgICAgICAgICAgbTRfZGVmaW5lKFtiNF9wZXJjZW50
X2RlZmluZV9zeW5jbGluZShdJDFbKV0sIFtbXV0pXSldKQotCi0KLSMgYjRfcGVyY2VudF9kZWZp
bmVfaWZfZGVmaW5lKE5BTUUsIFtWQVJJQUJMRSA9IE5BTUVdKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlZmluZSBiNF9OQU1FX2lm
IHRoYXQgZXhlY3V0ZXMgaXRzICQxIG9yICQyIGRlcGVuZGluZyB3aGV0aGVyCi0jIFZBUklBQkxF
IHdhcyAlZGVmaW5lZC4gIFRoZSBjaGFyYWN0ZXJzICcuJyBhbmQgYC0nIGluIFZBUklBQkxFIGFy
ZSBtYXBwZWQKLSMgdG8gJ18nLgotbTRfZGVmaW5lKFtfYjRfcGVyY2VudF9kZWZpbmVfaWZfZGVm
aW5lXSwKLVttNF9kZWZpbmUobTRfYnBhdHN1YnN0KFtiNF8kMV9pZl0sIFtbLS5dXSwgW19dKSwK
LSAgICAgICAgICAgW2I0X3BlcmNlbnRfZGVmaW5lX2ZsYWdfaWYobTRfZGVmYXVsdChbJDJdLCBb
JDFdKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyQzXSwgWyQ0XSld
KV0pCi1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2lmX2RlZmluZV0sCi1bYjRfcGVyY2Vu
dF9kZWZpbmVfZGVmYXVsdChbbTRfZGVmYXVsdChbJDJdLCBbJDFdKV0sIFtbZmFsc2VdXSkKLV9i
NF9wZXJjZW50X2RlZmluZV9pZl9kZWZpbmUoWyQxXSwgWyQyXSwgJFsxXSwgJFsyXSldKQotCi0K
LSMgYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfa2luZChWQVJJQUJMRSwgS0lORCwgW0RJQUdOT1NU
SUMgPSBjb21wbGFpbl0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotbTRfZGVmaW5lKFtiNF9wZXJjZW50X2Rl
ZmluZV9jaGVja19raW5kXSwKLVtfYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoWyQxXSwKLSAgW200
X2lmKGI0X3BlcmNlbnRfZGVmaW5lX2dldF9raW5kKFskMV0pLCBbJDJdLCBbXSwKLSAgICBbYjRf
ZXJyb3IoW200X2RlZmF1bHQoWyQzXSwgW2NvbXBsYWluXSldLAotICAgICAgICAgICAgICBiNF9w
ZXJjZW50X2RlZmluZV9nZXRfbG9jKFskMV0pLAotICAgICAgICAgICAgICBbbTRfY2FzZShbJDJd
LAotICAgICAgICAgICAgICAgICBbY29kZV0sICAgIFtbJSVkZWZpbmUgdmFyaWFibGUgJyVzJyBy
ZXF1aXJlcyAney4uLn0nIHZhbHVlc11dLAotICAgICAgICAgICAgICAgICBba2V5d29yZF0sIFtb
JSVkZWZpbmUgdmFyaWFibGUgJyVzJyByZXF1aXJlcyBrZXl3b3JkIHZhbHVlc11dLAotICAgICAg
ICAgICAgICAgICBbc3RyaW5nXSwgIFtbJSVkZWZpbmUgdmFyaWFibGUgJyVzJyByZXF1aXJlcyAn
Ii4uLiInIHZhbHVlc11dKV0sCi0gICAgICAgICAgICAgIFskMV0pXSldKWRubAotXSkKLQotCi0j
IGI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlcyhWQUxVRVMpCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE1pbWljIG11c2NsZV9wZXJjZW50X2RlZmluZV9j
aGVja192YWx1ZXMgaW4gLi4vc3JjL211c2NsZS10YWIuaCBleGFjdGx5Ci0jIGV4Y2VwdCB0aGF0
IHRoZSBWQUxVRVMgc3RydWN0dXJlIGlzIG1vcmUgYXBwcm9wcmlhdGUgZm9yIE00LiAgVGhhdCBp
cywgVkFMVUVTCi0jIGlzIGEgbGlzdCBvZiBzdWJsaXN0cyBvZiBzdHJpbmdzLiAgRm9yIGVhY2gg
c3VibGlzdCwgdGhlIGZpcnN0IHN0cmluZyBpcyB0aGUKLSMgbmFtZSBvZiBhICVkZWZpbmUgdmFy
aWFibGUsIGFuZCBhbGwgcmVtYWluaW5nIHN0cmluZ3MgaW4gdGhhdCBzdWJsaXN0IGFyZSB0aGUK
LSMgdmFsaWQgdmFsdWVzIGZvciB0aGF0IHZhcmlhYmxlLiAgQ29tcGxhaW4gaWYgc3VjaCBhIHZh
cmlhYmxlIGlzIHVuZGVmaW5lZCAoYQotIyBCaXNvbiBlcnJvciBzaW5jZSB0aGUgZGVmYXVsdCB2
YWx1ZSBzaG91bGQgaGF2ZSBiZWVuIHNldCBhbHJlYWR5KSBvciBkZWZpbmVkCi0jIHRvIGFueSBv
dGhlciB2YWx1ZSAocG9zc2libHkgYSB1c2VyIGVycm9yKS4gIERvbid0IHJlY29yZCB0aGlzIGFz
IGEgQmlzb24KLSMgdXNhZ2Ugb2YgdGhlIHZhcmlhYmxlIGFzIHRoZXJlJ3Mgbm8gcmVhc29uIHRv
IHN1c3BlY3QgdGhhdCB0aGUgdmFsdWUgaGFzIHlldAotIyBpbmZsdWVuY2VkIHRoZSBvdXRwdXQu
Ci0jCi0jIEZvciBleGFtcGxlOgotIwotIyAgIGI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVl
cyhbW1tbZm9vXV0sIFtbZm9vLXZhbHVlMV1dLCBbW2Zvby12YWx1ZTJdXV1dLAotIyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbW1tbYmFyXV0sIFtbYmFyLXZhbHVlMV1dXV0pCi1t
NF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlc10sCi1bbTRfZm9yZWFjaChb
YjRfc3VibGlzdF0sIG00X3F1b3RlKCRAKSwKLSAgICAgICAgICAgIFtfYjRfcGVyY2VudF9kZWZp
bmVfY2hlY2tfdmFsdWVzKGI0X3N1Ymxpc3QpXSldKQotCi1tNF9kZWZpbmUoW19iNF9wZXJjZW50
X2RlZmluZV9jaGVja192YWx1ZXNdLAotW19iNF9wZXJjZW50X2RlZmluZV9pZmRlZihbJDFdLAot
ICBbYjRfcGVyY2VudF9kZWZpbmVfY2hlY2tfa2luZChdJDFbLCBba2V5d29yZF0sIFtkZXByZWNh
dGVkXSlkbmwKLSAgIG00X3B1c2hkZWYoW2I0X2dvb2RfdmFsdWVdLCBbMF0pZG5sCi0gICBtNF9p
ZigkIywgMSwgW10sCi0gICAgICAgICBbbTRfZm9yZWFjaChbYjRfdmFsdWVdLCBtNF9kcXVvdGUo
bTRfc2hpZnQoJEApKSwKLSAgICAgICAgICAgICAgICAgICAgIFttNF9pZihtNF9pbmRpcihbYjRf
cGVyY2VudF9kZWZpbmUoXSQxWyldKSwgYjRfdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgW200X2RlZmluZShbYjRfZ29vZF92YWx1ZV0sIFsxXSldKV0pXSlkbmwKLSAgIG00X2lm
KGI0X2dvb2RfdmFsdWUsIFswXSwKLSAgICAgICAgIFtiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50
X2RlZmluZV9nZXRfbG9jKFskMV0pLAotICAgICAgICAgICAgICAgICAgICAgICAgIFtbaW52YWxp
ZCB2YWx1ZSBmb3IgJSVkZWZpbmUgdmFyaWFibGUgJyVzJzogJyVzJ11dLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIFskMV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgbTRfZHF1b3RlKG00
X2luZGlyKFtiNF9wZXJjZW50X2RlZmluZShdJDFbKV0pKSkKLSAgICAgICAgICBtNF9mb3JlYWNo
KFtiNF92YWx1ZV0sIG00X2RxdW90ZShtNF9zaGlmdCgkQCkpLAotICAgICAgICAgICAgICAgICAg
ICAgW2I0X2Vycm9yKFtbbm90ZV1dLCBiNF9wZXJjZW50X2RlZmluZV9nZXRfbG9jKFskMV0pLCBb
XQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbYWNjZXB0ZWQgdmFsdWU6
ICclcyddXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtNF9kcXVvdGUo
YjRfdmFsdWUpKV0pXSlkbmwKLSAgIG00X3BvcGRlZihbYjRfZ29vZF92YWx1ZV0pXSwKLSAgW2I0
X2ZhdGFsKFtbJDA6IHVuZGVmaW5lZCAlJWRlZmluZSB2YXJpYWJsZSAnJXMnXV0sIFskMV0pXSld
KQotCi0jIGI0X3BlcmNlbnRfY29kZV9nZXQoW1FVQUxJRklFUl0pCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIGFueSAlY29kZSBibG9ja3MgZm9yIFFVQUxJRklFUiBh
cmUgZGVmaW5lZCwgZW1pdCB0aGVtIGJlZ2lubmluZyB3aXRoIGEKLSMgY29tbWVudCBhbmQgZW5k
aW5nIHdpdGggc3luY2xpbmVzIGFuZCBhIG5ld2xpbmUuICBJZiBRVUFMSUZJRVIgaXMgbm90Ci0j
IHNwZWNpZmllZCBvciBlbXB0eSwgZG8gdGhpcyBmb3IgdGhlIHVucXVhbGlmaWVkICVjb2RlIGJs
b2Nrcy4gIEFsc28sIHJlY29yZAotIyBCaXNvbidzIHVzYWdlIG9mIFFVQUxJRklFUiAoaWYgc3Bl
Y2lmaWVkKSBieSBkZWZpbmluZwotIyBiNF9wZXJjZW50X2NvZGVfYmlzb25fcXVhbGlmaWVycyhR
VUFMSUZJRVIpLgotIwotIyBGb3IgZXhhbXBsZSwgdG8gZW1pdCBhbnkgdW5xdWFsaWZpZWQgJWNv
ZGUgYmxvY2tzIGZvbGxvd2VkIGJ5IGFueSAlY29kZQotIyBibG9ja3MgZm9yIHRoZSBxdWFsaWZp
ZXIgZm9vOgotIwotIyAgIGI0X3BlcmNlbnRfY29kZV9nZXQKLSMgICBiNF9wZXJjZW50X2NvZGVf
Z2V0KFtbZm9vXV0pCi1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfY29kZV9nZXRdLAotW200X3B1c2hk
ZWYoW2I0X21hY3JvX25hbWVdLCBbW2I0X3BlcmNlbnRfY29kZShdJDFbKV1dKWRubAotbTRfaWZ2
YWwoWyQxXSwgW200X2RlZmluZShbYjRfcGVyY2VudF9jb2RlX2Jpc29uX3F1YWxpZmllcnMoXSQx
WyldKV0pZG5sCi1tNF9pZmRlZihiNF9tYWNyb19uYW1lLAotW2I0X2NvbW1lbnQoW200X2lmKFsk
I10sIFswXSwgW1tVbnF1YWxpZmllZCAlY29kZV1dLAotICAgICAgICAgICAgICAgICAgIFtbIiVj
b2RlIF0kMVsiXV0pWyBibG9ja3MuXV0pCi1iNF91c2VyX2NvZGUoW200X2luZGlyKGI0X21hY3Jv
X25hbWUpXSkKLV0pZG5sCi1tNF9wb3BkZWYoW2I0X21hY3JvX25hbWVdKV0pCi0KLSMgYjRfcGVy
Y2VudF9jb2RlX2lmZGVmKFFVQUxJRklFUiwgSUYtVFJVRSwgW0lGLUZBTFNFXSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgSWYgYW55
ICVjb2RlIGJsb2NrcyBmb3IgUVVBTElGSUVSIChvciB1bnF1YWxpZmllZCAlY29kZSBibG9ja3Mg
aWYKLSMgUVVBTElGSUVSIGlzIGVtcHR5KSBhcmUgZGVmaW5lZCwgZXhwYW5kIElGLVRSVUUsIGVs
c2UgZXhwYW5kIElGLUZBTFNFLgotIyBBbHNvLCByZWNvcmQgQmlzb24ncyB1c2FnZSBvZiBRVUFM
SUZJRVIgKGlmIHNwZWNpZmllZCkgYnkgZGVmaW5pbmcKLSMgYjRfcGVyY2VudF9jb2RlX2Jpc29u
X3F1YWxpZmllcnMoUVVBTElGSUVSKS4KLW00X2RlZmluZShbYjRfcGVyY2VudF9jb2RlX2lmZGVm
XSwKLVttNF9pZmRlZihbYjRfcGVyY2VudF9jb2RlKF0kMVspXSwKLSAgICAgICAgICBbbTRfaWZ2
YWwoWyQxXSwgW200X2RlZmluZShbYjRfcGVyY2VudF9jb2RlX2Jpc29uX3F1YWxpZmllcnMoXSQx
WyldKV0pJDJdLAotICAgICAgICAgIFskM10pXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0g
IyMKLSMjIENvbW1vbiB2YXJpYWJsZXMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0K
LQotIyBiNF9wYXJzZV9hc3NlcnRfaWYoW0lGLUFTU0VSVElPTlMtQVJFLVVTRURdLCBbSUYtTk9U
XSkKLSMgYjRfcGFyc2VfdHJhY2VfaWYoW0lGLURFQlVHLVRSQUNFUy1BUkUtRU5BQkxFRF0sIFtJ
Ri1OT1RdKQotIyBiNF90b2tlbl9jdG9yX2lmKFtJRi1ZWUxFWC1SRVRVUk5TLUEtVE9LRU5dLCBb
SUYtTk9UXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotYjRfcGVyY2VudF9kZWZpbmVfaWZfZGVmaW5lKFt0b2tlbl9jdG9yXSwg
W2FwaS50b2tlbi5jb25zdHJ1Y3Rvcl0pCi1iNF9wZXJjZW50X2RlZmluZV9pZl9kZWZpbmUoW2xv
Y2F0aW9uc10pICAgICAjIFdoZXRoZXIgbG9jYXRpb25zIGFyZSB0cmFja2VkLgotYjRfcGVyY2Vu
dF9kZWZpbmVfaWZfZGVmaW5lKFtwYXJzZS5hc3NlcnRdKQotYjRfcGVyY2VudF9kZWZpbmVfaWZf
ZGVmaW5lKFtwYXJzZS50cmFjZV0pCi0KLQotIyBiNF9iaXNvbl9sb2NhdGlvbnNfaWYoW0lGLVRS
VUVdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbmQgSUYtVFJV
RSBpZiB1c2luZyBsb2NhdGlvbnMsIGFuZCB1c2luZyB0aGUgZGVmYXVsdCBsb2NhdGlvbgotIyB0
eXBlLgotbTRfZGVmaW5lKFtiNF9iaXNvbl9sb2NhdGlvbnNfaWZdLAotW2I0X2xvY2F0aW9uc19p
ZihbYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoW1thcGkubG9jYXRpb24udHlwZV1dLCBbXSwgWyQx
XSldKV0pCi0KLQotIyBiNF9lcnJvcl92ZXJib3NlX2lmKFtJRi1FUlJPUlMtQVJFLVZFUkJPU0Vd
LCBbSUYtTk9UXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0jIE1hcCAlZGVmaW5lIHBhcnNlLmVycm9yICIoc2ltcGxlfHZlcmJvc2Up
IiB0byBiNF9lcnJvcl92ZXJib3NlX2lmIGFuZAotIyBiNF9lcnJvcl92ZXJib3NlX2ZsYWcuCi1i
NF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbcGFyc2UuZXJyb3JdXSwgW1tzaW1wbGVdXSkKLWI0
X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlcyhbW1tbcGFyc2UuZXJyb3JdXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFtbc2ltcGxlXV0sIFtbdmVyYm9zZV1dXV0pCi1tNF9k
ZWZpbmUoW2I0X2Vycm9yX3ZlcmJvc2VfZmxhZ10sCi0gICAgICAgICAgW200X2Nhc2UoYjRfcGVy
Y2VudF9kZWZpbmVfZ2V0KFtbcGFyc2UuZXJyb3JdXSksCi0gICAgICAgICAgICAgICAgICAgW3Np
bXBsZV0sICBbWzBdXSwKLSAgICAgICAgICAgICAgICAgICBbdmVyYm9zZV0sIFtbMV1dKV0pCi1i
NF9kZWZpbmVfZmxhZ19pZihbZXJyb3JfdmVyYm9zZV0pCi0KLSMgeXl0b2tlbl90YWJsZSBpcyBu
ZWVkZWQgdG8gc3VwcG9ydCB2ZXJib3NlIGVycm9ycy4KLWI0X2Vycm9yX3ZlcmJvc2VfaWYoW200
X2RlZmluZShbYjRfdG9rZW5fdGFibGVfZmxhZ10sIFsxXSldKQotCi0KLSMgYjRfdmFyaWFudF9p
ZihbSUYtVkFSSUFOVC1BUkUtVVNFRF0sIFtJRi1OT1RdKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1iNF9wZXJjZW50X2RlZmluZV9pZl9kZWZpbmUo
W3ZhcmlhbnRdKQotbTRfZGVmaW5lKFtiNF92YXJpYW50X2ZsYWddLCBbWzBdXSkKLWI0X3BlcmNl
bnRfZGVmaW5lX2lmZGVmKFtbYXBpLnZhbHVlLnR5cGVdXSwKLSAgIFttNF9jYXNlKGI0X3BlcmNl
bnRfZGVmaW5lX2dldF9raW5kKFtbYXBpLnZhbHVlLnR5cGVdXSksIFtrZXl3b3JkXSwKLSAgICAg
ICAgICAgIFttNF9jYXNlKGI0X3BlcmNlbnRfZGVmaW5lX2dldChbW2FwaS52YWx1ZS50eXBlXV0p
LCBbdmFyaWFudF0sCi0gICAgICAgICAgICAgICAgICAgIFttNF9kZWZpbmUoW2I0X3ZhcmlhbnRf
ZmxhZ10sIFtbMV1dKV0pXSldKQotYjRfZGVmaW5lX2ZsYWdfaWYoW3ZhcmlhbnRdKQotCi0KLSMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICMjCi0jIyBBZnRlciBwcm9jZXNzaW5nIHRoZSBza2VsZXRvbnMsIGNoZWNrIHRoYXQgYWxs
IHRoZSB1c2VyJ3MgICAjIwotIyMgJWRlZmluZSB2YXJpYWJsZXMgYW5kICVjb2RlIHF1YWxpZmll
cnMgd2VyZSB1c2VkIGJ5IEJpc29uLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLW00X2RlZmluZShbYjRfY2hl
Y2tfdXNlcl9uYW1lc193cmFwXSwKLVttNF9pZmRlZihbYjRfcGVyY2VudF9dJDFbX3VzZXJfXSQy
W3NdLAotICAgICAgICAgIFtiNF9jaGVja191c2VyX25hbWVzKFtbJV0kMSAkMl0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW2I0X3BlcmNlbnRfXSQxW191c2VyX10kMltzXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW2I0X3BlcmNlbnRfXSQxW19iaXNvbl9dJDJb
c11dKV0pXSkKLQotbTRfd3JhcF9saWZvKFsKLWI0X2NoZWNrX3VzZXJfbmFtZXNfd3JhcChbW2Rl
ZmluZV1dLCBbW3ZhcmlhYmxlXV0pCi1iNF9jaGVja191c2VyX25hbWVzX3dyYXAoW1tjb2RlXV0s
IFtbcXVhbGlmaWVyXV0pCi1dKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIERlZmF1
bHQgdmFsdWVzLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBtNF9kZWZpbmVfZGVm
YXVsdChbYjRfbGV4X3BhcmFtXSwgW10pICAgZG5sIGJyZWFrcyBvdGhlciBza2VsZXRvbnMKLW00
X2RlZmluZV9kZWZhdWx0KFtiNF9lcGlsb2d1ZV0sIFtdKQotbTRfZGVmaW5lX2RlZmF1bHQoW2I0
X3BhcnNlX3BhcmFtXSwgW10pCi0KLSMgVGhlIGluaXRpYWwgY29sdW1uIGFuZCBsaW5lLgotbTRf
ZGVmaW5lX2RlZmF1bHQoW2I0X2xvY2F0aW9uX2luaXRpYWxfY29sdW1uXSwgWzFdKQotbTRfZGVm
aW5lX2RlZmF1bHQoW2I0X2xvY2F0aW9uX2luaXRpYWxfbGluZV0sICAgWzFdKQotCi0KLSMjIC0t
LS0tLS0tLS0tLS0tLSAjIwotIyMgU2FuaXR5IGNoZWNrcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0t
LS0gIyMKLQotIyBhcGkubG9jYXRpb24ucHJlZml4PXsuLi59IChKYXZhIGFuZCBDKyspLgotYjRf
cGVyY2VudF9kZWZpbmVfY2hlY2tfa2luZChbYXBpLmxvY2F0aW9uLnR5cGVdLCBbY29kZV0sIFtk
ZXByZWNhdGVkXSkKLQotIyBhcGkucG9zaXRpb24ucHJlZml4PXsuLi59IChKYXZhKS4KLWI0X3Bl
cmNlbnRfZGVmaW5lX2NoZWNrX2tpbmQoW2FwaS5wb3NpdGlvbi50eXBlXSwgW2NvZGVdLCBbZGVw
cmVjYXRlZF0pCi0KLSMgYXBpLnByZWZpeCA+PCAlbmFtZS1wcmVmaXguCi1iNF9wZXJjZW50X2Rl
ZmluZV9jaGVja19raW5kKFthcGkucHJlZml4XSwgW2NvZGVdLCBbZGVwcmVjYXRlZF0pCi1iNF9w
ZXJjZW50X2RlZmluZV9pZmRlZihbYXBpLnByZWZpeF0sCi1bbTRfaWZkZWYoW2I0X3ByZWZpeF0s
Ci1bYjRfY29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhbYXBpLnByZWZpeF0p
LAotICAgICAgICAgICAgICAgIFtbJyVzJyBhbmQgJyVzJyBjYW5ub3QgYmUgdXNlZCB0b2dldGhl
cl1dLAotICAgICAgICAgICAgICAgIFslbmFtZS1wcmVmaXhdLAotICAgICAgICAgICAgICAgIFsl
ZGVmaW5lIGFwaS5wcmVmaXhdKV0pXSkKLQotIyBhcGkudG9rZW4ucHJlZml4PXsuLi59Ci0jIE1h
a2UgaXQgYSB3YXJuaW5nIGZvciB0aG9zZSB3aG8gdXNlZCBiZXRhcyBvZiBCaXNvbiAzLjAuCi1i
NF9wZXJjZW50X2RlZmluZV9jaGVja19raW5kKFthcGkudG9rZW4ucHJlZml4XSwgW2NvZGVdLCBb
ZGVwcmVjYXRlZF0pCi0KLSMgYXBpLnZhbHVlLnR5cGUgPjwgJXVuaW9uLgotYjRfcGVyY2VudF9k
ZWZpbmVfaWZkZWYoW2FwaS52YWx1ZS50eXBlXSwKLVttNF9pZmRlZihbYjRfdW5pb25fbWVtYmVy
c10sCi1bYjRfY29tcGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhbYXBpLnZhbHVl
LnR5cGVdKSwKLSAgICAgICAgICAgICAgICBbWyclcycgYW5kICclcycgY2Fubm90IGJlIHVzZWQg
dG9nZXRoZXJdXSwKLSAgICAgICAgICAgICAgICBbJXVuaW9uXSwKLSAgICAgICAgICAgICAgICBb
JWRlZmluZSBhcGkudmFsdWUudHlwZV0pXSldKQotCi0jIGFwaS52YWx1ZS50eXBlPXVuaW9uID48
ICV5YWNjLgotYjRfcGVyY2VudF9kZWZpbmVfaWZkZWYoW2FwaS52YWx1ZS50eXBlXSwKLVttNF9p
ZihiNF9wZXJjZW50X2RlZmluZV9nZXQoW2FwaS52YWx1ZS50eXBlXSksIFt1bmlvbl0sCi1bYjRf
eWFjY19pZihkbmwKLVtiNF9jb21wbGFpbl9hdChiNF9wZXJjZW50X2RlZmluZV9nZXRfbG9jKFth
cGkudmFsdWUudHlwZV0pLAotICAgICAgICAgICAgICAgIFtbJyVzJyBhbmQgJyVzJyBjYW5ub3Qg
YmUgdXNlZCB0b2dldGhlcl1dLAotICAgICAgICAgICAgICAgIFsleWFjY10sCi0gICAgICAgICAg
ICAgICAgWyVkZWZpbmUgYXBpLnZhbHVlLnR5cGUgInVuaW9uIl0pXSldKV0pCi0KLSMgYXBpLnZh
bHVlLnVuaW9uLm5hbWUuCi1iNF9wZXJjZW50X2RlZmluZV9jaGVja19raW5kKFthcGkudmFsdWUu
dW5pb24ubmFtZV0sIFtrZXl3b3JkXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL2MtbGlrZS5tNCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0
b25zL2MtbGlrZS5tNApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQ4OTFiNjdlZjk3
YjA5YTEyMWYwNDg3ZjAwYzdhMjVjMzU3ODMxNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJp
c29uL3RoaXJkX3BhcnR5L3NrZWxldG9ucy9jLWxpa2UubTQKKysrIC9kZXYvbnVsbApAQCAtMSw2
NiArMCwwIEBACi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCi0KLSMgQ29tbW9uIGNvZGUgZm9yIEMtbGlr
ZSBsYW5ndWFnZXMgKEMsIEMrKywgSmF2YSwgZXRjLikKLQotIyBDb3B5cmlnaHQgKEMpIDIwMTIt
MjAxNSwgMjAxOC0yMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotCi0jIFRoaXMg
cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
bW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0jIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFs
b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s
aWNlbnNlcy8+LgotCi0jIF9iNF9jb21tZW50KFRFWFQsIE9QRU4sIENPTlRJTlVFLCBFTkQpCi0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFB1dCBURVhUIGluIGNv
bW1lbnQuICBBdm9pZCB0cmFpbGluZyBzcGFjZXM6IGRvbid0IGluZGVudCBlbXB0eSBsaW5lcy4K
LSMgQXZvaWQgYWRkaW5nIGluZGVudGF0aW9uIHRvIHRoZSBmaXJzdCBsaW5lLCBhcyB0aGUgaW5k
ZW50YXRpb24gY29tZXMKLSMgZnJvbSBPUEVOLiAgVGhhdCdzIHdoeSB3ZSBkb24ndCBwYXRzdWJz
dChbJDFdLCBbXlwoLlwpXSwgWyAgIFwxXSkuCi0jCi0jIFByZWZpeCBhbGwgdGhlIG91dHB1dCBs
aW5lcyB3aXRoIFBSRUZJWC4KLW00X2RlZmluZShbX2I0X2NvbW1lbnRdLAotWyQyW11tNF9icGF0
c3Vic3QobTRfZXhwYW5kKFtbJDFdXSksIFsKLVwoLlwpXSwgWwotJDNcMV0pJDRdKQotCi0KLSMg
YjRfY29tbWVudChURVhULCBbUFJFRklYXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSMgUHV0IFRFWFQgaW4gY29tbWVudC4gIFByZWZpeCBhbGwgdGhlIG91dHB1dCBsaW5lcyB3aXRo
IFBSRUZJWC4KLW00X2RlZmluZShbYjRfY29tbWVudF0sCi1bX2I0X2NvbW1lbnQoWyQxXSwgWyQy
LyogXSwgWyQyICAgXSwgWyAgKi9dKV0pCi0KLQotCi0KLSMgX2I0X2RvbGxhcl9kb2xsYXIoVkFM
VUUsIFNZTUJPTC1OVU0sIEZJRUxELCBERUZBVUxULUZJRUxEKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIElmIEZJRUxEIChv
ciBERUZBVUxULUZJRUxEKSBpcyBub24tbnVsbCwgcmV0dXJuICJWQUxVRS5GSUVMRCIsCi0jIG90
aGVyd2lzZSBqdXN0IFZBTFVFLiAgQmUgc3VyZSB0byBwYXNzICIoVkFMVUUpIiBpZiBWQUxVRSBp
cyBhCi0jIHBvaW50ZXIuCi1tNF9kZWZpbmUoW19iNF9kb2xsYXJfZG9sbGFyXSwKLVtiNF9zeW1i
b2xfdmFsdWUoWyQxXSwKLSAgICAgICAgICAgICAgICAgWyQyXSwKLSAgICAgICAgICAgICAgICAg
bTRfaWYoWyQzXSwgW1tdXSwKLSAgICAgICAgICAgICAgICAgICAgICAgW1skNF1dLCBbWyQzXV0p
KV0pCi0KLSMgYjRfZG9sbGFyX3B1c2hkZWYoVkFMVUUtUE9JTlRFUiwgU1lNQk9MLU5VTSwgW1RZ
UEVfVEFHXSwgTE9DQVRJT04pCi0jIGI0X2RvbGxhcl9wb3BkZWYKLSMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERl
ZmluZSBiNF9kb2xsYXJfZG9sbGFyIGZvciBWQUxVRS1QT0lOVEVSIGFuZCBERUZBVUxULUZJRUxE
LAotIyBhbmQgYjRfYXRfZG9sbGFyIGZvciBMT0NBVElPTi4KLW00X2RlZmluZShbYjRfZG9sbGFy
X3B1c2hkZWZdLAotW200X3B1c2hkZWYoW2I0X2RvbGxhcl9kb2xsYXJdLAotICAgICAgICAgICAg
W19iNF9kb2xsYXJfZG9sbGFyKFskMV0sIFskMl0sIG00X2RxdW90ZSgkXVsxKSwgWyQzXSldKWRu
bAotbTRfcHVzaGRlZihbYjRfYXRfZG9sbGFyXSwgWyQ0XSlkbmwKLV0pCi1tNF9kZWZpbmUoW2I0
X2RvbGxhcl9wb3BkZWZdLAotW200X3BvcGRlZihbYjRfYXRfZG9sbGFyXSlkbmwKLW00X3BvcGRl
ZihbYjRfZG9sbGFyX2RvbGxhcl0pZG5sCi1dKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90aGlyZF9wYXJ0eS9za2VsZXRvbnMvYy5tNCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0
b25zL2MubTQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjZGUwNGE5NTcxYjEwYWY4
OTAzN2M1OTdkOGNiOTQ5NTRmZjhiNjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi90
aGlyZF9wYXJ0eS9za2VsZXRvbnMvYy5tNAorKysgL2Rldi9udWxsCkBAIC0xLDg4MyArMCwwIEBA
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtKi0gQXV0b2NvbmYgLSotCi0KLSMgQyBNNCBNYWNyb3MgZm9yIEJpc29uLgotCi0jIENv
cHlyaWdodCAoQykgMjAwMiwgMjAwNC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLAotIyBJbmMuCi0KLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSMgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IKLSMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBwcm9n
cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0j
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUKLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs
IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0KLW00X2luY2x1ZGUoYjRfc2tl
bGV0b25zZGlyL1tjLWxpa2UubTRdKQotCi0jIGI0X3RvY3BwKFNUUklORykKLSMgLS0tLS0tLS0t
LS0tLS0tLQotIyBDb252ZXJ0IFNUUklORyBpbnRvIGEgdmFsaWQgQyBtYWNybyBuYW1lLgotbTRf
ZGVmaW5lKFtiNF90b2NwcF0sCi1bbTRfdG91cHBlcihtNF9icGF0c3Vic3QobTRfcXVvdGUoJDEp
LCBbW15hLXpBLVowLTldK10sIFtfXSkpXSkKLQotCi0jIGI0X2NwcF9ndWFyZChGSUxFKQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0KLSMgQSB2YWxpZCBDIG1hY3JvIG5hbWUgdG8gdXNlIGFzIGEgQ1BQ
IGhlYWRlciBndWFyZCBmb3IgRklMRS4KLW00X2RlZmluZShbYjRfY3BwX2d1YXJkXSwKLVtbWVlf
XWI0X3RvY3BwKG00X2RlZm4oW2I0X3ByZWZpeF0pL1skMV0pW19JTkNMVURFRF1dKQotCi0KLSMg
YjRfY3BwX2d1YXJkX29wZW4oRklMRSkKLSMgYjRfY3BwX2d1YXJkX2Nsb3NlKEZJTEUpCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBJZiBGSUxFIGRvZXMgbm90IGV4cGFuZCB0byBub3Ro
aW5nLCBvcGVuL2Nsb3NlIENQUCBpbmNsdXNpb24gZ3VhcmRzIGZvciBGSUxFLgotbTRfZGVmaW5l
KFtiNF9jcHBfZ3VhcmRfb3Blbl0sCi1bbTRfaWZ2YWwobTRfcXVvdGUoJDEpLAotWyNpZm5kZWYg
YjRfY3BwX2d1YXJkKFskMV0pCi0jIGRlZmluZSBiNF9jcHBfZ3VhcmQoWyQxXSldKV0pCi0KLW00
X2RlZmluZShbYjRfY3BwX2d1YXJkX2Nsb3NlXSwKLVttNF9pZnZhbChtNF9xdW90ZSgkMSksCi1b
I2VuZGlmIGI0X2NvbW1lbnQoWyFiNF9jcHBfZ3VhcmQoWyQxXSldKV0pXSkKLQotCi0jIyAtLS0t
LS0tLS0tLS0tLS0tICMjCi0jIyBJZGVudGlmaWNhdGlvbi4gICMjCi0jIyAtLS0tLS0tLS0tLS0t
LS0tICMjCi0KLSMgYjRfaWRlbnRpZmljYXRpb24KLSMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVw
ZW5kcyBvbiBpbmRpdmlkdWFsIHNrZWxldG9ucyB0byBkZWZpbmUgYjRfcHVyZV9mbGFnLCBiNF9w
dXNoX2ZsYWcsIG9yCi0jIGI0X3B1bGxfZmxhZyBpZiB0aGV5IHVzZSB0aGUgdmFsdWVzIG9mIHRo
ZSAlZGVmaW5lIHZhcmlhYmxlcyBhcGkucHVyZSBvcgotIyBhcGkucHVzaC1wdWxsLgotbTRfZGVm
aW5lKFtiNF9pZGVudGlmaWNhdGlvbl0sCi1bWy8qIElkZW50aWZ5IEJpc29uIG91dHB1dC4gICov
Ci0jZGVmaW5lIFlZQklTT04gMQotCi0vKiBCaXNvbiB2ZXJzaW9uLiAgKi8KLSNkZWZpbmUgWVlC
SVNPTl9WRVJTSU9OICJdYjRfdmVyc2lvblsiCi0KLS8qIFNrZWxldG9uIG5hbWUuICAqLwotI2Rl
ZmluZSBZWVNLRUxFVE9OX05BTUUgXWI0X3NrZWxldG9uW11tNF9pZmRlZihbYjRfcHVyZV9mbGFn
XSwgW1sKLQotLyogUHVyZSBwYXJzZXJzLiAgKi8KLSNkZWZpbmUgWVlQVVJFIF1iNF9wdXJlX2Zs
YWddKVtdbTRfaWZkZWYoW2I0X3B1c2hfZmxhZ10sIFtbCi0KLS8qIFB1c2ggcGFyc2Vycy4gICov
Ci0jZGVmaW5lIFlZUFVTSCBdYjRfcHVzaF9mbGFnXSlbXW00X2lmZGVmKFtiNF9wdWxsX2ZsYWdd
LCBbWwotCi0vKiBQdWxsIHBhcnNlcnMuICAqLwotI2RlZmluZSBZWVBVTEwgXWI0X3B1bGxfZmxh
Z10pWwotXV0pCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgRGVmYXVsdCB2YWx1ZXMu
ICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0jIGI0X2FwaV9wcmVmaXgsIGI0X2FwaV9Q
UkVGSVgKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBDb3JyZXNwb25kcyB0byAl
ZGVmaW5lIGFwaS5wcmVmaXgKLWI0X3BlcmNlbnRfZGVmaW5lX2RlZmF1bHQoW1thcGkucHJlZml4
XV0sIFtbeXldXSkKLW00X2RlZmluZShbYjRfYXBpX3ByZWZpeF0sCi1bYjRfcGVyY2VudF9kZWZp
bmVfZ2V0KFtbYXBpLnByZWZpeF1dKV0pCi1tNF9kZWZpbmUoW2I0X2FwaV9QUkVGSVhdLAotW200
X3RvdXBwZXIoYjRfYXBpX3ByZWZpeCldKQotCi0KLSMgYjRfcHJlZml4Ci0jIC0tLS0tLS0tLQot
IyBJZiB0aGUgJW5hbWUtcHJlZml4IGlzIG5vdCBnaXZlbiwgaXQgaXMgYXBpLnByZWZpeC4KLW00
X2RlZmluZV9kZWZhdWx0KFtiNF9wcmVmaXhdLCBbYjRfYXBpX3ByZWZpeF0pCi0KLSMgSWYgdGhl
ICV1bmlvbiBpcyBub3QgbmFtZWQsIGl0cyBuYW1lIGlzIFlZU1RZUEUuCi1iNF9wZXJjZW50X2Rl
ZmluZV9kZWZhdWx0KFtbYXBpLnZhbHVlLnVuaW9uLm5hbWVdXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgW2I0X2FwaV9QUkVGSVhbXVtTVFlQRV1dKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSAjIwotIyMgUHVyZS9pbXB1cmUgaW50ZXJmYWNlcy4gICMjCi0jIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBiNF9sZXhfZm9ybWFscwotIyAtLS0tLS0tLS0tLS0t
LQotIyBBbGwgdGhlIHl5bGV4IGZvcm1hbCBhcmd1bWVudHMuCi0jIGI0X2xleF9wYXJhbSBhcnJp
dmVzIHF1b3RlZCB0d2ljZSwgYnV0IHdlIHdhbnQgdG8ga2VlcCBvbmx5IG9uZSBsZXZlbC4KLW00
X2RlZmluZShbYjRfbGV4X2Zvcm1hbHNdLAotW2I0X3B1cmVfaWYoW1tbW1lZU1RZUEUgKnl5bHZh
bHBdXSwgW1smeXlsdmFsXV1dW11kbmwKLWI0X2xvY2F0aW9uc19pZihbLCBbW1lZTFRZUEUgKnl5
bGxvY3BdLCBbJnl5bGxvY11dXSldKWRubAotbTRfaWZkZWYoW2I0X2xleF9wYXJhbV0sIFssIF1i
NF9sZXhfcGFyYW0pXSkKLQotCi0jIGI0X2xleAotIyAtLS0tLS0KLSMgQ2FsbCB5eWxleC4KLW00
X2RlZmluZShbYjRfbGV4XSwKLVtiNF9mdW5jdGlvbl9jYWxsKFt5eWxleF0sIFtpbnRdLCBiNF9s
ZXhfZm9ybWFscyldKQotCi0KLSMgYjRfdXNlcl9hcmdzCi0jIC0tLS0tLS0tLS0tLQotbTRfZGVm
aW5lKFtiNF91c2VyX2FyZ3NdLAotW200X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssIGI0X2Fy
Z3MoYjRfcGFyc2VfcGFyYW0pXSldKQotCi0KLSMgYjRfcGFyc2VfcGFyYW0KLSMgLS0tLS0tLS0t
LS0tLS0KLSMgSWYgZGVmaW5lZCwgYjRfcGFyc2VfcGFyYW0gYXJyaXZlcyBkb3VibGUgcXVvdGVk
LCBidXQgYmVsb3cgd2UgcHJlZmVyCi0jIGl0IHRvIGJlIHNpbmdsZSBxdW90ZWQuCi1tNF9kZWZp
bmUoW2I0X3BhcnNlX3BhcmFtXSwKLWI0X3BhcnNlX3BhcmFtKQotCi0KLSMgYjRfcGFyc2VfcGFy
YW1fZm9yKERFQ0wsIEZPUk1BTCwgQk9EWSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0jIEl0ZXJhdGUgb3ZlciB0aGUgdXNlciBwYXJhbWV0ZXJzLCBiaW5kaW5n
IHRoZSBkZWNsYXJhdGlvbiB0byBERUNMLAotIyB0aGUgZm9ybWFsIG5hbWUgdG8gRk9STUFMLCBh
bmQgZXZhbHVhdGluZyB0aGUgQk9EWS4KLW00X2RlZmluZShbYjRfcGFyc2VfcGFyYW1fZm9yXSwK
LVttNF9mb3JlYWNoKFskMV8kMl0sIG00X2RlZm4oW2I0X3BhcnNlX3BhcmFtXSksCi1bbTRfcHVz
aGRlZihbJDFdLCBtNF91bnF1b3RlKG00X2NhcigkMV8kMikpKWRubAotbTRfcHVzaGRlZihbJDJd
LCBtNF9zaGlmdCgkMV8kMikpZG5sCi0kM1tdZG5sCi1tNF9wb3BkZWYoWyQyXSlkbmwKLW00X3Bv
cGRlZihbJDFdKWRubAotXSldKQotCi0jIGI0X3BhcnNlX3BhcmFtX3VzZShbVkFMXSwgW0xPQ10p
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jICdZWVVTRScgVkFMLCBMT0Mg
aWYgbG9jYXRpb25zIGFyZSBlbmFibGVkLCBhbmQgYWxsIHRoZSBwYXJzZS1wYXJhbXMuCi1tNF9k
ZWZpbmUoW2I0X3BhcnNlX3BhcmFtX3VzZV0sCi1bbTRfaWZ2YWxuKFskMV0sIFsgIFlZVVNFIChb
JDFdKTtdKWRubAotYjRfbG9jYXRpb25zX2lmKFttNF9pZnZhbG4oWyQyXSwgWyAgWVlVU0UgKFsk
Ml0pO10pXSlkbmwKLWI0X3BhcnNlX3BhcmFtX2ZvcihbRGVjbF0sIFtGb3JtYWxdLCBbICBZWVVT
RSAoRm9ybWFsKTsKLV0pZG5sCi1dKQotCi0KLSMjIC0tLS0tLS0tLS0tLSAjIwotIyMgRGF0YSBU
eXBlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0gIyMKLQotIyBiNF9pbnRfdHlwZShNSU4sIE1BWCkK
LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFJldHVybiB0aGUgc21hbGxlc3QgaW50IHR5cGUg
YWJsZSB0byBoYW5kbGUgbnVtYmVycyByYW5naW5nIGZyb20KLSMgTUlOIHRvIE1BWCAoaW5jbHVk
ZWQpLgotbTRfZGVmaW5lKFtiNF9pbnRfdHlwZV0sCi1bbTRfaWYoYjRfaW50c19pbigkQCwgICAg
ICBbMF0sICAgWzI1NV0pLCBbMV0sIFt1bnNpZ25lZCBjaGFyXSwKLSAgICAgICBiNF9pbnRzX2lu
KCRALCAgIFstMTI4XSwgICBbMTI3XSksIFsxXSwgW3NpZ25lZCBjaGFyXSwKLQotICAgICAgIGI0
X2ludHNfaW4oJEAsICAgICAgWzBdLCBbNjU1MzVdKSwgWzFdLCBbdW5zaWduZWQgc2hvcnRdLAot
ICAgICAgIGI0X2ludHNfaW4oJEAsIFstMzI3NjhdLCBbMzI3NjddKSwgWzFdLCBbc2hvcnRdLAot
Ci0gICAgICAgbTRfZXZhbChbMCA8PSAkMV0pLCAgICAgICAgICAgICAgICBbMV0sIFt1bnNpZ25l
ZF0sCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lu
dF0pXSkKLQotCi0jIGI0X2ludF90eXBlX2ZvcihOQU1FKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLSMgUmV0dXJuIHRoZSBzbWFsbGVzdCBpbnQgdHlwZSBhYmxlIHRvIGhhbmRsZSBudW1iZXJz
IHJhbmdpbmcgZnJvbQotIyAnTkFNRV9taW4nIHRvICdOQU1FX21heCcgKGluY2x1ZGVkKS4KLW00
X2RlZmluZShbYjRfaW50X3R5cGVfZm9yXSwKLVtiNF9pbnRfdHlwZSgkMV9taW4sICQxX21heCld
KQotCi0KLSMgYjRfdGFibGVfdmFsdWVfZXF1YWxzKFRBQkxFLCBWQUxVRSwgTElURVJBTCkKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgV2l0aG91dCBp
bmR1Y2luZyBhIGNvbXBhcmlzb24gd2FybmluZyBmcm9tIHRoZSBjb21waWxlciwgY2hlY2sgaWYg
dGhlCi0jIGxpdGVyYWwgdmFsdWUgTElURVJBTCBlcXVhbHMgVkFMVUUgZnJvbSB0YWJsZSBUQUJM
RSwgd2hpY2ggbXVzdCBoYXZlCi0jIFRBQkxFX21pbiBhbmQgVEFCTEVfbWF4IGRlZmluZWQuCi1t
NF9kZWZpbmUoW2I0X3RhYmxlX3ZhbHVlX2VxdWFsc10sCi1bbTRfaWYobTRfZXZhbCgkMyA8IG00
X2luZGlyKFtiNF9dJDFbX21pbl0pCi0gICAgICAgICAgICAgICB8fCBtNF9pbmRpcihbYjRfXSQx
W19tYXhdKSA8ICQzKSwgWzFdLAotICAgICAgIFtbMF1dLAotICAgICAgIFsoISEoKCQyKSA9PSAo
JDMpKSldKV0pCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKLSMjIENvbXBpbGVyIGlzc3Vl
cy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwotCi0jIGI0X2F0dHJpYnV0ZV9kZWZpbmUo
W25vcmV0dXJuXSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBQcm92aWRl
IHBvcnRhYmxlIGNvbXBpbGVyICJhdHRyaWJ1dGVzIi4gIElmICJub3JldHVybiIgaXMgcGFzc2Vk
LCBkZWZpbmUKLSMgX05vcmV0dXJuLgotbTRfZGVmaW5lKFtiNF9hdHRyaWJ1dGVfZGVmaW5lXSwK
LVtbI2lmbmRlZiBZWV9BVFRSSUJVVEUKLSMgaWYgKGRlZmluZWQgX19HTlVDX18gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICYmICgyIDwgX19H
TlVDX18gfHwgKF9fR05VQ19fID09IDIgJiYgOTYgPD0gX19HTlVDX01JTk9SX18pKSkgIFwKLSAg
ICAgfHwgZGVmaW5lZCBfX1NVTlBST19DICYmIDB4NTExMCA8PSBfX1NVTlBST19DCi0jICBkZWZp
bmUgWVlfQVRUUklCVVRFKFNwZWMpIF9fYXR0cmlidXRlX18oU3BlYykKLSMgZWxzZQotIyAgZGVm
aW5lIFlZX0FUVFJJQlVURShTcGVjKSAvKiBlbXB0eSAqLwotIyBlbmRpZgotI2VuZGlmCi0KLSNp
Zm5kZWYgWVlfQVRUUklCVVRFX1BVUkUKLSMgZGVmaW5lIFlZX0FUVFJJQlVURV9QVVJFICAgWVlf
QVRUUklCVVRFICgoX19wdXJlX18pKQotI2VuZGlmCi0KLSNpZm5kZWYgWVlfQVRUUklCVVRFX1VO
VVNFRAotIyBkZWZpbmUgWVlfQVRUUklCVVRFX1VOVVNFRCBZWV9BVFRSSUJVVEUgKChfX3VudXNl
ZF9fKSkKLSNlbmRpZgotCi1dbTRfYm1hdGNoKFskMV0sIFtcYm5vcmV0dXJuXGJdLCBbWy8qIFRo
ZSBfTm9yZXR1cm4ga2V5d29yZCBvZiBDMTEuICAqLwotI2lmICEgZGVmaW5lZCBfTm9yZXR1cm4K
LSMgaWYgZGVmaW5lZCBfX2NwbHVzcGx1cyAmJiAyMDExMDNMIDw9IF9fY3BsdXNwbHVzCi0jICBk
ZWZpbmUgX05vcmV0dXJuIFtbbm9yZXR1cm5dXQotIyBlbGlmICEoZGVmaW5lZCBfX1NURENfVkVS
U0lPTl9fICYmIDIwMTExMiA8PSBfX1NURENfVkVSU0lPTl9fKQotIyAgaWYgKDMgPD0gX19HTlVD
X18gfHwgKF9fR05VQ19fID09IDIgJiYgOCA8PSBfX0dOVUNfTUlOT1JfXykgXAotICAgICAgIHx8
IDB4NTExMCA8PSBfX1NVTlBST19DKQotIyAgIGRlZmluZSBfTm9yZXR1cm4gX19hdHRyaWJ1dGVf
XyAoKF9fbm9yZXR1cm5fXykpCi0jICBlbGlmIGRlZmluZWQgX01TQ19WRVIgJiYgMTIwMCA8PSBf
TVNDX1ZFUgotIyAgIGRlZmluZSBfTm9yZXR1cm4gX19kZWNsc3BlYyAobm9yZXR1cm4pCi0jICBl
bHNlCi0jICAgZGVmaW5lIF9Ob3JldHVybgotIyAgZW5kaWYKLSMgZW5kaWYKLSNlbmRpZgotCi1d
XSlbLyogU3VwcHJlc3MgdW51c2VkLXZhcmlhYmxlIHdhcm5pbmdzIGJ5ICJ1c2luZyIgRS4gICov
Ci0jaWYgISBkZWZpbmVkIGxpbnQgfHwgZGVmaW5lZCBfX0dOVUNfXwotIyBkZWZpbmUgWVlVU0Uo
RSkgKCh2b2lkKSAoRSkpCi0jZWxzZQotIyBkZWZpbmUgWVlVU0UoRSkgLyogZW1wdHkgKi8KLSNl
bmRpZgotCi0jaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiAhIGRlZmluZWQgX19JQ0MgJiYgNDA3IDw9
IF9fR05VQ19fICogMTAwICsgX19HTlVDX01JTk9SX18KLS8qIFN1cHByZXNzIGFuIGluY29ycmVj
dCBkaWFnbm9zdGljIGFib3V0IHl5bHZhbCBiZWluZyB1bmluaXRpYWxpemVkLiAgKi8KLSMgZGVm
aW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOIFwKLSAgICBfUHJhZ21hICgi
R0NDIGRpYWdub3N0aWMgcHVzaCIpIFwKLSAgICBfUHJhZ21hICgiR0NDIGRpYWdub3N0aWMgaWdu
b3JlZCBcIi1XdW5pbml0aWFsaXplZFwiIilcCi0gICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGlj
IGlnbm9yZWQgXCItV21heWJlLXVuaW5pdGlhbGl6ZWRcIiIpCi0jIGRlZmluZSBZWV9JR05PUkVf
TUFZQkVfVU5JTklUSUFMSVpFRF9FTkQgXAotICAgIF9QcmFnbWEgKCJHQ0MgZGlhZ25vc3RpYyBw
b3AiKQotI2Vsc2UKLSMgZGVmaW5lIFlZX0lOSVRJQUxfVkFMVUUoVmFsdWUpIFZhbHVlCi0jZW5k
aWYKLSNpZm5kZWYgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfQkVHSU4KLSMgZGVmaW5l
IFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOCi0jIGRlZmluZSBZWV9JR05PUkVf
TUFZQkVfVU5JTklUSUFMSVpFRF9FTkQKLSNlbmRpZgotI2lmbmRlZiBZWV9JTklUSUFMX1ZBTFVF
Ci0jIGRlZmluZSBZWV9JTklUSUFMX1ZBTFVFKFZhbHVlKSAvKiBOb3RoaW5nLiAqLwotI2VuZGlm
Ci1dXSkKLQotCi0jIGI0X251bGxfZGVmaW5lCi0jIC0tLS0tLS0tLS0tLS0tCi0jIFBvcnRhYmls
aXR5IGlzc3VlczogZGVmaW5lIGEgWVlfTlVMTFBUUiBhcHByb3ByaWF0ZSBmb3IgdGhlIGN1cnJl
bnQKLSMgbGFuZ3VhZ2UgKEMsIEMrKzk4LCBvciBDKysxMSkuCi0jCi0jIEluIEMrKyBwcmUgQysr
MTEgaXQgaXMgc3RhbmRhcmQgcHJhY3RpY2UgdG8gdXNlIDAgKG5vdCBOVUxMKSBmb3IgdGhlCi0j
IG51bGwgcG9pbnRlci4gIEluIEMsIHByZWZlciAoKHZvaWQqKTApIHRvIGF2b2lkIGhhdmluZyB0
byBpbmNsdWRlIHN0ZGxpYi5oLgotbTRfZGVmaW5lKFtiNF9udWxsX2RlZmluZV0sCi1bIyBpZm5k
ZWYgWVlfTlVMTFBUUgotIyAgaWYgZGVmaW5lZCBfX2NwbHVzcGx1cwotIyAgIGlmIDIwMTEwM0wg
PD0gX19jcGx1c3BsdXMKLSMgICAgZGVmaW5lIFlZX05VTExQVFIgbnVsbHB0cgotIyAgIGVsc2UK
LSMgICAgZGVmaW5lIFlZX05VTExQVFIgMAotIyAgIGVuZGlmCi0jICBlbHNlCi0jICAgZGVmaW5l
IFlZX05VTExQVFIgKCh2b2lkKikwKQotIyAgZW5kaWYKLSMgZW5kaWZbXWRubAotXSkKLQotCi0j
IGI0X251bGwKLSMgLS0tLS0tLQotIyBSZXR1cm4gYSBudWxsIHBvaW50ZXIgY29uc3RhbnQuCi1t
NF9kZWZpbmUoW2I0X251bGxdLCBbWVlfTlVMTFBUUl0pCi0KLQotCi0jIyAtLS0tLS0tLS0jIwot
IyMgVmFsdWVzLiAgIyMKLSMjIC0tLS0tLS0tLSMjCi0KLSMgYjRfaW50ZWdyYWxfcGFyc2VyX3Rh
YmxlX2RlZmluZShUQUJMRS1OQU1FLCBDT05URU5ULCBDT01NRU5UKQotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIERlZmlu
ZSAieXk8VEFCTEUtTkFNRT4iIHdob3NlIGNvbnRlbnRzIGlzIENPTlRFTlQuCi1tNF9kZWZpbmUo
W2I0X2ludGVncmFsX3BhcnNlcl90YWJsZV9kZWZpbmVdLAotW200X2lmdmFsbihbJDNdLCBbYjRf
Y29tbWVudChbJDNdLCBbICBdKV0pZG5sCi1zdGF0aWMgY29uc3QgYjRfaW50X3R5cGVfZm9yKFsk
Ml0pIHl5JDFbW11dID0KLXsKLSAgJDIKLX07ZG5sCi1dKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMKLSMjIEFzc2lnbmluZyB0b2tlbiBudW1iZXJzLiAgIyMKLSMjIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKLQotIyBiNF90b2tlbl9kZWZpbmUoVE9LRU4tTlVNKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBPdXRwdXQgdGhlIGRlZmluaXRpb24gb2Yg
dGhpcyB0b2tlbiBhcyAjZGVmaW5lLgotbTRfZGVmaW5lKFtiNF90b2tlbl9kZWZpbmVdLAotW2I0
X3Rva2VuX2Zvcm1hdChbI2RlZmluZSAlcyAlc10sIFskMV0pXSkKLQotIyBiNF90b2tlbl9kZWZp
bmVzCi0jIC0tLS0tLS0tLS0tLS0tLS0KLSMgT3V0cHV0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSB0
b2tlbnMuCi1tNF9kZWZpbmUoW2I0X3Rva2VuX2RlZmluZXNdLAotW2I0X2FueV90b2tlbl92aXNp
YmxlX2lmKFsvKiBUb2tlbnMuICAqLwotbTRfam9pbihbCi1dLCBiNF9zeW1ib2xfbWFwKFtiNF90
b2tlbl9kZWZpbmVdKSkKLV0pXSkKLQotCi0jIGI0X3Rva2VuX2VudW0oVE9LRU4tTlVNKQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgT3V0cHV0IHRoZSBkZWZpbml0aW9uIG9mIHRoaXMg
dG9rZW4gYXMgYW4gZW51bS4KLW00X2RlZmluZShbYjRfdG9rZW5fZW51bV0sCi1bYjRfdG9rZW5f
Zm9ybWF0KFslcyA9ICVzXSwgWyQxXSldKQotCi0KLSMgYjRfdG9rZW5fZW51bXMKLSMgLS0tLS0t
LS0tLS0tLS0KLSMgT3V0cHV0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSB0b2tlbnMgKGlmIHRoZXJl
IGFyZSkgYXMgZW51bXMuCi1tNF9kZWZpbmUoW2I0X3Rva2VuX2VudW1zXSwKLVtiNF9hbnlfdG9r
ZW5fdmlzaWJsZV9pZihbWy8qIFRva2VuIHR5cGUuICAqLwotI2lmbmRlZiBdYjRfYXBpX1BSRUZJ
WFtUT0tFTlRZUEUKLSMgZGVmaW5lIF1iNF9hcGlfUFJFRklYW1RPS0VOVFlQRQotICBlbnVtIF1i
NF9hcGlfcHJlZml4W3Rva2VudHlwZQotICB7Ci0gICAgXW00X2pvaW4oWywKLSAgICBdLAotICAg
ICAgICAgICAgIGI0X3N5bWJvbF9tYXAoW2I0X3Rva2VuX2VudW1dKSlbCi0gIH07Ci0jZW5kaWYK
LV1dKV0pCi0KLQotIyBiNF90b2tlbl9lbnVtc19kZWZpbmVzCi0jIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSMgT3V0cHV0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSB0b2tlbnMgKGlmIHRoZXJlIGFy
ZSBhbnkpIGFzIGVudW1zIGFuZCwKLSMgaWYgUE9TSVggWWFjYyBpcyBlbmFibGVkLCBhcyAjZGVm
aW5lcy4KLW00X2RlZmluZShbYjRfdG9rZW5fZW51bXNfZGVmaW5lc10sCi1bYjRfdG9rZW5fZW51
bXNbXWI0X3lhY2NfaWYoW2I0X3Rva2VuX2RlZmluZXNdKV0pCi0KLQotIyMgLS0tLS0tLS0tLS0t
LS0tLS0gIyMKLSMjIFNlbWFudGljIFZhbHVlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLSAj
IwotCi0KLSMgYjRfc3ltYm9sX3ZhbHVlKFZBTCwgW1NZTUJPTC1OVU1dLCBbVFlQRS1UQUddKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFNlZSBS
RUFETUUuCi1tNF9kZWZpbmUoW2I0X3N5bWJvbF92YWx1ZV0sCi1bbTRfaWZ2YWwoWyQzXSwKLSAg
ICAgICAgICBbKCQxLiQzKV0sCi0gICAgICAgICAgW200X2lmdmFsKFskMl0sCi0gICAgICAgICAg
ICAgICAgICAgIFtiNF9zeW1ib2xfaWYoWyQyXSwgW2hhc190eXBlXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbKCQxLmI0X3N5bWJvbChbJDJdLCBbdHlwZV0pKV0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyQxXSldLAotICAgICAgICAgICAgICAgICAg
ICBbJDFdKV0pXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0jIyBEZWZpbmlu
ZyBDIGZ1bmN0aW9ucy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCi0KLQotIyBi
NF9mdW5jdGlvbl9kZWZpbmUoTkFNRSwgUkVUVVJOLVZBTFVFLCBbREVDTDEsIE5BTUUxXSwgLi4u
KQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotIyBEZWNsYXJlIHRoZSBmdW5jdGlvbiBOQU1FIGluIEMuCi1tNF9kZWZpbmUoW2I0
X2Z1bmN0aW9uX2RlZmluZV0sCi1bJDIKLSQxIChiNF9mb3JtYWxzKG00X3NoaWZ0MigkQCkpKVtd
ZG5sCi1dKQotCi0KLSMgYjRfZm9ybWFscyhbREVDTDEsIE5BTUUxXSwgLi4uKQotIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFRoZSBmb3JtYWwgYXJndW1lbnRzIG9mIGEgQyBm
dW5jdGlvbiBkZWZpbml0aW9uLgotbTRfZGVmaW5lKFtiNF9mb3JtYWxzXSwKLVttNF9pZihbJCNd
LCBbMF0sIFt2b2lkXSwKLSAgICAgICBbJCMkMV0sIFsxXSwgW3ZvaWRdLAotICAgICAgICAgICAg
ICAgW200X21hcF9zZXAoW2I0X2Zvcm1hbF0sIFssIF0sIFskQF0pXSldKQotCi1tNF9kZWZpbmUo
W2I0X2Zvcm1hbF0sCi1bJDFdKQotCi0KLQotIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMK
LSMjIERlY2xhcmluZyBDIGZ1bmN0aW9ucy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSAjIwotCi0KLSMgYjRfZnVuY3Rpb25fZGVjbGFyZShOQU1FLCBSRVRVUk4tVkFMVUUsIFtERUNM
MSwgTkFNRTFdLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBEZWNsYXJlIHRoZSBmdW5jdGlvbiBOQU1FLgotbTRf
ZGVmaW5lKFtiNF9mdW5jdGlvbl9kZWNsYXJlXSwKLVskMiAkMSAoYjRfZm9ybWFscyhtNF9zaGlm
dDIoJEApKSk7W11kbmwKLV0pCi0KLQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwot
IyMgQ2FsbGluZyBDIGZ1bmN0aW9ucy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMK
LQotCi0jIGI0X2Z1bmN0aW9uX2NhbGwoTkFNRSwgUkVUVVJOLVZBTFVFLCBbREVDTDEsIE5BTUUx
XSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotIyBDYWxsIHRoZSBmdW5jdGlvbiBOQU1FIHdpdGggYXJndW1lbnRzIE5B
TUUxLCBOQU1FMiBldGMuCi1tNF9kZWZpbmUoW2I0X2Z1bmN0aW9uX2NhbGxdLAotWyQxIChiNF9h
cmdzKG00X3NoaWZ0MigkQCkpKVtdZG5sCi1dKQotCi0KLSMgYjRfYXJncyhbREVDTDEsIE5BTUUx
XSwgLi4uKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIE91dHB1dCB0aGUgYXJn
dW1lbnRzIE5BTUUxLCBOQU1FMi4uLgotbTRfZGVmaW5lKFtiNF9hcmdzXSwKLVttNF9tYXBfc2Vw
KFtiNF9hcmddLCBbLCBdLCBbJEBdKV0pCi0KLW00X2RlZmluZShbYjRfYXJnXSwKLVskMl0pCi0K
LQotIyMgLS0tLS0tLS0tLS0gIyMKLSMjIFN5bmNsaW5lcy4gICMjCi0jIyAtLS0tLS0tLS0tLSAj
IwotCi0jIGI0X3N5bmNfc3RhcnQoTElORSwgRklMRSkKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotbTRfZGVmaW5lKFtiNF9zeW5jX3N0YXJ0XSwgW1sjXWxpbmUgJDEgJDJdKQotCi0KLSMj
IC0tLS0tLS0tLS0tLS0tICMjCi0jIyBVc2VyIGFjdGlvbnMuICAjIwotIyMgLS0tLS0tLS0tLS0t
LS0gIyMKLQotIyBiNF9jYXNlKExBQkVMLCBTVEFURU1FTlRTKQotIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotbTRfZGVmaW5lKFtiNF9jYXNlXSwKLVsgIGNhc2UgJDE6Ci0kMgotYjRfc3lu
Y2xpbmUoW0BvbGluZUBdLCBbQG9maWxlQF0pCi0gICAgYnJlYWs7XSkKLQotCi0jIGI0X3ByZWRp
Y2F0ZV9jYXNlKExBQkVMLCBDT05ESVRJT05TKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfcHJlZGljYXRlX2Nhc2VdLAotWyAgY2FzZSAkMToK
LSAgICBpZiAoISAoCi0kMikpIFlZRVJST1I7Ci1iNF9zeW5jbGluZShbQG9saW5lQF0sIFtAb2Zp
bGVAXSkKLSAgICBicmVhaztdKQotCi0KLSMgYjRfeXlkZXN0cnVjdF9kZWZpbmUKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLSMgRGVmaW5lIHRoZSAieXlkZXN0cnVjdCIgZnVuY3Rpb24uCi1tNF9k
ZWZpbmVfZGVmYXVsdChbYjRfeXlkZXN0cnVjdF9kZWZpbmVdLAotW1svKi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgotfCBSZWxlYXNlIHRoZSBtZW1vcnkg
YXNzb2NpYXRlZCB0byB0aGlzIHN5bWJvbC4gIHwKLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0KLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5ZGVzdHJ1
Y3RdLAotICAgIFtzdGF0aWMgdm9pZF0sCi0gICAgW1tjb25zdCBjaGFyICp5eW1zZ10sICAgIFt5
eW1zZ11dLAotICAgIFtbaW50IHl5dHlwZV0sICAgICAgICAgICBbeXl0eXBlXV0sCi0gICAgW1tZ
WVNUWVBFICp5eXZhbHVlcF0sICAgIFt5eXZhbHVlcF1dW11kbmwKLWI0X2xvY2F0aW9uc19pZigg
ICAgICAgICAgICBbLCBbW1lZTFRZUEUgKnl5bG9jYXRpb25wXSwgW3l5bG9jYXRpb25wXV1dKVtd
ZG5sCi1tNF9pZnNldChbYjRfcGFyc2VfcGFyYW1dLCBbLCBiNF9wYXJzZV9wYXJhbV0pKVsKLXsK
LV1iNF9wYXJzZV9wYXJhbV91c2UoW3l5dmFsdWVwXSwgW3l5bG9jYXRpb25wXSlkbmwKLVsgIGlm
ICgheXltc2cpCi0gICAgeXltc2cgPSAiRGVsZXRpbmciOwotICBZWV9TWU1CT0xfUFJJTlQgKHl5
bXNnLCB5eXR5cGUsIHl5dmFsdWVwLCB5eWxvY2F0aW9ucCk7Ci0KLSAgWVlfSUdOT1JFX01BWUJF
X1VOSU5JVElBTElaRURfQkVHSU4KLSAgXWI0X3N5bWJvbF9hY3Rpb25zKFtkZXN0cnVjdG9yXSlb
Ci0gIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0VORAotfV1kbmwKLV0pCi0KLQotIyBi
NF95eV9zeW1ib2xfcHJpbnRfZGVmaW5lCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMg
RGVmaW5lIHRoZSAieXlfc3ltYm9sX3ByaW50IiBmdW5jdGlvbi4KLW00X2RlZmluZV9kZWZhdWx0
KFtiNF95eV9zeW1ib2xfcHJpbnRfZGVmaW5lXSwKLVtbCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLgotfCBQcmludCB0aGlzIHN5bWJvbCdzIHZhbHVlIG9uIFlZTy4gIHwK
LWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0KLV1iNF9mdW5jdGlvbl9k
ZWZpbmUoW3l5X3N5bWJvbF92YWx1ZV9wcmludF0sCi0gICAgW3N0YXRpYyB2b2lkXSwKLSAgICAg
ICAgICAgICAgIFtbRklMRSAqeXlvXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3l5b11d
LAotICAgICAgICAgICAgICAgW1tpbnQgeXl0eXBlXSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbeXl0eXBlXV0sCi0gICAgICAgICAgICAgICBbW1lZU1RZUEUgY29uc3QgKiBjb25zdCB5eXZh
bHVlcF0sICAgICAgIFt5eXZhbHVlcF1dW11kbmwKLWI0X2xvY2F0aW9uc19pZihbLCBbW1lZTFRZ
UEUgY29uc3QgKiBjb25zdCB5eWxvY2F0aW9ucF0sIFt5eWxvY2F0aW9ucF1dXSlbXWRubAotbTRf
aWZzZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywgYjRfcGFyc2VfcGFyYW1dKSlbCi17Ci0gIEZJTEUg
Knl5b3V0cHV0ID0geXlvOwotXWI0X3BhcnNlX3BhcmFtX3VzZShbeXlvdXRwdXRdLCBbeXlsb2Nh
dGlvbnBdKWRubAotWyAgaWYgKCF5eXZhbHVlcCkKLSAgICByZXR1cm47XQotZG5sIGdsci5jIGRv
ZXMgbm90IGZlYXR1cmUgeXl0b2tudW0uCi1tNF9pZihiNF9za2VsZXRvbiwgWyJ5YWNjLmMiXSwK
LVtbIyBpZmRlZiBZWVBSSU5UCi0gIGlmICh5eXR5cGUgPCBZWU5UT0tFTlMpCi0gICAgWVlQUklO
VCAoeXlvLCB5eXRva251bVt5eXR5cGVdLCAqeXl2YWx1ZXApOwotIyBlbmRpZgotXV0pZG5sCi0g
IGI0X3N5bWJvbF9hY3Rpb25zKFtwcmludGVyXSlbCi19Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0uCi18IFByaW50IHRoaXMgc3ltYm9sIG9uIFlZTy4gIHwKLWAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0qLwotCi1dYjRfZnVuY3Rpb25fZGVmaW5lKFt5eV9zeW1ib2xfcHJp
bnRdLAotICAgIFtzdGF0aWMgdm9pZF0sCi0gICAgICAgICAgICAgICBbW0ZJTEUgKnl5b10sICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFt5eW9dXSwKLSAgICAgICAgICAgICAgIFtbaW50IHl5
dHlwZV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgW3l5dHlwZV1dLAotICAgICAgICAgICAg
ICAgW1tZWVNUWVBFIGNvbnN0ICogY29uc3QgeXl2YWx1ZXBdLCAgICAgICBbeXl2YWx1ZXBdXVtd
ZG5sCi1iNF9sb2NhdGlvbnNfaWYoWywgW1tZWUxUWVBFIGNvbnN0ICogY29uc3QgeXlsb2NhdGlv
bnBdLCBbeXlsb2NhdGlvbnBdXV0pW11kbmwKLW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFss
IGI0X3BhcnNlX3BhcmFtXSkpWwotewotICBZWUZQUklOVEYgKHl5bywgIiVzICVzICgiLAotICAg
ICAgICAgICAgIHl5dHlwZSA8IFlZTlRPS0VOUyA/ICJ0b2tlbiIgOiAibnRlcm0iLCB5eXRuYW1l
W3l5dHlwZV0pOwotCi1dYjRfbG9jYXRpb25zX2lmKFsgIFlZX0xPQ0FUSU9OX1BSSU5UICh5eW8s
ICp5eWxvY2F0aW9ucCk7Ci0gIFlZRlBSSU5URiAoeXlvLCAiOiAiKTsKLV0pZG5sCi1bICB5eV9z
eW1ib2xfdmFsdWVfcHJpbnQgKHl5bywgeXl0eXBlLCB5eXZhbHVlcF1kbmwKLWI0X2xvY2F0aW9u
c19pZihbLCB5eWxvY2F0aW9ucF0pW11iNF91c2VyX2FyZ3NbKTsKLSAgWVlGUFJJTlRGICh5eW8s
ICIpIik7Ci19XWRubAotXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCi0jIyBhcGkudmFs
dWUudHlwZS4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCi0KLQotIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tICMKLSMgYXBpLnZhbHVlLnR5cGU9dW5pb24uICAjCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gIwotCi0jIGI0X3N5bWJvbF90eXBlX3JlZ2lzdGVyKFNZTUJPTC1OVU0pCi0jIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFN5bWJvbCBTWU1CT0wtTlVNIGhh
cyBhIHR5cGUgKGZvciB2YXJpYW50KSBpbnN0ZWFkIG9mIGEgdHlwZS10YWcuCi0jIEV4dGVuZCB0
aGUgZGVmaW5pdGlvbiBvZiAldW5pb24ncyBib2R5IChiNF91bmlvbl9tZW1iZXJzKSB3aXRoIGEK
LSMgZmllbGQgb2YgdGhhdCB0eXBlLCBhbmQgZXh0ZW5kIHRoZSBzeW1ib2wncyAidHlwZSIgZmll
bGQgdG8gcG9pbnQgdG8KLSMgdGhlIGZpZWxkIG5hbWUsIGluc3RlYWQgb2YgdGhlIHR5cGUgbmFt
ZS4KLW00X2RlZmluZShbYjRfc3ltYm9sX3R5cGVfcmVnaXN0ZXJdLAotW200X2RlZmluZShbYjRf
c3ltYm9sKCQxLCB0eXBlX3RhZyldLAotICAgICAgICAgICBbYjRfc3ltYm9sX2lmKFskMV0sIFto
YXNfaWRdLAotICAgICAgICAgICAgICAgICAgICAgICAgIFtiNF9zeW1ib2woWyQxXSwgW2lkXSld
LAotICAgICAgICAgICAgICAgICAgICAgICAgIFt5eXR5cGVfW11iNF9zeW1ib2woWyQxXSwgW251
bWJlcl0pXSldKWRubAotbTRfYXBwZW5kKFtiNF91bmlvbl9tZW1iZXJzXSwKLW00X2V4cGFuZChb
Ci0gIGI0X3N5bWJvbF90YWdfY29tbWVudChbJDFdKWRubAotICBiNF9zeW1ib2woWyQxXSwgW3R5
cGVdKSBiNF9zeW1ib2woWyQxXSwgW3R5cGVfdGFnXSk7XSkpCi1dKQotCi0KLSMgYjRfdHlwZV9k
ZWZpbmVfdGFnKFNZTUJPTDEtTlVNLCAuLi4pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotIyBGb3IgdGhlIGJhdGNoIG9mIHN5bWJvbHMgU1lNQk9MMS1OVU0uLi4gKHdo
aWNoIGFsbCBoYXZlIHRoZSBzYW1lCi0jIHR5cGUpLCBlbmhhbmNlIHRoZSAldW5pb24gZGVmaW5p
dGlvbiBmb3IgZWFjaCBvZiB0aGVtLCBhbmQgc2V0Ci0jIHRoZXJlICJ0eXBlIiBmaWVsZCB0byB0
aGUgZmllbGQgdGFnIG5hbWUsIGluc3RlYWQgb2YgdGhlIHR5cGUgbmFtZS4KLW00X2RlZmluZShb
YjRfdHlwZV9kZWZpbmVfdGFnXSwKLVtiNF9zeW1ib2xfaWYoWyQxXSwgW2hhc190eXBlXSwKLSAg
ICAgICAgICAgICAgW200X21hcChbYjRfc3ltYm9sX3R5cGVfcmVnaXN0ZXJdLCBbJEBdKV0pCi1d
KQotCi0KLSMgYjRfc3ltYm9sX3ZhbHVlX3VuaW9uKFZBTCwgU1lNQk9MLU5VTSwgW1RZUEVdKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFNhbWUg
b2YgYjRfc3ltYm9sX3ZhbHVlLCBidXQgd2hlbiBhcGkudmFsdWUudHlwZT11bmlvbi4KLW00X2Rl
ZmluZShbYjRfc3ltYm9sX3ZhbHVlX3VuaW9uXSwKLVttNF9pZnZhbChbJDNdLAotICAgICAgICAg
IFsoKigkMyopKCYkMSkpXSwKLSAgICAgICAgICBbbTRfaWZ2YWwoWyQyXSwKLSAgICAgICAgICAg
ICAgICAgICAgW2I0X3N5bWJvbF9pZihbJDJdLCBbaGFzX3R5cGVdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFsoJDEuYjRfc3ltYm9sKFskMl0sIFt0eXBlX3RhZ10pKV0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyQxXSldLAotICAgICAgICAgICAgICAg
ICAgICBbJDFdKV0pXSkKLQotCi0jIGI0X3ZhbHVlX3R5cGVfc2V0dXBfdW5pb24KLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTZXR1cCBzdXBwb3J0IGZvciBhcGkudmFsdWUudHlwZT11
bmlvbi4gIFN5bWJvbHMgYXJlIGRlZmluZWQgd2l0aCBhCi0jIHR5cGUgaW5zdGVhZCBvZiBhIHVu
aW9uIG1lbWJlciBuYW1lOiBidWlsZCB0aGUgY29ycmVzcG9uZGluZyB1bmlvbiwKLSMgYW5kIGdp
dmUgdGhlIHN5bWJvbHMgdGhlaXIgdGFnLgotbTRfZGVmaW5lKFtiNF92YWx1ZV90eXBlX3NldHVw
X3VuaW9uXSwKLVttNF9kZWZpbmUoW2I0X3VuaW9uX21lbWJlcnNdKQotYjRfdHlwZV9mb3JlYWNo
KFtiNF90eXBlX2RlZmluZV90YWddKQotbTRfY29weV9mb3JjZShbYjRfc3ltYm9sX3ZhbHVlX3Vu
aW9uXSwgW2I0X3N5bWJvbF92YWx1ZV0pCi1dKQotCi0KLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gIwotIyBhcGkudmFsdWUudHlwZSA9IHZhcmlhbnQuICAjCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMKLQotIyBiNF92YWx1ZV90eXBlX3NldHVwX3ZhcmlhbnQKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFNldHVwIHN1cHBvcnQgZm9yIGFwaS52YWx1ZS50eXBl
PXZhcmlhbnQuICBCeSBkZWZhdWx0LCBmYWlsLCBzcGVjaWFsaXplZAotIyBieSBvdGhlciBza2Vs
ZXRvbnMuCi1tNF9kZWZpbmUoW2I0X3ZhbHVlX3R5cGVfc2V0dXBfdmFyaWFudF0sCi1bYjRfY29t
cGxhaW5fYXQoYjRfcGVyY2VudF9kZWZpbmVfZ2V0X2xvYyhbW2FwaS52YWx1ZS50eXBlXV0pLAot
ICAgICAgICAgICAgICAgIFtbJyVzJyBkb2VzIG5vdCBzdXBwb3J0ICclcyddXSwKLSAgICAgICAg
ICAgICAgICBbYjRfc2tlbGV0b25dLAotICAgICAgICAgICAgICAgIFslZGVmaW5lIGFwaS52YWx1
ZS50eXBlIHZhcmlhbnRdKV0pCi0KLQotIyBfYjRfdmFsdWVfdHlwZV9zZXR1cF9rZXl3b3JkCi0j
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgYXBpLnZhbHVlLnR5cGUgaXMgZGVmaW5l
ZCB3aXRoIGEga2V5d29yZC9zdHJpbmcgc3ludGF4LiAgQ2hlY2sgaWYKLSMgdGhhdCBpcyBwcm9w
ZXJseSBkZWZpbmVkLCBhbmQgcHJlcGFyZSBpdHMgdXNlLgotbTRfZGVmaW5lKFtfYjRfdmFsdWVf
dHlwZV9zZXR1cF9rZXl3b3JkXSwKLVtiNF9wZXJjZW50X2RlZmluZV9jaGVja192YWx1ZXMoW1tb
W2FwaS52YWx1ZS50eXBlXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1tu
b25lXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1t1bmlvbl1dLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbdW5pb24tZGlyZWN0aXZlXV0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1t2YXJpYW50XV0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgW1t5eXN0eXBlXV1dXSlkbmwKLW00X2Nhc2UoYjRfcGVyY2Vu
dF9kZWZpbmVfZ2V0KFtbYXBpLnZhbHVlLnR5cGVdXSksCi0gICAgICAgIFt1bmlvbl0sICAgW2I0
X3ZhbHVlX3R5cGVfc2V0dXBfdW5pb25dLAotICAgICAgICBbdmFyaWFudF0sIFtiNF92YWx1ZV90
eXBlX3NldHVwX3ZhcmlhbnRdKV0pCi0KLQotIyBiNF92YWx1ZV90eXBlX3NldHVwCi0jIC0tLS0t
LS0tLS0tLS0tLS0tLS0KLSMgQ2hlY2sgaWYgYXBpLnZhbHVlLnR5cGUgaXMgcHJvcGVybHkgZGVm
aW5lZCwgYW5kIHBvc3NpYmx5IHByZXBhcmUKLSMgaXRzIHVzZS4KLWI0X2RlZmluZV9zaWxlbnQo
W2I0X3ZhbHVlX3R5cGVfc2V0dXBdLAotWyMgRGVmaW5lIGRlZmF1bHQgdmFsdWUuCi1iNF9wZXJj
ZW50X2RlZmluZV9pZmRlZihbW2FwaS52YWx1ZS50eXBlXV0sIFtdLAotWyMgJXVuaW9uID0+IGFw
aS52YWx1ZS50eXBlPXVuaW9uLWRpcmVjdGl2ZQotbTRfaWZkZWYoW2I0X3VuaW9uX21lbWJlcnNd
LAotW200X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfa2luZChhcGkudmFsdWUudHlwZSldLCBb
a2V5d29yZF0pCi1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lKGFwaS52YWx1ZS50eXBlKV0s
IFt1bmlvbi1kaXJlY3RpdmVdKV0sCi1bIyBubyB0YWcgc2VlbiA9PiBhcGkudmFsdWUudHlwZT17
aW50fQotbTRfaWYoYjRfdGFnX3NlZW5fZmxhZywgMCwKLVttNF9kZWZpbmUoW2I0X3BlcmNlbnRf
ZGVmaW5lX2tpbmQoYXBpLnZhbHVlLnR5cGUpXSwgW2NvZGVdKQotbTRfZGVmaW5lKFtiNF9wZXJj
ZW50X2RlZmluZShhcGkudmFsdWUudHlwZSldLCBbaW50XSldLAotWyMgb3RoZXJ3aXNlIGFwaS52
YWx1ZS50eXBlPXl5c3R5cGUKLW00X2RlZmluZShbYjRfcGVyY2VudF9kZWZpbmVfa2luZChhcGku
dmFsdWUudHlwZSldLCBba2V5d29yZF0pCi1tNF9kZWZpbmUoW2I0X3BlcmNlbnRfZGVmaW5lKGFw
aS52YWx1ZS50eXBlKV0sIFt5eXN0eXBlXSldKV0pXSkKLQotIyBTZXQgdXAuCi1tNF9ibWF0Y2go
YjRfcGVyY2VudF9kZWZpbmVfZ2V0X2tpbmQoW1thcGkudmFsdWUudHlwZV1dKSwKLSAgIFtrZXl3
b3JkXHxzdHJpbmddLCBbX2I0X3ZhbHVlX3R5cGVfc2V0dXBfa2V5d29yZF0pCi1dKQotCi0KLSMj
IC0tLS0tLS0tLS0tLS0tICMjCi0jIyBEZWNsYXJhdGlvbnMuICAjIwotIyMgLS0tLS0tLS0tLS0t
LS0gIyMKLQotCi0jIGI0X3ZhbHVlX3R5cGVfZGVmaW5lCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1tNF9kZWZpbmUoW2I0X3ZhbHVlX3R5cGVfZGVmaW5lXSwKLVtiNF92YWx1ZV90eXBlX3NldHVw
W11kbmwKLS8qIFZhbHVlIHR5cGUuICAqLwotbTRfYm1hdGNoKGI0X3BlcmNlbnRfZGVmaW5lX2dl
dF9raW5kKFtbYXBpLnZhbHVlLnR5cGVdXSksCi1bY29kZV0sCi1bWyNpZiAhIGRlZmluZWQgXWI0
X2FwaV9QUkVGSVhbU1RZUEUgJiYgISBkZWZpbmVkIF1iNF9hcGlfUFJFRklYW1NUWVBFX0lTX0RF
Q0xBUkVECi10eXBlZGVmIF1iNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkudmFsdWUudHlwZV1d
KVsgXWI0X2FwaV9QUkVGSVhbU1RZUEU7Ci0jIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtTVFlQRV9J
U19UUklWSUFMIDEKLSMgZGVmaW5lIF1iNF9hcGlfUFJFRklYW1NUWVBFX0lTX0RFQ0xBUkVEIDEK
LSNlbmRpZgotXV0sCi1bbTRfYm1hdGNoKGI0X3BlcmNlbnRfZGVmaW5lX2dldChbW2FwaS52YWx1
ZS50eXBlXV0pLAotW3VuaW9uXHx1bmlvbi1kaXJlY3RpdmVdLAotW1sjaWYgISBkZWZpbmVkIF1i
NF9hcGlfUFJFRklYW1NUWVBFICYmICEgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtTVFlQRV9JU19E
RUNMQVJFRAotXWI0X3BlcmNlbnRfZGVmaW5lX2dldF9zeW5jbGluZShbW2FwaS52YWx1ZS51bmlv
bi5uYW1lXV0pWwotdW5pb24gXWI0X3BlcmNlbnRfZGVmaW5lX2dldChbW2FwaS52YWx1ZS51bmlv
bi5uYW1lXV0pWwotewotXWI0X3VzZXJfdW5pb25fbWVtYmVyc1sKLX07Ci1dYjRfcGVyY2VudF9k
ZWZpbmVfZ2V0X3N5bmNsaW5lKFtbYXBpLnZhbHVlLnVuaW9uLm5hbWVdXSlbCi10eXBlZGVmIHVu
aW9uIF1iNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkudmFsdWUudW5pb24ubmFtZV1dKVsgXWI0
X2FwaV9QUkVGSVhbU1RZUEU7Ci0jIGRlZmluZSBdYjRfYXBpX1BSRUZJWFtTVFlQRV9JU19UUklW
SUFMIDEKLSMgZGVmaW5lIF1iNF9hcGlfUFJFRklYW1NUWVBFX0lTX0RFQ0xBUkVEIDEKLSNlbmRp
ZgotXV0pXSldKQotCi0KLSMgYjRfbG9jYXRpb25fdHlwZV9kZWZpbmUKLSMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfbG9jYXRpb25fdHlwZV9kZWZpbmVdLAotW1svKiBM
b2NhdGlvbiB0eXBlLiAgKi8KLSNpZiAhIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbTFRZUEUgJiYg
ISBkZWZpbmVkIF1iNF9hcGlfUFJFRklYW0xUWVBFX0lTX0RFQ0xBUkVECi10eXBlZGVmIHN0cnVj
dCBdYjRfYXBpX1BSRUZJWFtMVFlQRSBdYjRfYXBpX1BSRUZJWFtMVFlQRTsKLXN0cnVjdCBdYjRf
YXBpX1BSRUZJWFtMVFlQRQotewotICBpbnQgZmlyc3RfbGluZTsKLSAgaW50IGZpcnN0X2NvbHVt
bjsKLSAgaW50IGxhc3RfbGluZTsKLSAgaW50IGxhc3RfY29sdW1uOwotfTsKLSMgZGVmaW5lIF1i
NF9hcGlfUFJFRklYW0xUWVBFX0lTX0RFQ0xBUkVEIDEKLSMgZGVmaW5lIF1iNF9hcGlfUFJFRklY
W0xUWVBFX0lTX1RSSVZJQUwgMQotI2VuZGlmCi1dXSkKLQotCi0jIGI0X2RlY2xhcmVfeXlsc3R5
cGUKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBEZWNsYXJhdGlvbnMgdGhhdCBtaWdodCBlaXRo
ZXIgZ28gaW50byB0aGUgaGVhZGVyIChpZiAtLWRlZmluZXMpIG9yCi0jIGluIHRoZSBwYXJzZXIg
Ym9keS4gIERlY2xhcmUgWVlTVFlQRS9ZWUxUWVBFLCBhbmQgeXlsdmFsL3l5bGxvYy4KLW00X2Rl
ZmluZShbYjRfZGVjbGFyZV95eWxzdHlwZV0sCi1bYjRfdmFsdWVfdHlwZV9kZWZpbmVbXWI0X2xv
Y2F0aW9uc19pZihbCi1iNF9sb2NhdGlvbl90eXBlX2RlZmluZV0pCi0KLWI0X3B1cmVfaWYoW10s
IFtbZXh0ZXJuIF1iNF9hcGlfUFJFRklYW1NUWVBFIF1iNF9wcmVmaXhbbHZhbDsKLV1iNF9sb2Nh
dGlvbnNfaWYoW1tleHRlcm4gXWI0X2FwaV9QUkVGSVhbTFRZUEUgXWI0X3ByZWZpeFtsbG9jO11d
KV0pW11kbmwKLV0pCi0KLQotIyBiNF9ZWURFQlVHX2RlZmluZQotIyAtLS0tLS0tLS0tLS0tLS0t
LQotbTRfZGVmaW5lKFtiNF9ZWURFQlVHX2RlZmluZV0sCi1bWy8qIERlYnVnIHRyYWNlcy4gICov
Ci1dbTRfaWYoYjRfYXBpX3ByZWZpeCwgW3l5XSwKLVtbI2lmbmRlZiBZWURFQlVHCi0jIGRlZmlu
ZSBZWURFQlVHIF1iNF9wYXJzZV90cmFjZV9pZihbMV0sIFswXSlbCi0jZW5kaWZdXSwKLVtbI2lm
bmRlZiBdYjRfYXBpX1BSRUZJWFtERUJVRwotIyBpZiBkZWZpbmVkIFlZREVCVUcKLSNpZiBZWURF
QlVHCi0jICAgZGVmaW5lIF1iNF9hcGlfUFJFRklYW0RFQlVHIDEKLSMgIGVsc2UKLSMgICBkZWZp
bmUgXWI0X2FwaV9QUkVGSVhbREVCVUcgMAotIyAgZW5kaWYKLSMgZWxzZSAvKiAhIGRlZmluZWQg
WVlERUJVRyAqLwotIyAgZGVmaW5lIF1iNF9hcGlfUFJFRklYW0RFQlVHIF1iNF9wYXJzZV90cmFj
ZV9pZihbMV0sIFswXSlbCi0jIGVuZGlmIC8qICEgZGVmaW5lZCBZWURFQlVHICovCi0jZW5kaWYg
IC8qICEgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtERUJVRyAqL11dKVtdZG5sCi1dKQotCi0jIGI0
X2RlY2xhcmVfeXlkZWJ1ZwotIyAtLS0tLS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbYjRfZGVj
bGFyZV95eWRlYnVnXSwKLVtiNF9ZWURFQlVHX2RlZmluZVsKLSNpZiBdYjRfYXBpX1BSRUZJWFtE
RUJVRwotZXh0ZXJuIGludCBdYjRfcHJlZml4W2RlYnVnOwotI2VuZGlmXVtdZG5sCi1dKQotCi0j
IGI0X3l5bGxvY19kZWZhdWx0X2RlZmluZQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMg
RGVmaW5lIFlZTExPQ19ERUZBVUxULgotbTRfZGVmaW5lKFtiNF95eWxsb2NfZGVmYXVsdF9kZWZp
bmVdLAotW1svKiBZWUxMT0NfREVGQVVMVCAtLSBTZXQgQ1VSUkVOVCB0byBzcGFuIGZyb20gUkhT
WzFdIHRvIFJIU1tOXS4KLSAgIElmIE4gaXMgMCwgdGhlbiBzZXQgQ1VSUkVOVCB0byB0aGUgZW1w
dHkgbG9jYXRpb24gd2hpY2ggZW5kcwotICAgdGhlIHByZXZpb3VzIHN5bWJvbDogUkhTWzBdIChh
bHdheXMgZGVmaW5lZCkuICAqLwotCi0jaWZuZGVmIFlZTExPQ19ERUZBVUxUCi0jIGRlZmluZSBZ
WUxMT0NfREVGQVVMVChDdXJyZW50LCBSaHMsIE4pICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAoTikgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgKEN1cnJlbnQpLmZpcnN0X2xpbmUgICA9IFlZUkhTTE9DIChSaHMsIDEp
LmZpcnN0X2xpbmU7ICAgICAgICBcCi0gICAgICAgICAgKEN1cnJlbnQpLmZpcnN0X2NvbHVtbiA9
IFlZUkhTTE9DIChSaHMsIDEpLmZpcnN0X2NvbHVtbjsgICAgICBcCi0gICAgICAgICAgKEN1cnJl
bnQpLmxhc3RfbGluZSAgICA9IFlZUkhTTE9DIChSaHMsIE4pLmxhc3RfbGluZTsgICAgICAgICBc
Ci0gICAgICAgICAgKEN1cnJlbnQpLmxhc3RfY29sdW1uICA9IFlZUkhTTE9DIChSaHMsIE4pLmxh
c3RfY29sdW1uOyAgICAgICBcCi0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBlbHNlICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgICAgKEN1cnJlbnQpLmZpcnN0X2xpbmUgICA9IChDdXJy
ZW50KS5sYXN0X2xpbmUgICA9ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBZWVJIU0xPQyAo
UmhzLCAwKS5sYXN0X2xpbmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgKEN1cnJlbnQpLmZpcnN0X2NvbHVtbiA9IChDdXJyZW50KS5sYXN0X2NvbHVtbiA9ICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICBZWVJIU0xPQyAoUmhzLCAwKS5sYXN0X2NvbHVtbjsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgd2hp
bGUgKDApCi0jZW5kaWYKLV1dKQotCi0jIGI0X3l5X2xvY2F0aW9uX3ByaW50X2RlZmluZQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVmaW5lIFlZX0xPQ0FUSU9OX1BSSU5ULgot
bTRfZGVmaW5lKFtiNF95eV9sb2NhdGlvbl9wcmludF9kZWZpbmVdLAotW2I0X2xvY2F0aW9uc19p
ZihbWwotLyogWVlfTE9DQVRJT05fUFJJTlQgLS0gUHJpbnQgdGhlIGxvY2F0aW9uIG9uIHRoZSBz
dHJlYW0uCi0gICBUaGlzIG1hY3JvIHdhcyBub3QgbWFuZGF0ZWQgb3JpZ2luYWxseTogZGVmaW5l
IG9ubHkgaWYgd2Uga25vdwotICAgd2Ugd29uJ3QgYnJlYWsgdXNlciBjb2RlOiB3aGVuIHRoZXNl
IGFyZSB0aGUgbG9jYXRpb25zIHdlIGtub3cuICAqLwotCi0jaWZuZGVmIFlZX0xPQ0FUSU9OX1BS
SU5UCi0jIGlmIGRlZmluZWQgXWI0X2FwaV9QUkVGSVhbTFRZUEVfSVNfVFJJVklBTCAmJiBdYjRf
YXBpX1BSRUZJWFtMVFlQRV9JU19UUklWSUFMCi0KLS8qIFByaW50ICpZWUxPQ1Agb24gWVlPLiAg
UHJpdmF0ZSwgZG8gbm90IHJlbHkgb24gaXRzIGV4aXN0ZW5jZS4gKi8KLQotWVlfQVRUUklCVVRF
X1VOVVNFRAotXWI0X2Z1bmN0aW9uX2RlZmluZShbeXlfbG9jYXRpb25fcHJpbnRfXSwKLSAgICBb
c3RhdGljIGludF0sCi0gICAgICAgICAgICAgICBbW0ZJTEUgKnl5b10sICAgICAgICAgICAgICAg
ICAgICBbeXlvXV0sCi0gICAgICAgICAgICAgICBbW1lZTFRZUEUgY29uc3QgKiBjb25zdCB5eWxv
Y3BdLCBbeXlsb2NwXV0pWwotewotICBpbnQgcmVzID0gMDsKLSAgaW50IGVuZF9jb2wgPSAwICE9
IHl5bG9jcC0+bGFzdF9jb2x1bW4gPyB5eWxvY3AtPmxhc3RfY29sdW1uIC0gMSA6IDA7Ci0gIGlm
ICgwIDw9IHl5bG9jcC0+Zmlyc3RfbGluZSkKLSAgICB7Ci0gICAgICByZXMgKz0gWVlGUFJJTlRG
ICh5eW8sICIlZCIsIHl5bG9jcC0+Zmlyc3RfbGluZSk7Ci0gICAgICBpZiAoMCA8PSB5eWxvY3At
PmZpcnN0X2NvbHVtbikKLSAgICAgICAgcmVzICs9IFlZRlBSSU5URiAoeXlvLCAiLiVkIiwgeXls
b2NwLT5maXJzdF9jb2x1bW4pOwotICAgIH0KLSAgaWYgKDAgPD0geXlsb2NwLT5sYXN0X2xpbmUp
Ci0gICAgewotICAgICAgaWYgKHl5bG9jcC0+Zmlyc3RfbGluZSA8IHl5bG9jcC0+bGFzdF9saW5l
KQotICAgICAgICB7Ci0gICAgICAgICAgcmVzICs9IFlZRlBSSU5URiAoeXlvLCAiLSVkIiwgeXls
b2NwLT5sYXN0X2xpbmUpOwotICAgICAgICAgIGlmICgwIDw9IGVuZF9jb2wpCi0gICAgICAgICAg
ICByZXMgKz0gWVlGUFJJTlRGICh5eW8sICIuJWQiLCBlbmRfY29sKTsKLSAgICAgICAgfQotICAg
ICAgZWxzZSBpZiAoMCA8PSBlbmRfY29sICYmIHl5bG9jcC0+Zmlyc3RfY29sdW1uIDwgZW5kX2Nv
bCkKLSAgICAgICAgcmVzICs9IFlZRlBSSU5URiAoeXlvLCAiLSVkIiwgZW5kX2NvbCk7Ci0gICAg
fQotICByZXR1cm4gcmVzOwotIH0KLQotIyAgZGVmaW5lIFlZX0xPQ0FUSU9OX1BSSU5UKEZpbGUs
IExvYykgICAgICAgICAgXAotICB5eV9sb2NhdGlvbl9wcmludF8gKEZpbGUsICYoTG9jKSkKLQot
IyBlbHNlCi0jICBkZWZpbmUgWVlfTE9DQVRJT05fUFJJTlQoRmlsZSwgTG9jKSAoKHZvaWQpIDAp
Ci0jIGVuZGlmCi0jZW5kaWZdXSwKLVtbLyogVGhpcyBtYWNybyBpcyBwcm92aWRlZCBmb3IgYmFj
a3dhcmQgY29tcGF0aWJpbGl0eS4gKi8KLSNpZm5kZWYgWVlfTE9DQVRJT05fUFJJTlQKLSMgZGVm
aW5lIFlZX0xPQ0FUSU9OX1BSSU5UKEZpbGUsIExvYykgKCh2b2lkKSAwKQotI2VuZGlmXV0pCi1d
KQotCi0jIGI0X3l5bG9jX2RlZmF1bHQKLSMgLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbmQgdG8g
YSBwb3NzaWJsZSBkZWZhdWx0IHZhbHVlIGZvciB5eWxsb2MuCi1tNF9kZWZpbmUoW2I0X3l5bG9j
X2RlZmF1bHRdLAotW1sKLSMgaWYgZGVmaW5lZCBdYjRfYXBpX1BSRUZJWFtMVFlQRV9JU19UUklW
SUFMICYmIF1iNF9hcGlfUFJFRklYW0xUWVBFX0lTX1RSSVZJQUwKLSAgPSB7IF1tNF9qb2luKFss
IF0sCi0gICAgICAgICAgICAgICBtNF9kZWZuKFtiNF9sb2NhdGlvbl9pbml0aWFsX2xpbmVdKSwK
LSAgICAgICAgICAgICAgIG00X2RlZm4oW2I0X2xvY2F0aW9uX2luaXRpYWxfY29sdW1uXSksCi0g
ICAgICAgICAgICAgICBtNF9kZWZuKFtiNF9sb2NhdGlvbl9pbml0aWFsX2xpbmVdKSwKLSAgICAg
ICAgICAgICAgIG00X2RlZm4oW2I0X2xvY2F0aW9uX2luaXRpYWxfY29sdW1uXSkpWyB9Ci0jIGVu
ZGlmCi1dXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgt
Ymlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL3lhY2MuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3Rvb2xzL2ZsZXgtYmlzb24vdGhpcmRfcGFydHkvc2tlbGV0b25zL3lhY2MuYwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTRlNDBlNjc0MTJlNGNlNzc4ZDdjNTUyNGNjMGMwODgw
ODhhZDZjMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3RoaXJkX3BhcnR5L3NrZWxl
dG9ucy95YWNjLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxOTI3ICswLDAgQEAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQyAt
Ki0KLSMgWWFjYyBjb21wYXRpYmxlIHNrZWxldG9uIGZvciBCaXNvbgotCi0jIENvcHlyaWdodCAo
QykgMTk4NCwgMTk4OS0xOTkwLCAyMDAwLTIwMTUsIDIwMTgtMjAxOSBGcmVlIFNvZnR3YXJlCi0j
IEZvdW5kYXRpb24sIEluYy4KLQotbTRfcHVzaGRlZihbYjRfY29weXJpZ2h0X3llYXJzXSwKLSAg
ICAgICAgICAgWzE5ODQsIDE5ODktMTk5MCwgMjAwMC0yMDE1LCAyMDE4LTIwMTldKQotCi0jIFRo
aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0jIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0jIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0j
IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y
Zy9saWNlbnNlcy8+LgotCi0jIENoZWNrIHRoZSB2YWx1ZSBvZiAlZGVmaW5lIGFwaS5wdXNoLXB1
bGwuCi1iNF9wZXJjZW50X2RlZmluZV9kZWZhdWx0KFtbYXBpLnB1c2gtcHVsbF1dLCBbW3B1bGxd
XSkKLWI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlcyhbW1tbYXBpLnB1c2gtcHVsbF1dLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1twdWxsXV0sIFtbcHVzaF1dLCBbW2Jv
dGhdXV1dKQotYjRfZGVmaW5lX2ZsYWdfaWYoW3B1bGxdKSBtNF9kZWZpbmUoW2I0X3B1bGxfZmxh
Z10sIFtbMV1dKQotYjRfZGVmaW5lX2ZsYWdfaWYoW3B1c2hdKSBtNF9kZWZpbmUoW2I0X3B1c2hf
ZmxhZ10sIFtbMV1dKQotbTRfY2FzZShiNF9wZXJjZW50X2RlZmluZV9nZXQoW1thcGkucHVzaC1w
dWxsXV0pLAotICAgICAgICBbcHVsbF0sIFttNF9kZWZpbmUoW2I0X3B1c2hfZmxhZ10sIFtbMF1d
KV0sCi0gICAgICAgIFtwdXNoXSwgW200X2RlZmluZShbYjRfcHVsbF9mbGFnXSwgW1swXV0pXSkK
LQotIyBIYW5kbGUgQklTT05fVVNFX1BVU0hfRk9SX1BVTEwgZm9yIHRoZSB0ZXN0IHN1aXRlLiAg
U28gdGhhdCBwdXNoIHBhcnNpbmcKLSMgdGVzdHMgZnVuY3Rpb24gYXMgd3JpdHRlbiwgZG8gbm90
IGxldCBCSVNPTl9VU0VfUFVTSF9GT1JfUFVMTCBtb2RpZnkgdGhlCi0jIGJlaGF2aW9yIG9mIEJp
c29uIGF0IGFsbCB3aGVuIHB1c2ggcGFyc2luZyBpcyBhbHJlYWR5IHJlcXVlc3RlZC4KLWI0X2Rl
ZmluZV9mbGFnX2lmKFt1c2VfcHVzaF9mb3JfcHVsbF0pCi1iNF91c2VfcHVzaF9mb3JfcHVsbF9p
ZihbCi0gIGI0X3B1c2hfaWYoW200X2RlZmluZShbYjRfdXNlX3B1c2hfZm9yX3B1bGxfZmxhZ10s
IFtbMF1dKV0sCi0gICAgICAgICAgICAgW200X2RlZmluZShbYjRfcHVzaF9mbGFnXSwgW1sxXV0p
XSldKQotCi0jIENoZWNrIHRoZSB2YWx1ZSBvZiAlZGVmaW5lIHBhcnNlLmxhYyBhbmQgZnJpZW5k
cywgd2hlcmUgTEFDIHN0YW5kcyBmb3IKLSMgbG9va2FoZWFkIGNvcnJlY3Rpb24uCi1iNF9wZXJj
ZW50X2RlZmluZV9kZWZhdWx0KFtbcGFyc2UubGFjXV0sIFtbbm9uZV1dKQotYjRfcGVyY2VudF9k
ZWZpbmVfZGVmYXVsdChbW3BhcnNlLmxhYy5lcy1jYXBhY2l0eS1pbml0aWFsXV0sIFtbMjBdXSkK
LWI0X3BlcmNlbnRfZGVmaW5lX2RlZmF1bHQoW1twYXJzZS5sYWMubWVtb3J5LXRyYWNlXV0sIFtb
ZmFpbHVyZXNdXSkKLWI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlcyhbW1tbcGFyc2UubGFj
XV0sIFtbZnVsbF1dLCBbW25vbmVdXV1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtbW1twYXJzZS5sYWMubWVtb3J5LXRyYWNlXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbW2ZhaWx1cmVzXV0sIFtbZnVsbF1dXV0pCi1iNF9kZWZpbmVfZmxhZ19pZihbbGFj
XSkKLW00X2RlZmluZShbYjRfbGFjX2ZsYWddLAotICAgICAgICAgIFttNF9pZihiNF9wZXJjZW50
X2RlZmluZV9nZXQoW1twYXJzZS5sYWNdXSksCi0gICAgICAgICAgICAgICAgIFtub25lXSwgW1sw
XV0sIFtbMV1dKV0pCi0KLW00X2luY2x1ZGUoYjRfc2tlbGV0b25zZGlyL1tjLm00XSkKLQotIyMg
LS0tLS0tLS0tLS0tLS0tLSAjIwotIyMgRGVmYXVsdCB2YWx1ZXMuICAjIwotIyMgLS0tLS0tLS0t
LS0tLS0tLSAjIwotCi0jIFN0YWNrIHBhcmFtZXRlcnMuCi1tNF9kZWZpbmVfZGVmYXVsdChbYjRf
c3RhY2tfZGVwdGhfbWF4XSwgWzEwMDAwXSkKLW00X2RlZmluZV9kZWZhdWx0KFtiNF9zdGFja19k
ZXB0aF9pbml0XSwgIFsyMDBdKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwot
IyMgUHVyZS9pbXB1cmUgaW50ZXJmYWNlcy4gICMjCi0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gIyMKLQotYjRfcGVyY2VudF9kZWZpbmVfZGVmYXVsdChbW2FwaS5wdXJlXV0sIFtbZmFsc2Vd
XSkKLWI0X3BlcmNlbnRfZGVmaW5lX2NoZWNrX3ZhbHVlcyhbW1tbYXBpLnB1cmVdXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbZmFsc2VdXSwgW1t0cnVlXV0sIFtbXV0sIFtb
ZnVsbF1dXV0pCi0KLW00X2RlZmluZShbYjRfcHVyZV9mbGFnXSwgW1swXV0pCi1tNF9jYXNlKGI0
X3BlcmNlbnRfZGVmaW5lX2dldChbW2FwaS5wdXJlXV0pLAotICAgICAgICBbZmFsc2VdLCBbbTRf
ZGVmaW5lKFtiNF9wdXJlX2ZsYWddLCBbWzBdXSldLAotICAgICAgICBbdHJ1ZV0sICBbbTRfZGVm
aW5lKFtiNF9wdXJlX2ZsYWddLCBbWzFdXSldLAotICAgICAgICBbXSwgICAgICBbbTRfZGVmaW5l
KFtiNF9wdXJlX2ZsYWddLCBbWzFdXSldLAotICAgICAgICBbZnVsbF0sICBbbTRfZGVmaW5lKFti
NF9wdXJlX2ZsYWddLCBbWzJdXSldKQotCi1tNF9kZWZpbmUoW2I0X3B1cmVfaWZdLAotW200X2Nh
c2UoYjRfcHVyZV9mbGFnLAotICAgICAgICAgWzBdLCBbJDJdLAotICAgICAgICAgWzFdLCBbJDFd
LAotICAgICAgICAgWzJdLCBbJDFdKV0pCi0gICAgICAgICBbbTRfZmF0YWwoW2ludmFsaWQgYXBp
LnB1cmUgdmFsdWU6IF0kMSldKV0pCi0KLSMgYjRfeXllcnJvcl9hcmdfbG9jX2lmKEFSRykKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRXhwYW5kIEFSRyBpZmYgeXllcnJvciBpcyB0
byBiZSBnaXZlbiBhIGxvY2F0aW9uIGFzIGFyZ3VtZW50LgotbTRfZGVmaW5lKFtiNF95eWVycm9y
X2FyZ19sb2NfaWZdLAotW2I0X2xvY2F0aW9uc19pZihbbTRfY2FzZShiNF9wdXJlX2ZsYWcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIFsxXSwgW200X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0s
IFskMV0pXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgWzJdLCBbJDFdKV0pXSkKLQotIyBi
NF95eWVycm9yX2FyZ3MKLSMgLS0tLS0tLS0tLS0tLS0tCi0jIEFyZ3VtZW50cyBwYXNzZWQgdG8g
eXllcnJvcjogdXNlciBhcmdzIHBsdXMgeXlsbG9jLgotbTRfZGVmaW5lKFtiNF95eWVycm9yX2Fy
Z3NdLAotW2I0X3l5ZXJyb3JfYXJnX2xvY19pZihbJnl5bGxvYywgXSlkbmwKLW00X2lmc2V0KFti
NF9wYXJzZV9wYXJhbV0sIFtiNF9hcmdzKGI0X3BhcnNlX3BhcmFtKSwgXSldKQotCi0KLQotIyMg
LS0tLS0tLS0tLS0tICMjCi0jIyBEYXRhIFR5cGVzLiAgIyMKLSMjIC0tLS0tLS0tLS0tLSAjIwot
Ci0jIGI0X2ludF90eXBlKE1JTiwgTUFYKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgUmV0
dXJuIHRoZSBzbWFsbGVzdCBpbnQgdHlwZSBhYmxlIHRvIGhhbmRsZSBudW1iZXJzIHJhbmdpbmcg
ZnJvbQotIyBNSU4gdG8gTUFYIChpbmNsdWRlZCkuICBPdmVyd3JpdGUgdGhlIHZlcnNpb24gZnJv
bSBjLm00LCB3aGljaAotIyB1c2VzIG9ubHkgQzg5IHR5cGVzLCBzbyB0aGF0IHRoZSB1c2VyIGNh
biBvdmVycmlkZSB0aGUgc2hvcnRlcgotIyB0eXBlcywgYW5kIHNvIHRoYXQgcHJlLUM4OSBjb21w
aWxlcnMgYXJlIGhhbmRsZWQgY29ycmVjdGx5LgotbTRfZGVmaW5lKFtiNF9pbnRfdHlwZV0sCi1b
bTRfaWYoYjRfaW50c19pbigkQCwgICAgICBbMF0sICAgWzI1NV0pLCBbMV0sIFt5eXR5cGVfdWlu
dDhdLAotICAgICAgIGI0X2ludHNfaW4oJEAsICAgWy0xMjhdLCAgIFsxMjddKSwgWzFdLCBbeXl0
eXBlX2ludDhdLAotCi0gICAgICAgYjRfaW50c19pbigkQCwgICAgICBbMF0sIFs2NTUzNV0pLCBb
MV0sIFt5eXR5cGVfdWludDE2XSwKLSAgICAgICBiNF9pbnRzX2luKCRALCBbLTMyNzY4XSwgWzMy
NzY3XSksIFsxXSwgW3l5dHlwZV9pbnQxNl0sCi0KLSAgICAgICBtNF9ldmFsKFswIDw9ICQxXSks
ICAgICAgICAgICAgICAgIFsxXSwgW3Vuc2lnbmVkXSwKLQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbaW50XSldKQotCi0KLSMjIC0tLS0tLS0tLS0tLS0t
LS0tICMjCi0jIyBTZW1hbnRpYyBWYWx1ZXMuICAjIwotIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMK
LQotCi0jIGI0X2xoc192YWx1ZShTWU1CT0wtTlVNLCBbVFlQRV0pCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0jIFNlZSBSRUFETUUuCi1tNF9kZWZpbmUoW2I0X2xoc192YWx1
ZV0sCi1bYjRfc3ltYm9sX3ZhbHVlKHl5dmFsLCBbJDFdLCBbJDJdKV0pCi0KLQotIyBiNF9yaHNf
dmFsdWUoUlVMRS1MRU5HVEgsIFBPUywgW1NZTUJPTC1OVU1dLCBbVFlQRV0pCi0jIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgU2VlIFJFQURN
RS4KLW00X2RlZmluZShbYjRfcmhzX3ZhbHVlXSwKLVtiNF9zeW1ib2xfdmFsdWUoW3l5dnNwQHti
NF9zdWJ0cmFjdChbJDJdLCBbJDFdKUB9XSwgWyQzXSwgWyQ0XSldKQotCi0KLSMjIC0tLS0tLS0t
LS0tICMjCi0jIyBMb2NhdGlvbnMuICAjIwotIyMgLS0tLS0tLS0tLS0gIyMKLQotIyBiNF9saHNf
bG9jYXRpb24oKQotIyAtLS0tLS0tLS0tLS0tLS0tLQotIyBFeHBhbnNpb24gb2YgQCQuCi1tNF9k
ZWZpbmUoW2I0X2xoc19sb2NhdGlvbl0sCi1bKHl5bG9jKV0pCi0KLQotIyBiNF9yaHNfbG9jYXRp
b24oUlVMRS1MRU5HVEgsIFBPUykKLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jIEV4cGFuc2lvbiBvZiBAUE9TLCB3aGVyZSB0aGUgY3VycmVudCBydWxlIGhhcyBSVUxFLUxF
TkdUSCBzeW1ib2xzCi0jIG9uIFJIUy4KLW00X2RlZmluZShbYjRfcmhzX2xvY2F0aW9uXSwKLVso
eXlsc3BAe2I0X3N1YnRyYWN0KFskMl0sIFskMV0pQH0pXSkKLQotCi0jIyAtLS0tLS0tLS0tLS0t
LSAjIwotIyMgRGVjbGFyYXRpb25zLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tICMjCi0KLSMgYjRf
ZGVjbGFyZV9zY2FubmVyX2NvbW11bmljYXRpb25fdmFyaWFibGVzCi0jIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBEZWNsYXJlIHRoZSB2YXJpYWJsZXMgdGhh
dCBhcmUgZ2xvYmFsLCBvciBsb2NhbCB0byBZWVBBUlNFIGlmCi0jIHB1cmUtcGFyc2VyLgotbTRf
ZGVmaW5lKFtiNF9kZWNsYXJlX3NjYW5uZXJfY29tbXVuaWNhdGlvbl92YXJpYWJsZXNdLCBbWwot
LyogVGhlIGxvb2thaGVhZCBzeW1ib2wuICAqLwotaW50IHl5Y2hhcjsKLQotXWI0X3B1cmVfaWYo
W1sKLS8qIFRoZSBzZW1hbnRpYyB2YWx1ZSBvZiB0aGUgbG9va2FoZWFkIHN5bWJvbC4gICovCi0v
KiBEZWZhdWx0IHZhbHVlIHVzZWQgZm9yIGluaXRpYWxpemF0aW9uLCBmb3IgcGFjaWZ5aW5nIG9s
ZGVyIEdDQ3MKLSAgIG9yIG5vbi1HQ0MgY29tcGlsZXJzLiAgKi8KLVlZX0lOSVRJQUxfVkFMVUUg
KHN0YXRpYyBZWVNUWVBFIHl5dmFsX2RlZmF1bHQ7KQotWVlTVFlQRSB5eWx2YWwgWVlfSU5JVElB
TF9WQUxVRSAoPSB5eXZhbF9kZWZhdWx0KTtdYjRfbG9jYXRpb25zX2lmKFtbCi0KLS8qIExvY2F0
aW9uIGRhdGEgZm9yIHRoZSBsb29rYWhlYWQgc3ltYm9sLiAgKi8KLXN0YXRpYyBZWUxUWVBFIHl5
bG9jX2RlZmF1bHRdYjRfeXlsb2NfZGVmYXVsdFs7Ci1ZWUxUWVBFIHl5bGxvYyA9IHl5bG9jX2Rl
ZmF1bHQ7XV0pXSwKLVtbLyogVGhlIHNlbWFudGljIHZhbHVlIG9mIHRoZSBsb29rYWhlYWQgc3lt
Ym9sLiAgKi8KLVlZU1RZUEUgeXlsdmFsO11iNF9sb2NhdGlvbnNfaWYoW1sKLS8qIExvY2F0aW9u
IGRhdGEgZm9yIHRoZSBsb29rYWhlYWQgc3ltYm9sLiAgKi8KLVlZTFRZUEUgeXlsbG9jXWI0X3l5
bG9jX2RlZmF1bHRbO11dKVsKLS8qIE51bWJlciBvZiBzeW50YXggZXJyb3JzIHNvIGZhci4gICov
Ci1pbnQgeXluZXJycztdXSldKQotCi0KLSMgYjRfZGVjbGFyZV9wYXJzZXJfc3RhdGVfdmFyaWFi
bGVzCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBEZWNsYXJlIGFsbCB0
aGUgdmFyaWFibGVzIHRoYXQgYXJlIG5lZWRlZCB0byBtYWludGFpbiB0aGUgcGFyc2VyIHN0YXRl
Ci0jIGJldHdlZW4gY2FsbHMgdG8geXlwdXNoX3BhcnNlLgotbTRfZGVmaW5lKFtiNF9kZWNsYXJl
X3BhcnNlcl9zdGF0ZV92YXJpYWJsZXNdLCBbYjRfcHVyZV9pZihbWwotICAgIC8qIE51bWJlciBv
ZiBzeW50YXggZXJyb3JzIHNvIGZhci4gICovCi0gICAgaW50IHl5bmVycnM7Ci1dXSlbCi0gICAg
aW50IHl5c3RhdGU7Ci0gICAgLyogTnVtYmVyIG9mIHRva2VucyB0byBzaGlmdCBiZWZvcmUgZXJy
b3IgbWVzc2FnZXMgZW5hYmxlZC4gICovCi0gICAgaW50IHl5ZXJyc3RhdHVzOwotCi0gICAgLyog
VGhlIHN0YWNrcyBhbmQgdGhlaXIgdG9vbHM6Ci0gICAgICAgJ3l5c3MnOiByZWxhdGVkIHRvIHN0
YXRlcy4KLSAgICAgICAneXl2cyc6IHJlbGF0ZWQgdG8gc2VtYW50aWMgdmFsdWVzLl1iNF9sb2Nh
dGlvbnNfaWYoW1sKLSAgICAgICAneXlscyc6IHJlbGF0ZWQgdG8gbG9jYXRpb25zLl1dKVsKLQot
ICAgICAgIFJlZmVyIHRvIHRoZSBzdGFja3MgdGhyb3VnaCBzZXBhcmF0ZSBwb2ludGVycywgdG8g
YWxsb3cgeXlvdmVyZmxvdwotICAgICAgIHRvIHJlYWxsb2NhdGUgdGhlbSBlbHNld2hlcmUuICAq
LwotCi0gICAgLyogVGhlIHN0YXRlIHN0YWNrLiAgKi8KLSAgICB5eXR5cGVfaW50MTYgeXlzc2Fb
WVlJTklUREVQVEhdOwotICAgIHl5dHlwZV9pbnQxNiAqeXlzczsKLSAgICB5eXR5cGVfaW50MTYg
Knl5c3NwOwotCi0gICAgLyogVGhlIHNlbWFudGljIHZhbHVlIHN0YWNrLiAgKi8KLSAgICBZWVNU
WVBFIHl5dnNhW1lZSU5JVERFUFRIXTsKLSAgICBZWVNUWVBFICp5eXZzOwotICAgIFlZU1RZUEUg
Knl5dnNwO11iNF9sb2NhdGlvbnNfaWYoW1sKLQotICAgIC8qIFRoZSBsb2NhdGlvbiBzdGFjay4g
ICovCi0gICAgWVlMVFlQRSB5eWxzYVtZWUlOSVRERVBUSF07Ci0gICAgWVlMVFlQRSAqeXlsczsK
LSAgICBZWUxUWVBFICp5eWxzcDsKLQotICAgIC8qIFRoZSBsb2NhdGlvbnMgd2hlcmUgdGhlIGVy
cm9yIHN0YXJ0ZWQgYW5kIGVuZGVkLiAgKi8KLSAgICBZWUxUWVBFIHl5ZXJyb3JfcmFuZ2VbM107
XV0pWwotCi0gICAgWVlTSVpFX1QgeXlzdGFja3NpemU7XWI0X2xhY19pZihbWwotCi0gICAgeXl0
eXBlX2ludDE2IHl5ZXNhQHtdYjRfcGVyY2VudF9kZWZpbmVfZ2V0KFtbcGFyc2UubGFjLmVzLWNh
cGFjaXR5LWluaXRpYWxdXSlbQH07Ci0gICAgeXl0eXBlX2ludDE2ICp5eWVzOwotICAgIFlZU0la
RV9UIHl5ZXNfY2FwYWNpdHk7XV0pXSkKLQotCi0jIF9iNF9kZWNsYXJlX3l5cGFyc2VfcHVzaAot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVjbGFyYXRpb24gb2YgeXlwYXJzZSAoYW5k
IGRlcGVuZGVuY2llcykgd2hlbiB1c2luZyB0aGUgcHVzaCBwYXJzZXIKLSMgKGluY2x1ZGluZyBp
biBwdWxsIG1vZGUpLgotbTRfZGVmaW5lKFtfYjRfZGVjbGFyZV95eXBhcnNlX3B1c2hdLAotW1sj
aWZuZGVmIFlZUFVTSF9NT1JFX0RFRklORUQKLSMgZGVmaW5lIFlZUFVTSF9NT1JFX0RFRklORUQK
LWVudW0geyBZWVBVU0hfTU9SRSA9IDQgfTsKLSNlbmRpZgotCi10eXBlZGVmIHN0cnVjdCBdYjRf
cHJlZml4W3BzdGF0ZSBdYjRfcHJlZml4W3BzdGF0ZTsKLQotXWI0X3B1bGxfaWYoW2I0X2Z1bmN0
aW9uX2RlY2xhcmUoW2I0X3ByZWZpeFtwYXJzZV1dLCBbW2ludF1dLCBiNF9wYXJzZV9wYXJhbSkK
LV0pYjRfZnVuY3Rpb25fZGVjbGFyZShbYjRfcHJlZml4W3B1c2hfcGFyc2VdXSwgW1tpbnRdXSwK
LSAgW1tiNF9wcmVmaXhbcHN0YXRlICpwc11dLCBbW3BzXV1dYjRfcHVyZV9pZihbLAotICBbW1tp
bnQgcHVzaGVkX2NoYXJdXSwgW1twdXNoZWRfY2hhcl1dXSwKLSAgW1tiNF9hcGlfUFJFRklYW1NU
WVBFIGNvbnN0ICpwdXNoZWRfdmFsXV0sIFtbcHVzaGVkX3ZhbF1dXWI0X2xvY2F0aW9uc19pZihb
LAotICBbW2I0X2FwaV9QUkVGSVhbTFRZUEUgKnB1c2hlZF9sb2NdXSwgW1twdXNoZWRfbG9jXV1d
XSldKW00X2lmc2V0KFtiNF9wYXJzZV9wYXJhbV0sIFssCi0gIGI0X3BhcnNlX3BhcmFtXSkpCi1i
NF9wdWxsX2lmKFtiNF9mdW5jdGlvbl9kZWNsYXJlKFtiNF9wcmVmaXhbcHVsbF9wYXJzZV1dLCBb
W2ludF1dLAotICBbW2I0X3ByZWZpeFtwc3RhdGUgKnBzXV0sIFtbcHNdXV1tNF9pZnNldChbYjRf
cGFyc2VfcGFyYW1dLCBbLAotICBiNF9wYXJzZV9wYXJhbV0pKV0pCi1iNF9mdW5jdGlvbl9kZWNs
YXJlKFtiNF9wcmVmaXhbcHN0YXRlX25ld11dLCBbYjRfcHJlZml4W3BzdGF0ZSAqXV0sCi0gICAg
ICAgICAgICAgICAgICAgIFtbW3ZvaWRdXSwgW11dKQotYjRfZnVuY3Rpb25fZGVjbGFyZShbYjRf
cHJlZml4W3BzdGF0ZV9kZWxldGVdXSwgW1t2b2lkXV0sCi0gICAgICAgICAgICAgICAgICAgW1ti
NF9wcmVmaXhbcHN0YXRlICpwc11dLCBbW3BzXV1dKWRubAotXSkKLQotIyBfYjRfZGVjbGFyZV95
eXBhcnNlCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgV2hlbiBub3QgdGhlIHB1c2ggcGFyc2Vy
LgotbTRfZGVmaW5lKFtfYjRfZGVjbGFyZV95eXBhcnNlXSwKLVtiNF9mdW5jdGlvbl9kZWNsYXJl
KGI0X3ByZWZpeFtwYXJzZV0sIFtpbnRdLCBiNF9wYXJzZV9wYXJhbSldKQotCi0KLSMgYjRfZGVj
bGFyZV95eXBhcnNlCi0jIC0tLS0tLS0tLS0tLS0tLS0tLQotbTRfZGVmaW5lKFtiNF9kZWNsYXJl
X3l5cGFyc2VdLAotW2I0X3B1c2hfaWYoW19iNF9kZWNsYXJlX3l5cGFyc2VfcHVzaF0sCi0gICAg
ICAgICAgICBbX2I0X2RlY2xhcmVfeXlwYXJzZV0pW11kbmwKLV0pCi0KLQotIyBiNF9zaGFyZWRf
ZGVjbGFyYXRpb25zCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgRGVjbGFyYXRpb24gdGhh
dCBtaWdodCBlaXRoZXIgZ28gaW50byB0aGUgaGVhZGVyIChpZiAtLWRlZmluZXMpCi0jIG9yIG9w
ZW4gY29kZWQgaW4gdGhlIHBhcnNlciBib2R5LgotbTRfZGVmaW5lKFtiNF9zaGFyZWRfZGVjbGFy
YXRpb25zXSwKLVtiNF9jcHBfZ3VhcmRfb3BlbihbYjRfc3BlY19kZWZpbmVzX2ZpbGVdKVsKLV1i
NF9kZWNsYXJlX3l5ZGVidWdbCi1dYjRfcGVyY2VudF9jb2RlX2dldChbW3JlcXVpcmVzXV0pWwot
XWI0X3Rva2VuX2VudW1zX2RlZmluZXNbCi1dYjRfZGVjbGFyZV95eWxzdHlwZVsKLV1iNF9kZWNs
YXJlX3l5cGFyc2VbCi1dYjRfcGVyY2VudF9jb2RlX2dldChbW3Byb3ZpZGVzXV0pWwotXWI0X2Nw
cF9ndWFyZF9jbG9zZShbYjRfc3BlY19kZWZpbmVzX2ZpbGVdKVtdZG5sCi1dKQotCi0jIyAtLS0t
LS0tLS0tLS0tLSAjIwotIyMgT3V0cHV0IGZpbGVzLiAgIyMKLSMjIC0tLS0tLS0tLS0tLS0tICMj
Ci0KLWI0X291dHB1dF9iZWdpbihbYjRfcGFyc2VyX2ZpbGVfbmFtZV0pWwotXWI0X2NvcHlyaWdo
dChbQmlzb24gaW1wbGVtZW50YXRpb24gZm9yIFlhY2MtbGlrZSBwYXJzZXJzIGluIENdKVsKLS8q
IEMgTEFMUigxKSBwYXJzZXIgc2tlbGV0b24gd3JpdHRlbiBieSBSaWNoYXJkIFN0YWxsbWFuLCBi
eQotICAgc2ltcGxpZnlpbmcgdGhlIG9yaWdpbmFsIHNvLWNhbGxlZCAic2VtYW50aWMiIHBhcnNl
ci4gICovCi0KLS8qIEFsbCBzeW1ib2xzIGRlZmluZWQgYmVsb3cgc2hvdWxkIGJlZ2luIHdpdGgg
eXkgb3IgWVksIHRvIGF2b2lkCi0gICBpbmZyaW5naW5nIG9uIHVzZXIgbmFtZSBzcGFjZS4gIFRo
aXMgc2hvdWxkIGJlIGRvbmUgZXZlbiBmb3IgbG9jYWwKLSAgIHZhcmlhYmxlcywgYXMgdGhleSBt
aWdodCBvdGhlcndpc2UgYmUgZXhwYW5kZWQgYnkgdXNlciBtYWNyb3MuCi0gICBUaGVyZSBhcmUg
c29tZSB1bmF2b2lkYWJsZSBleGNlcHRpb25zIHdpdGhpbiBpbmNsdWRlIGZpbGVzIHRvCi0gICBk
ZWZpbmUgbmVjZXNzYXJ5IGxpYnJhcnkgc3ltYm9sczsgdGhleSBhcmUgbm90ZWQgIklORlJJTkdF
UyBPTgotICAgVVNFUiBOQU1FIFNQQUNFIiBiZWxvdy4gICovCi0KLV1iNF9kaXNjbGFpbWVyWwot
XWI0X2lkZW50aWZpY2F0aW9uWwotXWI0X3BlcmNlbnRfY29kZV9nZXQoW1t0b3BdXSlbXWRubAot
bTRfaWYoYjRfYXBpX3ByZWZpeCwgW3l5XSwgW10sCi1bWy8qIFN1YnN0aXR1dGUgdGhlIHR5cGUg
bmFtZXMuICAqLwotI2RlZmluZSBZWVNUWVBFICAgICAgICAgXWI0X2FwaV9QUkVGSVhbU1RZUEVd
YjRfbG9jYXRpb25zX2lmKFtbCi0jZGVmaW5lIFlZTFRZUEUgICAgICAgICBdYjRfYXBpX1BSRUZJ
WFtMVFlQRV1dKV0pWwotXW00X2lmKGI0X3ByZWZpeCwgW3l5XSwgW10sCi1bWy8qIFN1YnN0aXR1
dGUgdGhlIHZhcmlhYmxlIGFuZCBmdW5jdGlvbiBuYW1lcy4gICovXWI0X3B1bGxfaWYoW1sKLSNk
ZWZpbmUgeXlwYXJzZSAgICAgICAgIF1iNF9wcmVmaXhbcGFyc2VdXSliNF9wdXNoX2lmKFtbCi0j
ZGVmaW5lIHl5cHVzaF9wYXJzZSAgICBdYjRfcHJlZml4W3B1c2hfcGFyc2VdYjRfcHVsbF9pZihb
WwotI2RlZmluZSB5eXB1bGxfcGFyc2UgICAgXWI0X3ByZWZpeFtwdWxsX3BhcnNlXV0pWwotI2Rl
ZmluZSB5eXBzdGF0ZV9uZXcgICAgXWI0X3ByZWZpeFtwc3RhdGVfbmV3Ci0jZGVmaW5lIHl5cHN0
YXRlX2RlbGV0ZSBdYjRfcHJlZml4W3BzdGF0ZV9kZWxldGUKLSNkZWZpbmUgeXlwc3RhdGUgICAg
ICAgIF1iNF9wcmVmaXhbcHN0YXRlXV0pWwotI2RlZmluZSB5eWxleCAgICAgICAgICAgXWI0X3By
ZWZpeFtsZXgKLSNkZWZpbmUgeXllcnJvciAgICAgICAgIF1iNF9wcmVmaXhbZXJyb3IKLSNkZWZp
bmUgeXlkZWJ1ZyAgICAgICAgIF1iNF9wcmVmaXhbZGVidWcKLSNkZWZpbmUgeXluZXJycyAgICAg
ICAgIF1iNF9wcmVmaXhbbmVycnMKLV1dYjRfcHVyZV9pZihbXSwgW1sKLSNkZWZpbmUgeXlsdmFs
ICAgICAgICAgIF1iNF9wcmVmaXhbbHZhbAotI2RlZmluZSB5eWNoYXIgICAgICAgICAgXWI0X3By
ZWZpeFtjaGFyXWI0X2xvY2F0aW9uc19pZihbWwotI2RlZmluZSB5eWxsb2MgICAgICAgICAgXWI0
X3ByZWZpeFtsbG9jXV0pXSkpWwotCi1dYjRfdXNlcl9wcmVfcHJvbG9ndWVbCi1dYjRfbnVsbF9k
ZWZpbmVbCi0KLS8qIEVuYWJsaW5nIHZlcmJvc2UgZXJyb3IgbWVzc2FnZXMuICAqLwotI2lmZGVm
IFlZRVJST1JfVkVSQk9TRQotIyB1bmRlZiBZWUVSUk9SX1ZFUkJPU0UKLSMgZGVmaW5lIFlZRVJS
T1JfVkVSQk9TRSAxCi0jZWxzZQotIyBkZWZpbmUgWVlFUlJPUl9WRVJCT1NFIF1iNF9lcnJvcl92
ZXJib3NlX2lmKFsxXSwgWzBdKVsKLSNlbmRpZgotCi1dbTRfaWZ2YWwobTRfcXVvdGUoYjRfc3Bl
Y19kZWZpbmVzX2ZpbGUpLAotW1svKiBJbiBhIGZ1dHVyZSByZWxlYXNlIG9mIEJpc29uLCB0aGlz
IHNlY3Rpb24gd2lsbCBiZSByZXBsYWNlZAotICAgYnkgI2luY2x1ZGUgIkBiYXNlbmFtZShdYjRf
c3BlY19kZWZpbmVzX2ZpbGVbQCkiLiAgKi8KLV1dKWRubAotYjRfc2hhcmVkX2RlY2xhcmF0aW9u
c1sKLQotXWI0X3VzZXJfcG9zdF9wcm9sb2d1ZVsKLV1iNF9wZXJjZW50X2NvZGVfZ2V0W11kbmwK
LQotWyNpZmRlZiBzaG9ydAotIyB1bmRlZiBzaG9ydAotI2VuZGlmCi0KLSNpZmRlZiBZWVRZUEVf
VUlOVDgKLXR5cGVkZWYgWVlUWVBFX1VJTlQ4IHl5dHlwZV91aW50ODsKLSNlbHNlCi10eXBlZGVm
IHVuc2lnbmVkIGNoYXIgeXl0eXBlX3VpbnQ4OwotI2VuZGlmCi0KLSNpZmRlZiBZWVRZUEVfSU5U
OAotdHlwZWRlZiBZWVRZUEVfSU5UOCB5eXR5cGVfaW50ODsKLSNlbHNlCi10eXBlZGVmIHNpZ25l
ZCBjaGFyIHl5dHlwZV9pbnQ4OwotI2VuZGlmCi0KLSNpZmRlZiBZWVRZUEVfVUlOVDE2Ci10eXBl
ZGVmIFlZVFlQRV9VSU5UMTYgeXl0eXBlX3VpbnQxNjsKLSNlbHNlCi10eXBlZGVmIHVuc2lnbmVk
IHNob3J0IHl5dHlwZV91aW50MTY7Ci0jZW5kaWYKLQotI2lmZGVmIFlZVFlQRV9JTlQxNgotdHlw
ZWRlZiBZWVRZUEVfSU5UMTYgeXl0eXBlX2ludDE2OwotI2Vsc2UKLXR5cGVkZWYgc2hvcnQgeXl0
eXBlX2ludDE2OwotI2VuZGlmCi0KLSNpZm5kZWYgWVlTSVpFX1QKLSMgaWZkZWYgX19TSVpFX1RZ
UEVfXwotIyAgZGVmaW5lIFlZU0laRV9UIF9fU0laRV9UWVBFX18KLSMgZWxpZiBkZWZpbmVkIHNp
emVfdAotIyAgZGVmaW5lIFlZU0laRV9UIHNpemVfdAotIyBlbGlmICEgZGVmaW5lZCBZWVNJWkVf
VAotIyAgaW5jbHVkZSA8c3RkZGVmLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0Ug
Ki8KLSMgIGRlZmluZSBZWVNJWkVfVCBzaXplX3QKLSMgZWxzZQotIyAgZGVmaW5lIFlZU0laRV9U
IHVuc2lnbmVkCi0jIGVuZGlmCi0jZW5kaWYKLQotI2RlZmluZSBZWVNJWkVfTUFYSU1VTSAoKFlZ
U0laRV9UKSAtMSkKLQotI2lmbmRlZiBZWV8KLSMgaWYgZGVmaW5lZCBZWUVOQUJMRV9OTFMgJiYg
WVlFTkFCTEVfTkxTCi0jICBpZiBFTkFCTEVfTkxTCi0jICAgaW5jbHVkZSA8bGliaW50bC5oPiAv
KiBJTkZSSU5HRVMgT04gVVNFUiBOQU1FIFNQQUNFICovCi0jICAgZGVmaW5lIFlZXyhNc2dpZCkg
ZGdldHRleHQgKCJiaXNvbi1ydW50aW1lIiwgTXNnaWQpCi0jICBlbmRpZgotIyBlbmRpZgotIyBp
Zm5kZWYgWVlfCi0jICBkZWZpbmUgWVlfKE1zZ2lkKSBNc2dpZAotIyBlbmRpZgotI2VuZGlmCi0K
LV1iNF9hdHRyaWJ1dGVfZGVmaW5lWwotCi0jaWYgXWI0X2xhY19pZihbWzFdXSwgW1shIGRlZmlu
ZWQgeXlvdmVyZmxvdyB8fCBZWUVSUk9SX1ZFUkJPU0VdXSlbCi0KLS8qIFRoZSBwYXJzZXIgaW52
b2tlcyBhbGxvY2Egb3IgbWFsbG9jOyBkZWZpbmUgdGhlIG5lY2Vzc2FyeSBzeW1ib2xzLiAgKi9d
ZG5sCi1iNF9wdXNoX2lmKFtdLCBbYjRfbGFjX2lmKFtdLCBbWwotCi0jIGlmZGVmIFlZU1RBQ0tf
VVNFX0FMTE9DQQotIyAgaWYgWVlTVEFDS19VU0VfQUxMT0NBCi0jICAgaWZkZWYgX19HTlVDX18K
LSMgICAgZGVmaW5lIFlZU1RBQ0tfQUxMT0MgX19idWlsdGluX2FsbG9jYQotIyAgIGVsaWYgZGVm
aW5lZCBfX0JVSUxUSU5fVkFfQVJHX0lOQ1IKLSMgICAgaW5jbHVkZSA8YWxsb2NhLmg+IC8qIElO
RlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KLSMgICBlbGlmIGRlZmluZWQgX0FJWAotIyAg
ICBkZWZpbmUgWVlTVEFDS19BTExPQyBfX2FsbG9jYQotIyAgIGVsaWYgZGVmaW5lZCBfTVNDX1ZF
UgotIyAgICBpbmNsdWRlIDxtYWxsb2MuaD4gLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFD
RSAqLwotIyAgICBkZWZpbmUgYWxsb2NhIF9hbGxvY2EKLSMgICBlbHNlCi0jICAgIGRlZmluZSBZ
WVNUQUNLX0FMTE9DIGFsbG9jYQotIyAgICBpZiAhIGRlZmluZWQgX0FMTE9DQV9IICYmICEgZGVm
aW5lZCBFWElUX1NVQ0NFU1MKLSMgICAgIGluY2x1ZGUgPHN0ZGxpYi5oPiAvKiBJTkZSSU5HRVMg
T04gVVNFUiBOQU1FIFNQQUNFICovCi0gICAgICAvKiBVc2UgRVhJVF9TVUNDRVNTIGFzIGEgd2l0
bmVzcyBmb3Igc3RkbGliLmguICAqLwotIyAgICAgaWZuZGVmIEVYSVRfU1VDQ0VTUwotIyAgICAg
IGRlZmluZSBFWElUX1NVQ0NFU1MgMAotIyAgICAgZW5kaWYKLSMgICAgZW5kaWYKLSMgICBlbmRp
ZgotIyAgZW5kaWYKLSMgZW5kaWZdXSldKVsKLQotIyBpZmRlZiBZWVNUQUNLX0FMTE9DCi0gICAv
KiBQYWNpZnkgR0NDJ3MgJ2VtcHR5IGlmLWJvZHknIHdhcm5pbmcuICAqLwotIyAgZGVmaW5lIFlZ
U1RBQ0tfRlJFRShQdHIpIGRvIHsgLyogZW1wdHkgKi87IH0gd2hpbGUgKDApCi0jICBpZm5kZWYg
WVlTVEFDS19BTExPQ19NQVhJTVVNCi0gICAgLyogVGhlIE9TIG1pZ2h0IGd1YXJhbnRlZSBvbmx5
IG9uZSBndWFyZCBwYWdlIGF0IHRoZSBib3R0b20gb2YgdGhlIHN0YWNrLAotICAgICAgIGFuZCBh
IHBhZ2Ugc2l6ZSBjYW4gYmUgYXMgc21hbGwgYXMgNDA5NiBieXRlcy4gIFNvIHdlIGNhbm5vdCBz
YWZlbHkKLSAgICAgICBpbnZva2UgYWxsb2NhIChOKSBpZiBOIGV4Y2VlZHMgNDA5Ni4gIFVzZSBh
IHNsaWdodGx5IHNtYWxsZXIgbnVtYmVyCi0gICAgICAgdG8gYWxsb3cgZm9yIGEgZmV3IGNvbXBp
bGVyLWFsbG9jYXRlZCB0ZW1wb3Jhcnkgc3RhY2sgc2xvdHMuICAqLwotIyAgIGRlZmluZSBZWVNU
QUNLX0FMTE9DX01BWElNVU0gNDAzMiAvKiByZWFzb25hYmxlIGNpcmNhIDIwMDYgKi8KLSMgIGVu
ZGlmCi0jIGVsc2UKLSMgIGRlZmluZSBZWVNUQUNLX0FMTE9DIFlZTUFMTE9DCi0jICBkZWZpbmUg
WVlTVEFDS19GUkVFIFlZRlJFRQotIyAgaWZuZGVmIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTQotIyAg
IGRlZmluZSBZWVNUQUNLX0FMTE9DX01BWElNVU0gWVlTSVpFX01BWElNVU0KLSMgIGVuZGlmCi0j
ICBpZiAoZGVmaW5lZCBfX2NwbHVzcGx1cyAmJiAhIGRlZmluZWQgRVhJVF9TVUNDRVNTIFwKLSAg
ICAgICAmJiAhICgoZGVmaW5lZCBZWU1BTExPQyB8fCBkZWZpbmVkIG1hbGxvYykgXAotICAgICAg
ICAgICAgICYmIChkZWZpbmVkIFlZRlJFRSB8fCBkZWZpbmVkIGZyZWUpKSkKLSMgICBpbmNsdWRl
IDxzdGRsaWIuaD4gLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLwotIyAgIGlmbmRl
ZiBFWElUX1NVQ0NFU1MKLSMgICAgZGVmaW5lIEVYSVRfU1VDQ0VTUyAwCi0jICAgZW5kaWYKLSMg
IGVuZGlmCi0jICBpZm5kZWYgWVlNQUxMT0MKLSMgICBkZWZpbmUgWVlNQUxMT0MgbWFsbG9jCi0j
ICAgaWYgISBkZWZpbmVkIG1hbGxvYyAmJiAhIGRlZmluZWQgRVhJVF9TVUNDRVNTCi12b2lkICpt
YWxsb2MgKFlZU0laRV9UKTsgLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLwotIyAg
IGVuZGlmCi0jICBlbmRpZgotIyAgaWZuZGVmIFlZRlJFRQotIyAgIGRlZmluZSBZWUZSRUUgZnJl
ZQotIyAgIGlmICEgZGVmaW5lZCBmcmVlICYmICEgZGVmaW5lZCBFWElUX1NVQ0NFU1MKLXZvaWQg
ZnJlZSAodm9pZCAqKTsgLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLwotIyAgIGVu
ZGlmCi0jICBlbmRpZgotIyBlbmRpZl1iNF9sYWNfaWYoW1sKLSMgZGVmaW5lIFlZQ09QWV9ORUVE
RUQgMV1dKVsKLSNlbmRpZl1iNF9sYWNfaWYoW10sIFtbIC8qICEgZGVmaW5lZCB5eW92ZXJmbG93
IHx8IFlZRVJST1JfVkVSQk9TRSAqL11dKVsKLQotCi0jaWYgKCEgZGVmaW5lZCB5eW92ZXJmbG93
IFwKLSAgICAgJiYgKCEgZGVmaW5lZCBfX2NwbHVzcGx1cyBcCi0gICAgICAgICB8fCAoXWI0X2xv
Y2F0aW9uc19pZihbW2RlZmluZWQgXWI0X2FwaV9QUkVGSVhbTFRZUEVfSVNfVFJJVklBTCAmJiBd
YjRfYXBpX1BSRUZJWFtMVFlQRV9JU19UUklWSUFMIFwKLSAgICAgICAgICAgICAmJiBdXSlbZGVm
aW5lZCBdYjRfYXBpX1BSRUZJWFtTVFlQRV9JU19UUklWSUFMICYmIF1iNF9hcGlfUFJFRklYW1NU
WVBFX0lTX1RSSVZJQUwpKSkKLQotLyogQSB0eXBlIHRoYXQgaXMgcHJvcGVybHkgYWxpZ25lZCBm
b3IgYW55IHN0YWNrIG1lbWJlci4gICovCi11bmlvbiB5eWFsbG9jCi17Ci0gIHl5dHlwZV9pbnQx
NiB5eXNzX2FsbG9jOwotICBZWVNUWVBFIHl5dnNfYWxsb2M7XWI0X2xvY2F0aW9uc19pZihbCi0g
IFlZTFRZUEUgeXlsc19hbGxvYztdKVsKLX07Ci0KLS8qIFRoZSBzaXplIG9mIHRoZSBtYXhpbXVt
IGdhcCBiZXR3ZWVuIG9uZSBhbGlnbmVkIHN0YWNrIGFuZCB0aGUgbmV4dC4gICovCi0jIGRlZmlu
ZSBZWVNUQUNLX0dBUF9NQVhJTVVNIChzaXplb2YgKHVuaW9uIHl5YWxsb2MpIC0gMSkKLQotLyog
VGhlIHNpemUgb2YgYW4gYXJyYXkgbGFyZ2UgdG8gZW5vdWdoIHRvIGhvbGQgYWxsIHN0YWNrcywg
ZWFjaCB3aXRoCi0gICBOIGVsZW1lbnRzLiAgKi8KLV1iNF9sb2NhdGlvbnNfaWYoCi1bIyBkZWZp
bmUgWVlTVEFDS19CWVRFUyhOKSBcCi0gICAgICgoTikgKiAoc2l6ZW9mICh5eXR5cGVfaW50MTYp
ICsgc2l6ZW9mIChZWVNUWVBFKSArIHNpemVvZiAoWVlMVFlQRSkpIFwKLSAgICAgICsgMiAqIFlZ
U1RBQ0tfR0FQX01BWElNVU0pXSwKLVsjIGRlZmluZSBZWVNUQUNLX0JZVEVTKE4pIFwKLSAgICAg
KChOKSAqIChzaXplb2YgKHl5dHlwZV9pbnQxNikgKyBzaXplb2YgKFlZU1RZUEUpKSBcCi0gICAg
ICArIFlZU1RBQ0tfR0FQX01BWElNVU0pXSlbCi0KLSMgZGVmaW5lIFlZQ09QWV9ORUVERUQgMQot
Ci0vKiBSZWxvY2F0ZSBTVEFDSyBmcm9tIGl0cyBvbGQgbG9jYXRpb24gdG8gdGhlIG5ldyBvbmUu
ICBUaGUKLSAgIGxvY2FsIHZhcmlhYmxlcyBZWVNJWkUgYW5kIFlZU1RBQ0tTSVpFIGdpdmUgdGhl
IG9sZCBhbmQgbmV3IG51bWJlciBvZgotICAgZWxlbWVudHMgaW4gdGhlIHN0YWNrLCBhbmQgWVlQ
VFIgZ2l2ZXMgdGhlIG5ldyBsb2NhdGlvbiBvZiB0aGUKLSAgIHN0YWNrLiAgQWR2YW5jZSBZWVBU
UiB0byBhIHByb3Blcmx5IGFsaWduZWQgbG9jYXRpb24gZm9yIHRoZSBuZXh0Ci0gICBzdGFjay4g
ICovCi0jIGRlZmluZSBZWVNUQUNLX1JFTE9DQVRFKFN0YWNrX2FsbG9jLCBTdGFjaykgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgIFlZU0laRV9UIHl5bmV3Ynl0ZXM7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgIFlZQ09QWSAoJnl5cHRyLT5TdGFja19hbGxvYywg
U3RhY2ssIHl5c2l6ZSk7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIFN0YWNrID0gJnl5
cHRyLT5TdGFja19hbGxvYzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgIHl5bmV3Ynl0ZXMgPSB5eXN0YWNrc2l6ZSAqIHNpemVvZiAoKlN0YWNrKSArIFlZU1RB
Q0tfR0FQX01BWElNVU07IFwKLSAgICAgICAgeXlwdHIgKz0geXluZXdieXRlcyAvIHNpemVvZiAo
Knl5cHRyKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICB3aGlsZSAoMCkKLQotI2VuZGlmCi0KLSNpZiBkZWZpbmVkIFlZQ09QWV9ORUVERUQgJiYgWVlD
T1BZX05FRURFRAotLyogQ29weSBDT1VOVCBvYmplY3RzIGZyb20gU1JDIHRvIERTVC4gIFRoZSBz
b3VyY2UgYW5kIGRlc3RpbmF0aW9uIGRvCi0gICBub3Qgb3ZlcmxhcC4gICovCi0jIGlmbmRlZiBZ
WUNPUFkKLSMgIGlmIGRlZmluZWQgX19HTlVDX18gJiYgMSA8IF9fR05VQ19fCi0jICAgZGVmaW5l
IFlZQ09QWShEc3QsIFNyYywgQ291bnQpIFwKLSAgICAgIF9fYnVpbHRpbl9tZW1jcHkgKERzdCwg
U3JjLCAoQ291bnQpICogc2l6ZW9mICgqKFNyYykpKQotIyAgZWxzZQotIyAgIGRlZmluZSBZWUNP
UFkoRHN0LCBTcmMsIENvdW50KSAgICAgICAgICAgICAgXAotICAgICAgZG8gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgIFlZU0laRV9UIHl5aTsgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgIGZvciAoeXlpID0gMDsgeXlpIDwgKENvdW50KTsg
eXlpKyspICAgXAotICAgICAgICAgICAgKERzdClbeXlpXSA9IChTcmMpW3l5aV07ICAgICAgICAg
ICAgXAotICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgd2hpbGUgKDApCi0jICBlbmRpZgotIyBlbmRpZgotI2VuZGlmIC8qICFZWUNPUFlfTkVF
REVEICovCi0KLS8qIFlZRklOQUwgLS0gU3RhdGUgbnVtYmVyIG9mIHRoZSB0ZXJtaW5hdGlvbiBz
dGF0ZS4gICovCi0jZGVmaW5lIFlZRklOQUwgIF1iNF9maW5hbF9zdGF0ZV9udW1iZXJbCi0vKiBZ
WUxBU1QgLS0gTGFzdCBpbmRleCBpbiBZWVRBQkxFLiAgKi8KLSNkZWZpbmUgWVlMQVNUICAgXWI0
X2xhc3RbCi0KLS8qIFlZTlRPS0VOUyAtLSBOdW1iZXIgb2YgdGVybWluYWxzLiAgKi8KLSNkZWZp
bmUgWVlOVE9LRU5TICBdYjRfdG9rZW5zX251bWJlclsKLS8qIFlZTk5UUyAtLSBOdW1iZXIgb2Yg
bm9udGVybWluYWxzLiAgKi8KLSNkZWZpbmUgWVlOTlRTICBdYjRfbnRlcm1zX251bWJlclsKLS8q
IFlZTlJVTEVTIC0tIE51bWJlciBvZiBydWxlcy4gICovCi0jZGVmaW5lIFlZTlJVTEVTICBdYjRf
cnVsZXNfbnVtYmVyWwotLyogWVlOU1RBVEVTIC0tIE51bWJlciBvZiBzdGF0ZXMuICAqLwotI2Rl
ZmluZSBZWU5TVEFURVMgIF1iNF9zdGF0ZXNfbnVtYmVyWwotCi0jZGVmaW5lIFlZVU5ERUZUT0sg
IF1iNF91bmRlZl90b2tlbl9udW1iZXJbCi0jZGVmaW5lIFlZTUFYVVRPSyAgIF1iNF91c2VyX3Rv
a2VuX251bWJlcl9tYXhbCi0KLS8qIFlZVFJBTlNMQVRFKFRPS0VOLU5VTSkgLS0gU3ltYm9sIG51
bWJlciBjb3JyZXNwb25kaW5nIHRvIFRPS0VOLU5VTQotICAgYXMgcmV0dXJuZWQgYnkgeXlsZXgs
IHdpdGggb3V0LW9mLWJvdW5kcyBjaGVja2luZy4gICovCi0jZGVmaW5lIFlZVFJBTlNMQVRFKFlZ
WCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICgo
dW5zaWduZWQpIChZWVgpIDw9IFlZTUFYVVRPSyA/IHl5dHJhbnNsYXRlW1lZWF0gOiBZWVVOREVG
VE9LKQotCi0vKiBZWVRSQU5TTEFURVtUT0tFTi1OVU1dIC0tIFN5bWJvbCBudW1iZXIgY29ycmVz
cG9uZGluZyB0byBUT0tFTi1OVU0KLSAgIGFzIHJldHVybmVkIGJ5IHl5bGV4LiAgKi8KLXN0YXRp
YyBjb25zdCBdYjRfaW50X3R5cGVfZm9yKFtiNF90cmFuc2xhdGVdKVsgeXl0cmFuc2xhdGVbXSA9
Ci17Ci0gIF1iNF90cmFuc2xhdGVbCi19OwotCi0jaWYgXWI0X2FwaV9QUkVGSVhbREVCVUcKLV1i
NF9pbnRlZ3JhbF9wYXJzZXJfdGFibGVfZGVmaW5lKFtybGluZV0sIFtiNF9ybGluZV0sCi0gICAg
IFtbWVlSTElORVtZWU5dIC0tIFNvdXJjZSBsaW5lIHdoZXJlIHJ1bGUgbnVtYmVyIFlZTiB3YXMg
ZGVmaW5lZC5dXSlbCi0jZW5kaWYKLQotI2lmIF1iNF9hcGlfUFJFRklYW0RFQlVHIHx8IFlZRVJS
T1JfVkVSQk9TRSB8fCBdYjRfdG9rZW5fdGFibGVfZmxhZ1sKLS8qIFlZVE5BTUVbU1lNQk9MLU5V
TV0gLS0gU3RyaW5nIG5hbWUgb2YgdGhlIHN5bWJvbCBTWU1CT0wtTlVNLgotICAgRmlyc3QsIHRo
ZSB0ZXJtaW5hbHMsIHRoZW4sIHN0YXJ0aW5nIGF0IFlZTlRPS0VOUywgbm9udGVybWluYWxzLiAg
Ki8KLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCB5eXRuYW1lW10gPQotewotICBdYjRfdG5hbWVb
Ci19OwotI2VuZGlmCi0KLSMgaWZkZWYgWVlQUklOVAotLyogWVlUT0tOVU1bTlVNXSAtLSAoRXh0
ZXJuYWwpIHRva2VuIG51bWJlciBjb3JyZXNwb25kaW5nIHRvIHRoZQotICAgKGludGVybmFsKSBz
eW1ib2wgbnVtYmVyIE5VTSAod2hpY2ggbXVzdCBiZSB0aGF0IG9mIGEgdG9rZW4pLiAgKi8KLXN0
YXRpYyBjb25zdCBdYjRfaW50X3R5cGVfZm9yKFtiNF90b2tudW1dKVsgeXl0b2tudW1bXSA9Ci17
Ci0gIF1iNF90b2tudW1bCi19OwotIyBlbmRpZgotCi0jZGVmaW5lIFlZUEFDVF9OSU5GIF1iNF9w
YWN0X25pbmZbCi0KLSNkZWZpbmUgeXlwYWN0X3ZhbHVlX2lzX2RlZmF1bHQoWXlzdGF0ZSkgXAot
ICBdYjRfdGFibGVfdmFsdWVfZXF1YWxzKFtbcGFjdF1dLCBbW1l5c3RhdGVdXSwgW2I0X3BhY3Rf
bmluZl0pWwotCi0jZGVmaW5lIFlZVEFCTEVfTklORiBdYjRfdGFibGVfbmluZlsKLQotI2RlZmlu
ZSB5eXRhYmxlX3ZhbHVlX2lzX2Vycm9yKFl5dGFibGVfdmFsdWUpIFwKLSAgXWI0X3RhYmxlX3Zh
bHVlX2VxdWFscyhbW3RhYmxlXV0sIFtbWXl0YWJsZV92YWx1ZV1dLCBbYjRfdGFibGVfbmluZl0p
WwotCi1dYjRfcGFyc2VyX3RhYmxlc19kZWZpbmVbCi0KLSNkZWZpbmUgeXllcnJvayAgICAgICAg
ICh5eWVycnN0YXR1cyA9IDApCi0jZGVmaW5lIHl5Y2xlYXJpbiAgICAgICAoeXljaGFyID0gWVlF
TVBUWSkKLSNkZWZpbmUgWVlFTVBUWSAgICAgICAgICgtMikKLSNkZWZpbmUgWVlFT0YgICAgICAg
ICAgIDAKLQotI2RlZmluZSBZWUFDQ0VQVCAgICAgICAgZ290byB5eWFjY2VwdGxhYgotI2RlZmlu
ZSBZWUFCT1JUICAgICAgICAgZ290byB5eWFib3J0bGFiCi0jZGVmaW5lIFlZRVJST1IgICAgICAg
ICBnb3RvIHl5ZXJyb3JsYWIKLQotCi0jZGVmaW5lIFlZUkVDT1ZFUklORygpICAoISF5eWVycnN0
YXR1cykKLQotI2RlZmluZSBZWUJBQ0tVUChUb2tlbiwgVmFsdWUpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBkbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmICh5eWNoYXIgPT0gWVlFTVBU
WSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICB5eWNoYXIgPSAoVG9rZW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICB5eWx2YWwgPSAoVmFsdWUpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBZWVBPUFNUQUNLICh5eWxlbik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB5eXN0YXRlID0gKnl5
c3NwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF1iNF9sYWNfaWYo
W1sKLSAgICAgICAgWVlfTEFDX0RJU0NBUkQgKCJZWUJBQ0tVUCIpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxdXSlbCi0gICAgICAgIGdvdG8geXliYWNrdXA7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZWxzZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgIHl5ZXJyb3IgKF1iNF95eWVycm9yX2FyZ3NbWVlfKCJzeW50YXgg
ZXJyb3I6IGNhbm5vdCBiYWNrIHVwIikpOyBcCi0gICAgICAgIFlZRVJST1I7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHdo
aWxlICgwKQotCi0vKiBFcnJvciB0b2tlbiBudW1iZXIgKi8KLSNkZWZpbmUgWVlURVJST1IgICAg
ICAgIDEKLSNkZWZpbmUgWVlFUlJDT0RFICAgICAgIDI1NgotCi1dYjRfbG9jYXRpb25zX2lmKFtb
Ci1dYjRfeXlsbG9jX2RlZmF1bHRfZGVmaW5lWwotI2RlZmluZSBZWVJIU0xPQyhSaHMsIEspICgo
UmhzKVtLXSkKLV1dKVsKLQotLyogRW5hYmxlIGRlYnVnZ2luZyBpZiByZXF1ZXN0ZWQuICAqLwot
I2lmIF1iNF9hcGlfUFJFRklYW0RFQlVHCi0KLSMgaWZuZGVmIFlZRlBSSU5URgotIyAgaW5jbHVk
ZSA8c3RkaW8uaD4gLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLwotIyAgZGVmaW5l
IFlZRlBSSU5URiBmcHJpbnRmCi0jIGVuZGlmCi0KLSMgZGVmaW5lIFlZRFBSSU5URihBcmdzKSAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgaWYgKHl5ZGVidWcpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBZWUZQUklOVEYgQXJnczsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLX0gd2hpbGUgKDApCi0KLV1iNF95eV9sb2NhdGlvbl9wcmludF9kZWZpbmVbCi0KLSMg
ZGVmaW5lIFlZX1NZTUJPTF9QUklOVChUaXRsZSwgVHlwZSwgVmFsdWUsIExvY2F0aW9uKSAgICAg
ICAgICAgICAgICAgICAgXAotZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGlmICh5eWRlYnVnKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgWVlGUFJJTlRGIChzdGRlcnIsICIlcyAiLCBUaXRs
ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB5eV9zeW1ib2xf
cHJpbnQgKHN0ZGVyciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgIFR5cGUsIFZhbHVlXWI0X2xvY2F0aW9uc19pZihbLCBMb2Nh
dGlvbl0pW11iNF91c2VyX2FyZ3NbKTsgXAotICAgICAgWVlGUFJJTlRGIChzdGRlcnIsICJcbiIp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLX0gd2hpbGUgKDApCi0KLV1iNF95eV9zeW1ib2xfcHJpbnRfZGVmaW5lWwotCi0v
Ki0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS4KLXwgeXlfc3RhY2tfcHJpbnQgLS0gUHJpbnQgdGhlIHN0YXRlIHN0YWNrIGZy
b20gaXRzIEJPVFRPTSB1cCB0byBpdHMgfAotfCBUT1AgKGluY2x1ZGVkKS4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci1gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLQot
XWI0X2Z1bmN0aW9uX2RlZmluZShbeXlfc3RhY2tfcHJpbnRdLCBbc3RhdGljIHZvaWRdLAotICAg
ICAgICAgICAgICAgICAgIFtbeXl0eXBlX2ludDE2ICp5eWJvdHRvbV0sIFt5eWJvdHRvbV1dLAot
ICAgICAgICAgICAgICAgICAgIFtbeXl0eXBlX2ludDE2ICp5eXRvcF0sICAgIFt5eXRvcF1dKVsK
LXsKLSAgWVlGUFJJTlRGIChzdGRlcnIsICJTdGFjayBub3ciKTsKLSAgZm9yICg7IHl5Ym90dG9t
IDw9IHl5dG9wOyB5eWJvdHRvbSsrKQotICAgIHsKLSAgICAgIGludCB5eWJvdCA9ICp5eWJvdHRv
bTsKLSAgICAgIFlZRlBSSU5URiAoc3RkZXJyLCAiICVkIiwgeXlib3QpOwotICAgIH0KLSAgWVlG
UFJJTlRGIChzdGRlcnIsICJcbiIpOwotfQotCi0jIGRlZmluZSBZWV9TVEFDS19QUklOVChCb3R0
b20sIFRvcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotZG8geyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaWYgKHl5
ZGVidWcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgeXlfc3RhY2tfcHJpbnQgKChCb3R0b20pLCAoVG9wKSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotfSB3aGlsZSAoMCkKLQotCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KLXwgUmVwb3J0IHRoYXQgdGhlIFlZUlVMRSBpcyBnb2lu
ZyB0byBiZSByZWR1Y2VkLiAgfAotYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSovCi0KLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5X3JlZHVjZV9wcmludF0s
IFtzdGF0aWMgdm9pZF0sCi0gICAgICAgICAgICAgICAgICAgW1t5eXR5cGVfaW50MTYgKnl5c3Nw
XSwgW3l5c3NwXV0sCi0gICAgICAgICAgICAgICAgICAgW1tZWVNUWVBFICp5eXZzcF0sIFt5eXZz
cF1dLAotICAgIGI0X2xvY2F0aW9uc19pZihbW1tZWUxUWVBFICp5eWxzcF0sIFt5eWxzcF1dLAot
ICAgICAgICAgICAgICAgICAgIF0pW1tpbnQgeXlydWxlXSwgW3l5cnVsZV1dbTRfaWZzZXQoW2I0
X3BhcnNlX3BhcmFtXSwgWywKLSAgICAgICAgICAgICAgICAgICBiNF9wYXJzZV9wYXJhbV0pKVsK
LXsKLSAgdW5zaWduZWQgbG9uZyB5eWxubyA9IHl5cmxpbmVbeXlydWxlXTsKLSAgaW50IHl5bnJo
cyA9IHl5cjJbeXlydWxlXTsKLSAgaW50IHl5aTsKLSAgWVlGUFJJTlRGIChzdGRlcnIsICJSZWR1
Y2luZyBzdGFjayBieSBydWxlICVkIChsaW5lICVsdSk6XG4iLAotICAgICAgICAgICAgIHl5cnVs
ZSAtIDEsIHl5bG5vKTsKLSAgLyogVGhlIHN5bWJvbHMgYmVpbmcgcmVkdWNlZC4gICovCi0gIGZv
ciAoeXlpID0gMDsgeXlpIDwgeXlucmhzOyB5eWkrKykKLSAgICB7Ci0gICAgICBZWUZQUklOVEYg
KHN0ZGVyciwgIiAgICQlZCA9ICIsIHl5aSArIDEpOwotICAgICAgeXlfc3ltYm9sX3ByaW50IChz
dGRlcnIsCi0gICAgICAgICAgICAgICAgICAgICAgIHl5c3Rvc1t5eXNzcFt5eWkgKyAxIC0geXlu
cmhzXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICZdYjRfcmhzX3ZhbHVlKHl5bnJocywgeXlp
ICsgMSlbCi0gICAgICAgICAgICAgICAgICAgICAgIF1iNF9sb2NhdGlvbnNfaWYoWywgJl1iNF9y
aHNfbG9jYXRpb24oeXlucmhzLCB5eWkgKyAxKSlbXWRubAotICAgICAgICAgICAgICAgICAgICAg
ICBiNF91c2VyX2FyZ3NbKTsKLSAgICAgIFlZRlBSSU5URiAoc3RkZXJyLCAiXG4iKTsKLSAgICB9
Ci19Ci0KLSMgZGVmaW5lIFlZX1JFRFVDRV9QUklOVChSdWxlKSAgICAgICAgICBcCi1kbyB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBpZiAoeXlkZWJ1ZykgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB5eV9yZWR1Y2VfcHJpbnQgKHl5c3NwLCB5eXZzcCwg
XWI0X2xvY2F0aW9uc19pZihbeXlsc3AsIF0pW1J1bGVdYjRfdXNlcl9hcmdzWyk7IFwKLX0gd2hp
bGUgKDApCi0KLS8qIE5vbnplcm8gbWVhbnMgcHJpbnQgcGFyc2UgdHJhY2UuICBJdCBpcyBsZWZ0
IHVuaW5pdGlhbGl6ZWQgc28gdGhhdAotICAgbXVsdGlwbGUgcGFyc2VycyBjYW4gY29leGlzdC4g
ICovCi1pbnQgeXlkZWJ1ZzsKLSNlbHNlIC8qICFdYjRfYXBpX1BSRUZJWFtERUJVRyAqLwotIyBk
ZWZpbmUgWVlEUFJJTlRGKEFyZ3MpCi0jIGRlZmluZSBZWV9TWU1CT0xfUFJJTlQoVGl0bGUsIFR5
cGUsIFZhbHVlLCBMb2NhdGlvbikKLSMgZGVmaW5lIFlZX1NUQUNLX1BSSU5UKEJvdHRvbSwgVG9w
KQotIyBkZWZpbmUgWVlfUkVEVUNFX1BSSU5UKFJ1bGUpCi0jZW5kaWYgLyogIV1iNF9hcGlfUFJF
RklYW0RFQlVHICovCi0KLQotLyogWVlJTklUREVQVEggLS0gaW5pdGlhbCBzaXplIG9mIHRoZSBw
YXJzZXIncyBzdGFja3MuICAqLwotI2lmbmRlZiBZWUlOSVRERVBUSAotIyBkZWZpbmUgWVlJTklU
REVQVEggXWI0X3N0YWNrX2RlcHRoX2luaXRbCi0jZW5kaWYKLQotLyogWVlNQVhERVBUSCAtLSBt
YXhpbXVtIHNpemUgdGhlIHN0YWNrcyBjYW4gZ3JvdyB0byAoZWZmZWN0aXZlIG9ubHkKLSAgIGlm
IHRoZSBidWlsdC1pbiBzdGFjayBleHRlbnNpb24gbWV0aG9kIGlzIHVzZWQpLgotCi0gICBEbyBu
b3QgbWFrZSB0aGlzIHZhbHVlIHRvbyBsYXJnZTsgdGhlIHJlc3VsdHMgYXJlIHVuZGVmaW5lZCBp
ZgotICAgWVlTVEFDS19BTExPQ19NQVhJTVVNIDwgWVlTVEFDS19CWVRFUyAoWVlNQVhERVBUSCkK
LSAgIGV2YWx1YXRlZCB3aXRoIGluZmluaXRlLXByZWNpc2lvbiBpbnRlZ2VyIGFyaXRobWV0aWMu
ICAqLwotCi0jaWZuZGVmIFlZTUFYREVQVEgKLSMgZGVmaW5lIFlZTUFYREVQVEggXWI0X3N0YWNr
X2RlcHRoX21heFsKLSNlbmRpZl1iNF9sYWNfaWYoW1sKLQotLyogR2l2ZW4gYSBzdGF0ZSBzdGFj
ayBzdWNoIHRoYXQgKllZQk9UVE9NIGlzIGl0cyBib3R0b20sIHN1Y2ggdGhhdAotICAgKllZVE9Q
IGlzIGVpdGhlciBpdHMgdG9wIG9yIGlzIFlZVE9QX0VNUFRZIHRvIGluZGljYXRlIGFuIGVtcHR5
Ci0gICBzdGFjaywgYW5kIHN1Y2ggdGhhdCAqWVlDQVBBQ0lUWSBpcyB0aGUgbWF4aW11bSBudW1i
ZXIgb2YgZWxlbWVudHMgaXQKLSAgIGNhbiBob2xkIHdpdGhvdXQgYSByZWFsbG9jYXRpb24sIG1h
a2Ugc3VyZSB0aGVyZSBpcyBlbm91Z2ggcm9vbSB0bwotICAgc3RvcmUgWVlBREQgbW9yZSBlbGVt
ZW50cy4gIElmIG5vdCwgYWxsb2NhdGUgYSBuZXcgc3RhY2sgdXNpbmcKLSAgIFlZU1RBQ0tfQUxM
T0MsIGNvcHkgdGhlIGV4aXN0aW5nIGVsZW1lbnRzLCBhbmQgYWRqdXN0ICpZWUJPVFRPTSwKLSAg
ICpZWVRPUCwgYW5kICpZWUNBUEFDSVRZIHRvIHJlZmxlY3QgdGhlIG5ldyBjYXBhY2l0eSBhbmQg
bWVtb3J5Ci0gICBsb2NhdGlvbi4gIElmICpZWUJPVFRPTSAhPSBZWUJPVFRPTV9OT19GUkVFLCB0
aGVuIGZyZWUgdGhlIG9sZCBzdGFjawotICAgdXNpbmcgWVlTVEFDS19GUkVFLiAgUmV0dXJuIDAg
aWYgc3VjY2Vzc2Z1bCBvciBpZiBubyByZWFsbG9jYXRpb24gaXMKLSAgIHJlcXVpcmVkLiAgUmV0
dXJuIDEgaWYgbWVtb3J5IGlzIGV4aGF1c3RlZC4gICovCi1zdGF0aWMgaW50Ci15eV9sYWNfc3Rh
Y2tfcmVhbGxvYyAoWVlTSVpFX1QgKnl5Y2FwYWNpdHksIFlZU0laRV9UIHl5YWRkLAotI2lmIF1i
NF9hcGlfUFJFRklYW0RFQlVHCi0gICAgICAgICAgICAgICAgICAgICAgY2hhciBjb25zdCAqeXlk
ZWJ1Z19wcmVmaXgsCi0gICAgICAgICAgICAgICAgICAgICAgY2hhciBjb25zdCAqeXlkZWJ1Z19z
dWZmaXgsCi0jZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICB5eXR5cGVfaW50MTYgKip5eWJv
dHRvbSwKLSAgICAgICAgICAgICAgICAgICAgICB5eXR5cGVfaW50MTYgKnl5Ym90dG9tX25vX2Zy
ZWUsCi0gICAgICAgICAgICAgICAgICAgICAgeXl0eXBlX2ludDE2ICoqeXl0b3AsIHl5dHlwZV9p
bnQxNiAqeXl0b3BfZW1wdHkpCi17Ci0gIFlZU0laRV9UIHl5c2l6ZV9vbGQgPQotICAgIChZWVNJ
WkVfVCkgKCp5eXRvcCA9PSB5eXRvcF9lbXB0eSA/IDAgOiAqeXl0b3AgLSAqeXlib3R0b20gKyAx
KTsKLSAgWVlTSVpFX1QgeXlzaXplX25ldyA9IHl5c2l6ZV9vbGQgKyB5eWFkZDsKLSAgaWYgKCp5
eWNhcGFjaXR5IDwgeXlzaXplX25ldykKLSAgICB7Ci0gICAgICBZWVNJWkVfVCB5eWFsbG9jID0g
MiAqIHl5c2l6ZV9uZXc7Ci0gICAgICB5eXR5cGVfaW50MTYgKnl5Ym90dG9tX25ldzsKLSAgICAg
IC8qIFVzZSBZWU1BWERFUFRIIGZvciBtYXhpbXVtIHN0YWNrIHNpemUgZ2l2ZW4gdGhhdCB0aGUg
c3RhY2sKLSAgICAgICAgIHNob3VsZCBuZXZlciBuZWVkIHRvIGdyb3cgbGFyZ2VyIHRoYW4gdGhl
IG1haW4gc3RhdGUgc3RhY2sKLSAgICAgICAgIG5lZWRzIHRvIGdyb3cgd2l0aG91dCBMQUMuICAq
LwotICAgICAgaWYgKFlZTUFYREVQVEggPCB5eXNpemVfbmV3KQotICAgICAgICB7Ci0gICAgICAg
ICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiJXNtYXggc2l6ZSBleGNlZWRlZCVzIiwgeXlkZWJ1Z19w
cmVmaXgsCi0gICAgICAgICAgICAgICAgICAgICAgeXlkZWJ1Z19zdWZmaXgpKTsKLSAgICAgICAg
ICByZXR1cm4gMTsKLSAgICAgICAgfQotICAgICAgaWYgKFlZTUFYREVQVEggPCB5eWFsbG9jKQot
ICAgICAgICB5eWFsbG9jID0gWVlNQVhERVBUSDsKLSAgICAgIHl5Ym90dG9tX25ldyA9Ci0gICAg
ICAgICh5eXR5cGVfaW50MTYqKSBZWVNUQUNLX0FMTE9DICh5eWFsbG9jICogc2l6ZW9mICp5eWJv
dHRvbV9uZXcpOwotICAgICAgaWYgKCF5eWJvdHRvbV9uZXcpCi0gICAgICAgIHsKLSAgICAgICAg
ICBZWURQUklOVEYgKChzdGRlcnIsICIlc3JlYWxsb2MgZmFpbGVkJXMiLCB5eWRlYnVnX3ByZWZp
eCwKLSAgICAgICAgICAgICAgICAgICAgICB5eWRlYnVnX3N1ZmZpeCkpOwotICAgICAgICAgIHJl
dHVybiAxOwotICAgICAgICB9Ci0gICAgICBpZiAoKnl5dG9wICE9IHl5dG9wX2VtcHR5KQotICAg
ICAgICB7Ci0gICAgICAgICAgWVlDT1BZICh5eWJvdHRvbV9uZXcsICp5eWJvdHRvbSwgeXlzaXpl
X29sZCk7Ci0gICAgICAgICAgKnl5dG9wID0geXlib3R0b21fbmV3ICsgKHl5c2l6ZV9vbGQgLSAx
KTsKLSAgICAgICAgfQotICAgICAgaWYgKCp5eWJvdHRvbSAhPSB5eWJvdHRvbV9ub19mcmVlKQot
ICAgICAgICBZWVNUQUNLX0ZSRUUgKCp5eWJvdHRvbSk7Ci0gICAgICAqeXlib3R0b20gPSB5eWJv
dHRvbV9uZXc7Ci0gICAgICAqeXljYXBhY2l0eSA9IHl5YWxsb2M7XW00X2lmKGI0X3BlcmNlbnRf
ZGVmaW5lX2dldChbW3BhcnNlLmxhYy5tZW1vcnktdHJhY2VdXSksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFtmdWxsXSwgW1sKLSAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwg
IiVzcmVhbGxvYyB0byAlbHUlcyIsIHl5ZGVidWdfcHJlZml4LAotICAgICAgICAgICAgICAgICAg
KHVuc2lnbmVkIGxvbmcpIHl5YWxsb2MsIHl5ZGVidWdfc3VmZml4KSk7XV0pWwotICAgIH0KLSAg
cmV0dXJuIDA7Ci19Ci0KLS8qIEVzdGFibGlzaCB0aGUgaW5pdGlhbCBjb250ZXh0IGZvciB0aGUg
Y3VycmVudCBsb29rYWhlYWQgaWYgbm8gaW5pdGlhbAotICAgY29udGV4dCBpcyBjdXJyZW50bHkg
ZXN0YWJsaXNoZWQuCi0KLSAgIFdlIGRlZmluZSBhIGNvbnRleHQgYXMgYSBzbmFwc2hvdCBvZiB0
aGUgcGFyc2VyIHN0YWNrcy4gIFdlIGRlZmluZQotICAgdGhlIGluaXRpYWwgY29udGV4dCBmb3Ig
YSBsb29rYWhlYWQgYXMgdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlCi0gICBwYXJzZXIgaW5pdGlh
bGx5IGV4YW1pbmVzIHRoYXQgbG9va2FoZWFkIGluIG9yZGVyIHRvIHNlbGVjdCBhCi0gICBzeW50
YWN0aWMgYWN0aW9uLiAgVGh1cywgaWYgdGhlIGxvb2thaGVhZCBldmVudHVhbGx5IHByb3Zlcwot
ICAgc3ludGFjdGljYWxseSB1bmFjY2VwdGFibGUgKHBvc3NpYmx5IGluIGEgbGF0ZXIgY29udGV4
dCByZWFjaGVkIHZpYSBhCi0gICBzZXJpZXMgb2YgcmVkdWN0aW9ucyksIHRoZSBpbml0aWFsIGNv
bnRleHQgY2FuIGJlIHVzZWQgdG8gZGV0ZXJtaW5lCi0gICB0aGUgZXhhY3Qgc2V0IG9mIHRva2Vu
cyB0aGF0IHdvdWxkIGJlIHN5bnRhY3RpY2FsbHkgYWNjZXB0YWJsZSBpbiB0aGUKLSAgIGxvb2th
aGVhZCdzIHBsYWNlLiAgTW9yZW92ZXIsIGl0IGlzIHRoZSBjb250ZXh0IGFmdGVyIHdoaWNoIGFu
eQotICAgZnVydGhlciBzZW1hbnRpYyBhY3Rpb25zIHdvdWxkIGJlIGVycm9uZW91cyBiZWNhdXNl
IHRoZXkgd291bGQgYmUKLSAgIGRldGVybWluZWQgYnkgYSBzeW50YWN0aWNhbGx5IHVuYWNjZXB0
YWJsZSB0b2tlbi4KLQotICAgWVlfTEFDX0VTVEFCTElTSCBzaG91bGQgYmUgaW52b2tlZCB3aGVu
IGEgcmVkdWN0aW9uIGlzIGFib3V0IHRvIGJlCi0gICBwZXJmb3JtZWQgaW4gYW4gaW5jb25zaXN0
ZW50IHN0YXRlICh3aGljaCwgZm9yIHRoZSBwdXJwb3NlcyBvZiBMQUMsCi0gICBpbmNsdWRlcyBj
b25zaXN0ZW50IHN0YXRlcyB0aGF0IGRvbid0IGtub3cgdGhleSdyZSBjb25zaXN0ZW50IGJlY2F1
c2UKLSAgIHRoZWlyIGRlZmF1bHQgcmVkdWN0aW9ucyBoYXZlIGJlZW4gZGlzYWJsZWQpLiAgSWZm
IHRoZXJlIGlzIGEKLSAgIGxvb2thaGVhZCB0b2tlbiwgaXQgc2hvdWxkIGFsc28gYmUgaW52b2tl
ZCBiZWZvcmUgcmVwb3J0aW5nIGEgc3ludGF4Ci0gICBlcnJvci4gIFRoaXMgbGF0dGVyIGNhc2Ug
aXMgZm9yIHRoZSBzYWtlIG9mIHRoZSBkZWJ1Z2dpbmcgb3V0cHV0LgotCi0gICBGb3IgcGFyc2Uu
bGFjPWZ1bGwsIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBZWV9MQUNfRVNUQUJMSVNIIGlzIGFzCi0g
ICBmb2xsb3dzLiAgSWYgbm8gaW5pdGlhbCBjb250ZXh0IGlzIGN1cnJlbnRseSBlc3RhYmxpc2hl
ZCBmb3IgdGhlCi0gICBjdXJyZW50IGxvb2thaGVhZCwgdGhlbiBjaGVjayBpZiB0aGF0IGxvb2th
aGVhZCBjYW4gZXZlbnR1YWxseSBiZQotICAgc2hpZnRlZCBpZiBzeW50YWN0aWMgYWN0aW9ucyBj
b250aW51ZSBmcm9tIHRoZSBjdXJyZW50IGNvbnRleHQuCi0gICBSZXBvcnQgYSBzeW50YXggZXJy
b3IgaWYgaXQgY2Fubm90LiAgKi8KLSNkZWZpbmUgWVlfTEFDX0VTVEFCTElTSCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotZG8geyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGlmICgheXlfbGFj
X2VzdGFibGlzaGVkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAiTEFDOiBpbml0aWFsIGNvbnRl
eHQgZXN0YWJsaXNoZWQgZm9yICVzXG4iLCAgIFwKLSAgICAgICAgICAgICAgICAgIHl5dG5hbWVb
eXl0b2tlbl0pKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgeXlfbGFjX2Vz
dGFibGlzaGVkID0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgaW50IHl5X2xhY19zdGF0dXMgPSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgIHl5X2xhYyAoeXllc2EsICZ5eWVzLCAmeXllc19j
YXBhY2l0eSwgeXlzc3AsIHl5dG9rZW4pOyBcCi0gICAgICAgIGlmICh5eV9sYWNfc3RhdHVzID09
IDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBnb3RvIHl5
ZXhoYXVzdGVkbGFiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICBpZiAoeXlfbGFjX3N0YXR1cyA9PSAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgZ290byB5eWVycmxhYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19IHdoaWxlICgwKQotCi0vKiBE
aXNjYXJkIGFueSBwcmV2aW91cyBpbml0aWFsIGxvb2thaGVhZCBjb250ZXh0IGJlY2F1c2Ugb2Yg
RXZlbnQsCi0gICB3aGljaCBtYXkgYmUgYSBsb29rYWhlYWQgY2hhbmdlIG9yIGFuIGludmFsaWRh
dGlvbiBvZiB0aGUgY3VycmVudGx5Ci0gICBlc3RhYmxpc2hlZCBpbml0aWFsIGNvbnRleHQgZm9y
IHRoZSBjdXJyZW50IGxvb2thaGVhZC4KLQotICAgVGhlIG1vc3QgY29tbW9uIGV4YW1wbGUgb2Yg
YSBsb29rYWhlYWQgY2hhbmdlIGlzIGEgc2hpZnQuICBBbiBleGFtcGxlCi0gICBvZiBib3RoIGNh
c2VzIGlzIHN5bnRheCBlcnJvciByZWNvdmVyeS4gIFRoYXQgaXMsIGEgc3ludGF4IGVycm9yCi0g
ICBvY2N1cnMgd2hlbiB0aGUgbG9va2FoZWFkIGlzIHN5bnRhY3RpY2FsbHkgZXJyb25lb3VzIGZv
ciB0aGUKLSAgIGN1cnJlbnRseSBlc3RhYmxpc2hlZCBpbml0aWFsIGNvbnRleHQsIHNvIGVycm9y
IHJlY292ZXJ5IG1hbmlwdWxhdGVzCi0gICB0aGUgcGFyc2VyIHN0YWNrcyB0byB0cnkgdG8gZmlu
ZCBhIG5ldyBpbml0aWFsIGNvbnRleHQgaW4gd2hpY2ggdGhlCi0gICBjdXJyZW50IGxvb2thaGVh
ZCBpcyBzeW50YWN0aWNhbGx5IGFjY2VwdGFibGUuICBJZiBpdCBmYWlscyB0byBmaW5kCi0gICBz
dWNoIGEgY29udGV4dCwgaXQgZGlzY2FyZHMgdGhlIGxvb2thaGVhZC4gICovCi0jaWYgXWI0X2Fw
aV9QUkVGSVhbREVCVUcKLSMgZGVmaW5lIFlZX0xBQ19ESVNDQVJEKEV2ZW50KSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi1kbyB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBp
ZiAoeXlfbGFjX2VzdGFibGlzaGVkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAoeXlkZWJ1ZykgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICBZWUZQUklOVEYgKHN0ZGVyciwgIkxBQzogaW5pdGlhbCBjb250ZXh0IGRpc2NhcmRlZCBk
dWUgdG8gIiAgICAgIFwKLSAgICAgICAgICAgICAgICAgICBFdmVudCAiXG4iKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB5eV9sYWNfZXN0YWJsaXNo
ZWQgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLX0gd2hpbGUgKDApCi0jZWxzZQotIyBkZWZpbmUgWVlfTEFDX0RJU0NB
UkQoRXZlbnQpIHl5X2xhY19lc3RhYmxpc2hlZCA9IDAKLSNlbmRpZgotCi0vKiBHaXZlbiB0aGUg
c3RhY2sgd2hvc2UgdG9wIGlzICpZWVNTUCwgcmV0dXJuIDAgaWZmIFlZVE9LRU4gY2FuCi0gICBl
dmVudHVhbGx5IChhZnRlciBwZXJoYXBzIHNvbWUgcmVkdWN0aW9ucykgYmUgc2hpZnRlZCwgcmV0
dXJuIDEgaWYKLSAgIG5vdCwgb3IgcmV0dXJuIDIgaWYgbWVtb3J5IGlzIGV4aGF1c3RlZC4gIEFz
IHByZWNvbmRpdGlvbnMgYW5kCi0gICBwb3N0Y29uZGl0aW9uczogKllZRVNfQ0FQQUNJVFkgaXMg
dGhlIGFsbG9jYXRlZCBzaXplIG9mIHRoZSBhcnJheSB0bwotICAgd2hpY2ggKllZRVMgcG9pbnRz
LCBhbmQgZWl0aGVyICpZWUVTID0gWVlFU0Egb3IgKllZRVMgcG9pbnRzIHRvIGFuCi0gICBhcnJh
eSBhbGxvY2F0ZWQgd2l0aCBZWVNUQUNLX0FMTE9DLiAgeXlfbGFjIG1heSBvdmVyd3JpdGUgdGhl
Ci0gICBjb250ZW50cyBvZiBlaXRoZXIgYXJyYXksIGFsdGVyICpZWUVTIGFuZCAqWVlFU19DQVBB
Q0lUWSwgYW5kIGZyZWUKLSAgIGFueSBvbGQgKllZRVMgb3RoZXIgdGhhbiBZWUVTQS4gICovCi1z
dGF0aWMgaW50Ci15eV9sYWMgKHl5dHlwZV9pbnQxNiAqeXllc2EsIHl5dHlwZV9pbnQxNiAqKnl5
ZXMsCi0gICAgICAgIFlZU0laRV9UICp5eWVzX2NhcGFjaXR5LCB5eXR5cGVfaW50MTYgKnl5c3Nw
LCBpbnQgeXl0b2tlbikKLXsKLSAgeXl0eXBlX2ludDE2ICp5eWVzX3ByZXYgPSB5eXNzcDsKLSAg
eXl0eXBlX2ludDE2ICp5eWVzcCA9IHl5ZXNfcHJldjsKLSAgWVlEUFJJTlRGICgoc3RkZXJyLCAi
TEFDOiBjaGVja2luZyBsb29rYWhlYWQgJXM6IiwgeXl0bmFtZVt5eXRva2VuXSkpOwotICBpZiAo
eXl0b2tlbiA9PSBZWVVOREVGVE9LKQotICAgIHsKLSAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwg
IiBBbHdheXMgRXJyXG4iKSk7Ci0gICAgICByZXR1cm4gMTsKLSAgICB9Ci0gIHdoaWxlICgxKQot
ICAgIHsKLSAgICAgIGludCB5eXJ1bGUgPSB5eXBhY3RbKnl5ZXNwXTsKLSAgICAgIGlmICh5eXBh
Y3RfdmFsdWVfaXNfZGVmYXVsdCAoeXlydWxlKQotICAgICAgICAgIHx8ICh5eXJ1bGUgKz0geXl0
b2tlbikgPCAwIHx8IFlZTEFTVCA8IHl5cnVsZQotICAgICAgICAgIHx8IHl5Y2hlY2tbeXlydWxl
XSAhPSB5eXRva2VuKQotICAgICAgICB7Ci0gICAgICAgICAgeXlydWxlID0geXlkZWZhY3RbKnl5
ZXNwXTsKLSAgICAgICAgICBpZiAoeXlydWxlID09IDApCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiBFcnJcbiIpKTsKLSAgICAgICAgICAgICAgcmV0
dXJuIDE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgIGVsc2UKLSAgICAgICAgewot
ICAgICAgICAgIHl5cnVsZSA9IHl5dGFibGVbeXlydWxlXTsKLSAgICAgICAgICBpZiAoeXl0YWJs
ZV92YWx1ZV9pc19lcnJvciAoeXlydWxlKSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
WVlEUFJJTlRGICgoc3RkZXJyLCAiIEVyclxuIikpOwotICAgICAgICAgICAgICByZXR1cm4gMTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICBpZiAoMCA8IHl5cnVsZSkKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiIFMlZFxuIiwgeXlydWxlKSk7Ci0g
ICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgICAgfQotICAgICAgICAgIHl5cnVsZSA9
IC15eXJ1bGU7Ci0gICAgICAgIH0KLSAgICAgIHsKLSAgICAgICAgWVlTSVpFX1QgeXlsZW4gPSB5
eXIyW3l5cnVsZV07Ci0gICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiBSJWQiLCB5eXJ1bGUg
LSAxKSk7Ci0gICAgICAgIGlmICh5eWVzcCAhPSB5eWVzX3ByZXYpCi0gICAgICAgICAgewotICAg
ICAgICAgICAgWVlTSVpFX1QgeXlzaXplID0gKFlZU0laRV9UKSAoeXllc3AgLSAqeXllcyArIDEp
OwotICAgICAgICAgICAgaWYgKHl5bGVuIDwgeXlzaXplKQotICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgeXllc3AgLT0geXlsZW47Ci0gICAgICAgICAgICAgICAgeXlsZW4gPSAwOwot
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICB5eWxlbiAtPSB5eXNpemU7Ci0gICAgICAgICAgICAgICAgeXllc3AgPSB5eWVz
X3ByZXY7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICB9Ci0gICAgICAgIGlmICh5eWxlbikK
LSAgICAgICAgICB5eWVzcCA9IHl5ZXNfcHJldiAtPSB5eWxlbjsKLSAgICAgIH0KLSAgICAgIHsK
LSAgICAgICAgeXl0eXBlX2ludDE2IHl5c3RhdGU7Ci0gICAgICAgIHsKLSAgICAgICAgICBjb25z
dCBpbnQgeXlsaHMgPSB5eXIxW3l5cnVsZV0gLSBZWU5UT0tFTlM7Ci0gICAgICAgICAgY29uc3Qg
aW50IHl5aSA9IHl5cGdvdG9beXlsaHNdICsgKnl5ZXNwOwotICAgICAgICAgIHl5c3RhdGUgPSAo
KHl5dHlwZV9pbnQxNikKLSAgICAgICAgICAgICAgICAgICAgICgwIDw9IHl5aSAmJiB5eWkgPD0g
WVlMQVNUICYmIHl5Y2hlY2tbeXlpXSA9PSAqeXllc3AKLSAgICAgICAgICAgICAgICAgICAgICA/
IHl5dGFibGVbeXlpXQotICAgICAgICAgICAgICAgICAgICAgIDogeXlkZWZnb3RvW3l5bGhzXSkp
OwotICAgICAgICB9Ci0gICAgICAgIGlmICh5eWVzcCA9PSB5eWVzX3ByZXYpCi0gICAgICAgICAg
ewotICAgICAgICAgICAgeXllc3AgPSAqeXllczsKLSAgICAgICAgICAgICp5eWVzcCA9IHl5c3Rh
dGU7Ci0gICAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgewotICAgICAgICAgICAg
aWYgKHl5X2xhY19zdGFja19yZWFsbG9jICh5eWVzX2NhcGFjaXR5LCAxLAotI2lmIF1iNF9hcGlf
UFJFRklYW0RFQlVHCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgKCIs
ICIpIiwKLSNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5eWVz
LCB5eWVzYSwgJnl5ZXNwLCB5eWVzX3ByZXYpKQotICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiXG4iKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IDI7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICorK3l5ZXNwID0geXlzdGF0ZTsKLSAg
ICAgICAgICB9Ci0gICAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIiBHJWQiLCAoaW50KSB5eXN0
YXRlKSk7Ci0gICAgICB9Ci0gICAgfQotfV1dKVsKLQotCi0jaWYgWVlFUlJPUl9WRVJCT1NFCi0K
LSMgaWZuZGVmIHl5c3RybGVuCi0jICBpZiBkZWZpbmVkIF9fR0xJQkNfXyAmJiBkZWZpbmVkIF9T
VFJJTkdfSAotIyAgIGRlZmluZSB5eXN0cmxlbiBzdHJsZW4KLSMgIGVsc2UKLS8qIFJldHVybiB0
aGUgbGVuZ3RoIG9mIFlZU1RSLiAgKi8KLV1iNF9mdW5jdGlvbl9kZWZpbmUoW3l5c3RybGVuXSwg
W3N0YXRpYyBZWVNJWkVfVF0sCi0gICBbW2NvbnN0IGNoYXIgKnl5c3RyXSwgW3l5c3RyXV0pWwot
ewotICBZWVNJWkVfVCB5eWxlbjsKLSAgZm9yICh5eWxlbiA9IDA7IHl5c3RyW3l5bGVuXTsgeXls
ZW4rKykKLSAgICBjb250aW51ZTsKLSAgcmV0dXJuIHl5bGVuOwotfQotIyAgZW5kaWYKLSMgZW5k
aWYKLQotIyBpZm5kZWYgeXlzdHBjcHkKLSMgIGlmIGRlZmluZWQgX19HTElCQ19fICYmIGRlZmlu
ZWQgX1NUUklOR19IICYmIGRlZmluZWQgX0dOVV9TT1VSQ0UKLSMgICBkZWZpbmUgeXlzdHBjcHkg
c3RwY3B5Ci0jICBlbHNlCi0vKiBDb3B5IFlZU1JDIHRvIFlZREVTVCwgcmV0dXJuaW5nIHRoZSBh
ZGRyZXNzIG9mIHRoZSB0ZXJtaW5hdGluZyAnXDAnIGluCi0gICBZWURFU1QuICAqLwotXWI0X2Z1
bmN0aW9uX2RlZmluZShbeXlzdHBjcHldLCBbc3RhdGljIGNoYXIgKl0sCi0gICBbW2NoYXIgKnl5
ZGVzdF0sIFt5eWRlc3RdXSwgW1tjb25zdCBjaGFyICp5eXNyY10sIFt5eXNyY11dKVsKLXsKLSAg
Y2hhciAqeXlkID0geXlkZXN0OwotICBjb25zdCBjaGFyICp5eXMgPSB5eXNyYzsKLQotICB3aGls
ZSAoKCp5eWQrKyA9ICp5eXMrKykgIT0gJ1wwJykKLSAgICBjb250aW51ZTsKLQotICByZXR1cm4g
eXlkIC0gMTsKLX0KLSMgIGVuZGlmCi0jIGVuZGlmCi0KLSMgaWZuZGVmIHl5dG5hbWVycgotLyog
Q29weSB0byBZWVJFUyB0aGUgY29udGVudHMgb2YgWVlTVFIgYWZ0ZXIgc3RyaXBwaW5nIGF3YXkg
dW5uZWNlc3NhcnkKLSAgIHF1b3RlcyBhbmQgYmFja3NsYXNoZXMsIHNvIHRoYXQgaXQncyBzdWl0
YWJsZSBmb3IgeXllcnJvci4gIFRoZQotICAgaGV1cmlzdGljIGlzIHRoYXQgZG91YmxlLXF1b3Rp
bmcgaXMgdW5uZWNlc3NhcnkgdW5sZXNzIHRoZSBzdHJpbmcKLSAgIGNvbnRhaW5zIGFuIGFwb3N0
cm9waGUsIGEgY29tbWEsIG9yIGJhY2tzbGFzaCAob3RoZXIgdGhhbgotICAgYmFja3NsYXNoLWJh
Y2tzbGFzaCkuICBZWVNUUiBpcyB0YWtlbiBmcm9tIHl5dG5hbWUuICBJZiBZWVJFUyBpcwotICAg
bnVsbCwgZG8gbm90IGNvcHk7IGluc3RlYWQsIHJldHVybiB0aGUgbGVuZ3RoIG9mIHdoYXQgdGhl
IHJlc3VsdAotICAgd291bGQgaGF2ZSBiZWVuLiAgKi8KLXN0YXRpYyBZWVNJWkVfVAoteXl0bmFt
ZXJyIChjaGFyICp5eXJlcywgY29uc3QgY2hhciAqeXlzdHIpCi17Ci0gIGlmICgqeXlzdHIgPT0g
JyInKQotICAgIHsKLSAgICAgIFlZU0laRV9UIHl5biA9IDA7Ci0gICAgICBjaGFyIGNvbnN0ICp5
eXAgPSB5eXN0cjsKLQotICAgICAgZm9yICg7OykKLSAgICAgICAgc3dpdGNoICgqKyt5eXApCi0g
ICAgICAgICAgewotICAgICAgICAgIGNhc2UgJ1wnJzoKLSAgICAgICAgICBjYXNlICcsJzoKLSAg
ICAgICAgICAgIGdvdG8gZG9fbm90X3N0cmlwX3F1b3RlczsKLQotICAgICAgICAgIGNhc2UgJ1xc
JzoKLSAgICAgICAgICAgIGlmICgqKyt5eXAgIT0gJ1xcJykKLSAgICAgICAgICAgICAgZ290byBk
b19ub3Rfc3RyaXBfcXVvdGVzOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICBnb3Rv
IGFwcGVuZDsKLQotICAgICAgICAgIGFwcGVuZDoKLSAgICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgaWYgKHl5cmVzKQotICAgICAgICAgICAgICB5eXJlc1t5eW5dID0gKnl5cDsKLSAgICAg
ICAgICAgIHl5bisrOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICBjYXNlICciJzoK
LSAgICAgICAgICAgIGlmICh5eXJlcykKLSAgICAgICAgICAgICAgeXlyZXNbeXluXSA9ICdcMCc7
Ci0gICAgICAgICAgICByZXR1cm4geXluOwotICAgICAgICAgIH0KLSAgICBkb19ub3Rfc3RyaXBf
cXVvdGVzOiA7Ci0gICAgfQotCi0gIGlmICghIHl5cmVzKQotICAgIHJldHVybiB5eXN0cmxlbiAo
eXlzdHIpOwotCi0gIHJldHVybiAoWVlTSVpFX1QpICh5eXN0cGNweSAoeXlyZXMsIHl5c3RyKSAt
IHl5cmVzKTsKLX0KLSMgZW5kaWYKLQotLyogQ29weSBpbnRvICpZWU1TRywgd2hpY2ggaXMgb2Yg
c2l6ZSAqWVlNU0dfQUxMT0MsIGFuIGVycm9yIG1lc3NhZ2UKLSAgIGFib3V0IHRoZSB1bmV4cGVj
dGVkIHRva2VuIFlZVE9LRU4gZm9yIHRoZSBzdGF0ZSBzdGFjayB3aG9zZSB0b3AgaXMKLSAgIFlZ
U1NQLl1iNF9sYWNfaWYoW1sgIEluIG9yZGVyIHRvIHNlZSBpZiBhIHBhcnRpY3VsYXIgdG9rZW4g
VCBpcyBhCi0gICB2YWxpZCBsb29ha2hlYWQsIGludm9rZSB5eV9sYWMgKFlZRVNBLCBZWUVTLCBZ
WUVTX0NBUEFDSVRZLCBZWVNTUCwgVCkuXV0pWwotCi0gICBSZXR1cm4gMCBpZiAqWVlNU0cgd2Fz
IHN1Y2Nlc3NmdWxseSB3cml0dGVuLiAgUmV0dXJuIDEgaWYgKllZTVNHIGlzCi0gICBub3QgbGFy
Z2UgZW5vdWdoIHRvIGhvbGQgdGhlIG1lc3NhZ2UuICBJbiB0aGF0IGNhc2UsIGFsc28gc2V0Ci0g
ICAqWVlNU0dfQUxMT0MgdG8gdGhlIHJlcXVpcmVkIG51bWJlciBvZiBieXRlcy4gIFJldHVybiAy
IGlmIHRoZQotICAgcmVxdWlyZWQgbnVtYmVyIG9mIGJ5dGVzIGlzIHRvbyBsYXJnZSB0byBzdG9y
ZV1iNF9sYWNfaWYoW1sgb3IgaWYKLSAgIHl5X2xhYyByZXR1cm5lZCAyXV0pWy4gICovCi1zdGF0
aWMgaW50Ci15eXN5bnRheF9lcnJvciAoWVlTSVpFX1QgKnl5bXNnX2FsbG9jLCBjaGFyICoqeXlt
c2csCi0gICAgICAgICAgICAgICAgXWI0X2xhY19pZihbW3l5dHlwZV9pbnQxNiAqeXllc2EsIHl5
dHlwZV9pbnQxNiAqKnl5ZXMsCi0gICAgICAgICAgICAgICAgWVlTSVpFX1QgKnl5ZXNfY2FwYWNp
dHksIF1dKVt5eXR5cGVfaW50MTYgKnl5c3NwLCBpbnQgeXl0b2tlbikKLXsKLSAgWVlTSVpFX1Qg
eXlzaXplMCA9IHl5dG5hbWVyciAoWVlfTlVMTFBUUiwgeXl0bmFtZVt5eXRva2VuXSk7Ci0gIFlZ
U0laRV9UIHl5c2l6ZSA9IHl5c2l6ZTA7Ci0gIGVudW0geyBZWUVSUk9SX1ZFUkJPU0VfQVJHU19N
QVhJTVVNID0gNSB9OwotICAvKiBJbnRlcm5hdGlvbmFsaXplZCBmb3JtYXQgc3RyaW5nLiAqLwot
ICBjb25zdCBjaGFyICp5eWZvcm1hdCA9IFlZX05VTExQVFI7Ci0gIC8qIEFyZ3VtZW50cyBvZiB5
eWZvcm1hdC4gKi8KLSAgY2hhciBjb25zdCAqeXlhcmdbWVlFUlJPUl9WRVJCT1NFX0FSR1NfTUFY
SU1VTV07Ci0gIC8qIE51bWJlciBvZiByZXBvcnRlZCB0b2tlbnMgKG9uZSBmb3IgdGhlICJ1bmV4
cGVjdGVkIiwgb25lIHBlcgotICAgICAiZXhwZWN0ZWQiKS4gKi8KLSAgaW50IHl5Y291bnQgPSAw
OwotCi0gIC8qIFRoZXJlIGFyZSBtYW55IHBvc3NpYmlsaXRpZXMgaGVyZSB0byBjb25zaWRlcjoK
LSAgICAgLSBJZiB0aGlzIHN0YXRlIGlzIGEgY29uc2lzdGVudCBzdGF0ZSB3aXRoIGEgZGVmYXVs
dCBhY3Rpb24sIHRoZW4KLSAgICAgICB0aGUgb25seSB3YXkgdGhpcyBmdW5jdGlvbiB3YXMgaW52
b2tlZCBpcyBpZiB0aGUgZGVmYXVsdCBhY3Rpb24KLSAgICAgICBpcyBhbiBlcnJvciBhY3Rpb24u
ICBJbiB0aGF0IGNhc2UsIGRvbid0IGNoZWNrIGZvciBleHBlY3RlZAotICAgICAgIHRva2VucyBi
ZWNhdXNlIHRoZXJlIGFyZSBub25lLgotICAgICAtIFRoZSBvbmx5IHdheSB0aGVyZSBjYW4gYmUg
bm8gbG9va2FoZWFkIHByZXNlbnQgKGluIHl5Y2hhcikgaXMgaWYKLSAgICAgICB0aGlzIHN0YXRl
IGlzIGEgY29uc2lzdGVudCBzdGF0ZSB3aXRoIGEgZGVmYXVsdCBhY3Rpb24uICBUaHVzLAotICAg
ICAgIGRldGVjdGluZyB0aGUgYWJzZW5jZSBvZiBhIGxvb2thaGVhZCBpcyBzdWZmaWNpZW50IHRv
IGRldGVybWluZQotICAgICAgIHRoYXQgdGhlcmUgaXMgbm8gdW5leHBlY3RlZCBvciBleHBlY3Rl
ZCB0b2tlbiB0byByZXBvcnQuICBJbiB0aGF0Ci0gICAgICAgY2FzZSwganVzdCByZXBvcnQgYSBz
aW1wbGUgInN5bnRheCBlcnJvciIuCi0gICAgIC0gRG9uJ3QgYXNzdW1lIHRoZXJlIGlzbid0IGEg
bG9va2FoZWFkIGp1c3QgYmVjYXVzZSB0aGlzIHN0YXRlIGlzIGEKLSAgICAgICBjb25zaXN0ZW50
IHN0YXRlIHdpdGggYSBkZWZhdWx0IGFjdGlvbi4gIFRoZXJlIG1pZ2h0IGhhdmUgYmVlbiBhCi0g
ICAgICAgcHJldmlvdXMgaW5jb25zaXN0ZW50IHN0YXRlLCBjb25zaXN0ZW50IHN0YXRlIHdpdGgg
YSBub24tZGVmYXVsdAotICAgICAgIGFjdGlvbiwgb3IgdXNlciBzZW1hbnRpYyBhY3Rpb24gdGhh
dCBtYW5pcHVsYXRlZCB5eWNoYXIuXWI0X2xhY19pZihbWwotICAgICAgIEluIHRoZSBmaXJzdCB0
d28gY2FzZXMsIGl0IG1pZ2h0IGFwcGVhciB0aGF0IHRoZSBjdXJyZW50IHN5bnRheAotICAgICAg
IGVycm9yIHNob3VsZCBoYXZlIGJlZW4gZGV0ZWN0ZWQgaW4gdGhlIHByZXZpb3VzIHN0YXRlIHdo
ZW4geXlfbGFjCi0gICAgICAgd2FzIGludm9rZWQuICBIb3dldmVyLCBhdCB0aGF0IHRpbWUsIHRo
ZXJlIG1pZ2h0IGhhdmUgYmVlbiBhCi0gICAgICAgZGlmZmVyZW50IHN5bnRheCBlcnJvciB0aGF0
IGRpc2NhcmRlZCBhIGRpZmZlcmVudCBpbml0aWFsIGNvbnRleHQKLSAgICAgICBkdXJpbmcgZXJy
b3IgcmVjb3ZlcnksIGxlYXZpbmcgYmVoaW5kIHRoZSBjdXJyZW50IGxvb2thaGVhZC5dXSwgW1sK
LSAgICAgLSBPZiBjb3Vyc2UsIHRoZSBleHBlY3RlZCB0b2tlbiBsaXN0IGRlcGVuZHMgb24gc3Rh
dGVzIHRvIGhhdmUKLSAgICAgICBjb3JyZWN0IGxvb2thaGVhZCBpbmZvcm1hdGlvbiwgYW5kIGl0
IGRlcGVuZHMgb24gdGhlIHBhcnNlciBub3QKLSAgICAgICB0byBwZXJmb3JtIGV4dHJhIHJlZHVj
dGlvbnMgYWZ0ZXIgZmV0Y2hpbmcgYSBsb29rYWhlYWQgZnJvbSB0aGUKLSAgICAgICBzY2FubmVy
IGFuZCBiZWZvcmUgZGV0ZWN0aW5nIGEgc3ludGF4IGVycm9yLiAgVGh1cywgc3RhdGUgbWVyZ2lu
ZwotICAgICAgIChmcm9tIExBTFIgb3IgSUVMUikgYW5kIGRlZmF1bHQgcmVkdWN0aW9ucyBjb3Jy
dXB0IHRoZSBleHBlY3RlZAotICAgICAgIHRva2VuIGxpc3QuICBIb3dldmVyLCB0aGUgbGlzdCBp
cyBjb3JyZWN0IGZvciBjYW5vbmljYWwgTFIgd2l0aAotICAgICAgIG9uZSBleGNlcHRpb246IGl0
IHdpbGwgc3RpbGwgY29udGFpbiBhbnkgdG9rZW4gdGhhdCB3aWxsIG5vdCBiZQotICAgICAgIGFj
Y2VwdGVkIGR1ZSB0byBhbiBlcnJvciBhY3Rpb24gaW4gYSBsYXRlciBzdGF0ZS5dXSlbCi0gICov
Ci0gIGlmICh5eXRva2VuICE9IFlZRU1QVFkpCi0gICAgewotICAgICAgaW50IHl5biA9IHl5cGFj
dFsqeXlzc3BdO11iNF9sYWNfaWYoW1sKLSAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwgIkNvbnN0
cnVjdGluZyBzeW50YXggZXJyb3IgbWVzc2FnZVxuIikpO11dKVsKLSAgICAgIHl5YXJnW3l5Y291
bnQrK10gPSB5eXRuYW1lW3l5dG9rZW5dOwotICAgICAgaWYgKCF5eXBhY3RfdmFsdWVfaXNfZGVm
YXVsdCAoeXluKSkKLSAgICAgICAge11iNF9sYWNfaWYoW10sIFtbCi0gICAgICAgICAgLyogU3Rh
cnQgWVlYIGF0IC1ZWU4gaWYgbmVnYXRpdmUgdG8gYXZvaWQgbmVnYXRpdmUgaW5kZXhlcyBpbgot
ICAgICAgICAgICAgIFlZQ0hFQ0suICBJbiBvdGhlciB3b3Jkcywgc2tpcCB0aGUgZmlyc3QgLVlZ
TiBhY3Rpb25zIGZvcgotICAgICAgICAgICAgIHRoaXMgc3RhdGUgYmVjYXVzZSB0aGV5IGFyZSBk
ZWZhdWx0IGFjdGlvbnMuICAqLwotICAgICAgICAgIGludCB5eXhiZWdpbiA9IHl5biA8IDAgPyAt
eXluIDogMDsKLSAgICAgICAgICAvKiBTdGF5IHdpdGhpbiBib3VuZHMgb2YgYm90aCB5eWNoZWNr
IGFuZCB5eXRuYW1lLiAgKi8KLSAgICAgICAgICBpbnQgeXljaGVja2xpbSA9IFlZTEFTVCAtIHl5
biArIDE7Ci0gICAgICAgICAgaW50IHl5eGVuZCA9IHl5Y2hlY2tsaW0gPCBZWU5UT0tFTlMgPyB5
eWNoZWNrbGltIDogWVlOVE9LRU5TO11dKVsKLSAgICAgICAgICBpbnQgeXl4O11iNF9sYWNfaWYo
W1sKLQotICAgICAgICAgIGZvciAoeXl4ID0gMDsgeXl4IDwgWVlOVE9LRU5TOyArK3l5eCkKLSAg
ICAgICAgICAgIGlmICh5eXggIT0gWVlURVJST1IgJiYgeXl4ICE9IFlZVU5ERUZUT0spCi0gICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICBpbnQgeXlf
bGFjX3N0YXR1cyA9IHl5X2xhYyAoeXllc2EsIHl5ZXMsIHl5ZXNfY2FwYWNpdHksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeXlzc3AsIHl5eCk7Ci0gICAg
ICAgICAgICAgICAgICBpZiAoeXlfbGFjX3N0YXR1cyA9PSAyKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gMjsKLSAgICAgICAgICAgICAgICAgIGlmICh5eV9sYWNfc3RhdHVzID09IDEpCi0g
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH1dXSwgW1sKLQot
ICAgICAgICAgIGZvciAoeXl4ID0geXl4YmVnaW47IHl5eCA8IHl5eGVuZDsgKyt5eXgpCi0gICAg
ICAgICAgICBpZiAoeXljaGVja1t5eXggKyB5eW5dID09IHl5eCAmJiB5eXggIT0gWVlURVJST1IK
LSAgICAgICAgICAgICAgICAmJiAheXl0YWJsZV92YWx1ZV9pc19lcnJvciAoeXl0YWJsZVt5eXgg
KyB5eW5dKSkKLSAgICAgICAgICAgICAge11dKVsKLSAgICAgICAgICAgICAgICBpZiAoeXljb3Vu
dCA9PSBZWUVSUk9SX1ZFUkJPU0VfQVJHU19NQVhJTVVNKQotICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICB5eWNvdW50ID0gMTsKLSAgICAgICAgICAgICAgICAgICAgeXlz
aXplID0geXlzaXplMDsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgeXlhcmdbeXljb3VudCsrXSA9IHl5dG5hbWVbeXl4XTsK
LSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICBZWVNJWkVfVCB5eXNpemUxID0g
eXlzaXplICsgeXl0bmFtZXJyIChZWV9OVUxMUFRSLCB5eXRuYW1lW3l5eF0pOwotICAgICAgICAg
ICAgICAgICAgaWYgKHl5c2l6ZSA8PSB5eXNpemUxICYmIHl5c2l6ZTEgPD0gWVlTVEFDS19BTExP
Q19NQVhJTVVNKQotICAgICAgICAgICAgICAgICAgICB5eXNpemUgPSB5eXNpemUxOwotICAgICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgfV1iNF9sYWNfaWYoW1sKLSMgaWYg
XWI0X2FwaV9QUkVGSVhbREVCVUcKLSAgICAgIGVsc2UgaWYgKHl5ZGVidWcpCi0gICAgICAgIFlZ
RlBSSU5URiAoc3RkZXJyLCAiTm8gZXhwZWN0ZWQgdG9rZW5zLlxuIik7Ci0jIGVuZGlmXV0pWwot
ICAgIH0KLQotICBzd2l0Y2ggKHl5Y291bnQpCi0gICAgewotIyBkZWZpbmUgWVlDQVNFXyhOLCBT
KSAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjYXNlIE46ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgeXlmb3JtYXQgPSBTOyAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgYnJlYWsKLSAgICBkZWZhdWx0OiAvKiBBdm9pZCBjb21waWxlciB3YXJuaW5n
cy4gKi8KLSAgICAgIFlZQ0FTRV8oMCwgWVlfKCJzeW50YXggZXJyb3IiKSk7Ci0gICAgICBZWUNB
U0VfKDEsIFlZXygic3ludGF4IGVycm9yLCB1bmV4cGVjdGVkICVzIikpOwotICAgICAgWVlDQVNF
XygyLCBZWV8oInN5bnRheCBlcnJvciwgdW5leHBlY3RlZCAlcywgZXhwZWN0aW5nICVzIikpOwot
ICAgICAgWVlDQVNFXygzLCBZWV8oInN5bnRheCBlcnJvciwgdW5leHBlY3RlZCAlcywgZXhwZWN0
aW5nICVzIG9yICVzIikpOwotICAgICAgWVlDQVNFXyg0LCBZWV8oInN5bnRheCBlcnJvciwgdW5l
eHBlY3RlZCAlcywgZXhwZWN0aW5nICVzIG9yICVzIG9yICVzIikpOwotICAgICAgWVlDQVNFXyg1
LCBZWV8oInN5bnRheCBlcnJvciwgdW5leHBlY3RlZCAlcywgZXhwZWN0aW5nICVzIG9yICVzIG9y
ICVzIG9yICVzIikpOwotIyB1bmRlZiBZWUNBU0VfCi0gICAgfQotCi0gIHsKLSAgICBZWVNJWkVf
VCB5eXNpemUxID0geXlzaXplICsgeXlzdHJsZW4gKHl5Zm9ybWF0KTsKLSAgICBpZiAoeXlzaXpl
IDw9IHl5c2l6ZTEgJiYgeXlzaXplMSA8PSBZWVNUQUNLX0FMTE9DX01BWElNVU0pCi0gICAgICB5
eXNpemUgPSB5eXNpemUxOwotICAgIGVsc2UKLSAgICAgIHJldHVybiAyOwotICB9Ci0KLSAgaWYg
KCp5eW1zZ19hbGxvYyA8IHl5c2l6ZSkKLSAgICB7Ci0gICAgICAqeXltc2dfYWxsb2MgPSAyICog
eXlzaXplOwotICAgICAgaWYgKCEgKHl5c2l6ZSA8PSAqeXltc2dfYWxsb2MKLSAgICAgICAgICAg
ICAmJiAqeXltc2dfYWxsb2MgPD0gWVlTVEFDS19BTExPQ19NQVhJTVVNKSkKLSAgICAgICAgKnl5
bXNnX2FsbG9jID0gWVlTVEFDS19BTExPQ19NQVhJTVVNOwotICAgICAgcmV0dXJuIDE7Ci0gICAg
fQotCi0gIC8qIEF2b2lkIHNwcmludGYsIGFzIHRoYXQgaW5mcmluZ2VzIG9uIHRoZSB1c2VyJ3Mg
bmFtZSBzcGFjZS4KLSAgICAgRG9uJ3QgaGF2ZSB1bmRlZmluZWQgYmVoYXZpb3IgZXZlbiBpZiB0
aGUgdHJhbnNsYXRpb24KLSAgICAgcHJvZHVjZWQgYSBzdHJpbmcgd2l0aCB0aGUgd3JvbmcgbnVt
YmVyIG9mICIlcyJzLiAgKi8KLSAgewotICAgIGNoYXIgKnl5cCA9ICp5eW1zZzsKLSAgICBpbnQg
eXlpID0gMDsKLSAgICB3aGlsZSAoKCp5eXAgPSAqeXlmb3JtYXQpICE9ICdcMCcpCi0gICAgICBp
ZiAoKnl5cCA9PSAnJScgJiYgeXlmb3JtYXRbMV0gPT0gJ3MnICYmIHl5aSA8IHl5Y291bnQpCi0g
ICAgICAgIHsKLSAgICAgICAgICB5eXAgKz0geXl0bmFtZXJyICh5eXAsIHl5YXJnW3l5aSsrXSk7
Ci0gICAgICAgICAgeXlmb3JtYXQgKz0gMjsKLSAgICAgICAgfQotICAgICAgZWxzZQotICAgICAg
ICB7Ci0gICAgICAgICAgeXlwKys7Ci0gICAgICAgICAgeXlmb3JtYXQrKzsKLSAgICAgICAgfQot
ICB9Ci0gIHJldHVybiAwOwotfQotI2VuZGlmIC8qIFlZRVJST1JfVkVSQk9TRSAqLwotCi1dYjRf
eXlkZXN0cnVjdF9kZWZpbmVbCi0KLV1iNF9wdXJlX2lmKFtdLCBbCi0KLWI0X2RlY2xhcmVfc2Nh
bm5lcl9jb21tdW5pY2F0aW9uX3ZhcmlhYmxlc10pW11iNF9wdXNoX2lmKFtbCi0KLXN0cnVjdCB5
eXBzdGF0ZQotICB7XWI0X2RlY2xhcmVfcGFyc2VyX3N0YXRlX3ZhcmlhYmxlc1sKLSAgICAvKiBV
c2VkIHRvIGRldGVybWluZSBpZiB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHRoaXMgaW5zdGFuY2Ug
aGFzCi0gICAgICAgYmVlbiB1c2VkLiAgKi8KLSAgICBpbnQgeXluZXc7Ci0gIH07XWI0X3B1cmVf
aWYoW10sIFtbCi0KLXN0YXRpYyBjaGFyIHl5cHN0YXRlX2FsbG9jYXRlZCA9IDA7XV0pYjRfcHVs
bF9pZihbCi0KLWI0X2Z1bmN0aW9uX2RlZmluZShbW3l5cGFyc2VdXSwgW1tpbnRdXSwgYjRfcGFy
c2VfcGFyYW0pWwotewotICByZXR1cm4geXlwdWxsX3BhcnNlIChZWV9OVUxMUFRSXW00X2lmc2V0
KFtiNF9wYXJzZV9wYXJhbV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1ss
IF1iNF9hcmdzKGI0X3BhcnNlX3BhcmFtKV0pWyk7Ci19Ci0KLV1iNF9mdW5jdGlvbl9kZWZpbmUo
W1t5eXB1bGxfcGFyc2VdXSwgW1tpbnRdXSwKLSAgW1tbeXlwc3RhdGUgKnl5cHNdXSwgW1t5eXBz
XV1dbTRfaWZzZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywKLSAgYjRfcGFyc2VfcGFyYW1dKSlbCi17
XWI0X3B1cmVfaWYoW2I0X2xvY2F0aW9uc19pZihbWwotICBzdGF0aWMgWVlMVFlQRSB5eWxvY19k
ZWZhdWx0XVtdYjRfeXlsb2NfZGVmYXVsdFs7Ci0gIFlZTFRZUEUgeXlsbG9jID0geXlsb2NfZGVm
YXVsdDtdXSldKVsKLSAgeXlwc3RhdGUgKnl5cHNfbG9jYWw7Ci0gIGlmICh5eXBzKQotICAgIHl5
cHNfbG9jYWwgPSB5eXBzOwotICBlbHNlCi0gICAgewotICAgICAgeXlwc19sb2NhbCA9IHl5cHN0
YXRlX25ldyAoKTsKLSAgICAgIGlmICgheXlwc19sb2NhbCkKLSAgICAgICAge11iNF9wdXJlX2lm
KFtbCi0gICAgICAgICAgeXllcnJvciAoXWI0X3l5ZXJyb3JfYXJnc1tZWV8oIm1lbW9yeSBleGhh
dXN0ZWQiKSk7XV0sIFtbCi0gICAgICAgICAgaWYgKCF5eXBzdGF0ZV9hbGxvY2F0ZWQpCi0gICAg
ICAgICAgICB5eWVycm9yIChdYjRfeXllcnJvcl9hcmdzW1lZXygibWVtb3J5IGV4aGF1c3RlZCIp
KTtdXSlbCi0gICAgICAgICAgcmV0dXJuIDI7Ci0gICAgICAgIH0KLSAgICB9Ci0gIGludCB5eXN0
YXR1czsKLSAgZG8ge11iNF9wdXJlX2lmKFtbCi0gICAgWVlTVFlQRSB5eWx2YWw7Ci0gICAgaW50
IF1dKVt5eWNoYXIgPSBdYjRfbGV4WzsKLSAgICB5eXN0YXR1cyA9Ci0gICAgICB5eXB1c2hfcGFy
c2UgKHl5cHNfbG9jYWxdYjRfcHVyZV9pZihbWywgeXljaGFyLCAmeXlsdmFsXWI0X2xvY2F0aW9u
c19pZihbWywgJnl5bGxvY11dKV0pbTRfaWZzZXQoW2I0X3BhcnNlX3BhcmFtXSwgWywgYjRfYXJn
cyhiNF9wYXJzZV9wYXJhbSldKVspOwotICB9IHdoaWxlICh5eXN0YXR1cyA9PSBZWVBVU0hfTU9S
RSk7Ci0gIGlmICgheXlwcykKLSAgICB5eXBzdGF0ZV9kZWxldGUgKHl5cHNfbG9jYWwpOwotICBy
ZXR1cm4geXlzdGF0dXM7Ci19XV0pWwotCi0vKiBJbml0aWFsaXplIHRoZSBwYXJzZXIgZGF0YSBz
dHJ1Y3R1cmUuICAqLwotXWI0X2Z1bmN0aW9uX2RlZmluZShbW3l5cHN0YXRlX25ld11dLCBbW3l5
cHN0YXRlICpdXSlbCi17Ci0gIHl5cHN0YXRlICp5eXBzO11iNF9wdXJlX2lmKFtdLCBbWwotICBp
ZiAoeXlwc3RhdGVfYWxsb2NhdGVkKQotICAgIHJldHVybiBZWV9OVUxMUFRSO11dKVsKLSAgeXlw
cyA9ICh5eXBzdGF0ZSAqKSBtYWxsb2MgKHNpemVvZiAqeXlwcyk7Ci0gIGlmICgheXlwcykKLSAg
ICByZXR1cm4gWVlfTlVMTFBUUjsKLSAgeXlwcy0+eXluZXcgPSAxO11iNF9wdXJlX2lmKFtdLCBb
WwotICB5eXBzdGF0ZV9hbGxvY2F0ZWQgPSAxO11dKVsKLSAgcmV0dXJuIHl5cHM7Ci19Ci0KLV1i
NF9mdW5jdGlvbl9kZWZpbmUoW1t5eXBzdGF0ZV9kZWxldGVdXSwgW1t2b2lkXV0sCi0gICAgICAg
ICAgICAgICAgICAgW1tbeXlwc3RhdGUgKnl5cHNdXSwgW1t5eXBzXV1dKVsKLXsKLSAgaWYgKHl5
cHMpCi0gICAgewotI2lmbmRlZiB5eW92ZXJmbG93Ci0gICAgICAvKiBJZiB0aGUgc3RhY2sgd2Fz
IHJlYWxsb2NhdGVkIGJ1dCB0aGUgcGFyc2UgZGlkIG5vdCBjb21wbGV0ZSwgdGhlbiB0aGUKLSAg
ICAgICAgIHN0YWNrIHN0aWxsIG5lZWRzIHRvIGJlIGZyZWVkLiAgKi8KLSAgICAgIGlmICgheXlw
cy0+eXluZXcgJiYgeXlwcy0+eXlzcyAhPSB5eXBzLT55eXNzYSkKLSAgICAgICAgWVlTVEFDS19G
UkVFICh5eXBzLT55eXNzKTsKLSNlbmRpZl1iNF9sYWNfaWYoW1sKLSAgICAgIGlmICgheXlwcy0+
eXluZXcgJiYgeXlwcy0+eXllcyAhPSB5eXBzLT55eWVzYSkKLSAgICAgICAgWVlTVEFDS19GUkVF
ICh5eXBzLT55eWVzKTtdXSlbCi0gICAgICBmcmVlICh5eXBzKTtdYjRfcHVyZV9pZihbXSwgW1sK
LSAgICAgIHl5cHN0YXRlX2FsbG9jYXRlZCA9IDA7XV0pWwotICAgIH0KLX0KLV1iNF9wdXJlX2lm
KFtbCi0jZGVmaW5lIF1iNF9wcmVmaXhbbmVycnMgeXlwcy0+XWI0X3ByZWZpeFtuZXJyc11dKVsK
LSNkZWZpbmUgeXlzdGF0ZSB5eXBzLT55eXN0YXRlCi0jZGVmaW5lIHl5ZXJyc3RhdHVzIHl5cHMt
Pnl5ZXJyc3RhdHVzCi0jZGVmaW5lIHl5c3NhIHl5cHMtPnl5c3NhCi0jZGVmaW5lIHl5c3MgeXlw
cy0+eXlzcwotI2RlZmluZSB5eXNzcCB5eXBzLT55eXNzcAotI2RlZmluZSB5eXZzYSB5eXBzLT55
eXZzYQotI2RlZmluZSB5eXZzIHl5cHMtPnl5dnMKLSNkZWZpbmUgeXl2c3AgeXlwcy0+eXl2c3Bd
YjRfbG9jYXRpb25zX2lmKFtbCi0jZGVmaW5lIHl5bHNhIHl5cHMtPnl5bHNhCi0jZGVmaW5lIHl5
bHMgeXlwcy0+eXlscwotI2RlZmluZSB5eWxzcCB5eXBzLT55eWxzcAotI2RlZmluZSB5eWVycm9y
X3JhbmdlIHl5cHMtPnl5ZXJyb3JfcmFuZ2VdXSlbCi0jZGVmaW5lIHl5c3RhY2tzaXplIHl5cHMt
Pnl5c3RhY2tzaXplXWI0X2xhY19pZihbWwotI2RlZmluZSB5eWVzYSB5eXBzLT55eWVzYQotI2Rl
ZmluZSB5eWVzIHl5cHMtPnl5ZXMKLSNkZWZpbmUgeXllc19jYXBhY2l0eSB5eXBzLT55eWVzX2Nh
cGFjaXR5XV0pWwotCi0KLS8qLS0tLS0tLS0tLS0tLS0tLgotfCB5eXB1c2hfcGFyc2UuICB8Ci1g
LS0tLS0tLS0tLS0tLS0tKi8KLQotXWI0X2Z1bmN0aW9uX2RlZmluZShbW3l5cHVzaF9wYXJzZV1d
LCBbW2ludF1dLAotICBbW1t5eXBzdGF0ZSAqeXlwc11dLCBbW3l5cHNdXV1iNF9wdXJlX2lmKFss
Ci0gIFtbW2ludCB5eXB1c2hlZF9jaGFyXV0sIFtbeXlwdXNoZWRfY2hhcl1dXSwKLSAgW1tbWVlT
VFlQRSBjb25zdCAqeXlwdXNoZWRfdmFsXV0sIFtbeXlwdXNoZWRfdmFsXV1dYjRfbG9jYXRpb25z
X2lmKFssCi0gIFtbW1lZTFRZUEUgKnl5cHVzaGVkX2xvY11dLCBbW3l5cHVzaGVkX2xvY11dXV0p
XSltNF9pZnNldChbYjRfcGFyc2VfcGFyYW1dLCBbLAotICBiNF9wYXJzZV9wYXJhbV0pKV0sIFtb
Ci0KLQotLyotLS0tLS0tLS0tLgotfCB5eXBhcnNlLiAgfAotYC0tLS0tLS0tLS0qLwotCi1dYjRf
ZnVuY3Rpb25fZGVmaW5lKFt5eXBhcnNlXSwgW2ludF0sIGI0X3BhcnNlX3BhcmFtKV0pWwote11i
NF9wdXJlX2lmKFtiNF9kZWNsYXJlX3NjYW5uZXJfY29tbXVuaWNhdGlvbl92YXJpYWJsZXMKLV0p
YjRfcHVzaF9pZihbYjRfcHVyZV9pZihbXSwgW1sKLSAgaW50IHl5cHVzaGVkX2NoYXIgPSB5eWNo
YXI7Ci0gIFlZU1RZUEUgeXlwdXNoZWRfdmFsID0geXlsdmFsO11iNF9sb2NhdGlvbnNfaWYoW1sK
LSAgWVlMVFlQRSB5eXB1c2hlZF9sb2MgPSB5eWxsb2M7XV0pCi1dKV0sCi0gIFtiNF9kZWNsYXJl
X3BhcnNlcl9zdGF0ZV92YXJpYWJsZXMKLV0pYjRfbGFjX2lmKFtbCi0gIGludCB5eV9sYWNfZXN0
YWJsaXNoZWQgPSAwO11dKVsKLSAgaW50IHl5bjsKLSAgaW50IHl5cmVzdWx0OwotICAvKiBMb29r
YWhlYWQgdG9rZW4gYXMgYW4gaW50ZXJuYWwgKHRyYW5zbGF0ZWQpIHRva2VuIG51bWJlci4gICov
Ci0gIGludCB5eXRva2VuID0gMDsKLSAgLyogVGhlIHZhcmlhYmxlcyB1c2VkIHRvIHJldHVybiBz
ZW1hbnRpYyB2YWx1ZSBhbmQgbG9jYXRpb24gZnJvbSB0aGUKLSAgICAgYWN0aW9uIHJvdXRpbmVz
LiAgKi8KLSAgWVlTVFlQRSB5eXZhbDtdYjRfbG9jYXRpb25zX2lmKFtbCi0gIFlZTFRZUEUgeXls
b2M7XV0pWwotCi0jaWYgWVlFUlJPUl9WRVJCT1NFCi0gIC8qIEJ1ZmZlciBmb3IgZXJyb3IgbWVz
c2FnZXMsIGFuZCBpdHMgYWxsb2NhdGVkIHNpemUuICAqLwotICBjaGFyIHl5bXNnYnVmWzEyOF07
Ci0gIGNoYXIgKnl5bXNnID0geXltc2didWY7Ci0gIFlZU0laRV9UIHl5bXNnX2FsbG9jID0gc2l6
ZW9mIHl5bXNnYnVmOwotI2VuZGlmCi0KLSNkZWZpbmUgWVlQT1BTVEFDSyhOKSAgICh5eXZzcCAt
PSAoTiksIHl5c3NwIC09IChOKV1iNF9sb2NhdGlvbnNfaWYoWywgeXlsc3AgLT0gKE4pXSlbKQot
Ci0gIC8qIFRoZSBudW1iZXIgb2Ygc3ltYm9scyBvbiB0aGUgUkhTIG9mIHRoZSByZWR1Y2VkIHJ1
bGUuCi0gICAgIEtlZXAgdG8gemVybyB3aGVuIG5vIHN5bWJvbCBzaG91bGQgYmUgcG9wcGVkLiAg
Ki8KLSAgaW50IHl5bGVuID0gMDtdYjRfcHVzaF9pZihbWwotCi0gIGlmICgheXlwcy0+eXluZXcp
Ci0gICAgewotICAgICAgeXluID0geXlwYWN0W3l5c3RhdGVdOwotICAgICAgZ290byB5eXJlYWRf
cHVzaGVkX3Rva2VuOwotICAgIH1dXSlbCi0KLSAgeXlzc3AgPSB5eXNzID0geXlzc2E7Ci0gIHl5
dnNwID0geXl2cyA9IHl5dnNhO11iNF9sb2NhdGlvbnNfaWYoW1sKLSAgeXlsc3AgPSB5eWxzID0g
eXlsc2E7XV0pWwotICB5eXN0YWNrc2l6ZSA9IFlZSU5JVERFUFRIO11iNF9sYWNfaWYoW1sKLQot
ICB5eWVzID0geXllc2E7Ci0gIHl5ZXNfY2FwYWNpdHkgPSBzaXplb2YgeXllc2EgLyBzaXplb2Yg
Knl5ZXM7Ci0gIGlmIChZWU1BWERFUFRIIDwgeXllc19jYXBhY2l0eSkKLSAgICB5eWVzX2NhcGFj
aXR5ID0gWVlNQVhERVBUSDtdXSlbCi0KLSAgWVlEUFJJTlRGICgoc3RkZXJyLCAiU3RhcnRpbmcg
cGFyc2VcbiIpKTsKLQotICB5eXN0YXRlID0gMDsKLSAgeXllcnJzdGF0dXMgPSAwOwotICB5eW5l
cnJzID0gMDsKLSAgeXljaGFyID0gWVlFTVBUWTsgLyogQ2F1c2UgYSB0b2tlbiB0byBiZSByZWFk
LiAgKi8KLV1tNF9pZmRlZihbYjRfaW5pdGlhbF9hY3Rpb25dLCBbCi1iNF9kb2xsYXJfcHVzaGRl
ZihbbTRfZGVmaW5lKFtiNF9kb2xsYXJfZG9sbGFyX3VzZWRdKXl5bHZhbF0sIFtdLCBbXSwKLSAg
ICAgICAgICAgICAgICAgIFtiNF9wdXNoX2lmKFtiNF9wdXJlX2lmKFsqXSl5eXB1c2hlZF9sb2Nd
LCBbeXlsbG9jXSldKWRubAotYjRfdXNlcl9pbml0aWFsX2FjdGlvbgotYjRfZG9sbGFyX3BvcGRl
ZltdZG5sCi1tNF9pZmRlZihbYjRfZG9sbGFyX2RvbGxhcl91c2VkXSxbWyAgeXl2c3BbMF0gPSB5
eWx2YWw7Ci1dXSldKWRubAotYjRfbG9jYXRpb25zX2lmKFtbICB5eWxzcFswXSA9IF1iNF9wdXNo
X2lmKFtiNF9wdXJlX2lmKFsqXSl5eXB1c2hlZF9sb2NdLCBbeXlsbG9jXSlbOwotXV0pZG5sCi1b
ICBnb3RvIHl5c2V0c3RhdGU7Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCi18IHl5bmV3c3RhdGUgLS0gcHVzaCBhIG5l
dyBzdGF0ZSwgd2hpY2ggaXMgZm91bmQgaW4geXlzdGF0ZS4gIHwKLWAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoteXluZXdzdGF0
ZToKLSAgLyogSW4gYWxsIGNhc2VzLCB3aGVuIHlvdSBnZXQgaGVyZSwgdGhlIHZhbHVlIGFuZCBs
b2NhdGlvbiBzdGFja3MKLSAgICAgaGF2ZSBqdXN0IGJlZW4gcHVzaGVkLiAgU28gcHVzaGluZyBh
IHN0YXRlIGhlcmUgZXZlbnMgdGhlIHN0YWNrcy4gICovCi0gIHl5c3NwKys7Ci0KLQotLyotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS4KLXwgeXluZXdzdGF0ZSAtLSBzZXQgY3VycmVudCBzdGF0ZSAodGhlIHRvcCBvZiB0
aGUgc3RhY2spIHRvIHl5c3RhdGUuICB8Ci1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoteXlzZXRzdGF0ZToKLSAg
Knl5c3NwID0gKHl5dHlwZV9pbnQxNikgeXlzdGF0ZTsKLQotICBpZiAoeXlzcyArIHl5c3RhY2tz
aXplIC0gMSA8PSB5eXNzcCkKLSNpZiAhZGVmaW5lZCB5eW92ZXJmbG93ICYmICFkZWZpbmVkIFlZ
U1RBQ0tfUkVMT0NBVEUKLSAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOwotI2Vsc2UKLSAgICB7Ci0g
ICAgICAvKiBHZXQgdGhlIGN1cnJlbnQgdXNlZCBzaXplIG9mIHRoZSB0aHJlZSBzdGFja3MsIGlu
IGVsZW1lbnRzLiAgKi8KLSAgICAgIFlZU0laRV9UIHl5c2l6ZSA9IChZWVNJWkVfVCkgKHl5c3Nw
IC0geXlzcyArIDEpOwotCi0jIGlmIGRlZmluZWQgeXlvdmVyZmxvdwotICAgICAgewotICAgICAg
ICAvKiBHaXZlIHVzZXIgYSBjaGFuY2UgdG8gcmVhbGxvY2F0ZSB0aGUgc3RhY2suICBVc2UgY29w
aWVzIG9mCi0gICAgICAgICAgIHRoZXNlIHNvIHRoYXQgdGhlICYncyBkb24ndCBmb3JjZSB0aGUg
cmVhbCBvbmVzIGludG8KLSAgICAgICAgICAgbWVtb3J5LiAgKi8KLSAgICAgICAgWVlTVFlQRSAq
eXl2czEgPSB5eXZzOwotICAgICAgICB5eXR5cGVfaW50MTYgKnl5c3MxID0geXlzcztdYjRfbG9j
YXRpb25zX2lmKFsKLSAgICAgICAgWVlMVFlQRSAqeXlsczEgPSB5eWxzO10pWwotCi0gICAgICAg
IC8qIEVhY2ggc3RhY2sgcG9pbnRlciBhZGRyZXNzIGlzIGZvbGxvd2VkIGJ5IHRoZSBzaXplIG9m
IHRoZQotICAgICAgICAgICBkYXRhIGluIHVzZSBpbiB0aGF0IHN0YWNrLCBpbiBieXRlcy4gIFRo
aXMgdXNlZCB0byBiZSBhCi0gICAgICAgICAgIGNvbmRpdGlvbmFsIGFyb3VuZCBqdXN0IHRoZSB0
d28gZXh0cmEgYXJncywgYnV0IHRoYXQgbWlnaHQKLSAgICAgICAgICAgYmUgdW5kZWZpbmVkIGlm
IHl5b3ZlcmZsb3cgaXMgYSBtYWNyby4gICovCi0gICAgICAgIHl5b3ZlcmZsb3cgKFlZXygibWVt
b3J5IGV4aGF1c3RlZCIpLAotICAgICAgICAgICAgICAgICAgICAmeXlzczEsIHl5c2l6ZSAqIHNp
emVvZiAoKnl5c3NwKSwKLSAgICAgICAgICAgICAgICAgICAgJnl5dnMxLCB5eXNpemUgKiBzaXpl
b2YgKCp5eXZzcCksXWI0X2xvY2F0aW9uc19pZihbCi0gICAgICAgICAgICAgICAgICAgICZ5eWxz
MSwgeXlzaXplICogc2l6ZW9mICgqeXlsc3ApLF0pWwotICAgICAgICAgICAgICAgICAgICAmeXlz
dGFja3NpemUpOwotICAgICAgICB5eXNzID0geXlzczE7Ci0gICAgICAgIHl5dnMgPSB5eXZzMTtd
YjRfbG9jYXRpb25zX2lmKFsKLSAgICAgICAgeXlscyA9IHl5bHMxO10pWwotICAgICAgfQotIyBl
bHNlIC8qIGRlZmluZWQgWVlTVEFDS19SRUxPQ0FURSAqLwotICAgICAgLyogRXh0ZW5kIHRoZSBz
dGFjayBvdXIgb3duIHdheS4gICovCi0gICAgICBpZiAoWVlNQVhERVBUSCA8PSB5eXN0YWNrc2l6
ZSkKLSAgICAgICAgZ290byB5eWV4aGF1c3RlZGxhYjsKLSAgICAgIHl5c3RhY2tzaXplICo9IDI7
Ci0gICAgICBpZiAoWVlNQVhERVBUSCA8IHl5c3RhY2tzaXplKQotICAgICAgICB5eXN0YWNrc2l6
ZSA9IFlZTUFYREVQVEg7Ci0KLSAgICAgIHsKLSAgICAgICAgeXl0eXBlX2ludDE2ICp5eXNzMSA9
IHl5c3M7Ci0gICAgICAgIHVuaW9uIHl5YWxsb2MgKnl5cHRyID0KLSAgICAgICAgICAodW5pb24g
eXlhbGxvYyAqKSBZWVNUQUNLX0FMTE9DIChZWVNUQUNLX0JZVEVTICh5eXN0YWNrc2l6ZSkpOwot
ICAgICAgICBpZiAoISB5eXB0cikKLSAgICAgICAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOwotICAg
ICAgICBZWVNUQUNLX1JFTE9DQVRFICh5eXNzX2FsbG9jLCB5eXNzKTsKLSAgICAgICAgWVlTVEFD
S19SRUxPQ0FURSAoeXl2c19hbGxvYywgeXl2cyk7XWI0X2xvY2F0aW9uc19pZihbCi0gICAgICAg
IFlZU1RBQ0tfUkVMT0NBVEUgKHl5bHNfYWxsb2MsIHl5bHMpO10pWwotIyB1bmRlZiBZWVNUQUNL
X1JFTE9DQVRFCi0gICAgICAgIGlmICh5eXNzMSAhPSB5eXNzYSkKLSAgICAgICAgICBZWVNUQUNL
X0ZSRUUgKHl5c3MxKTsKLSAgICAgIH0KLSMgZW5kaWYKLQotICAgICAgeXlzc3AgPSB5eXNzICsg
eXlzaXplIC0gMTsKLSAgICAgIHl5dnNwID0geXl2cyArIHl5c2l6ZSAtIDE7XWI0X2xvY2F0aW9u
c19pZihbCi0gICAgICB5eWxzcCA9IHl5bHMgKyB5eXNpemUgLSAxO10pWwotCi0gICAgICBZWURQ
UklOVEYgKChzdGRlcnIsICJTdGFjayBzaXplIGluY3JlYXNlZCB0byAlbHVcbiIsCi0gICAgICAg
ICAgICAgICAgICAodW5zaWduZWQgbG9uZykgeXlzdGFja3NpemUpKTsKLQotICAgICAgaWYgKHl5
c3MgKyB5eXN0YWNrc2l6ZSAtIDEgPD0geXlzc3ApCi0gICAgICAgIFlZQUJPUlQ7Ci0gICAgfQot
I2VuZGlmIC8qICFkZWZpbmVkIHl5b3ZlcmZsb3cgJiYgIWRlZmluZWQgWVlTVEFDS19SRUxPQ0FU
RSAqLwotCi0gIFlZRFBSSU5URiAoKHN0ZGVyciwgIkVudGVyaW5nIHN0YXRlICVkXG4iLCB5eXN0
YXRlKSk7Ci0KLSAgaWYgKHl5c3RhdGUgPT0gWVlGSU5BTCkKLSAgICBZWUFDQ0VQVDsKLQotICBn
b3RvIHl5YmFja3VwOwotCi0KLS8qLS0tLS0tLS0tLS0uCi18IHl5YmFja3VwLiAgfAotYC0tLS0t
LS0tLS0tKi8KLXl5YmFja3VwOgotICAvKiBEbyBhcHByb3ByaWF0ZSBwcm9jZXNzaW5nIGdpdmVu
IHRoZSBjdXJyZW50IHN0YXRlLiAgUmVhZCBhCi0gICAgIGxvb2thaGVhZCB0b2tlbiBpZiB3ZSBu
ZWVkIG9uZSBhbmQgZG9uJ3QgYWxyZWFkeSBoYXZlIG9uZS4gICovCi0KLSAgLyogRmlyc3QgdHJ5
IHRvIGRlY2lkZSB3aGF0IHRvIGRvIHdpdGhvdXQgcmVmZXJlbmNlIHRvIGxvb2thaGVhZCB0b2tl
bi4gICovCi0gIHl5biA9IHl5cGFjdFt5eXN0YXRlXTsKLSAgaWYgKHl5cGFjdF92YWx1ZV9pc19k
ZWZhdWx0ICh5eW4pKQotICAgIGdvdG8geXlkZWZhdWx0OwotCi0gIC8qIE5vdCBrbm93biA9PiBn
ZXQgYSBsb29rYWhlYWQgdG9rZW4gaWYgZG9uJ3QgYWxyZWFkeSBoYXZlIG9uZS4gICovCi0KLSAg
LyogWVlDSEFSIGlzIGVpdGhlciBZWUVNUFRZIG9yIFlZRU9GIG9yIGEgdmFsaWQgbG9va2FoZWFk
IHN5bWJvbC4gICovCi0gIGlmICh5eWNoYXIgPT0gWVlFTVBUWSkKLSAgICB7XWI0X3B1c2hfaWYo
W1sKLSAgICAgIGlmICgheXlwcy0+eXluZXcpCi0gICAgICAgIHtdYjRfdXNlX3B1c2hfZm9yX3B1
bGxfaWYoW10sIFtbCi0gICAgICAgICAgWVlEUFJJTlRGICgoc3RkZXJyLCAiUmV0dXJuIGZvciBh
IG5ldyB0b2tlbjpcbiIpKTtdXSlbCi0gICAgICAgICAgeXlyZXN1bHQgPSBZWVBVU0hfTU9SRTsK
LSAgICAgICAgICBnb3RvIHl5cHVzaHJldHVybjsKLSAgICAgICAgfQotICAgICAgeXlwcy0+eXlu
ZXcgPSAwO11iNF9wdXJlX2lmKFtdLCBbWwotICAgICAgLyogUmVzdG9yaW5nIHRoZSBwdXNoZWQg
dG9rZW4gaXMgb25seSBuZWNlc3NhcnkgZm9yIHRoZSBmaXJzdAotICAgICAgICAgeXlwdXNoX3Bh
cnNlIGludm9jYXRpb24gc2luY2Ugc3Vic2VxdWVudCBpbnZvY2F0aW9ucyBkb24ndCBvdmVyd3Jp
dGUKLSAgICAgICAgIGl0IGJlZm9yZSBqdW1waW5nIHRvIHl5cmVhZF9wdXNoZWRfdG9rZW4uICAq
LwotICAgICAgeXljaGFyID0geXlwdXNoZWRfY2hhcjsKLSAgICAgIHl5bHZhbCA9IHl5cHVzaGVk
X3ZhbDtdYjRfbG9jYXRpb25zX2lmKFtbCi0gICAgICB5eWxsb2MgPSB5eXB1c2hlZF9sb2M7XV0p
XSlbCi15eXJlYWRfcHVzaGVkX3Rva2VuOl1dKVsKLSAgICAgIFlZRFBSSU5URiAoKHN0ZGVyciwg
IlJlYWRpbmcgYSB0b2tlbjogIikpO11iNF9wdXNoX2lmKFtiNF9wdXJlX2lmKFtbCi0gICAgICB5
eWNoYXIgPSB5eXB1c2hlZF9jaGFyOwotICAgICAgaWYgKHl5cHVzaGVkX3ZhbCkKLSAgICAgICAg
eXlsdmFsID0gKnl5cHVzaGVkX3ZhbDtdYjRfbG9jYXRpb25zX2lmKFtbCi0gICAgICBpZiAoeXlw
dXNoZWRfbG9jKQotICAgICAgICB5eWxsb2MgPSAqeXlwdXNoZWRfbG9jO11dKV0pXSwgW1sKLSAg
ICAgIHl5Y2hhciA9IF1iNF9sZXhbO11dKVsKLSAgICB9Ci0KLSAgaWYgKHl5Y2hhciA8PSBZWUVP
RikKLSAgICB7Ci0gICAgICB5eWNoYXIgPSB5eXRva2VuID0gWVlFT0Y7Ci0gICAgICBZWURQUklO
VEYgKChzdGRlcnIsICJOb3cgYXQgZW5kIG9mIGlucHV0LlxuIikpOwotICAgIH0KLSAgZWxzZQot
ICAgIHsKLSAgICAgIHl5dG9rZW4gPSBZWVRSQU5TTEFURSAoeXljaGFyKTsKLSAgICAgIFlZX1NZ
TUJPTF9QUklOVCAoIk5leHQgdG9rZW4gaXMiLCB5eXRva2VuLCAmeXlsdmFsLCAmeXlsbG9jKTsK
LSAgICB9Ci0KLSAgLyogSWYgdGhlIHByb3BlciBhY3Rpb24gb24gc2VlaW5nIHRva2VuIFlZVE9L
RU4gaXMgdG8gcmVkdWNlIG9yIHRvCi0gICAgIGRldGVjdCBhbiBlcnJvciwgdGFrZSB0aGF0IGFj
dGlvbi4gICovCi0gIHl5biArPSB5eXRva2VuOwotICBpZiAoeXluIDwgMCB8fCBZWUxBU1QgPCB5
eW4gfHwgeXljaGVja1t5eW5dICE9IHl5dG9rZW4pXWI0X2xhY19pZihbWwotICAgIHsKLSAgICAg
IFlZX0xBQ19FU1RBQkxJU0g7Ci0gICAgICBnb3RvIHl5ZGVmYXVsdDsKLSAgICB9XV0sIFtbCi0g
ICAgZ290byB5eWRlZmF1bHQ7XV0pWwotICB5eW4gPSB5eXRhYmxlW3l5bl07Ci0gIGlmICh5eW4g
PD0gMCkKLSAgICB7Ci0gICAgICBpZiAoeXl0YWJsZV92YWx1ZV9pc19lcnJvciAoeXluKSkKLSAg
ICAgICAgZ290byB5eWVycmxhYjtdYjRfbGFjX2lmKFtbCi0gICAgICBZWV9MQUNfRVNUQUJMSVNI
O11dKVsKLSAgICAgIHl5biA9IC15eW47Ci0gICAgICBnb3RvIHl5cmVkdWNlOwotICAgIH0KLQot
ICAvKiBDb3VudCB0b2tlbnMgc2hpZnRlZCBzaW5jZSBlcnJvcjsgYWZ0ZXIgdGhyZWUsIHR1cm4g
b2ZmIGVycm9yCi0gICAgIHN0YXR1cy4gICovCi0gIGlmICh5eWVycnN0YXR1cykKLSAgICB5eWVy
cnN0YXR1cy0tOwotCi0gIC8qIFNoaWZ0IHRoZSBsb29rYWhlYWQgdG9rZW4uICAqLwotICBZWV9T
WU1CT0xfUFJJTlQgKCJTaGlmdGluZyIsIHl5dG9rZW4sICZ5eWx2YWwsICZ5eWxsb2MpOwotCi0g
IC8qIERpc2NhcmQgdGhlIHNoaWZ0ZWQgdG9rZW4uICAqLwotICB5eWNoYXIgPSBZWUVNUFRZO11i
NF9sYWNfaWYoW1sKLSAgWVlfTEFDX0RJU0NBUkQgKCJzaGlmdCIpO11dKVsKLQotICB5eXN0YXRl
ID0geXluOwotICBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9CRUdJTgotICAqKyt5eXZz
cCA9IHl5bHZhbDsKLSAgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfRU5ECi1dYjRfbG9j
YXRpb25zX2lmKFsgICorK3l5bHNwID0geXlsbG9jO10pWwotICBnb3RvIHl5bmV3c3RhdGU7Ci0K
LQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS4KLXwgeXlkZWZhdWx0IC0tIGRvIHRoZSBkZWZhdWx0IGFjdGlvbiBmb3IgdGhlIGN1
cnJlbnQgc3RhdGUuICB8Ci1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoteXlkZWZhdWx0OgotICB5eW4gPSB5eWRlZmFjdFt5eXN0
YXRlXTsKLSAgaWYgKHl5biA9PSAwKQotICAgIGdvdG8geXllcnJsYWI7Ci0gIGdvdG8geXlyZWR1
Y2U7Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KLXwgeXlyZWR1Y2UgLS0g
ZG8gYSByZWR1Y3Rpb24uICB8Ci1gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoteXly
ZWR1Y2U6Ci0gIC8qIHl5biBpcyB0aGUgbnVtYmVyIG9mIGEgcnVsZSB0byByZWR1Y2Ugd2l0aC4g
ICovCi0gIHl5bGVuID0geXlyMlt5eW5dOwotCi0gIC8qIElmIFlZTEVOIGlzIG5vbnplcm8sIGlt
cGxlbWVudCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgYWN0aW9uOgotICAgICAnJCQgPSAkMScu
Ci0KLSAgICAgT3RoZXJ3aXNlLCB0aGUgZm9sbG93aW5nIGxpbmUgc2V0cyBZWVZBTCB0byBnYXJi
YWdlLgotICAgICBUaGlzIGJlaGF2aW9yIGlzIHVuZG9jdW1lbnRlZCBhbmQgQmlzb24KLSAgICAg
dXNlcnMgc2hvdWxkIG5vdCByZWx5IHVwb24gaXQuICBBc3NpZ25pbmcgdG8gWVlWQUwKLSAgICAg
dW5jb25kaXRpb25hbGx5IG1ha2VzIHRoZSBwYXJzZXIgYSBiaXQgc21hbGxlciwgYW5kIGl0IGF2
b2lkcyBhCi0gICAgIEdDQyB3YXJuaW5nIHRoYXQgWVlWQUwgbWF5IGJlIHVzZWQgdW5pbml0aWFs
aXplZC4gICovCi0gIHl5dmFsID0geXl2c3BbMS15eWxlbl07Ci0KLV1iNF9sb2NhdGlvbnNfaWYo
Ci1bWyAgLyogRGVmYXVsdCBsb2NhdGlvbi4gKi8KLSAgWVlMTE9DX0RFRkFVTFQgKHl5bG9jLCAo
eXlsc3AgLSB5eWxlbiksIHl5bGVuKTsKLSAgeXllcnJvcl9yYW5nZVsxXSA9IHl5bG9jO11dKVsK
LSAgWVlfUkVEVUNFX1BSSU5UICh5eW4pO11iNF9sYWNfaWYoW1sKLSAgewotICAgIGludCB5eWNo
YXJfYmFja3VwID0geXljaGFyOwotICAgIHN3aXRjaCAoeXluKQotICAgICAgewotXWI0X3VzZXJf
YWN0aW9uc1sKLSAgICAgICAgZGVmYXVsdDogYnJlYWs7Ci0gICAgICB9Ci0gICAgaWYgKHl5Y2hh
cl9iYWNrdXAgIT0geXljaGFyKQotICAgICAgWVlfTEFDX0RJU0NBUkQgKCJ5eWNoYXIgY2hhbmdl
Iik7Ci0gIH1dXSwgW1sKLSAgc3dpdGNoICh5eW4pCi0gICAgewotICAgICAgXWI0X3VzZXJfYWN0
aW9uc1sKLSAgICAgIGRlZmF1bHQ6IGJyZWFrOwotICAgIH1dXSlbCi0gIC8qIFVzZXIgc2VtYW50
aWMgYWN0aW9ucyBzb21ldGltZXMgYWx0ZXIgeXljaGFyLCBhbmQgdGhhdCByZXF1aXJlcwotICAg
ICB0aGF0IHl5dG9rZW4gYmUgdXBkYXRlZCB3aXRoIHRoZSBuZXcgdHJhbnNsYXRpb24uICBXZSB0
YWtlIHRoZQotICAgICBhcHByb2FjaCBvZiB0cmFuc2xhdGluZyBpbW1lZGlhdGVseSBiZWZvcmUg
ZXZlcnkgdXNlIG9mIHl5dG9rZW4uCi0gICAgIE9uZSBhbHRlcm5hdGl2ZSBpcyB0cmFuc2xhdGlu
ZyBoZXJlIGFmdGVyIGV2ZXJ5IHNlbWFudGljIGFjdGlvbiwKLSAgICAgYnV0IHRoYXQgdHJhbnNs
YXRpb24gd291bGQgYmUgbWlzc2VkIGlmIHRoZSBzZW1hbnRpYyBhY3Rpb24gaW52b2tlcwotICAg
ICBZWUFCT1JULCBZWUFDQ0VQVCwgb3IgWVlFUlJPUiBpbW1lZGlhdGVseSBhZnRlciBhbHRlcmlu
ZyB5eWNoYXIgb3IKLSAgICAgaWYgaXQgaW52b2tlcyBZWUJBQ0tVUC4gIEluIHRoZSBjYXNlIG9m
IFlZQUJPUlQgb3IgWVlBQ0NFUFQsIGFuCi0gICAgIGluY29ycmVjdCBkZXN0cnVjdG9yIG1pZ2h0
IHRoZW4gYmUgaW52b2tlZCBpbW1lZGlhdGVseS4gIEluIHRoZQotICAgICBjYXNlIG9mIFlZRVJS
T1Igb3IgWVlCQUNLVVAsIHN1YnNlcXVlbnQgcGFyc2VyIGFjdGlvbnMgbWlnaHQgbGVhZAotICAg
ICB0byBhbiBpbmNvcnJlY3QgZGVzdHJ1Y3RvciBjYWxsIG9yIHZlcmJvc2Ugc3ludGF4IGVycm9y
IG1lc3NhZ2UKLSAgICAgYmVmb3JlIHRoZSBsb29rYWhlYWQgaXMgdHJhbnNsYXRlZC4gICovCi0g
IFlZX1NZTUJPTF9QUklOVCAoIi0+ICQkID0iLCB5eXIxW3l5bl0sICZ5eXZhbCwgJnl5bG9jKTsK
LQotICBZWVBPUFNUQUNLICh5eWxlbik7Ci0gIHl5bGVuID0gMDsKLSAgWVlfU1RBQ0tfUFJJTlQg
KHl5c3MsIHl5c3NwKTsKLQotICAqKyt5eXZzcCA9IHl5dmFsO11iNF9sb2NhdGlvbnNfaWYoWwot
ICAqKyt5eWxzcCA9IHl5bG9jO10pWwotCi0gIC8qIE5vdyAnc2hpZnQnIHRoZSByZXN1bHQgb2Yg
dGhlIHJlZHVjdGlvbi4gIERldGVybWluZSB3aGF0IHN0YXRlCi0gICAgIHRoYXQgZ29lcyB0bywg
YmFzZWQgb24gdGhlIHN0YXRlIHdlIHBvcHBlZCBiYWNrIHRvIGFuZCB0aGUgcnVsZQotICAgICBu
dW1iZXIgcmVkdWNlZCBieS4gICovCi0gIHsKLSAgICBjb25zdCBpbnQgeXlsaHMgPSB5eXIxW3l5
bl0gLSBZWU5UT0tFTlM7Ci0gICAgY29uc3QgaW50IHl5aSA9IHl5cGdvdG9beXlsaHNdICsgKnl5
c3NwOwotICAgIHl5c3RhdGUgPSAoMCA8PSB5eWkgJiYgeXlpIDw9IFlZTEFTVCAmJiB5eWNoZWNr
W3l5aV0gPT0gKnl5c3NwCi0gICAgICAgICAgICAgICA/IHl5dGFibGVbeXlpXQotICAgICAgICAg
ICAgICAgOiB5eWRlZmdvdG9beXlsaHNdKTsKLSAgfQotCi0gIGdvdG8geXluZXdzdGF0ZTsKLQot
Ci0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgotfCB5eWVycmxhYiAt
LSBoZXJlIG9uIGRldGVjdGluZyBlcnJvci4gIHwKLWAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSovCi15eWVycmxhYjoKLSAgLyogTWFrZSBzdXJlIHdlIGhhdmUgbGF0ZXN0
IGxvb2thaGVhZCB0cmFuc2xhdGlvbi4gIFNlZSBjb21tZW50cyBhdAotICAgICB1c2VyIHNlbWFu
dGljIGFjdGlvbnMgZm9yIHdoeSB0aGlzIGlzIG5lY2Vzc2FyeS4gICovCi0gIHl5dG9rZW4gPSB5
eWNoYXIgPT0gWVlFTVBUWSA/IFlZRU1QVFkgOiBZWVRSQU5TTEFURSAoeXljaGFyKTsKLQotICAv
KiBJZiBub3QgYWxyZWFkeSByZWNvdmVyaW5nIGZyb20gYW4gZXJyb3IsIHJlcG9ydCB0aGlzIGVy
cm9yLiAgKi8KLSAgaWYgKCF5eWVycnN0YXR1cykKLSAgICB7Ci0gICAgICArK3l5bmVycnM7Ci0j
aWYgISBZWUVSUk9SX1ZFUkJPU0UKLSAgICAgIHl5ZXJyb3IgKF1iNF95eWVycm9yX2FyZ3NbWVlf
KCJzeW50YXggZXJyb3IiKSk7Ci0jZWxzZQotIyBkZWZpbmUgWVlTWU5UQVhfRVJST1IgeXlzeW50
YXhfZXJyb3IgKCZ5eW1zZ19hbGxvYywgJnl5bXNnLCBcXWI0X2xhY19pZihbWwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHl5ZXNhLCAmeXllcywgJnl5ZXNfY2FwYWNp
dHksIFxdXSlbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeXlzc3As
IHl5dG9rZW4pCi0gICAgICB7Ci0gICAgICAgIGNoYXIgY29uc3QgKnl5bXNncCA9IFlZXygic3lu
dGF4IGVycm9yIik7Ci0gICAgICAgIGludCB5eXN5bnRheF9lcnJvcl9zdGF0dXM7XWI0X2xhY19p
ZihbWwotICAgICAgICBpZiAoeXljaGFyICE9IFlZRU1QVFkpCi0gICAgICAgICAgWVlfTEFDX0VT
VEFCTElTSDtdXSlbCi0gICAgICAgIHl5c3ludGF4X2Vycm9yX3N0YXR1cyA9IFlZU1lOVEFYX0VS
Uk9SOwotICAgICAgICBpZiAoeXlzeW50YXhfZXJyb3Jfc3RhdHVzID09IDApCi0gICAgICAgICAg
eXltc2dwID0geXltc2c7Ci0gICAgICAgIGVsc2UgaWYgKHl5c3ludGF4X2Vycm9yX3N0YXR1cyA9
PSAxKQotICAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh5eW1zZyAhPSB5eW1zZ2J1ZikKLSAg
ICAgICAgICAgICAgWVlTVEFDS19GUkVFICh5eW1zZyk7Ci0gICAgICAgICAgICB5eW1zZyA9IChj
aGFyICopIFlZU1RBQ0tfQUxMT0MgKHl5bXNnX2FsbG9jKTsKLSAgICAgICAgICAgIGlmICgheXlt
c2cpCi0gICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB5eW1zZyA9IHl5bXNnYnVmOwot
ICAgICAgICAgICAgICAgIHl5bXNnX2FsbG9jID0gc2l6ZW9mIHl5bXNnYnVmOwotICAgICAgICAg
ICAgICAgIHl5c3ludGF4X2Vycm9yX3N0YXR1cyA9IDI7Ci0gICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHl5c3ludGF4X2Vy
cm9yX3N0YXR1cyA9IFlZU1lOVEFYX0VSUk9SOwotICAgICAgICAgICAgICAgIHl5bXNncCA9IHl5
bXNnOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICB5eWVycm9yIChdYjRf
eXllcnJvcl9hcmdzW3l5bXNncCk7Ci0gICAgICAgIGlmICh5eXN5bnRheF9lcnJvcl9zdGF0dXMg
PT0gMikKLSAgICAgICAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOwotICAgICAgfQotIyB1bmRlZiBZ
WVNZTlRBWF9FUlJPUgotI2VuZGlmCi0gICAgfQotCi1dYjRfbG9jYXRpb25zX2lmKFtbICB5eWVy
cm9yX3JhbmdlWzFdID0geXlsbG9jO11dKVsKLQotICBpZiAoeXllcnJzdGF0dXMgPT0gMykKLSAg
ICB7Ci0gICAgICAvKiBJZiBqdXN0IHRyaWVkIGFuZCBmYWlsZWQgdG8gcmV1c2UgbG9va2FoZWFk
IHRva2VuIGFmdGVyIGFuCi0gICAgICAgICBlcnJvciwgZGlzY2FyZCBpdC4gICovCi0KLSAgICAg
IGlmICh5eWNoYXIgPD0gWVlFT0YpCi0gICAgICAgIHsKLSAgICAgICAgICAvKiBSZXR1cm4gZmFp
bHVyZSBpZiBhdCBlbmQgb2YgaW5wdXQuICAqLwotICAgICAgICAgIGlmICh5eWNoYXIgPT0gWVlF
T0YpCi0gICAgICAgICAgICBZWUFCT1JUOwotICAgICAgICB9Ci0gICAgICBlbHNlCi0gICAgICAg
IHsKLSAgICAgICAgICB5eWRlc3RydWN0ICgiRXJyb3I6IGRpc2NhcmRpbmciLAotICAgICAgICAg
ICAgICAgICAgICAgIHl5dG9rZW4sICZ5eWx2YWxdYjRfbG9jYXRpb25zX2lmKFssICZ5eWxsb2Nd
KVtdYjRfdXNlcl9hcmdzWyk7Ci0gICAgICAgICAgeXljaGFyID0gWVlFTVBUWTsKLSAgICAgICAg
fQotICAgIH0KLQotICAvKiBFbHNlIHdpbGwgdHJ5IHRvIHJldXNlIGxvb2thaGVhZCB0b2tlbiBh
ZnRlciBzaGlmdGluZyB0aGUgZXJyb3IKLSAgICAgdG9rZW4uICAqLwotICBnb3RvIHl5ZXJybGFi
MTsKLQotCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS4KLXwgeXllcnJvcmxhYiAtLSBlcnJvciByYWlzZWQgZXhwbGljaXRseSBieSBZWUVSUk9S
LiAgfAotYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSovCi15eWVycm9ybGFiOgotICAvKiBQYWNpZnkgY29tcGlsZXJzIHdoZW4gdGhlIHVzZXIgY29k
ZSBuZXZlciBpbnZva2VzIFlZRVJST1IgYW5kIHRoZQotICAgICBsYWJlbCB5eWVycm9ybGFiIHRo
ZXJlZm9yZSBuZXZlciBhcHBlYXJzIGluIHVzZXIgY29kZS4gICovCi0gIGlmICgwKQotICAgIFlZ
RVJST1I7Ci0KLSAgLyogRG8gbm90IHJlY2xhaW0gdGhlIHN5bWJvbHMgb2YgdGhlIHJ1bGUgd2hv
c2UgYWN0aW9uIHRyaWdnZXJlZAotICAgICB0aGlzIFlZRVJST1IuICAqLwotICBZWVBPUFNUQUNL
ICh5eWxlbik7Ci0gIHl5bGVuID0gMDsKLSAgWVlfU1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsK
LSAgeXlzdGF0ZSA9ICp5eXNzcDsKLSAgZ290byB5eWVycmxhYjE7Ci0KLQotLyotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgotfCB5
eWVycmxhYjEgLS0gY29tbW9uIGNvZGUgZm9yIGJvdGggc3ludGF4IGVycm9yIGFuZCBZWUVSUk9S
LiAgfAotYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0qLwoteXllcnJsYWIxOgotICB5eWVycnN0YXR1cyA9IDM7ICAgICAgLyogRWFj
aCByZWFsIHRva2VuIHNoaWZ0ZWQgZGVjcmVtZW50cyB0aGlzLiAgKi8KLQotICBmb3IgKDs7KQot
ICAgIHsKLSAgICAgIHl5biA9IHl5cGFjdFt5eXN0YXRlXTsKLSAgICAgIGlmICgheXlwYWN0X3Zh
bHVlX2lzX2RlZmF1bHQgKHl5bikpCi0gICAgICAgIHsKLSAgICAgICAgICB5eW4gKz0gWVlURVJS
T1I7Ci0gICAgICAgICAgaWYgKDAgPD0geXluICYmIHl5biA8PSBZWUxBU1QgJiYgeXljaGVja1t5
eW5dID09IFlZVEVSUk9SKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICB5eW4gPSB5eXRh
YmxlW3l5bl07Ci0gICAgICAgICAgICAgIGlmICgwIDwgeXluKQotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgIC8qIFBvcCB0aGUgY3VycmVu
dCBzdGF0ZSBiZWNhdXNlIGl0IGNhbm5vdCBoYW5kbGUgdGhlIGVycm9yIHRva2VuLiAgKi8KLSAg
ICAgIGlmICh5eXNzcCA9PSB5eXNzKQotICAgICAgICBZWUFCT1JUOwotCi1dYjRfbG9jYXRpb25z
X2lmKFtbICAgICAgeXllcnJvcl9yYW5nZVsxXSA9ICp5eWxzcDtdXSlbCi0gICAgICB5eWRlc3Ry
dWN0ICgiRXJyb3I6IHBvcHBpbmciLAotICAgICAgICAgICAgICAgICAgeXlzdG9zW3l5c3RhdGVd
LCB5eXZzcF1iNF9sb2NhdGlvbnNfaWYoWywgeXlsc3BdKVtdYjRfdXNlcl9hcmdzWyk7Ci0gICAg
ICBZWVBPUFNUQUNLICgxKTsKLSAgICAgIHl5c3RhdGUgPSAqeXlzc3A7Ci0gICAgICBZWV9TVEFD
S19QUklOVCAoeXlzcywgeXlzc3ApOwotICAgIH1dYjRfbGFjX2lmKFtbCi0KLSAgLyogSWYgdGhl
IHN0YWNrIHBvcHBpbmcgYWJvdmUgZGlkbid0IGxvc2UgdGhlIGluaXRpYWwgY29udGV4dCBmb3Ig
dGhlCi0gICAgIGN1cnJlbnQgbG9va2FoZWFkIHRva2VuLCB0aGUgc2hpZnQgYmVsb3cgd2lsbCBm
b3Igc3VyZS4gICovCi0gIFlZX0xBQ19ESVNDQVJEICgiZXJyb3IgcmVjb3ZlcnkiKTtdXSlbCi0K
LSAgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfQkVHSU4KLSAgKisreXl2c3AgPSB5eWx2
YWw7Ci0gIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0VORAotXWI0X2xvY2F0aW9uc19p
ZihbWwotICB5eWVycm9yX3JhbmdlWzJdID0geXlsbG9jOwotICAvKiBVc2luZyBZWUxMT0MgaXMg
dGVtcHRpbmcsIGJ1dCB3b3VsZCBjaGFuZ2UgdGhlIGxvY2F0aW9uIG9mCi0gICAgIHRoZSBsb29r
YWhlYWQuICBZWUxPQyBpcyBhdmFpbGFibGUgdGhvdWdoLiAgKi8KLSAgWVlMTE9DX0RFRkFVTFQg
KHl5bG9jLCB5eWVycm9yX3JhbmdlLCAyKTsKLSAgKisreXlsc3AgPSB5eWxvYztdXSlbCi0KLSAg
LyogU2hpZnQgdGhlIGVycm9yIHRva2VuLiAgKi8KLSAgWVlfU1lNQk9MX1BSSU5UICgiU2hpZnRp
bmciLCB5eXN0b3NbeXluXSwgeXl2c3AsIHl5bHNwKTsKLQotICB5eXN0YXRlID0geXluOwotICBn
b3RvIHl5bmV3c3RhdGU7Ci0KLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLgotfCB5eWFjY2VwdGxhYiAtLSBZWUFDQ0VQVCBjb21lcyBoZXJlLiAgfAotYC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoteXlhY2NlcHRsYWI6Ci0gIHl5cmVzdWx0
ID0gMDsKLSAgZ290byB5eXJldHVybjsKLQotCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLgotfCB5eWFib3J0bGFiIC0tIFlZQUJPUlQgY29tZXMgaGVyZS4gIHwKLWAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi15eWFib3J0bGFiOgotICB5eXJlc3Vs
dCA9IDE7Ci0gIGdvdG8geXlyZXR1cm47Ci0KLQotI2lmIF1iNF9sYWNfaWYoW1sxXV0sIFtbIWRl
ZmluZWQgeXlvdmVyZmxvdyB8fCBZWUVSUk9SX1ZFUkJPU0VdXSlbCi0vKi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCi18IHl5ZXhoYXVzdGVkbGFiIC0t
IG1lbW9yeSBleGhhdXN0aW9uIGNvbWVzIGhlcmUuICB8Ci1gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi15eWV4aGF1c3RlZGxhYjoKLSAgeXllcnJv
ciAoXWI0X3l5ZXJyb3JfYXJnc1tZWV8oIm1lbW9yeSBleGhhdXN0ZWQiKSk7Ci0gIHl5cmVzdWx0
ID0gMjsKLSAgLyogRmFsbCB0aHJvdWdoLiAgKi8KLSNlbmRpZgotCi0KLS8qLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCi18IHl5cmV0dXJuIC0t
IHBhcnNpbmcgaXMgZmluaXNoZWQsIHJldHVybiB0aGUgcmVzdWx0LiAgfAotYC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLXl5cmV0dXJuOgot
ICBpZiAoeXljaGFyICE9IFlZRU1QVFkpCi0gICAgewotICAgICAgLyogTWFrZSBzdXJlIHdlIGhh
dmUgbGF0ZXN0IGxvb2thaGVhZCB0cmFuc2xhdGlvbi4gIFNlZSBjb21tZW50cyBhdAotICAgICAg
ICAgdXNlciBzZW1hbnRpYyBhY3Rpb25zIGZvciB3aHkgdGhpcyBpcyBuZWNlc3NhcnkuICAqLwot
ICAgICAgeXl0b2tlbiA9IFlZVFJBTlNMQVRFICh5eWNoYXIpOwotICAgICAgeXlkZXN0cnVjdCAo
IkNsZWFudXA6IGRpc2NhcmRpbmcgbG9va2FoZWFkIiwKLSAgICAgICAgICAgICAgICAgIHl5dG9r
ZW4sICZ5eWx2YWxdYjRfbG9jYXRpb25zX2lmKFssICZ5eWxsb2NdKVtdYjRfdXNlcl9hcmdzWyk7
Ci0gICAgfQotICAvKiBEbyBub3QgcmVjbGFpbSB0aGUgc3ltYm9scyBvZiB0aGUgcnVsZSB3aG9z
ZSBhY3Rpb24gdHJpZ2dlcmVkCi0gICAgIHRoaXMgWVlBQk9SVCBvciBZWUFDQ0VQVC4gICovCi0g
IFlZUE9QU1RBQ0sgKHl5bGVuKTsKLSAgWVlfU1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKLSAg
d2hpbGUgKHl5c3NwICE9IHl5c3MpCi0gICAgewotICAgICAgeXlkZXN0cnVjdCAoIkNsZWFudXA6
IHBvcHBpbmciLAotICAgICAgICAgICAgICAgICAgeXlzdG9zWyp5eXNzcF0sIHl5dnNwXWI0X2xv
Y2F0aW9uc19pZihbLCB5eWxzcF0pW11iNF91c2VyX2FyZ3NbKTsKLSAgICAgIFlZUE9QU1RBQ0sg
KDEpOwotICAgIH0KLSNpZm5kZWYgeXlvdmVyZmxvdwotICBpZiAoeXlzcyAhPSB5eXNzYSkKLSAg
ICBZWVNUQUNLX0ZSRUUgKHl5c3MpOwotI2VuZGlmXWI0X2xhY19pZihbWwotICBpZiAoeXllcyAh
PSB5eWVzYSkKLSAgICBZWVNUQUNLX0ZSRUUgKHl5ZXMpO11dKWI0X3B1c2hfaWYoW1sKLSAgeXlw
cy0+eXluZXcgPSAxOwotCi0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0uCi18IHl5cHVzaHJldHVybiAtLSBhc2sgZm9yIHRoZSBuZXh0IHRva2VuLiAgfAotYC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLXl5cHVzaHJldHVybjpd
XSlbCi0jaWYgWVlFUlJPUl9WRVJCT1NFCi0gIGlmICh5eW1zZyAhPSB5eW1zZ2J1ZikKLSAgICBZ
WVNUQUNLX0ZSRUUgKHl5bXNnKTsKLSNlbmRpZgotICByZXR1cm4geXlyZXN1bHQ7Ci19Ci1dYjRf
ZXBpbG9ndWVbXWRubAotYjRfb3V0cHV0X2VuZAotCi1iNF9kZWZpbmVzX2lmKFtbCi1dYjRfb3V0
cHV0X2JlZ2luKFtiNF9zcGVjX2RlZmluZXNfZmlsZV0pWwotXWI0X2NvcHlyaWdodChbQmlzb24g
aW50ZXJmYWNlIGZvciBZYWNjLWxpa2UgcGFyc2VycyBpbiBDXSlbCi1dYjRfZGlzY2xhaW1lclsK
LV1iNF9zaGFyZWRfZGVjbGFyYXRpb25zWwotXWI0X291dHB1dF9lbmRbCi1dXSkjIGI0X2RlZmlu
ZXNfaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlz
b24vdXBkYXRlX2ZsZXhfYmlzb25fYmluYXJpZXMucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS90b29scy9mbGV4LWJpc29uL3VwZGF0ZV9mbGV4X2Jpc29uX2JpbmFyaWVzLnB5CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCA5OWMwMDJiMDRlNzg5MzIzOGI0MDhlZWZlZjNkM2M3ZDg3
MTU2ZmJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vdXBkYXRlX2ZsZXhfYmlzb25f
YmluYXJpZXMucHkKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0jIS91c3IvYmluL3B5
dGhvbjIKLSMKLSMgQ29weXJpZ2h0IDIwMTkgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg
YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotIyBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgotIwotIyB1cGRhdGVfZmxleF9iaXNvbl9iaW5hcmllcy5weToKLSMgICBIZWxwZXIg
c2NyaXB0IHRvIHVwZGF0ZSB0aGUgdmVyc2lvbiBvZiBmbGV4IGFuZCBiaXNvbiBpbiBjbG91ZCBz
dG9yYWdlLgotIyAgIFRoZXNlIGJpbmFyaWVzIGFyZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBBTkdM
RSB0cmFuc2xhdG9yJ3MgbGV4ZXIgYW5kIHBhcnNlci4KLSMgICBUaGlzIHNjcmlwdCByZWxpZXMg
b24gZmxleCBhbmQgYmlzb24gYmluYXJpZXMgdG8gYmUgZXh0ZXJuYWxseSBidWlsdCB3aGljaAot
IyAgIGlzIGV4cGVjdGVkIHRvIGJlIGEgcmFyZSBvcGVyYXRpb24uIEl0IGN1cnJlbnRseSBvbmx5
IHdvcmtzIG9uIFdpbmRvd3MgYW5kCi0jICAgTGludXguIEl0IGFsc28gd2lsbCB1cGRhdGUgdGhl
IGhhc2hlcyBzdG9yZWQgaW4gdGhlIHRyZWUuIEZvciBtb3JlIGluZm8gc2VlCi0jICAgUkVBRE1F
Lm1kIGluIHRoaXMgZm9sZGVyLgotCi1pbXBvcnQgb3MKLWltcG9ydCBwbGF0Zm9ybQotaW1wb3J0
IHNodXRpbAotaW1wb3J0IHN5cwotCi1zeXMucGF0aC5hcHBlbmQoJ3Rvb2xzLycpCi1pbXBvcnQg
YW5nbGVfdG9vbHMKLQotCi1kZWYgbWFpbigpOgotICAgIGlmIGFuZ2xlX3Rvb2xzLmlzX2xpbnV4
OgotICAgICAgICBzdWJkaXIgPSAnbGludXgnCi0gICAgICAgIGZpbGVzID0gWydmbGV4JywgJ2Jp
c29uJ10KLSAgICBlbGlmIGFuZ2xlX3Rvb2xzLmlzX3dpbmRvd3M6Ci0gICAgICAgIHN1YmRpciA9
ICd3aW5kb3dzJwotICAgICAgICBmaWxlcyA9IFsKLSAgICAgICAgICAgICdmbGV4LmV4ZScsICdi
aXNvbi5leGUnLCAnbTQuZXhlJywgJ21zeXMtMi4wLmRsbCcsICdtc3lzLWljb252LTIuZGxsJywK
LSAgICAgICAgICAgICdtc3lzLWludGwtOC5kbGwnCi0gICAgICAgIF0KLSAgICBlbHNlOgotICAg
ICAgICBwcmludCgnU2NyaXB0IG11c3QgYmUgcnVuIG9uIExpbnV4IG9yIFdpbmRvd3MuJykKLSAg
ICAgICAgcmV0dXJuIDEKLQotICAgIGZpbGVzID0gW29zLnBhdGguam9pbihzeXMucGF0aFswXSwg
c3ViZGlyLCBmKSBmb3IgZiBpbiBmaWxlc10KLQotICAgICMgU3RlcCAxOiBVcGxvYWQgdG8gY2xv
dWQgc3RvcmFnZQotICAgIGlmIG5vdCBhbmdsZV90b29scy51cGxvYWRfdG9fZ29vZ2xlX3N0b3Jh
Z2UoJ2FuZ2xlLWZsZXgtYmlzb24nLCBmaWxlcyk6Ci0gICAgICAgIHByaW50KCdFcnJvciB1cGxv
YWQgdG8gY2xvdWQgc3RvcmFnZScpCi0gICAgICAgIHJldHVybiAxCi0KLSAgICAjIFN0ZXAgMjog
U3RhZ2UgbmV3IFNIQSB0byBnaXQKLSAgICBpZiBub3QgYW5nbGVfdG9vbHMuc3RhZ2VfZ29vZ2xl
X3N0b3JhZ2Vfc2hhMShmaWxlcyk6Ci0gICAgICAgIHByaW50KCdFcnJvciBydW5uaW5nIGdpdCBh
ZGQnKQotICAgICAgICByZXR1cm4gMgotCi0gICAgcHJpbnQoJycpCi0gICAgcHJpbnQoJ1RoZSB1
cGRhdGVkIFNIQSBoYXMgYmVlbiBzdGFnZWQgZm9yIGNvbW1pdC4gUGxlYXNlIGNvbW1pdCBhbmQg
dXBsb2FkLicpCi0gICAgcHJpbnQoJ1N1Z2dlc3RlZCBjb21taXQgbWVzc2FnZSAocGxlYXNlIGlu
ZGljYXRlIGZsZXgvYmlzb24gdmVyc2lvbnMpOicpCi0gICAgcHJpbnQoJy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0nKQotICAgIHByaW50KCcnKQotICAgIHByaW50KCdVcGRhdGUgZmxleCBh
bmQgYmlzb24gYmluYXJpZXMgZm9yICVzLicgJSBwbGF0Zm9ybS5zeXN0ZW0oKSkKLSAgICBwcmlu
dCgnJykKLSAgICBwcmludCgnVGhlc2UgYmluYXJpZXMgd2VyZSB1cGRhdGVkIHVzaW5nICVzLicg
JSBvcy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9fKSkKLSAgICBwcmludCgnUGxlYXNlIHNlZSBpbnN0
cnVjdGlvbnMgaW4gdG9vbHMvZmxleC1iaXNvbi9SRUFETUUubWQuJykKLSAgICBwcmludCgnJykK
LSAgICBwcmludCgnZmxleCBpcyBhdCB2ZXJzaW9uIFRPRE8uJykKLSAgICBwcmludCgnYmlzb24g
aXMgYXQgdmVyc2lvbiBUT0RPLicpCi0gICAgcHJpbnQoJycpCi0gICAgcHJpbnQoJ0J1ZzogTm9u
ZScpCi0KLSAgICByZXR1cm4gMAotCi0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAg
c3lzLmV4aXQobWFpbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvdG9v
bHMvZmxleC1iaXNvbi93aW5kb3dzL2Jpc29uLmV4ZS5zaGExIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL2Jpc29uLmV4ZS5zaGExCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4Y2I1ZjRmYjViYjBiMWQzNWIzMjIxNTRiNDQ2NThmNTM2OTQ0
YjY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9iaXNvbi5leGUuc2hh
MQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTRhNmUxZGNlZDYxZGFiMmZjZDgyOGVkYmZi
ZmE3ZWIwMjE1Y2YyYTQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvZmxleC5leGUu
c2hhMSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9m
bGV4LmV4ZS5zaGExCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYWE3OGVkY2FmZWRl
ZTAyMWUzYzI3Nzg4Mzk5ODZiMTgzOWY2MGNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlz
b24vd2luZG93cy9mbGV4LmV4ZS5zaGExCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYmM1
MGIzYjZlODRhMzA5NDBhYTEyMjNmNjkyYzlmMWZjOWJlZGJmOQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgt
Ymlzb24vd2luZG93cy9tNC5leGUuc2hhMSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xz
L2ZsZXgtYmlzb24vd2luZG93cy9tNC5leGUuc2hhMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTY0M2RmYjNiMDU2YzJmZjJhZTRiYTQ3NjNhYmU5N2Y1MDU3MWQ5Zi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbTQuZXhlLnNoYTEKKysrIC9kZXYvbnVsbApA
QCAtMSArMCwwIEBACi0wNjgzNmU0NWIwNWQ1OTdkNTZiNzRmZWJlM2JjZmQ3NmU4MGVmOGY4Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtMi4wLmRsbC5zaGExIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvdG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtMi4wLmRsbC5z
aGExCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ODM1MmM3NDYzNWJmZDA4OGY5MmM5
ZmEzMmMxZWQzMDQ4ZTAzMDljLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93
cy9tc3lzLTIuMC5kbGwuc2hhMQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWQwYmVhYjdl
Yzc3YjI1YWM3MWJkMmQzYmY1NGY0ZWZkMzllMzk0N2YKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29u
L3dpbmRvd3MvbXN5cy1pY29udi0yLmRsbC5zaGExIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
dG9vbHMvZmxleC1iaXNvbi93aW5kb3dzL21zeXMtaWNvbnYtMi5kbGwuc2hhMQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjUyYmM0YjQyYjk2NGIzOWYxZWU5NTBmN2FiOWEzMWI1Zjg5
ZWUzYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbXN5cy1pY29udi0y
LmRsbC5zaGExCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotMDU3OWYxNTYzZTIyMGQ2MTIx
YjY1YTVmNDcyOTkxOWNkMGNiNmFmOQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgtYmlzb24vd2luZG93cy9t
c3lzLWludGwtOC5kbGwuc2hhMSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Rvb2xzL2ZsZXgt
Ymlzb24vd2luZG93cy9tc3lzLWludGwtOC5kbGwuc2hhMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTczNTkyMTEzZjEyZTdlZTJmZmI1ODJhYWI0MWViNGJlYzM5YWUwYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS90b29scy9mbGV4LWJpc29uL3dpbmRvd3MvbXN5cy1pbnRsLTguZGxsLnNoYTEKKysr
IC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0yMTJhOWVmOTBlMjFhOThmZjU3Y2EzMDFhNjBjODRj
YmVjYTdiZTI4ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="406102"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>