diff --git a/404.html b/404.html index 145462c5f..7a35d04c4 100644 --- a/404.html +++ b/404.html @@ -12,8 +12,8 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/images/commonsize-41310d0bf8a56737d99481466d5d858d.png b/assets/images/commonsize-41310d0bf8a56737d99481466d5d858d.png deleted file mode 100644 index 5cbecb7cb..000000000 Binary files a/assets/images/commonsize-41310d0bf8a56737d99481466d5d858d.png and /dev/null differ diff --git a/assets/images/commonsize-d30224a000f4c779ca485f1be68cfe82.png b/assets/images/commonsize-d30224a000f4c779ca485f1be68cfe82.png new file mode 100644 index 000000000..a1375656b Binary files /dev/null and b/assets/images/commonsize-d30224a000f4c779ca485f1be68cfe82.png differ diff --git a/assets/images/dbdiffcommon-5356e717fc579fb33c3cac23673f5f87.png b/assets/images/dbdiffcommon-5356e717fc579fb33c3cac23673f5f87.png deleted file mode 100644 index d1ce20b02..000000000 Binary files a/assets/images/dbdiffcommon-5356e717fc579fb33c3cac23673f5f87.png and /dev/null differ diff --git a/assets/images/dbdiffcommon-7de91cc6f1ea893f588a5b22ea5f3563.png b/assets/images/dbdiffcommon-7de91cc6f1ea893f588a5b22ea5f3563.png new file mode 100644 index 000000000..a4597bc5e Binary files /dev/null and b/assets/images/dbdiffcommon-7de91cc6f1ea893f588a5b22ea5f3563.png differ diff --git a/assets/js/0e0b553a.89cb4cdf.js b/assets/js/0e0b553a.89cb4cdf.js deleted file mode 100644 index fe7a3ef4d..000000000 --- a/assets/js/0e0b553a.89cb4cdf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstakeworld_io=self.webpackChunkstakeworld_io||[]).push([[669],{8981:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>n,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>i});var s=t(5893),d=t(1151);const o={id:"snapshot",title:"Snapshot",description:"Polkadot and Kusama snapshots in paritydb and rocksdb format",slug:"/snapshot",sidebar_position:3,keywords:["snapshots","snapshot","kusama snapshot","polkadot snapshot","rocksdb","paritydb","pruning","polkadot","kusama"]},n=void 0,r={id:"snapshot",title:"Snapshot",description:"Polkadot and Kusama snapshots in paritydb and rocksdb format",source:"@site/docs/snapshot.mdx",sourceDirName:".",slug:"/snapshot",permalink:"/docs/snapshot",draft:!1,unlisted:!1,editUrl:"https://github.com/stakeworld/website/edit/master/docs/snapshot.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"snapshot",title:"Snapshot",description:"Polkadot and Kusama snapshots in paritydb and rocksdb format",slug:"/snapshot",sidebar_position:3,keywords:["snapshots","snapshot","kusama snapshot","polkadot snapshot","rocksdb","paritydb","pruning","polkadot","kusama"]},sidebar:"tutorialSidebar",previous:{title:"Pool",permalink:"/docs/pool"},next:{title:"Bootnodes",permalink:"/docs/bootnode"}},l={},i=[{value:"Automatic install",id:"automatic-install",level:2},{value:"Manual install",id:"manual-install",level:2},{value:"Setup a validator node",id:"setup-a-validator-node",level:3},{value:"Install the database",id:"install-the-database",level:3},{value:"Edit the systemctl startup script",id:"edit-the-systemctl-startup-script",level:3},{value:"Different databases:",id:"different-databases",level:2},{value:"Paritydb kusama",id:"paritydb-kusama",level:3},{value:"Paritydb polkadot",id:"paritydb-polkadot",level:3},{value:"Rocksdb kusama",id:"rocksdb-kusama",level:3},{value:"Rocksdb polkadot",id:"rocksdb-polkadot",level:3}];function c(e){const a={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.p,{children:"Last update: Wed 20 Dec"}),"\n",(0,s.jsxs)(a.table,{children:[(0,s.jsx)(a.thead,{children:(0,s.jsxs)(a.tr,{children:[(0,s.jsx)(a.th,{}),(0,s.jsx)(a.th,{children:"Chain"}),(0,s.jsx)(a.th,{children:"Database"}),(0,s.jsx)(a.th,{children:"Format"}),(0,s.jsx)(a.th,{children:"Blockheight"}),(0,s.jsx)(a.th,{children:"Snapshot"}),(0,s.jsx)(a.th,{children:"Full"})]})}),(0,s.jsxs)(a.tbody,{children:[(0,s.jsxs)(a.tr,{children:[(0,s.jsx)(a.td,{children:(0,s.jsx)(a.a,{href:"http://snapshot.stakeworld.io/paritydb-ksmcc3.lz4",children:"direct link"})}),(0,s.jsx)(a.td,{children:"ksmcc3"}),(0,s.jsx)(a.td,{children:"paritydb"}),(0,s.jsx)(a.td,{children:"pruned"}),(0,s.jsx)(a.td,{children:"21063770"}),(0,s.jsx)(a.td,{children:"345G"}),(0,s.jsx)(a.td,{children:"358G"})]}),(0,s.jsxs)(a.tr,{children:[(0,s.jsx)(a.td,{children:(0,s.jsx)(a.a,{href:"http://snapshot.stakeworld.io/paritydb-polkadot.lz4",children:"direct link"})}),(0,s.jsx)(a.td,{children:"polkadot"}),(0,s.jsx)(a.td,{children:"paritydb"}),(0,s.jsx)(a.td,{children:"pruned"}),(0,s.jsx)(a.td,{children:"18675093"}),(0,s.jsx)(a.td,{children:"280G"}),(0,s.jsx)(a.td,{children:"290G"})]}),(0,s.jsxs)(a.tr,{children:[(0,s.jsx)(a.td,{children:(0,s.jsx)(a.a,{href:"http://snapshot.stakeworld.io/rocksdb-polkadot.lz4",children:"direct link"})}),(0,s.jsx)(a.td,{children:"polkadot"}),(0,s.jsx)(a.td,{children:"rocksdb"}),(0,s.jsx)(a.td,{children:"pruned"}),(0,s.jsx)(a.td,{children:"18675492"}),(0,s.jsx)(a.td,{children:"280G"}),(0,s.jsx)(a.td,{children:"293G"})]}),(0,s.jsxs)(a.tr,{children:[(0,s.jsx)(a.td,{children:(0,s.jsx)(a.a,{href:"http://snapshot.stakeworld.io/rocksdb-ksmcc3.lz4",children:"direct link"})}),(0,s.jsx)(a.td,{children:"ksmcc3"}),(0,s.jsx)(a.td,{children:"rocksdb"}),(0,s.jsx)(a.td,{children:"pruned"}),(0,s.jsx)(a.td,{children:"21065122"}),(0,s.jsx)(a.td,{children:"337G"}),(0,s.jsx)(a.td,{children:"355G"})]})]})]}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.img,{alt:"snapsize",src:t(2307).Z+"",width:"800",height:"300"})}),"\n",(0,s.jsxs)(a.admonition,{type:"info",children:[(0,s.jsx)(a.p,{children:"Snapshots are compressed backups of the database directory of a polkadot or kusama node. If you start a node for the first time it will start building the database from scratch, which will take a few days, depending on network speed. If you download an up to date database snapshot your node will be up and running quicker; under an hour or a few hours, depending on network speed."}),(0,s.jsxs)(a.p,{children:["Recently the warp sync option is becoming more developed and popular. If you start the node with an empty database and the option ",(0,s.jsx)(a.code,{children:"--sync warp"})," the node will first download the finality proofs after which it will be ready to validate and in the background download the remaining blocks."]}),(0,s.jsx)(a.p,{children:'With the "beefy" update warp sync got temporarily disabled and now so for the time being the snapshot service is re-enabled.'}),(0,s.jsxs)(a.p,{children:["For now the snapshots are available for kusama ",(0,s.jsx)(a.code,{children:"--chain ksmcc3"})," and polkadot ",(0,s.jsx)(a.code,{children:"--chain polkadot"})," in the paritydb ",(0,s.jsx)(a.code,{children:"--database paritydb"})," database format and the rocksdb ",(0,s.jsx)(a.code,{children:"--database rocksdb"})," format. They are pruned with ",(0,s.jsx)(a.code,{children:"--state-pruning 256"})," (default), which is sufficient for a validator node."]})]}),"\n",(0,s.jsx)(a.h2,{id:"automatic-install",children:"Automatic install"}),"\n",(0,s.jsxs)(a.p,{children:["The following script can restore a snapshot for a quickstart. If you want you can first review it on ",(0,s.jsx)(a.a,{href:"https://github.com/stakeworld/stakeworld-scripts/blob/master/node-install.sh",children:"github"}),'. You can choose "snapinstall" for a snapshot restore or "nodeinstall" to install a complete node. The script will ask some questions and create an install or restore script which you can review before executing.']}),"\n",(0,s.jsx)(a.p,{children:"The script is for ubuntu/debian flavoured servers."}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"curl -o- -L https://raw.githubusercontent.com/stakeworld/stakeworld-scripts/master/node-install.sh | bash\n"})}),"\n",(0,s.jsx)(a.h2,{id:"manual-install",children:"Manual install"}),"\n",(0,s.jsx)(a.h3,{id:"setup-a-validator-node",children:"Setup a validator node"}),"\n",(0,s.jsxs)(a.p,{children:["Setting up a validator node is covered ",(0,s.jsx)(a.a,{href:"./validate",children:"here"}),". The default apt install creates an user polkadot with a home directory ",(0,s.jsx)(a.code,{children:"/home/polkadot"})," and a default service script ",(0,s.jsx)(a.code,{children:"/usr/lib/systemd/system/polkadot.service"}),"."]}),"\n",(0,s.jsx)(a.h3,{id:"install-the-database",children:"Install the database"}),"\n",(0,s.jsxs)(a.p,{children:["Database location: By default the polkadot binary runs as user polkadot and creates ",(0,s.jsx)(a.code,{children:".local/share/polkadot"})," in the users homedirectory. So for user polkadot (the default when installing from apt) that is ",(0,s.jsx)(a.code,{children:"/home/polkadot/.local/share/polkadot"}),"."]}),"\n",(0,s.jsxs)(a.p,{children:["This can be changed with ",(0,s.jsx)(a.code,{children:"--base-path"})," so for example ",(0,s.jsx)(a.code,{children:"--base-path /home/polkadot"})," or ",(0,s.jsx)(a.code,{children:"--base-path /home/polkadot/myvalidator"})," or whatever you prefer."]}),"\n",(0,s.jsx)(a.p,{children:"To delete the old database, restore a new kusama paritydb database snapshot for your node with a default install:"}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"su - polkadot -s /bin/bash\nrm -fr /home/polkadot/.local/share/polkadot/chains/ksmcc3\nmkdir -p /home/polkadot/.local/share/polkadot/chains/ksmcc3\ncurl -o - -L http://snapshot.stakeworld.io/paritydb-ksmcc3.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/ksmcc3\n"})}),"\n",(0,s.jsx)(a.p,{children:"You can check the startup by running the binary as user polkadot and see if it accepts the database or throws any errors:"}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"su - polkadot -s /bin/bash\npolkadot --chain kusama --database paritydb \n"})}),"\n",(0,s.jsx)(a.h3,{id:"edit-the-systemctl-startup-script",children:"Edit the systemctl startup script"}),"\n",(0,s.jsxs)(a.p,{children:["Edit the default service script and add for example ",(0,s.jsx)(a.code,{children:"--database paritydb --chain kusama"}),":"]}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:'su -\nvi /usr/lib/systemd/system/polkadot.service"\nsystemctl daemon-reload\nsystemctl retart polkadot\nsystemctl enable polkadot\n'})}),"\n",(0,s.jsx)(a.p,{children:"Or create a new script by copying the default service script:"}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"su -\ncp /usr/lib/systemd/system/polkadot.service /etc/systemd/system/validator.service\nvi /etc/systemd/system/validator.service\n"})}),"\n",(0,s.jsx)(a.p,{children:"You can edit settings at wish, changing ports and settings at will."}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-config",children:"[Service]\nExecStart=/usr/bin/polkadot --chain kusama --name validator --validator --prometheus-external --base-path /home/polkadot --database paritydb --telemetry-url 'wss://telemetry.polkadot.io/submit/ 1' \n"})}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"systemctl daemon-reload\nsystemctl start validator\nsystemctl enable validator\n"})}),"\n",(0,s.jsx)(a.admonition,{type:"caution",children:(0,s.jsxs)(a.p,{children:['If you installed as root you will get an error "failed to create a test file: Permission denied". You can solve this by running ',(0,s.jsx)(a.code,{children:"chown -R polkadot:polkadot DBDIR"})]})}),"\n",(0,s.jsx)(a.h2,{id:"different-databases",children:"Different databases:"}),"\n",(0,s.jsxs)(a.p,{children:["Below restore commands for different databases to the default directory. Best run them as user polkadot (",(0,s.jsx)(a.code,{children:"su - polkadot -s /bin/bash"}),") or when running as root do a ",(0,s.jsx)(a.code,{children:"chown polkadot:polkadot "}),") or when running as root do a ",(0,s.jsx)(a.code,{children:"chown polkadot:polkadot "}),". Of course change the part after ",(0,s.jsx)(a.code,{children:"-C"})," when installing to another location."]}),"\n",(0,s.jsx)(a.h3,{id:"paritydb-kusama",children:"Paritydb kusama"}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"curl -o - -L http://snapshot.stakeworld.io/paritydb-ksmcc3.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/ksmcc3\n"})}),"\n",(0,s.jsx)(a.h3,{id:"paritydb-polkadot",children:"Paritydb polkadot"}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"curl -o - -L http://snapshot.stakeworld.io/paritydb-polkadot.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/polkadot\n"})}),"\n",(0,s.jsx)(a.h3,{id:"rocksdb-kusama",children:"Rocksdb kusama"}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"curl -o - -L http://snapshot.stakeworld.io/rocksdb-ksmcc3.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/ksmcc3\n"})}),"\n",(0,s.jsx)(a.h3,{id:"rocksdb-polkadot",children:"Rocksdb polkadot"}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-bash",children:"curl -o - -L http://snapshot.stakeworld.io/rocksdb-polkadot.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/polkadot\n"})})]})}function h(e={}){const{wrapper:a}={...(0,d.a)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},2307:(e,a,t)=>{t.d(a,{Z:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAEsCAMAAAAM8ycIAAABPlBMVEX///8AAACgoKD/AAAAwAAAgP/AAP8A7u7AQADIyABBaeH/wCAAgEDAgP8wYICLAABAgAD/gP9//9SlKir//wBA4NAAAAAaGhozMzNNTU1mZmZ/f3+ZmZmzs7PAwMDMzMzl5eX////wMjKQ7pCt2ObwVfDg///u3YL/tsGv7u7/1wAA/wAAZAAA/38iiyIui1cAAP8AAIsZGXAAAIAAAM2HzusA////AP8AztH/FJP/f1DwgID/RQD6gHLplnrw5oy9t2u4hgv19dyggCD/pQDugu6UANPdoN2QUEBVay+AFACAFBSAQBSAQICAYMCAYP+AgAD/gED/oED/oGD/oHD/wMD//4D//8DNt57w//Cgts3B/8HNwLB8/0Cg/yC+vr5fX1+/v78fHx8/Pz+fn5/f39+np6cAnnMvLy/Dw8M30NEkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAeOElEQVR4nO2dC5qsqLKFdU/D+eQ4ULTr3vlP4MgjAlDwlT6QXH9/u63EUKjClYBGhFUFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICbkPVIJ9uN5qJLf/Lpmn3N2GsPwD3Irh2R9UaFLAikF96HvRd8P+yzB+AepLnGO7nNfEEgQngfMCKAMrACkbLqellXVa2ubKE+NV0t1ff6uO36cTvIumtYEvxpEGa/mqu19KFS+2oxuN3VOErVeiZH59NQadcMtcYz4CMAeAw3gnRS9J5Axku27cR4udb90Ne9nowNTdfxcfaTlMPQqBmaFN4HPpxLRrmMPwzufBoqHUecYUQNZGxA+wB4Di2Q8TrsK3Pts0Ck2dqCrhr0RU0CCT9VWgrC+6D3NLUrGfQqZ3Dns6expWZKJurBr9DuA+A59F0sPaVR17UnELVtuqrVl2lfD+YHurLDT2b0EN4HfbKWvv51Sde0fGBPe2ypqa5VqnMGtA+A59B3sfTVar7E5wIxDOaaJkm4T63sxt3CqIA/2Au+dSWDWVrw+cx5bKm2H6yqyGAIVisAPIHkG1EpgbRqcTBUiRFkXDYMPIK4DzSCuJJKLdjrls/HqFJdnegGc2ZnoPcB8BxTgej/d04gFa2nE2sQPY0a7AjiPuglzLgG4ZJBX+jjUbU/JnDpWF1vtcAVtv4nAB5hKhDRqXu1nkCarh9aKcx9KxHcxVKfhroZd0up71f9P3+gu1i8e1xf2LtYdD4Fl6rbvMIMHGTA+wB4jqlA9PONURgsEP1YQj/RsHsM/KnvajlOnMaxpOta/lDTcxAu6f3nIIIu+56fg/Rm6dE6gx7PQQAAAAAAAAAAAAAAAAAAAAAAAABQNMpLoqkG59JtChjlPdEJ5T6BoG3we4iub/u6qVSikFZ5hlMB7a9F2/Y6hQjSeICfY9DhPTZkQkWMBgUqysj4bkvxQOMAyANpMugIOSkIc+tgigV+ETWz0h7agw3/4QJV5IkCAgG/yLgIN9MoGkC4gKLwLBAI+E1amx2knxSQQHoTFgSBgB9FJ/zo60mBQk+xhrbtIRDwk2gh6DwFdoblChTSS5fmC6QGeXLjpVP5l0h/NFVFMld/9PtY3V4NduxM9b+Q3T+OyYWj8wmaer0C89G0ZjqC1Pw/vyDy81G700/4exXfhBZIWx+dXiRz9fdDmH1fMxfIvlT/uwUyVqCeC6qG0BMPLtA0tRg/C86sZpkJZImz7VDx9yc8DyWQgRatxw6vErn6g+z7pmQukPThMXYLRKcy1wsNKxAusKg8g3NXEwjk3RWfiNSp+HTlNoMfJ7l3mfP7Rl1UQn/iUjpcb6RvrZL2d43Ovm8eyY1n5eT8nIY/PNwcxm1Yy/V/Mboj/m00PtsOFSd5RiD2uTJfnJTkPsic39SyH4RfSocrRok5a520fxSUFHS/aPz25uT8nIY/PNwc5gSykuv/Yh7oCLCBnf3yOaFK2Um7AKGLM0xyrzPnS5u+siVh8JzM5ep31voitgKpTHrwwaXJDNLwe4frcieQ5Vz/VwOB5Mmufvkovq5S1tKmI/a/vd2iWQo7O1cXKHlreIn19c03nnJpa72PBKJOKKSXaDlIw+8drstdG5Zz/V8Nplh5VvyEQNQriXQSb744Kcl9mDmfBMKl9nDK1R9as0CUFMaTueT8nIY/PNxWMheIYZLr/2ogkDwrXhDIZyNbm0SYu1hqQsMXZ2WS3HuZ8z2BBNnzvUSyE2sWyPhDW1fJEcRd8CmBRHP9Xw2mWHny0AhinoNQmn1Kcu9lzvcE4krd4VVVVRNrJ5BGqtu93hrEpuEPD6fqbRvWcv1fDQSSJ08JRN0r4jT7lOTepdEPRhAu9Q6vqmpirQUiBy0a/d3Pqfpjd7HsAS7V/2qu/4vBFCvPih+5i2U2oyA4fb59DsJ58oM1CJf6h1dTa/V/lX2fTfjsdeQ5iD3As1rL9b8ZG4Ju7gYIW5V3lnhMOgSSZ8VFjuyPeslSCLoULd8OaGonkERMepEdUQAF9stw17o6XjuFoHsqHRdKbthLxKQX2BFvI7p8KK9feuMv8ixS+gKR3kQtFZOOKdajFX+qxC3ZmwUScTbvmtScKDoSfOntfrm7e0Uh6LWQ1kdxVId7a1kqJh0Cea7ipWcWdwtk7my+TSDsyL7k7T53d48I5Gp3dwpB72TfNkoO6j6DJ5BETHp5Q/k7+FTLT/VuF4jeTOcZ6wJhR/ZFd/WZu3tMIAvHrzRiM3xTWT19kaKaCiQSkw6BPMCGp97PCEQ9vKCEnCSQdrx02IGdPc29e6bt9Ayhu7t6DDJa/d+yt7t3vHGSv8bdnULQ23rou8ETSDImHVOsmyueDh1ZCWT8/lYP6Hp6nK5y2WodkAM7eZqzlRSzM0zc3TtjteLt7h1vnORPd3cPQtDH1gjr29UE9Udj0v+N3fvMv38P2WnTB+wSXlNTu/0x6X87r5Yp7GxuFqtNTQLxQgw7wV4ezkqK6RmctXkMZwWy4u3uHW8u/bPd3TkEXStEjFtF0w28fyEmHdxCdOhIPAPf1S9/iq+axs7m7FRuBSLdmkAK9hN0VmPh5AzO2ngjkkCWvd29440kT3d3tyHog3oe2NC44T2PX4pJB9fyma3JjTYWHETuFgg5m5uZUGu/RrvaPGomB3byNHdWUkzPMHV3J4Ese7t7x5vL83R3dwpB16HnpGPfYWUhJv0HlwL32SWmVSveUwsC+dvIxqZrPFfcYASRrbrQ2YF9aQThS23i7k4CWfZ2945PCuQ5d/dfuE4fqTi+Ik9PrBy3jyD2h+kaRM/J2YF9bQ2imbi7s0AWvd1nAoG7e/kcGzsMTwlkdhdrLPDc3cnT3N3F0o7swRkm7u50F2zZ230mkKzc3cH5HB06LE/cxTJMn4Oo+1jswM6e5mRlHdmDM4Tu7nrer62WvN1nAjnf3f0YmGJdYJecWW0/YYlfXK/MCQ2BnG2XGDjszOp3BfKst/thyuuIJ9n4mHwDxfVLFt7uByiuI57jqzXHFPRLJmCKdYpdYtVx/IQQSCZAIN/b7blhBYE8Bt14o22QvaFaTNoAjhNXx9dZRtAvZ0NJG2gbZG+okLThGk5dd/igX06GkjZw8obJXefFpA1lzHTurvjQLStMsR6FnJNdWjsCSRtOPuHBoQMCeQ6TtIG3LntDtZa0Aezm/FVHCPrlfEzSBt5y9gYFkjacyhWrjhD0yxWQb6TzkSRv4uWkDS+e6TxQcWzoOL1iCOQSeheTbgo4HgVJG0454WxhflXFEMjZUNKGIHmDU0qeSRte9i+y7riknv1JG8AalLSBkzdw9gbaj6QN33HxqnwC+uVsbNIG3obZG5aTNrxupnN/xSvywBQreyhpA23D7A0VkjZ8ccL1e7oQSKmgI1aIJuy5HvRLJqAjFplr4w51VOiXbMAUa4HtYwemWKUCgaSYP/JYGDwgkFJBR0R5ZN3hg37JBHREhMflgX7JBkyxJuyaWZ1ZcQgEkgkQSMDRsQMCyR+KRa+EcUykbPG0HzHpa0QeeTzWFvTL2VAsettJ41+iItJbl80OMekrPPbIIwr65WQ4Fr3vK+eANfBbdRGTvmg4HzxuqjgFBHIJJibdCURwJDpi0hcM0zMrCKQgKCbdCcQNIIhJXyKXhYcH+uV8KCbdCcQNIIhJXyA7dVTol2tovReE6h9YFYhJXzBckAemWGVh39be0Ce3BzHpCUN9uyo5eEAgxeDFopNAhLcwR0x67N+oCvPz599V8eVH/iEm/XxcLLoTiC8ExKTPyWbBEeGX++UaOBa9HbXQmrtZ3sIcMekTw23rcUyxioFi0SV7mAR3rhCTHnC2jxUEUio/1RFWFfnczE3zU/2SM7/SER97N/cV6qh+p1+y5xemWJ/5k47sf2MIJBPKF8gtTogQSKmU3hHZBHjspPR+eQ2Fd0TaTzdzCu+X91DuFOuzFCCY/W8MgWRCqQKZaSMcPbL/jSGQ0/Hfk976BZafiUmPRAd+qkfjZw9QYL88jKjNKwmbcSuUY5bo2qH1ggt/JCZ9eeR4DcX1yx2ot0e1Qoo2tlMPC0IaT0UprMsiJ234hZj0T/Uv+u7yyyvGFCsHhq6um7buZFdHFaJouoG9ekOBlB+THlt1JFOTZP8bQyC7EV3f1FKPDzJlI4URiAqcasaVSEv+iqXHpO8RxysopF/uROX1MfEebZcwaUZdmIFDefOKuvbSN5Qbkx6dVr1YG5oC+uVu1NBgpNEm/nqNUsG4WB+abhSIXqSTFsqNSY+OHKvyyP43hkB2syoQYdYm48Ah+polQUcXGpN+cPDI/jeGQHazJpDGW7s3nY3Bbct9T/pHBZJH5fF82778h5j0I9TdiP5fF/vr9VYfvX0UOBlBSotJjw8cb195ON7aLw8iPSK7O6GzVaulRyu6QY0Zag0iaH9ZMemJedWdi59DdphiPUXLbzsQXS31vGrialJMTPrCw0AI5OfRo8SJvKsjPom7Vk+363ze1S950IrKLKrFiSd9UUfEVuTb7lm9kBf1Sy60tVp61P3Qp11N9vOaKVZUG1N1YIr1w5hEotpPV5x31pcIZOPI8U6B/EXKIJDd6FdIaYH03XlnfUVHlDyx+tPMil/RL3lhJlYqliPlanLorOed6gpicbPlyOPPygMCOQO38jh9BMlqwsHEtbGojldNsf58pnYQyG6koJ9E0t19P9kKJCGN5cHjPQL5W9YHBLIfigkMnK6+JtOOKHdapfibMTPJtF+yRtSy6fum82OfPMyD84GfqLvsDYY3JW0oWB5/EXlEbmPl2S+Z03fq0pfx8YOSNmiPLBVpy9kbaH86acPjEw6frWHlp1d8h11MHLG7vBDIMYZhSO2ipA3aTMmAszdoXpK0ISIN9V8eTmDf2sUGj5QtBHIJjbm/pXTisjdoFpM2ZMAn4mdVlI/V1qHDkku/FIYU6v9aGy57gynKOmnD3tu5L2PjusMnj34pjcbIwTqlcPaGai1pw7NTrKg6PnO70yu+xy6ijeXBQwOBXEBjVWA2nL1BkWvSho0PA98rkKg8NgCBnA/dsqIwW5u9wbCYtOEh4tooZ3J1YGbFQCBHGITUMelRVxN+fug/aG/INLekDfGEC5+x+P62XPIvNnT8+0PShkuRnWg0kX0uSsRe/33wTHAxacPtU6zYqLGUgf1lU6zo0PG364QQyBGWfEwoaQMtQVz2BkM+SRsOTKpeJZDFRTkEciVd8jGhl7SBb1hx9gZrkU7acB9Fe68r9jwMXAICOUJ0bvUdt3ZEYmZVDEdvWUWAQI7QdzK5BjnInVOsyJL8noqvP6Gy2yQPTLGupCPOO+VNAom/Fi0jJ7Av7SIzq/jDQAjkZdzQEd+4576CE2dWDASSCZd3BNYdh4BAdtMMVUOcd9Zrp1ixweOrE55kd9oJl+7oflUxBLKbrn/ZGiR2Q/diJ8RbBXLoji4E8jIu64ioOMqZW100s2IgkNOhZO6tpKTuIohevzEmPTKz2vBatBdxtTwgkPOhmPShE0OvJNB20hfIbTHpq/OqvSe8wO6rE8bWHadXDIGcDcWka19e5ZPV95UnkLti0vfd0X2dQFLrDgjkHTRdOH9yP98Sk170qqOKuyFeBARykHRaE4UUQ92Lml685gRyfUz62h3d13P9usMHAjmEyow1VCIlkqYehrpTbxAxEvAFcm1M+r6Z1YYTXmu3/4SRdcelFUMgR1AxHaNApEjt7kcliIqz/UwFclFM+p5l+aYTXm73tUAurxgCOYJ6RcgokDb+oFCYbD9KCfb16N686qqY9Ogd3S/PmSF3zawYCOQI6rLXIVGxnTYmXSthLpBLYtJjQ8fRc+X9j7Xx7++G+hCTfhA7gkTfD0Ix6fol6jZXgyeQC2LS0zOry++2fmu374R6xbE8dmCKlQVN3bR123cxZ0WKSW9r0epF+jifGs1bd+ypMemLd3SLEgipYtENEQLJg0bHncf04WLSydVE8nsQrMVpMenFB3g47llwRIBADtK6MeEUdndEdGJVpjweU0cFgXzHU+9J35qT5N1TLJpS/d1dsQ8EcgSbxid+F+vgKdX/NvXajqHjxQKhp4A787xBIFlQd/opx+kC2cC2oePdeJ6ITzcFAjlEPYhapJ6DHDzlukkiA/t5bciC2x8FLgOBHEE/Re/aG6dYB95Vvni+g4aXz3RSniSYYr0Kdc9WDSJ3CSSujfWx420CSXvpQiCvwjzU6M/0Q0ifqvg0uo7bnNi3A4EcwT70G/plsz0kOuLg0PFO8pMHBHIBlLShUilKJwWKhaQNEx+r5NDxrEvURRWf4saOKdbzrCSOo6QNyrLuwgKzf1PShviafKcT4msEYjVhn33cWPEqEMhuVhLHUdIG9ZhEdEGBYjFpgyUxdBQ6swoGjEwmVg4I5BK0m7ts+M2E7h2Fq0kbFoeOIvDHiGzWGikgkEuQQmvCCUQVKJaSNnw2Dx0vnmJ5iwwd93RbxQcNIZD9tNrNRHYyeROr0eGGrRNIQ97u6aQNiZEjOnS8VCB/84U4BFIerYp1GpchQqbe5amSNtAg4go06aQNxa86MnzIsQEIZDc6llYHm0sRNdBJG3r1ok8rEOEpKZ604fOZC+TCX+ERXqkPCGQ/nbraTWLR2F0sm7RB2MjChrM4GOJJGyYC+fe5ORnCv2vtIolC7b5/G9t4th2SNlyHXk6Y/O2xv55N2jAoGjWM9MFMLJq04RMIZL0J71qDzD2srvOxwhrkebrWfP8nRhBK2qDQUyy/oEokbSCBlLXqUMzU8ZrJlQEC2Y0U4wRKS6OR870uaUNlBBIUaItI0gYjkIsbfj8LQ8dbgEB209ad1PeimvpsZ8XsJxy77LYMHtn/xhDIflohtDL07d6zKEwgsfd33OFjBYFkxOILEPZSUkdEpPHG2ZWmpH55NaV0xNah4y2U0i+vp4gpVkQbK0NH9r8xBJIJrxdIdOhYHTuy/40hkEx4d0fEtPHqmRXz7n4piJd2xF9q6ChDHq/tl5yhEHQ/FN2PPdwck54mjylWShl7Hghm/xtDIGdDIeh+KLoJTqf9m2LSF8lBIClx7Mo1nf9vDIGcDYWge6HoNjhdsyUm/Q18O3S8hbf1y0vgSCm99YPTV2PSX0HJq46Qd/XLa5DC2/rB6Usx6S+YcBi79aEDUyywBIWg620QnJ6OSVf/y/5y+Zd4GHhHxafaQSBPQm6+ZitFNRVILCb93iYeY3bfqsowk9W5vKJfXgaFoJutH5xepWLS39ARP7HkmJF/v7wOCkG3Wy84XRGPSR87YuTeOHT/32qs+Xxa9d35roo1R0x69lAIOm1dcLomGpNeZb0GiT0QvKXiC+2wBnkMCkEPQtHdFCsek55vR/zODd04ufbLa6EQ9P+CUHRPINGY9Dw7IuGg+0PyyLNffpLspljxoWOjODDFAieTlUCSQ8eTD2CeqRgCyYQ8OoLfYvPLy46APPoF5NARCWX82qojJIN+AYqHp1jp2I5AHJhigYd4TiBL2pgOHRAIeIinOiIpjp9ddYRAIJnwTEck48mhDgsEcjoUi96PW+3Nqx8YCt6fSUz6xlXH+RVfekJMsbKHYtH7uh+0v6LUPieD259BTHpaGctDBwQCvmUWk+6PEznEpMOBZA8QyCU0nXnFTl9PBfJwTHpcGxBHEgjkEsZplXZTbEeZ1EK6BFkPxqT/LWR4y36mgylWUTT10Ou/rA6Lki5B1lMx6Wsr8uyvUwikJFQsuhOILTLbJ2LSU8rAumMDEMj56Fh0N8XStPSOwltj0v/SQ8cV1ZUIBHI6JhbdLdI1PQnkvpj05KQqEk9+8XvS0/8Qk/5zUCx6J8b/SWnf1CboD31PTPrevNLZLwWwBikGikWnB4WDejDYuJtX18ekp9fjmFjtBgI5GfdadHI10THo3r2rS2PS4Vx1MhBIJpwxxUoPHQdPeLld/hVDIJnwpUDSTwE3DR3ZX6cQyK/zRUdgWnUhEEgmHO2I49MqsAUIJBOOTLFWh45yZjqYYv06OwWyLdypnOsUAvl19nREWhuYWJ0NBJIJWzsi7VwFcVwBBJIJm6ZYe7VRzkwHU6yCEMavhJI3VK0XMFUdTNpwzC+3nOsUAimGtpNaIKJrB+2ZOHRi6J0WlpI2JEiuOXAz93IgkLPpexPzYVViEjdU9Cad3Ukb9vrlgnOBQC4gFMiOpA3TcT89cGwTRzkzHUyxSkJro+naqh2Hi6HuRa2DQxSbkzYsOlf93nUKgZSEEYEwr7Yd6q4f+m1JGyyHkh6CS4BALsAt0kcJDCo0akfShm+nVeBUIJALMAOHUYL9YUvShvSt3Kk2fm+mgylWSSgRmHwmShdaEu1q0obkyPF3YiKH1D8kbUDShhsJRhCduMG9BzqetOHvLy4QTKueBgI5m3H6VDdtOw4Vag0ilCRE268kbYgJBOLIAQjkbCQlbUi5mkSSNvxNBLKmjd9bCmAN8tsEAlk3/73rFAL5bUggmFblBgSSCTXe0pElEEgmPPyedFScAALJBAgkz4ohkExAR+QJ+iUT0BF5gn7JBEyx8qwYAjkfG5POzwf5iaHhUEx6yO9dpxBIMVBMOoeic3C64UBMOngO9MvZUEw6h6Jz7K3ZvTMmHTwL+uUCtCR4/hQKZFdMeorfm+lgilUS1t3dhqJTcLpmc0z6Ir93nUIgJTEJRbfB6ZrlmPStvXG2HSr+/oRgO0YgojKh6BScrlmOSS/mcvm9isEOXERhWw8utJD3JWLSw95I/XzU7vQT/l7F4CRc4rhRIC44XZOMSQd5cvO18xNobVAo+mQEicekA/ArUEw6h6JzcLohGpMOwK/AMekpV5NITDoAAAAAAAAA3MD0XW1V11dVP35S973MWkZUXOIKArv5Wkdt29n5vPRcvuGs4qGmRRQ3UBl08xPy4VTiapjZtbOKIy3k4ngDuTl8QLyBXOr20hGJE3Ix/8CHxu3ADbh3tfU28+IwXpV93Q+NenQiRTsyVFzCBaGdc6uv+7YZz9OMW6EfvsTt2JC2E0NVS6ucK6mBlbr1pq+/wI7d+KnE1RDYufastJCL4w3k5riWRhtIpd5eOsJFHgQn5HqoK9yhcTtwB9YvfjDfUap/G2nvbAnp3eKiEvfdFdixWz2VmKcwImkXnlAXB4aKQYerWMd97TfTzSoOX6E1lrga5na6PSst5OJ4A7k5XBxvIJW6vWHF/KeenZC7wh0arxjchPs20o8VZWOuTP1Y0Xlv2RInkKidoenMHv0+kgU7zqatt4Ghgq4C20DZGPPAjq62lQZ67Vlu4cRw2kBuTtDSeQP9vyvLxx7hBDIx9OozXeFOnLQD12P/7mpGo7qwbq1LinJPqYWZ0XMJFYR24Rvexi9guhqGRTsO2NLboOKKrihu4HhNmMsisCM3fir5z9UQVsztWWthYDhtIDcnaOm8gd7flf++dISLPJgYcn3UFbQnZQdugb6mauvZSF+M2lFLmgkvl1BBaBe+4a2h95EINXdO22lD3oYVV940gr+y9fU3sbNu/FTyH9cQ2nF7VloYGs4ayM0JWjpvoPd3pa07giIPpoZcn+0K2pO0A7fAf3ftiqLnu37v6wlHWKJmIIFd8Ia3RvWuUCvSTqWXT9oZQ97OKuagFV4WNN3Mjtz4nUCohokdtWelhYHhvIHcnLlAggb6f9epQDjyYGrI9dmu4KEpbQduwH0xqZmFbCbzB+sN7Je0Uzv/DW/Cfv/XtdBv7knZkSFtpxWzZ6VuYN8N3kpgcsLR1JtixRro2rPSQt8w0kD+e82mWGED/b/rZIr1n3up0cSQ6qOuoD1LduB6zARB/aQDR9rJClR3VljSz+zcRdN4vdfYxXPMjg0bb8XhV+Nu1Oh7n/bBSBPasRt/uARO/CJmibDcQmcYa6D7e00X6WED2c5t6YhJk50B1UddEVY1twM3YSbs9uZNr68hPcCrGyn2q96VUMHEjt/w1tve69VGTX0Sds6QtqGhf8NL34dWNOO3dGjn3PiphGqYnI/as9pCNow3sKLr1GtprIHVTCB0BDd5Ykj1cFfQnoQduAX3rjb1dEpUQqhSfuqm0mc13nM4LgjtnFt9px8k6rXBONkeknZsyAeEhrwEoQYqlLImduzGTyVUw8SO2rPaQjaMN5Cb4559RhtIpd5eftZqmzw5IdXDXUF7UnbgDsgvfhDGgcF6Tzi/DXKosCVUMLEjB4+WXUTG88khaceG/9EBU0NKLMGO+5W5/qZ2KVeTqZ1tz3oLbXGiga45oTfOtIFU6u+duJqEhq5d1BUyWrGzAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAruJ/nOLIMo7DCr8AAAAASUVORK5CYII="},1151:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>n});var s=t(7294);const d={},o=s.createContext(d);function n(e){const a=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:n(e.components),s.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e0b553a.c85eac7b.js b/assets/js/0e0b553a.c85eac7b.js new file mode 100644 index 000000000..4f7ede2cf --- /dev/null +++ b/assets/js/0e0b553a.c85eac7b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstakeworld_io=self.webpackChunkstakeworld_io||[]).push([[669],{8981:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>n,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var s=a(5893),d=a(1151);const o={id:"snapshot",title:"Snapshot",description:"Polkadot and Kusama snapshots in paritydb and rocksdb format",slug:"/snapshot",sidebar_position:3,keywords:["snapshots","snapshot","kusama snapshot","polkadot snapshot","rocksdb","paritydb","pruning","polkadot","kusama"]},n=void 0,r={id:"snapshot",title:"Snapshot",description:"Polkadot and Kusama snapshots in paritydb and rocksdb format",source:"@site/docs/snapshot.mdx",sourceDirName:".",slug:"/snapshot",permalink:"/docs/snapshot",draft:!1,unlisted:!1,editUrl:"https://github.com/stakeworld/website/edit/master/docs/snapshot.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"snapshot",title:"Snapshot",description:"Polkadot and Kusama snapshots in paritydb and rocksdb format",slug:"/snapshot",sidebar_position:3,keywords:["snapshots","snapshot","kusama snapshot","polkadot snapshot","rocksdb","paritydb","pruning","polkadot","kusama"]},sidebar:"tutorialSidebar",previous:{title:"Pool",permalink:"/docs/pool"},next:{title:"Bootnodes",permalink:"/docs/bootnode"}},i={},l=[{value:"Automatic install",id:"automatic-install",level:2},{value:"Manual install",id:"manual-install",level:2},{value:"Setup a validator node",id:"setup-a-validator-node",level:3},{value:"Install the database",id:"install-the-database",level:3},{value:"Edit the systemctl startup script",id:"edit-the-systemctl-startup-script",level:3},{value:"Different databases:",id:"different-databases",level:2},{value:"Paritydb kusama",id:"paritydb-kusama",level:3},{value:"Paritydb polkadot",id:"paritydb-polkadot",level:3},{value:"Rocksdb kusama",id:"rocksdb-kusama",level:3},{value:"Rocksdb polkadot",id:"rocksdb-polkadot",level:3}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Last update: Thu 21 Dec"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{}),(0,s.jsx)(t.th,{children:"Chain"}),(0,s.jsx)(t.th,{children:"Database"}),(0,s.jsx)(t.th,{children:"Format"}),(0,s.jsx)(t.th,{children:"Blockheight"}),(0,s.jsx)(t.th,{children:"Snapshot"}),(0,s.jsx)(t.th,{children:"Full"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"http://snapshot.stakeworld.io/paritydb-ksmcc3.lz4",children:"direct link"})}),(0,s.jsx)(t.td,{children:"ksmcc3"}),(0,s.jsx)(t.td,{children:"paritydb"}),(0,s.jsx)(t.td,{children:"pruned"}),(0,s.jsx)(t.td,{children:"21078127"}),(0,s.jsx)(t.td,{children:"345G"}),(0,s.jsx)(t.td,{children:"359G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"http://snapshot.stakeworld.io/paritydb-polkadot.lz4",children:"direct link"})}),(0,s.jsx)(t.td,{children:"polkadot"}),(0,s.jsx)(t.td,{children:"paritydb"}),(0,s.jsx)(t.td,{children:"pruned"}),(0,s.jsx)(t.td,{children:"18689410"}),(0,s.jsx)(t.td,{children:"281G"}),(0,s.jsx)(t.td,{children:"291G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"http://snapshot.stakeworld.io/rocksdb-polkadot.lz4",children:"direct link"})}),(0,s.jsx)(t.td,{children:"polkadot"}),(0,s.jsx)(t.td,{children:"rocksdb"}),(0,s.jsx)(t.td,{children:"pruned"}),(0,s.jsx)(t.td,{children:"18689811"}),(0,s.jsx)(t.td,{children:"281G"}),(0,s.jsx)(t.td,{children:"294G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"http://snapshot.stakeworld.io/rocksdb-ksmcc3.lz4",children:"direct link"})}),(0,s.jsx)(t.td,{children:"ksmcc3"}),(0,s.jsx)(t.td,{children:"rocksdb"}),(0,s.jsx)(t.td,{children:"pruned"}),(0,s.jsx)(t.td,{children:"21079480"}),(0,s.jsx)(t.td,{children:"337G"}),(0,s.jsx)(t.td,{children:"356G"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"snapsize",src:a(2307).Z+"",width:"800",height:"300"})}),"\n",(0,s.jsxs)(t.admonition,{type:"info",children:[(0,s.jsx)(t.p,{children:"Snapshots are compressed backups of the database directory of a polkadot or kusama node. If you start a node for the first time it will start building the database from scratch, which will take a few days, depending on network speed. If you download an up to date database snapshot your node will be up and running quicker; under an hour or a few hours, depending on network speed."}),(0,s.jsxs)(t.p,{children:["Recently the warp sync option is becoming more developed and popular. If you start the node with an empty database and the option ",(0,s.jsx)(t.code,{children:"--sync warp"})," the node will first download the finality proofs after which it will be ready to validate and in the background download the remaining blocks."]}),(0,s.jsx)(t.p,{children:'With the "beefy" update warp sync got temporarily disabled and now so for the time being the snapshot service is re-enabled.'}),(0,s.jsxs)(t.p,{children:["For now the snapshots are available for kusama ",(0,s.jsx)(t.code,{children:"--chain ksmcc3"})," and polkadot ",(0,s.jsx)(t.code,{children:"--chain polkadot"})," in the paritydb ",(0,s.jsx)(t.code,{children:"--database paritydb"})," database format and the rocksdb ",(0,s.jsx)(t.code,{children:"--database rocksdb"})," format. They are pruned with ",(0,s.jsx)(t.code,{children:"--state-pruning 256"})," (default), which is sufficient for a validator node."]})]}),"\n",(0,s.jsx)(t.h2,{id:"automatic-install",children:"Automatic install"}),"\n",(0,s.jsxs)(t.p,{children:["The following script can restore a snapshot for a quickstart. If you want you can first review it on ",(0,s.jsx)(t.a,{href:"https://github.com/stakeworld/stakeworld-scripts/blob/master/node-install.sh",children:"github"}),'. You can choose "snapinstall" for a snapshot restore or "nodeinstall" to install a complete node. The script will ask some questions and create an install or restore script which you can review before executing.']}),"\n",(0,s.jsx)(t.p,{children:"The script is for ubuntu/debian flavoured servers."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"curl -o- -L https://raw.githubusercontent.com/stakeworld/stakeworld-scripts/master/node-install.sh | bash\n"})}),"\n",(0,s.jsx)(t.h2,{id:"manual-install",children:"Manual install"}),"\n",(0,s.jsx)(t.h3,{id:"setup-a-validator-node",children:"Setup a validator node"}),"\n",(0,s.jsxs)(t.p,{children:["Setting up a validator node is covered ",(0,s.jsx)(t.a,{href:"./validate",children:"here"}),". The default apt install creates an user polkadot with a home directory ",(0,s.jsx)(t.code,{children:"/home/polkadot"})," and a default service script ",(0,s.jsx)(t.code,{children:"/usr/lib/systemd/system/polkadot.service"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"install-the-database",children:"Install the database"}),"\n",(0,s.jsxs)(t.p,{children:["Database location: By default the polkadot binary runs as user polkadot and creates ",(0,s.jsx)(t.code,{children:".local/share/polkadot"})," in the users homedirectory. So for user polkadot (the default when installing from apt) that is ",(0,s.jsx)(t.code,{children:"/home/polkadot/.local/share/polkadot"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["This can be changed with ",(0,s.jsx)(t.code,{children:"--base-path"})," so for example ",(0,s.jsx)(t.code,{children:"--base-path /home/polkadot"})," or ",(0,s.jsx)(t.code,{children:"--base-path /home/polkadot/myvalidator"})," or whatever you prefer."]}),"\n",(0,s.jsx)(t.p,{children:"To delete the old database, restore a new kusama paritydb database snapshot for your node with a default install:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"su - polkadot -s /bin/bash\nrm -fr /home/polkadot/.local/share/polkadot/chains/ksmcc3\nmkdir -p /home/polkadot/.local/share/polkadot/chains/ksmcc3\ncurl -o - -L http://snapshot.stakeworld.io/paritydb-ksmcc3.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/ksmcc3\n"})}),"\n",(0,s.jsx)(t.p,{children:"You can check the startup by running the binary as user polkadot and see if it accepts the database or throws any errors:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"su - polkadot -s /bin/bash\npolkadot --chain kusama --database paritydb \n"})}),"\n",(0,s.jsx)(t.h3,{id:"edit-the-systemctl-startup-script",children:"Edit the systemctl startup script"}),"\n",(0,s.jsxs)(t.p,{children:["Edit the default service script and add for example ",(0,s.jsx)(t.code,{children:"--database paritydb --chain kusama"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:'su -\nvi /usr/lib/systemd/system/polkadot.service"\nsystemctl daemon-reload\nsystemctl retart polkadot\nsystemctl enable polkadot\n'})}),"\n",(0,s.jsx)(t.p,{children:"Or create a new script by copying the default service script:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"su -\ncp /usr/lib/systemd/system/polkadot.service /etc/systemd/system/validator.service\nvi /etc/systemd/system/validator.service\n"})}),"\n",(0,s.jsx)(t.p,{children:"You can edit settings at wish, changing ports and settings at will."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-config",children:"[Service]\nExecStart=/usr/bin/polkadot --chain kusama --name validator --validator --prometheus-external --base-path /home/polkadot --database paritydb --telemetry-url 'wss://telemetry.polkadot.io/submit/ 1' \n"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"systemctl daemon-reload\nsystemctl start validator\nsystemctl enable validator\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"caution",children:(0,s.jsxs)(t.p,{children:['If you installed as root you will get an error "failed to create a test file: Permission denied". You can solve this by running ',(0,s.jsx)(t.code,{children:"chown -R polkadot:polkadot DBDIR"})]})}),"\n",(0,s.jsx)(t.h2,{id:"different-databases",children:"Different databases:"}),"\n",(0,s.jsxs)(t.p,{children:["Below restore commands for different databases to the default directory. Best run them as user polkadot (",(0,s.jsx)(t.code,{children:"su - polkadot -s /bin/bash"}),") or when running as root do a ",(0,s.jsx)(t.code,{children:"chown polkadot:polkadot "}),") or when running as root do a ",(0,s.jsx)(t.code,{children:"chown polkadot:polkadot "}),". Of course change the part after ",(0,s.jsx)(t.code,{children:"-C"})," when installing to another location."]}),"\n",(0,s.jsx)(t.h3,{id:"paritydb-kusama",children:"Paritydb kusama"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"curl -o - -L http://snapshot.stakeworld.io/paritydb-ksmcc3.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/ksmcc3\n"})}),"\n",(0,s.jsx)(t.h3,{id:"paritydb-polkadot",children:"Paritydb polkadot"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"curl -o - -L http://snapshot.stakeworld.io/paritydb-polkadot.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/polkadot\n"})}),"\n",(0,s.jsx)(t.h3,{id:"rocksdb-kusama",children:"Rocksdb kusama"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"curl -o - -L http://snapshot.stakeworld.io/rocksdb-ksmcc3.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/ksmcc3\n"})}),"\n",(0,s.jsx)(t.h3,{id:"rocksdb-polkadot",children:"Rocksdb polkadot"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"curl -o - -L http://snapshot.stakeworld.io/rocksdb-polkadot.lz4 | lz4 -c -d - | tar -x -C /home/polkadot/.local/share/polkadot/chains/polkadot\n"})})]})}function h(e={}){const{wrapper:t}={...(0,d.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},2307:(e,t,a)=>{a.d(t,{Z:()=>s});const s="data:image/png;base64,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"},1151:(e,t,a)=>{a.d(t,{Z:()=>r,a:()=>n});var s=a(7294);const d={},o=s.createContext(d);function n(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:n(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/539febe6.0f395917.js b/assets/js/539febe6.0f395917.js deleted file mode 100644 index ecbfa64b2..000000000 --- a/assets/js/539febe6.0f395917.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkstakeworld_io=self.webpackChunkstakeworld_io||[]).push([[882],{7541:(A,i,d)=>{d.r(i),d.d(i,{assets:()=>C,contentTitle:()=>g,default:()=>r,frontMatter:()=>t,metadata:()=>Q,toc:()=>n});var e=d(5893),s=d(1151);const t={id:"dbsize",title:"Database sizes",description:"Polkadot and Kusama Relaychain and common chains database sizes",slug:"/dbsize",sidebar_position:4,keywords:["database","database size","substrate","polkadot","kusama","westend"]},g=void 0,Q={id:"dbsize",title:"Database sizes",description:"Polkadot and Kusama Relaychain and common chains database sizes",source:"@site/docs/dbsize.mdx",sourceDirName:".",slug:"/dbsize",permalink:"/docs/dbsize",draft:!1,unlisted:!1,editUrl:"https://github.com/stakeworld/website/edit/master/docs/dbsize.mdx",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"dbsize",title:"Database sizes",description:"Polkadot and Kusama Relaychain and common chains database sizes",slug:"/dbsize",sidebar_position:4,keywords:["database","database size","substrate","polkadot","kusama","westend"]},sidebar:"tutorialSidebar",previous:{title:"Bootnodes",permalink:"/docs/bootnode"},next:{title:"RPC server",permalink:"/docs/rpc"}},C={},n=[];function B(A){const i={img:"img",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...A.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i.p,{children:"Last update: Wed 20 Dec"}),"\n",(0,e.jsxs)(i.table,{children:[(0,e.jsx)(i.thead,{children:(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.th,{children:"Chain"}),(0,e.jsx)(i.th,{children:"Database"}),(0,e.jsx)(i.th,{children:"Format"}),(0,e.jsx)(i.th,{children:"Blockheight"}),(0,e.jsx)(i.th,{children:"Full"}),(0,e.jsx)(i.th,{children:"Daily growth"})]})}),(0,e.jsxs)(i.tbody,{children:[(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"asset-hub-westend"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"5964253"}),(0,e.jsx)(i.td,{children:"86G"}),(0,e.jsx)(i.td,{children:"162M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"asset-hub-kusama"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"6035573"}),(0,e.jsx)(i.td,{children:"145G"}),(0,e.jsx)(i.td,{children:"312M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"asset-hub-polkadot"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"5264460"}),(0,e.jsx)(i.td,{children:"112G"}),(0,e.jsx)(i.td,{children:"304M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"ksmcc3"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"pruned"}),(0,e.jsx)(i.td,{}),(0,e.jsx)(i.td,{children:"358G"}),(0,e.jsx)(i.td,{children:"544M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"bridge-hub-polkadot"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"1584392"}),(0,e.jsx)(i.td,{children:"34G"}),(0,e.jsx)(i.td,{children:"170M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"polkadot"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"pruned"}),(0,e.jsx)(i.td,{}),(0,e.jsx)(i.td,{children:"289G"}),(0,e.jsx)(i.td,{children:"567M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"bridge-hub-kusama"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"2357876"}),(0,e.jsx)(i.td,{children:"50G"}),(0,e.jsx)(i.td,{children:"190M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"collectives-polkadot"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"2795880"}),(0,e.jsx)(i.td,{children:"51G"}),(0,e.jsx)(i.td,{children:"188M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"ksmcc3"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"21063451"}),(0,e.jsx)(i.td,{children:"2.2T"}),(0,e.jsx)(i.td,{children:"2.9G"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"encointer-kusama"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"4446880"}),(0,e.jsx)(i.td,{children:"78G"}),(0,e.jsx)(i.td,{children:"157M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"westend2"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"18747632"}),(0,e.jsx)(i.td,{children:"340G"}),(0,e.jsx)(i.td,{children:"371M"})]}),(0,e.jsxs)(i.tr,{children:[(0,e.jsx)(i.td,{children:"polkadot"}),(0,e.jsx)(i.td,{children:"paritydb"}),(0,e.jsx)(i.td,{children:"archive"}),(0,e.jsx)(i.td,{children:"18674352"}),(0,e.jsx)(i.td,{children:"1.5T"}),(0,e.jsx)(i.td,{children:"2.6G"})]})]})]}),"\n",(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:"snapsize",src:d(7538).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:"dbdiffarchive",src:d(7606).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:"prunedsize",src:d(726).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:"dbdiffpruned",src:d(2604).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:"commonsize",src:d(1223).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(i.p,{children:(0,e.jsx)(i.img,{alt:"dbdiffcommon",src:d(6665).Z+"",width:"800",height:"300"})})]})}function r(A={}){const{wrapper:i}={...(0,s.a)(),...A.components};return i?(0,e.jsx)(i,{...A,children:(0,e.jsx)(B,{...A})}):B(A)}},7538:(A,i,d)=>{d.d(i,{Z:()=>e});const e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAEsCAMAAAAM8ycIAAABPlBMVEX///8AAACgoKD/AAAAwAAAgP/AAP8A7u7AQADIyABBaeH/wCAAgEDAgP8wYICLAABAgAD/gP9//9SlKir//wBA4NAAAAAaGhozMzNNTU1mZmZ/f3+ZmZmzs7PAwMDMzMzl5eX////wMjKQ7pCt2ObwVfDg///u3YL/tsGv7u7/1wAA/wAAZAAA/38iiyIui1cAAP8AAIsZGXAAAIAAAM2HzusA////AP8AztH/FJP/f1DwgID/RQD6gHLplnrw5oy9t2u4hgv19dyggCD/pQDugu6UANPdoN2QUEBVay+AFACAFBSAQBSAQICAYMCAYP+AgAD/gED/oED/oGD/oHD/wMD//4D//8DNt57w//Cgts3B/8HNwLB8/0Cg/yC+vr6fn58fHx/f39+/v79fX18/Pz8vLy8AnnNWtOnDw8NYB3XMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAZuklEQVR4nO2dC4KjqhKGpbfhfnodPG/P3f8GjjxFRUUUJeb/zpmZhICmu/hTBVbKrgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwPUoomF93DZ9lmDZIT1EsvwjHD0jAHegmBigTEVtBQKhPNVvIhAqj5wi6/gA1EbZOUyJGNsKBJJmIhB5RiAAPIMTCCe063pG2PCPmb1cmifKeBbp/YvrwfrhgeKhlxnCqGu0B1RD3KYF4rvoWE5E/YdHMj6CGDooMZ7D4ltZz00sSKIOYQQA1Yg8SE8op1ooWiBKcd4TQYme8bpRI5nguicb5qtgMvSyAvGN7riC94xFXdSk/+IIg1yGB3x8FwbfOhyfD+hIMHTwrwFQDysQoacy0WGP/tAP8c8wg/VMFH4W+nlrVizBreh5rgUSNxqP1DEWdVEy7q9f6cnYwk2Mx6N3YQ/jWu1bkiTqEF4DoB52F0uHRsJMOGo/rt2L0sx4P+uFX6iYDj0bexmBxI22q4y7BIGY/rKLhGdaWC/CQOpfca324MKqNbxN9xoA9TC7WJJxPfMsViBCseGxNJPYLwnChA5a8L0WArEzXMZdtAri/nauhxZulxbjuzDwsOoZHjtV+Q58sloBoAYmxDJTb5iuOsy38cwQ7XPvG4SPhBYeJO614kHGLsOfqL/zIGOLfhuSiPFdeHSrObiRcTfpYF4DoB52DWJ2ecPKeJiNxllw/cneq7A/y0kfOhgtjL3mAglrkLGLknF/HbUNa5DQws1EH0aFd2EO41uHg/udaN8hvAZAPdwulv6nZ5QL5w4GLQyP9SYvJ+OHtHQbSMGDhF5zgZhdLMniLkrx/4/93S5WeHlYX7hdLP8uNKFVb/NK6zh8h/AaAPVwAhHaOeiYXrotI8qIGuIdFnoYdI8+WoOEXguBmOsgky6CMRGeEH8dJLTQ+DqI9NOehusg1C49xNiB4joIaABc9AZgFb6ecAjA10PH5BEAAAAAAAAAAAAAAAAAAIBMXNaGRroMbkJx1RoAgyRU9C47lgshmBr+4ijeAYDB+Ao5FtsJX+YGADj6Mc/JCgQhFgAjanQbEAgAM+Jv+0AgAEzp46+LQiAATJjWG4BAAIjpp/U4FgIhoClunh4eU7eMTb5ZHL70vCD55bbEEcbjJA8xf0GmKmOM1QXrfKjTWb2apUDmI1INWZ22G3JGlJzmrjHzhgwueWs3Yavvq3lt8X2BhGL6iSO4HnxWct8fYnZwTpTqFoROla7dManftoieT86aafkCs10yoxoac9NpnhOI+Se+PUWeQOQokMUREr3iQ8wOTplI1I6pvBqYFRCEQIrH3HSahwWiP8N9cpIXiK7EGorjh2r6rpcppj8/wlhcnyqij6F7/c8X8A+HCKX33VuQdl6aQcsK/6y3Dsa/RXrPLybPIj/Hj1swpOkxN53meQ9iS+v3QSA8KsI/VtMPvVTCg4zF9ZW01c2GXqGAfyjIP63Tr4uEmyvaZtCywr+uyNTZI0wr81fmKYuAJAfN8XvVeW1pWD3zTOKeLohvBcLH5CRTgI/qB2zsNRUIH68phOL6TiC+gP9YkH9ael+Lg9tbVuiniwr/uqYftdWYJ5X5awOBNMUhc/xqrjmvu4cknRXf93GN7SNDLeSx1ygQf4Sxtw3ovUBcAf+xIP+09L4Jr6J6yvMK/zpSk9ER6E3FLhFiVaN6iPXbXeZDzB6UnnF23glXyJsRYm/s4orj+2r6Yy8l50eYF9f3AnEF/MeC/KH0vhkTtrld87zCvymbbDzLYmFdFQikGhcL5DeTovcaCr/OPIgS5p4Rvjj+lgcJIc+kGP8oEFfAf8WDSKVLIgtfkTnpQbi+Fdms8H51EGI1xXMexD2Yr0HMlbSxOP7OGsQwKcYfCcQW8I/WIK70vj0ttUdRdtCiwr87jNkvvrXUPgTSFI+tQcL0nu9i6fulRLXzXTX9cRdLuY/yyIPExfi7cCtKX8DfH2Kyi+VXFMO//jZ40wr/rtS5WeNMKvPXBiFWNW7Y5r12F8syvw6i97FCcfxQTd/30sX050eIi/G7aymml+0SDkGi6yAq3HSydxfp5hX+zVtxmQaTyvyVgUCqsXWav+7vL9X+aof+kTmyr7ZIo/x5li+92BwfWsD/xRZplKCO7xLIpxbwR4hVjZXT/EUsXnxQIP42krRw+Nl090ey3feBQKqRPs1fqx7ECESQ0om4le6+yHZPCOSZbPd93uvTW2XLgTwtEF5eFmor3X2R7Z4QyCPZ7hlAIHez4T+eFgi305v4YmrC3b80yl/v9earNM9Cqx9u/lGzbHedz6Vz4tVOurvPdnejltnuHdLdWx5z3WnSrsPxrEBckBMEom+JrWvijPnrrB8eKMpl3OqHawaJTbPdfZbhTrp7yHa3oxLZ7l3D6e4QSAnL0xjHsaWPowLZONJhFFNuAeIFYrLPO/8Rb6apckkkY67USrp7yHb3AtlJdw/Z7rY5ke3eId39vfwFbZjoar3jIXPsiO0giihXASd4kOHze1xzh+xDPU+5F8hauntIXA8C2U53D9nupjmZq9hwujso5a/7m+zrbiw/DMcE0l3pQ7QLUMzEQV4g3AX70/x1L5DQ6ob7dPdp7yCQzXT3Mdvdfc03ke2OdPeWxxzn72eujI3dK8+GOVaPln3wbewulg5pgkA6vRInYpa/7gQytobhdsS0dxDIZrr7mO3uBJLyIO2mu0MgR5h4jeS8Xh/7sAex10FsjuGwBrEBF53lrzuBjK3j8K5bZLuPAtlId4+y3Z0UUtnuSHf/eNJ6OPAR/+QaxMxwvcqWJiFdB/vU7GLN8te9Bwmt0fBuke1uN2i5Ec1qunuU7e7u2JHKdm833R3skVprJMWxM6Ef3cWy/wyC8Anp1F0Hmeav+zVIaI2Hd/Pe+m+XE7+e7h5lu7tRqWx3pLs3PGaVaRS1ppJuXxuGV39ePX9ZvAAIpJx1PUxcxpEw6MUCQbr79/CXFVEdUobjveZ4dbo7COR4jTJtGB4xh10BCLs5dPBz3nd/a7Y7Qqxc/rIjqjOneUQgdqu1tzu2iXzeZbb6SBDIyeLurWa7QyC75Ckj4TU+RiD2spwyc50nPsiX2erRa9NNrOLi7q1muyPE2mJLGPG1wOu2W58xh7ksR8wM1VcifDa5y3Z3Fdz7MeXdZqCHvHXN2eLurWa7QyBJrrqscZhnzKFnnSA6U0p/tods8pDtbsq++dZwfS/krZtDjB6kpLh7s9nuCLGmHFDGrjZuCLH+FZwigV6E9MpEQsNM9NnkIdvdZqv7HHOfgT7mjGhOFndvNtsdAvHkLTSOeI3qAvmnKTjJAj011fAZzWyOVajO67LdlZzX7NUTesw6NH3OFXd/LtvdV8DT78rfKJJGax+EWPNF+NmL4ac4JpDuKh+i/YZw2bJjNrnPdrcC8a1+0o5565pzxd2fy3aXhIrepUby4UdgSv8c0abZtwsky2XcoAzHhjn+ZVJyWqmEmZzUfkKP2eQ62917ENe64kFCyFNS3P25bHcWpfab5/MNt+8OsVb0MNFGMfVDrO4qD0JJb6J9qeeLXwD4bPfxG7MGP2kTaxBDQXH3p7Pd+3FBU3YTz68SyBXaKH5rz6xBhhnp0sntfq7NJvfZ7jZbPeSYh0kb8tY1p4q7P53tHh2sTCBvJbnkuPKyxmGe2cUaZoTdsbLp5D6b3Ge722x13xombchb15wq7v5wtnsfrWcgEE8qnnpQGY43m6OBy+JJ+jhmQ4jVxd/Eq7oI/5hUk1toNttdTvLHvlAg07WEVkQ8pqLPgEAims1276f5lUuBDPwMpnzhH11WxEdS5rkRx/Pva/WPuxIAboTO8o+/Yg0yu/TnHz79tnJ4ozmahkmdpi+i5+bv94RYk7X1eibV6fMUgBCrfRaX5d8jkNwMkYTzgEBANp9nkdyE23WBNMznmePtfJBFtpWx9dLn8EHm+BI+IsQ6EEzNNJPcxkWIBbJpWyB59XUWstm59AeBgGwatUhupYSFQzmfY/gojZrji2nNIodcxnR/9/lMqvO0Zg7QTIj1t3VDjZkyIjdx1/WWm04DgbRGAwLZWYJvf4EJAgFVedIihxYabwig9oFAWuMRi0AZa0AgrXFriHVs1zZLGQixQFVuEsgRZRzaqYVAQFWqW+Tgle8vBwJpjXoWwUKjAAikNSqEWMULjbvCJYRYIJsrBZKfbptegkMgEEhzXGOR7HTbg0vwrwMCaY2TFjm0cXvNO341EEhrlIZYNZbgCLEgkOY4KJC/8iX4kdO0N+am00AgrZFtkUPXM7DQKAQCaY19i+yWD7nsfgEAAmmODYscKh8yX2i0HC4hxALZpCxyqHzIyhK85ckOgYBsphY5UosNG7cVgEBaw1nk2PUMLDRqAYGcQd+4UEglxX7XbEillMKWwyWEWK+EM0J6QZhi5DKF/P2RHGEUBFMtT/YmBPL7m2qFQMqRjPZEmbt9qt3Omfx1WwJBMFWDX62NX8PyRQikHEb9XXPFVTez+pt4EFzPqEukDKMOCORaiPDSEJf9GpceJLnQeLo2bwNjzpzmt4uFEbMYA4GUU0UgowfZWoJDICX8bCgDIdb11BCI38W67nigc8HUpjQgkOshbMD8xY78GiXpwyMHffk9Cp9j6jJ2PEjqADBHOSoie5BgKgiECzE8Hf7iNNySrYXSox8xZoeFFLaEYaSTBgK5GUo70kfP7T0KIyCQU8x2pqa6mMtmSxkOCOQsk3vWZpEQCEKs0+yuv5deIweY4wRCT269hph7gW0gkEvZU0Ykis75kANHhznKEUQvPQjl9FiqyQUCQYil2QimEv4DuVh3I83SXItDHnIhEMi5MW7pkOk1omAKArkXnWpiBUIPpZogxDpOiIvyZDF6jbPAHOXYwErv0B67ULgjkIGf4bMOf/Sf39+f0Vd0Pxmy+NHKGAZdcX5tiytmypcyrjxu9yDvD7Hm27V2QzY3mLrurUEg5aiw8pD5Fwq5EKSPNoYhkNmY5fIiLYv59YxKbw0CKYcSah/0B3axlE0uCVfOsQaZsO0hUl7lgnXGFt9tjpNIonpKezaJmc7y3RZJbU+Na5AuNNRXhuO7zXEWyrQ3UFd+Jf27Q6zNNYbrUXD8E28NAjkH53y/0yHeLpDU5//P6BsSK5DLvAUE8gZea5Flfq1rXz4Z46jHea05PpbXWSR52TuSy7z7/nbtnbzOHB/PZ4dYcQC1mXk+kcaF6e5bIMR6A58pkAPZUaMHOfXeCoBA3sBHWeRQ3uCqA2mZjzJHe3CpzHfSr6qL1X2KRcplcetVjPN8hjmaRTHZG647ZNsh1gmHsbH6Roj1Vq4ryjseMqfT3QL5TSQPXqGME++tAAjkdtjVlwkbs8jKFu1GQ6yjRi5lnKIpc3weV8ZWjjYsctxhTN3E5yvD0YY5PhbK1LvWIAmXse8wJmK4K6XlptNAIKdgnusO+YhASrZrV9YVEAioyq0WyZFFveTBTwACaY36Fvktdhjfo4sABFJOz7vec91R64VYRTu1hx0GQizgYPQj1iCpL1msOompw2jlOyQXAYG8gcssUnhpr61s88eBQFrjrEXS38rLchjfuMbYAwJpjdIQq4bDQIgFgTTHQYFkOYxUQ47DgEAgkObItEiJw0AcdRwI5CxXlzXZscjRXJD9OApsAYGcQ1fG4p28UCRrFim9tHem9n/LY246DQRyip5IOghEHbvF1CYzi2R8EyPPYbQ82SGQt8Lo8Cvk7m7p1+AsctZhgGuAQE6hi1APf/iFv0Zy8psY4FIgkFM4D3Ls/iBb/P6Szdip3GG0HC4hxHorPekFEZRdlqz425G5Ki5yGC1PdgjktfTmbh/X6WPLg2CF8QAQyFmEWKts0jPChPvXSkhOpEQVIUzqHqMHSnmQL/0mRhtAIJeQ0khPqJBEdJJRQbUyBFOxQCSRQgwiEfZGoJbIg2x9E6O50qP3j7npNBDIKYgyUzu5i2XEoCTXC/lBJYMMaHz/Tn8Dt/k1FJLjMCCQEiCQ2yHMTPOUQLgpKte7V5S9zWckEBbd+DNe5MMiTQFznILwIVBKXwexAtHX2YdlimQ2CBsFwuNoCwJpFpjjFOYqOhPrIZbUAhkW4zRqM3DfpDksEIRYJSDEuh09/bUTSf0aJaG8Z/aGz8Le7XkhEKo3iQUEUjDmptNAIKew03+Y5qkXJdGpjPYxtT2juMo85ELQEoGAu4A5TuG2Zzld69Az20csBKJcegqfC2TgZ/isw5/n/2hbXD1lgIfaS4Ai3s2KBCLc4yIPghCrBIRY97JTOE4yvXvFB1ehLxRKE0+Rfrzurr9LIqjUr0AgtwCB3AvbKRwnmbmOyKVLNVEmb4tw/7pQbJFqAos0BszRGrBIU8AcrYEQqxoIsW5G0OEvrpiiFx4UAqkGBHIvQq+vh2WIVFfeyxMWaQqYoxyTgGgucFSsagKeBeYoxyQgSqOSlm9/UD6k6TE3nQYCKcds2JodWnFpVZMMIJASIJB70R7EJrXf7kHAXcAc5eiVhzTS6NVe33xgkaaAOcoRhClCO/Pt8+uOihCrGgixbkZISfW/5MJNLAikHhDIQ/D9LvnAIk0Bc7QGLNIUMEdrIMSqBkKsNwCBVAMCeQOwSFPAHK0BizQFzNEaCLGqgRDrDUAg1YBA3gAs0hQwR2vAIk0Bc7QGQqxqIMR6AxBINSCQNwCLNAXM0RqwSFPAHK2BEKsaCLHeAARSDQjkDcAiTQFztAYs0hQwR2sgxKoGQqw3AIFUAwJ5A7BIU8AcrQGLNAXMURVz6ymh7B2mxgcWqkjpHaYQYpWAEKs1ejIIhDPJqZZAeGCRRApBza0TaFQ4CAKpBgTSGJzoyqS2/ruIHhioK8c4v3UCLNIUMEdFVN+zKH5ik3vhsqieL27i2SwwRz0GdQz/c0LlsNToxgcGHt0yHWuQgjE3nQYCqYa+M4IRCKOcDnIID9yrdOwKgdwCBNIUenFhBKKdRk/GBwYrEKpvnC4QYrULzFELyrgTCO3MrQzDA/u6cSVcCAqBtAzMUQtJLD2xN2njXXhgUO6uVHwukIGfIRjAn8v//Bwdo21x97z5GrimH9yIuRmu3s4KDwzCrUaKPAjWICVgDdIcWg6CSGHW5uGBe41IKqjUKxOEWM0Cc1Sl30o1EYqVppqAu4A5WgMhVjUQYr0BCKQaEMgbgEWaAuZoDVikKWCO1kCIVQ2EWG8AAqlG8jT/9H/urwQQSGvAIieIZ7v/a7thyvKIMEdrwCLdYqIv5vhKaxFd9GD5TmCO1nhZiJWe0htjiif6zvRfbZi+OgcCaY12BZIbtcSteRNxPE/WHC+Z+RnAg3wEl1sknsFjY2JeTz/u53o4z3YsE73ZKzmmoxvMAU6yZpFD0fj4ODVjTk7BzDl32USv7EGwi/VZkMyJfmwO7Lcuz9JtDT7zLhZzMQqxTnuQjQ+Ln7Tf3DEHaIl//0jOFNtuvTZIKT3fgVgmtQYp2MXqdqY7LhR+Pv86Mpkj1/CkB8nZxZr+BnYn+p1AIE3xr3EPcngX6+lf6GkgkLao5UFS/mF/F2satOf9BJ+WarIDBNIWWx6kaBcrzGszO8bpn8U35GLtAIG0xsou1tNv61uBQFoDFmkKmKM12k01aWvMTaeBQFoDAqkGBPIGYJGmgDlaAxZpCpijNRBiVQMh1huAQKoBgbwBWKQpYI7WgEWaAuZoDYRY1UCI9QYgkGpAIG8AFmkKmKM1YJGmgDlaAyFWNRBifQiUEUbXXoRAqgGBfAaUUN4TsfIqLNIUMMf9mDsSSrXyKizSFDDH7XDjPOjabx4hVjUQYn0EgnDz90qMBYFUAwL5CKzv4KcEUmC2Eku3POam00AgtwOBXDLmptNAILdzNMRKNWR12m7IGVFymrvGzBsyuOStgdrsLdJBU9w5NYCByeEvtbbNC8CXs32hEIBvZzPVBAAAAAAAAAAeJqxZJOlti34aWoUirD8yhLsdTH7oND1bniZnzGI3Ij0mPLtqhbZzmpIfZ2wGDeF3vQRTzj58mNthL4wzyenM1jtDhEayQ6eRTHAxnx87Y3pChZzv16XHhGdX7fHtnEYOb60/+OOMzaAlfHo8pZ3/9FNR0rxJnBfiyBDNItdlZ4xpm4sqZ4ySOWPCs+0vA+RTcpqdH2dsBg0RX3l39lF91LoMFHaHaOaTY29MSiA7Y+yDnmSMCc928gyy2TmNpT/048wGg0aIc7ecfXQU4Fs5oZIweWSIfr5wIHtjeqaf0WNvzU4tvj+m8892MtWy2TmNRR3+tUEg7RFn/1r7CBK18mEByenUcDtD9D+LIGZ3jByW9YuYfXuM9TpTgaTHdP7ZTq5zNjunMfSzbYqMXxsE0h5Ls5lgehSI/hicxjE7Q/Q/M1+wP8Ys0hd7ATtj9PKW7Qmkd1qtLJDJaUzD/HeQ82uDQJpj6fh1MB2HWKFT5pAuFeRnnWY2bPc8g9eRWWM6/6xeiDU5Taff2/wc+782CKRBFktH0zBbPU8FsjcktU20M8ZOkOlpMs7T7a+Eg7eou0ifnkb7j4UGM34cCKRBovR4G4WwSat5ZTYLd4Ykt762xyQ9yN55qEicKj3GP7vsywA7p6EpH7X7a4NAWsRfqOJCkF4Mkb2MW4dPdSlmi/S9IYklyO4YZdYg8tCYYd0iJJtfsE+O8c8uv1C4chomzdXSQz9OGAzawqU6KJcg4tIeclJN1obwhED2xmzlZqyNkYwonjVGheyXi1NN0qcRm9k2Kz+OSo4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABq8B9RkyVxKGOfvQAAAABJRU5ErkJggg=="},1223:(A,i,d)=>{d.d(i,{Z:()=>e});const e=d.p+"assets/images/commonsize-41310d0bf8a56737d99481466d5d858d.png"},6665:(A,i,d)=>{d.d(i,{Z:()=>e});const e=d.p+"assets/images/dbdiffcommon-5356e717fc579fb33c3cac23673f5f87.png"},2604:(A,i,d)=>{d.d(i,{Z:()=>e});const e="data:image/png;base64,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"},7606:(A,i,d)=>{d.d(i,{Z:()=>e});const e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAEsCAMAAAAM8ycIAAABQVBMVEX///8AAACgoKD/AAAAwAAAgP/AAP8A7u7AQADIyABBaeH/wCAAgEDAgP8wYICLAABAgAD/gP9//9SlKir//wBA4NAAAAAaGhozMzNNTU1mZmZ/f3+ZmZmzs7PAwMDMzMzl5eX////wMjKQ7pCt2ObwVfDg///u3YL/tsGv7u7/1wAA/wAAZAAA/38iiyIui1cAAP8AAIsZGXAAAIAAAM2HzusA////AP8AztH/FJP/f1DwgID/RQD6gHLplnrw5oy9t2u4hgv19dyggCD/pQDugu6UANPdoN2QUEBVay+AFACAFBSAQBSAQICAYMCAYP+AgAD/gED/oED/oGD/oHD/wMD//4D//8DNt57w//Cgts3B/8HNwLB8/0Cg/yC+vr6fn58fHx/f39+/v79fX18/Pz/Dw8Onp6cvLy8AnnNWtOkAuz+rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAZ1UlEQVR4nO2dCXqsLLeF5UyD+WQctPe7lfkP4KdvFC2NpWCy3jznlFE2BYFVNG53TRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH6EJhZOy3P1bw2WCdomitdJmqmqRHty/SmfzQ38DTSXBsZ1ce4HAmGila7q+ybJe4Ewtf0+P8XmC4GA42jfPRmR+dwPBNJmPji8F4i6SCAKAgE/IghEEDZNlBNuXlxPEsr9ot3IouL4ElJwag60SKn8/ImFkz5DbeZttu9XSWid4SKRnfDJ0sQcqfJ9pEmhZS5JzoaabDjTxF+ioRZEuWxcvqnUAOymGEEoYYJZodiupbUQlEhGbIeyJy2KS2FTck6F5Cql8r0/ngz5SkE5nyWhU5XhMpG29tlk8T5GLuZA5LLGbJTNhmvFQiGpEyGzZ4UxtPnWBQRgD14g0nYkYqcg9vM8zUVMb7KdUJLwsRt7pFuxpGGF++lLddKNSBPnsyR0KjNsJNKp/zoTe4mSfEa4maAoylpl4+VAvREzdsqKiXGfb11qAPbgd7HszEO6zmc/4ZNATLeyHSp2KhkXKi4B5TlV2qKKJ31S1UhSZNhIlAXiTNRUyDOMAjJZ+tEoJHDKVsUlKyYuNXPrD63mpQZgD24XS3Fhe5bHC0Rqbo6V631xsp+6aupqMdVCICx12nmSIsNGIieQ0sT3+HRG+LVHLmuVjU3vf7NGnAkyUeXeDQIBP8NNsUT46BUW15MEt6tZ361knOMsRpAy1coIskySM2wksv8KkzCC5DO2sIrIXNapGkFoObgoxbSZPAoiIBDwU/waxO3yxhWG7Umu07k9IKrT1quf3k+5q+VUc4GkdUEjScqwkUirqTSxUzGznEhnhFOoMUtlnao1CC3WIGbtYd+I2CUIBAJ+SNjFsi/UzElk6Emmm5ljuycrSL5FosLeURpBUqq5QNLO0jJJkeEykd2uKkzCvlM6I00B/C5WLGuZjc8/7mIZKze54nFjDAIBxwkCkbZH2fm9EmEqz4k2MxmeUjiKWwyuq6VUC4GkexOLJEWGy0SSc5l/I/E+SDrDyvsgSuRsmNJx+y0U0m5ACCtqt6o3+UIg4Ao+fgP64xm6tUje/wLgPsSGL+EYGfopVuUrA8BNsE/7Znw8w6lwRAEAAAAAAAAAAAAAAAAAwECI6LbtH8vIN4OtSwVX9t4XnqQGfxgbUkQqPmllD9ItNEXM70Ykci1eCAB/BvfoWzVOxKet4V8EwJT9UCNllCpMscDfRvhoHTqHN0wPJlkgEPC3cREMuGaSRl2I8nk5CAT8bbIaYoAbLxBGXBQ1CAT8aRhJhzn+lHs0VUoGgYC/ThHJjKUIUCn0QS0QAsbkxv5S4u6ecV0+KpaeiF7QfFCtkUPOp5nF/IIq1wML6w98vPsshH+vcE6G1ch8BJk1xLxdWu0Ek/tNbsOH5tfzwOPvBZKC6DdyCCnEPNT+1BSIILoRqzIl+sBdPCdAYW8M0rx5RYlikqkUPC2m/UH2MBnS5COEmcb8rsB7gagskEUOjVRlFrPMGU8Lg4IPrgvCjpUNHVg+Nep+X7iaDNvcMOlCjNmkcyiXKBBp+lV6FDlF0Q+pfBD9WQ45pr6NkW8D8ZtU/x+D8acsUsT9UAQVwgG6wPqL8P+c+gEmFpFd+wf5QUP8g8n1Jv1HkBQMLAhEFBH6cxT9lEo3RpAcU9/GyOc+VQrGnwLx1zHy7SrZRVJyRsvw/5z6TSiTQxWQ/yJ6NQTY5mC7fH3qfX3cWNvzUjhJLxCRv+XBxd1j9oDnVLVAbA45tY+pHwQSg/HXEfRzxH3Kw51uH6N/Ef7fFMWeszorA/JfBQQyJofa5cvymfcNXzDJZpH547zGp1EpBnJOlQUSc8ipfUTkKJAQjD8H4q8j7rvpVRFGeR7+387UVJEDayxYPgimWGOaHBPI9LExxO1B2R5XhLS3AiHEfVDHmPgx/H1OpdU8h3lM/SiQEIy/jqCflCDTNnc4PQ//774yyY0sVUD+q4BAxjTZaJevnRx/06kI4jobQbQkZZT8rREkh4Etw/BngYRg/CsjiLKhlIWM4ZqbI4iZgTFSfnnAhWCKNSb9RpBwMF+DuDtoOSb+mzWIowrDXwjEB+Mv1iAh4r5/W+Zz0TEu+Sz8f8jG7RdfvD53QCBj0m0Nkrr3fBfLnCii5Mfw93kXS4eP8mIEKcPwh55tU4Vg/DmCfrGLFVcU5tXfjZiH/w9x0N0apwrIfxGYYo1p0nUXyzO/D2L3sVJM/BRFP6ZyQfRnOZRh+MO9FJfKJ0lZkOI+SNwLMOIKt+vm4f/9N7aQdE0NN8UatlP9JpNfPbI/yVv2VzfEg/nF7XJBMP4L+cUN8Wh+b7tcEYz/QjDFGtOko0Did0yyH5qfdXe/3Nv9EBDImCa9BRIfj/iJ+bq7+8LbvSGQ673dD/F7h/Jn01kghefVT8ynFXf3hbd7QyCXe7sfAwIZk74CEb57e2dAbX1G/BedFv7r1G6+Kvdb/XVc2d299na3/lzWJ16/cXeP3u7BauntPsHdHSadBRImOUkgpvu6r8rO/uucmgPNhCrPRnOLkVjt7R69DN+4uydvd2/V8Hafzrq7S50eYXkfmxcC6WHyemtysF3eZ7gfzXVYgESBOO/zKX7Eu26qgxNJ9pVacXdP3u5RIG/c3ZO3uz/d8HafTrq7m+mjYK4we2LzYop1Py/LmzSH2mVPhvvRRPtvgs8jiPn8zmvu5H1o+6mIAllzd0+O60kg2+7uydvdnW76Kp50d3cxTeTe2LwQyP28pvcf+ccEsiPD/dghQHM3D4oCEWGyX/uvR4Gks8E8fi7XqZNANt3ds7d7eMy34e1+0t09CqMWyFpsXkyxbjcxH/av6d0n/ka7vHZyvJwev4tl+0sSyGRX4kTO/NeDQPLZZO4t6tRJIJvu7tnbPQikNYKccnc3EzRF7Fvui80Lgdxv4gTyxqTzCOLvg3gfQ7MG8RMuNvNfDwLJZ7P5NC283bNANtzdC2/3IIWWt/spd3dhxkLngLwvNi+mWPcz+hrE9XC7ylbOId1O9pnbxZr5r8cRJJ0tzKeFt7vfoBVONKvu7oW3u7dqerufcnf3Uk57AiSeZVMzNi8E0oPBd7H8ixFEdEhn4T5I7b8e1yDpbGk+zVPb/4NP/Lq7e+HtHqxa3u6n3N29FOLi5m1sXkyxeph8XCDPoq+7Oymfdd8Vm/efacAD//4dTO8Mjtvc8q9TXV7b1zvG5r2B3u7ubpQyg5FTxtHYvOAW/vII0t3dXRJlJlL0uti84DSDCsSvAKTf0Dn4OR+TP8DbPbiaXBab9zlT/WFNBhWI39Khfse24c+79FbPJIGcDO4+mLc7BNLFZFCB+Nty2vV10fggX3qrF9fqTawfB3cfzNsdU6wuDCoQv8FDXA+12zvRmzx4u4cI7jS7vHsP9OS3bjkb3H0wb3cIpAujCsT2Okmsp5T9bE/e5Mnb3d9iC2fT/b3kt+6yyCPIT4K73+DtfgxMsXqYfFwg38eSr2EXIVS7mZDpidGbPHm7e2/16GMePdCzz4jlZHD3673dDwKB9DD5sEC+LUcM1rBdU5vPaO59rFJ03uDtrpMDenIFMR06ex26NOeCu1/v7X4QTLF68GmBTJ8aQ+y4IYO3bPYmj97uXiDxbOy02W/dci64+w3e7geBQHpwSiDfO/lJwZSWrnMy/wmdvcmtt3scQcLZlREkTXl+Etz9em/3o2CK1cNk2BGEEepm+8p2xLgAiN7u+YlZR+y0jTWI4wfB3ePe8oXe7keBQHqYjLoGsQ9LeHdyv5/rvcmjt7v3Vk8+5qnTJr91y6ng7jd4ux8FU6wejLqLZTqg37HyzpLRmzx6u3tv9Xg2ddrkt245Fdz9Bm/3o0AgPRj1Psg99PV2PwimWD1M/rJAenu7HwQC6WHyhwXS3dv9IL+2IYbmDwvkaaAhegCBPAZMsXqYQCAdSTF5ZREXa0Js3pFMIJCOxJi8MUZvALF5BwIC6UjURIzR60Fs3pGAQDqC2Lzjm0AgHQkxeUWM0etAbN6hTCCQjoSYvClGr6N6BB9hf3oDgfSGkjpGrxcIYvMOAgTSG0n+z0kCsXmHNHkfix0CuRZGRBWjF7F5h6rL67V5/XfH5u2NU4QiKUavB7F5RwIjSD9STN4QozeeR2zegYBAOpJi8s5cTRCbdxwTCOQxQCA9TCCQx4CG6AEE8hjQED2AQB4Dplg9TCCQxwCB9DCBQB4DGqIHEMhjQEP0AAJ5DJhi9TCBQB4DBNLDBAJ5DGiIHkAgjwEN0QMI5DFgitXB5PX+iSkIZBAgkA4mEMhzQEN0AAJ5DmiIDkAgzwFTrA4mEEhvuP1qxdmX5CI27zAmEEhnKOE26qghf5sPYvOOAwTSF0GiLgRBbN4BgUD6otNXjqoUkRexeQcygUC6YtQRBJIHEMTmHckEAumJVUUQSB5AEJt3JCCQnthVRhBIVgVi844EBHIDQrTPMy6iQFjxV0Zs3oFMIJDLYdze4VANkahw/4OWMyzE5h2qLkYgiM17KTaOqBHIfM/WIizUDiOVEBCbdyAwglwNZ+ZPKCbJV677KVa5MEds3oGAQK7GOpCYf2Ltz+gEUu1cITbvQCYQyNWEEYStjSD7gUA6mEAgV0MJlUQyTt8nfQMaogMQyOXQuFN1FjREByCQG5BSvk/0HkyxOphAIM8BAulgAoFcDQ9odXYYQUN0AAK5Gsq5Usr8p+ut3OOgIToAgVwN9bfQFTu904spVgcTCORqnCfJNAm+fq9wJxBIBxMI5GrCg1CSrHub7M3pA6UBB4FArkZzJoRgXAve8Fc8AhqiAxDI1QjtbhRqIbQ4lxOmWB1MIJDrEZLJk9pwQCAdTCCQ54CG6AAEcjVCaX+n8HROaIgOQCBXo7mijtM5YYrVwQQCuRqy5WFCOeEUsXkHNoFAroZvrM8VZ5IRiti84wKBXM3G3ErYpw0nNQ+tiNi8AwGBXA3jensNon3EH8TmHdIEArma6O7e3sWyMys3ciA275gmEEhfzGqcuQPE5h0TCOQu1u6DSO+ilVWB2LwjAYFcjlQWvfpntHEXEZt3VBMI5GoY4ZqYn9btELeHK61AEJt30LogNu/V2C5OJtESiHQLc0omxOYdFowgV+NCj9pooo1r2t0otGuQcmGO2LwDAYFcjb2Tzldi8wrlXE0Qm3dcEwjkauzqQitB13ax9gOBdDCBQK5GaLuVS+oh4kegIToAgdyC+MQjhWiIDkAgzwFTrA4mr+mtQiCQU3R9ovAx/XBYEwjkajTp+EQhOAsEcjWbTxQey+lTGYH9QCBXs/VE4TEwxepgAoFczQfmVgEIpIMJBHIpdu3x7onC3aAhOgCBXAovOJ0ZGqIDEMhzwBSrgwkE8hwgkA4mEMi1iLD0OP0FhRMaogsQyKWIGMJHfWC3Fw3RAQjkUnK0RI7YvI80gUAuhbN41P4GTxoemIqvMTFi845iAoFcSvYzka0/oyJMUkLNQCOFzPHiEJt3HCCQS8kCaY4gbnxQ2gf6SdMxxOYdCAjkUnIfV62gDQ7KZwJBbN6BTCCQS4mDwUTXH7k1IqJcmjlYSIHYvCOZQCDXooimjJk1+OpXQFMXN46QJAvE5h0JCORiGHdfAs3WrruhxS3SoxYQm3ckIJDLEWLjHqGyy/goiXAOsXkHMoFAukLdNpcM/wchITbvQHWxAtm6jti8V8JI+PIcNhUjCGLzDgRGkJ5w5b6+04wZdg2S1vGIzTsOEEhHZPr655mrCWLzDmMCgTwHCKSDCQTyHNAQHYBAngMaogMQyHPAFKuDCQTyHCCQDiYQyHNAQ3QAAnkOaIgOQCDPAVOsDiYQyHOAQDqYQCDPAQ3RAQjkOaAhOgCBPAdMsTqYQCDPAQLpYAKBPAc0RAcgkOeAhugABPIcMMXqYAKB9EX5x2vtA1PFFyQgNu8wJhBITyTXTiCUMKlymFLE5h0HCKQnjPkYP+6/FKYUsXkHAgLpjNWGcIMHjX9oxOYdyAQC6UwWCAtxsRCbdyQTCKQzeYqlkkBYvoywP52BQDoTtMEE5ZVAEJt3DCCQzvj5lCJEITbvgCavCQLpS15w0PgFOojNO05dXv8Qm7cvTiCsuieI2LzjgBGkK2YeRaiU9vtBZPFN6ojNOwwQSFd0jM2rONHFPXPE5h3FBAJ5EBDI/SYQyINAQ9wPBPIg0BD3A4E8CEyx7jeBQB4EBHK/CQTyINAQ9wOBPAg0xP1AIA8CU6z7TSCQBwGB3G8CgTwINMT9QCAPAg1xPxDIg8AU636TV/pvHQhkECCQ+00gkAeBhrgfCORBoCHuBwJ5EJhi3W8CgQxCHZwXsXlHMYFAxqAOzovYvMMAgYxBFZwXsXnHAQIZgjo4L2LzjmMCgQxBFZwXsXkHMoFAxqAMzovYvAMBgYxBGZwXsXkHAgIZhDI4L2LzjmMCgQxEDM6L2Lzj1MXF5X1tpEFs3luogvMiNu84YAQZgzo4L2LzDgMEMgh1cF7E5h3FBAJ5EBDI/SYQyINAQ9wPBPIg0BD3A4E8CEyx7jeBQB4EBHK/CQTyINAQ9wOBPAg0xP1AIA8CU6z7TSCQBwGB3G8CgTwINMT9QCAPAg1xPxDIg8AU634TCORBQCAzXrbrvtLPymFI1zy7I4epOmwBgQzCkYZY6yerHWb9cK0jhhxa79XuZ7uL/drXe+/nfLuAC9nfEB36zlum6evDxf7yIvlyB+4wKqg+fGUxFWlfdVp7JSSYH36ln7PtAi7lgEDa/SS0/Cu+tPvD7DD9/5W7kT/4sp1nRw7hx5JK2JxiLc3mWaXKpBrcy8l2AWdhnHC2dnF3Q/TpPB0ohLsxgvi/x7RI+8pq2xR5HkHaYyAEchvMRv8hcuXqyRFk9qG740O/TBmHjdSjwrVjI8g270eQRgnu5Gy7gJO4B2yVXrm6uyE6zT+2sfOrN6uQozlazUbRuMP4cVAcOqZQgpQ2nC1W/GHOmOVc6DodnmwXcJIYgXTl8v6G+Gr3k9kapNkfFofB8Ov1lbvR5HuOO/v1Nodi/EglbK5BvhpmdVapT+8akeK4ZPmOv36XZ4sifU3+sj2wSvYXv7yo08G5dgHnkC60olybYx0QiOkG37ErhEP34qQzfU/+F3sQfsIZn7I4G8+HBCmr6ftlfkIO/2Lawmx+OBs/Vu6DLMyKrP5tv0Hr0PVqd2iZ0kFI8LU0C5fb+a4AgdyFHzvEeYF8R77yYWBanLmJHXW54E0/nN3JdgHn+JxA4g+JB9/fy8/ZfO7kIdmTdkddlmbnylWpZPZrebYw82f21eF4u4BzHJtizdsl/37qUxJs0BQDBHIX7xbpYEzu7CN/G26/dE2vbfPuJ3/ijboG2S725970w9mBvmzfKDxCMWWulh7Fmf2bQZ84PFLs9i7W8cOkEvf+4eyUEoRrtdm0kS/ozqarCTjKm16NLg8AAAAAAEABNcsRGl79st2uTtIiRWpSfnfIwoTOTUTYkxS1jUpfOs358l1yTpl4MZdgYTLfZnhTl3cm+V1ScZuLtWZd0llF5jXJ2ay8S6v66VzK760JuABFmKTmj07Nq3IbW8L07bTNJbgSbNYS0SS+zkykRfHKRHIdm5kSd6kyUVwKOetX8WIuQWWSy7u7LlsmdV1ScVvbfe26xLPF1WVdcj2rd8lvXhSMM8nMuZzfWxNwBdHz3f2xtb0/QnXhD+984qVsmmSn+crEMndjYWxKzey1U5n4r2+vNRUv5hIsTVx5d9dly6SuSypu67mAdl3i2Xx1rWDO5t27CD9c8CK/twUDl0G579HU3qzVtLjVvjqMx6/Kda+ViaXRdKGZNfWWlUlDIOliLkFpUpR3b122TOq6pOKuuRws61KcXQokZZPrOTMpClHi7+Wmd9tjAq5Aq9iGZuVgjpKzliBMEa6aJsVraWJPtvwgfcOaNvXNWplQbn9jZfJ48b9cgrpgqbz767JuUtclFXfNaW1Zl3y2IZCUTa7nzGRaDG121FR+xRQS7TAB10BNA/oPNzvNJYW7rzBrS8Eac10a+pl7rUzsS2vsTx/JrlPNTJRZ1c+XIP7if6kEtUkq7+66bJpUdUnFXXN7XtYlnZ0aAsnZxHrOTXIhMpqEjwyfaI8JuARqG0LZdSQ3f3I31c0CcTP5xRyDhrbzr5WJfakHA09aAVC+MHGL13o2lwUSSzAzieXdXZdNk6ouqbibAqnqks5OWwJJ9ZybpEJUyDBy+vFqlwn4PGFjx3y4KduSmk7VFGuKvy5N4mtlMq34CduGZfYr2tNMf/YutVUxxQq/zd4llnd3XbZNyrrE4m5Oseq6JJNpY4r1X6rn3GS+uRbw80GfaKcJ+DTlLqZpb/dxOVs+zwUSTWix4ijXs83dFZuTCvdIaG3ie2D9LvXC1lxbvMu0XKVu12XTpKxLLO7mIr2uSzKZGgKJ2aR6zk0ajqPubyGzQHaYgCtg4Q/N7IsZ/ZnrQMkf3u2jzDpVMomvtcnK1pdtWGGh5qO3NmmNIOliLMHsXWJ5D9Rl06SqyxT74cpzAY26TBsCidmkes5M2LKzy2LLzc/23pqAS+DK3dizywAzRRaTctPefNePKDlfpEeTZFqbtJYgQkpCw+0UK7eZiXZz83pPJl6MJZiZxPIeqMuWSV2XVNzWjcJ2XeLZ8uqiLrGes3eJb16i3Y1ClRLtMAEXIJNjiOJEi+DPsOlqEk3+i6ZzE7EUiC7cT2ynmpvscDWZm4TyHqnLusmsLrm4DVeTdl3i2fLqsi6hnrVJLneBUD6pbhasaQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFzD/wC0YDYNESBe2gAAAABJRU5ErkJggg=="},726:(A,i,d)=>{d.d(i,{Z:()=>e});const e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAEsCAMAAAAM8ycIAAABPlBMVEX///8AAACgoKD/AAAAwAAAgP/AAP8A7u7AQADIyABBaeH/wCAAgEDAgP8wYICLAABAgAD/gP9//9SlKir//wBA4NAAAAAaGhozMzNNTU1mZmZ/f3+ZmZmzs7PAwMDMzMzl5eX////wMjKQ7pCt2ObwVfDg///u3YL/tsGv7u7/1wAA/wAAZAAA/38iiyIui1cAAP8AAIsZGXAAAIAAAM2HzusA////AP8AztH/FJP/f1DwgID/RQD6gHLplnrw5oy9t2u4hgv19dyggCD/pQDugu6UANPdoN2QUEBVay+AFACAFBSAQBSAQICAYMCAYP+AgAD/gED/oED/oGD/oHD/wMD//4D//8DNt57w//Cgts3B/8HNwLB8/0Cg/yC+vr5fX1+/v78fHx8/Pz+fn5/f39+np6cAnnMvLy/Dw8M30NEkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAdc0lEQVR4nO2dCZatKLOFtabhfGocKFr53vwn8EsTASjYHRvE/a11r3kwFDJxHwIlwqoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMBNyHqkk+1Gc9GlP/l0zb5m7LUH4B5k147IeqNCFgTSC+/D3gu+H/bZA3AP0lzjndxmviAQIbwPGBFAGViBSFl1vayrqlZXtlCfmq6W6nt93Hb9uB1k3TUsCf40CLNf+WotfajUvloMbnc1jlK19uTofBoq7Zqh1ngGfAQAj+FGkE6K3hPIeMm2nRgv17of+rrXztjQdB0fZz9JOQyN8tCk8D7w4VwyymX8YXDn01DpOOIMI2ogYwPaB8BzaIGM12FfmWufBSLN1hZ01aAvahJI+KnSUhDeB72nqV3JoGc5gzufPY0tNS6ZqAe/QrsPgOfQd7G0S6Oua08gatt0Vasv074ezA90ZYefzOghvA/6ZC19/euSrmn5wJ722FJTXatU5wxoHwDPoe9i6avVfInPBWIYzDVNknCfWtmNu4VRAX+wF3zrSgYzteDzmfPYUm0/WFWRwRDMVgB4Ask3olICadXkYKgSI8g4bRh4BHEfaARxJZWasNctn49Rpbo60Q3mzM5A7wPgOaYC0f93TiAVzacTcxDtRg12BHEf9BRmnINwyaAv9PGo2h8TuHSsrrda4Apb/xMAjzAViOjUvVpPIE3XD60U5r6VCO5iqU9D3Yy7pdT3q/6fP9BdLN49zi/sXSw6n4JL1W1eYQYOMuB9ADzHVCD6+cYoDBaIfiyhn2jYPQb+1He1HB2ncSzpupY/1PQchEt6/zmIoMu+5+cgvZl6tM6gx3MQAAAAAAAAAAAAAAAAAAAAAAAAABSNWiXRVINb0m0KGLV6ohNq+QSCtsH3EF3f9nVTqUQhrVoZTgW0vxZt2+sUIkjjAT7HoMN7bMiEihgNClSUkVm7LcUDjQMgD6TJoCPkpCDMrQMXC3wR5VnpFdqDDf/hAlXkiQICAV9knIQbN4oGEC6gKDwLBAK+SWuzg/STAhJIb8KCIBDwUXTCj76eFCi0izW0bQ+BgE+ihaDzFFgPyxUopJcuzRdIDfLkxkun8i+R/miqimSu/uj3sbq9GuzYmep/Ibt/HJMLR+cTNPV6Beajac10BKn5P78g8vNRu9NP+L2Kb0ILpK2PuhfJXP39EGbf18wFsi/V/26BjBWo54KqIfTEgws0TS3Gz4Izq1lmAlnibDtU/PsJz0MJZKBJ67HDq0Su/iD7vimZCyR9eIzdAtGpzPVEwwqECywqz+B8qQkE8u6KT0TqVHy6cpvBj5Pcu8z5faMuKqE/cSkdrjfSt1ZJ+7tGZ983j+TGs3Jyfk7DHx5uDuM2rOX6vxjdEf9sND7bDhUn2SeQf//dZR5nvETtc2W+OCnJfZA5v6llPwi/lA5XjBJz1jpp/ygoKeh+0fjtzcn5OQ1/eLg5zAlkJdf/xTzwTQU2sKdf/tX8XKXspJ2A0MUZJrnXmfOlTV/ZkjDYJ3O5+p21voitQCqTHnxwaTKDNPze4brcCWQ51//VQCB58oRAamnTEfvf3m7SLIX1ztUFSqs1vMT6+uYbu1zaWu8jgagTCuklWg7S8HuH63LXhuVc/1cDFyvPitMC+XcrW5tEqO9wqZN488VJSe7DzPkkEC61h1Ou/tCaBaKkMJ7MJefnNPzh4baSuUAMk1z/VwOB5FnxQwIxs3S+OCuT5N7LnO8JJMie7yWSnVizQMYf2rpKjiDugk8JJJrr/2rgYuXJI3OQyj4HoTT7lOTey5zvCcSVusOrqqom1k4gjVS3e705iE3DHx5O1ds2rOX6vxoIJE+eEoi6V8Rp9inJvUujH4wgXOodXlXVxFoLRA5aNPq7n1P1x+5i2QNcqv/VXP8XAxcrz4qfuc2rN6MgOH2+fQ7CefKDOQiX+odXU2v1v8q+zyZ89jryHMQe4Fmt5frfjA1BN3cDhK3KO0s8Jh0CybPiIkf2R1fJUgi6FC3fDmhqJ5BETHqRHfEq4t5Rgf0y3DWvjtdOIeieSseJkhv2EjHpBXbEi0jfcSqvX3qzXuRZpPQFIj1HLRWTDhfrsYoXb8neLJDIYvOuSflE0ZHgx9Xuly93rygEvRbSrlEc1eHeWpaKSYdAHql49aHF3QKZLzbfJhBeyL602n2+3D0ikKuXu1MIeif7tlFyUPcZPIEkYtLLG8rzZ8tTvdsFojdTP2NdILyQfXG5+my5e0wgC8evNGIzfFNZPX2RopoKJBKTDoHcy9an3s8IRD28oIScJJB2vHR4ATuvNPfumbbTM4TL3dVjkNHq/5ZXu3vHm0Xy1yx3pxD0th76bvAEkoxJh4t1o92OZSH7BPL3t8t8jvv+Vg/oenqcrnLZah3QAnZaac5WUszOMFnu3hmrldXu3vFmkfzpy92DEPSxNcKu7WqC+qMx6f+M3fvMv38estOmd9ul5TG13RmT/qfZeb2E8GJzM1ltahKIF2LYCV7l4aykmJ7BWZvHcFYgK6vdvePNpX/2cncOQdcKEeNW0XQD71+ISQeXklZGdPDQ3C0QWmzOi8qtQKSbE0jB6wSd1Vg4OYOzNqsRSSDLq929440kT1/ubkPQB/U8sKFxw3sevxSTDq7jgDgU6X7528qeVvJic+MJtfZrtKvNo2ZawE4rzZ2VFNMzTJe7k0CWV7t7x5vL8/Tl7hSCrkPPScf+gpWFmPSPTQVuq/igOBS3C8T+MBlBZKsudF7AvjSC8KU2We5OAlle7e4dnxTIc8vdC79OH6r4B3nc72LR5Tadg2ifnBewr81BNJPl7iyQxdXuM4FguXvZ/CIOxVMCmd3FGgu85e600tzdxdIL2YMzTJa7012w5dXuM4FktdwdnMpPQ4flmdu8iulzEHUfixew80pzsrIL2YMzhMvdtd+vrZZWu88Ecv5y92PAxTrZbkUcW09Y4hfXK3NCQyAn2i0OHf/uOmF5Anl2tfthyuuIp/jZqwoorl+yWO1+gOI64hF+n3NMQb9kAlysn+12qeO7LtZLgUB+s1uddBysGAI5HbrxRtsge0O1mLQBHOR0z4pBv5wNJW2gbZC9oULShtM5f97hg345GUrawMkbJnedF5M2vN/Tub3io+KAi/UotDjZpbUjkLTh1BMeHjogkOcwSRt467I3VGtJG8A+rvKrPNAv52OSNvCWszcokLThNG5QR4V+uQZaG+nWSNJq4uWkDa/1dO6uOCmO0yuGQC6hdzHppoDjUZC04fcTLgwdEEj2UNKGIHmDU0qeSRte9C8xeFxS186kDWADlLSBkzdw9gbaj6QNP3DLvMMH/XI2NmkDb8PsDctJG97l6dxe8YZpOVys7KGkDbQNszdUSNpw7IRRccxHDwikVNARS2yUxwWgXzIBHZHmMXVU6JdsgIuVYJ864GKVCgQSY7drBYGUCjpizoOeFYN+yQR0RMhz0/IQ9EsmwMXyOawOuFilAoEwv4wdEEj+UCx6JczCRMoWT/sRk75IJq4VgX45G4pFbztp1peoiPTWZbNDTPoCucw8HOiXk+FY9L6v3AKsgd+qi5j0tOGCOB77jSGQSzAx6U4ggiPREZOeNlwYOiCQgqCYdCcQN4AgJj1NTp4Vg345H4pJdwJxAwhi0tPkp44K/XINrfeCUP0DqwIx6QnDlcEDLlZZ2Le1N/TJ7UFMesRw3bWCQIrBi0UngQhvYo6Y9Nk/owr9s5FHBm1CTPpVuFh0JxBfCIhJD8lqwhHhq/1yHRyL3o5aaM3dLG9ijph0n83ygItVDBSLLnmFSXDnCjHpShZ2s33wgEC+zkc6YhREjjdz03ykX/LnAx2R5YPANT7QL++geBfrnjVWcLFKpXCBpJZZZf8bQyCZUHZHpPSRP2X3y4sotiPm2oBAwH4KdbHW5JH9bwyBZEJ5AkloIxw9sv+NIZDT8d+T3voFlm/EpKe08R7nylBavzyPqM0rCZtxK9TCLNG1Q+sFFxYfkz59GPi6eYdPQf1yH+rtUa2Qoo3t1MOCkGalohR2ySInbSg+Jj3tWd2xjB0u1vMMXV03bd3Jro4qRNF0A6/qDQVSdkz6gjri40f2vzEEshvR9U0t9fggUzZSGIGowKlmnIm0tF6x4Jj03eJ4Be/vl9tReX1MvEfbJUyaURdm4FCreUVde+kbCo1JL1Abmrf3ywOoocFIo0389RqlgnGyPjTdKBA9SSctlBqTflQe2f/GEMhuVgUizNxkHDhEX7Mk6OjSYtJ/c6yy/40hkN2sCaTx5u5NZ2Nw20Lfk74ojwzah5j0+6m7Ef1fF/vr9VYfvX0UOBlByopJTyjj9TMPxzv75VGkR2R3J3S2ajX1aEU3qDFDzUEE7S8mJn3Jr7r9/vJeO7hYT9Hy2w5EV0vtV02WmhQQk558Vr43zCP/3xgCOYgeJU7kPR2xMO0ox7Ni3tMv+dCKykyqxYknfUtHfEkcirf0S0a0tZp61P3Qp5ea7OcdLtZWdbzSxfr7i9hBILsxiUT1Ol1x3lnfIJDtI8f7BPJnmNlBILvRr5DSAum7886ad0eU7Vj9OWb78u6XLDGOlYrlSC01OXTW8051MqVPyv8Cpnvz7ZdscTOP00eQbBwOxzF1vMbF+psytYNAdiMF/SSSy933k6dAktJYGTzeIZCZOuBinQHFBAaLrn4my44o1q2KigMCOQlRy6bvm86PffIwD84HfqLusjcYXpK0oeBZR1Iekfu82fXLG+g7denL+PhBSRv0iiwVacvZG2h/OmlDNi7Wr7PyrF2slDpij0EgkGMMw5DaRUkbtJmSAWdv0GSetEGLIC2PpxeB/W63RxwKCOQSGnN/S+nEZW/QLCZteJpfB47M2TV0WLLol/KQQv2vteGyN5iibJM2QB0xnu+XEmmMHOyiFM7eUK0lbXjMxUqKYyKP17pYB+UBgVxCY1VgNpy9QZFj0oYFdRxdhJiVQA6LQwGBnA/dsqIwW5u9wbCYtOF+lsRRhHP1kzoqCOQYg5A6Jj261ISfH/oP2hsyzSppw4o6Hk+a8OO/pDhGeSBpw5XITjSayD4XJWKv/z54JriYtOFWFyutjPTQ8SYXa3ns2HpCCOQIS2tMKGkDTUFc9gZDFkkbjjpVrxHIqmcFgVxJl3xM6CVt4BtWnL3BWqSTNtxEyXMOxY/TjgAI5AhR3+o3buyIstWxeRniNiCQI/SdTM5BDnKPi5UaOh57AHPyCVc9q90VQyBH6IjzTnm9QJYcqyIEsl0dOyqGQDLh6o4ofNpx6rzDBwLJhEs7ovRZ+cnzDh8IZDfNUDXEeWe9zsXaIo43u1i7PKvdFUMgu+n6N81Btg0erxXIYc8KAnkZV3REUhyl+FbXeVYMBHI6lMy9lZTUXQTR6zfFpJcujsum5SEQyNlQTPrQiaFXEmg76Qvknpj0ndp4m4uVnHecXjEEcjYUk67X8qo1WX1feQK5IyZ9/8jxLoEsDB0QyDtoutB/cj9fHZNeumN1x7zDBwI5SDqtiUKKoe5FTS9ecwK5OCa9cHHcLg8I5CAqM9ZQiZRImnoY6k69QcRIwBfIdTHpP6jjNS7WmjrgYmWBiukYBSJFanc/KkFUnO1nKpDzY9J/9KzeIpDVoQMCyQL1ipBRIG38QaEw2X6UEuzr0T2/6oqY9OLnHcxtnhUDgRxBXfY6JCq208akayXMBXJ+THpCHIfOlfW/mTourxMx6QexI0j0/SAUk65fom5zNXgCOTkmfXnsuPpxxM92O064beyAi5UFTd20ddt3scWKFJPe1qLVk/TRnxrNW3fsWTHp655VMQLxVLHsWkEgedDouPOYPlxMOi01kfweBGtxSkz6d+Ydyfdr3gIEcpDWjQmnsKcjkuIoSh7eiPGUOioI5DeeeE/6HnG818WaTjgem/xAIEewaXzid7EOnlL9t95r+4aOdwokdi8XAnkVdaefcpwukEU+4Vc98KRjGQjkCPUgapF6DnLwlIt7F2YdJcsDAnkp+il6197lYh1Wx8tcrJk8/uJ2p1e8AARyBHXPVg0idwjkl7EDAvnZEAI5gnmo0Z+5DiF+qm84Vpb8/KsKAjmGfeg39Mtme5h3xEemHUSW8oBALoCSNlQqRemkQLGQtGF9jZURx4NLoi6peMG3urbidSCQ3awkjqOkDcqy7sICs38tacPC0LFzEeIbBOJpYmHsgEDew0riOEraoB6TiC4oUCwmbai+cEPXl8BUErk4Vg4I5BL0MnfZ8JsJ3TsK00kblqRRijg2jhcZAYFcghRaE04gqkCRTtqwRx3vdLHmM43teazgYr2IVi8zkZ1M3sRqdLhh6wTS0Gr3VNKGf5MCiZ3/jQKJT8QhkPJoVazTOA0RMvUuT5W0gQYRV6CJJ20YdRAXyIW/xt3keRd3FQhkNzqWVgebSxE10EkbevWiTysQ4SkpmrQhKpArf4d7iflWT7dpKxDIbjp1tZvEorG7WDZpg7CRhQ1ncTDEkjb8OxfIzQkR/rnQLiaPcfJh9v+zsY1n2yFpw3Xo6YTJ3x7769mkDYOiUcNIH3hisaQNE4GsN+E9c5C4Oq5bY4U5yPN0rfn+T4wglLRBoV0sv6CKJ23wBHJ16+9kRRyvAALZjRSjA6Wl0cj5Xpe0oTICCQq0xTxpgxXI1S2/lwLUUUEgB2jrTup7UU193mLFf+95T/pdJ1zzrC6rGC5WBrRCaGXo271nUZBAEuq4ZY0VBJIRiy9A2EshHZEUxwu9K00h/fJ+SuiIwrShKaFfiuDtLtbBoSP73xgCyYRXC+S4X5X9bwyBZMI7O2JUQHGzjpB39kuBvK8jFpRRjDze2C/ZQyHofii6H3u4KSZ9mQxcrJPUkf1vDIGcDYWg+6HoJjid9q/FpK/zvEBWxPH8IrCzDCGQs6EQdC8U3Qana9Zi0l9B8Y6V41X98h44Ukpv/eD0dEz6a/iMOBQv6pc3IYW39YPT0zHp6r/sHY7ZmzQT6oCLBZagEHS9DYLTUzHprxDI9qEDAgEL0DJfs5WimgpkGpNevaAjEsoo07FyZN8vL4RC0M3WD06vEjHpVe4d8Zkpx4y8++WVUAi63XrB6YpYTLpCmdwbh+7/W4o1T7hVh88X/ENM+uegEHTauuB0TSwmXZHpHOTgDSvMQUAKCkEPQtGdixWNSa+y7IjknPwj3pUmw355NxSC/l8Qiu4JJBaTXuXXEQvq+JA88uuXz5KTi/W7OOBigZPJQiB+0vWoOh67TiGQr/N8Rywp42N+lcfz/QI0z3bEiji+qo7q6X4BzGMu1po2AnHAxQIP8ZBAdg4dEAh4iEc6An7VKhBIJtzdEZh1bAMCOR2KRe/HrV7Nqx8YCt6fQUz6YXHAxQK/QrHofd0Per2i1GtOBrf/2Zj0ZWWsDB0QCPiVWUy6P048HZMOp2ovEMglNJ15xU5fTwXyWEw6ZhyHgEAuYXSr9DLFdpRJLaRLkPVMTPrqlCN7TwcuVlE09dDrv6wOi5IuQdYTMenL6vjbf8IT7fKvGAK5ABWL7gRii8z21pj0FWnAtdoABHI+OhbduVialt5ReFtMOqRxChDI6ZhYdDdJ1/QkkFti0tcGjtkxV74nffEfYtI/B8Wid2L8T0r7pjZBf+jrY9KPuFXZTwUwBykGikWnB4WDejDYuJtXl8akY85xNhDIybjXotNSEx2D7t27uiwmHdq4AAgkE35zsX4dOLL3dOBifZ3jAjnDrcr+OoVAvs7BjoBbdTEQSCYc6AiI4wYgkEzY52JtdKvK8XTgYn2dHQLZPuco5zqFQL7Oxo7YOHSAs4BAMmFLR0Ac9wOBZMKyi3Vw4CjH04GLVRDCrCuh5A1V6wVMVQeSNhwfOMq5TiGQYmg7qQUiunbQKxOHTgy908JS0oY5mHM8DARyNn1vYj6sSkzihorepLMraQPU8TwQyAWEAtmRtMGN+2va2CaOcjwduFglobXRdG3VjsPFUPei1sEhii1JG9a18b3rFAIpCSMCYV5tO9RdP/TbkjZUuJWbGxDIBbhJ+iiBQYVGbUnasOpVQR0PAIFcgBk4jBLsD2tJG/7qPdr4nqcDF6sklAhMPhOlCy2JdjFpw6iABYGcl4Qg+Q9JG5C04UaCEUQnbnDvgY4mbVgQyAPNBx4QyNmM7lPdtO04VKg5iFCSEG2/mLThLyGQZ34B4AOBnI2kpA2ppSbzpA0RgSzX8b2pAOYgnyYUyLr9965TCOTTeAJ5uikgBALJAy2QpxsB5kAgmfDYe9IvOWE5FUMgmQCB5FkxBJIJ6Ig8Qb9kAjoiT9AvmQAXK8+KIZDzsTHp/HyQnxgadsekz/nedQqBFAPFpHMoOgenG/bFpIOHQb+cDcWkcyg6x96a3Tti0sHzoF8uQEuC/adQIBtj0pf5nqcDF6sk7HJ3G4pOwemaLTHp63zvOoVASmISim6D0zXLMelbe+NsO1T8+wnBdoxARGVC0Sk4XbMQk14VdLl8r2KwAxdR2NaDCy3kfZGY9LlAUj8ftTv9hN+rGJyESxw3CsQFp2uiMenKHOTJzdfOJ9DaoFD0yQgSjUkH4DNQTDqHonNwuiESkw7Ad+CY9NRSk3lMOgAAAAAAAADcwfRdbVXXV1U/flL3vcxcRlRc4goCu/lcR23b2fm89Fy+4azioaZJFDdQGXTzE/LhVOJqmNm1s4ojLeTieAO5OXxAvIFc6vbSEYkTcjH/wIfG7cANuHe19Tbz4jBelX3dD416dCJFOzJUXMIFoZ1bVl/3bTOepxm3Qj98iduxIW0nhqqWVi2upAZW6tabvv4CO17GTyWuhsDOtWelhVwcbyA3x7U02kAq9fbSES7yIDgh10Nd4Q6N24E7sOviB/Mdpfq3kfbOlpDeLS4qcd9dgR0vq6cS8xRGJO3CE+riwFAx6HAVu3Bfr5vpZhWHr9AaS1wNczvdnpUWcnG8gdwcLo43kErd3rBi/lPPTshd4Q6NVwxuwn0b6ceKsjFXpn6s6FZv2RInkKidoenMHv0+kgU7zqatt4Ghgq4C20DZGPPAjq62lQZ67Vlu4cRw2kBuTtDSeQP9vyvLxx7hBDIx9OozXeFOnLQD12P/7sqjUV1Yt3ZJilqeUgvj0XMJFYR24Rvexi9guhqGRTsO2NLboOKKrihu4HhNmMsisKNl/FTyn6shrJjbs9bCwHDaQG5O0NJ5A72/K/996QgXeTAx5PqoK2hPyg7cAn1N1XZlI30x6oVa0ji8XEIFoV34hreG3kcilO+cttOGvA0rrjw3gr+y9fU3sbPL+KnkP64htOP2rLQwNJw1kJsTtHTeQO/vSlt3BEUeTA25PtsVtCdpB26B/+56KYr2d/3e1w5HWKI8kMAueMNbo3pXqBlpp9LLJ+2MIW9nFXPQCk8Lmm5mR8v4nUCohokdtWelhYHhvIHcnLlAggb6f9epQDjyYGrI9dmu4KEpbQduwH0xKc9CNhP/wa4G9kvaqZ3/hjdhv//rWug396TsyJC204p5ZaVuYN8N3kxgcsLR1HOxYg107VlpoW8YaSD/vWYuVthA/+86cbH+cy81mhhSfdQVtGfJDlyPcRDUTzpwpJ3MQHVnhSX9zM5dNI3Xe42dPMfs2LDxZhx+Ne5Gjb73aR+MNKEdL+MPp8CJX8RMEZZb6AxjDXR/r+kkPWwg27ktHTFpsjOg+qgrwqrmduAmjMNub970+hrSA7y6kWK/6l0JFUzs+A1vve29Xm2U65Owc4a0DQ39G176PrSiGb+lQzu3jJ9KqIbJ+ag9qy1kw3gDK7pOvZbGGljNBEJHcJMnhlQPdwXtSdiBW3DvalNPp0QlhCrlp24qfVbjPYfjgtDOLavv9INEPTcYne0haceGfEBoyFMQaqBCKWtix8v4qYRqmNhRe1ZbyIbxBnJz3LPPaAOp1NvLz1ptkycnpHq4K2hPyg7cAa2LH4RZwGBXT7h1G7SgwpZQwcSOFni0vERkPJ8cknZs+B8dMDWkxBK8cL8y19/ULrXUZGpn27PeQlucaKBrTrgaZ9pAKvX3TpaahIauXdQVMlqxswMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK7if6kYkCd5HPT5AAAAAElFTkSuQmCC"},1151:(A,i,d)=>{d.d(i,{Z:()=>Q,a:()=>g});var e=d(7294);const s={},t=e.createContext(s);function g(A){const i=e.useContext(t);return e.useMemo((function(){return"function"==typeof A?A(i):{...i,...A}}),[i,A])}function Q(A){let i;return i=A.disableParentContext?"function"==typeof A.components?A.components(s):A.components||s:g(A.components),e.createElement(t.Provider,{value:i},A.children)}}}]); \ No newline at end of file diff --git a/assets/js/539febe6.88caec4b.js b/assets/js/539febe6.88caec4b.js new file mode 100644 index 000000000..1aba50a13 --- /dev/null +++ b/assets/js/539febe6.88caec4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkstakeworld_io=self.webpackChunkstakeworld_io||[]).push([[882],{7541:(A,d,i)=>{i.r(d),i.d(d,{assets:()=>Q,contentTitle:()=>g,default:()=>n,frontMatter:()=>t,metadata:()=>I,toc:()=>C});var e=i(5893),s=i(1151);const t={id:"dbsize",title:"Database sizes",description:"Polkadot and Kusama Relaychain and common chains database sizes",slug:"/dbsize",sidebar_position:4,keywords:["database","database size","substrate","polkadot","kusama","westend"]},g=void 0,I={id:"dbsize",title:"Database sizes",description:"Polkadot and Kusama Relaychain and common chains database sizes",source:"@site/docs/dbsize.mdx",sourceDirName:".",slug:"/dbsize",permalink:"/docs/dbsize",draft:!1,unlisted:!1,editUrl:"https://github.com/stakeworld/website/edit/master/docs/dbsize.mdx",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"dbsize",title:"Database sizes",description:"Polkadot and Kusama Relaychain and common chains database sizes",slug:"/dbsize",sidebar_position:4,keywords:["database","database size","substrate","polkadot","kusama","westend"]},sidebar:"tutorialSidebar",previous:{title:"Bootnodes",permalink:"/docs/bootnode"},next:{title:"RPC server",permalink:"/docs/rpc"}},Q={},C=[];function c(A){const d={img:"img",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...A.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(d.p,{children:"Last update: Thu 21 Dec"}),"\n",(0,e.jsxs)(d.table,{children:[(0,e.jsx)(d.thead,{children:(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.th,{children:"Chain"}),(0,e.jsx)(d.th,{children:"Database"}),(0,e.jsx)(d.th,{children:"Format"}),(0,e.jsx)(d.th,{children:"Blockheight"}),(0,e.jsx)(d.th,{children:"Full"}),(0,e.jsx)(d.th,{children:"Daily growth"})]})}),(0,e.jsxs)(d.tbody,{children:[(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"asset-hub-westend"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"5971226"}),(0,e.jsx)(d.td,{children:"87G"}),(0,e.jsx)(d.td,{children:"166M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"asset-hub-kusama"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"6042558"}),(0,e.jsx)(d.td,{children:"145G"}),(0,e.jsx)(d.td,{children:"298M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"asset-hub-polkadot"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"5271597"}),(0,e.jsx)(d.td,{children:"112G"}),(0,e.jsx)(d.td,{children:"307M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"ksmcc3"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"pruned"}),(0,e.jsx)(d.td,{}),(0,e.jsx)(d.td,{children:"358G"}),(0,e.jsx)(d.td,{children:"497M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"bridge-hub-polkadot"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"1591527"}),(0,e.jsx)(d.td,{children:"34G"}),(0,e.jsx)(d.td,{children:"189M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"polkadot"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"pruned"}),(0,e.jsx)(d.td,{}),(0,e.jsx)(d.td,{children:"290G"}),(0,e.jsx)(d.td,{children:"564M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"bridge-hub-kusama"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"2364839"}),(0,e.jsx)(d.td,{children:"50G"}),(0,e.jsx)(d.td,{children:"170M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"collectives-polkadot"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"2803013"}),(0,e.jsx)(d.td,{children:"52G"}),(0,e.jsx)(d.td,{children:"194M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"ksmcc3"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"21077808"}),(0,e.jsx)(d.td,{children:"2.2T"}),(0,e.jsx)(d.td,{children:"3.0G"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"encointer-kusama"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"4453860"}),(0,e.jsx)(d.td,{children:"78G"}),(0,e.jsx)(d.td,{children:"166M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"westend2"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"18762008"}),(0,e.jsx)(d.td,{children:"341G"}),(0,e.jsx)(d.td,{children:"356M"})]}),(0,e.jsxs)(d.tr,{children:[(0,e.jsx)(d.td,{children:"polkadot"}),(0,e.jsx)(d.td,{children:"paritydb"}),(0,e.jsx)(d.td,{children:"archive"}),(0,e.jsx)(d.td,{children:"18688671"}),(0,e.jsx)(d.td,{children:"1.5T"}),(0,e.jsx)(d.td,{children:"4.6G"})]})]})]}),"\n",(0,e.jsx)(d.p,{children:(0,e.jsx)(d.img,{alt:"snapsize",src:i(7538).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(d.p,{children:(0,e.jsx)(d.img,{alt:"dbdiffarchive",src:i(7606).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(d.p,{children:(0,e.jsx)(d.img,{alt:"prunedsize",src:i(726).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(d.p,{children:(0,e.jsx)(d.img,{alt:"dbdiffpruned",src:i(2604).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(d.p,{children:(0,e.jsx)(d.img,{alt:"commonsize",src:i(1223).Z+"",width:"800",height:"300"})}),"\n",(0,e.jsx)(d.p,{children:(0,e.jsx)(d.img,{alt:"dbdiffcommon",src:i(6665).Z+"",width:"800",height:"300"})})]})}function n(A={}){const{wrapper:d}={...(0,s.a)(),...A.components};return d?(0,e.jsx)(d,{...A,children:(0,e.jsx)(c,{...A})}):c(A)}},7538:(A,d,i)=>{i.d(d,{Z:()=>e});const e="data:image/png;base64,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"},1223:(A,d,i)=>{i.d(d,{Z:()=>e});const e=i.p+"assets/images/commonsize-d30224a000f4c779ca485f1be68cfe82.png"},6665:(A,d,i)=>{i.d(d,{Z:()=>e});const e=i.p+"assets/images/dbdiffcommon-7de91cc6f1ea893f588a5b22ea5f3563.png"},2604:(A,d,i)=>{i.d(d,{Z:()=>e});const e="data:image/png;base64,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"},7606:(A,d,i)=>{i.d(d,{Z:()=>e});const e="data:image/png;base64,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"},726:(A,d,i)=>{i.d(d,{Z:()=>e});const e="data:image/png;base64,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"},1151:(A,d,i)=>{i.d(d,{Z:()=>I,a:()=>g});var e=i(7294);const s={},t=e.createContext(s);function g(A){const d=e.useContext(t);return e.useMemo((function(){return"function"==typeof A?A(d):{...d,...A}}),[d,A])}function I(A){let d;return d=A.disableParentContext?"function"==typeof A.components?A.components(s):A.components||s:g(A.components),e.createElement(t.Provider,{value:d},A.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd15b893.899769ce.js b/assets/js/fd15b893.e6a34d6b.js similarity index 67% rename from assets/js/fd15b893.899769ce.js rename to assets/js/fd15b893.e6a34d6b.js index dd4e6ce15..bd6037dcc 100644 --- a/assets/js/fd15b893.899769ce.js +++ b/assets/js/fd15b893.e6a34d6b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkstakeworld_io=self.webpackChunkstakeworld_io||[]).push([[961],{640:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=s(5893),t=s(1151);const o={id:"rpc",title:"RPC server",description:"Setting up a secure RPC server",slug:"/rpc",sidebar_position:4,keywords:["rpc","rpc server","wss","ws","polkadot.js","validator","polkadot","kusama","westend"]},a=void 0,i={id:"rpc",title:"RPC server",description:"Setting up a secure RPC server",source:"@site/docs/rpc.mdx",sourceDirName:".",slug:"/rpc",permalink:"/docs/rpc",draft:!1,unlisted:!1,editUrl:"https://github.com/stakeworld/website/edit/master/docs/rpc.mdx",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"rpc",title:"RPC server",description:"Setting up a secure RPC server",slug:"/rpc",sidebar_position:4,keywords:["rpc","rpc server","wss","ws","polkadot.js","validator","polkadot","kusama","westend"]},sidebar:"tutorialSidebar",previous:{title:"Database sizes",permalink:"/docs/dbsize"},next:{title:"Linux tips",permalink:"/docs/tools"}},d={},c=[{value:"Live stakeworld RPC data",id:"live-stakeworld-rpc-data",level:2},{value:"Setting up your own secure RPC server",id:"setting-up-your-own-secure-rpc-server",level:2},{value:"Archive node vs pruned node",id:"archive-node-vs-pruned-node",level:3},{value:"Secure the RPC server",id:"secure-the-rpc-server",level:3},{value:"Secure the ws port",id:"secure-the-ws-port",level:3},{value:"Using Apache2 for proxying",id:"using-apache2-for-proxying",level:3},{value:"Enabling ssl through letsencrypt",id:"enabling-ssl-through-letsencrypt",level:4},{value:"Add the proxy to the apache2 config",id:"add-the-proxy-to-the-apache2-config",level:4},{value:"Tweaking connections",id:"tweaking-connections",level:4},{value:"Rate limiting",id:"rate-limiting",level:4},{value:"Load balancing & failover",id:"load-balancing--failover",level:3},{value:"Stress testing",id:"stress-testing",level:3}];function l(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsx)(n.p,{children:"RPC servers allow access into the polkadot/kusama and parachains ecosystem. Stakeworld runs multiple public archive RPC servers:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Polkadot: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://dot-rpc.stakeworld.io",children:"dot-rpc.stakeworld.io"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["AssetHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://dot-rpc.stakeworld.io/statemint",children:"dot-rpc.stakeworld.io/statemint"})]}),"\n",(0,r.jsxs)(n.li,{children:["BridgeHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://dot-rpc.stakeworld.io/bridgehub",children:"dot-rpc.stakeworld.io/bridgehub"})]}),"\n",(0,r.jsxs)(n.li,{children:["Collectives: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://dot-rpc.stakeworld.io/collectives",children:"dot-rpc.stakeworld.io/collectives"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Kusama: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://ksm-rpc.stakeworld.io",children:"ksm-rpc.stakeworld.io"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["AssetHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://ksm-rpc.stakeworld.io/statemine",children:"ksm-rpc.stakeworld.io/statemine"})]}),"\n",(0,r.jsxs)(n.li,{children:["BridgeHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://ksm-rpc.stakeworld.io/bridgehub",children:"ksm-rpc.stakeworld.io/bridgehub"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Westend: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://wnd-rpc.stakeworld.io",children:"wnd-rpc.stakeworld.io"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["AssetHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://wnd-rpc.stakeworld.io/westmint",children:"wnd-rpc.stakeworld.io/westmint"})]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,r.jsx)(n.h2,{id:"live-stakeworld-rpc-data",children:"Live stakeworld RPC data"}),"\n",(0,r.jsx)("iframe",{src:"https://monitor.stakeworld.io/public-dashboards/cef69420acd44165be7df9ad65c7cd89?orgId=1",width:"800",height:"1400",frameborder:"0"}),"\n",(0,r.jsx)(n.h2,{id:"setting-up-your-own-secure-rpc-server",children:"Setting up your own secure RPC server"}),"\n",(0,r.jsxs)(n.p,{children:["To access the polkadot, kusama and parachains networks we need some kind of access into the network. This can be achieved by ",(0,r.jsx)(n.a,{href:"./validate",children:"setting up a node"})," with a RPC server and allowing access to that RPC server via a secure websocket (wss) port. The default node setup already exposes a non secure ws socket on port 9944 (which can optionally be changed by the ",(0,r.jsx)(n.code,{children:"--ws-port"})," parameter), but for a more usable situation we need a secure websocket which is accesible through a public port."]}),"\n",(0,r.jsx)(n.h3,{id:"archive-node-vs-pruned-node",children:"Archive node vs pruned node"}),"\n",(0,r.jsx)(n.p,{children:"A pruned node knows only the recent information about the network and not its full history. Most frequently done actions can be done with a pruned node, for example see account balances, make transfers, setup session keys, staking, etc. An archive node has the full history (database) of the network and can be queried in all kind of ways, give information about transfers since the network started, historical balances, advanced queries about past events, etc."}),"\n",(0,r.jsxs)(n.p,{children:["An archive node requires a lot more ",(0,r.jsx)(n.a,{href:"./snapshot",children:"diskspace"}),". For an archive node you need the options ",(0,r.jsx)(n.code,{children:"--state-pruning archive --blocks-pruning archive"})," in your startup settings.\n",(0,r.jsx)(n.img,{alt:"snapsize",src:s(2307).Z+"",width:"800",height:"300"})]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsx)(n.p,{children:"Inclusion in the Polkadot.js UI requires an archive node."})}),"\n",(0,r.jsx)(n.h3,{id:"secure-the-rpc-server",children:"Secure the RPC server"}),"\n",(0,r.jsxs)(n.p,{children:["Via the node startup settings you can choose ",(0,r.jsx)(n.strong,{children:"what"})," to expose with ",(0,r.jsx)(n.strong,{children:"how many"})," connections ",(0,r.jsx)(n.strong,{children:"from where"})," through your rpc server."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"How many"}),": You can set your maximum connections through ",(0,r.jsx)(n.code,{children:"--ws-max-connections"}),", for example ",(0,r.jsx)(n.code,{children:"--ws-max-connections 100"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"From where"}),": by default localhost and the polkadot.js are allowed to access the RPC server, you can change this by setting ",(0,r.jsx)(n.code,{children:"--rpc-cors"}),", to allow access from everywhere you need ",(0,r.jsx)(n.code,{children:"--rpc-cors all"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"What"}),": you can limit the methods to use with ",(0,r.jsx)(n.code,{children:"--rpc-methods"}),", an easy way to set this to a safe mode is ",(0,r.jsx)(n.code,{children:"--rpc-methods Safe"})]}),"\n",(0,r.jsx)(n.h3,{id:"secure-the-ws-port",children:"Secure the ws port"}),"\n",(0,r.jsxs)(n.p,{children:['The ws port is preferably exposed from the outside as a ssl secured wss port. The "',(0,r.jsx)(n.a,{href:"https://wiki.polkadot.network/docs/maintain-wss",children:"maintain wss"}),"\" on the wiki already covers a lot of information about this, especially in relation to setting it up in a nginx configuration. This page is focussed more on a apache2 but principles are the same. The main idea is converting the non secure ws port to a secure wss port by putting it behind a ssl enabled proxy. So from outside one see's the ssl enabled apache2/nginx/other proxy server, witch redirect the request to the internal rpc node."]}),"\n",(0,r.jsx)(n.h3,{id:"using-apache2-for-proxying",children:"Using Apache2 for proxying"}),"\n",(0,r.jsxs)(n.p,{children:["Apache2 is a little heavier then nginx but also has some more tweaking posibilities. You can run it in different modes, prefork, worker or event. We chose ",(0,r.jsx)(n.a,{href:"https://httpd.apache.org/docs/2.4/mod/event.html",children:"event"})," since this seems best suited for high load enviroments. Downside is that you can't use the default php module and need to enable it via php-fm. The proxy_wstunnel module works out of the box."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"apt install apache2\na2dismod mpm_prefork\na2enmod mpm_event proxy proxy_html proxy_http proxy_wstunnel rewrite ssl\n"})}),"\n",(0,r.jsx)(n.p,{children:"If you want to enable php"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"apt install php-fpm\na2enmod proxy_fcgi setenvif\n"})}),"\n",(0,r.jsx)(n.h4,{id:"enabling-ssl-through-letsencrypt",children:"Enabling ssl through letsencrypt"}),"\n",(0,r.jsxs)(n.p,{children:["There are multiple options for getting a ssl certificate, one popular (and free) being letsencrypt. Obtaining a letsencrypt certificate can be done through for example ",(0,r.jsx)(n.a,{href:"https://certbot.eff.org/",children:"certbot"})," or ",(0,r.jsx)(n.a,{href:"https://go-acme.github.io/lego/dns/",children:"lego"})," (which has more dns provider options)."]}),"\n",(0,r.jsx)(n.h4,{id:"add-the-proxy-to-the-apache2-config",children:"Add the proxy to the apache2 config"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.a,{href:"https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html",children:"mod_proxy_wstunnel"})," provides ",(0,r.jsx)(n.em,{children:"support for the tunnelling of web socket connections to a backend websockets server. The connection is automatically upgraded to a websocket connection"}),". In a ssl enabled virtualhost add:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-apacheconf",children:"SSLProxyEngine on\nProxyRequests off\n\nProxyPass / ws://localhost:9944\nProxyPassReverse / ws://localhost:9944\n"})}),"\n",(0,r.jsx)(n.p,{children:"Older versions of mod_proxy_wstunnel do not upgrade the connection automatically and will need the following config added:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-apacheconf",children:"RewriteEngine on\nRewriteCond %{HTTP:Upgrade} websocket [NC]\nRewriteRule /(.*) ws://localhost:9944/$1 [P,L]\nRewriteRule /(.*) http://localhost:9944/$1 [P,L]\n"})}),"\n",(0,r.jsx)(n.h4,{id:"tweaking-connections",children:"Tweaking connections"}),"\n",(0,r.jsxs)(n.p,{children:["The number of connections is limited by the node itself (",(0,r.jsx)(n.code,{children:"--ws-max-connections"}),") but also by the number of threads available on the proxy server. For apache2 this can be tweaked by editing ",(0,r.jsx)(n.code,{children:"/etc/apache2/mods-enabled/mpm_event.conf"})]}),"\n",(0,r.jsx)(n.p,{children:"We are using:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-apacheconf",children:"StartServers\t\t 4\nMinSpareThreads\t\t 25\nMaxSpareThreads\t\t 75\nThreadLimit\t\t 128\nThreadsPerChild\t\t 128\nMaxRequestWorkers \t 896\nMaxConnectionsPerChild 0\n"})}),"\n",(0,r.jsx)(n.h4,{id:"rate-limiting",children:"Rate limiting"}),"\n",(0,r.jsx)(n.p,{children:"Theoretically one client could use all connections/resources, draining the resources of the server and making it inaccessible. This can be countered by rate limiting the connections, for example by using mod_qos:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"apt install libapache2-mod-qos\na2enmod qos\n"})}),"\n",(0,r.jsxs)(n.p,{children:["And edit ",(0,r.jsx)(n.code,{children:"/etc/apache2/mods-available/qos.conf"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:" # allows max 50 connections from a single ip address:\n QS_SrvMaxConnPerIP 50\n"})}),"\n",(0,r.jsx)(n.p,{children:"Be carefull when running behind a load balancer (for example cloudflare) because the load balancer will only use a few ip's and thus can trigger the rate limit, iso in this case it is better to use the rate limit options from the load balancer itself."}),"\n",(0,r.jsx)(n.h3,{id:"load-balancing--failover",children:"Load balancing & failover"}),"\n",(0,r.jsxs)(n.p,{children:["With multiple servers it is possible to build a load balancing or even a failover construction. A simple load balancing can be a ",(0,r.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Round-robin_DNS",children:"round robin-robin dns"})," up to a more advanced (dedicated) load balancer or a content delivery network (CDN) like cloudflare."]}),"\n",(0,r.jsx)(n.h3,{id:"stress-testing",children:"Stress testing"}),"\n",(0,r.jsx)(n.p,{children:"You can test basic usage by accessing your server through the polkadot.js UI as a custom endpoint. For example staking target display is RPC intensive and can give you an indication of performance."}),"\n",(0,r.jsxs)(n.p,{children:["There are also more dedicated stress testing solutions, we have forked the ",(0,r.jsx)(n.a,{href:"https://github.com/dwellir-public/artillery-engine-substrate",children:"Dwellir repository"})," for our testing."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash\nnvm install --lts\nnpm install -g yarn\nyarn global add artillery\nyarn global add artillery-engine-substrate\ncd /opt\ngit clone git@github.com:stakeworld/stakeworld-rpc-artillery.git\ncd /opt/stakeworld-rpc-artillery\nyarn\n./run.sh\n"})}),"\n",(0,r.jsxs)(n.p,{children:["After the ",(0,r.jsx)(n.code,{children:"run.sh"})," you can edit some variables like how many connections per second, the wss node, etc. The following is a test run for 10 seconds with 10 connections per second and maximum 20 concurrent users."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:'config:\n target: "wss://ksm-rpc.stakeworld.io"\n processor: "./functions.js"\n phases:\n - duration: 10\n arrivalRate: 10\n maxVusers: 20\n'})}),"\n",(0,r.jsx)(n.p,{children:"After this you get some info about the run and a report is created, which can be used for further diagnostics"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"--------------------------------\nSummary report @ 23:38:40(+0100)\n--------------------------------\n\nvusers.completed: .............................................................. 100\nvusers.created: ................................................................ 100\nvusers.created_by_name.balance: ................................................ 35\nvusers.created_by_name.complex_call: ........................................... 33\nvusers.created_by_name.headers_blocks: ......................................... 32\nvusers.failed: ................................................................. 0\nvusers.session_length:\n min: ......................................................................... 231.7\n max: ......................................................................... 656.1\n median: ...................................................................... 361.5\n p95: ......................................................................... 518.1\n p99: ......................................................................... 645.6\nws.messages_sent: .............................................................. 163\nws.send_rate: .................................................................. 29/sec\nLog file: reports/report.json\nReport generated: reports/report.html\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},2307:(e,n,s)=>{s.d(n,{Z:()=>r});const r="data:image/png;base64,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"},1151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>a});var r=s(7294);const t={},o=r.createContext(t);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkstakeworld_io=self.webpackChunkstakeworld_io||[]).push([[961],{640:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var r=s(5893),t=s(1151);const o={id:"rpc",title:"RPC server",description:"Setting up a secure RPC server",slug:"/rpc",sidebar_position:4,keywords:["rpc","rpc server","wss","ws","polkadot.js","validator","polkadot","kusama","westend"]},i=void 0,a={id:"rpc",title:"RPC server",description:"Setting up a secure RPC server",source:"@site/docs/rpc.mdx",sourceDirName:".",slug:"/rpc",permalink:"/docs/rpc",draft:!1,unlisted:!1,editUrl:"https://github.com/stakeworld/website/edit/master/docs/rpc.mdx",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"rpc",title:"RPC server",description:"Setting up a secure RPC server",slug:"/rpc",sidebar_position:4,keywords:["rpc","rpc server","wss","ws","polkadot.js","validator","polkadot","kusama","westend"]},sidebar:"tutorialSidebar",previous:{title:"Database sizes",permalink:"/docs/dbsize"},next:{title:"Linux tips",permalink:"/docs/tools"}},d={},c=[{value:"Live stakeworld RPC data",id:"live-stakeworld-rpc-data",level:2},{value:"Setting up your own secure RPC server",id:"setting-up-your-own-secure-rpc-server",level:2},{value:"Archive node vs pruned node",id:"archive-node-vs-pruned-node",level:3},{value:"Secure the RPC server",id:"secure-the-rpc-server",level:3},{value:"Secure the ws port",id:"secure-the-ws-port",level:3},{value:"Using Apache2 for proxying",id:"using-apache2-for-proxying",level:3},{value:"Enabling ssl through letsencrypt",id:"enabling-ssl-through-letsencrypt",level:4},{value:"Add the proxy to the apache2 config",id:"add-the-proxy-to-the-apache2-config",level:4},{value:"Tweaking connections",id:"tweaking-connections",level:4},{value:"Rate limiting",id:"rate-limiting",level:4},{value:"Load balancing & failover",id:"load-balancing--failover",level:3},{value:"Stress testing",id:"stress-testing",level:3}];function l(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsx)(n.p,{children:"RPC servers allow access into the polkadot/kusama and parachains ecosystem. Stakeworld runs multiple public archive RPC servers:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Polkadot: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://dot-rpc.stakeworld.io",children:"dot-rpc.stakeworld.io"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["AssetHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://dot-rpc.stakeworld.io/statemint",children:"dot-rpc.stakeworld.io/statemint"})]}),"\n",(0,r.jsxs)(n.li,{children:["BridgeHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://dot-rpc.stakeworld.io/bridgehub",children:"dot-rpc.stakeworld.io/bridgehub"})]}),"\n",(0,r.jsxs)(n.li,{children:["Collectives: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://dot-rpc.stakeworld.io/collectives",children:"dot-rpc.stakeworld.io/collectives"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Kusama: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://ksm-rpc.stakeworld.io",children:"ksm-rpc.stakeworld.io"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["AssetHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://ksm-rpc.stakeworld.io/statemine",children:"ksm-rpc.stakeworld.io/statemine"})]}),"\n",(0,r.jsxs)(n.li,{children:["BridgeHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://ksm-rpc.stakeworld.io/bridgehub",children:"ksm-rpc.stakeworld.io/bridgehub"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Westend: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://wnd-rpc.stakeworld.io",children:"wnd-rpc.stakeworld.io"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["AssetHub: ",(0,r.jsx)(n.a,{href:"https://polkadot.js.org/apps/?rpc=wss://wnd-rpc.stakeworld.io/westmint",children:"wnd-rpc.stakeworld.io/westmint"})]}),"\n"]}),"\n"]}),"\n"]})]}),"\n",(0,r.jsx)(n.h2,{id:"live-stakeworld-rpc-data",children:"Live stakeworld RPC data"}),"\n",(0,r.jsx)("iframe",{src:"https://monitor.stakeworld.io/public-dashboards/cef69420acd44165be7df9ad65c7cd89?orgId=1",width:"800",height:"1400",frameborder:"0"}),"\n",(0,r.jsx)(n.h2,{id:"setting-up-your-own-secure-rpc-server",children:"Setting up your own secure RPC server"}),"\n",(0,r.jsxs)(n.p,{children:["To access the polkadot, kusama and parachains networks we need some kind of access into the network. This can be achieved by ",(0,r.jsx)(n.a,{href:"./validate",children:"setting up a node"})," with a RPC server and allowing access to that RPC server via a secure websocket (wss) port. The default node setup already exposes a non secure ws socket on port 9944 (which can optionally be changed by the ",(0,r.jsx)(n.code,{children:"--ws-port"})," parameter), but for a more usable situation we need a secure websocket which is accesible through a public port."]}),"\n",(0,r.jsx)(n.h3,{id:"archive-node-vs-pruned-node",children:"Archive node vs pruned node"}),"\n",(0,r.jsx)(n.p,{children:"A pruned node knows only the recent information about the network and not its full history. Most frequently done actions can be done with a pruned node, for example see account balances, make transfers, setup session keys, staking, etc. An archive node has the full history (database) of the network and can be queried in all kind of ways, give information about transfers since the network started, historical balances, advanced queries about past events, etc."}),"\n",(0,r.jsxs)(n.p,{children:["An archive node requires a lot more ",(0,r.jsx)(n.a,{href:"./snapshot",children:"diskspace"}),". For an archive node you need the options ",(0,r.jsx)(n.code,{children:"--state-pruning archive --blocks-pruning archive"})," in your startup settings.\n",(0,r.jsx)(n.img,{alt:"snapsize",src:s(2307).Z+"",width:"800",height:"300"})]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsx)(n.p,{children:"Inclusion in the Polkadot.js UI requires an archive node."})}),"\n",(0,r.jsx)(n.h3,{id:"secure-the-rpc-server",children:"Secure the RPC server"}),"\n",(0,r.jsxs)(n.p,{children:["Via the node startup settings you can choose ",(0,r.jsx)(n.strong,{children:"what"})," to expose with ",(0,r.jsx)(n.strong,{children:"how many"})," connections ",(0,r.jsx)(n.strong,{children:"from where"})," through your rpc server."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"How many"}),": You can set your maximum connections through ",(0,r.jsx)(n.code,{children:"--ws-max-connections"}),", for example ",(0,r.jsx)(n.code,{children:"--ws-max-connections 100"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"From where"}),": by default localhost and the polkadot.js are allowed to access the RPC server, you can change this by setting ",(0,r.jsx)(n.code,{children:"--rpc-cors"}),", to allow access from everywhere you need ",(0,r.jsx)(n.code,{children:"--rpc-cors all"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"What"}),": you can limit the methods to use with ",(0,r.jsx)(n.code,{children:"--rpc-methods"}),", an easy way to set this to a safe mode is ",(0,r.jsx)(n.code,{children:"--rpc-methods Safe"})]}),"\n",(0,r.jsx)(n.h3,{id:"secure-the-ws-port",children:"Secure the ws port"}),"\n",(0,r.jsxs)(n.p,{children:['The ws port is preferably exposed from the outside as a ssl secured wss port. The "',(0,r.jsx)(n.a,{href:"https://wiki.polkadot.network/docs/maintain-wss",children:"maintain wss"}),"\" on the wiki already covers a lot of information about this, especially in relation to setting it up in a nginx configuration. This page is focussed more on a apache2 but principles are the same. The main idea is converting the non secure ws port to a secure wss port by putting it behind a ssl enabled proxy. So from outside one see's the ssl enabled apache2/nginx/other proxy server, witch redirect the request to the internal rpc node."]}),"\n",(0,r.jsx)(n.h3,{id:"using-apache2-for-proxying",children:"Using Apache2 for proxying"}),"\n",(0,r.jsxs)(n.p,{children:["Apache2 is a little heavier then nginx but also has some more tweaking posibilities. You can run it in different modes, prefork, worker or event. We chose ",(0,r.jsx)(n.a,{href:"https://httpd.apache.org/docs/2.4/mod/event.html",children:"event"})," since this seems best suited for high load enviroments. Downside is that you can't use the default php module and need to enable it via php-fm. The proxy_wstunnel module works out of the box."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"apt install apache2\na2dismod mpm_prefork\na2enmod mpm_event proxy proxy_html proxy_http proxy_wstunnel rewrite ssl\n"})}),"\n",(0,r.jsx)(n.p,{children:"If you want to enable php"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"apt install php-fpm\na2enmod proxy_fcgi setenvif\n"})}),"\n",(0,r.jsx)(n.h4,{id:"enabling-ssl-through-letsencrypt",children:"Enabling ssl through letsencrypt"}),"\n",(0,r.jsxs)(n.p,{children:["There are multiple options for getting a ssl certificate, one popular (and free) being letsencrypt. Obtaining a letsencrypt certificate can be done through for example ",(0,r.jsx)(n.a,{href:"https://certbot.eff.org/",children:"certbot"})," or ",(0,r.jsx)(n.a,{href:"https://go-acme.github.io/lego/dns/",children:"lego"})," (which has more dns provider options)."]}),"\n",(0,r.jsx)(n.h4,{id:"add-the-proxy-to-the-apache2-config",children:"Add the proxy to the apache2 config"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.a,{href:"https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html",children:"mod_proxy_wstunnel"})," provides ",(0,r.jsx)(n.em,{children:"support for the tunnelling of web socket connections to a backend websockets server. The connection is automatically upgraded to a websocket connection"}),". In a ssl enabled virtualhost add:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-apacheconf",children:"SSLProxyEngine on\nProxyRequests off\n\nProxyPass / ws://localhost:9944\nProxyPassReverse / ws://localhost:9944\n"})}),"\n",(0,r.jsx)(n.p,{children:"Older versions of mod_proxy_wstunnel do not upgrade the connection automatically and will need the following config added:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-apacheconf",children:"RewriteEngine on\nRewriteCond %{HTTP:Upgrade} websocket [NC]\nRewriteRule /(.*) ws://localhost:9944/$1 [P,L]\nRewriteRule /(.*) http://localhost:9944/$1 [P,L]\n"})}),"\n",(0,r.jsx)(n.h4,{id:"tweaking-connections",children:"Tweaking connections"}),"\n",(0,r.jsxs)(n.p,{children:["The number of connections is limited by the node itself (",(0,r.jsx)(n.code,{children:"--ws-max-connections"}),") but also by the number of threads available on the proxy server. For apache2 this can be tweaked by editing ",(0,r.jsx)(n.code,{children:"/etc/apache2/mods-enabled/mpm_event.conf"})]}),"\n",(0,r.jsx)(n.p,{children:"We are using:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-apacheconf",children:"StartServers\t\t 4\nMinSpareThreads\t\t 25\nMaxSpareThreads\t\t 75\nThreadLimit\t\t 128\nThreadsPerChild\t\t 128\nMaxRequestWorkers \t 896\nMaxConnectionsPerChild 0\n"})}),"\n",(0,r.jsx)(n.h4,{id:"rate-limiting",children:"Rate limiting"}),"\n",(0,r.jsx)(n.p,{children:"Theoretically one client could use all connections/resources, draining the resources of the server and making it inaccessible. This can be countered by rate limiting the connections, for example by using mod_qos:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"apt install libapache2-mod-qos\na2enmod qos\n"})}),"\n",(0,r.jsxs)(n.p,{children:["And edit ",(0,r.jsx)(n.code,{children:"/etc/apache2/mods-available/qos.conf"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:" # allows max 50 connections from a single ip address:\n QS_SrvMaxConnPerIP 50\n"})}),"\n",(0,r.jsx)(n.p,{children:"Be carefull when running behind a load balancer (for example cloudflare) because the load balancer will only use a few ip's and thus can trigger the rate limit, iso in this case it is better to use the rate limit options from the load balancer itself."}),"\n",(0,r.jsx)(n.h3,{id:"load-balancing--failover",children:"Load balancing & failover"}),"\n",(0,r.jsxs)(n.p,{children:["With multiple servers it is possible to build a load balancing or even a failover construction. A simple load balancing can be a ",(0,r.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Round-robin_DNS",children:"round robin-robin dns"})," up to a more advanced (dedicated) load balancer or a content delivery network (CDN) like cloudflare."]}),"\n",(0,r.jsx)(n.h3,{id:"stress-testing",children:"Stress testing"}),"\n",(0,r.jsx)(n.p,{children:"You can test basic usage by accessing your server through the polkadot.js UI as a custom endpoint. For example staking target display is RPC intensive and can give you an indication of performance."}),"\n",(0,r.jsxs)(n.p,{children:["There are also more dedicated stress testing solutions, we have forked the ",(0,r.jsx)(n.a,{href:"https://github.com/dwellir-public/artillery-engine-substrate",children:"Dwellir repository"})," for our testing."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash\nnvm install --lts\nnpm install -g yarn\nyarn global add artillery\nyarn global add artillery-engine-substrate\ncd /opt\ngit clone git@github.com:stakeworld/stakeworld-rpc-artillery.git\ncd /opt/stakeworld-rpc-artillery\nyarn\n./run.sh\n"})}),"\n",(0,r.jsxs)(n.p,{children:["After the ",(0,r.jsx)(n.code,{children:"run.sh"})," you can edit some variables like how many connections per second, the wss node, etc. The following is a test run for 10 seconds with 10 connections per second and maximum 20 concurrent users."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:'config:\n target: "wss://ksm-rpc.stakeworld.io"\n processor: "./functions.js"\n phases:\n - duration: 10\n arrivalRate: 10\n maxVusers: 20\n'})}),"\n",(0,r.jsx)(n.p,{children:"After this you get some info about the run and a report is created, which can be used for further diagnostics"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"--------------------------------\nSummary report @ 23:38:40(+0100)\n--------------------------------\n\nvusers.completed: .............................................................. 100\nvusers.created: ................................................................ 100\nvusers.created_by_name.balance: ................................................ 35\nvusers.created_by_name.complex_call: ........................................... 33\nvusers.created_by_name.headers_blocks: ......................................... 32\nvusers.failed: ................................................................. 0\nvusers.session_length:\n min: ......................................................................... 231.7\n max: ......................................................................... 656.1\n median: ...................................................................... 361.5\n p95: ......................................................................... 518.1\n p99: ......................................................................... 645.6\nws.messages_sent: .............................................................. 163\nws.send_rate: .................................................................. 29/sec\nLog file: reports/report.json\nReport generated: reports/report.html\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},2307:(e,n,s)=>{s.d(n,{Z:()=>r});const r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAEsCAMAAAAM8ycIAAABPlBMVEX///8AAACgoKD/AAAAwAAAgP/AAP8A7u7AQADIyABBaeH/wCAAgEDAgP8wYICLAABAgAD/gP9//9SlKir//wBA4NAAAAAaGhozMzNNTU1mZmZ/f3+ZmZmzs7PAwMDMzMzl5eX////wMjKQ7pCt2ObwVfDg///u3YL/tsGv7u7/1wAA/wAAZAAA/38iiyIui1cAAP8AAIsZGXAAAIAAAM2HzusA////AP8AztH/FJP/f1DwgID/RQD6gHLplnrw5oy9t2u4hgv19dyggCD/pQDugu6UANPdoN2QUEBVay+AFACAFBSAQBSAQICAYMCAYP+AgAD/gED/oED/oGD/oHD/wMD//4D//8DNt57w//Cgts3B/8HNwLB8/0Cg/yC+vr5fX1+/v78fHx8/Pz+fn5/f39+np6cAnnMvLy/Dw8M30NEkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAeO0lEQVR4nO2dC5qsqLKFdU/D+eQ4ULTr3vlP4MgjAlDwlT6QXH9/u63EUKjClYBGhFUFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICbkPVIJ9uN5qJLf/Lpmn3N2GsPwD3Irh2R9UaFLAikF96HvRd8P+yzB+AepLnGO7nNfEEgQngfMCKAMrACkbLqellXVa2ubKE+NV0t1ff6uO36cTvIumtYEvxpEGa/mqu19KFS+2oxuN3VOErVeiZH59NQadcMtcYz4CMAeAw3gnRS9J5Axku27cR4udb90Ne9nowNTdfxcfaTlMPQqBmaFN4HPpxLRrmMPwzufBoqHUecYUQNZGxA+wB4Di2Q8TrsK3Pts0Ck2dqCrhr0RU0CCT9VWgrC+6D3NLUrGfQqZ3Dns6expWZKJurBr9DuA+A59F0sPaVR17UnELVtuqrVl2lfD+YHurLDT2b0EN4HfbKWvv51Sde0fGBPe2ypqa5VqnMGtA+A59B3sfTVar7E5wIxDOaaJkm4T63sxt3CqIA/2Au+dSWDWVrw+cx5bKm2H6yqyGAIVisAPIHkG1EpgbRqcTBUiRFkXDYMPIK4DzSCuJJKLdjrls/HqFJdnegGc2ZnoPcB8BxTgej/d04gFa2nE2sQPY0a7AjiPuglzLgG4ZJBX+jjUbU/JnDpWF1vtcAVtv4nAB5hKhDRqXu1nkCarh9aKcx9KxHcxVKfhroZd0up71f9P3+gu1i8e1xf2LtYdD4Fl6rbvMIMHGTA+wB4jqlA9PONURgsEP1YQj/RsHsM/KnvajlOnMaxpOta/lDTcxAu6f3nIIIu+56fg/Rm6dE6gx7PQQAAAAAAAAAAAAAAAAAAAAAAAABQNMpLoqkG59JtChjlPdEJ5T6BoG3we4iub/u6qVSikFZ5hlMB7a9F2/Y6hQjSeICfY9DhPTZkQkWMBgUqysj4bkvxQOMAyANpMugIOSkIc+tgigV+ETWz0h7agw3/4QJV5IkCAgG/yLgIN9MoGkC4gKLwLBAI+E1amx2knxSQQHoTFgSBgB9FJ/zo60mBQk+xhrbtIRDwk2gh6DwFdoblChTSS5fmC6QGeXLjpVP5l0h/NFVFMld/9PtY3V4NduxM9b+Q3T+OyYWj8wmaer0C89G0ZjqC1Pw/vyDy81G700/4exXfhBZIWx+dXiRz9fdDmH1fMxfIvlT/uwUyVqCeC6qG0BMPLtA0tRg/C86sZpkJZImz7VDx9yc8DyWQgRatxw6vErn6g+z7pmQukPThMXYLRKcy1wsNKxAusKg8g3NXEwjk3RWfiNSp+HTlNoMfJ7l3mfP7Rl1UQn/iUjpcb6RvrZL2d43Ovm8eyY1n5eT8nIY/PNwcxm1Yy/V/Mboj/m00PtsOFSd5RiD2uTJfnJTkPsic39SyH4RfSocrRok5a520fxSUFHS/aPz25uT8nIY/PNwc5gSykuv/Yh7oCLCBnf3yOaFK2Um7AKGLM0xyrzPnS5u+siVh8JzM5ep31voitgKpTHrwwaXJDNLwe4frcieQ5Vz/VwOB5Mmufvkovq5S1tKmI/a/vd2iWQo7O1cXKHlreIn19c03nnJpa72PBKJOKKSXaDlIw+8drstdG5Zz/V8Nplh5VvyEQNQriXQSb744Kcl9mDmfBMKl9nDK1R9as0CUFMaTueT8nIY/PNxWMheIYZLr/2ogkDwrXhDIZyNbm0SYu1hqQsMXZ2WS3HuZ8z2BBNnzvUSyE2sWyPhDW1fJEcRd8CmBRHP9Xw2mWHny0AhinoNQmn1Kcu9lzvcE4krd4VVVVRNrJ5BGqtu93hrEpuEPD6fqbRvWcv1fDQSSJ08JRN0r4jT7lOTepdEPRhAu9Q6vqmpirQUiBy0a/d3Pqfpjd7HsAS7V/2qu/4vBFCvPih+5i2U2oyA4fb59DsJ58oM1CJf6h1dTa/V/lX2fTfjsdeQ5iD3As1rL9b8ZG4Ju7gYIW5V3lnhMOgSSZ8VFjuyPeslSCLoULd8OaGonkERMepEd8TrmA0CB/TLcta6O104h6J5Kx4WSG/YSMekFdsTbiN5zKq9feuMv8ixS+gKR3kQtFZOOKdajFX+qxE3ZmwUScTbvmtScKDoSfOntfrm7e0Uh6LWQ1kdxVId7a1kqJh0Cea7ipccWdwtk7my+TSDsyL7k7T53d48I5Gp3dwpB72TfNkoO6j6DJ5BETHp5Q/k7+Eyf90323y4QvZnOM9YFwo7si+7qM3f3mEAWjl9pxGb4prJ6+iJFNRVIJCYdAnmADc+9nxGIenhBCTlJIO146bADO3uae/dM2+kZQnd39RhktPq/ZW9373jjJH+NuzuFoLf10HeDJ5BkTDqmWDdXPBs64k/5HhtB1AO6nh6nq1y2WgfkwE6e5mwlxewME3f3zliteLt7xxsn+dPd3YMQ9LE1wvp2NUH90Zj0f2P3PvPv30N22vQBu4TX1NRuf0z6386rZQo7m5vFalOTQLwQw06wl4ezkmJ6BmdtHsNZgax4u3vHm0v/bHd3DkHXChHjVtF0A+9fiEkHtxAdOhLPwHf1y5/iq6axszk7lVuBSLcmkIL9BJ3VWDg5g7M23ogkkGVvd+94I8nT3d1tCPqgngc2NG54z+OXYtLBtXzma3KtjQUHkbsFQs7mZibU2q/RrjaPmsmBnTzNnZUU0zNM3d1JIMve7t7x5vI83d2dQtB16Dnp2HdYWYhJ/8GlwH12iWnVivfUgkD+NrKx6RrPFTcYQWSrLnR2YF8aQfhSm7i7k0CWvd2945MCec7d/Reu00cqjq/I0xMrx+0jiP1hugbRc3J2YF9bg2gm7u4skEVv95lA4O5ePsfGDsNTApndxRoLPHd38jR3d7G0I3twhom7O90FW/Z2nwkkK3d3cD5Hhw7LE3exDNPnIOo+Fjuws6c5WVlH9uAMobu7nvdrqyVv95lAznd3PwamWBfYJWdW209Y4hfXK3NCQyBn2yUGDjuz+l2BPOvtfpjyOuJJNj4m30Bx/ZKFt/sBiuuI5/hqzTEF/ZIJmGKdYpdYdRw/IQSSCRDI93Z7blhBII9BN95oG2RvqBaTNoDjxNXxdZYR9MvZUNIG2gbZGyokbbiGU9cdPuiXk6GkDZy8YXLXeTFpQxkznbsrPnTLClOsRyHnZJfWjkDShpNPeHDogECewyRt4K3L3lCtJW0Auzl/1RGCfjkfk7SBt5y9QYGkDadyxaojBP1yBeQb6XwkyZt4OWnDi2c6D1QcGzpOrxgCuYTexaSbAo5HQdKGU06YytYDgWQPJW0Ikjc4peSZtOFl/yLrjkvq2Z+0AaxBSRs4eQNnb6D9SNrwHRevyiegX87GJm3gbZi9YTlpw+tmOvdXvCIPTLGyh5I20DbM3lAhacMXJ1y/pwuBlAo6YoVowp7rQb9kAjpikbk27lBHhX7JBkyxFtg+dmCKVSoQSIr5I4+FwQMCKRV0RJRH1h0+6JdMQEdEeFwe6JdswBRrwq6Z1ZkVh0AgmQCBBBwdOyCQ/KFY9EoYx0TKFk/7EZO+RuSRx2NtQb+cDcWit500/iUqIr112ewQk77CY488oqBfToZj0fu+cg5YA79VFzHpi4bzweOmilNAIJdgYtKdQARHoiMmfcEwPbOCQAqCYtKdQNwAgpj0JXJZeHigX86HYtKdQNwAgpj0BbJTR4V+uYbWe0Go/oFVgZj0BcMFeWCKVRb2be0NfXJ7EJOeMNS3q5KDBwRSDF4sOglEeAtzxKTH/o2qMD9//l0VX37kH2LSz8fFojuB+EJATPqcbBYcEX65X66BY9HbUQutuZvlLcwRkz4x3LYexxSrGCgWXbKHSXDnCjHpAWf7WEEgpfJTHWFVkc/N3DQ/1S858ysd8bF3c1+hjup3+iV7fmGK9Zk/6cj+N4ZAMqF8gdzihAiBlErpHZFNgMdOSu+X11B4R6T9dDOn8H55D+VOsT5LAYLZ/8YQSCaUKpCZNsLRI/vfGAI5Hf896a1fYPmZmPRIdOCnejR+9gAF9svDiNq8krAZt0I5ZomuHVovuPBHYtKXR47XUFy/3IF6e1QrpGhjO/WwIKTxVJTCuixy0oZfiEn/VP+i7y6/vGJMsXJg6Oq6aetOdnVUIYqmG9irNxRI+THpsVVHMjVJ9r8xBLIb0fVNLfX4IFM2UhiBqMCpZlyJtOSvWHpM+h5xvIJC+uVOVF4fE+/RdgmTZtSFGTiUN6+oay99Q7kx6dFp1Yu1oSmgX+5GDQ1GGm3ir9coFYyL9aHpRoHoRTppodyY9OjIsSqP7H9jCGQ3qwIRZm0yDhyir1kSdHShMekHB4/sf2MIZDdrAmm8tXvT2Rjcttz3pH9UIHlUHs+37ct/iEk/Qt2N6P91sb9eb/XR20eBkxGktJj0+MDx9pWH46398iDSI7K7EzpbtVp6tKIb1Jih1iCC9pcVk56YV925+DlkhynWU7T8tgPR1VLPqyauJsXEpC88DIRAfh49SpzIuzrik7hr9XS7zudd/ZIHrajMolqceNIXdURsRb7tntULeVG/5EJbq6VH3Q992tVkP6+ZYkW1MVUHplg/jEkkqv10xXlnfYlANo4c7xTI3/jfFAhkN/oVUlogfXfeWV/RESVPrP4sk+JX9EtemImViuVIuZocOut5p7qCWNxsOfL4Y3lAIN/jVh6njyBZTTiYuDYW1fGqKdZfSGgHgexGCvpJJN3d95OtQBLSWB483iOQv2V9QCD7oZjAwOnqazLtiHKnVYq/CBOTTPsla0Qtm75vOj/2ycM8OB/4ibrL3mB4U9KGguUxGzpi8si1XzKn79SlL+PjByVt0B5ZKtKWszfQ/nTShscnHD5bw8pPr/gOu5g25uqoIJCDDMOQ2kVJG7SZkgFnb9C8JGlDRBrqvzycwL61iw0eKVsI5BIac39L6cRlb9AsJm3IgE/Ez6ooH6utQ4cll34pDCnU/7U2XPYGU5R10oa9t3NfRnTdsXxIHv1SGo2Rg3VK4ewN1VrShmenWFF1fOZ2p1d8j110Tb4iDwjkEhqrArPh7A2KXJM2bHwY+F6BbLplFQECOR+6ZUVhtjZ7g2ExacNDxLVRzuTqwMyKgUCOMAipY9Kjrib8/NB/0N6QaW5JG+IJFz5j8f1tueRfbOj494ekDZciO9FoIvtclIi9/vvgmeBi0obbp1ixUWMpA/vLplgLDwO3nhACOcKSjwklbaAliMveYMgnacOBSdWrBLK4KIdArqRLPib0kjbwDSvO3mAt0kkb7qNo73XFnoeBS0AgR4jOrb7j1o5IzKyK4egtqwgQyBH6TibXIAe5c4oVWZLfU/H1J1R2m+SBKdaVdMR5p7xJIPHXomXkBPalXWRmFX8YCIG8jBs64hv33Fdw4syKgUAy4fKOwLrjEBDIbpqhaojzznrtFCs2eHx1wpPsTjvh0h3dryqGQHbT9S9bg8Ru6F7shHirQA7d0YVAXsZlHREVRzlzq4tmVgwEcjqUzL2VlNRdBNHrN8akR2ZWG16L9iKulgcEcj4Ukz50YuiVBNpO+gK5LSZ9dV6194QX2H11wti64/SKIZCzoZh07curfLL6vvIEcldM+r47uq8TSGrdAYG8g6YL50/u51ti0otedVRxN8SLgEAOkk5ropBiqHtR04vXnECuj0lfu6P7eq5fd/hAIIdQmbGGSqRE0tTDUHfqDSJGAr5Aro1J3zez2nDCa+32nzCy7ri0YgjkCCqmYxSIFKnd/agEUXG2n6lALopJ37Ms33TCy+2+FsjlFUMgR1CvCBkF0sYfFAqT7Ucpwb4e3ZtXXRWTHr2j++U5M+SumRUDgRxBXfY6JCq208akayXMBXJJTHps6Dh6rrz/sTb+/d1QH2LSD2JHkOj7QSgmXb9E3eZq8ARyQUx6emZ1+d3Wb+32nVCvOJbHDkyxsqCpm7Zu+y7mrEgx6W0tWr1IH+dTo3nrjj01Jn3xjm5RAiFVLLohQiB50Oi485g+XEw6uZpIfg+CtTgtJr34AA/HPQuOCBDIQVo3JpzC7o6ITqzKlMdj6qggkO946j3pW3OSvHuKRVOqv7sr9oFAjmDT+MTvYh08pfrfpl7bMXS8WCD0FHBnnjcIJAvqTj/lOF0gG9g2dLwbzxPx6aZAIIeoB1GL1HOQg6dcN0lkYD+vDVlw+6PAZSCQI+in6F174xTrwLvKF8930PDymU7KkwRTrFeh7tmqQeQugcS1sT52vE0gaS9dCORVmIca/Zl+COlTFZ9G13GbE/t2IJAj2Id+Q79stodERxwcOt5JfvKAQC6AkjZUKkXppECxkLRh4mOVHDqedYm6qOJT3NgxxXqelcRxlLRBWdZdWGD2b0raEF+T73RCfI1ArCbss48bK14FAtnNSuI4StqgHpOILihQLCZtsCSGjkJnVsGAkcnEygGBXIJ2c5cNv5nQvaNwNWnD4tBRBP4Ykc1aIwUEcglSaE04gagCxVLShs/moePFUyxvkaHjnm6r+KAhBLKfVruZyE4mb2I1OtywdQJpyNs9nbQhMXJEh46XCuRvvhCHQMqjVbFO4zJEyNS7PFXSBhpEXIEmnbSh+FVHhg85NgCB7EbH0upgcymiBjppQ69e9GkFIjwlxZM2fD5zgVz4KzzCK/UBgeynU1e7SSwau4tlkzYIG1nYcBYHQzxpw0Qg/z43J0P4d61dJFGo3fdvYxvPtkPShuvQywmTvz3217NJGwZFo4aRPpiJRZM2fAKBrDfhXWuQuYfVdT5WWIM8T9ea7//ECEJJGxR6iuUXVImkDSSQslYdipk6XjO5MkAgu5FinEBpaTRyvtclbaiMQIICbRFJ2mAEcnHD72dh6HgLEMhu2rqT+l5UU5/trJj9hGOX3ZbBI/vfGALZTyuEVoa+3XsWhQkk9v6OO3ysIJCMWHwBwl5K6oiINN44u9KU1C+vppSO2Dp0vIVS+uX1FDHFimhjZejI/jeGQDLh9QKJDh2rY0f2vzEEkgnv7oiYNl49s2Le3S8F8dKO+EsNHWXI47X9kjMUgu6Hovuxh5tj0tPkMcVKKWPPA8Hsf2MI5GwoBN0PRTfB6bR/U0z6IjkIJCWOXbmm8/+NIZCzoRB0LxTdBqdrtsSkv4Fvh4638LZ+eQkcKaW3fnD6akz6Kyh51RHyrn55DVJ4Wz84fSkm/QUTDmO3PnRgigWWoBB0vQ2C09Mx6ep/2V8u/xIPA++o+FQ7CORJyM3XbKWopgKJxaTf28RjzO5bVRlmsjqXV/TLy6AQdLP1g9OrVEz6GzriJ5YcM/Lvl9dBIeh26wWnK+Ix6WNHjNwbh+7/W401n0+rvjvfVbHmiEnPHgpBp60LTtdEY9KrrNcgsQeCt1R8oR3WII9BIehBKLqbYsVj0vPtiN+5oRsn1355LRSC/l8Qiu4JJBqTnmdHJBx0f0geefbLT5LdFCs+dGwUB6ZY4GSyEkhy6HjyAcwzFUMgmZBHR/BbbH552RGQR7+AHDoioYxfW3WEZNAvQPHwFCsd2xGIA1Ms8BDPCWRJG9OhAwIBD/FURyTF8bOrjhAIJBOe6YhkPDnUYYFATodi0ftxq7159QNDwfsziUnfuOo4v+JLT4gpVvZQLHpf94P2V5Ta52Rw+zOISU8rY3nogEDAt8xi0v1xIoeYdDiQ7AECuYSmM6/Y6eupQB6OSY9rA+JIAoFcwjit0m6K7SiTWkiXIOvBmPS/hQxv2c90MMUqiqYeev2X1WFR0iXIeiomfW1Fnv11CoGUhIpFdwKxRWb7REx6ShlYd2wAAjkfHYvuplialt5ReGtM+l966LiiuhKBQE7HxKK7RbqmJ4HcF5OenFRF4skvfk96+h9i0n8OikXvxPg/Ke2b2gT9oe+JSd+bVzr7pQDWIMVAsej0oHBQDwYbd/Pq+pj09HocE6vdQCAn416LTq4mOgbdu3d1aUw6nKtOBgLJhDOmWOmh4+AJL7fLv2IIJBO+FEj6KeCmoSP76xQC+XW+6AhMqy4EAsmEox1xfFoFtgCBZMKRKdbq0FHOTAdTrF9np0C2hTuVc51CIL/Ono5IawMTq7OBQDJha0eknasgjiuAQDJh0xRrrzbKmelgilUQwviVUPKGqvUCpqqDSRuO+eWWc51CIMXQdlILRHTtoD0Th04MvdPCUtKGBMk1B27mXg4EcjZ9b2I+rEpM4oaK3qSzO2nDXr9ccC4QyAWEAtmRtGE67qcHjm3iKGemgylWSWhtNF1bteNwMdS9qHVwiGJz0oZF56rfu04hkJIwIhDm1bZD3fVDvy1pg+VQ0kNwCRDIBbhF+iiBQYVG7Uja8O20CpwKBHIBZuAwSrA/bEnakL6VO9XG7810MMUqCSUCk89E6UJLol1N2pAcOf5OTOSQ+oekDUjacCPBCKITN7j3QMeTNvz9xQWCadXTQCBnM06f6qZtx6FCrUGEkoRo+5WkDTGBQBw5AIGcjaSkDSlXk0jShr+JQNa08XtLAaxBfptAIOvmv3edQiC/DQkE06rcgEAyocZbOrIEAsmEh9+TjooTQCCZAIHkWTEEkgnoiDxBv2QCOiJP0C+ZgClWnhVDIOdjY9L5+SA/MTQcikkP+b3rFAIpBopJ51B0Dk43HIhJB8+BfjkbiknnUHSOvTW7d8akg2dBv1yAlgTPn0KB7IpJT/F7Mx1MsUrCurvbUHQKTtdsjklf5PeuUwikJCah6DY4XbMck761N862Q8XfnxBsxwhEVCYUnYLTNcsx6cVcLr9XMdiBiyhs68GFFvK+REx62Bupn4/anX7C36sYnIRLHDcKxAWna5Ix6SBPbr52fgKtDQpFn4wg8Zh0AH4FiknnUHQOTjdEY9IB+BU4Jj3lahKJSQcAAAAAAACAG5i+q63q+qrqx0/qvpdZy4iKS1xBYDdf66htOzufl57LN5xVPNS0iOIGKoNufkI+nEpcDTO7dlZxpIVcHG8gN4cPiDeQS91eOiJxQi7mH/jQuB24Afeutt5mXhzGq7Kv+6FRj06kaEeGiku4ILRzbvV13zbjeZpxK/TDl7gdG9J2YqhqaZVzJTWwUrfe9PUX2LEbP5W4GgI7156VFnJxvIHcHNfSaAOp1NtLR7jIg+CEXA91hTs0bgfuwPrFD+Y7SvVvI+2dLSG9W1xU4r67Ajt2q6cS8xRGJO3CE+riwFAx6HAV67iv/Wa6WcXhK7TGElfD3E63Z6WFXBxvIDeHi+MNpFK3N6yY/9SzE3JXuEPjFYObcN9G+rGibMyVqR8rOu8tW+IEErUzNJ3Zo99HsmDH2bT1NjBU0FVgGygbYx7Y0dW20kCvPcstnBhOG8jNCVo6b6D/d2X52COcQCaGXn2mK9yJk3bgeuzfXc1oVBfWrXVJUe4ptTAzei6hgtAufMPb+AVMV8OwaMcBW3obVFzRFcUNHK8Jc1kEduTGTyX/uRrCirk9ay0MDKcN5OYELZ030Pu78t+XjnCRBxNDro+6gvak7MAt0NdUbT0b6YtRO2pJM+HlEioI7cI3vDX0PhKh5s5pO23I27DiyptG8Fe2vv4mdtaNn0r+4xpCO27PSgtDw1kDuTlBS+cN9P6utHVHUOTB1JDrs11Be5J24Bb4765dUfR81+99PeEIS9QMJLAL3vDWqN4VakXaqfTySTtjyNtZxRy0wsuCppvZkRu/EwjVMLGj9qy0MDCcN5CbMxdI0ED/7zoVCEceTA25PtsVPDSl7cANuC8mNbOQzWT+YL2B/ZJ2aue/4U3Y7/+6FvrNPSk7MqTttGL2rNQN7LvBWwlMTjiaelOsWANde1Za6BtGGsh/r9kUK2yg/3edTLH+cy81mhhSfdQVtGfJDlyPmSCon3TgSDtZgerOCkv6mZ27aBqv9xq7eI7ZsWHjrTj8atyNGn3v0z4YaUI7duMPl8CJX8QsEZZb6AxjDXR/r+kiPWwg27ktHTFpsjOg+qgrwqrmduAmzITd3rzp9TWkB3h1I8V+1bsSKpjY8Rveett7vdqoqU/CzhnSNjT0b3jp+9CKZvyWDu2cGz+VUA2T81F7VlvIhvEGVnSdei2NNbCaCYSO4CZPDKke7grak7ADt+De1aaeTolKCFXKT91U+qzGew7HBaGdc6vv9INEvTYYJ9tD0o4N+YDQkJcg1ECFUtbEjt34qYRqmNhRe1ZbyIbxBnJz3LPPaAOp1NvLz1ptkycnpHq4K2hPyg7cAfnFD8I4MFjvCee3QQ4VtoQKJnbk4NGyi8h4Pjkk7djwPzpgakiJJdhxvzLX39Qu5WoytbPtWW+hLU400DUn9MaZNpBK/b0TV5PQ0LWLukJGK3Z2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAVfwPiXHQlFX4yQMAAAAASUVORK5CYII="},1151:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>i});var r=s(7294);const t={},o=r.createContext(t);function i(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.21871dd6.js b/assets/js/main.f193e5d5.js similarity index 99% rename from assets/js/main.21871dd6.js rename to assets/js/main.f193e5d5.js index a460b8cc4..3926f38f8 100644 --- a/assets/js/main.21871dd6.js +++ b/assets/js/main.f193e5d5.js @@ -1,2 +1,2 @@ -/*! For license information please see main.21871dd6.js.LICENSE.txt */ -(self.webpackChunkstakeworld_io=self.webpackChunkstakeworld_io||[]).push([[179],{997:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});n(7294);var r=n(8356),o=n.n(r),a=n(6887);const i={"0e0b553a":[()=>n.e(669).then(n.bind(n,8981)),"@site/docs/snapshot.mdx",8981],"14eb3368":[()=>Promise.all([n.e(532),n.e(817)]).then(n.bind(n,853)),"@theme/DocCategoryGeneratedIndexPage",853],17896441:[()=>Promise.all([n.e(532),n.e(918)]).then(n.bind(n,5811)),"@theme/DocItem",5811],"1d027521":[()=>n.e(537).then(n.bind(n,4988)),"@site/docs/validate/ledger.mdx",4988],"395bcc0c":[()=>n.e(626).then(n.bind(n,297)),"@site/docs/validate/1kv.mdx",297],"3e44a806":[()=>n.e(967).then(n.bind(n,9732)),"@site/docs/validate/disaster.mdx",9732],42507444:[()=>n.e(35).then(n.bind(n,2227)),"@site/docs/bootnodes.mdx",2227],"539febe6":[()=>n.e(882).then(n.bind(n,7541)),"@site/docs/dbsize.mdx",7541],"5e95c892":[()=>n.e(661).then(n.bind(n,4942)),"@theme/DocsRoot",4942],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6880cad0":[()=>n.e(446).then(n.bind(n,1336)),"@site/docs/nominate.mdx",1336],"8fb24621":[()=>n.e(585).then(n.bind(n,8849)),"@site/docs/validate/monitor.mdx",8849],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9fbdee33":[()=>n.e(568).then(n.bind(n,1211)),"@site/docs/pool.mdx",1211],a1331aac:[()=>n.e(999).then(n.t.bind(n,6992,19)),"~docs/default/category-docs-tutorialsidebar-category-validate-c9d.json",6992],a7bd4aaa:[()=>n.e(518).then(n.bind(n,604)),"@theme/DocVersionRoot",604],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,163)),"@theme/DocRoot",163],b29f7657:[()=>Promise.all([n.e(747),n.e(169)]).then(n.bind(n,511)),"@site/docs/chain.md",511],bd00a780:[()=>n.e(693).then(n.t.bind(n,3769,19)),"/opt/stakeworld-website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],beb33250:[()=>n.e(598).then(n.bind(n,7078)),"@site/docs/tools.mdx",7078],c4f5d8e4:[()=>Promise.all([n.e(532),n.e(195)]).then(n.bind(n,6527)),"@site/src/pages/index.js",6527],c96a2d03:[()=>n.e(423).then(n.bind(n,9e3)),"@site/docs/validate/logs.mdx",9e3],e07f5a68:[()=>n.e(683).then(n.bind(n,1499)),"@site/docs/validate/hardware.mdx",1499],e35d94cf:[()=>n.e(847).then(n.bind(n,3441)),"@site/docs/validate/validate.mdx",3441],f5da855d:[()=>n.e(723).then(n.t.bind(n,5745,19)),"/opt/stakeworld-website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],fd15b893:[()=>n.e(961).then(n.bind(n,640)),"@site/docs/rpc.mdx",640]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(5304),c=n(9656);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(868).then(n.bind(n,4336)),modules:["@theme/NotFound"],webpack:()=>[4336],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},f=[],p=[],m=(0,u.Z)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),o().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;return delete o.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(a,{...o,...n})})}})}const f=[{path:"/docs",component:d("/docs","2ab"),routes:[{path:"/docs",component:d("/docs","767"),routes:[{path:"/docs",component:d("/docs","f8e"),routes:[{path:"/docs/1kv",component:d("/docs/1kv","1b1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/bootnode",component:d("/docs/bootnode","3b3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/category/validate",component:d("/docs/category/validate","a0f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/chain",component:d("/docs/chain","c39"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dbsize",component:d("/docs/dbsize","32f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/disaster",component:d("/docs/disaster","aad"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/hardware",component:d("/docs/hardware","5ed"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/ledger",component:d("/docs/ledger","537"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/logs",component:d("/docs/logs","357"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/monitor",component:d("/docs/monitor","093"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/nominate",component:d("/docs/nominate","b20"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/pool",component:d("/docs/pool","b02"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/rpc",component:d("/docs/rpc","a1b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/snapshot",component:d("/docs/snapshot","393"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tools",component:d("/docs/tools","862"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/validate",component:d("/docs/validate","67b"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/",component:d("/","a38"),exact:!0},{path:"*",component:d("*")}]},5351:(e,t,n)=>{var r,o;!function(){var a,i,l,s,u,c,d,f,p,m,h,g,y,v,b,w,k,S,x,E,_,O,j,C,P,T,I,A,N,L,R=function(e){var t=new R.Builder;return t.pipeline.add(R.trimmer,R.stopWordFilter,R.stemmer),t.searchPipeline.add(R.stemmer),e.call(t,t),t.build()};R.version="2.3.9",R.utils={},R.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),R.utils.asString=function(e){return null==e?"":e.toString()},R.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var s=R.utils.clone(t)||{};s.position=[i,l],s.index=o.length,o.push(new R.Token(n.slice(i,a),s))}i=a+1}}return o},R.tokenizer.separator=/[\s\-]+/,R.Pipeline=function(){this._stack=[]},R.Pipeline.registeredFunctions=Object.create(null),R.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&R.utils.warn("Overwriting existing registered function: "+t),e.label=t,R.Pipeline.registeredFunctions[e.label]=e},R.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||R.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},R.Pipeline.load=function(e){var t=new R.Pipeline;return e.forEach((function(e){var n=R.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},R.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){R.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},R.Pipeline.prototype.after=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},R.Pipeline.prototype.before=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},R.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},R.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(ae&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:al?u+=2:i==l&&(t+=n[s+1]*r[u+1],s+=2,u+=2);return t},R.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},R.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new R.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new R.TokenSet;o.node.edges["*"]=l}if(0==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new R.TokenSet;o.node.edges["*"]=s}1==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var u,c=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?u=o.node.edges[d]:(u=new R.TokenSet,o.node.edges[d]=u),1==o.str.length&&(u.final=!0),r.push({node:u,editsRemaining:o.editsRemaining-1,str:c+o.str.slice(2)})}}}return n},R.TokenSet.fromString=function(e){for(var t=new R.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},R.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},R.Index.prototype.search=function(e){return this.query((function(t){new R.QueryParser(e,t).parse()}))},R.Index.prototype.query=function(e){for(var t=new R.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),l=0;l1?1:e},R.Builder.prototype.k1=function(e){this._k1=e},R.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return R.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},R.QueryLexer.prototype.width=function(){return this.pos-this.start},R.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},R.QueryLexer.prototype.backup=function(){this.pos-=1},R.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=R.QueryLexer.EOS&&this.backup()},R.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(R.QueryLexer.TERM)),e.ignore(),e.more())return R.QueryLexer.lexText},R.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.EDIT_DISTANCE),R.QueryLexer.lexText},R.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.BOOST),R.QueryLexer.lexText},R.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(R.QueryLexer.TERM)},R.QueryLexer.termSeparator=R.tokenizer.separator,R.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==R.QueryLexer.EOS)return R.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return R.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if(t.match(R.QueryLexer.termSeparator))return R.QueryLexer.lexTerm}else e.escapeCharacter()}},R.QueryParser=function(e,t){this.lexer=new R.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},R.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=R.QueryParser.parseClause;e;)e=e(this);return this.query},R.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},R.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},R.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},R.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case R.QueryLexer.PRESENCE:return R.QueryParser.parsePresence;case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new R.QueryParseError(n,t.start,t.end)}},R.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=R.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=R.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new R.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new R.QueryParseError(n,t.start,t.end)}switch(r.type){case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new R.QueryParseError(n,r.start,r.end)}}},R.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new R.QueryParseError(r,t.start,t.end)}if(o.type===R.QueryLexer.TERM)return R.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}},R.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new R.QueryParseError(r,n.start,n.end)}else e.nextClause()}},R.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},R.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return R})?r.call(t,n,t,e):r)||(e.exports=o)}()},8121:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>i});var r=n(7294),o=n(5893);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},9717:(e,t,n)=>{"use strict";var r=n(7294),o=n(745),a=n(3727),i=n(405),l=n(6136);const s=[n(4313),n(984),n(2251),n(9957),n(6930)];var u=n(997),c=n(6550),d=n(8790),f=n(5893);function p(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(1514),h=n(9962),g=n(9524),y=n(107),v=n(5463),b=n(626),w=n(8181),k=n(246),S=n(3905),x=n(3647);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),r=(0,b.l)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,c.TH)();return e+(0,S.applyTrailingSlash)((0,g.Z)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function O(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.h})]}),n&&(0,f.jsx)(v.d,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(E,{}),(0,f.jsx)(x.Z,{tag:k.HX,locale:e}),(0,f.jsx)(m.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const j=new Map;function C(e){if(j.has(e.pathname))return{...e,pathname:j.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return j.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return j.set(e.pathname,t),{...e,pathname:t}}var P=n(8121),T=n(694),I=n(1270);function A(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,I.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),A("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function L(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?A("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=A("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(c.AW,{location:t,render:()=>e})})}}const D=R,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",B="__docusaurus-base-url-issue-banner-suggestion-container";function z(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var K=n(5304);const Y=new Set,J=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!X()&&!J.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Z).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?G(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!J.has(e))(e)&&(J.add(e),L(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.B6,{children:(0,f.jsx)(a.VK,{children:(0,f.jsx)(W,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:n})}));else{const a=o.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{a.render(t)}))}};L(window.location.pathname).then(l)}},694:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>f});var r=n(7294),o=n(6809);const a=JSON.parse('{"@cmfcmf/docusaurus-search-local":{"default":{"titleBoost":5,"contentBoost":1,"tagsBoost":3,"parentCategoriesBoost":2,"indexDocSidebarParentCategories":0,"maxSearchResults":8}},"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-Y6WZJWKT31"],"anonymizeIP":false,"id":"default"}},"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"nominate","docs":[{"id":"bootnode","path":"/docs/bootnode","sidebar":"tutorialSidebar"},{"id":"chain","path":"/docs/chain","sidebar":"tutorialSidebar"},{"id":"dbsize","path":"/docs/dbsize","sidebar":"tutorialSidebar"},{"id":"nominate","path":"/docs/nominate","sidebar":"tutorialSidebar"},{"id":"pool","path":"/docs/pool","sidebar":"tutorialSidebar"},{"id":"rpc","path":"/docs/rpc","sidebar":"tutorialSidebar"},{"id":"snapshot","path":"/docs/snapshot","sidebar":"tutorialSidebar"},{"id":"tools","path":"/docs/tools","sidebar":"tutorialSidebar"},{"id":"validate/1kv","path":"/docs/1kv","sidebar":"tutorialSidebar"},{"id":"validate/disaster","path":"/docs/disaster","sidebar":"tutorialSidebar"},{"id":"validate/hardware","path":"/docs/hardware","sidebar":"tutorialSidebar"},{"id":"validate/ledger","path":"/docs/ledger","sidebar":"tutorialSidebar"},{"id":"validate/logs","path":"/docs/logs","sidebar":"tutorialSidebar"},{"id":"validate/monitor","path":"/docs/monitor","sidebar":"tutorialSidebar"},{"id":"validate/validate","path":"/docs/validate","sidebar":"tutorialSidebar"},{"id":"/category/validate","path":"/docs/category/validate","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/docs/nominate","label":"nominate"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.0.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.0.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.0.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.0.1"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.0.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.0.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.0.1"},"@cmfcmf/docusaurus-search-local":{"type":"package","name":"@cmfcmf/docusaurus-search-local","version":"1.1.0"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.0.1"}}}');var u=n(5893);const c={siteConfig:o.default,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},d=r.createContext(c);function f(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},3256:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),o=n(6136),a=n(1514),i=n(3905),l=n(3776),s=n(5893);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(p,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(a.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const f=e=>(0,s.jsx)(d,{...e});class p extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??f)(e)}return e??null}}},6136:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},1514:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var r=n(405),o=n(5893);function a(e){return(0,o.jsx)(r.ql,{...e})}},3699:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),o=n(3727),a=n(3905),i=n(9962),l=n(2735),s=n(6136),u=n(5893);const c=r.createContext({collectLink:()=>{}});var d=n(9524);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...v}=e;const{siteConfig:{trailingSlash:b,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,d.C)(),S=(0,r.useContext)(c),x=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>x.current));const E=f||p;const _=(0,l.Z)(E),O=E?.replace("pathname://","");let j=void 0!==O?(C=O,y&&(e=>e.startsWith("/"))(C)?k(C):C):void 0;var C;j&&_&&(j=(0,a.applyTrailingSlash)(j,{trailingSlash:b,baseUrl:w}));const P=(0,r.useRef)(!1),T=n?o.OL:o.rU,I=s.Z.canUseIntersectionObserver,A=(0,r.useRef)(),N=()=>{P.current||null==j||(window.docusaurus.preload(j),P.current=!0)};(0,r.useEffect)((()=>(!I&&_&&null!=j&&window.docusaurus.prefetch(j),()=>{I&&A.current&&A.current.disconnect()})),[A,j,I,_]);const L=j?.startsWith("#")??!1,R=!j||!_||L;return R||g||S.collectLink(j),R?(0,u.jsx)("a",{ref:x,href:j,...E&&!_&&{target:"_blank",rel:"noopener noreferrer"},...v}):(0,u.jsx)(T,{...v,onMouseEnter:N,onTouchStart:N,innerRef:e=>{x.current=e,I&&e&&_&&(A.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(A.current.unobserve(e),A.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),A.current.observe(e))},to:j,...n&&{isActive:h,activeClassName:m}})}const p=r.forwardRef(f)},7325:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n(7294),o=n(5893);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},6875:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},2735:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>o,b:()=>r})},9524:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),o=n(9962),a=n(2735);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a.b)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},9962:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294),o=n(694);function a(){return(0,r.useContext)(o._)}},1610:(e,t,n)=>{"use strict";n.d(t,{OD:()=>a,eZ:()=>i});var r=n(9962),o=n(6875);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},1048:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294),o=n(8121);function a(){return(0,r.useContext)(o._)}},1270:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const o=n(6136).Z.canUseDOM?r.useLayoutEffect:r.useEffect},5304:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},9656:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>i});var r=n(7294),o=n(5893);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:l,children:t})}},868:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>h,gA:()=>d,WS:()=>f,_r:()=>u,Jo:()=>g,zh:()=>c,yW:()=>m,gB:()=>p});var r=n(6550),o=n(1610);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=a(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const n=i(e,t),o=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const s={},u=()=>(0,o.OD)("docusaurus-plugin-content-docs")??s,c=e=>(0,o.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0});function d(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function f(e){void 0===e&&(e={});const t=d(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:i(t.pluginData,n)}}function p(e){return c(e).versions}function m(e){const t=c(e);return a(t)}function h(e){const t=c(e),{pathname:n}=(0,r.TH)();return l(t,n)}function g(e){const t=c(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=a(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},4313:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},9957:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(4865),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},2251:(e,t,n)=>{"use strict";n.r(t);var r=n(4798),o=n(6809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},3899:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(6905),o=n(7325),a=n(107),i=n(3699);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var s=n(5893);function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:c}}=(0,a.L)();if("h1"===t||!n)return(0,s.jsx)(t,{...u,id:void 0});const d=(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,s.jsxs)(t,{...u,className:(0,r.Z)("anchor",c?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,s.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d,children:"\u200b"})]})}},4082:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(5893);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},3776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>li});var r=n(7294),o=n(6905),a=n(3256),i=n(5463),l=n(6550),s=n(7325),u=n(3266),c=n(5893);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:r}=p();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(3702),y=n(8181);const v={skipToContent:"skipToContent_fXgn"};function b(){return(0,c.jsx)(h,{className:v.skipToContent})}var w=n(107),k=n(5830);function S(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:o,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const x={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.Z)("clean-btn close",x.closeButton,e.className),children:(0,c.jsx)(S,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function O(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,o.Z)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const j={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function C(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,c.jsxs)("div",{className:j.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,c.jsx)("div",{className:j.announcementBarPlaceholder}),(0,c.jsx)(O,{className:j.announcementBarContent}),a&&(0,c.jsx)(E,{onClick:n,className:j.announcementBarClose})]})}var P=n(2600),T=n(2957);var I=n(3768),A=n(3086);const N=r.createContext(null);function L(e){let{children:t}=e;const n=function(){const e=(0,P.e)(),t=(0,A.HY)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,I.D9)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,c.jsx)(N.Provider,{value:n,children:t})}function R(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(N);if(!e)throw new I.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,A.HY)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:R(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(9200),B=n(1048);function z(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,B.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,o.Z)($.toggle,t),children:(0,c.jsxs)("button",{className:(0,o.Z)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(z,{className:(0,o.Z)($.toggleIcon,$.lightToggleIcon)}),(0,c.jsx)(U,{className:(0,o.Z)($.toggleIcon,$.darkToggleIcon)})]})})}const H=r.memo(q),Q={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.I)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?Q.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(6811);function Z(){return(0,c.jsx)(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,P.e)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(S,{color:"var(--ifm-color-emphasis-600)"})})}function K(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(Z,{}),(0,c.jsx)(V,{className:"margin-right--md"}),(0,c.jsx)(G,{})]})}var Y=n(3699),J=n(9524),X=n(2735);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(4082);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,J.Z)(r),f=(0,J.Z)(t),p=(0,J.Z)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,X.Z)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[a,m&&(0,c.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return o?(0,c.jsx)(Y.Z,{href:s?p:o,...u,...h}):(0,c.jsx)(Y.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},...u,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,c.jsx)(ne,{className:(0,o.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,o.Z)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,c.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(4639),le=n(9003),se=n(9962);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,o.Z)("navbar__link",a),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(ba,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,c.jsx)(ne,{role:"button",className:(0,o.Z)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),p()},children:s.children??s.label}),(0,c.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(ba,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,c.jsx)(r,{...n})}var me=n(626);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";var ye=n(3935);function ve(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t=3||2===n&&r>=4||1===n&&r>=10}(e);function n(n,r,o){if(t&&void 0!==o){var a=o[0].__autocomplete_algoliaCredentials,i={"X-Algolia-Application-Id":a.appId,"X-Algolia-API-Key":a.apiKey};e.apply(void 0,[n].concat(Pe(r),[{headers:i}]))}else e.apply(void 0,[n].concat(Pe(r)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("clickedObjectIDsAfterSearch",Re(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("clickedObjectIDs",Re(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("convertedObjectIDsAfterSearch",Re(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("convertedObjectIDs",Re(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&t.reduce((function(e,t){var n=t.items,r=Ie(t,je);return[].concat(Pe(e),Pe(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function Fe(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function Me(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}function ze(e){return function(e){if(Array.isArray(e))return Ue(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ue(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ue(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ue(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&We({onItemsChange:r,items:n,insights:s,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive;function u(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:qe(qe({},i?{clickAnalytics:!0}:{}),e?{userToken:e}:{}),insights:s}})}l("addAlgoliaAgent","insights-plugin"),u(),l("onUserTokenChange",u),l("getUserToken",null,(function(e,t){u(t)})),n((function(e){var t=e.item,n=e.state,r=e.event,a=e.source;Me(t)&&o({state:n,event:r,insights:s,item:t,insightsEvents:[qe({eventName:"Item Selected"},xe({item:t,items:a.getItems().filter(Me)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;Me(t)&&a({state:r,event:o,insights:s,item:t,insightsEvents:[qe({eventName:"Item Active"},xe({item:t,items:n.getItems().filter(Me)}))]})}))},onStateChange:function(e){var t=e.state;c({state:t})},__autocomplete_pluginOptions:e}}function Ge(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(ze(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],ze(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function Ke(e){return Ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ke(e)}function Ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Je(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Ke(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ke(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ke(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xe(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:lt(),plugins:o,initialState:gt({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(pt(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:Se,onResolve:Se};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=ut(ut({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return et(e)})).then((function(e){return e.map((function(e){return gt(gt({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:gt({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function bt(e){return bt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bt(e)}function wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kt(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Ht,Qt,Vt,Wt=null,Zt=(Ht=-1,Qt=-1,Vt=void 0,function(e){var t=++Ht;return Promise.resolve(e).then((function(e){return Vt&&t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var rn=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function on(e){return on="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},on(e)}var an=["props","refresh","store"],ln=["inputElement","formElement","panelElement"],sn=["inputElement"],un=["inputElement","maxLength"],cn=["source"],dn=["item","source"];function fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pn(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function gn(e){var t=e.props,n=e.refresh,r=e.store,o=hn(e,an);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return pn({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},hn(e,ln))},getRootProps:function(e){return pn({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Kt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Kt(t.id,"label")},e)},getFormProps:function(e){e.inputElement;return pn({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(pn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(pn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},hn(e,sn))},getLabelProps:function(e){return pn({htmlFor:Kt(t.id,"input"),id:Kt(t.id,"label")},e)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&Gt(pn({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var l=e||{},s=(l.inputElement,l.maxLength),u=void 0===s?512:s,c=hn(l,un),d=Ft(r.getState()),f=function(e){return Boolean(e&&e.match(rn))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),p=t.enterKeyHint||(null!=d&&d.itemUrl&&!f?"go":"search");return pn({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?Kt(t.id,"item-".concat(r.getState().activeItemId),null==d?void 0:d.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Kt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Kt(t.id,"label"),value:r.getState().completion||r.getState().query,id:Kt(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:p,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:u,type:"search",onChange:function(e){Gt(pn({event:e,props:t,query:e.currentTarget.value.slice(0,u),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=nn(e,Jt);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=Ft(o.getState()),t=n.environment.document.getElementById(Kt(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},l=function(){var e=Ft(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,l=e.itemUrl,s=e.source;s.onActive(en({event:t,item:n,itemInputValue:i,itemUrl:l,refresh:r,source:s,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?Gt(en({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),l(),setTimeout(i,0)})):(o.dispatch(t.key,{}),l(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var s=Ft(o.getState()),u=s.item,c=s.itemInputValue,d=s.itemUrl,f=s.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(f.onSelect(en({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:d,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==d&&(f.onSelect(en({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:d,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==d)return f.onSelect(en({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),void n.navigator.navigate({itemUrl:d,item:u,state:o.getState()});Gt(en({event:t,nextState:{isOpen:!1},props:n,query:c,refresh:r,store:o},a)).then((function(){f.onSelect(en({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:f,state:o.getState()},a))}))}}}(pn({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:Se,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},c)},getPanelProps:function(e){return pn({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=hn(n,cn);return pn({role:"listbox","aria-labelledby":Kt(t.id,"label"),id:Kt(t.id,"list",r)},o)},getItemProps:function(e){var a=e.item,i=e.source,l=hn(e,dn);return pn({id:Kt(t.id,"item-".concat(a.__autocomplete_id),i),role:"option","aria-selected":r.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",a.__autocomplete_id);var t=Ft(r.getState());if(null!==r.getState().activeItemId&&t){var i=t.item,l=t.itemInputValue,s=t.itemUrl,u=t.source;u.onActive(pn({event:e,item:i,itemInputValue:l,itemUrl:s,refresh:n,source:u,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var l=i.getItemInputValue({item:a,state:r.getState()}),s=i.getItemUrl({item:a,state:r.getState()});(s?Promise.resolve():Gt(pn({event:e,nextState:{isOpen:!1},props:t,query:l,refresh:n,store:r},o))).then((function(){i.onSelect(pn({event:e,item:a,itemInputValue:l,itemUrl:s,refresh:n,source:i,state:r.getState()},o))}))}},l)}}}var yn="1.12.1",vn=[{segment:"autocomplete-core",version:yn}];function bn(e){return bn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bn(e)}function wn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kn(e){for(var t=1;t=n?null===r?null:0:o}function On(e){return On="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},On(e)}function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Cn(e){for(var t=1;t=5&&((o||!e&&5===r)&&(i.push(r,0,o,n),r=6),e&&(i.push(r,e,0,n),r=6)),o=""},s=0;s"===t?(r=1,o=""):o=t+o[0]:a?t===a?a="":o+=t:'"'===t||"'"===t?a=t:">"===t?(l(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[s][u+1])?(l(),3===r&&(i=i[0]),r=i,(i=i[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(l(),r=2):o+=t),3===r&&"!--"===o&&(r=4,i=i[0])}return l(),i}(e)),t),arguments,[])).length>1?t:t[0]}var Bn=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-SubmitIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"),n.appendChild(r),n},zn=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n},Un=function(e){var t=e.environment.document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("class","aa-LoadingIcon"),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='\n \n',t},$n=["ontouchstart","ontouchend","ontouchmove","ontouchcancel"];function qn(e,t,n){e[t]=null===n?"":"number"!=typeof n?n:n+"px"}function Hn(e){this._listeners[e.type](e)}function Qn(e,t,n){var r,o,a=e[t];if("style"===t)if("string"==typeof n)e.style=n;else if(null===n)e.style="";else for(t in n)a&&n[t]===a[t]||qn(e.style,t,n[t]);else"o"===t[0]&&"n"===t[1]?(r=t!==(t=t.replace(/Capture$/,"")),((o=t.toLowerCase())in e||$n.includes(o))&&(t=o),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?a||e.addEventListener(t,Hn,r):e.removeEventListener(t,Hn,r)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&"download"!==t&&"href"!==t&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function Vn(e){return"onChange"===e?"onInput":e}function Wn(e,t){for(var n in t)Qn(e,Vn(n),t[n])}function Zn(e,t){for(var n in t)"o"===n[0]&&"n"===n[1]||Qn(e,Vn(n),t[n])}var Gn=["children"];function Kn(e){return function(e){if(Array.isArray(e))return Yn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Yn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Yn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Xn(e){return function(t,n){var r=n.children,o=void 0===r?[]:r,a=Jn(n,Gn),i=e.document.createElement(t);return Wn(i,a),i.append.apply(i,Kn(o)),i}}function er(e){return er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},er(e)}var tr=["autocompleteScopeApi","environment","classNames","getInputProps","getInputPropsCore","isDetached","state"];function nr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rr(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ir=function(e){var t=e.autocompleteScopeApi,n=e.environment,r=(e.classNames,e.getInputProps),o=e.getInputPropsCore,a=e.isDetached,i=e.state,l=ar(e,tr),s=Xn(n)("input",l),u=r(rr({state:i,props:o({inputElement:s}),inputElement:s},t));return Wn(s,rr(rr({},u),{},{onKeyDown:function(e){a&&"Tab"===e.key||u.onKeyDown(e)}})),s};function lr(e){return lr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lr(e)}function sr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ur(e){for(var t=1;t2&&(i.children=arguments.length>3?dr.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return _r(e,i,r,o,null)}function _r(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++pr:o,__i:-1};return null==o&&null!=fr.vnode&&fr.vnode(a),a}function Or(e){return e.children}function jr(e,t){this.props=e,this.context=t}function Cr(e,t){if(null==t)return e.__?Cr(e.__,e.__i+1):null;for(var n;tt&&mr.sort(yr));Ir.__r=0}function Ar(e,t,n,r,o,a,i,l,s,u,c){var d,f,p,m,h,g,y,v,b,w=0,k=r&&r.__k||br,S=k.length,x=S,E=t.length;for(n.__k=[],d=0;d0?_r(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)?(m.__=n,m.__b=n.__b+1,m.__i=d,-1===(v=Rr(m,k,y=d+w,x))?p=vr:(p=k[v]||vr,k[v]=void 0,x--),zr(e,m,p,o,a,i,l,s,u,c),h=m.__e,(f=m.ref)&&p.ref!=f&&(p.ref&&qr(p.ref,null,m),c.push(f,m.__c||h,m)),null==g&&null!=h&&(g=h),(b=p===vr||null===p.__v)?-1==v&&w--:v!==y&&(v===y+1?w++:v>y?x>E-y?w+=v-y:w--:w=v(null!=s?1:0))for(;i>=0||l=0){if((s=t[i])&&o==s.key&&a===s.type)return i;i--}if(l0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(Gr);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function Yr(e){return function(e){if(Array.isArray(e))return Jr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Jr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jr(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",""":'"',"'":"'"},no=new RegExp(/\w/i),ro=/&(amp|quot|lt|gt|#39);/g,oo=RegExp(ro.source);function ao(e,t){var n,r,o,a=e[t],i=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,l=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return no.test((o=a.value)&&oo.test(o)?o.replace(ro,(function(e){return to[e]})):o)||l!==i?a.isHighlighted:l}function io(e){return io="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},io(e)}function lo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function so(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Oo={clearButton:"aa-ClearButton",detachedCancelButton:"aa-DetachedCancelButton",detachedContainer:"aa-DetachedContainer",detachedFormContainer:"aa-DetachedFormContainer",detachedOverlay:"aa-DetachedOverlay",detachedSearchButton:"aa-DetachedSearchButton",detachedSearchButtonIcon:"aa-DetachedSearchButtonIcon",detachedSearchButtonPlaceholder:"aa-DetachedSearchButtonPlaceholder",detachedSearchButtonQuery:"aa-DetachedSearchButtonQuery",form:"aa-Form",input:"aa-Input",inputWrapper:"aa-InputWrapper",inputWrapperPrefix:"aa-InputWrapperPrefix",inputWrapperSuffix:"aa-InputWrapperSuffix",item:"aa-Item",label:"aa-Label",list:"aa-List",loadingIndicator:"aa-LoadingIndicator",panel:"aa-Panel",panelLayout:"aa-PanelLayout aa-Panel--scrollable",root:"aa-Autocomplete",source:"aa-Source",sourceFooter:"aa-SourceFooter",sourceHeader:"aa-SourceHeader",sourceNoResults:"aa-SourceNoResults",submitButton:"aa-SubmitButton"},jo=function(e,t){var n=e.children;(0,e.render)(n,t)},Co={createElement:Er,Fragment:Or,render:Vr};function Po(e){var t=e.panelPlacement,n=e.container,r=e.form,o=e.environment,a=n.getBoundingClientRect(),i=(o.pageYOffset||o.document.documentElement.scrollTop||o.document.body.scrollTop||0)+a.top+a.height;switch(t){case"start":return{top:i,left:a.left};case"end":return{top:i,right:o.document.documentElement.clientWidth-(a.left+a.width)};case"full-width":return{top:i,left:0,right:0,width:"unset",maxWidth:"unset"};case"input-wrapper-width":var l=r.getBoundingClientRect();return{top:i,left:l.left,right:o.document.documentElement.clientWidth-(l.left+l.width),width:"unset",maxWidth:"unset"};default:throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(t)," is not valid."))}}function To(e){return To="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},To(e)}function Io(){return Io=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ko(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yo(e){for(var t=1;t0;if(!f.value.core.openOnFocus&&!t.query)return n;var r=Boolean(u.current||f.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:Ro,options:e}}))})),h=be(Yo({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},f.value.core.initialState)),g={getEnvironmentProps:f.value.renderer.getEnvironmentProps,getFormProps:f.value.renderer.getFormProps,getInputProps:f.value.renderer.getInputProps,getItemProps:f.value.renderer.getItemProps,getLabelProps:f.value.renderer.getLabelProps,getListProps:f.value.renderer.getListProps,getPanelProps:f.value.renderer.getPanelProps,getRootProps:f.value.renderer.getRootProps},y={setActiveItemId:m.value.setActiveItemId,setQuery:m.value.setQuery,setCollections:m.value.setCollections,setIsOpen:m.value.setIsOpen,setStatus:m.value.setStatus,setContext:m.value.setContext,refresh:m.value.refresh,navigator:m.value.navigator},v=l((function(){return Mn.bind(f.value.renderer.renderer.createElement)})),b=l((function(){return function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.classNames,o=e.environment,a=e.isDetached,i=e.placeholder,l=void 0===i?"Search":i,s=e.propGetters,u=e.setIsModalOpen,c=e.state,d=e.translations,f=Xn(o),p=s.getRootProps(ur({state:c,props:t.getRootProps({})},n)),m=f("div",ur({class:r.root},p)),h=f("div",{class:r.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),g=f("div",{class:r.detachedOverlay,children:[h],onMouseDown:function(){u(!1),t.setIsOpen(!1)}}),y=s.getLabelProps(ur({state:c,props:t.getLabelProps({})},n)),v=f("button",{class:r.submitButton,type:"submit",title:d.submitButtonTitle,children:[Bn({environment:o})]}),b=f("label",ur({class:r.label,children:[v]},y)),w=f("button",{class:r.clearButton,type:"reset",title:d.clearButtonTitle,children:[zn({environment:o})]}),k=f("div",{class:r.loadingIndicator,children:[Un({environment:o})]}),S=ir({class:r.input,environment:o,state:c,getInputProps:s.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:n,isDetached:a}),x=f("div",{class:r.inputWrapperPrefix,children:[b,k]}),E=f("div",{class:r.inputWrapperSuffix,children:[w]}),_=f("div",{class:r.inputWrapper,children:[S]}),O=s.getFormProps(ur({state:c,props:t.getFormProps({inputElement:S})},n)),j=f("form",ur({class:r.form,children:[x,_,E]},O)),C=s.getPanelProps(ur({state:c,props:t.getPanelProps({})},n)),P=f("div",ur({class:r.panel},C)),T=f("div",{class:r.detachedSearchButtonQuery,textContent:c.query}),I=f("div",{class:r.detachedSearchButtonPlaceholder,hidden:Boolean(c.query),textContent:l});if(a){var A=f("div",{class:r.detachedSearchButtonIcon,children:[Bn({environment:o})]}),N=f("button",{type:"button",class:r.detachedSearchButton,onClick:function(){u(!0)},children:[A,I,T]}),L=f("button",{type:"button",class:r.detachedCancelButton,textContent:d.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),u(!1)}}),R=f("div",{class:r.detachedFormContainer,children:[j,L]});h.appendChild(R),m.appendChild(N)}else m.appendChild(j);return{detachedContainer:h,detachedOverlay:g,detachedSearchButtonQuery:T,detachedSearchButtonPlaceholder:I,inputWrapper:_,input:S,root:m,form:j,label:b,submitButton:v,clearButton:w,loadingIndicator:k,panel:P}}({autocomplete:m.value,autocompleteScopeApi:y,classNames:f.value.renderer.classNames,environment:f.value.core.environment,isDetached:p.value,placeholder:f.value.core.placeholder,propGetters:g,setIsModalOpen:x,state:h.current,translations:f.value.renderer.translations})}));function w(){Wn(b.value.panel,{style:p.value?{}:Po({panelPlacement:f.value.renderer.panelPlacement,container:b.value.root,form:b.value.form,environment:f.value.core.environment})})}function k(e){h.current=e;var t={autocomplete:m.value,autocompleteScopeApi:y,classNames:f.value.renderer.classNames,components:f.value.renderer.components,container:f.value.renderer.container,html:v.value,dom:b.value,panelContainer:p.value?b.value.detachedContainer:f.value.renderer.panelContainer,propGetters:g,state:h.current,renderer:f.value.renderer.renderer},n=!at(e)&&!u.current&&f.value.renderer.renderNoResults||f.value.renderer.render;!function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.dom,o=e.propGetters,a=e.state;Zn(r.root,o.getRootProps(No({state:a,props:t.getRootProps({})},n))),Zn(r.input,o.getInputProps(No({state:a,props:t.getInputProps({inputElement:r.input}),inputElement:r.input},n))),Wn(r.label,{hidden:"stalled"===a.status}),Wn(r.loadingIndicator,{hidden:"stalled"!==a.status}),Wn(r.clearButton,{hidden:!a.query}),Wn(r.detachedSearchButtonQuery,{textContent:a.query}),Wn(r.detachedSearchButtonPlaceholder,{hidden:Boolean(a.query)})}(t),function(e,t){var n=t.autocomplete,r=t.autocompleteScopeApi,o=t.classNames,a=t.html,i=t.dom,l=t.panelContainer,s=t.propGetters,u=t.state,c=t.components,d=t.renderer;if(u.isOpen){l.contains(i.panel)||"loading"===u.status||l.appendChild(i.panel),i.panel.classList.toggle("aa-Panel--stalled","stalled"===u.status);var f=u.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var i=e.source,l=e.items;return d.createElement("section",{key:t,className:o.source,"data-autocomplete-source-id":i.sourceId},i.templates.header&&d.createElement("div",{className:o.sourceHeader},i.templates.header({components:c,createElement:d.createElement,Fragment:d.Fragment,items:l,source:i,state:u,html:a})),i.templates.noResults&&0===l.length?d.createElement("div",{className:o.sourceNoResults},i.templates.noResults({components:c,createElement:d.createElement,Fragment:d.Fragment,source:i,state:u,html:a})):d.createElement("ul",Io({className:o.list},s.getListProps(No({state:u,props:n.getListProps({source:i})},r))),l.map((function(e){var t=n.getItemProps({item:e,source:i});return d.createElement("li",Io({key:t.id,className:o.item},s.getItemProps(No({state:u,props:t},r))),i.templates.item({components:c,createElement:d.createElement,Fragment:d.Fragment,item:e,state:u,html:a}))}))),i.templates.footer&&d.createElement("div",{className:o.sourceFooter},i.templates.footer({components:c,createElement:d.createElement,Fragment:d.Fragment,items:l,source:i,state:u,html:a})))})),p=d.createElement(d.Fragment,null,d.createElement("div",{className:o.panelLayout},f),d.createElement("div",{className:"aa-GradientBottom"})),m=f.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(No(No({children:p,state:u,sections:f,elements:m},d),{},{components:c,html:a},r),i.panel)}else l.contains(i.panel)&&l.removeChild(i.panel)}(n,t)}function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o();var t,n,r=f.value.renderer,i=r.components,l=Go(r,Wo);c.current=zo(l,f.value.core,{components:(t=i,n=function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")},Object.entries(t).reduce((function(e,t){var r=Qo(t,2),o=r[0],a=r[1];return n({key:o,value:a})?qo(qo({},e),{},Ho({},o,a)):e}),{})),initialState:h.current},e),s(),a(),m.value.refresh().then((function(){k(h.current)}))}function x(e){requestAnimationFrame((function(){var t=f.value.core.environment.document.body.contains(b.value.detachedOverlay);e!==t&&(e?(f.value.core.environment.document.body.appendChild(b.value.detachedOverlay),f.value.core.environment.document.body.classList.add("aa-Detached"),b.value.input.focus()):(f.value.core.environment.document.body.removeChild(b.value.detachedOverlay),f.value.core.environment.document.body.classList.remove("aa-Detached")))}))}return r((function(){var e=m.value.getEnvironmentProps({formElement:b.value.form,panelElement:b.value.panel,inputElement:b.value.input});return Wn(f.value.core.environment,e),function(){Wn(f.value.core.environment,Object.keys(e).reduce((function(e,t){return Yo(Yo({},e),{},Jo({},t,void 0))}),{}))}})),r((function(){var e=p.value?f.value.core.environment.document.body:f.value.renderer.panelContainer,t=p.value?b.value.detachedOverlay:b.value.panel;return p.value&&h.current.isOpen&&x(!0),k(h.current),function(){e.contains(t)&&e.removeChild(t)}})),r((function(){var e=f.value.renderer.container;return e.appendChild(b.value.root),function(){e.removeChild(b.value.root)}})),r((function(){var e=ve((function(e){k(e.state)}),0);return d.current=function(t){var n=t.state,r=t.prevState;(p.value&&r.isOpen!==n.isOpen&&x(n.isOpen),p.value||!n.isOpen||r.isOpen||w(),n.query!==r.query)&&f.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){d.current=void 0}})),r((function(){var e=ve((function(){var e=p.value;p.value=f.value.core.environment.matchMedia(f.value.renderer.detachedMediaQuery).matches,e!==p.value?S({}):requestAnimationFrame(w)}),20);return f.value.core.environment.addEventListener("resize",e),function(){f.value.core.environment.removeEventListener("resize",e)}})),r((function(){if(!p.value)return function(){};function e(e){b.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=f.value.core.environment.matchMedia(getComputedStyle(f.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),r((function(){return requestAnimationFrame(w),function(){}})),Yo(Yo({},y),{},{update:S,destroy:function(){o()}})}var ea=n(1514);const ta=n(5351),na=ta;var ra=n(813),oa=n.n(ra);function aa(){const e=(0,l.TH)(),t=(0,l.k6)(),{siteConfig:{baseUrl:n}}=(0,se.Z)(),[o,a]=(0,r.useState)({terms:[],isDocsOrBlog:!1});return(0,r.useEffect)((()=>{if(!e.state?.cmfcmfhighlight||0===e.state.cmfcmfhighlight.terms.length)return;a(e.state.cmfcmfhighlight);const{cmfcmfhighlight:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.cmfcmfhighlight,t,e]),(0,r.useEffect)((()=>{if(0===o.terms.length)return;const e=o.isDocsOrBlog?document.getElementsByTagName("article")[0]:document.getElementsByTagName("main")[0];if(!e)return;const t=new(oa())(e),n={ignoreJoiners:!0};return t.mark(o.terms,n),()=>t.unmark(n)}),[o,n]),null}var ia=n(1610),la=n(246);function sa(e){let{document:t}=e;const[n,r]=t.sectionRoute.split("#");let o=n;return r&&(o+="#"+r),o}const ua={documents:[],index:na((function(){this.ref("id"),this.field("title"),this.field("content")}))};const ca=()=>{const e=(0,B.Z)(),[t,n]=(0,r.useState)((()=>!!e&&"dark"===document.documentElement.getAttribute("data-theme")));(0,r.useEffect)((()=>{const e=new MutationObserver((()=>{n("dark"===document.documentElement.getAttribute("data-theme"))}));return e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>e.disconnect()}),[]);const{siteConfig:{baseUrl:o}}=(0,se.Z)(),{titleBoost:a,contentBoost:i,tagsBoost:u,parentCategoriesBoost:c,indexDocSidebarParentCategories:d,maxSearchResults:f}=(0,ia.eZ)("@cmfcmf/docusaurus-search-local"),p=(0,l.k6)(),{tags:m}=(0,la._q)(),h=(0,r.useRef)(m);(0,r.useEffect)((()=>{h.current=m}),[m]);const g=(0,r.useRef)({}),y=async e=>{const t=g.current[e];switch(t?.state){case"ready":return t;case void 0:{const t=[];g.current[e]={state:"loading",callbacks:t};const n=await async function(e,t){{let r;try{const n=await fetch(`${e}search-index-${t}.json`);if(!n.ok)return ua;r=await n.json()}catch(n){return ua}return{documents:r.documents,index:na.Index.load(r.index)}}}(o,e);return t.forEach((e=>e(n))),g.current[e]={state:"ready",...n}}case"loading":return new Promise((e=>{t.callbacks.push(e)}))}},v=(0,s.I)({message:"cmfcmf/d-s-l.searchBar.placeholder",description:"Placeholder shown in the searchbar"}),b=(0,r.useRef)(null),w=(0,r.useRef)(null);return(0,r.useEffect)((()=>{if(b.current)return w.current=Xo({container:b.current,placeholder:v,renderer:{createElement:r.createElement,Fragment:r.Fragment,render:ye.render},navigator:{navigate(e){let{item:t,itemUrl:n}=e;p.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},detachedMediaQuery:"",defaultActiveItemId:0,translations:{clearButtonTitle:(0,s.I)({message:"cmfcmf/d-s-l.searchBar.clearButtonTitle",description:"Title of the button to clear the current search input"}),detachedCancelButtonText:(0,s.I)({message:"cmfcmf/d-s-l.searchBar.detachedCancelButtonText",description:"Text of the button to close the detached search window"}),submitButtonTitle:(0,s.I)({message:"cmfcmf/d-s-l.searchBar.submitButtonTitle",description:"Title of the button to submit a new search"})},getSources(e){let{query:t}=e;return[{sourceId:"search-results",templates:{item(e){let{item:t}=e;const n=sa(t);return r.createElement("a",{href:n,className:"aa-ItemLink",onClick:e=>{e.preventDefault(),p.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},r.createElement("div",{className:"aa-ItemContentTitle"},t.document.sectionTitle),t.document.pageTitle!==t.document.sectionTitle&&r.createElement("div",{className:"aa-ItemContentDescription"},t.document.pageTitle))),r.createElement("div",{className:"aa-ItemActions"},r.createElement("button",{className:"aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly",type:"button",title:"Select"},r.createElement("svg",{viewBox:"0 0 24 24",width:"20",height:"20",fill:"currentColor"},r.createElement("path",{d:"M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z"})))))},noResults:()=>r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},(0,s.I)({message:"cmfcmf/d-s-l.searchBar.noResults",description:"message shown if no results are found"})))},getItemUrl(e){let{item:t}=e;return sa(t)},async getItems(){const e=h.current,n=await Promise.all(e.map((e=>y(e)))),r=(e=>ta.tokenizer(e).map((e=>e.str)))(t);return n.flatMap((e=>{let{index:t,documents:n}=e;return t.query((e=>{e.term(r,{fields:["title"],boost:a}),e.term(r,{fields:["title"],boost:a,wildcard:na.Query.wildcard.TRAILING}),e.term(r,{fields:["content"],boost:i}),e.term(r,{fields:["content"],boost:i,wildcard:na.Query.wildcard.TRAILING}),e.term(r,{fields:["tags"],boost:u}),e.term(r,{fields:["tags"],boost:u,wildcard:na.Query.wildcard.TRAILING}),d&&(e.term(r,{fields:["sidebarParentCategories"],boost:c}),e.term(r,{fields:["sidebarParentCategories"],boost:c,wildcard:na.Query.wildcard.TRAILING}))})).slice(0,f).map((e=>({document:n.find((t=>t.id.toString()===e.ref)),score:e.score,terms:r})))})).sort(((e,t)=>t.score-e.score)).slice(0,f)}}]}}),()=>w.current?.destroy()}),[f]),r.createElement(r.Fragment,null,r.createElement(ea.Z,null,r.createElement("body",{"data-theme":t?"dark":"light"})),r.createElement(aa,null),r.createElement("div",{className:"dsla-search-wrapper"},r.createElement("div",{className:"dsla-search-field",ref:b,"data-tags":m.join(",")})))},da={navbarSearchContainer:"navbarSearchContainer_Bca1"};function fa(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,o.Z)(n,da.navbarSearchContainer),children:t})}var pa=n(868),ma=n(3734);var ha=n(6409);const ga=e=>e.docs.find((t=>t.id===e.mainDocId));const ya={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.Z)(),f=(0,me.l)(),{search:p,hash:m}=(0,l.TH)(),h=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(pe,{...a,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(he,{className:ge}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(fa,{className:n,children:(0,c.jsx)(ca,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,c.jsx)(i,{className:(0,o.Z)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,pa.Iw)(r),i=(0,ma.vY)(t,r),l=a?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>l||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,pa.Iw)(r),i=(0,ma.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,ma.lO)(r)[0],i=t??a.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,c.jsx)(ae,{...o,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:u,hash:d}=(0,l.TH)(),f=(0,pa.Iw)(n),p=(0,pa.gB)(n),{savePreferredVersionName:m}=(0,ha.J)(n),h=p.map((e=>{const t=f.alternateDocVersions[e.name]??ga(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>m(e.name)}})),g=[...o,...h,...a],y=(0,ma.lO)(n)[0],v=t&&g.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):y.label,b=t&&g.length>1?void 0:ga(y).path;return g.length<=1?(0,c.jsx)(ae,{...i,mobile:t,label:v,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(pe,{...i,mobile:t,label:v,to:b,items:g,isActive:r?()=>!1:void 0})}},va=ya;function ba(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=va[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(o,{...n})}function wa(){const e=(0,P.e)(),t=(0,w.L)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(ba,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function ka(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Sa(){const e=0===(0,w.L)().navbar.items.length,t=D();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(ka,{onClick:()=>t.hide()}),t.content]})}function xa(){const e=(0,P.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(K,{}),primaryMenu:(0,c.jsx)(wa,{}),secondaryMenu:(0,c.jsx)(Sa,{})}):null}const Ea={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function _a(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,o.Z)("navbar-sidebar__backdrop",e.className)})}function Oa(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.L)(),i=(0,P.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,T.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",n&&[Ea.navbarHideable,!d&&Ea.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(_a,{onClick:i.toggle}),(0,c.jsx)(xa,{})]})}var ja=n(3905);const Ca={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Pa(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ta(e){let{error:t}=e;const n=(0,ja.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Ca.errorBoundaryError,children:n})}class Ia extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Aa="right";function Na(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function La(){const{toggle:e,shown:t}=(0,P.e)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(Na,{})})}const Ra={colorModeToggle:"colorModeToggle_DEke"};function Da(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Ia,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(ba,{...e})},t)))})}function Fa(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ma(){const e=(0,P.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Aa)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,c.jsx)(Fa,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(La,{}),(0,c.jsx)(Z,{}),(0,c.jsx)(Da,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Da,{items:r}),(0,c.jsx)(V,{className:Ra.colorModeToggle}),!o&&(0,c.jsx)(fa,{children:(0,c.jsx)(ca,{})})]})})}function Ba(){return(0,c.jsx)(Oa,{children:(0,c.jsx)(Ma,{})})}function za(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,l=(0,J.Z)(n),s=(0,J.Z)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Y.Z,{className:"footer__link-item",...r?{href:a?s:r}:{to:l},...i,children:[o,r&&!(0,X.Z)(r)&&(0,c.jsx)(te.Z,{})]})}function Ua(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(za,{item:t})},t.href??t.to)}function $a(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(Ua,{item:e},t)))})]})}function qa(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)($a,{column:e},t)))})}function Ha(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Qa(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(za,{item:t})}function Va(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Qa,{item:e}),t.length!==n+1&&(0,c.jsx)(Ha,{})]},n)))})})}function Wa(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(qa,{columns:t}):(0,c.jsx)(Va,{links:t})}var Za=n(4277);const Ga={footerLogoLink:"footerLogoLink_BH7S"};function Ka(e){let{logo:t}=e;const{withBaseUrl:n}=(0,J.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(Za.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Ya(e){let{logo:t}=e;return t.href?(0,c.jsx)(Y.Z,{href:t.href,className:Ga.footerLogoLink,target:t.target,children:(0,c.jsx)(Ka,{logo:t})}):(0,c.jsx)(Ka,{logo:t})}function Ja(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Xa(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,c.jsx)("footer",{className:(0,o.Z)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ei(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,c.jsx)(Xa,{style:o,links:n&&n.length>0&&(0,c.jsx)(Wa,{links:n}),logo:r&&(0,c.jsx)(Ya,{logo:r}),copyright:t&&(0,c.jsx)(Ja,{copyright:t})})}const ti=r.memo(ei),ni=(0,I.Qc)([M.S,k.pl,T.OC,ha.L5,i.VC,function(e){let{children:t}=e;return(0,c.jsx)(A.n2,{children:(0,c.jsx)(P.M,{children:(0,c.jsx)(L,{children:t})})})}]);function ri(e){let{children:t}=e;return(0,c.jsx)(ni,{children:t})}var oi=n(3899);function ai(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(oi.Z,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(Pa,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Ta,{error:t})})]})})})}const ii={mainWrapper:"mainWrapper_z2l0"};function li(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.t)(),(0,c.jsxs)(ri,{children:[(0,c.jsx)(i.d,{title:l,description:s}),(0,c.jsx)(b,{}),(0,c.jsx)(C,{}),(0,c.jsx)(Ba,{}),(0,c.jsx)("div",{id:d,className:(0,o.Z)(g.k.wrapper.main,ii.mainWrapper,r),children:(0,c.jsx)(a.Z,{fallback:e=>(0,c.jsx)(ai,{...e}),children:t})}),!n&&(0,c.jsx)(ti,{})]})}},6811:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(3699),o=n(9524),a=n(9962),i=n(107),l=n(4277),s=n(5893);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Z)(t.src),dark:(0,o.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,a.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,o.Z)(l?.href||"/"),m=n?"":t,h=l?.alt??m;return(0,s.jsxs)(r.Z,{to:p,...f,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:h,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},3647:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var r=n(1514),o=n(5893);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.Z,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},4277:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(7294),o=n(788),a=n(1048),i=n(9200);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function u(e){let{className:t,children:n}=e;const u=(0,a.Z)(),{colorMode:c}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function c(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},4639:(e,t,n)=>{"use strict";n.d(t,{u:()=>u,z:()=>y});var r=n(7294),o=n(6136),a=n(1270),i=n(8986),l=n(5893);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return f(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.Z.canUseDOM)return e?c:d}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:a}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(c.current,n),i?.(n))},className:s,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,a.Z)((()=>{t||i(!0)}),[t]),(0,a.Z)((()=>{o&&u(t)}),[o,t]),o?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,l.jsx)(r,{...n})}},5830:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>m});var r=n(7294),o=n(1048),a=n(2560),i=n(3768),l=n(107),s=n(5893);const u=(0,a.WA)("docusaurus.announcement.dismiss"),c=(0,a.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,o.Z)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&f(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(p.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},9200:(e,t,n)=>{"use strict";n.d(t,{I:()=>y,S:()=>g});var r=n(7294),o=n(6136),a=n(3768),i=n(2560),l=n(107),s=n(5893);const u=r.createContext(void 0),c="theme",d=(0,i.WA)(c),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,m=e=>o.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),h=e=>{d.set(p(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[o,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},6409:(e,t,n)=>{"use strict";n.d(t,{J:()=>b,L5:()=>y,Oh:()=>w});var r=n(7294),o=n(868),a=n(6875),i=n(107),l=n(3734),s=n(3768),u=n(2560),c=n(5893);const d=e=>`docs-preferred-version-${e}`,f={save:(e,t,n)=>{(0,u.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(d(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function h(){const e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=f.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(f.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){f.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return(0,c.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.cE?(0,c.jsx)(g,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function v(){const e=(0,r.useContext)(m);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function b(e){void 0===e&&(e=a.m);const t=(0,o.zh)(e),[n,i]=v(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,o._r)(),[t]=v();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},4432:(e,t,n)=>{"use strict";n.d(t,{V:()=>u,b:()=>s});var r=n(7294),o=n(3768),a=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new o.i6("DocsSidebarProvider");return e}},8801:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),o=n(3768),a=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.i6("DocsVersionProvider");return e}},2600:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>m});var r=n(7294),o=n(3086),a=n(3488),i=n(6550),l=n(3768);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(107),c=n(5893);const d=r.createContext(void 0);function f(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function p(e){let{children:t}=e;const n=f();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3086:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>u,n2:()=>l});var r=n(7294),o=n(3768),a=n(5893);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,l]=a,s=(0,o.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},8181:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>a});var r=n(7294);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},3488:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),o=n(6136);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(){const[e,t]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){t(function(){if(!o.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>i?a.desktop:a.mobile}())}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),e}},3702:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},8986:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},3734:(e,t,n)=>{"use strict";n.d(t,{MN:()=>j,LM:()=>m,_F:()=>v,cE:()=>f,jA:()=>h,xz:()=>p,SN:()=>O,lO:()=>x,vY:()=>_,oz:()=>E,s1:()=>S,f:()=>w});var r=n(7294),o=n(6550),a=n(8790),i=n(868),l=n(6409),s=n(8801),u=n(4432);function c(e){return Array.from(new Set(e))}var d=n(9003);const f=!!i._r;function p(e){const t=(0,s.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function h(){const{pathname:e}=(0,o.TH)(),t=(0,u.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),y=(e,t)=>e.some((e=>v(e,t)));function v(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||y(e.items,t))}function b(e,t){switch(e.type){case"category":return v(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||v(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.Mg)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function S(){const e=(0,u.V)(),{pathname:t}=(0,o.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),o=(0,i.yW)(e);return(0,r.useMemo)((()=>c([t,n,o].filter(Boolean))),[t,n,o])}function E(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function _(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function O(e){let{route:t}=e;const n=(0,o.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,o.LX)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,a.H)(i),sidebarName:u,sidebarItems:c}}function j(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},5463:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>d,VC:()=>m});var r=n(7294),o=n(788),a=n(1514),i=n(9656);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(9524),u=n(9962);var c=n(5893);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),f=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.Z,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,c.jsx)("meta",{property:"og:image",content:f}),f&&(0,c.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),l=(0,o.Z)(i,t);return(0,c.jsxs)(f.Provider,{value:l,children:[(0,c.jsx)(a.Z,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,o.Z)(r,a),children:t})}},3768:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>c,Ql:()=>u,i6:()=>s,zX:()=>i});var r=n(7294),o=n(1270),a=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},9003:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),o=n(997),a=n(9962);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,a.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.Z,baseUrl:e})),[e])}},2957:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>p,OC:()=>u,RF:()=>f});var r=n(7294),o=n(6136),a=n(1048),i=(n(1270),n(3768)),l=n(5893);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),o=(0,r.useRef)(d()),a=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function p(){const e=(0,r.useRef)(null),t=(0,a.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},246:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>s,os:()=>l});var r=n(868),o=n(9962),a=n(6409);const i="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,o.Z)(),t=(0,r._r)(),n=(0,r.WS)(),s=(0,a.Oh)();const u=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,o=s[e],a=t[e].versions.find((e=>e.isLast));return l(e,(r??o??a).name)}))];return{locale:e.currentLocale,tags:u}}},2560:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function o(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function a(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=a(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},626:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(9962),o=n(6550),a=n(3905);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,o.TH)(),u=(0,a.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},3266:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),o=n(6550),a=n(3768);function i(e){const t=(0,o.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},107:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var r=n(9962);function o(){return(0,r.Z)().siteConfig.themeConfig}},4136:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),a="/"===o||o===r?o:(i=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(o,a)}},5806:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},3905:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(4136);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}});var a=n(5806);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>O,ob:()=>p,PP:()=>C,Ep:()=>f});var r=n(7462);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,h(),w.location);c.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=p(n);o&&o!==m&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,o,a,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},813:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(l){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),l=i.length,s=0;i=Array.prototype.slice.call(i);var u=function(){--l<=0&&a(s)};l||u(),i.forEach((function(t){e.matches(t,o.exclude)?u():o.onIframeReady(t,(function(e){n(t)&&(s++,r(e)),u()}),u)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),l=[],s=[],u=void 0,c=void 0,d=function(){var e=a.getIteratorNode(i);return c=e.prevNode,u=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(u,c,e,l)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return s.push(e)}),r)})),s.push(u);s.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(l,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var l=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,l):l()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),l="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==l&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(l)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(l)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,l=parseInt(e.start,10)-i;return(r=(l=l>a?a:l)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),l<0||r-l<0||l>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(l,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,l){var s=e.nodes[l+1];if(void 0===s||s.start>t){if(!r(i.node))return!1;var u=t-i.start,c=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),f=e.value.substr(c+i.start);if(i.node=a.wrapRangeInTextNode(i.node,u,c),e.value=d+f,e.nodes.forEach((function(t,n){n>=l&&(e.nodes[n].start>0&&n!==l&&(e.nodes[n].start-=c),e.nodes[n].end-=c)})),n-=c,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var l=o.index;if(0!==i)for(var s=1;s{"use strict";n.r(t)},6930:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),u=a.querySelector(r.barSelector),c=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),o=n(9642),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),a.add(e)}))}i.silent=!1,e.exports=i},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=a[o],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++o;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),y&&v.push.apply(v,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var r={"./":2885};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6726},6500:(e,t,n)=>{var r={"./":2885};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in o(t,a),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var f,p=r(s),m=c;o(m);){for(var h in f={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(f[e]=!0)}))}for(var y in d)if(!(y in c))for(var v in p(y))if(v in c){f[y]=!0;break}for(var b in m=f)c[b]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var o,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)o=r(e);else{var f=i(c.map((function(e){var t=u(e);return delete s[e],t})));a?o=a(f,(function(){return r(e)})):r(e)}return l[e]=o}for(var c in n)u(c);var d=[];for(var f in s)d.push(l[f]);return i(d)}(p,c,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),o=n(3840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n