From 6155c7d2be8dce01186b3f3e017b512d527bfa09 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sat, 16 Aug 2025 11:43:23 -0400 Subject: [PATCH 01/13] Initialize Sphinx. --- docs/Makefile | 20 + docs/{adding_awaits.md => adding_awaits.rst} | 0 docs/{c_async.md => c_async.rst} | 0 docs/conf.py | 27 + docs/index.rst | 17 + docs/{installation.md => installation.rst} | 0 docs/make.bat | 35 + docs/outputdir/doctrees/environment.pickle | Bin 0 -> 13475 bytes docs/outputdir/doctrees/index.doctree | Bin 0 -> 4434 bytes docs/outputdir/html/.buildinfo | 4 + docs/outputdir/html/_sources/index.rst.txt | 17 + docs/outputdir/html/_static/basic.css | 906 ++++++++++++++++++ docs/outputdir/html/_static/doctools.js | 149 +++ .../html/_static/documentation_options.js | 13 + docs/outputdir/html/_static/file.png | Bin 0 -> 286 bytes docs/outputdir/html/_static/language_data.js | 192 ++++ docs/outputdir/html/_static/minus.png | Bin 0 -> 90 bytes docs/outputdir/html/_static/plus.png | Bin 0 -> 90 bytes docs/outputdir/html/_static/print.css | 42 + docs/outputdir/html/_static/pygments.css | 1 + docs/outputdir/html/_static/searchtools.js | 635 ++++++++++++ docs/outputdir/html/_static/shibuya.css | 2 + docs/outputdir/html/_static/shibuya.js | 41 + .../html/_static/sphinx_highlight.js | 154 +++ docs/outputdir/html/genindex.html | 86 ++ docs/outputdir/html/index.html | 135 +++ docs/outputdir/html/objects.inv | Bin 0 -> 248 bytes docs/outputdir/html/search.html | 110 +++ docs/outputdir/html/searchindex.js | 1 + docs/{value_storage.md => value_storage.rst} | 0 netlify.toml | 4 +- requirements.txt | 4 +- site/doctrees/environment.pickle | Bin 0 -> 13465 bytes site/doctrees/index.doctree | Bin 0 -> 4434 bytes site/html/.buildinfo | 4 + site/html/_sources/index.rst.txt | 17 + site/html/_static/basic.css | 906 ++++++++++++++++++ site/html/_static/doctools.js | 149 +++ site/html/_static/documentation_options.js | 13 + site/html/_static/file.png | Bin 0 -> 286 bytes site/html/_static/language_data.js | 192 ++++ site/html/_static/minus.png | Bin 0 -> 90 bytes site/html/_static/plus.png | Bin 0 -> 90 bytes site/html/_static/print.css | 42 + site/html/_static/pygments.css | 1 + site/html/_static/searchtools.js | 635 ++++++++++++ site/html/_static/shibuya.css | 2 + site/html/_static/shibuya.js | 41 + site/html/_static/sphinx_highlight.js | 154 +++ site/html/genindex.html | 86 ++ site/html/index.html | 135 +++ site/html/objects.inv | Bin 0 -> 248 bytes site/html/search.html | 110 +++ site/html/searchindex.js | 1 + 54 files changed, 5079 insertions(+), 4 deletions(-) create mode 100644 docs/Makefile rename docs/{adding_awaits.md => adding_awaits.rst} (100%) rename docs/{c_async.md => c_async.rst} (100%) create mode 100644 docs/conf.py create mode 100644 docs/index.rst rename docs/{installation.md => installation.rst} (100%) create mode 100644 docs/make.bat create mode 100644 docs/outputdir/doctrees/environment.pickle create mode 100644 docs/outputdir/doctrees/index.doctree create mode 100644 docs/outputdir/html/.buildinfo create mode 100644 docs/outputdir/html/_sources/index.rst.txt create mode 100644 docs/outputdir/html/_static/basic.css create mode 100644 docs/outputdir/html/_static/doctools.js create mode 100644 docs/outputdir/html/_static/documentation_options.js create mode 100644 docs/outputdir/html/_static/file.png create mode 100644 docs/outputdir/html/_static/language_data.js create mode 100644 docs/outputdir/html/_static/minus.png create mode 100644 docs/outputdir/html/_static/plus.png create mode 100644 docs/outputdir/html/_static/print.css create mode 100644 docs/outputdir/html/_static/pygments.css create mode 100644 docs/outputdir/html/_static/searchtools.js create mode 100644 docs/outputdir/html/_static/shibuya.css create mode 100644 docs/outputdir/html/_static/shibuya.js create mode 100644 docs/outputdir/html/_static/sphinx_highlight.js create mode 100644 docs/outputdir/html/genindex.html create mode 100644 docs/outputdir/html/index.html create mode 100644 docs/outputdir/html/objects.inv create mode 100644 docs/outputdir/html/search.html create mode 100644 docs/outputdir/html/searchindex.js rename docs/{value_storage.md => value_storage.rst} (100%) create mode 100644 site/doctrees/environment.pickle create mode 100644 site/doctrees/index.doctree create mode 100644 site/html/.buildinfo create mode 100644 site/html/_sources/index.rst.txt create mode 100644 site/html/_static/basic.css create mode 100644 site/html/_static/doctools.js create mode 100644 site/html/_static/documentation_options.js create mode 100644 site/html/_static/file.png create mode 100644 site/html/_static/language_data.js create mode 100644 site/html/_static/minus.png create mode 100644 site/html/_static/plus.png create mode 100644 site/html/_static/print.css create mode 100644 site/html/_static/pygments.css create mode 100644 site/html/_static/searchtools.js create mode 100644 site/html/_static/shibuya.css create mode 100644 site/html/_static/shibuya.js create mode 100644 site/html/_static/sphinx_highlight.js create mode 100644 site/html/genindex.html create mode 100644 site/html/index.html create mode 100644 site/html/objects.inv create mode 100644 site/html/search.html create mode 100644 site/html/searchindex.js diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..d4bb2cb --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/adding_awaits.md b/docs/adding_awaits.rst similarity index 100% rename from docs/adding_awaits.md rename to docs/adding_awaits.rst diff --git a/docs/c_async.md b/docs/c_async.rst similarity index 100% rename from docs/c_async.md rename to docs/c_async.rst diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..b8ac351 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,27 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +project = 'PyAwaitable' +copyright = '2025, Peter Bierma' +author = 'Peter Bierma' + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = [] + +templates_path = ['_templates'] +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'shibuya' +html_static_path = ['_static'] diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..615c52d --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,17 @@ +.. PyAwaitable documentation master file, created by + sphinx-quickstart on Sat Aug 16 11:38:02 2025. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +PyAwaitable documentation +========================= + +Add your content using ``reStructuredText`` syntax. See the +`reStructuredText `_ +documentation for details. + + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + diff --git a/docs/installation.md b/docs/installation.rst similarity index 100% rename from docs/installation.md rename to docs/installation.rst diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..32bb245 --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/docs/outputdir/doctrees/environment.pickle b/docs/outputdir/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..416cf9d1f84915ee7ba229ee09515e00982ad3c3 GIT binary patch literal 13475 zcmbtbd6-^TSx;s%`#zcMU8YOgN!rY`Nm~#BlV)o>$uvz;3bg6%{qA>X&b@QLd%xTz zGm{dbf3%$`hZgKbaY3z$xNkh-f?`E*K?N1W1=r`%=Mh9u6hTDv_r7QO?l);|(fl#r zd)~9$bKdjr=gnKX-ubTEHt;_=o;5`fFHigNg&e+J7W96lC zN_M)~+rM=_$0zXG{5t8Id&nnWmrn z=}g_f;73Vwrn%xSxk2vMB7X)8W;02VH;WvLQj^xt%E!yorR;IC)T3{SK6(AiSxHUn z_L6u$SSaO?-l1uCA66aqTwR%;7j&|Ie>wN#EJ)(4JclzxZoE*q3w|j({J4|@QR2Cg z?_e+7-=o@D>B^BTDN@gO{MbwCL5#2V75V(WSMJMb2ZJ$)l{so3_)bqVO+w!TwFgeE z95PfWWw%@8A^}kcPZ6mm?+pC3;g)htk9WMJxsnD80yD?=-?IPqnBnRiwUSj_u3`ksrGaoPX=1X_DlZ zrXMwZmmUSJE|qd}!OwGmjvGbEk~3diytv}zsT*gJn=>KT<+ziJhwkl;;5ZC=>x-~`7teBqzk6@POShh<1WsMqEXAH>tM{j=_6;rn@Q@Iz8nqW%jU_By?b$^gLQx2Eu!2> zlgKCHxb-@Y7khLnd?$sp2%iqHDo3fWk<<$?2hodg<9XsaNsX=tq6i zQwwI`fqK$#1Kin_nA33PLH0PweJAzjeS8xjcl>4$B@6fp zx4=KDHO}-QRRMl*<|7v$UIh_AH8))WGbu85G*`egN&qY3je`z0+_(wp&YU8RuzYVE zuP?#05ibu#WIS8pY%e z*ju<+kU?8S*sw^VI?aGU`OTt6M`ERU{9v!Pll_c`w38;>L=CWV3+GgXXN1u~9p?__ zp}ldDMZ6d%OW4Q&_hlZhBc7JM+%AH8iH7=ym*DH=9^G0%pO4ls4}?^(LT1yWzSB&I z^P!{}H!Si-{3^<)B5SHL7AEwoi=;}u-x_S6bSd-m}l zD4PT!@A zGm9jZ6Fjnoa`>dO<3sO<{^Y)_83nn%xiyU=hr>~(+OEMjuW+q z&tbszF6o3|w>b0N)Dz^MsP7Wrni+E%S6yXJ&*$&9JfKy%U4549t6CGQG{`z&OZrIM z$8Ioi>XM1?$gKeN6it+4TJi0=*tdfc;Pqj(V3A>Bp@)f(>N1oKASG+g+A%$8R@A#O zDh>Rk?n&b-EU7+WcJIL!K^XQLf|5I0*W#y1t>B#z_#* z=~J+}hl2rKh)-ySzs(_eLmSGG280lHa`8*~%_7g6*{fz|ym~wxW_3RbE~L}3pU=e2 z#*7|&@W70p-97_q?rSuneID%ugCUb4^+FIQV+m~@LpB_ zgVcWx{dPL8k4%=fblC9$_!S0ayj6W?#0LgN&OBRW@PWYxRKASQRR?)?K5jh3E~}%L)Kq z%Pxf^nNv^$&MrhgDjG44yh9=Lq#04XMlKBzheDe+?r5P> z|9nAytMFa+K5+Q4YOe|y;5$~ZdC>5oi^|!ns@SC@T_pcywyTPDV-L2G)Y10VvKm=A zWXHqTz%)(1*bs6D**o4NuV{@)!E;a}4HyHnrQ-+F=T%anGERkrMXW-U;G$2mbX{c~ zznP?Vjm&W~L=?#)LT%VMu(FDb*o9b=I|qHcfY&z_-ucAObTK`1*F!;iU=OFB_^6`DxAE?Aa4!uw~EQ z*X;Y&Yj1i4Q7-q!{t~DH!z?!yF(Mzinb8zgS~J3y#jK^>_cqJYzYOmOPGX*uc^mPZ zpza_VW)BKWgZ;+IFM*0*haUAD<&`Y@D`2L22C>=%v4TrAq}>^c)Kl2$9@3i;h3A90 zNWr=er$7*#P?Usd18!~~Ify|_R#x`FyFdUnZy+}--%-k|JzV7f9;IyanoZ?tTpkpT zao_sGO%V2lj&}`pywvwbX%H-Av49gLi*SMw&9!jM50sJudMb1;xXN99$z}If#=-&w zxa9>tkc-1PtZ`L%W}`K_<{ijy1kFkWS985ZsclilN)bE@X+ekPWWgGvslwneB~Rd-$2Bv@!MKsRkFco zNZ7hoR|D6AqcmFa^43--&x1p!JfM-8B1>m#K|CV@N`98I@(Bvi=}z_7F+0|DAamAQ z7{sL5p2QHzE21N$k3%f-n3#<1J}~>Gj3;esJWTk;=V91DbWTEXnh1`Z#_7PQD@K5D z0S-kKUA2%Z+H4CWdn^4@;#zT?>_pDEe4-TBi``+gal;0HHz4DW2O_syC9onn^(uMk%na9Ye5@Rl{%qa7sr%B^drW4}0{LD@^0O3o!(oVZQg zZbn`$CJp#X@l6JNjd-mA58CY++zmLiW3Gr zDeQn#7P`+)KP}Ffk!S5E?-#E#i#}j?`Fabz!47<*c+kwgW=`w{sU8yN`1fHu+F4`7 zBf{n1n(+9yZnxmiZZwO`ivfR$kgI8yM z27J4@KWC?zRQgH?%7TQevc*DyIZ{Vy@pQW`(`(ok>4+#s~m)EhEBZj>OZJA z`a}BnJ>rKM|6cJUhR=Rf{FniMT>OLvO{#^7DtA`iFeWFBkE~)TGr>mN?C;TCyqsy` zC#_`sl!boULf;|YW%l+n;%5!`bK-pl{CV+y1O9@Y^^0o;_e*$q-&` zAlXOZoyuCOI~u6m5yFkCj=?R8-R|s0eJ$anStY#2Kyq^iR~s%U{1G_PI#X)poue|2 z7uT~!+h<`fc87;MHf)er-y8cBCHs?=RP|&sKWSfbhfW5W=SQ$0h|#ms?Co0YD7+4T z_~h49Yqx3L06@|1M#4`S{2l;`K6~wmn`p$%^hdc{;XZ<=D~K7uMsC7esN>d3@BV7< z0qVG|(tA6>cT^CsAoySfaR{){5aFHFak$cZgy5qU#4&=8R}gmrw)5{sLmluQ3(Zys zoIt~#uGUx+svvfw=PaZZ>}e~JnjNKHV9%MA z!iTW?@ErZo1bmoar-FC{usN(8MMTK4OU1vVw`xY>cJNwlVj(+%p1f@l2_#u*J{QXx zLlf324LPD?9=m|JPMfCCtBeclXoNofQD!@wCwQTSD2kdKQdwnw;DNv+Rkyhfqmn9= zf$v5J70>eJoVZpF>tYnEH+oL#S`b@~(rwFK#4r`WAbPpuaRh95)}!Ze^{`@MK5>Wa z#mQCG!86F*==zDb%TbO!5lT`l#0-xd<1odpDA1WUiJQJtNfs=h0+tGO`q(?P2v=|4!msD5y9_lY@V$UUfc~l=wrPZ=&ubl0a+t(unYHCn6fh^`mxov$X z%7Hiqk3LhJWLHD&(QKbBH!^7D&SLzIb!)XUFSL!#>v|h>;MoqjWgT8+H_F*fmwlgV zPcUKqwz9lV=x()6IeVy(6FO_5ay`hn^O2CFY{TQt2z3Q(vKO?V7ftobJ?btDs_s#rhp0Z|(7}_sf zl<4pi1tq|@a+)N-3t~z{$9E{NQpfQ(R|^Z2h9qy0&5Gz0$B=P0!5`dKye*4eD6pZj z1;^Aa6tWi?ZIT7LE0&F?dhYw!W2Y~@x;vwKA$ndxg$`Bv$N@Y?L@H5DEnRbi*O#2+ zjO!F|>*(qvS$I~Jto7=0qSnUrBl7)Fek+@fDXE2O3m$+y z>$1SU)Ll|aiIiQhCs1>REHhE}Gram)dQHWtcT}wocE@iiO5h(asl-rrt1_rE{2V4` zHCOgmGT5YJIs>Gqk;?8d)nkCWl=1`Ai|U0|gR-Xl)N~GYF+I79dKeUNgrCLIMJ<#4 zQG${f3SsS8)n`#LQn_MvhJjjv>r`*N_T=H`u@r)-FW|=^zL5{F+^r}>)t z`MUbqfI&E72meU$sY+Bru)49CA`O&0;J*0Xi774i7U3pL2zSsQ{?=ANMa}&NzNMF# zuuF{c5@A1nUXVhY(Sh4mLeZj+z9W5Oysg`4&6j^_bpo=8vIpjz3;MuwgIZ?oLuD_L z?z*m~1AOYLsutOIn92&^2D}QdJPT1$gZAncK^+ zUHy=^$_A)uz7ifK>PWH=emOe~v&1DArJQ~_b+a=q>#q)bE3Ni_xvoAUE#J7hF8>># zv%c|RyTri%XBQ;tBj5(Ac(ZkwT6@oK%;YfjRUX+c!DalalNS3 z80V@jnrZP?t|GN$hN;QKM(L z%bcib$8>d{QDdyWAgaS+X904S@xq}RD$4NkV%m42^m+;HF81jGz%oIV;zgHUVo;e3 zwamgh7tVp~D540m(|&af$^{*x;+@(GKQ+*SC)%)P86v0S;>p4G!g#@X?opMoL`Sh_ z7A)I`r%~+~()oLI)Asjz#y3PaO~DL};TswXhotBE> zGDfshFnkjoKfJ_5=woW#o8C)B;=`u=^%Tg~pkl{CgE^GKjhhSK%v0aOf0>HmV}RFW zUyBIPrB46{%Tx`~RmE&6R@kG3*m2sMrl ziVXN>?KtsZYe@KBUQ5xxllWD5mRFQ|4&TQ*74zv05%&CUt^j|stUU>nZi<89L^W6T*%r+1 z2k{x00G=K`kA@sP$u-!M)djj$?Nk|lly~(4vj)y^z1id`l%|yGt8JeOKd#QR`4qpr zPOke%K}HX%*^+|KuZe&}!iO&d|!@=&luaj;T+b8-yIor>=1 zy_2GG6h)sy>Q@&#R0fXlgMLDF;Yw}o!6>}@w=c)f{x7f~mmMhowDs*_^S=a?8b^qK z5S&S(kF@*Uv|A`T6c%J^kF@`B^5iKt#8y+P_(VncaaCyyYx@LlZvZNca_3a-L02*X zvQkB)E{L!`tK8P!L08Tjr%7Ad`x?mW;G@*DtG$PpLnVXl-`?I&F;DB0>n5|rSL`a{ blD56#^r|KR-@UxcZWd;TZUxG-s7?P5L?rE3 literal 0 HcmV?d00001 diff --git a/docs/outputdir/doctrees/index.doctree b/docs/outputdir/doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..cd8c2687883721624c0933083ca387003164fb96 GIT binary patch literal 4434 zcmds5+io1k5v4>e$z9%M(UD^*n1@)R5p!2kE-;9|uwWoJ!bA`m1_D?a_D=V1H`qHp z?hCmKBS7+CKn(gJfG0nYUx)$!Mm{1RlG8mG?yfAs56(*nEHGVDQ(awk>QpuV()q`) z_gCVd-=QjVR!Gy&6=kOM8$mE(xh=mc-~DU(=km~ZHMum(>5P?r1sWL_l4_Qh&&xx; z;@2}ZS@?i={J(!cdwNNPB}2)Q#v-vo<;jE?%XBgllD(H?ni0!rGMx2H!9_kj`rL`^ z+*qP*0_A7KCQscsdHjpy@#Ev4zJL7aN%G{;lb`o{e^f5XNS+W%3Y%CiOf;FmnL;wl zKQD3ETc5CL2+jZD3BN2uy8T)~kXu{wO*16EN37KXkpngY7FGo{$UBlQi7^o3 zxs#Jg^|V1|C=^)agzq^4Jt4U}&Sz%rJeyO6S)t8HX=Q-sJ~;)pyedEhScK z4ea^@t|n|yAhCKt*#(oT7!)(oU~GV|%s}LnP5au|(%+IIXXQ!94Ff_=$fC+yNb?R~ z3kePI?O0(Yn|tNodL?)(6zsiDql)4o4)ch=!&mu(Q+{~rhJ?R~@bS9<(GT&vhu@Fz zOP-gG|Cslo{*y|bKjeoe>(T8lGC{_g6nx&he?6tN!gT;HGL<+3cqeCPnmx1HW!7m% z15D4(5;Fs~r~Tv^V*%g2mvoX}a%&57JQ!SFUiRx6L@@hGj|VItRMk3ghK$(&X=^vI z*q{zLw-fonS=wtdSJnAQ>4Y*=7PuwG?U3*JAH2f(@;YoE&W9}|PYNWR$oUxD`L@G0 z$=O?u!<_No%^QDxPJV-&e26^k`Tdu|IA?L$-7XN%P(T2BL!jWp&;FNz|1Jmr(|0?# zzZHwozZ^rqhJ!gRO8=|x2Qd-&pVdKL@oS*`F}vI0+-ULg_UkI)6+maN<%bXWgUAbkBO^~le%J`TPPv@UA+6#y zzgtyupHN!&_4T@`y`=lfjroD^L`DVMgJ!g-IDSjynRJwe1|F$>V?w5s6_%GLH_;c+ zjsw;D?nf0pnPaf=SgK)p<=42N6obQ+->$8+f{olwhA13Fa>e%|CmWT^8FYJ?Kjs_= z%Vrn;&yb0~*WuYgc>FTg`rZ2EN0*?|f@vgsiGKgqgtf8*y1q__e`~JI94%1X9BSs3 z7Uvx(%@O^(*lBf<=&!eGFxY(1wm<&R-?5tHMn-B)3$4b0aMh7JR#~uPj9RS|gXltJ zZup(d>Cn&9x|N>#tws`C6kr=dEiqb9WvdpnO{@R7S5KZ zynpJuW0r%Rt{Uamrd~fk(%CuHG=prYV?!VGPT&Ko_Te4MWNZXGAyzZP38i{0?zerPm^VQvhq*)J=-C#Ur8`1p;%9 z&WQ{LccUa$LrDF#s4&b?m153>)*hP{%CL0)%LtLorWeA93a`5<6((F!aFE)|^`=fx zb6Yr!L1o0EgVF6;Ep4gq&G3XxFwF+iLt=t8ihOT^q}t`l4Zk0X4Y0|_K%o>9Vat#A z9{Qbv6=~Z=!eO?8WJut9s0)9$X|@oXelfFL<#9GE{Xx)-4nQ-t4EG+CUl^}harDlk zpCO(*dXz1h50Y#14;u5RToUkl&U9ZeJBoXN4F+MjL+y5Pl|u>9!15dZJ^(pM+sbSY zkX94^mEWrd&yE{k5Z4jt8;<{RD)%#v={G~-t71cx zV+ir}xhv2W!p$|diJAk@Qy>xf2pFhI;dWpN;3vh0j$bVMQB%kmE{*Dnup)0s06hOB%+1JTVz@d zII(5!!zm!kf@^^q^wL1({`P{jx<^3_Yom4%rm%1YgM2**tLH=h4gZ>d!Kco5gVfFn zxEU@S-(2x8UO0X?Jb#VZVam1h+w+-=wzf0e)uS`8Ur9oNHhPuQ^OAt7C`G0xLnT`< zMB$w!VXNI;u-I*OjUU}!upj>gfT_wKEZeHzU`haeWSD<|5j2-fNr`kLpy(d!AJy`& z5QQ(xKcEzFnL<(Fq8hF;)rKvLEQmK-aZKQ5J*faN<8a&U(Li)HCxlk+hW-Bn;10jP literal 0 HcmV?d00001 diff --git a/docs/outputdir/html/.buildinfo b/docs/outputdir/html/.buildinfo new file mode 100644 index 0000000..6207aee --- /dev/null +++ b/docs/outputdir/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 0ce5f42dd35062342027f693d4c571e0 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/outputdir/html/_sources/index.rst.txt b/docs/outputdir/html/_sources/index.rst.txt new file mode 100644 index 0000000..615c52d --- /dev/null +++ b/docs/outputdir/html/_sources/index.rst.txt @@ -0,0 +1,17 @@ +.. PyAwaitable documentation master file, created by + sphinx-quickstart on Sat Aug 16 11:38:02 2025. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +PyAwaitable documentation +========================= + +Add your content using ``reStructuredText`` syntax. See the +`reStructuredText `_ +documentation for details. + + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + diff --git a/docs/outputdir/html/_static/basic.css b/docs/outputdir/html/_static/basic.css new file mode 100644 index 0000000..4738b2e --- /dev/null +++ b/docs/outputdir/html/_static/basic.css @@ -0,0 +1,906 @@ +/* + * Sphinx stylesheet -- basic theme. + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin-top: 10px; +} + +ul.search li { + padding: 5px 0; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/docs/outputdir/html/_static/doctools.js b/docs/outputdir/html/_static/doctools.js new file mode 100644 index 0000000..0398ebb --- /dev/null +++ b/docs/outputdir/html/_static/doctools.js @@ -0,0 +1,149 @@ +/* + * Base JavaScript utilities for all Sphinx HTML documentation. + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/docs/outputdir/html/_static/documentation_options.js b/docs/outputdir/html/_static/documentation_options.js new file mode 100644 index 0000000..7e4c114 --- /dev/null +++ b/docs/outputdir/html/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/docs/outputdir/html/_static/file.png b/docs/outputdir/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/docs/outputdir/html/_static/language_data.js b/docs/outputdir/html/_static/language_data.js new file mode 100644 index 0000000..c7fe6c6 --- /dev/null +++ b/docs/outputdir/html/_static/language_data.js @@ -0,0 +1,192 @@ +/* + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, if available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/docs/outputdir/html/_static/minus.png b/docs/outputdir/html/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/docs/outputdir/html/_static/plus.png b/docs/outputdir/html/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/docs/outputdir/html/_static/print.css b/docs/outputdir/html/_static/print.css new file mode 100644 index 0000000..bd88769 --- /dev/null +++ b/docs/outputdir/html/_static/print.css @@ -0,0 +1,42 @@ +.sy-head { + position: static; + border-bottom: 1px solid var(--sy-c-divider); +} + +.sy-head-inner { + padding: 0; +} + +.sy-breadcrumbs { + display: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +.code-block-caption, +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; + + -webkit-print-color-adjust: exact; +} + +.yue a.headerlink { + display: none; +} + +.highlight .linenos { + box-shadow: none; +} + +.admonition, +.sd-sphinx-override { + -webkit-print-color-adjust: exact; +} + +.sd-card { + page-break-inside: avoid; +} diff --git a/docs/outputdir/html/_static/pygments.css b/docs/outputdir/html/_static/pygments.css new file mode 100644 index 0000000..449a846 --- /dev/null +++ b/docs/outputdir/html/_static/pygments.css @@ -0,0 +1 @@ +:root{--syntax-pre-bg: var(--accent-a2);--syntax-cap-bg: var(--accent-a3);--syntax-highlight-bg: var(--accent-a3);--syntax-linenos-divider: var(--gray-a6);--syntax-light-text: #24292f;--syntax-light-meta: #807c87;--syntax-light-comment: #6e7781;--syntax-light-constant: #0550ae;--syntax-light-entity: #268bd2;--syntax-light-property: #8250df;--syntax-light-definition: #24292f;--syntax-light-tag: #085;--syntax-light-builtin: #b58900;--syntax-light-keyword: #cf222e;--syntax-light-exception: #e6212e;--syntax-light-string: #0a3069;--syntax-light-regexp: #e40;--syntax-light-variable: #a4480f;--syntax-light-invalid-illegal-text: #f6f8fa;--syntax-light-invalid-illegal-bg: #82071e;--syntax-light-markup-heading: #0550ae;--syntax-light-markup-italic: #24292f;--syntax-light-markup-bold: #24292f;--syntax-light-markup-deleted-text: #82071e;--syntax-light-markup-deleted-bg: #FFEBE9;--syntax-light-markup-inserted-text: #116329;--syntax-light-markup-inserted-bg: #dafbe1;--syntax-light-markup-changed-text: #953800;--syntax-light-markup-changed-bg: #ffd8b5;--syntax-light-markup-ignored-text: #eaeef2;--syntax-light-markup-ignored-bg: #0550ae;--syntax-light-meta-diff-range: #8250df;--syntax-light-special-bg: #dccafa;--syntax-dark-text: #c9d1d9;--syntax-dark-meta: #6e7781;--syntax-dark-comment: #8b949e;--syntax-dark-constant: #79c0ff;--syntax-dark-entity: #47b0fa;--syntax-dark-property: #d2a8ff;--syntax-dark-definition: #c9d1d9;--syntax-dark-tag: #7ee787;--syntax-dark-builtin: #ffd34c;--syntax-dark-keyword: #ff7b72;--syntax-dark-exception: #da473c;--syntax-dark-string: #a5d6ff;--syntax-dark-regexp: #ef954e;--syntax-dark-variable: #ffa657;--syntax-dark-invalid-illegal-text: #f0f6fc;--syntax-dark-invalid-illegal-bg: #8e1519;--syntax-dark-markup-heading: #1f6feb;--syntax-dark-markup-italic: #c9d1d9;--syntax-dark-markup-bold: #c9d1d9;--syntax-dark-markup-deleted-text: #ffdcd7;--syntax-dark-markup-deleted-bg: #67060c;--syntax-dark-markup-inserted-text: #aff5b4;--syntax-dark-markup-inserted-bg: #033a16;--syntax-dark-markup-changed-text: #ffdfb6;--syntax-dark-markup-changed-bg: #5a1e02;--syntax-dark-markup-ignored-text: #c9d1d9;--syntax-dark-markup-ignored-bg: #1158c7;--syntax-dark-meta-diff-range: #d2a8ff;--syntax-dark-special-bg: #4f425d}:root,html.light{--syntax-text: var(--syntax-light-text);--syntax-meta: var(--syntax-light-meta);--syntax-comment: var(--syntax-light-comment);--syntax-constant: var(--syntax-light-constant);--syntax-entity: var(--syntax-light-entity);--syntax-property: var(--syntax-light-property);--syntax-definition: var(--syntax-light-definition);--syntax-tag: var(--syntax-light-tag);--syntax-builtin: var(--syntax-light-builtin);--syntax-keyword: var(--syntax-light-keyword);--syntax-exception: var(--syntax-light-exception);--syntax-string: var(--syntax-light-string);--syntax-regexp: var(--syntax-light-regexp);--syntax-variable: var(--syntax-light-variable);--syntax-invalid-illegal-text: var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-light-markup-heading);--syntax-markup-italic: var(--syntax-light-markup-italic);--syntax-markup-bold: var(--syntax-light-markup-bold);--syntax-markup-deleted-text: var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-light-meta-diff-range);--syntax-special-bg: var(--syntax-light-special-bg)}@media (prefers-color-scheme: dark){:root{--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}}html.dark{--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}.light .dark-code{--syntax-pre-bg: var(--black-a12);--syntax-cap-bg: #1C2024;--syntax-highlight-bg: var(--white-a2);--syntax-linenos-divider: var(--white-a4);--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}html.light .sd-tab-content,html.light .jupyter_container .cell_output{--syntax-pre-bg: var(--color-surface-accent);--syntax-cap-bg: var(--accent-3);--syntax-highlight-bg: var(--accent-a3);--syntax-text: var(--syntax-light-text);--syntax-meta: var(--syntax-light-meta);--syntax-comment: var(--syntax-light-comment);--syntax-constant: var(--syntax-light-constant);--syntax-entity: var(--syntax-light-entity);--syntax-property: var(--syntax-light-property);--syntax-definition: var(--syntax-light-definition);--syntax-tag: var(--syntax-light-tag);--syntax-builtin: var(--syntax-light-builtin);--syntax-keyword: var(--syntax-light-keyword);--syntax-exception: var(--syntax-light-exception);--syntax-string: var(--syntax-light-string);--syntax-regexp: var(--syntax-light-regexp);--syntax-variable: var(--syntax-light-variable);--syntax-invalid-illegal-text: var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-light-markup-heading);--syntax-markup-italic: var(--syntax-light-markup-italic);--syntax-markup-bold: var(--syntax-light-markup-bold);--syntax-markup-deleted-text: var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-light-meta-diff-range);--syntax-highlight-bg: var(--syntax-light-highlight-bg);--syntax-special-bg: var(--syntax-light-special-bg)}.highlight{color:var(--syntax-text);background-color:transparent}.highlight .hll{display:block;background-color:var(--syntax-highlight-bg)}.highlight .c{color:var(--syntax-comment)}.highlight .err{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .g{color:var(--syntax-meta)}.highlight .k{color:var(--syntax-keyword)}.highlight .l{color:var(--syntax-meta)}.highlight .o{color:var(--syntax-constant)}.highlight .x{color:var(--syntax-meta)}.highlight .cm{color:var(--syntax-comment)}.highlight .cp{color:var(--syntax-constant)}.highlight .c1{color:var(--syntax-comment)}.highlight .cs{color:var(--syntax-comment);background-color:var(--syntax-special-bg)}.highlight .gd{color:var(--syntax-markup-deleted-text);background-color:var(--syntax-markup-deleted-bg)}.highlight .ge{color:var(--syntax-markup-italic);font-style:italic}.highlight .gr{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .gh{color:var(--syntax-markup-heading)}.highlight .gi{color:var(--syntax-markup-inserted-text);background-color:var(--syntax-markup-inserted-bg)}.highlight .go,.highlight .gp{color:var(--syntax-meta)}.highlight .gs{color:var(--syntax-markup-bold);font-weight:700}.highlight .gu{color:var(--syntax-markup-heading)}.highlight .gt{color:var(--syntax-meta)}.highlight .kc{color:var(--syntax-constant)}.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:var(--syntax-keyword)}.highlight .kt{color:var(--syntax-entity)}.highlight .ld{color:var(--syntax-meta)}.highlight .m{color:var(--syntax-constant)}.highlight .s{color:var(--syntax-string)}.highlight .il,.highlight .na{color:var(--syntax-constant)}.highlight .nb{color:var(--syntax-builtin)}.highlight .nc{color:var(--syntax-definition)}.highlight .no{color:var(--syntax-constant)}.highlight .nd,.highlight .ni{color:var(--syntax-entity)}.highlight .ne{color:var(--syntax-exception)}.highlight .nf{color:var(--syntax-definition)}.highlight .nt{color:var(--syntax-tag)}.highlight .ow{color:var(--syntax-constant)}.highlight .w{color:var(--syntax-meta)}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--syntax-constant)}.highlight .sb{color:var(--syntax-meta)}.highlight .sc{color:var(--syntax-string)}.highlight .sd{color:var(--syntax-comment)}.highlight .s2,.highlight .se{color:var(--syntax-string)}.highlight .sh{color:var(--syntax-comment)}.highlight .si,.highlight .sx{color:var(--syntax-string)}.highlight .sr{color:var(--syntax-regexp)}.highlight .s1,.highlight .ss{color:var(--syntax-string)}.highlight .bp,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--syntax-variable)} diff --git a/docs/outputdir/html/_static/searchtools.js b/docs/outputdir/html/_static/searchtools.js new file mode 100644 index 0000000..91f4be5 --- /dev/null +++ b/docs/outputdir/html/_static/searchtools.js @@ -0,0 +1,635 @@ +/* + * Sphinx JavaScript utilities for the full-text search. + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename, kind] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +// Global search result kind enum, used by themes to style search results. +class SearchResultKind { + static get index() { return "index"; } + static get object() { return "object"; } + static get text() { return "text"; } + static get title() { return "title"; } +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename, kind] = item; + + let listItem = document.createElement("li"); + // Add a class representing the item's type: + // can be used by a theme's CSS selector for styling + // See SearchResultKind for the class names. + listItem.classList.add(`kind-${kind}`); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms, anchor) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = Documentation.ngettext( + "Search finished, found one page matching the search query.", + "Search finished, found ${resultCount} pages matching the search query.", + resultCount, + ).replace('${resultCount}', resultCount); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename, kind]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString, anchor) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + for (const removalQuery of [".headerlink", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent) return docContent.textContent; + + console.warn( + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.setAttribute("role", "list"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + _parseQuery: (query) => { + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename, kind]. + const normalResults = []; + const nonMainIndexResults = []; + + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase().trim(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + const score = Math.round(Scorer.title * queryLower.length / title.length); + const boost = titles[file] === title ? 1 : 0; // add a boost for document titles + normalResults.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score + boost, + filenames[file], + SearchResultKind.title, + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + SearchResultKind.index, + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } + } + } + } + + // lookup as object + objectTerms.forEach((term) => + normalResults.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + SearchResultKind.object, + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + // find documents, if any, containing the query word in their text/title term indices + // use Object.hasOwnProperty to avoid mismatching against prototype properties + const arr = [ + { files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term }, + { files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, new Map()); + const fileScores = scoreMap.get(file); + fileScores.set(word, record.score); + }); + }); + + // create the mapping + files.forEach((file) => { + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w))); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + SearchResultKind.text, + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/docs/outputdir/html/_static/shibuya.css b/docs/outputdir/html/_static/shibuya.css new file mode 100644 index 0000000..0d3de08 --- /dev/null +++ b/docs/outputdir/html/_static/shibuya.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.order-last{order:9999}.mx-auto{margin-inline:auto}.mr-3{margin-right:calc(var(--spacing)*3)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.w-8{width:calc(var(--spacing)*8)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-6{padding-inline:calc(var(--spacing)*6)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-12{padding-top:calc(var(--spacing)*12)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}@media not all and (min-width:40rem){.max-sm\:max-w-full{max-width:100%}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:w-72{width:calc(var(--spacing)*72)}.md\:shrink-0{flex-shrink:0}}@media (min-width:80rem){.xl\:sticky{position:sticky}.xl\:top-16{top:calc(var(--spacing)*16)}.xl\:hidden{display:none}.xl\:px-12{padding-inline:calc(var(--spacing)*12)}.xl\:pl-0{padding-left:calc(var(--spacing)*0)}}@media print{.print\:hidden{display:none}.print\:pt-6{padding-top:calc(var(--spacing)*6)}}}@font-face{font-family:Twemoji Country Flags;unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;src:url(https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2)format("woff2")}::selection{color:var(--accent-a11);background-color:var(--accent-a3)}html{scroll-behavior:smooth}body{font-family:var(--sy-f-text);color:var(--sy-c-text)}.win{font-family:"Twemoji Country Flags",var(--sy-f-text)}h1,h2,h3,h4,h5{color:var(--sy-c-heading);font-family:var(--sy-f-heading)}strong,em{color:var(--sy-c-bold)}.sy-container{max-width:90rem}.sy-scrollbar{scrollbar-gutter:stable;overflow-y:auto}.sy-scrollbar::-webkit-scrollbar{width:.75rem;height:.75rem}.sy-scrollbar::-webkit-scrollbar-thumb{border-radius:10px}.sy-scrollbar::-webkit-scrollbar-track{background-color:#0000}.sy-scrollbar:hover::-webkit-scrollbar-thumb{background-color:var(--gray-a3);background-clip:content-box;border:3px solid #0000}iconify-icon{vertical-align:middle}.i-lucide{-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;vertical-align:middle;background-color:currentColor;width:1em;height:1em;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.theme-switch .theme-icon,[data-color-mode=auto] .theme-switch .theme-icon{--icon-url:var(--lucide-laptop-url)}[data-color-mode=light] .theme-switch .theme-icon{--icon-url:var(--lucide-sun-url)}[data-color-mode=dark] .theme-switch .theme-icon{--icon-url:var(--lucide-moon-url)}:root,.light,.light-theme{--tomato-1:#fffcfc;--tomato-2:#fff8f7;--tomato-3:#feebe7;--tomato-4:#ffdcd3;--tomato-5:#ffcdc2;--tomato-6:#fdbdaf;--tomato-7:#f5a898;--tomato-8:#ec8e7b;--tomato-9:#e54d2e;--tomato-10:#dd4425;--tomato-11:#d13415;--tomato-12:#5c271f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-1:color(display-p3 .998 .989 .988);--tomato-2:color(display-p3 .994 .974 .969);--tomato-3:color(display-p3 .985 .924 .909);--tomato-4:color(display-p3 .996 .868 .835);--tomato-5:color(display-p3 .98 .812 .77);--tomato-6:color(display-p3 .953 .75 .698);--tomato-7:color(display-p3 .917 .673 .611);--tomato-8:color(display-p3 .875 .575 .502);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .802 .313 .2);--tomato-11:color(display-p3 .755 .259 .152);--tomato-12:color(display-p3 .335 .165 .132)}}}.dark,.dark-theme{--tomato-1:#181111;--tomato-2:#1f1513;--tomato-3:#391714;--tomato-4:#4e1511;--tomato-5:#5e1c16;--tomato-6:#6e2920;--tomato-7:#853a2d;--tomato-8:#ac4d39;--tomato-9:#e54d2e;--tomato-10:#ec6142;--tomato-11:#ff977d;--tomato-12:#fbd3cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--tomato-1:color(display-p3 .09 .068 .067);--tomato-2:color(display-p3 .115 .084 .076);--tomato-3:color(display-p3 .205 .097 .083);--tomato-4:color(display-p3 .282 .099 .077);--tomato-5:color(display-p3 .339 .129 .101);--tomato-6:color(display-p3 .398 .179 .141);--tomato-7:color(display-p3 .487 .245 .194);--tomato-8:color(display-p3 .629 .322 .248);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .862 .415 .298);--tomato-11:color(display-p3 1 .585 .455);--tomato-12:color(display-p3 .959 .833 .802)}}}:root,.light,.light-theme{--tomato-a1:#ff000003;--tomato-a2:#ff200008;--tomato-a3:#f52b0018;--tomato-a4:#ff35002c;--tomato-a5:#ff2e003d;--tomato-a6:#f92d0050;--tomato-a7:#e7280067;--tomato-a8:#db250084;--tomato-a9:#df2600d1;--tomato-a10:#d72400da;--tomato-a11:#cd2200ea;--tomato-a12:#460900e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-a1:color(display-p3 .675 .024 .024/.012);--tomato-a2:color(display-p3 .757 .145 .02/.032);--tomato-a3:color(display-p3 .831 .184 .012/.091);--tomato-a4:color(display-p3 .976 .192 .004/.165);--tomato-a5:color(display-p3 .918 .192 .004/.232);--tomato-a6:color(display-p3 .847 .173 .004/.302);--tomato-a7:color(display-p3 .788 .165 .004/.389);--tomato-a8:color(display-p3 .749 .153 .004/.499);--tomato-a9:color(display-p3 .78 .149 0/.769);--tomato-a10:color(display-p3 .757 .141 0/.8);--tomato-a11:color(display-p3 .755 .259 .152);--tomato-a12:color(display-p3 .335 .165 .132)}}}.dark,.dark-theme{--tomato-a1:#f1121208;--tomato-a2:#ff55330f;--tomato-a3:#ff35232b;--tomato-a4:#fd201142;--tomato-a5:#fe332153;--tomato-a6:#ff4f3864;--tomato-a7:#fd644a7d;--tomato-a8:#fe6d4ea7;--tomato-a9:#fe5431e4;--tomato-a10:#ff6847eb;--tomato-a11:#ff977d;--tomato-a12:#ffd6cefb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--tomato-a1:color(display-p3 .973 .071 .071/.026);--tomato-a2:color(display-p3 .992 .376 .224/.051);--tomato-a3:color(display-p3 .996 .282 .176/.148);--tomato-a4:color(display-p3 1 .204 .118/.232);--tomato-a5:color(display-p3 1 .286 .192/.29);--tomato-a6:color(display-p3 1 .392 .278/.353);--tomato-a7:color(display-p3 1 .459 .349/.45);--tomato-a8:color(display-p3 1 .49 .369/.601);--tomato-a9:color(display-p3 1 .408 .267/.82);--tomato-a10:color(display-p3 1 .478 .341/.853);--tomato-a11:color(display-p3 1 .585 .455);--tomato-a12:color(display-p3 .959 .833 .802)}}}:root,.light,.light-theme{--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-1:color(display-p3 .998 .989 .988);--red-2:color(display-p3 .995 .971 .971);--red-3:color(display-p3 .985 .925 .925);--red-4:color(display-p3 .999 .866 .866);--red-5:color(display-p3 .984 .812 .811);--red-6:color(display-p3 .955 .751 .749);--red-7:color(display-p3 .915 .675 .672);--red-8:color(display-p3 .872 .575 .572);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .798 .294 .285);--red-11:color(display-p3 .744 .234 .222);--red-12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-1:color(display-p3 .093 .068 .067);--red-2:color(display-p3 .118 .077 .079);--red-3:color(display-p3 .211 .081 .099);--red-4:color(display-p3 .287 .079 .113);--red-5:color(display-p3 .348 .11 .142);--red-6:color(display-p3 .414 .16 .183);--red-7:color(display-p3 .508 .224 .236);--red-8:color(display-p3 .659 .298 .297);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .861 .403 .387);--red-11:color(display-p3 1 .57 .55);--red-12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-a1:color(display-p3 .675 .024 .024/.012);--red-a2:color(display-p3 .863 .024 .024/.028);--red-a3:color(display-p3 .792 .008 .008/.075);--red-a4:color(display-p3 1 .008 .008/.134);--red-a5:color(display-p3 .918 .008 .008/.189);--red-a6:color(display-p3 .831 .02 .004/.251);--red-a7:color(display-p3 .741 .016 .004/.33);--red-a8:color(display-p3 .698 .012 .004/.428);--red-a9:color(display-p3 .749 .008 0/.675);--red-a10:color(display-p3 .714 .012 0/.714);--red-a11:color(display-p3 .744 .234 .222);--red-a12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-a1:color(display-p3 .984 .071 .071/.03);--red-a2:color(display-p3 .996 .282 .282/.055);--red-a3:color(display-p3 1 .169 .271/.156);--red-a4:color(display-p3 1 .118 .267/.236);--red-a5:color(display-p3 1 .212 .314/.303);--red-a6:color(display-p3 1 .318 .38/.374);--red-a7:color(display-p3 1 .4 .424/.475);--red-a8:color(display-p3 1 .431 .431/.635);--red-a9:color(display-p3 1 .388 .384/.82);--red-a10:color(display-p3 1 .463 .447/.853);--red-a11:color(display-p3 1 .57 .55);--red-a12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--ruby-1:#fffcfd;--ruby-2:#fff7f8;--ruby-3:#feeaed;--ruby-4:#ffdce1;--ruby-5:#ffced6;--ruby-6:#f8bfc8;--ruby-7:#efacb8;--ruby-8:#e592a3;--ruby-9:#e54666;--ruby-10:#dc3b5d;--ruby-11:#ca244d;--ruby-12:#64172b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--ruby-1:color(display-p3 .998 .989 .992);--ruby-2:color(display-p3 .995 .971 .974);--ruby-3:color(display-p3 .983 .92 .928);--ruby-4:color(display-p3 .987 .869 .885);--ruby-5:color(display-p3 .968 .817 .839);--ruby-6:color(display-p3 .937 .758 .786);--ruby-7:color(display-p3 .897 .685 .721);--ruby-8:color(display-p3 .851 .588 .639);--ruby-9:color(display-p3 .83 .323 .408);--ruby-10:color(display-p3 .795 .286 .375);--ruby-11:color(display-p3 .728 .211 .311);--ruby-12:color(display-p3 .36 .115 .171)}}}.dark,.dark-theme{--ruby-1:#191113;--ruby-2:#1e1517;--ruby-3:#3a141e;--ruby-4:#4e1325;--ruby-5:#5e1a2e;--ruby-6:#6f2539;--ruby-7:#883447;--ruby-8:#b3445a;--ruby-9:#e54666;--ruby-10:#ec5a72;--ruby-11:#ff949d;--ruby-12:#fed2e1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--ruby-1:color(display-p3 .093 .068 .074);--ruby-2:color(display-p3 .113 .083 .089);--ruby-3:color(display-p3 .208 .088 .117);--ruby-4:color(display-p3 .279 .092 .147);--ruby-5:color(display-p3 .337 .12 .18);--ruby-6:color(display-p3 .401 .166 .223);--ruby-7:color(display-p3 .495 .224 .281);--ruby-8:color(display-p3 .652 .295 .359);--ruby-9:color(display-p3 .83 .323 .408);--ruby-10:color(display-p3 .857 .392 .455);--ruby-11:color(display-p3 1 .57 .59);--ruby-12:color(display-p3 .968 .83 .88)}}}:root,.light,.light-theme{--ruby-a1:#ff005503;--ruby-a2:#ff002008;--ruby-a3:#f3002515;--ruby-a4:#ff002523;--ruby-a5:#ff002a31;--ruby-a6:#e4002440;--ruby-a7:#ce002553;--ruby-a8:#c300286d;--ruby-a9:#db002cb9;--ruby-a10:#d2002cc4;--ruby-a11:#c10030db;--ruby-a12:#550016e8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--ruby-a1:color(display-p3 .675 .024 .349/.012);--ruby-a2:color(display-p3 .863 .024 .024/.028);--ruby-a3:color(display-p3 .804 .008 .11/.079);--ruby-a4:color(display-p3 .91 .008 .125/.13);--ruby-a5:color(display-p3 .831 .004 .133/.185);--ruby-a6:color(display-p3 .745 .004 .118/.244);--ruby-a7:color(display-p3 .678 .004 .114/.314);--ruby-a8:color(display-p3 .639 .004 .125/.412);--ruby-a9:color(display-p3 .753 0 .129/.679);--ruby-a10:color(display-p3 .714 0 .125/.714);--ruby-a11:color(display-p3 .728 .211 .311);--ruby-a12:color(display-p3 .36 .115 .171)}}}.dark,.dark-theme{--ruby-a1:#f4124a09;--ruby-a2:#fe5a7f0e;--ruby-a3:#ff235d2c;--ruby-a4:#fd195e42;--ruby-a5:#fe2d6b53;--ruby-a6:#ff447665;--ruby-a7:#ff577d80;--ruby-a8:#ff5c7cae;--ruby-a9:#fe4c70e4;--ruby-a10:#ff617beb;--ruby-a11:#ff949d;--ruby-a12:#ffd3e2fe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--ruby-a1:color(display-p3 .984 .071 .329/.03);--ruby-a2:color(display-p3 .992 .376 .529/.051);--ruby-a3:color(display-p3 .996 .196 .404/.152);--ruby-a4:color(display-p3 1 .173 .416/.227);--ruby-a5:color(display-p3 1 .259 .459/.29);--ruby-a6:color(display-p3 1 .341 .506/.358);--ruby-a7:color(display-p3 1 .412 .541/.458);--ruby-a8:color(display-p3 1 .431 .537/.627);--ruby-a9:color(display-p3 1 .376 .482/.82);--ruby-a10:color(display-p3 1 .447 .522/.849);--ruby-a11:color(display-p3 1 .57 .59);--ruby-a12:color(display-p3 .968 .83 .88)}}}:root,.light,.light-theme{--crimson-1:#fffcfd;--crimson-2:#fef7f9;--crimson-3:#ffe9f0;--crimson-4:#fedce7;--crimson-5:#facedd;--crimson-6:#f3bed1;--crimson-7:#eaacc3;--crimson-8:#e093b2;--crimson-9:#e93d82;--crimson-10:#df3478;--crimson-11:#cb1d63;--crimson-12:#621639}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--crimson-1:color(display-p3 .998 .989 .992);--crimson-2:color(display-p3 .991 .969 .976);--crimson-3:color(display-p3 .987 .917 .941);--crimson-4:color(display-p3 .975 .866 .904);--crimson-5:color(display-p3 .953 .813 .864);--crimson-6:color(display-p3 .921 .755 .817);--crimson-7:color(display-p3 .88 .683 .761);--crimson-8:color(display-p3 .834 .592 .694);--crimson-9:color(display-p3 .843 .298 .507);--crimson-10:color(display-p3 .807 .266 .468);--crimson-11:color(display-p3 .731 .195 .388);--crimson-12:color(display-p3 .352 .111 .221)}}}.dark,.dark-theme{--crimson-1:#191114;--crimson-2:#201318;--crimson-3:#381525;--crimson-4:#4d122f;--crimson-5:#5c1839;--crimson-6:#6d2545;--crimson-7:#873356;--crimson-8:#b0436e;--crimson-9:#e93d82;--crimson-10:#ee518a;--crimson-11:#ff92ad;--crimson-12:#fdd3e8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--crimson-1:color(display-p3 .093 .068 .078);--crimson-2:color(display-p3 .117 .078 .095);--crimson-3:color(display-p3 .203 .091 .143);--crimson-4:color(display-p3 .277 .087 .182);--crimson-5:color(display-p3 .332 .115 .22);--crimson-6:color(display-p3 .394 .162 .268);--crimson-7:color(display-p3 .489 .222 .336);--crimson-8:color(display-p3 .638 .289 .429);--crimson-9:color(display-p3 .843 .298 .507);--crimson-10:color(display-p3 .864 .364 .539);--crimson-11:color(display-p3 1 .56 .66);--crimson-12:color(display-p3 .966 .834 .906)}}}:root,.light,.light-theme{--crimson-a1:#ff005503;--crimson-a2:#e0004008;--crimson-a3:#ff005216;--crimson-a4:#f8005123;--crimson-a5:#e5004f31;--crimson-a6:#d0004b41;--crimson-a7:#bf004753;--crimson-a8:#b6004a6c;--crimson-a9:#e2005bc2;--crimson-a10:#d70056cb;--crimson-a11:#c4004fe2;--crimson-a12:#530026e9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--crimson-a1:color(display-p3 .675 .024 .349/.012);--crimson-a2:color(display-p3 .757 .02 .267/.032);--crimson-a3:color(display-p3 .859 .008 .294/.083);--crimson-a4:color(display-p3 .827 .008 .298/.134);--crimson-a5:color(display-p3 .753 .008 .275/.189);--crimson-a6:color(display-p3 .682 .004 .247/.244);--crimson-a7:color(display-p3 .62 .004 .251/.318);--crimson-a8:color(display-p3 .6 .004 .251/.408);--crimson-a9:color(display-p3 .776 0 .298/.702);--crimson-a10:color(display-p3 .737 0 .275/.734);--crimson-a11:color(display-p3 .731 .195 .388);--crimson-a12:color(display-p3 .352 .111 .221)}}}.dark,.dark-theme{--crimson-a1:#f4126709;--crimson-a2:#f22f7a11;--crimson-a3:#fe2a8b2a;--crimson-a4:#fd158741;--crimson-a5:#fd278f51;--crimson-a6:#fe459763;--crimson-a7:#fd559b7f;--crimson-a8:#fe5b9bab;--crimson-a9:#fe418de8;--crimson-a10:#ff5693ed;--crimson-a11:#ff92ad;--crimson-a12:#ffd5eafd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--crimson-a1:color(display-p3 .984 .071 .463/.03);--crimson-a2:color(display-p3 .996 .282 .569/.055);--crimson-a3:color(display-p3 .996 .227 .573/.148);--crimson-a4:color(display-p3 1 .157 .569/.227);--crimson-a5:color(display-p3 1 .231 .604/.286);--crimson-a6:color(display-p3 1 .337 .643/.349);--crimson-a7:color(display-p3 1 .416 .663/.454);--crimson-a8:color(display-p3 .996 .427 .651/.614);--crimson-a9:color(display-p3 1 .345 .596/.832);--crimson-a10:color(display-p3 1 .42 .62/.853);--crimson-a11:color(display-p3 1 .56 .66);--crimson-a12:color(display-p3 .966 .834 .906)}}}:root,.light,.light-theme{--pink-1:#fffcfe;--pink-2:#fef7fb;--pink-3:#fee9f5;--pink-4:#fbdcef;--pink-5:#f6cee7;--pink-6:#efbfdd;--pink-7:#e7acd0;--pink-8:#dd93c2;--pink-9:#d6409f;--pink-10:#cf3897;--pink-11:#c2298a;--pink-12:#651249}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--pink-1:color(display-p3 .998 .989 .996);--pink-2:color(display-p3 .992 .97 .985);--pink-3:color(display-p3 .981 .917 .96);--pink-4:color(display-p3 .963 .867 .932);--pink-5:color(display-p3 .939 .815 .899);--pink-6:color(display-p3 .907 .756 .859);--pink-7:color(display-p3 .869 .683 .81);--pink-8:color(display-p3 .825 .59 .751);--pink-9:color(display-p3 .775 .297 .61);--pink-10:color(display-p3 .748 .27 .581);--pink-11:color(display-p3 .698 .219 .528);--pink-12:color(display-p3 .363 .101 .279)}}}.dark,.dark-theme{--pink-1:#191117;--pink-2:#21121d;--pink-3:#37172f;--pink-4:#4b143d;--pink-5:#591c47;--pink-6:#692955;--pink-7:#833869;--pink-8:#a84885;--pink-9:#d6409f;--pink-10:#de51a8;--pink-11:#ff8dcc;--pink-12:#fdd1ea}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--pink-1:color(display-p3 .093 .068 .089);--pink-2:color(display-p3 .121 .073 .11);--pink-3:color(display-p3 .198 .098 .179);--pink-4:color(display-p3 .271 .095 .231);--pink-5:color(display-p3 .32 .127 .273);--pink-6:color(display-p3 .382 .177 .326);--pink-7:color(display-p3 .477 .238 .405);--pink-8:color(display-p3 .612 .304 .51);--pink-9:color(display-p3 .775 .297 .61);--pink-10:color(display-p3 .808 .356 .645);--pink-11:color(display-p3 1 .535 .78);--pink-12:color(display-p3 .964 .826 .912)}}}:root,.light,.light-theme{--pink-a1:#ff00aa03;--pink-a2:#e0008008;--pink-a3:#f4008c16;--pink-a4:#e2008b23;--pink-a5:#d1008331;--pink-a6:#c0007840;--pink-a7:#b6006f53;--pink-a8:#af006f6c;--pink-a9:#c8007fbf;--pink-a10:#c2007ac7;--pink-a11:#b60074d6;--pink-a12:#59003bed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--pink-a1:color(display-p3 .675 .024 .675/.012);--pink-a2:color(display-p3 .757 .02 .51/.032);--pink-a3:color(display-p3 .765 .008 .529/.083);--pink-a4:color(display-p3 .737 .008 .506/.134);--pink-a5:color(display-p3 .663 .004 .451/.185);--pink-a6:color(display-p3 .616 .004 .424/.244);--pink-a7:color(display-p3 .596 .004 .412/.318);--pink-a8:color(display-p3 .573 .004 .404/.412);--pink-a9:color(display-p3 .682 0 .447/.702);--pink-a10:color(display-p3 .655 0 .424/.73);--pink-a11:color(display-p3 .698 .219 .528);--pink-a12:color(display-p3 .363 .101 .279)}}}.dark,.dark-theme{--pink-a1:#f412bc09;--pink-a2:#f420bb12;--pink-a3:#fe37cc29;--pink-a4:#fc1ec43f;--pink-a5:#fd35c24e;--pink-a6:#fd51c75f;--pink-a7:#fd62c87b;--pink-a8:#ff68c8a2;--pink-a9:#fe49bcd4;--pink-a10:#ff5cc0dc;--pink-a11:#ff8dcc;--pink-a12:#ffd3ecfd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--pink-a1:color(display-p3 .984 .071 .855/.03);--pink-a2:color(display-p3 1 .2 .8/.059);--pink-a3:color(display-p3 1 .294 .886/.139);--pink-a4:color(display-p3 1 .192 .82/.219);--pink-a5:color(display-p3 1 .282 .827/.274);--pink-a6:color(display-p3 1 .396 .835/.337);--pink-a7:color(display-p3 1 .459 .831/.442);--pink-a8:color(display-p3 1 .478 .827/.585);--pink-a9:color(display-p3 1 .373 .784/.761);--pink-a10:color(display-p3 1 .435 .792/.795);--pink-a11:color(display-p3 1 .535 .78);--pink-a12:color(display-p3 .964 .826 .912)}}}:root,.light,.light-theme{--plum-1:#fefcff;--plum-2:#fdf7fd;--plum-3:#fbebfb;--plum-4:#f7def8;--plum-5:#f2d1f3;--plum-6:#e9c2ec;--plum-7:#deade3;--plum-8:#cf91d8;--plum-9:#ab4aba;--plum-10:#a144af;--plum-11:#953ea3;--plum-12:#53195d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--plum-1:color(display-p3 .995 .988 .999);--plum-2:color(display-p3 .988 .971 .99);--plum-3:color(display-p3 .973 .923 .98);--plum-4:color(display-p3 .953 .875 .966);--plum-5:color(display-p3 .926 .825 .945);--plum-6:color(display-p3 .89 .765 .916);--plum-7:color(display-p3 .84 .686 .877);--plum-8:color(display-p3 .775 .58 .832);--plum-9:color(display-p3 .624 .313 .708);--plum-10:color(display-p3 .587 .29 .667);--plum-11:color(display-p3 .543 .263 .619);--plum-12:color(display-p3 .299 .114 .352)}}}.dark,.dark-theme{--plum-1:#181118;--plum-2:#201320;--plum-3:#351a35;--plum-4:#451d47;--plum-5:#512454;--plum-6:#5e3061;--plum-7:#734079;--plum-8:#92549c;--plum-9:#ab4aba;--plum-10:#b658c4;--plum-11:#e796f3;--plum-12:#f4d4f4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--plum-1:color(display-p3 .09 .068 .092);--plum-2:color(display-p3 .118 .077 .121);--plum-3:color(display-p3 .192 .105 .202);--plum-4:color(display-p3 .25 .121 .271);--plum-5:color(display-p3 .293 .152 .319);--plum-6:color(display-p3 .343 .198 .372);--plum-7:color(display-p3 .424 .262 .461);--plum-8:color(display-p3 .54 .341 .595);--plum-9:color(display-p3 .624 .313 .708);--plum-10:color(display-p3 .666 .365 .748);--plum-11:color(display-p3 .86 .602 .933);--plum-12:color(display-p3 .936 .836 .949)}}}:root,.light,.light-theme{--plum-a1:#aa00ff03;--plum-a2:#c000c008;--plum-a3:#cc00cc14;--plum-a4:#c200c921;--plum-a5:#b700bd2e;--plum-a6:#a400b03d;--plum-a7:#9900a852;--plum-a8:#9000a56e;--plum-a9:#89009eb5;--plum-a10:#7f0092bb;--plum-a11:#730086c1;--plum-a12:#40004be6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--plum-a1:color(display-p3 .675 .024 1/.012);--plum-a2:color(display-p3 .58 .024 .58/.028);--plum-a3:color(display-p3 .655 .008 .753/.079);--plum-a4:color(display-p3 .627 .008 .722/.126);--plum-a5:color(display-p3 .58 .004 .69/.177);--plum-a6:color(display-p3 .537 .004 .655/.236);--plum-a7:color(display-p3 .49 .004 .616/.314);--plum-a8:color(display-p3 .471 .004 .6/.42);--plum-a9:color(display-p3 .451 0 .576/.687);--plum-a10:color(display-p3 .42 0 .529/.71);--plum-a11:color(display-p3 .543 .263 .619);--plum-a12:color(display-p3 .299 .114 .352)}}}.dark,.dark-theme{--plum-a1:#f112f108;--plum-a2:#f22ff211;--plum-a3:#fd4cfd27;--plum-a4:#f646ff3a;--plum-a5:#f455ff48;--plum-a6:#f66dff56;--plum-a7:#f07cfd70;--plum-a8:#ee84ff95;--plum-a9:#e961feb6;--plum-a10:#ed70ffc0;--plum-a11:#f19cfef3;--plum-a12:#feddfef4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--plum-a1:color(display-p3 .973 .071 .973/.026);--plum-a2:color(display-p3 .933 .267 1/.059);--plum-a3:color(display-p3 .918 .333 .996/.148);--plum-a4:color(display-p3 .91 .318 1/.219);--plum-a5:color(display-p3 .914 .388 1/.269);--plum-a6:color(display-p3 .906 .463 1/.328);--plum-a7:color(display-p3 .906 .529 1/.425);--plum-a8:color(display-p3 .906 .553 1/.568);--plum-a9:color(display-p3 .875 .427 1/.69);--plum-a10:color(display-p3 .886 .471 .996/.732);--plum-a11:color(display-p3 .86 .602 .933);--plum-a12:color(display-p3 .936 .836 .949)}}}:root,.light,.light-theme{--purple-1:#fefcfe;--purple-2:#fbf7fe;--purple-3:#f7edfe;--purple-4:#f2e2fc;--purple-5:#ead5f9;--purple-6:#e0c4f4;--purple-7:#d1afec;--purple-8:#be93e4;--purple-9:#8e4ec6;--purple-10:#8347b9;--purple-11:#8145b5;--purple-12:#402060}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--purple-1:color(display-p3 .995 .988 .996);--purple-2:color(display-p3 .983 .971 .993);--purple-3:color(display-p3 .963 .931 .989);--purple-4:color(display-p3 .937 .888 .981);--purple-5:color(display-p3 .904 .837 .966);--purple-6:color(display-p3 .86 .774 .942);--purple-7:color(display-p3 .799 .69 .91);--purple-8:color(display-p3 .719 .583 .874);--purple-9:color(display-p3 .523 .318 .751);--purple-10:color(display-p3 .483 .289 .7);--purple-11:color(display-p3 .473 .281 .687);--purple-12:color(display-p3 .234 .132 .363)}}}.dark,.dark-theme{--purple-1:#18111b;--purple-2:#1e1523;--purple-3:#301c3b;--purple-4:#3d224e;--purple-5:#48295c;--purple-6:#54346b;--purple-7:#664282;--purple-8:#8457aa;--purple-9:#8e4ec6;--purple-10:#9a5cd0;--purple-11:#d19dff;--purple-12:#ecd9fa}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--purple-1:color(display-p3 .09 .068 .103);--purple-2:color(display-p3 .113 .082 .134);--purple-3:color(display-p3 .175 .112 .224);--purple-4:color(display-p3 .224 .137 .297);--purple-5:color(display-p3 .264 .167 .349);--purple-6:color(display-p3 .311 .208 .406);--purple-7:color(display-p3 .381 .266 .496);--purple-8:color(display-p3 .49 .349 .649);--purple-9:color(display-p3 .523 .318 .751);--purple-10:color(display-p3 .57 .373 .791);--purple-11:color(display-p3 .8 .62 1);--purple-12:color(display-p3 .913 .854 .971)}}}:root,.light,.light-theme{--purple-a1:#aa00aa03;--purple-a2:#8000e008;--purple-a3:#8e00f112;--purple-a4:#8d00e51d;--purple-a5:#8000db2a;--purple-a6:#7a01d03b;--purple-a7:#6d00c350;--purple-a8:#6600c06c;--purple-a9:#5c00adb1;--purple-a10:#53009eb8;--purple-a11:#52009aba;--purple-a12:#250049df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--purple-a1:color(display-p3 .675 .024 .675/.012);--purple-a2:color(display-p3 .443 .024 .722/.028);--purple-a3:color(display-p3 .506 .008 .835/.071);--purple-a4:color(display-p3 .451 .004 .831/.114);--purple-a5:color(display-p3 .431 .004 .788/.165);--purple-a6:color(display-p3 .384 .004 .745/.228);--purple-a7:color(display-p3 .357 .004 .71/.31);--purple-a8:color(display-p3 .322 .004 .702/.416);--purple-a9:color(display-p3 .298 0 .639/.683);--purple-a10:color(display-p3 .271 0 .58/.71);--purple-a11:color(display-p3 .473 .281 .687);--purple-a12:color(display-p3 .234 .132 .363)}}}.dark,.dark-theme{--purple-a1:#b412f90b;--purple-a2:#b744f714;--purple-a3:#c150ff2d;--purple-a4:#bb53fd42;--purple-a5:#be5cfd51;--purple-a6:#c16dfd61;--purple-a7:#c378fd7a;--purple-a8:#c47effa4;--purple-a9:#b661ffc2;--purple-a10:#bc6fffcd;--purple-a11:#d19dff;--purple-a12:#f1ddfffa}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--purple-a1:color(display-p3 .686 .071 .996/.038);--purple-a2:color(display-p3 .722 .286 .996/.072);--purple-a3:color(display-p3 .718 .349 .996/.169);--purple-a4:color(display-p3 .702 .353 1/.248);--purple-a5:color(display-p3 .718 .404 1/.303);--purple-a6:color(display-p3 .733 .455 1/.366);--purple-a7:color(display-p3 .753 .506 1/.458);--purple-a8:color(display-p3 .749 .522 1/.622);--purple-a9:color(display-p3 .686 .408 1/.736);--purple-a10:color(display-p3 .71 .459 1/.778);--purple-a11:color(display-p3 .8 .62 1);--purple-a12:color(display-p3 .913 .854 .971)}}}:root,.light,.light-theme{--violet-1:#fdfcfe;--violet-2:#faf8ff;--violet-3:#f4f0fe;--violet-4:#ebe4ff;--violet-5:#e1d9ff;--violet-6:#d4cafe;--violet-7:#c2b5f5;--violet-8:#aa99ec;--violet-9:#6e56cf;--violet-10:#654dc4;--violet-11:#6550b9;--violet-12:#2f265f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--violet-1:color(display-p3 .991 .988 .995);--violet-2:color(display-p3 .978 .974 .998);--violet-3:color(display-p3 .953 .943 .993);--violet-4:color(display-p3 .916 .897 1);--violet-5:color(display-p3 .876 .851 1);--violet-6:color(display-p3 .825 .793 .981);--violet-7:color(display-p3 .752 .712 .943);--violet-8:color(display-p3 .654 .602 .902);--violet-9:color(display-p3 .417 .341 .784);--violet-10:color(display-p3 .381 .306 .741);--violet-11:color(display-p3 .383 .317 .702);--violet-12:color(display-p3 .179 .15 .359)}}}.dark,.dark-theme{--violet-1:#14121f;--violet-2:#1b1525;--violet-3:#291f43;--violet-4:#33255b;--violet-5:#3c2e69;--violet-6:#473876;--violet-7:#56468b;--violet-8:#6958ad;--violet-9:#6e56cf;--violet-10:#7d66d9;--violet-11:#baa7ff;--violet-12:#e2ddfe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--violet-1:color(display-p3 .077 .071 .118);--violet-2:color(display-p3 .101 .084 .141);--violet-3:color(display-p3 .154 .123 .256);--violet-4:color(display-p3 .191 .148 .345);--violet-5:color(display-p3 .226 .182 .396);--violet-6:color(display-p3 .269 .223 .449);--violet-7:color(display-p3 .326 .277 .53);--violet-8:color(display-p3 .399 .346 .656);--violet-9:color(display-p3 .417 .341 .784);--violet-10:color(display-p3 .477 .402 .823);--violet-11:color(display-p3 .72 .65 1);--violet-12:color(display-p3 .883 .867 .986)}}}:root,.light,.light-theme{--violet-a1:#5500aa03;--violet-a2:#4900ff07;--violet-a3:#4400ee0f;--violet-a4:#4300ff1b;--violet-a5:#3600ff26;--violet-a6:#3100fb35;--violet-a7:#2d01dd4a;--violet-a8:#2b00d066;--violet-a9:#2400b7a9;--violet-a10:#2300abb2;--violet-a11:#1f0099af;--violet-a12:#0b0043d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--violet-a1:color(display-p3 .349 .024 .675/.012);--violet-a2:color(display-p3 .161 .024 .863/.028);--violet-a3:color(display-p3 .204 .004 .871/.059);--violet-a4:color(display-p3 .196 .004 1/.102);--violet-a5:color(display-p3 .165 .008 1/.15);--violet-a6:color(display-p3 .153 .004 .906/.208);--violet-a7:color(display-p3 .141 .004 .796/.287);--violet-a8:color(display-p3 .133 .004 .753/.397);--violet-a9:color(display-p3 .114 0 .675/.659);--violet-a10:color(display-p3 .11 0 .627/.695);--violet-a11:color(display-p3 .383 .317 .702);--violet-a12:color(display-p3 .179 .15 .359)}}}.dark,.dark-theme{--violet-a1:#4422ff0f;--violet-a2:#853ff916;--violet-a3:#8354fe36;--violet-a4:#7d51fd50;--violet-a5:#845ffd5f;--violet-a6:#8f6cfd6d;--violet-a7:#9879ff83;--violet-a8:#977dfea8;--violet-a9:#8668ffcc;--violet-a10:#9176fed7;--violet-a11:#baa7ff;--violet-a12:#e3defffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--violet-a1:color(display-p3 .282 .141 .996/.055);--violet-a2:color(display-p3 .51 .263 1/.08);--violet-a3:color(display-p3 .494 .337 .996/.202);--violet-a4:color(display-p3 .49 .345 1/.299);--violet-a5:color(display-p3 .525 .392 1/.353);--violet-a6:color(display-p3 .569 .455 1/.408);--violet-a7:color(display-p3 .588 .494 1/.496);--violet-a8:color(display-p3 .596 .51 1/.631);--violet-a9:color(display-p3 .522 .424 1/.769);--violet-a10:color(display-p3 .576 .482 1/.811);--violet-a11:color(display-p3 .72 .65 1);--violet-a12:color(display-p3 .883 .867 .986)}}}:root,.light,.light-theme{--iris-1:#fdfdff;--iris-2:#f8f8ff;--iris-3:#f0f1fe;--iris-4:#e6e7ff;--iris-5:#dadcff;--iris-6:#cbcdff;--iris-7:#b8baf8;--iris-8:#9b9ef0;--iris-9:#5b5bd6;--iris-10:#5151cd;--iris-11:#5753c6;--iris-12:#272962}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--iris-1:color(display-p3 .992 .992 .999);--iris-2:color(display-p3 .972 .973 .998);--iris-3:color(display-p3 .943 .945 .992);--iris-4:color(display-p3 .902 .906 1);--iris-5:color(display-p3 .857 .861 1);--iris-6:color(display-p3 .799 .805 .987);--iris-7:color(display-p3 .721 .727 .955);--iris-8:color(display-p3 .61 .619 .918);--iris-9:color(display-p3 .357 .357 .81);--iris-10:color(display-p3 .318 .318 .774);--iris-11:color(display-p3 .337 .326 .748);--iris-12:color(display-p3 .154 .161 .371)}}}.dark,.dark-theme{--iris-1:#13131e;--iris-2:#171625;--iris-3:#202248;--iris-4:#262a65;--iris-5:#303374;--iris-6:#3d3e82;--iris-7:#4a4a95;--iris-8:#5958b1;--iris-9:#5b5bd6;--iris-10:#6e6ade;--iris-11:#b1a9ff;--iris-12:#e0dffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--iris-1:color(display-p3 .075 .075 .114);--iris-2:color(display-p3 .089 .086 .14);--iris-3:color(display-p3 .128 .134 .272);--iris-4:color(display-p3 .153 .165 .382);--iris-5:color(display-p3 .192 .201 .44);--iris-6:color(display-p3 .239 .241 .491);--iris-7:color(display-p3 .291 .289 .565);--iris-8:color(display-p3 .35 .345 .673);--iris-9:color(display-p3 .357 .357 .81);--iris-10:color(display-p3 .428 .416 .843);--iris-11:color(display-p3 .685 .662 1);--iris-12:color(display-p3 .878 .875 .986)}}}:root,.light,.light-theme{--iris-a1:#0000ff02;--iris-a2:#0000ff07;--iris-a3:#0011ee0f;--iris-a4:#000bff19;--iris-a5:#000eff25;--iris-a6:#000aff34;--iris-a7:#0008e647;--iris-a8:#0008d964;--iris-a9:#0000c0a4;--iris-a10:#0000b6ae;--iris-a11:#0600abac;--iris-a12:#000246d8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--iris-a1:color(display-p3 .02 .02 1/.008);--iris-a2:color(display-p3 .024 .024 .863/.028);--iris-a3:color(display-p3 .004 .071 .871/.059);--iris-a4:color(display-p3 .012 .051 1/.099);--iris-a5:color(display-p3 .008 .035 1/.142);--iris-a6:color(display-p3 0 .02 .941/.2);--iris-a7:color(display-p3 .004 .02 .847/.279);--iris-a8:color(display-p3 .004 .024 .788/.389);--iris-a9:color(display-p3 0 0 .706/.644);--iris-a10:color(display-p3 0 0 .667/.683);--iris-a11:color(display-p3 .337 .326 .748);--iris-a12:color(display-p3 .154 .161 .371)}}}.dark,.dark-theme{--iris-a1:#3636fe0e;--iris-a2:#564bf916;--iris-a3:#525bff3b;--iris-a4:#4d58ff5a;--iris-a5:#5b62fd6b;--iris-a6:#6d6ffd7a;--iris-a7:#7777fe8e;--iris-a8:#7b7afeac;--iris-a9:#6a6afed4;--iris-a10:#7d79ffdc;--iris-a11:#b1a9ff;--iris-a12:#e1e0fffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--iris-a1:color(display-p3 .224 .224 .992/.051);--iris-a2:color(display-p3 .361 .314 1/.08);--iris-a3:color(display-p3 .357 .373 1/.219);--iris-a4:color(display-p3 .325 .361 1/.337);--iris-a5:color(display-p3 .38 .4 1/.4);--iris-a6:color(display-p3 .447 .447 1/.454);--iris-a7:color(display-p3 .486 .486 1/.534);--iris-a8:color(display-p3 .502 .494 1/.652);--iris-a9:color(display-p3 .431 .431 1/.799);--iris-a10:color(display-p3 .502 .486 1/.832);--iris-a11:color(display-p3 .685 .662 1);--iris-a12:color(display-p3 .878 .875 .986)}}}:root,.light,.light-theme{--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-1:color(display-p3 .992 .992 .996);--indigo-2:color(display-p3 .971 .977 .998);--indigo-3:color(display-p3 .933 .948 .992);--indigo-4:color(display-p3 .885 .914 1);--indigo-5:color(display-p3 .831 .87 1);--indigo-6:color(display-p3 .767 .814 .995);--indigo-7:color(display-p3 .685 .74 .957);--indigo-8:color(display-p3 .569 .639 .916);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .234 .343 .801);--indigo-11:color(display-p3 .256 .354 .755);--indigo-12:color(display-p3 .133 .175 .348)}}}.dark,.dark-theme{--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-1:color(display-p3 .068 .074 .118);--indigo-2:color(display-p3 .081 .089 .144);--indigo-3:color(display-p3 .105 .141 .275);--indigo-4:color(display-p3 .129 .18 .369);--indigo-5:color(display-p3 .163 .22 .439);--indigo-6:color(display-p3 .203 .262 .5);--indigo-7:color(display-p3 .245 .309 .575);--indigo-8:color(display-p3 .285 .362 .674);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .354 .445 .866);--indigo-11:color(display-p3 .63 .69 1);--indigo-12:color(display-p3 .848 .881 .99)}}}:root,.light,.light-theme{--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:#0031d2c1;--indigo-a10:#002ec9cc;--indigo-a11:#002bb7c5;--indigo-a12:#001046e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-a1:color(display-p3 .02 .02 .51/.008);--indigo-a2:color(display-p3 .024 .161 .863/.028);--indigo-a3:color(display-p3 .008 .239 .886/.067);--indigo-a4:color(display-p3 .004 .247 1/.114);--indigo-a5:color(display-p3 .004 .235 1/.169);--indigo-a6:color(display-p3 .004 .208 .984/.232);--indigo-a7:color(display-p3 .004 .176 .863/.314);--indigo-a8:color(display-p3 .004 .165 .812/.432);--indigo-a9:color(display-p3 0 .153 .773/.726);--indigo-a10:color(display-p3 0 .137 .737/.765);--indigo-a11:color(display-p3 .256 .354 .755);--indigo-a12:color(display-p3 .133 .175 .348)}}}.dark,.dark-theme{--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-a1:color(display-p3 .071 .212 .996/.055);--indigo-a2:color(display-p3 .251 .345 .988/.085);--indigo-a3:color(display-p3 .243 .404 1/.223);--indigo-a4:color(display-p3 .263 .42 1/.324);--indigo-a5:color(display-p3 .314 .451 1/.4);--indigo-a6:color(display-p3 .361 .49 1/.467);--indigo-a7:color(display-p3 .388 .51 1/.547);--indigo-a8:color(display-p3 .404 .518 1/.652);--indigo-a9:color(display-p3 .318 .451 1/.824);--indigo-a10:color(display-p3 .404 .506 1/.858);--indigo-a11:color(display-p3 .63 .69 1);--indigo-a12:color(display-p3 .848 .881 .99)}}}:root,.light,.light-theme{--blue-1:#fbfdff;--blue-2:#f4faff;--blue-3:#e6f4fe;--blue-4:#d5efff;--blue-5:#c2e5ff;--blue-6:#acd8fc;--blue-7:#8ec8f6;--blue-8:#5eb1ef;--blue-9:#0090ff;--blue-10:#0588f0;--blue-11:#0d74ce;--blue-12:#113264}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--blue-1:color(display-p3 .986 .992 .999);--blue-2:color(display-p3 .96 .979 .998);--blue-3:color(display-p3 .912 .956 .991);--blue-4:color(display-p3 .853 .932 1);--blue-5:color(display-p3 .788 .894 .998);--blue-6:color(display-p3 .709 .843 .976);--blue-7:color(display-p3 .606 .777 .947);--blue-8:color(display-p3 .451 .688 .917);--blue-9:color(display-p3 .247 .556 .969);--blue-10:color(display-p3 .234 .523 .912);--blue-11:color(display-p3 .15 .44 .84);--blue-12:color(display-p3 .102 .193 .379)}}}.dark,.dark-theme{--blue-1:#0d1520;--blue-2:#111927;--blue-3:#0d2847;--blue-4:#003362;--blue-5:#004074;--blue-6:#104d87;--blue-7:#205d9e;--blue-8:#2870bd;--blue-9:#0090ff;--blue-10:#3b9eff;--blue-11:#70b8ff;--blue-12:#c2e6ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--blue-1:color(display-p3 .057 .081 .122);--blue-2:color(display-p3 .072 .098 .147);--blue-3:color(display-p3 .078 .154 .27);--blue-4:color(display-p3 .033 .197 .37);--blue-5:color(display-p3 .08 .245 .441);--blue-6:color(display-p3 .14 .298 .511);--blue-7:color(display-p3 .195 .361 .6);--blue-8:color(display-p3 .239 .434 .72);--blue-9:color(display-p3 .247 .556 .969);--blue-10:color(display-p3 .344 .612 .973);--blue-11:color(display-p3 .49 .72 1);--blue-12:color(display-p3 .788 .898 .99)}}}:root,.light,.light-theme{--blue-a1:#0080ff04;--blue-a2:#008cff0b;--blue-a3:#008ff519;--blue-a4:#009eff2a;--blue-a5:#0093ff3d;--blue-a6:#0088f653;--blue-a7:#0083eb71;--blue-a8:#0084e6a1;--blue-a9:#0090ff;--blue-a10:#0086f0fa;--blue-a11:#006dcbf2;--blue-a12:#002359ee}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--blue-a1:color(display-p3 .024 .514 1/.016);--blue-a2:color(display-p3 .024 .514 .906/.04);--blue-a3:color(display-p3 .012 .506 .914/.087);--blue-a4:color(display-p3 .008 .545 1/.146);--blue-a5:color(display-p3 .004 .502 .984/.212);--blue-a6:color(display-p3 .004 .463 .922/.291);--blue-a7:color(display-p3 .004 .431 .863/.393);--blue-a8:color(display-p3 0 .427 .851/.55);--blue-a9:color(display-p3 0 .412 .961/.753);--blue-a10:color(display-p3 0 .376 .886/.765);--blue-a11:color(display-p3 .15 .44 .84);--blue-a12:color(display-p3 .102 .193 .379)}}}.dark,.dark-theme{--blue-a1:#004df211;--blue-a2:#1166fb18;--blue-a3:#0077ff3a;--blue-a4:#0075ff57;--blue-a5:#0081fd6b;--blue-a6:#0f89fd7f;--blue-a7:#2a91fe98;--blue-a8:#3094feb9;--blue-a9:#0090ff;--blue-a10:#3b9eff;--blue-a11:#70b8ff;--blue-a12:#c2e6ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--blue-a1:color(display-p3 0 .333 1/.059);--blue-a2:color(display-p3 .114 .435 .988/.085);--blue-a3:color(display-p3 .122 .463 1/.219);--blue-a4:color(display-p3 0 .467 1/.324);--blue-a5:color(display-p3 .098 .51 1/.4);--blue-a6:color(display-p3 .224 .557 1/.475);--blue-a7:color(display-p3 .294 .584 1/.572);--blue-a8:color(display-p3 .314 .592 1/.702);--blue-a9:color(display-p3 .251 .573 .996/.967);--blue-a10:color(display-p3 .357 .631 1/.971);--blue-a11:color(display-p3 .49 .72 1);--blue-a12:color(display-p3 .788 .898 .99)}}}:root,.light,.light-theme{--cyan-1:#fafdfe;--cyan-2:#f2fafb;--cyan-3:#def7f9;--cyan-4:#caf1f6;--cyan-5:#b5e9f0;--cyan-6:#9ddde7;--cyan-7:#7dcedc;--cyan-8:#3db9cf;--cyan-9:#00a2c7;--cyan-10:#0797b9;--cyan-11:#107d98;--cyan-12:#0d3c48}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--cyan-1:color(display-p3 .982 .992 .996);--cyan-2:color(display-p3 .955 .981 .984);--cyan-3:color(display-p3 .888 .965 .975);--cyan-4:color(display-p3 .821 .941 .959);--cyan-5:color(display-p3 .751 .907 .935);--cyan-6:color(display-p3 .671 .862 .9);--cyan-7:color(display-p3 .564 .8 .854);--cyan-8:color(display-p3 .388 .715 .798);--cyan-9:color(display-p3 .282 .627 .765);--cyan-10:color(display-p3 .264 .583 .71);--cyan-11:color(display-p3 .08 .48 .63);--cyan-12:color(display-p3 .108 .232 .277)}}}.dark,.dark-theme{--cyan-1:#0b161a;--cyan-2:#101b20;--cyan-3:#082c36;--cyan-4:#003848;--cyan-5:#004558;--cyan-6:#045468;--cyan-7:#12677e;--cyan-8:#11809c;--cyan-9:#00a2c7;--cyan-10:#23afd0;--cyan-11:#4ccce6;--cyan-12:#b6ecf7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--cyan-1:color(display-p3 .053 .085 .098);--cyan-2:color(display-p3 .072 .105 .122);--cyan-3:color(display-p3 .073 .168 .209);--cyan-4:color(display-p3 .063 .216 .277);--cyan-5:color(display-p3 .091 .267 .336);--cyan-6:color(display-p3 .137 .324 .4);--cyan-7:color(display-p3 .186 .398 .484);--cyan-8:color(display-p3 .23 .496 .6);--cyan-9:color(display-p3 .282 .627 .765);--cyan-10:color(display-p3 .331 .675 .801);--cyan-11:color(display-p3 .446 .79 .887);--cyan-12:color(display-p3 .757 .919 .962)}}}:root,.light,.light-theme{--cyan-a1:#0099cc05;--cyan-a2:#009db10d;--cyan-a3:#00c2d121;--cyan-a4:#00bcd435;--cyan-a5:#01b4cc4a;--cyan-a6:#00a7c162;--cyan-a7:#009fbb82;--cyan-a8:#00a3c0c2;--cyan-a9:#00a2c7;--cyan-a10:#0094b7f8;--cyan-a11:#007491ef;--cyan-a12:#00323ef2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--cyan-a1:color(display-p3 .02 .608 .804/.02);--cyan-a2:color(display-p3 .02 .557 .647/.044);--cyan-a3:color(display-p3 .004 .694 .796/.114);--cyan-a4:color(display-p3 .004 .678 .784/.181);--cyan-a5:color(display-p3 .004 .624 .733/.248);--cyan-a6:color(display-p3 .004 .584 .706/.33);--cyan-a7:color(display-p3 .004 .541 .667/.436);--cyan-a8:color(display-p3 0 .533 .667/.612);--cyan-a9:color(display-p3 0 .482 .675/.718);--cyan-a10:color(display-p3 0 .435 .608/.738);--cyan-a11:color(display-p3 .08 .48 .63);--cyan-a12:color(display-p3 .108 .232 .277)}}}.dark,.dark-theme{--cyan-a1:#0091f70a;--cyan-a2:#02a7f211;--cyan-a3:#00befd28;--cyan-a4:#00baff3b;--cyan-a5:#00befd4d;--cyan-a6:#00c7fd5e;--cyan-a7:#14cdff75;--cyan-a8:#11cfff95;--cyan-a9:#00cfffc3;--cyan-a10:#28d6ffcd;--cyan-a11:#52e1fee5;--cyan-a12:#bbf3fef7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--cyan-a1:color(display-p3 0 .647 .992/.034);--cyan-a2:color(display-p3 .133 .733 1/.059);--cyan-a3:color(display-p3 .122 .741 .996/.152);--cyan-a4:color(display-p3 .051 .725 1/.227);--cyan-a5:color(display-p3 .149 .757 1/.29);--cyan-a6:color(display-p3 .267 .792 1/.358);--cyan-a7:color(display-p3 .333 .808 1/.446);--cyan-a8:color(display-p3 .357 .816 1/.572);--cyan-a9:color(display-p3 .357 .82 1/.748);--cyan-a10:color(display-p3 .4 .839 1/.786);--cyan-a11:color(display-p3 .446 .79 .887);--cyan-a12:color(display-p3 .757 .919 .962)}}}:root,.light,.light-theme{--teal-1:#fafefd;--teal-2:#f3fbf9;--teal-3:#e0f8f3;--teal-4:#ccf3ea;--teal-5:#b8eae0;--teal-6:#a1ded2;--teal-7:#83cdc1;--teal-8:#53b9ab;--teal-9:#12a594;--teal-10:#0d9b8a;--teal-11:#008573;--teal-12:#0d3d38}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--teal-1:color(display-p3 .983 .996 .992);--teal-2:color(display-p3 .958 .983 .976);--teal-3:color(display-p3 .895 .971 .952);--teal-4:color(display-p3 .831 .949 .92);--teal-5:color(display-p3 .761 .914 .878);--teal-6:color(display-p3 .682 .864 .825);--teal-7:color(display-p3 .581 .798 .756);--teal-8:color(display-p3 .433 .716 .671);--teal-9:color(display-p3 .297 .637 .581);--teal-10:color(display-p3 .275 .599 .542);--teal-11:color(display-p3 .08 .5 .43);--teal-12:color(display-p3 .11 .235 .219)}}}.dark,.dark-theme{--teal-1:#0d1514;--teal-2:#111c1b;--teal-3:#0d2d2a;--teal-4:#023b37;--teal-5:#084843;--teal-6:#145750;--teal-7:#1c6961;--teal-8:#207e73;--teal-9:#12a594;--teal-10:#0eb39e;--teal-11:#0bd8b6;--teal-12:#adf0dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--teal-1:color(display-p3 .059 .083 .079);--teal-2:color(display-p3 .075 .11 .107);--teal-3:color(display-p3 .087 .175 .165);--teal-4:color(display-p3 .087 .227 .214);--teal-5:color(display-p3 .12 .277 .261);--teal-6:color(display-p3 .162 .335 .314);--teal-7:color(display-p3 .205 .406 .379);--teal-8:color(display-p3 .245 .489 .453);--teal-9:color(display-p3 .297 .637 .581);--teal-10:color(display-p3 .319 .69 .62);--teal-11:color(display-p3 .388 .835 .719);--teal-12:color(display-p3 .734 .934 .87)}}}:root,.light,.light-theme{--teal-a1:#00cc9905;--teal-a2:#00aa800c;--teal-a3:#00c69d1f;--teal-a4:#00c39633;--teal-a5:#00b49047;--teal-a6:#00a6855e;--teal-a7:#0099807c;--teal-a8:#009783ac;--teal-a9:#009e8ced;--teal-a10:#009684f2;--teal-a11:#008573;--teal-a12:#00332df2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--teal-a1:color(display-p3 .024 .757 .514/.016);--teal-a2:color(display-p3 .02 .647 .467/.044);--teal-a3:color(display-p3 .004 .741 .557/.106);--teal-a4:color(display-p3 .004 .702 .537/.169);--teal-a5:color(display-p3 .004 .643 .494/.24);--teal-a6:color(display-p3 .004 .569 .447/.318);--teal-a7:color(display-p3 .004 .518 .424/.42);--teal-a8:color(display-p3 0 .506 .424/.569);--teal-a9:color(display-p3 0 .482 .404/.702);--teal-a10:color(display-p3 0 .451 .369/.726);--teal-a11:color(display-p3 .08 .5 .43);--teal-a12:color(display-p3 .11 .235 .219)}}}.dark,.dark-theme{--teal-a1:#00deab05;--teal-a2:#12fbe60c;--teal-a3:#00ffe61e;--teal-a4:#00ffe92d;--teal-a5:#00ffea3b;--teal-a6:#1cffe84b;--teal-a7:#2efde85f;--teal-a8:#32ffe775;--teal-a9:#13ffe49f;--teal-a10:#0dffe0ae;--teal-a11:#0afed5d6;--teal-a12:#b8ffebef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--teal-a1:color(display-p3 0 .992 .761/.017);--teal-a2:color(display-p3 .235 .988 .902/.047);--teal-a3:color(display-p3 .235 1 .898/.118);--teal-a4:color(display-p3 .18 .996 .929/.173);--teal-a5:color(display-p3 .31 1 .933/.227);--teal-a6:color(display-p3 .396 1 .933/.286);--teal-a7:color(display-p3 .443 1 .925/.366);--teal-a8:color(display-p3 .459 1 .925/.454);--teal-a9:color(display-p3 .443 .996 .906/.61);--teal-a10:color(display-p3 .439 .996 .89/.669);--teal-a11:color(display-p3 .388 .835 .719);--teal-a12:color(display-p3 .734 .934 .87)}}}:root,.light,.light-theme{--jade-1:#fbfefd;--jade-2:#f4fbf7;--jade-3:#e6f7ed;--jade-4:#d6f1e3;--jade-5:#c3e9d7;--jade-6:#acdec8;--jade-7:#8bceb6;--jade-8:#56ba9f;--jade-9:#29a383;--jade-10:#26997b;--jade-11:#208368;--jade-12:#1d3b31}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--jade-1:color(display-p3 .986 .996 .992);--jade-2:color(display-p3 .962 .983 .969);--jade-3:color(display-p3 .912 .965 .932);--jade-4:color(display-p3 .858 .941 .893);--jade-5:color(display-p3 .795 .909 .847);--jade-6:color(display-p3 .715 .864 .791);--jade-7:color(display-p3 .603 .802 .718);--jade-8:color(display-p3 .44 .72 .629);--jade-9:color(display-p3 .319 .63 .521);--jade-10:color(display-p3 .299 .592 .488);--jade-11:color(display-p3 .15 .5 .37);--jade-12:color(display-p3 .142 .229 .194)}}}.dark,.dark-theme{--jade-1:#0d1512;--jade-2:#121c18;--jade-3:#0f2e22;--jade-4:#0b3b2c;--jade-5:#114837;--jade-6:#1b5745;--jade-7:#246854;--jade-8:#2a7e68;--jade-9:#29a383;--jade-10:#27b08b;--jade-11:#1fd8a4;--jade-12:#adf0d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--jade-1:color(display-p3 .059 .083 .071);--jade-2:color(display-p3 .078 .11 .094);--jade-3:color(display-p3 .091 .176 .138);--jade-4:color(display-p3 .102 .228 .177);--jade-5:color(display-p3 .133 .279 .221);--jade-6:color(display-p3 .174 .334 .273);--jade-7:color(display-p3 .219 .402 .335);--jade-8:color(display-p3 .263 .488 .411);--jade-9:color(display-p3 .319 .63 .521);--jade-10:color(display-p3 .338 .68 .555);--jade-11:color(display-p3 .4 .835 .656);--jade-12:color(display-p3 .734 .934 .838)}}}:root,.light,.light-theme{--jade-a1:#00c08004;--jade-a2:#00a3460b;--jade-a3:#00ae4819;--jade-a4:#00a85129;--jade-a5:#00a2553c;--jade-a6:#009a5753;--jade-a7:#00945f74;--jade-a8:#00976ea9;--jade-a9:#00916bd6;--jade-a10:#008764d9;--jade-a11:#007152df;--jade-a12:#002217e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--jade-a1:color(display-p3 .024 .757 .514/.016);--jade-a2:color(display-p3 .024 .612 .22/.04);--jade-a3:color(display-p3 .012 .596 .235/.087);--jade-a4:color(display-p3 .008 .588 .255/.142);--jade-a5:color(display-p3 .004 .561 .251/.204);--jade-a6:color(display-p3 .004 .525 .278/.287);--jade-a7:color(display-p3 .004 .506 .29/.397);--jade-a8:color(display-p3 0 .506 .337/.561);--jade-a9:color(display-p3 0 .459 .298/.683);--jade-a10:color(display-p3 0 .42 .271/.702);--jade-a11:color(display-p3 .15 .5 .37);--jade-a12:color(display-p3 .142 .229 .194)}}}.dark,.dark-theme{--jade-a1:#00de4505;--jade-a2:#27fba60c;--jade-a3:#02f99920;--jade-a4:#00ffaa2d;--jade-a5:#11ffb63b;--jade-a6:#34ffc24b;--jade-a7:#45fdc75e;--jade-a8:#48ffcf75;--jade-a9:#38feca9d;--jade-a10:#31fec7ab;--jade-a11:#21fec0d6;--jade-a12:#b8ffe1ef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--jade-a1:color(display-p3 0 .992 .298/.017);--jade-a2:color(display-p3 .318 .988 .651/.047);--jade-a3:color(display-p3 .267 1 .667/.118);--jade-a4:color(display-p3 .275 .996 .702/.173);--jade-a5:color(display-p3 .361 1 .741/.227);--jade-a6:color(display-p3 .439 1 .796/.286);--jade-a7:color(display-p3 .49 1 .804/.362);--jade-a8:color(display-p3 .506 1 .835/.45);--jade-a9:color(display-p3 .478 .996 .816/.606);--jade-a10:color(display-p3 .478 1 .816/.656);--jade-a11:color(display-p3 .4 .835 .656);--jade-a12:color(display-p3 .734 .934 .838)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-1:color(display-p3 .062 .083 .071);--green-2:color(display-p3 .079 .106 .09);--green-3:color(display-p3 .1 .173 .133);--green-4:color(display-p3 .115 .229 .166);--green-5:color(display-p3 .147 .282 .206);--green-6:color(display-p3 .185 .338 .25);--green-7:color(display-p3 .227 .403 .298);--green-8:color(display-p3 .27 .479 .351);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .357 .682 .474);--green-11:color(display-p3 .434 .828 .573);--green-12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-a1:color(display-p3 0 .992 .298/.017);--green-a2:color(display-p3 .341 .98 .616/.043);--green-a3:color(display-p3 .376 .996 .655/.114);--green-a4:color(display-p3 .341 .996 .635/.173);--green-a5:color(display-p3 .408 1 .678/.232);--green-a6:color(display-p3 .475 1 .706/.29);--green-a7:color(display-p3 .514 1 .706/.362);--green-a8:color(display-p3 .529 1 .718/.442);--green-a9:color(display-p3 .502 .996 .682/.61);--green-a10:color(display-p3 .506 1 .682/.66);--green-a11:color(display-p3 .434 .828 .573);--green-a12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--grass-1:#fbfefb;--grass-2:#f5fbf5;--grass-3:#e9f6e9;--grass-4:#daf1db;--grass-5:#c9e8ca;--grass-6:#b2ddb5;--grass-7:#94ce9a;--grass-8:#65ba74;--grass-9:#46a758;--grass-10:#3e9b4f;--grass-11:#2a7e3b;--grass-12:#203c25}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--grass-1:color(display-p3 .986 .996 .985);--grass-2:color(display-p3 .966 .983 .964);--grass-3:color(display-p3 .923 .965 .917);--grass-4:color(display-p3 .872 .94 .865);--grass-5:color(display-p3 .811 .908 .802);--grass-6:color(display-p3 .733 .864 .724);--grass-7:color(display-p3 .628 .803 .622);--grass-8:color(display-p3 .477 .72 .482);--grass-9:color(display-p3 .38 .647 .378);--grass-10:color(display-p3 .344 .598 .342);--grass-11:color(display-p3 .263 .488 .261);--grass-12:color(display-p3 .151 .233 .153)}}}.dark,.dark-theme{--grass-1:#0e1511;--grass-2:#141a15;--grass-3:#1b2a1e;--grass-4:#1d3a24;--grass-5:#25482d;--grass-6:#2d5736;--grass-7:#366740;--grass-8:#3e7949;--grass-9:#46a758;--grass-10:#53b365;--grass-11:#71d083;--grass-12:#c2f0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--grass-1:color(display-p3 .062 .083 .067);--grass-2:color(display-p3 .083 .103 .085);--grass-3:color(display-p3 .118 .163 .122);--grass-4:color(display-p3 .142 .225 .15);--grass-5:color(display-p3 .178 .279 .186);--grass-6:color(display-p3 .217 .337 .224);--grass-7:color(display-p3 .258 .4 .264);--grass-8:color(display-p3 .302 .47 .305);--grass-9:color(display-p3 .38 .647 .378);--grass-10:color(display-p3 .426 .694 .426);--grass-11:color(display-p3 .535 .807 .542);--grass-12:color(display-p3 .797 .936 .776)}}}:root,.light,.light-theme{--grass-a1:#00c00004;--grass-a2:#0099000a;--grass-a3:#00970016;--grass-a4:#009f0725;--grass-a5:#00930536;--grass-a6:#008f0a4d;--grass-a7:#018b0f6b;--grass-a8:#008d199a;--grass-a9:#008619b9;--grass-a10:#007b17c1;--grass-a11:#006514d5;--grass-a12:#002006df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--grass-a1:color(display-p3 .024 .757 .024/.016);--grass-a2:color(display-p3 .024 .565 .024/.036);--grass-a3:color(display-p3 .059 .576 .008/.083);--grass-a4:color(display-p3 .035 .565 .008/.134);--grass-a5:color(display-p3 .047 .545 .008/.197);--grass-a6:color(display-p3 .031 .502 .004/.275);--grass-a7:color(display-p3 .012 .482 .004/.377);--grass-a8:color(display-p3 0 .467 .008/.522);--grass-a9:color(display-p3 .008 .435 0/.624);--grass-a10:color(display-p3 .008 .388 0/.659);--grass-a11:color(display-p3 .263 .488 .261);--grass-a12:color(display-p3 .151 .233 .153)}}}.dark,.dark-theme{--grass-a1:#00de1205;--grass-a2:#5ef7780a;--grass-a3:#70fe8c1b;--grass-a4:#57ff802c;--grass-a5:#68ff8b3b;--grass-a6:#71ff8f4b;--grass-a7:#77fd925d;--grass-a8:#77fd9070;--grass-a9:#65ff82a1;--grass-a10:#72ff8dae;--grass-a11:#89ff9fcd;--grass-a12:#ceffceef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--grass-a1:color(display-p3 0 .992 .071/.017);--grass-a2:color(display-p3 .482 .996 .584/.038);--grass-a3:color(display-p3 .549 .992 .588/.106);--grass-a4:color(display-p3 .51 .996 .557/.169);--grass-a5:color(display-p3 .553 1 .588/.227);--grass-a6:color(display-p3 .584 1 .608/.29);--grass-a7:color(display-p3 .604 1 .616/.358);--grass-a8:color(display-p3 .608 1 .62/.433);--grass-a9:color(display-p3 .573 1 .569/.622);--grass-a10:color(display-p3 .6 .996 .6/.673);--grass-a11:color(display-p3 .535 .807 .542);--grass-a12:color(display-p3 .797 .936 .776)}}}:root,.light,.light-theme{--orange-1:#fefcfb;--orange-2:#fff7ed;--orange-3:#ffefd6;--orange-4:#ffdfb5;--orange-5:#ffd19a;--orange-6:#ffc182;--orange-7:#f5ae73;--orange-8:#ec9455;--orange-9:#f76b15;--orange-10:#ef5f00;--orange-11:#cc4e00;--orange-12:#582d1d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-1:color(display-p3 .995 .988 .985);--orange-2:color(display-p3 .994 .968 .934);--orange-3:color(display-p3 .989 .938 .85);--orange-4:color(display-p3 1 .874 .687);--orange-5:color(display-p3 1 .821 .583);--orange-6:color(display-p3 .975 .767 .545);--orange-7:color(display-p3 .919 .693 .486);--orange-8:color(display-p3 .877 .597 .379);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .87 .409 .164);--orange-11:color(display-p3 .76 .34 0);--orange-12:color(display-p3 .323 .185 .127)}}}.dark,.dark-theme{--orange-1:#17120e;--orange-2:#1e160f;--orange-3:#331e0b;--orange-4:#462100;--orange-5:#562800;--orange-6:#66350c;--orange-7:#7e451d;--orange-8:#a35829;--orange-9:#f76b15;--orange-10:#ff801f;--orange-11:#ffa057;--orange-12:#ffe0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--orange-1:color(display-p3 .088 .07 .057);--orange-2:color(display-p3 .113 .089 .061);--orange-3:color(display-p3 .189 .12 .056);--orange-4:color(display-p3 .262 .132 0);--orange-5:color(display-p3 .315 .168 .016);--orange-6:color(display-p3 .376 .219 .088);--orange-7:color(display-p3 .465 .283 .147);--orange-8:color(display-p3 .601 .359 .201);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .98 .51 .23);--orange-11:color(display-p3 1 .63 .38);--orange-12:color(display-p3 .98 .883 .775)}}}:root,.light,.light-theme{--orange-a1:#c0400004;--orange-a2:#ff8e0012;--orange-a3:#ff9c0029;--orange-a4:#ff91014a;--orange-a5:#ff8b0065;--orange-a6:#ff81007d;--orange-a7:#ed6c008c;--orange-a8:#e35f00aa;--orange-a9:#f65e00ea;--orange-a10:#ef5f00;--orange-a11:#cc4e00;--orange-a12:#431200e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-a1:color(display-p3 .757 .267 .024/.016);--orange-a2:color(display-p3 .886 .533 .008/.067);--orange-a3:color(display-p3 .922 .584 .008/.15);--orange-a4:color(display-p3 1 .604 .004/.314);--orange-a5:color(display-p3 1 .569 .004/.416);--orange-a6:color(display-p3 .949 .494 .004/.455);--orange-a7:color(display-p3 .839 .408 0/.514);--orange-a8:color(display-p3 .804 .349 0/.62);--orange-a9:color(display-p3 .878 .314 0/.8);--orange-a10:color(display-p3 .843 .29 0/.836);--orange-a11:color(display-p3 .76 .34 0);--orange-a12:color(display-p3 .323 .185 .127)}}}.dark,.dark-theme{--orange-a1:#ec360007;--orange-a2:#fe6d000e;--orange-a3:#fb6a0025;--orange-a4:#ff590039;--orange-a5:#ff61004a;--orange-a6:#fd75045c;--orange-a7:#ff832c75;--orange-a8:#fe84389d;--orange-a9:#fe6d15f7;--orange-a10:#ff801f;--orange-a11:#ffa057;--orange-a12:#ffe0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--orange-a1:color(display-p3 .961 .247 0/.022);--orange-a2:color(display-p3 .992 .529 0/.051);--orange-a3:color(display-p3 .996 .486 0/.131);--orange-a4:color(display-p3 .996 .384 0/.211);--orange-a5:color(display-p3 1 .455 0/.265);--orange-a6:color(display-p3 1 .529 .129/.332);--orange-a7:color(display-p3 1 .569 .251/.429);--orange-a8:color(display-p3 1 .584 .302/.572);--orange-a9:color(display-p3 1 .494 .216/.895);--orange-a10:color(display-p3 1 .522 .235/.979);--orange-a11:color(display-p3 1 .63 .38);--orange-a12:color(display-p3 .98 .883 .775)}}}:root,.light,.light-theme{--brown-1:#fefdfc;--brown-2:#fcf9f6;--brown-3:#f6eee7;--brown-4:#f0e4d9;--brown-5:#ebdaca;--brown-6:#e4cdb7;--brown-7:#dcbc9f;--brown-8:#cea37e;--brown-9:#ad7f58;--brown-10:#a07553;--brown-11:#815e46;--brown-12:#3e332e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-1:color(display-p3 .995 .992 .989);--brown-2:color(display-p3 .987 .976 .964);--brown-3:color(display-p3 .959 .936 .909);--brown-4:color(display-p3 .934 .897 .855);--brown-5:color(display-p3 .909 .856 .798);--brown-6:color(display-p3 .88 .808 .73);--brown-7:color(display-p3 .841 .742 .639);--brown-8:color(display-p3 .782 .647 .514);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .601 .465 .344);--brown-11:color(display-p3 .485 .374 .288);--brown-12:color(display-p3 .236 .202 .183)}}}.dark,.dark-theme{--brown-1:#12110f;--brown-2:#1c1816;--brown-3:#28211d;--brown-4:#322922;--brown-5:#3e3128;--brown-6:#4d3c2f;--brown-7:#614a39;--brown-8:#7c5f46;--brown-9:#ad7f58;--brown-10:#b88c67;--brown-11:#dbb594;--brown-12:#f2e1ca}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--brown-1:color(display-p3 .071 .067 .059);--brown-2:color(display-p3 .107 .095 .087);--brown-3:color(display-p3 .151 .13 .115);--brown-4:color(display-p3 .191 .161 .138);--brown-5:color(display-p3 .235 .194 .162);--brown-6:color(display-p3 .291 .237 .192);--brown-7:color(display-p3 .365 .295 .232);--brown-8:color(display-p3 .469 .377 .287);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .697 .557 .423);--brown-11:color(display-p3 .835 .715 .597);--brown-12:color(display-p3 .938 .885 .802)}}}:root,.light,.light-theme{--brown-a1:#aa550003;--brown-a2:#aa550009;--brown-a3:#a04b0018;--brown-a4:#9b4a0026;--brown-a5:#9f4d0035;--brown-a6:#a04e0048;--brown-a7:#a34e0060;--brown-a8:#9f4a0081;--brown-a9:#823c00a7;--brown-a10:#723300ac;--brown-a11:#522100b9;--brown-a12:#140600d1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-a1:color(display-p3 .675 .349 .024/.012);--brown-a2:color(display-p3 .675 .349 .024/.036);--brown-a3:color(display-p3 .573 .314 .012/.091);--brown-a4:color(display-p3 .545 .302 .008/.146);--brown-a5:color(display-p3 .561 .29 .004/.204);--brown-a6:color(display-p3 .553 .294 .004/.271);--brown-a7:color(display-p3 .557 .286 .004/.361);--brown-a8:color(display-p3 .549 .275 .004/.487);--brown-a9:color(display-p3 .447 .22 0/.632);--brown-a10:color(display-p3 .388 .188 0/.655);--brown-a11:color(display-p3 .485 .374 .288);--brown-a12:color(display-p3 .236 .202 .183)}}}.dark,.dark-theme{--brown-a1:#91110002;--brown-a2:#fba67c0c;--brown-a3:#fcb58c19;--brown-a4:#fbbb8a24;--brown-a5:#fcb88931;--brown-a6:#fdba8741;--brown-a7:#ffbb8856;--brown-a8:#ffbe8773;--brown-a9:#feb87da8;--brown-a10:#ffc18cb3;--brown-a11:#fed1aad9;--brown-a12:#feecd4f2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--brown-a1:color(display-p3 .855 .071 0/.005);--brown-a2:color(display-p3 .98 .706 .525/.043);--brown-a3:color(display-p3 .996 .745 .576/.093);--brown-a4:color(display-p3 1 .765 .592/.135);--brown-a5:color(display-p3 1 .761 .588/.181);--brown-a6:color(display-p3 1 .773 .592/.24);--brown-a7:color(display-p3 .996 .776 .58/.32);--brown-a8:color(display-p3 1 .78 .573/.433);--brown-a9:color(display-p3 1 .769 .549/.627);--brown-a10:color(display-p3 1 .792 .596/.677);--brown-a11:color(display-p3 .835 .715 .597);--brown-a12:color(display-p3 .938 .885 .802)}}}:root,.light,.light-theme{--sky-1:#f9feff;--sky-2:#f1fafd;--sky-3:#e1f6fd;--sky-4:#d1f0fa;--sky-5:#bee7f5;--sky-6:#a9daed;--sky-7:#8dcae3;--sky-8:#60b3d7;--sky-9:#7ce2fe;--sky-10:#74daf8;--sky-11:#00749e;--sky-12:#1d3e56}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sky-1:color(display-p3 .98 .995 .999);--sky-2:color(display-p3 .953 .98 .99);--sky-3:color(display-p3 .899 .963 .989);--sky-4:color(display-p3 .842 .937 .977);--sky-5:color(display-p3 .777 .9 .954);--sky-6:color(display-p3 .701 .851 .921);--sky-7:color(display-p3 .604 .785 .879);--sky-8:color(display-p3 .457 .696 .829);--sky-9:color(display-p3 .585 .877 .983);--sky-10:color(display-p3 .555 .845 .959);--sky-11:color(display-p3 .193 .448 .605);--sky-12:color(display-p3 .145 .241 .329)}}}.dark,.dark-theme{--sky-1:#0d141f;--sky-2:#111a27;--sky-3:#112840;--sky-4:#113555;--sky-5:#154467;--sky-6:#1b537b;--sky-7:#1f6692;--sky-8:#197cae;--sky-9:#7ce2fe;--sky-10:#a8eeff;--sky-11:#75c7f0;--sky-12:#c2f3ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sky-1:color(display-p3 .056 .078 .116);--sky-2:color(display-p3 .075 .101 .149);--sky-3:color(display-p3 .089 .154 .244);--sky-4:color(display-p3 .106 .207 .323);--sky-5:color(display-p3 .135 .261 .394);--sky-6:color(display-p3 .17 .322 .469);--sky-7:color(display-p3 .205 .394 .557);--sky-8:color(display-p3 .232 .48 .665);--sky-9:color(display-p3 .585 .877 .983);--sky-10:color(display-p3 .718 .925 .991);--sky-11:color(display-p3 .536 .772 .924);--sky-12:color(display-p3 .799 .947 .993)}}}:root,.light,.light-theme{--sky-a1:#00d5ff06;--sky-a2:#00a4db0e;--sky-a3:#00b3ee1e;--sky-a4:#00ace42e;--sky-a5:#00a1d841;--sky-a6:#0092ca56;--sky-a7:#0089c172;--sky-a8:#0085bf9f;--sky-a9:#00c7fe83;--sky-a10:#00bcf38b;--sky-a11:#00749e;--sky-a12:#002540e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sky-a1:color(display-p3 .02 .804 1/.02);--sky-a2:color(display-p3 .024 .592 .757/.048);--sky-a3:color(display-p3 .004 .655 .886/.102);--sky-a4:color(display-p3 .004 .604 .851/.157);--sky-a5:color(display-p3 .004 .565 .792/.224);--sky-a6:color(display-p3 .004 .502 .737/.299);--sky-a7:color(display-p3 .004 .459 .694/.397);--sky-a8:color(display-p3 0 .435 .682/.542);--sky-a9:color(display-p3 .004 .71 .965/.416);--sky-a10:color(display-p3 .004 .647 .914/.444);--sky-a11:color(display-p3 .193 .448 .605);--sky-a12:color(display-p3 .145 .241 .329)}}}.dark,.dark-theme{--sky-a1:#0044ff0f;--sky-a2:#1171fb18;--sky-a3:#1184fc33;--sky-a4:#128fff49;--sky-a5:#1c9dfd5d;--sky-a6:#28a5ff72;--sky-a7:#2badfe8b;--sky-a8:#1db2fea9;--sky-a9:#7ce3fffe;--sky-a10:#a8eeff;--sky-a11:#7cd3ffef;--sky-a12:#c2f3ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sky-a1:color(display-p3 0 .282 .996/.055);--sky-a2:color(display-p3 .157 .467 .992/.089);--sky-a3:color(display-p3 .192 .522 .996/.19);--sky-a4:color(display-p3 .212 .584 1/.274);--sky-a5:color(display-p3 .259 .631 1/.349);--sky-a6:color(display-p3 .302 .655 1/.433);--sky-a7:color(display-p3 .329 .686 1/.526);--sky-a8:color(display-p3 .325 .71 1/.643);--sky-a9:color(display-p3 .592 .894 1/.984);--sky-a10:color(display-p3 .722 .933 1/.992);--sky-a11:color(display-p3 .536 .772 .924);--sky-a12:color(display-p3 .799 .947 .993)}}}:root,.light,.light-theme{--mint-1:#f9fefd;--mint-2:#f2fbf9;--mint-3:#ddf9f2;--mint-4:#c8f4e9;--mint-5:#b3ecde;--mint-6:#9ce0d0;--mint-7:#7ecfbd;--mint-8:#4cbba5;--mint-9:#86ead4;--mint-10:#7de0cb;--mint-11:#027864;--mint-12:#16433c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mint-1:color(display-p3 .98 .995 .992);--mint-2:color(display-p3 .957 .985 .977);--mint-3:color(display-p3 .888 .972 .95);--mint-4:color(display-p3 .819 .951 .916);--mint-5:color(display-p3 .747 .918 .873);--mint-6:color(display-p3 .668 .87 .818);--mint-7:color(display-p3 .567 .805 .744);--mint-8:color(display-p3 .42 .724 .649);--mint-9:color(display-p3 .62 .908 .834);--mint-10:color(display-p3 .585 .871 .797);--mint-11:color(display-p3 .203 .463 .397);--mint-12:color(display-p3 .136 .259 .236)}}}.dark,.dark-theme{--mint-1:#0e1515;--mint-2:#0f1b1b;--mint-3:#092c2b;--mint-4:#003a38;--mint-5:#004744;--mint-6:#105650;--mint-7:#1e685f;--mint-8:#277f70;--mint-9:#86ead4;--mint-10:#a8f5e5;--mint-11:#58d5ba;--mint-12:#c4f5e1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mint-1:color(display-p3 .059 .082 .081);--mint-2:color(display-p3 .068 .104 .105);--mint-3:color(display-p3 .077 .17 .168);--mint-4:color(display-p3 .068 .224 .22);--mint-5:color(display-p3 .104 .275 .264);--mint-6:color(display-p3 .154 .332 .313);--mint-7:color(display-p3 .207 .403 .373);--mint-8:color(display-p3 .258 .49 .441);--mint-9:color(display-p3 .62 .908 .834);--mint-10:color(display-p3 .725 .954 .898);--mint-11:color(display-p3 .482 .825 .733);--mint-12:color(display-p3 .807 .955 .887)}}}:root,.light,.light-theme{--mint-a1:#00d5aa06;--mint-a2:#00b18a0d;--mint-a3:#00d29e22;--mint-a4:#00cc9937;--mint-a5:#00c0914c;--mint-a6:#00b08663;--mint-a7:#00a17d81;--mint-a8:#009e7fb3;--mint-a9:#00d3a579;--mint-a10:#00c39982;--mint-a11:#007763fd;--mint-a12:#00312ae9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mint-a1:color(display-p3 .02 .804 .608/.02);--mint-a2:color(display-p3 .02 .647 .467/.044);--mint-a3:color(display-p3 .004 .761 .553/.114);--mint-a4:color(display-p3 .004 .741 .545/.181);--mint-a5:color(display-p3 .004 .678 .51/.255);--mint-a6:color(display-p3 .004 .616 .463/.334);--mint-a7:color(display-p3 .004 .549 .412/.432);--mint-a8:color(display-p3 0 .529 .392/.581);--mint-a9:color(display-p3 .004 .765 .569/.381);--mint-a10:color(display-p3 .004 .69 .51/.416);--mint-a11:color(display-p3 .203 .463 .397);--mint-a12:color(display-p3 .136 .259 .236)}}}.dark,.dark-theme{--mint-a1:#00dede05;--mint-a2:#00f9f90b;--mint-a3:#00fff61d;--mint-a4:#00fff42c;--mint-a5:#00fff23a;--mint-a6:#0effeb4a;--mint-a7:#34fde55e;--mint-a8:#41ffdf76;--mint-a9:#92ffe7e9;--mint-a10:#aefeedf5;--mint-a11:#67ffded2;--mint-a12:#cbfee9f5}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mint-a1:color(display-p3 0 .992 .992/.017);--mint-a2:color(display-p3 .071 .98 .98/.043);--mint-a3:color(display-p3 .176 .996 .996/.11);--mint-a4:color(display-p3 .071 .996 .973/.169);--mint-a5:color(display-p3 .243 1 .949/.223);--mint-a6:color(display-p3 .369 1 .933/.286);--mint-a7:color(display-p3 .459 1 .914/.362);--mint-a8:color(display-p3 .49 1 .89/.454);--mint-a9:color(display-p3 .678 .996 .914/.904);--mint-a10:color(display-p3 .761 1 .941/.95);--mint-a11:color(display-p3 .482 .825 .733);--mint-a12:color(display-p3 .807 .955 .887)}}}:root,.light,.light-theme{--lime-1:#fcfdfa;--lime-2:#f8faf3;--lime-3:#eef6d6;--lime-4:#e2f0bd;--lime-5:#d3e7a6;--lime-6:#c2da91;--lime-7:#abc978;--lime-8:#8db654;--lime-9:#bdee63;--lime-10:#b0e64c;--lime-11:#5c7c2f;--lime-12:#37401c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--lime-1:color(display-p3 .989 .992 .981);--lime-2:color(display-p3 .975 .98 .954);--lime-3:color(display-p3 .939 .965 .851);--lime-4:color(display-p3 .896 .94 .76);--lime-5:color(display-p3 .843 .903 .678);--lime-6:color(display-p3 .778 .852 .599);--lime-7:color(display-p3 .694 .784 .508);--lime-8:color(display-p3 .585 .707 .378);--lime-9:color(display-p3 .78 .928 .466);--lime-10:color(display-p3 .734 .896 .397);--lime-11:color(display-p3 .386 .482 .227);--lime-12:color(display-p3 .222 .25 .128)}}}.dark,.dark-theme{--lime-1:#11130c;--lime-2:#151a10;--lime-3:#1f2917;--lime-4:#29371d;--lime-5:#334423;--lime-6:#3d522a;--lime-7:#496231;--lime-8:#577538;--lime-9:#bdee63;--lime-10:#d4ff70;--lime-11:#bde56c;--lime-12:#e3f7ba}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--lime-1:color(display-p3 .067 .073 .048);--lime-2:color(display-p3 .086 .1 .067);--lime-3:color(display-p3 .13 .16 .099);--lime-4:color(display-p3 .172 .214 .126);--lime-5:color(display-p3 .213 .266 .153);--lime-6:color(display-p3 .257 .321 .182);--lime-7:color(display-p3 .307 .383 .215);--lime-8:color(display-p3 .365 .456 .25);--lime-9:color(display-p3 .78 .928 .466);--lime-10:color(display-p3 .865 .995 .519);--lime-11:color(display-p3 .771 .893 .485);--lime-12:color(display-p3 .905 .966 .753)}}}:root,.light,.light-theme{--lime-a1:#66990005;--lime-a2:#6b95000c;--lime-a3:#96c80029;--lime-a4:#8fc60042;--lime-a5:#81bb0059;--lime-a6:#72aa006e;--lime-a7:#61990087;--lime-a8:#559200ab;--lime-a9:#93e4009c;--lime-a10:#8fdc00b3;--lime-a11:#375f00d0;--lime-a12:#1e2900e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--lime-a1:color(display-p3 .412 .608 .02/.02);--lime-a2:color(display-p3 .514 .592 .024/.048);--lime-a3:color(display-p3 .584 .765 .008/.15);--lime-a4:color(display-p3 .561 .757 .004/.24);--lime-a5:color(display-p3 .514 .698 .004/.322);--lime-a6:color(display-p3 .443 .627 0/.4);--lime-a7:color(display-p3 .376 .561 .004/.491);--lime-a8:color(display-p3 .333 .529 0/.624);--lime-a9:color(display-p3 .588 .867 0/.534);--lime-a10:color(display-p3 .561 .827 0/.604);--lime-a11:color(display-p3 .386 .482 .227);--lime-a12:color(display-p3 .222 .25 .128)}}}.dark,.dark-theme{--lime-a1:#11bb0003;--lime-a2:#78f7000a;--lime-a3:#9bfd4c1a;--lime-a4:#a7fe5c29;--lime-a5:#affe6537;--lime-a6:#b2fe6d46;--lime-a7:#b6ff6f57;--lime-a8:#b6fd6d6c;--lime-a9:#caff69ed;--lime-a10:#d4ff70;--lime-a11:#d1fe77e4;--lime-a12:#e9febff7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--lime-a1:color(display-p3 .067 .941 0/.009);--lime-a2:color(display-p3 .584 .996 .071/.038);--lime-a3:color(display-p3 .69 1 .38/.101);--lime-a4:color(display-p3 .729 1 .435/.16);--lime-a5:color(display-p3 .745 1 .471/.215);--lime-a6:color(display-p3 .769 1 .482/.274);--lime-a7:color(display-p3 .769 1 .506/.341);--lime-a8:color(display-p3 .784 1 .51/.416);--lime-a9:color(display-p3 .839 1 .502/.925);--lime-a10:color(display-p3 .871 1 .522/.996);--lime-a11:color(display-p3 .771 .893 .485);--lime-a12:color(display-p3 .905 .966 .753)}}}:root,.light,.light-theme{--yellow-1:#fdfdf9;--yellow-2:#fefce9;--yellow-3:#fffab8;--yellow-4:#fff394;--yellow-5:#ffe770;--yellow-6:#f3d768;--yellow-7:#e4c767;--yellow-8:#d5ae39;--yellow-9:#ffe629;--yellow-10:#ffdc00;--yellow-11:#9e6c00;--yellow-12:#473b1f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--yellow-1:color(display-p3 .992 .992 .978);--yellow-2:color(display-p3 .995 .99 .922);--yellow-3:color(display-p3 .997 .982 .749);--yellow-4:color(display-p3 .992 .953 .627);--yellow-5:color(display-p3 .984 .91 .51);--yellow-6:color(display-p3 .934 .847 .474);--yellow-7:color(display-p3 .876 .785 .46);--yellow-8:color(display-p3 .811 .689 .313);--yellow-9:color(display-p3 1 .92 .22);--yellow-10:color(display-p3 .977 .868 .291);--yellow-11:color(display-p3 .6 .44 0);--yellow-12:color(display-p3 .271 .233 .137)}}}.dark,.dark-theme{--yellow-1:#14120b;--yellow-2:#1b180f;--yellow-3:#2d2305;--yellow-4:#362b00;--yellow-5:#433500;--yellow-6:#524202;--yellow-7:#665417;--yellow-8:#836a21;--yellow-9:#ffe629;--yellow-10:#ffff57;--yellow-11:#f5e147;--yellow-12:#f6eeb4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--yellow-1:color(display-p3 .078 .069 .047);--yellow-2:color(display-p3 .103 .094 .063);--yellow-3:color(display-p3 .168 .137 .039);--yellow-4:color(display-p3 .209 .169 0);--yellow-5:color(display-p3 .255 .209 0);--yellow-6:color(display-p3 .31 .261 .07);--yellow-7:color(display-p3 .389 .331 .135);--yellow-8:color(display-p3 .497 .42 .182);--yellow-9:color(display-p3 1 .92 .22);--yellow-10:color(display-p3 1 1 .456);--yellow-11:color(display-p3 .948 .885 .392);--yellow-12:color(display-p3 .959 .934 .731)}}}:root,.light,.light-theme{--yellow-a1:#aaaa0006;--yellow-a2:#f4dd0016;--yellow-a3:#ffee0047;--yellow-a4:#ffe3016b;--yellow-a5:#ffd5008f;--yellow-a6:#ebbc0097;--yellow-a7:#d2a10098;--yellow-a8:#c99700c6;--yellow-a9:#ffe100d6;--yellow-a10:#ffdc00;--yellow-a11:#9e6c00;--yellow-a12:#2e2000e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--yellow-a1:color(display-p3 .675 .675 .024/.024);--yellow-a2:color(display-p3 .953 .855 .008/.079);--yellow-a3:color(display-p3 .988 .925 .004/.251);--yellow-a4:color(display-p3 .98 .875 .004/.373);--yellow-a5:color(display-p3 .969 .816 .004/.491);--yellow-a6:color(display-p3 .875 .71 0/.526);--yellow-a7:color(display-p3 .769 .604 0/.542);--yellow-a8:color(display-p3 .725 .549 0/.687);--yellow-a9:color(display-p3 1 .898 0/.781);--yellow-a10:color(display-p3 .969 .812 0/.71);--yellow-a11:color(display-p3 .6 .44 0);--yellow-a12:color(display-p3 .271 .233 .137)}}}.dark,.dark-theme{--yellow-a1:#d1510004;--yellow-a2:#f9b4000b;--yellow-a3:#ffaa001e;--yellow-a4:#fdb70028;--yellow-a5:#febb0036;--yellow-a6:#fec40046;--yellow-a7:#fdcb225c;--yellow-a8:#fdca327b;--yellow-a9:#ffe629;--yellow-a10:#ffff57;--yellow-a11:#fee949f5;--yellow-a12:#fef6baf6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--yellow-a1:color(display-p3 .973 .369 0/.013);--yellow-a2:color(display-p3 .996 .792 0/.038);--yellow-a3:color(display-p3 .996 .71 0/.11);--yellow-a4:color(display-p3 .996 .741 0/.152);--yellow-a5:color(display-p3 .996 .765 0/.202);--yellow-a6:color(display-p3 .996 .816 .082/.261);--yellow-a7:color(display-p3 1 .831 .263/.345);--yellow-a8:color(display-p3 1 .831 .314/.463);--yellow-a9:color(display-p3 1 .922 .22);--yellow-a10:color(display-p3 1 1 .455);--yellow-a11:color(display-p3 .948 .885 .392);--yellow-a12:color(display-p3 .959 .934 .731)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-1:color(display-p3 .082 .07 .05);--amber-2:color(display-p3 .111 .094 .064);--amber-3:color(display-p3 .178 .128 .049);--amber-4:color(display-p3 .239 .156 0);--amber-5:color(display-p3 .29 .193 0);--amber-6:color(display-p3 .344 .245 .076);--amber-7:color(display-p3 .422 .314 .141);--amber-8:color(display-p3 .535 .399 .189);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 1 .87 .15);--amber-11:color(display-p3 1 .8 .29);--amber-12:color(display-p3 .984 .909 .726)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-a1:color(display-p3 .992 .298 0/.017);--amber-a2:color(display-p3 .988 .651 0/.047);--amber-a3:color(display-p3 1 .6 0/.118);--amber-a4:color(display-p3 1 .557 0/.185);--amber-a5:color(display-p3 1 .592 0/.24);--amber-a6:color(display-p3 1 .659 .094/.299);--amber-a7:color(display-p3 1 .714 .263/.383);--amber-a8:color(display-p3 .996 .729 .306/.5);--amber-a9:color(display-p3 1 .769 .259);--amber-a10:color(display-p3 1 .871 .149);--amber-a11:color(display-p3 1 .8 .29);--amber-a12:color(display-p3 .984 .909 .726)}}}:root,.light,.light-theme{--gold-1:#fdfdfc;--gold-2:#faf9f2;--gold-3:#f2f0e7;--gold-4:#eae6db;--gold-5:#e1dccf;--gold-6:#d8d0bf;--gold-7:#cbc0aa;--gold-8:#b9a88d;--gold-9:#978365;--gold-10:#8c7a5e;--gold-11:#71624b;--gold-12:#3b352b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gold-1:color(display-p3 .992 .992 .989);--gold-2:color(display-p3 .98 .976 .953);--gold-3:color(display-p3 .947 .94 .909);--gold-4:color(display-p3 .914 .904 .865);--gold-5:color(display-p3 .88 .865 .816);--gold-6:color(display-p3 .84 .818 .756);--gold-7:color(display-p3 .788 .753 .677);--gold-8:color(display-p3 .715 .66 .565);--gold-9:color(display-p3 .579 .517 .41);--gold-10:color(display-p3 .538 .479 .38);--gold-11:color(display-p3 .433 .386 .305);--gold-12:color(display-p3 .227 .209 .173)}}}.dark,.dark-theme{--gold-1:#121211;--gold-2:#1b1a17;--gold-3:#24231f;--gold-4:#2d2b26;--gold-5:#38352e;--gold-6:#444039;--gold-7:#544f46;--gold-8:#696256;--gold-9:#978365;--gold-10:#a39073;--gold-11:#cbb99f;--gold-12:#e8e2d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gold-1:color(display-p3 .071 .071 .067);--gold-2:color(display-p3 .104 .101 .09);--gold-3:color(display-p3 .141 .136 .122);--gold-4:color(display-p3 .177 .17 .152);--gold-5:color(display-p3 .217 .207 .185);--gold-6:color(display-p3 .265 .252 .225);--gold-7:color(display-p3 .327 .31 .277);--gold-8:color(display-p3 .407 .384 .342);--gold-9:color(display-p3 .579 .517 .41);--gold-10:color(display-p3 .628 .566 .463);--gold-11:color(display-p3 .784 .728 .635);--gold-12:color(display-p3 .906 .887 .855)}}}:root,.light,.light-theme{--gold-a1:#55550003;--gold-a2:#9d8a000d;--gold-a3:#75600018;--gold-a4:#6b4e0024;--gold-a5:#60460030;--gold-a6:#64440040;--gold-a7:#63420055;--gold-a8:#633d0072;--gold-a9:#5332009a;--gold-a10:#492d00a1;--gold-a11:#362100b4;--gold-a12:#130c00d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gold-a1:color(display-p3 .349 .349 .024/.012);--gold-a2:color(display-p3 .592 .514 .024/.048);--gold-a3:color(display-p3 .4 .357 .012/.091);--gold-a4:color(display-p3 .357 .298 .008/.134);--gold-a5:color(display-p3 .345 .282 .004/.185);--gold-a6:color(display-p3 .341 .263 .004/.244);--gold-a7:color(display-p3 .345 .235 .004/.322);--gold-a8:color(display-p3 .345 .22 .004/.436);--gold-a9:color(display-p3 .286 .18 0/.589);--gold-a10:color(display-p3 .255 .161 0/.62);--gold-a11:color(display-p3 .433 .386 .305);--gold-a12:color(display-p3 .227 .209 .173)}}}.dark,.dark-theme{--gold-a1:#91911102;--gold-a2:#f9e29d0b;--gold-a3:#f8ecbb15;--gold-a4:#ffeec41e;--gold-a5:#feecc22a;--gold-a6:#feebcb37;--gold-a7:#ffedcd48;--gold-a8:#fdeaca5f;--gold-a9:#ffdba690;--gold-a10:#fedfb09d;--gold-a11:#fee7c6c8;--gold-a12:#fef7ede7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gold-a1:color(display-p3 .855 .855 .071/.005);--gold-a2:color(display-p3 .98 .89 .616/.043);--gold-a3:color(display-p3 1 .949 .753/.08);--gold-a4:color(display-p3 1 .933 .8/.118);--gold-a5:color(display-p3 1 .949 .804/.16);--gold-a6:color(display-p3 1 .925 .8/.215);--gold-a7:color(display-p3 1 .945 .831/.278);--gold-a8:color(display-p3 1 .937 .82/.366);--gold-a9:color(display-p3 .996 .882 .69/.551);--gold-a10:color(display-p3 1 .894 .725/.601);--gold-a11:color(display-p3 .784 .728 .635);--gold-a12:color(display-p3 .906 .887 .855)}}}:root,.light,.light-theme{--bronze-1:#fdfcfc;--bronze-2:#fdf7f5;--bronze-3:#f6edea;--bronze-4:#efe4df;--bronze-5:#e7d9d3;--bronze-6:#dfcdc5;--bronze-7:#d3bcb3;--bronze-8:#c2a499;--bronze-9:#a18072;--bronze-10:#957468;--bronze-11:#7d5e54;--bronze-12:#43302b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--bronze-1:color(display-p3 .991 .988 .988);--bronze-2:color(display-p3 .989 .97 .961);--bronze-3:color(display-p3 .958 .932 .919);--bronze-4:color(display-p3 .929 .894 .877);--bronze-5:color(display-p3 .898 .853 .832);--bronze-6:color(display-p3 .861 .805 .778);--bronze-7:color(display-p3 .812 .739 .706);--bronze-8:color(display-p3 .741 .647 .606);--bronze-9:color(display-p3 .611 .507 .455);--bronze-10:color(display-p3 .563 .461 .414);--bronze-11:color(display-p3 .471 .373 .336);--bronze-12:color(display-p3 .251 .191 .172)}}}.dark,.dark-theme{--bronze-1:#141110;--bronze-2:#1c1917;--bronze-3:#262220;--bronze-4:#302a27;--bronze-5:#3b3330;--bronze-6:#493e3a;--bronze-7:#5a4c47;--bronze-8:#6f5f58;--bronze-9:#a18072;--bronze-10:#ae8c7e;--bronze-11:#d4b3a5;--bronze-12:#ede0d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--bronze-1:color(display-p3 .076 .067 .063);--bronze-2:color(display-p3 .106 .097 .093);--bronze-3:color(display-p3 .147 .132 .125);--bronze-4:color(display-p3 .185 .166 .156);--bronze-5:color(display-p3 .227 .202 .19);--bronze-6:color(display-p3 .278 .246 .23);--bronze-7:color(display-p3 .343 .302 .281);--bronze-8:color(display-p3 .426 .374 .347);--bronze-9:color(display-p3 .611 .507 .455);--bronze-10:color(display-p3 .66 .556 .504);--bronze-11:color(display-p3 .81 .707 .655);--bronze-12:color(display-p3 .921 .88 .854)}}}:root,.light,.light-theme{--bronze-a1:#55000003;--bronze-a2:#cc33000a;--bronze-a3:#92250015;--bronze-a4:#80280020;--bronze-a5:#7423002c;--bronze-a6:#7324003a;--bronze-a7:#6c1f004c;--bronze-a8:#671c0066;--bronze-a9:#551a008d;--bronze-a10:#4c150097;--bronze-a11:#3d0f00ab;--bronze-a12:#1d0600d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--bronze-a1:color(display-p3 .349 .024 .024/.012);--bronze-a2:color(display-p3 .71 .22 .024/.04);--bronze-a3:color(display-p3 .482 .2 .008/.083);--bronze-a4:color(display-p3 .424 .133 .004/.122);--bronze-a5:color(display-p3 .4 .145 .004/.169);--bronze-a6:color(display-p3 .388 .125 .004/.224);--bronze-a7:color(display-p3 .365 .11 .004/.295);--bronze-a8:color(display-p3 .341 .102 .004/.393);--bronze-a9:color(display-p3 .29 .094 0/.546);--bronze-a10:color(display-p3 .255 .082 0/.585);--bronze-a11:color(display-p3 .471 .373 .336);--bronze-a12:color(display-p3 .251 .191 .172)}}}.dark,.dark-theme{--bronze-a1:#d1110004;--bronze-a2:#fbbc910c;--bronze-a3:#faceb817;--bronze-a4:#facdb622;--bronze-a5:#ffd2c12d;--bronze-a6:#ffd1c03c;--bronze-a7:#fdd0c04f;--bronze-a8:#ffd6c565;--bronze-a9:#fec7b09b;--bronze-a10:#fecab5a9;--bronze-a11:#ffd7c6d1;--bronze-a12:#fff1e9ec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--bronze-a1:color(display-p3 .941 .067 0/.009);--bronze-a2:color(display-p3 .98 .8 .706/.043);--bronze-a3:color(display-p3 .988 .851 .761/.085);--bronze-a4:color(display-p3 .996 .839 .78/.127);--bronze-a5:color(display-p3 .996 .863 .773/.173);--bronze-a6:color(display-p3 1 .863 .796/.227);--bronze-a7:color(display-p3 1 .867 .8/.295);--bronze-a8:color(display-p3 1 .859 .788/.387);--bronze-a9:color(display-p3 1 .82 .733/.585);--bronze-a10:color(display-p3 1 .839 .761/.635);--bronze-a11:color(display-p3 .81 .707 .655);--bronze-a12:color(display-p3 .921 .88 .854)}}}:root,.light,.light-theme{--gray-1:#fcfcfc;--gray-2:#f9f9f9;--gray-3:#f0f0f0;--gray-4:#e8e8e8;--gray-5:#e0e0e0;--gray-6:#d9d9d9;--gray-7:#cecece;--gray-8:#bbb;--gray-9:#8d8d8d;--gray-10:#838383;--gray-11:#646464;--gray-12:#202020}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-1:color(display-p3 .988 .988 .988);--gray-2:color(display-p3 .975 .975 .975);--gray-3:color(display-p3 .939 .939 .939);--gray-4:color(display-p3 .908 .908 .908);--gray-5:color(display-p3 .88 .88 .88);--gray-6:color(display-p3 .849 .849 .849);--gray-7:color(display-p3 .807 .807 .807);--gray-8:color(display-p3 .732 .732 .732);--gray-9:color(display-p3 .553 .553 .553);--gray-10:color(display-p3 .512 .512 .512);--gray-11:color(display-p3 .392 .392 .392);--gray-12:color(display-p3 .125 .125 .125)}}}.dark,.dark-theme{--gray-1:#111;--gray-2:#191919;--gray-3:#222;--gray-4:#2a2a2a;--gray-5:#313131;--gray-6:#3a3a3a;--gray-7:#484848;--gray-8:#606060;--gray-9:#6e6e6e;--gray-10:#7b7b7b;--gray-11:#b4b4b4;--gray-12:#eee}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-1:color(display-p3 .067 .067 .067);--gray-2:color(display-p3 .098 .098 .098);--gray-3:color(display-p3 .135 .135 .135);--gray-4:color(display-p3 .163 .163 .163);--gray-5:color(display-p3 .192 .192 .192);--gray-6:color(display-p3 .228 .228 .228);--gray-7:color(display-p3 .283 .283 .283);--gray-8:color(display-p3 .375 .375 .375);--gray-9:color(display-p3 .431 .431 .431);--gray-10:color(display-p3 .484 .484 .484);--gray-11:color(display-p3 .706 .706 .706);--gray-12:color(display-p3 .933 .933 .933)}}}:root,.light,.light-theme{--gray-a1:#00000003;--gray-a2:#00000006;--gray-a3:#0000000f;--gray-a4:#00000017;--gray-a5:#0000001f;--gray-a6:#00000026;--gray-a7:#00000031;--gray-a8:#0004;--gray-a9:#00000072;--gray-a10:#0000007c;--gray-a11:#0000009b;--gray-a12:#000000df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-a1:color(display-p3 0 0 0/.012);--gray-a2:color(display-p3 0 0 0/.024);--gray-a3:color(display-p3 0 0 0/.063);--gray-a4:color(display-p3 0 0 0/.09);--gray-a5:color(display-p3 0 0 0/.122);--gray-a6:color(display-p3 0 0 0/.153);--gray-a7:color(display-p3 0 0 0/.192);--gray-a8:color(display-p3 0 0 0/.267);--gray-a9:color(display-p3 0 0 0/.447);--gray-a10:color(display-p3 0 0 0/.486);--gray-a11:color(display-p3 0 0 0/.608);--gray-a12:color(display-p3 0 0 0/.875)}}}.dark,.dark-theme{--gray-a1:#0000;--gray-a2:#ffffff09;--gray-a3:#ffffff12;--gray-a4:#ffffff1b;--gray-a5:#fff2;--gray-a6:#ffffff2c;--gray-a7:#ffffff3b;--gray-a8:#fff5;--gray-a9:#ffffff64;--gray-a10:#ffffff72;--gray-a11:#ffffffaf;--gray-a12:#ffffffed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-a1:color(display-p3 0 0 0/0);--gray-a2:color(display-p3 1 1 1/.034);--gray-a3:color(display-p3 1 1 1/.071);--gray-a4:color(display-p3 1 1 1/.105);--gray-a5:color(display-p3 1 1 1/.134);--gray-a6:color(display-p3 1 1 1/.172);--gray-a7:color(display-p3 1 1 1/.231);--gray-a8:color(display-p3 1 1 1/.332);--gray-a9:color(display-p3 1 1 1/.391);--gray-a10:color(display-p3 1 1 1/.445);--gray-a11:color(display-p3 1 1 1/.685);--gray-a12:color(display-p3 1 1 1/.929)}}}:root,.light,.light-theme{--mauve-1:#fdfcfd;--mauve-2:#faf9fb;--mauve-3:#f2eff3;--mauve-4:#eae7ec;--mauve-5:#e3dfe6;--mauve-6:#dbd8e0;--mauve-7:#d0cdd7;--mauve-8:#bcbac7;--mauve-9:#8e8c99;--mauve-10:#84828e;--mauve-11:#65636d;--mauve-12:#211f26}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mauve-1:color(display-p3 .991 .988 .992);--mauve-2:color(display-p3 .98 .976 .984);--mauve-3:color(display-p3 .946 .938 .952);--mauve-4:color(display-p3 .915 .906 .925);--mauve-5:color(display-p3 .886 .876 .901);--mauve-6:color(display-p3 .856 .846 .875);--mauve-7:color(display-p3 .814 .804 .84);--mauve-8:color(display-p3 .735 .728 .777);--mauve-9:color(display-p3 .555 .549 .596);--mauve-10:color(display-p3 .514 .508 .552);--mauve-11:color(display-p3 .395 .388 .424);--mauve-12:color(display-p3 .128 .122 .147)}}}.dark,.dark-theme{--mauve-1:#121113;--mauve-2:#1a191b;--mauve-3:#232225;--mauve-4:#2b292d;--mauve-5:#323035;--mauve-6:#3c393f;--mauve-7:#49474e;--mauve-8:#625f69;--mauve-9:#6f6d78;--mauve-10:#7c7a85;--mauve-11:#b5b2bc;--mauve-12:#eeeef0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mauve-1:color(display-p3 .07 .067 .074);--mauve-2:color(display-p3 .101 .098 .105);--mauve-3:color(display-p3 .138 .134 .144);--mauve-4:color(display-p3 .167 .161 .175);--mauve-5:color(display-p3 .196 .189 .206);--mauve-6:color(display-p3 .232 .225 .245);--mauve-7:color(display-p3 .286 .277 .302);--mauve-8:color(display-p3 .383 .373 .408);--mauve-9:color(display-p3 .434 .428 .467);--mauve-10:color(display-p3 .487 .48 .519);--mauve-11:color(display-p3 .707 .7 .735);--mauve-12:color(display-p3 .933 .933 .94)}}}:root,.light,.light-theme{--mauve-a1:#55005503;--mauve-a2:#2b005506;--mauve-a3:#30004010;--mauve-a4:#20003618;--mauve-a5:#20003820;--mauve-a6:#14003527;--mauve-a7:#10003332;--mauve-a8:#08003145;--mauve-a9:#05001d73;--mauve-a10:#0500197d;--mauve-a11:#0400119c;--mauve-a12:#020008e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mauve-a1:color(display-p3 .349 .024 .349/.012);--mauve-a2:color(display-p3 .184 .024 .349/.024);--mauve-a3:color(display-p3 .129 .008 .255/.063);--mauve-a4:color(display-p3 .094 .012 .216/.095);--mauve-a5:color(display-p3 .098 .008 .224/.126);--mauve-a6:color(display-p3 .055 .004 .18/.153);--mauve-a7:color(display-p3 .067 .008 .184/.197);--mauve-a8:color(display-p3 .02 .004 .176/.271);--mauve-a9:color(display-p3 .02 .004 .106/.451);--mauve-a10:color(display-p3 .012 .004 .09/.491);--mauve-a11:color(display-p3 .016 0 .059/.612);--mauve-a12:color(display-p3 .008 0 .027/.879)}}}.dark,.dark-theme{--mauve-a1:#0000;--mauve-a2:#f5f4f609;--mauve-a3:#ebeaf814;--mauve-a4:#eee5f81d;--mauve-a5:#efe6fe25;--mauve-a6:#f1e6fd30;--mauve-a7:#eee9ff40;--mauve-a8:#eee7ff5d;--mauve-a9:#eae6fd6e;--mauve-a10:#ece9fd7c;--mauve-a11:#f5f1ffb7;--mauve-a12:#fdfdffef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mauve-a1:color(display-p3 0 0 0/0);--mauve-a2:color(display-p3 .996 .992 1/.034);--mauve-a3:color(display-p3 .937 .933 .992/.077);--mauve-a4:color(display-p3 .957 .918 .996/.111);--mauve-a5:color(display-p3 .937 .906 .996/.145);--mauve-a6:color(display-p3 .953 .925 .996/.183);--mauve-a7:color(display-p3 .945 .929 1/.246);--mauve-a8:color(display-p3 .937 .918 1/.361);--mauve-a9:color(display-p3 .933 .918 1/.424);--mauve-a10:color(display-p3 .941 .925 1/.479);--mauve-a11:color(display-p3 .965 .961 1/.712);--mauve-a12:color(display-p3 .992 .992 1/.937)}}}:root,.light,.light-theme{--slate-1:#fcfcfd;--slate-2:#f9f9fb;--slate-3:#f0f0f3;--slate-4:#e8e8ec;--slate-5:#e0e1e6;--slate-6:#d9d9e0;--slate-7:#cdced6;--slate-8:#b9bbc6;--slate-9:#8b8d98;--slate-10:#80838d;--slate-11:#60646c;--slate-12:#1c2024}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--slate-1:color(display-p3 .988 .988 .992);--slate-2:color(display-p3 .976 .976 .984);--slate-3:color(display-p3 .94 .941 .953);--slate-4:color(display-p3 .908 .909 .925);--slate-5:color(display-p3 .88 .881 .901);--slate-6:color(display-p3 .85 .852 .876);--slate-7:color(display-p3 .805 .808 .838);--slate-8:color(display-p3 .727 .733 .773);--slate-9:color(display-p3 .547 .553 .592);--slate-10:color(display-p3 .503 .512 .549);--slate-11:color(display-p3 .379 .392 .421);--slate-12:color(display-p3 .113 .125 .14)}}}.dark,.dark-theme{--slate-1:#111113;--slate-2:#18191b;--slate-3:#212225;--slate-4:#272a2d;--slate-5:#2e3135;--slate-6:#363a3f;--slate-7:#43484e;--slate-8:#5a6169;--slate-9:#696e77;--slate-10:#777b84;--slate-11:#b0b4ba;--slate-12:#edeef0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--slate-1:color(display-p3 .067 .067 .074);--slate-2:color(display-p3 .095 .098 .105);--slate-3:color(display-p3 .13 .135 .145);--slate-4:color(display-p3 .156 .163 .176);--slate-5:color(display-p3 .183 .191 .206);--slate-6:color(display-p3 .215 .226 .244);--slate-7:color(display-p3 .265 .28 .302);--slate-8:color(display-p3 .357 .381 .409);--slate-9:color(display-p3 .415 .431 .463);--slate-10:color(display-p3 .469 .483 .514);--slate-11:color(display-p3 .692 .704 .728);--slate-12:color(display-p3 .93 .933 .94)}}}:root,.light,.light-theme{--slate-a1:#00005503;--slate-a2:#00005506;--slate-a3:#0000330f;--slate-a4:#00002d17;--slate-a5:#0009321f;--slate-a6:#00002f26;--slate-a7:#00062e32;--slate-a8:#00083046;--slate-a9:#00051d74;--slate-a10:#00071b7f;--slate-a11:#0007149f;--slate-a12:#000509e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--slate-a1:color(display-p3 .024 .024 .349/.012);--slate-a2:color(display-p3 .024 .024 .349/.024);--slate-a3:color(display-p3 .004 .004 .204/.059);--slate-a4:color(display-p3 .012 .012 .184/.091);--slate-a5:color(display-p3 .004 .039 .2/.122);--slate-a6:color(display-p3 .008 .008 .165/.15);--slate-a7:color(display-p3 .008 .027 .184/.197);--slate-a8:color(display-p3 .004 .031 .176/.275);--slate-a9:color(display-p3 .004 .02 .106/.455);--slate-a10:color(display-p3 .004 .027 .098/.499);--slate-a11:color(display-p3 0 .02 .063/.62);--slate-a12:color(display-p3 0 .012 .031/.887)}}}.dark,.dark-theme{--slate-a1:#0000;--slate-a2:#d8f4f609;--slate-a3:#ddeaf814;--slate-a4:#d3edf81d;--slate-a5:#d9edfe25;--slate-a6:#d6ebfd30;--slate-a7:#d9edff40;--slate-a8:#d9edff5d;--slate-a9:#dfebfd6d;--slate-a10:#e5edfd7b;--slate-a11:#f1f7feb5;--slate-a12:#fcfdffef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--slate-a1:color(display-p3 0 0 0/0);--slate-a2:color(display-p3 .875 .992 1/.034);--slate-a3:color(display-p3 .882 .933 .992/.077);--slate-a4:color(display-p3 .882 .953 .996/.111);--slate-a5:color(display-p3 .878 .929 .996/.145);--slate-a6:color(display-p3 .882 .949 .996/.183);--slate-a7:color(display-p3 .882 .929 1/.246);--slate-a8:color(display-p3 .871 .937 1/.361);--slate-a9:color(display-p3 .898 .937 1/.42);--slate-a10:color(display-p3 .918 .945 1/.475);--slate-a11:color(display-p3 .949 .969 .996/.708);--slate-a12:color(display-p3 .988 .992 1/.937)}}}:root,.light,.light-theme{--sage-1:#fbfdfc;--sage-2:#f7f9f8;--sage-3:#eef1f0;--sage-4:#e6e9e8;--sage-5:#dfe2e0;--sage-6:#d7dad9;--sage-7:#cbcfcd;--sage-8:#b8bcba;--sage-9:#868e8b;--sage-10:#7c8481;--sage-11:#5f6563;--sage-12:#1a211e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sage-1:color(display-p3 .986 .992 .988);--sage-2:color(display-p3 .97 .977 .974);--sage-3:color(display-p3 .935 .944 .94);--sage-4:color(display-p3 .904 .913 .909);--sage-5:color(display-p3 .875 .885 .88);--sage-6:color(display-p3 .844 .854 .849);--sage-7:color(display-p3 .8 .811 .806);--sage-8:color(display-p3 .725 .738 .732);--sage-9:color(display-p3 .531 .556 .546);--sage-10:color(display-p3 .492 .515 .506);--sage-11:color(display-p3 .377 .395 .389);--sage-12:color(display-p3 .107 .129 .118)}}}.dark,.dark-theme{--sage-1:#101211;--sage-2:#171918;--sage-3:#202221;--sage-4:#272a29;--sage-5:#2e3130;--sage-6:#373b39;--sage-7:#444947;--sage-8:#5b625f;--sage-9:#63706b;--sage-10:#717d79;--sage-11:#adb5b2;--sage-12:#eceeed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sage-1:color(display-p3 .064 .07 .067);--sage-2:color(display-p3 .092 .098 .094);--sage-3:color(display-p3 .128 .135 .131);--sage-4:color(display-p3 .155 .164 .159);--sage-5:color(display-p3 .183 .193 .188);--sage-6:color(display-p3 .218 .23 .224);--sage-7:color(display-p3 .269 .285 .277);--sage-8:color(display-p3 .362 .382 .373);--sage-9:color(display-p3 .398 .438 .421);--sage-10:color(display-p3 .453 .49 .474);--sage-11:color(display-p3 .685 .709 .697);--sage-12:color(display-p3 .927 .933 .93)}}}:root,.light,.light-theme{--sage-a1:#00804004;--sage-a2:#00402008;--sage-a3:#002d1e11;--sage-a4:#001f1519;--sage-a5:#00180820;--sage-a6:#00140d28;--sage-a7:#00140a34;--sage-a8:#000f0847;--sage-a9:#00110b79;--sage-a10:#00100a83;--sage-a11:#000a07a0;--sage-a12:#000805e5}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sage-a1:color(display-p3 .024 .514 .267/.016);--sage-a2:color(display-p3 .02 .267 .145/.032);--sage-a3:color(display-p3 .008 .184 .125/.067);--sage-a4:color(display-p3 .012 .094 .051/.095);--sage-a5:color(display-p3 .008 .098 .035/.126);--sage-a6:color(display-p3 .004 .078 .027/.157);--sage-a7:color(display-p3 0 .059 .039/.2);--sage-a8:color(display-p3 .004 .047 .031/.275);--sage-a9:color(display-p3 .004 .059 .035/.471);--sage-a10:color(display-p3 0 .047 .031/.51);--sage-a11:color(display-p3 0 .031 .02/.624);--sage-a12:color(display-p3 0 .027 .012/.895)}}}.dark,.dark-theme{--sage-a1:#0000;--sage-a2:#f0f2f108;--sage-a3:#f3f5f412;--sage-a4:#f2fefd1a;--sage-a5:#f1fbfa22;--sage-a6:#edfbf42d;--sage-a7:#edfcf73c;--sage-a8:#ebfdf657;--sage-a9:#dffdf266;--sage-a10:#e5fdf674;--sage-a11:#f4fefbb0;--sage-a12:#fdfffeed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sage-a1:color(display-p3 0 0 0/0);--sage-a2:color(display-p3 .976 .988 .984/.03);--sage-a3:color(display-p3 .992 .945 .941/.072);--sage-a4:color(display-p3 .988 .996 .992/.102);--sage-a5:color(display-p3 .992 1 .996/.131);--sage-a6:color(display-p3 .973 1 .976/.173);--sage-a7:color(display-p3 .957 1 .976/.233);--sage-a8:color(display-p3 .957 1 .984/.334);--sage-a9:color(display-p3 .902 1 .957/.397);--sage-a10:color(display-p3 .929 1 .973/.452);--sage-a11:color(display-p3 .969 1 .988/.688);--sage-a12:color(display-p3 .992 1 .996/.929)}}}:root,.light,.light-theme{--olive-1:#fcfdfc;--olive-2:#f8faf8;--olive-3:#eff1ef;--olive-4:#e7e9e7;--olive-5:#dfe2df;--olive-6:#d7dad7;--olive-7:#cccfcc;--olive-8:#b9bcb8;--olive-9:#898e87;--olive-10:#7f847d;--olive-11:#60655f;--olive-12:#1d211c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-1:color(display-p3 .989 .992 .989);--olive-2:color(display-p3 .974 .98 .973);--olive-3:color(display-p3 .939 .945 .937);--olive-4:color(display-p3 .907 .914 .905);--olive-5:color(display-p3 .878 .885 .875);--olive-6:color(display-p3 .846 .855 .843);--olive-7:color(display-p3 .803 .812 .8);--olive-8:color(display-p3 .727 .738 .723);--olive-9:color(display-p3 .541 .556 .532);--olive-10:color(display-p3 .5 .515 .491);--olive-11:color(display-p3 .38 .395 .374);--olive-12:color(display-p3 .117 .129 .111)}}}.dark,.dark-theme{--olive-1:#111210;--olive-2:#181917;--olive-3:#212220;--olive-4:#282a27;--olive-5:#2f312e;--olive-6:#383a36;--olive-7:#454843;--olive-8:#5c625b;--olive-9:#687066;--olive-10:#767d74;--olive-11:#afb5ad;--olive-12:#eceeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-1:color(display-p3 .067 .07 .063);--olive-2:color(display-p3 .095 .098 .091);--olive-3:color(display-p3 .131 .135 .126);--olive-4:color(display-p3 .158 .163 .153);--olive-5:color(display-p3 .186 .192 .18);--olive-6:color(display-p3 .221 .229 .215);--olive-7:color(display-p3 .273 .284 .266);--olive-8:color(display-p3 .365 .382 .359);--olive-9:color(display-p3 .414 .438 .404);--olive-10:color(display-p3 .467 .49 .458);--olive-11:color(display-p3 .69 .709 .682);--olive-12:color(display-p3 .927 .933 .926)}}}:root,.light,.light-theme{--olive-a1:#00550003;--olive-a2:#00490007;--olive-a3:#00200010;--olive-a4:#00160018;--olive-a5:#00180020;--olive-a6:#00140028;--olive-a7:#000f0033;--olive-a8:#040f0047;--olive-a9:#050f0078;--olive-a10:#040e0082;--olive-a11:#020a00a0;--olive-a12:#010600e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-a1:color(display-p3 .024 .349 .024/.012);--olive-a2:color(display-p3 .024 .302 .024/.028);--olive-a3:color(display-p3 .008 .129 .008/.063);--olive-a4:color(display-p3 .012 .094 .012/.095);--olive-a5:color(display-p3 .035 .098 .008/.126);--olive-a6:color(display-p3 .027 .078 .004/.157);--olive-a7:color(display-p3 .02 .059 0/.2);--olive-a8:color(display-p3 .02 .059 .004/.279);--olive-a9:color(display-p3 .02 .051 .004/.467);--olive-a10:color(display-p3 .024 .047 0/.51);--olive-a11:color(display-p3 .012 .039 0/.628);--olive-a12:color(display-p3 .008 .024 0/.891)}}}.dark,.dark-theme{--olive-a1:#0000;--olive-a2:#f1f2f008;--olive-a3:#f4f5f312;--olive-a4:#f3fef21a;--olive-a5:#f2fbf122;--olive-a6:#f4faed2c;--olive-a7:#f2fced3b;--olive-a8:#edfdeb57;--olive-a9:#ebfde766;--olive-a10:#f0fdec74;--olive-a11:#f6fef4b0;--olive-a12:#fdfffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-a1:color(display-p3 0 0 0/0);--olive-a2:color(display-p3 .984 .988 .976/.03);--olive-a3:color(display-p3 .992 .996 .988/.068);--olive-a4:color(display-p3 .953 .996 .949/.102);--olive-a5:color(display-p3 .969 1 .965/.131);--olive-a6:color(display-p3 .973 1 .969/.169);--olive-a7:color(display-p3 .98 1 .961/.228);--olive-a8:color(display-p3 .961 1 .957/.334);--olive-a9:color(display-p3 .949 1 .922/.397);--olive-a10:color(display-p3 .953 1 .941/.452);--olive-a11:color(display-p3 .976 1 .965/.688);--olive-a12:color(display-p3 .992 1 .992/.929)}}}:root,.light,.light-theme{--sand-1:#fdfdfc;--sand-2:#f9f9f8;--sand-3:#f1f0ef;--sand-4:#e9e8e6;--sand-5:#e2e1de;--sand-6:#dad9d6;--sand-7:#cfceca;--sand-8:#bcbbb5;--sand-9:#8d8d86;--sand-10:#82827c;--sand-11:#63635e;--sand-12:#21201c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-1:color(display-p3 .992 .992 .989);--sand-2:color(display-p3 .977 .977 .973);--sand-3:color(display-p3 .943 .942 .936);--sand-4:color(display-p3 .913 .912 .903);--sand-5:color(display-p3 .885 .883 .873);--sand-6:color(display-p3 .854 .852 .839);--sand-7:color(display-p3 .813 .81 .794);--sand-8:color(display-p3 .738 .734 .713);--sand-9:color(display-p3 .553 .553 .528);--sand-10:color(display-p3 .511 .511 .488);--sand-11:color(display-p3 .388 .388 .37);--sand-12:color(display-p3 .129 .126 .111)}}}.dark,.dark-theme{--sand-1:#111110;--sand-2:#191918;--sand-3:#222221;--sand-4:#2a2a28;--sand-5:#31312e;--sand-6:#3b3a37;--sand-7:#494844;--sand-8:#62605b;--sand-9:#6f6d66;--sand-10:#7c7b74;--sand-11:#b5b3ad;--sand-12:#eeeeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sand-1:color(display-p3 .067 .067 .063);--sand-2:color(display-p3 .098 .098 .094);--sand-3:color(display-p3 .135 .135 .129);--sand-4:color(display-p3 .164 .163 .156);--sand-5:color(display-p3 .193 .192 .183);--sand-6:color(display-p3 .23 .229 .217);--sand-7:color(display-p3 .285 .282 .267);--sand-8:color(display-p3 .384 .378 .357);--sand-9:color(display-p3 .434 .428 .403);--sand-10:color(display-p3 .487 .481 .456);--sand-11:color(display-p3 .707 .703 .68);--sand-12:color(display-p3 .933 .933 .926)}}}:root,.light,.light-theme{--sand-a1:#55550003;--sand-a2:#25250007;--sand-a3:#20100010;--sand-a4:#1f150019;--sand-a5:#1f180021;--sand-a6:#19130029;--sand-a7:#19140035;--sand-a8:#1915014a;--sand-a9:#0f0f0079;--sand-a10:#0c0c0083;--sand-a11:#080800a1;--sand-a12:#060500e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-a1:color(display-p3 .349 .349 .024/.012);--sand-a2:color(display-p3 .161 .161 .024/.028);--sand-a3:color(display-p3 .067 .067 .008/.063);--sand-a4:color(display-p3 .129 .129 .012/.099);--sand-a5:color(display-p3 .098 .067 .008/.126);--sand-a6:color(display-p3 .102 .075 .004/.161);--sand-a7:color(display-p3 .098 .098 .004/.208);--sand-a8:color(display-p3 .086 .075 .004/.287);--sand-a9:color(display-p3 .051 .051 .004/.471);--sand-a10:color(display-p3 .047 .047 0/.514);--sand-a11:color(display-p3 .031 .031 0/.632);--sand-a12:color(display-p3 .024 .02 0/.891)}}}.dark,.dark-theme{--sand-a1:#0000;--sand-a2:#f4f4f309;--sand-a3:#f6f6f513;--sand-a4:#fefef31b;--sand-a5:#fbfbeb23;--sand-a6:#fffaed2d;--sand-a7:#fffbed3c;--sand-a8:#fff9eb57;--sand-a9:#fffae965;--sand-a10:#fffdee73;--sand-a11:#fffcf4b0;--sand-a12:#fffffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sand-a1:color(display-p3 0 0 0/0);--sand-a2:color(display-p3 .992 .992 .988/.034);--sand-a3:color(display-p3 .996 .996 .992/.072);--sand-a4:color(display-p3 .992 .992 .953/.106);--sand-a5:color(display-p3 1 1 .965/.135);--sand-a6:color(display-p3 1 .976 .929/.177);--sand-a7:color(display-p3 1 .984 .929/.236);--sand-a8:color(display-p3 1 .976 .925/.341);--sand-a9:color(display-p3 1 .98 .925/.395);--sand-a10:color(display-p3 1 .992 .933/.45);--sand-a11:color(display-p3 1 .996 .961/.685);--sand-a12:color(display-p3 1 1 .992/.929)}}}:root{--black-a1:#0000000d;--black-a2:#0000001a;--black-a3:#00000026;--black-a4:#0003;--black-a5:#0000004d;--black-a6:#0006;--black-a7:#00000080;--black-a8:#0009;--black-a9:#000000b3;--black-a10:#000c;--black-a11:#000000e6;--black-a12:#000000f2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--black-a1:color(display-p3 0 0 0/.05);--black-a2:color(display-p3 0 0 0/.1);--black-a3:color(display-p3 0 0 0/.15);--black-a4:color(display-p3 0 0 0/.2);--black-a5:color(display-p3 0 0 0/.3);--black-a6:color(display-p3 0 0 0/.4);--black-a7:color(display-p3 0 0 0/.5);--black-a8:color(display-p3 0 0 0/.6);--black-a9:color(display-p3 0 0 0/.7);--black-a10:color(display-p3 0 0 0/.8);--black-a11:color(display-p3 0 0 0/.9);--black-a12:color(display-p3 0 0 0/.95)}}}:root{--white-a1:#ffffff0d;--white-a2:#ffffff1a;--white-a3:#ffffff26;--white-a4:#fff3;--white-a5:#ffffff4d;--white-a6:#fff6;--white-a7:#ffffff80;--white-a8:#fff9;--white-a9:#ffffffb3;--white-a10:#fffc;--white-a11:#ffffffe6;--white-a12:#fffffff2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--white-a1:color(display-p3 1 1 1/.05);--white-a2:color(display-p3 1 1 1/.1);--white-a3:color(display-p3 1 1 1/.15);--white-a4:color(display-p3 1 1 1/.2);--white-a5:color(display-p3 1 1 1/.3);--white-a6:color(display-p3 1 1 1/.4);--white-a7:color(display-p3 1 1 1/.5);--white-a8:color(display-p3 1 1 1/.6);--white-a9:color(display-p3 1 1 1/.7);--white-a10:color(display-p3 1 1 1/.8);--white-a11:color(display-p3 1 1 1/.9);--white-a12:color(display-p3 1 1 1/.95)}}}:root{--tomato-contrast:white;--red-contrast:white;--ruby-contrast:white;--crimson-contrast:white;--pink-contrast:white;--plum-contrast:white;--purple-contrast:white;--violet-contrast:white;--iris-contrast:white;--indigo-contrast:white;--blue-contrast:white;--cyan-contrast:white;--teal-contrast:white;--jade-contrast:white;--green-contrast:white;--grass-contrast:white;--orange-contrast:white;--brown-contrast:white;--sky-contrast:#1c2024;--mint-contrast:#1a211e;--lime-contrast:#1d211c;--yellow-contrast:#21201c;--amber-contrast:#21201c;--gold-contrast:white;--bronze-contrast:white;--gray-contrast:white}:root,.light,.light-theme{--gray-surface:#fffc;--mauve-surface:#fffc;--slate-surface:#fffc;--sage-surface:#fffc;--olive-surface:#fffc;--sand-surface:#fffc;--tomato-surface:#fff6f5cc;--red-surface:#fff5f5cc;--ruby-surface:#fff5f6cc;--crimson-surface:#fef5f8cc;--pink-surface:#fef5facc;--plum-surface:#fdf5fdcc;--purple-surface:#faf5fecc;--violet-surface:#f9f6ffcc;--iris-surface:#f6f6ffcc;--indigo-surface:#f5f8ffcc;--blue-surface:#f1f9ffcc;--cyan-surface:#eff9facc;--teal-surface:#f0faf8cc;--jade-surface:#f1faf5cc;--green-surface:#f1faf4cc;--grass-surface:#f3faf3cc;--brown-surface:#fbf8f4cc;--bronze-surface:#fdf5f3cc;--gold-surface:#f9f8efcc;--sky-surface:#eef9fdcc;--mint-surface:#effaf8cc;--lime-surface:#f6f9f0cc;--yellow-surface:#fefbe4cc;--amber-surface:#fefae4cc;--orange-surface:#fff5e9cc}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-surface:color(display-p3 1 1 1/.8);--mauve-surface:color(display-p3 1 1 1/.8);--slate-surface:color(display-p3 1 1 1/.8);--sage-surface:color(display-p3 1 1 1/.8);--olive-surface:color(display-p3 1 1 1/.8);--sand-surface:color(display-p3 1 1 1/.8);--tomato-surface:color(display-p3 .9922 .9647 .9608/.8);--red-surface:color(display-p3 .9961 .9647 .9647/.8);--ruby-surface:color(display-p3 .9961 .9647 .9647/.8);--crimson-surface:color(display-p3 .9922 .9608 .9725/.8);--pink-surface:color(display-p3 .9922 .9608 .9804/.8);--plum-surface:color(display-p3 .9843 .9647 .9843/.8);--purple-surface:color(display-p3 .9804 .9647 .9922/.8);--violet-surface:color(display-p3 .9725 .9647 .9961/.8);--iris-surface:color(display-p3 .9647 .9647 .9961/.8);--indigo-surface:color(display-p3 .9647 .9725 .9961/.8);--blue-surface:color(display-p3 .9529 .9765 .9961/.8);--cyan-surface:color(display-p3 .9412 .9765 .9804/.8);--teal-surface:color(display-p3 .9451 .9804 .9725/.8);--jade-surface:color(display-p3 .9529 .9804 .9608/.8);--green-surface:color(display-p3 .9569 .9804 .9608/.8);--grass-surface:color(display-p3 .9569 .9804 .9569/.8);--brown-surface:color(display-p3 .9843 .9725 .9569/.8);--bronze-surface:color(display-p3 .9843 .9608 .9529/.8);--gold-surface:color(display-p3 .9765 .9725 .9412/.8);--sky-surface:color(display-p3 .9412 .9765 .9843/.8);--mint-surface:color(display-p3 .9451 .9804 .9725/.8);--lime-surface:color(display-p3 .9725 .9765 .9412/.8);--yellow-surface:color(display-p3 .9961 .9922 .902/.8);--amber-surface:color(display-p3 .9922 .9843 .902/.8);--orange-surface:color(display-p3 .9961 .9608 .9176/.8)}}}.dark,.dark-theme{--gray-surface:#21212180;--mauve-surface:#22212380;--slate-surface:#1f212380;--sage-surface:#1e201f80;--olive-surface:#1f201e80;--sand-surface:#21212080;--tomato-surface:#2d191580;--red-surface:#2f151780;--ruby-surface:#2b191d80;--crimson-surface:#2f151f80;--pink-surface:#31132980;--plum-surface:#2f152f80;--purple-surface:#2b173580;--violet-surface:#25193980;--iris-surface:#1d1b3980;--indigo-surface:#171d3b80;--blue-surface:#11213d80;--cyan-surface:#11252d80;--teal-surface:#13272580;--jade-surface:#13271f80;--green-surface:#15251d80;--grass-surface:#19231b80;--brown-surface:#271f1b80;--bronze-surface:#27211d80;--gold-surface:#25231d80;--sky-surface:#13233b80;--mint-surface:#15272780;--lime-surface:#1b211580;--yellow-surface:#231f1380;--amber-surface:#271f1380;--orange-surface:#271d1380}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-surface:color(display-p3 .1255 .1255 .1255/.5);--mauve-surface:color(display-p3 .1333 .1255 .1333/.5);--slate-surface:color(display-p3 .1176 .1255 .1333/.5);--sage-surface:color(display-p3 .1176 .1255 .1176/.5);--olive-surface:color(display-p3 .1176 .1255 .1176/.5);--sand-surface:color(display-p3 .1255 .1255 .1255/.5);--tomato-surface:color(display-p3 .1569 .0941 .0784/.5);--red-surface:color(display-p3 .1647 .0863 .0863/.5);--ruby-surface:color(display-p3 .1569 .0941 .1098/.5);--crimson-surface:color(display-p3 .1647 .0863 .1176/.5);--pink-surface:color(display-p3 .1725 .0784 .149/.5);--plum-surface:color(display-p3 .1647 .0863 .1725/.5);--purple-surface:color(display-p3 .149 .0941 .1961/.5);--violet-surface:color(display-p3 .1333 .102 .2118/.5);--iris-surface:color(display-p3 .1098 .102 .2118/.5);--indigo-surface:color(display-p3 .0941 .1098 .2196/.5);--blue-surface:color(display-p3 .0706 .1255 .2196/.5);--cyan-surface:color(display-p3 .0784 .1412 .1725/.5);--teal-surface:color(display-p3 .0863 .149 .1412/.5);--jade-surface:color(display-p3 .0863 .149 .1176/.5);--green-surface:color(display-p3 .0941 .1412 .1098/.5);--grass-surface:color(display-p3 .102 .1333 .102/.5);--brown-surface:color(display-p3 .1412 .1176 .102/.5);--bronze-surface:color(display-p3 .1412 .1255 .1176/.5);--gold-surface:color(display-p3 .1412 .1333 .1098/.5);--sky-surface:color(display-p3 .0863 .1333 .2196/.5);--mint-surface:color(display-p3 .0941 .149 .1412/.5);--lime-surface:color(display-p3 .1098 .1255 .0784/.5);--yellow-surface:color(display-p3 .1333 .1176 .0706/.5);--amber-surface:color(display-p3 .1412 .1176 .0784/.5);--orange-surface:color(display-p3 .1412 .1098 .0706/.5)}}}[data-accent-color=tomato]{--color-surface-accent:var(--tomato-surface);--accent-1:var(--tomato-1);--accent-2:var(--tomato-2);--accent-3:var(--tomato-3);--accent-4:var(--tomato-4);--accent-5:var(--tomato-5);--accent-6:var(--tomato-6);--accent-7:var(--tomato-7);--accent-8:var(--tomato-8);--accent-9:var(--tomato-9);--accent-contrast:var(--tomato-contrast);--accent-10:var(--tomato-10);--accent-11:var(--tomato-11);--accent-12:var(--tomato-12);--accent-a1:var(--tomato-a1);--accent-a2:var(--tomato-a2);--accent-a3:var(--tomato-a3);--accent-a4:var(--tomato-a4);--accent-a5:var(--tomato-a5);--accent-a6:var(--tomato-a6);--accent-a7:var(--tomato-a7);--accent-a8:var(--tomato-a8);--accent-a9:var(--tomato-a9);--accent-a10:var(--tomato-a10);--accent-a11:var(--tomato-a11);--accent-a12:var(--tomato-a12)}[data-accent-color=red]{--color-surface-accent:var(--red-surface);--accent-1:var(--red-1);--accent-2:var(--red-2);--accent-3:var(--red-3);--accent-4:var(--red-4);--accent-5:var(--red-5);--accent-6:var(--red-6);--accent-7:var(--red-7);--accent-8:var(--red-8);--accent-9:var(--red-9);--accent-contrast:var(--red-contrast);--accent-10:var(--red-10);--accent-11:var(--red-11);--accent-12:var(--red-12);--accent-a1:var(--red-a1);--accent-a2:var(--red-a2);--accent-a3:var(--red-a3);--accent-a4:var(--red-a4);--accent-a5:var(--red-a5);--accent-a6:var(--red-a6);--accent-a7:var(--red-a7);--accent-a8:var(--red-a8);--accent-a9:var(--red-a9);--accent-a10:var(--red-a10);--accent-a11:var(--red-a11);--accent-a12:var(--red-a12)}[data-accent-color=ruby]{--color-surface-accent:var(--ruby-surface);--accent-1:var(--ruby-1);--accent-2:var(--ruby-2);--accent-3:var(--ruby-3);--accent-4:var(--ruby-4);--accent-5:var(--ruby-5);--accent-6:var(--ruby-6);--accent-7:var(--ruby-7);--accent-8:var(--ruby-8);--accent-9:var(--ruby-9);--accent-contrast:var(--ruby-contrast);--accent-10:var(--ruby-10);--accent-11:var(--ruby-11);--accent-12:var(--ruby-12);--accent-a1:var(--ruby-a1);--accent-a2:var(--ruby-a2);--accent-a3:var(--ruby-a3);--accent-a4:var(--ruby-a4);--accent-a5:var(--ruby-a5);--accent-a6:var(--ruby-a6);--accent-a7:var(--ruby-a7);--accent-a8:var(--ruby-a8);--accent-a9:var(--ruby-a9);--accent-a10:var(--ruby-a10);--accent-a11:var(--ruby-a11);--accent-a12:var(--ruby-a12)}[data-accent-color=crimson]{--color-surface-accent:var(--crimson-surface);--accent-1:var(--crimson-1);--accent-2:var(--crimson-2);--accent-3:var(--crimson-3);--accent-4:var(--crimson-4);--accent-5:var(--crimson-5);--accent-6:var(--crimson-6);--accent-7:var(--crimson-7);--accent-8:var(--crimson-8);--accent-9:var(--crimson-9);--accent-contrast:var(--crimson-contrast);--accent-10:var(--crimson-10);--accent-11:var(--crimson-11);--accent-12:var(--crimson-12);--accent-a1:var(--crimson-a1);--accent-a2:var(--crimson-a2);--accent-a3:var(--crimson-a3);--accent-a4:var(--crimson-a4);--accent-a5:var(--crimson-a5);--accent-a6:var(--crimson-a6);--accent-a7:var(--crimson-a7);--accent-a8:var(--crimson-a8);--accent-a9:var(--crimson-a9);--accent-a10:var(--crimson-a10);--accent-a11:var(--crimson-a11);--accent-a12:var(--crimson-a12)}[data-accent-color=pink]{--color-surface-accent:var(--pink-surface);--accent-1:var(--pink-1);--accent-2:var(--pink-2);--accent-3:var(--pink-3);--accent-4:var(--pink-4);--accent-5:var(--pink-5);--accent-6:var(--pink-6);--accent-7:var(--pink-7);--accent-8:var(--pink-8);--accent-9:var(--pink-9);--accent-contrast:var(--pink-contrast);--accent-10:var(--pink-10);--accent-11:var(--pink-11);--accent-12:var(--pink-12);--accent-a1:var(--pink-a1);--accent-a2:var(--pink-a2);--accent-a3:var(--pink-a3);--accent-a4:var(--pink-a4);--accent-a5:var(--pink-a5);--accent-a6:var(--pink-a6);--accent-a7:var(--pink-a7);--accent-a8:var(--pink-a8);--accent-a9:var(--pink-a9);--accent-a10:var(--pink-a10);--accent-a11:var(--pink-a11);--accent-a12:var(--pink-a12)}[data-accent-color=plum]{--color-surface-accent:var(--plum-surface);--accent-1:var(--plum-1);--accent-2:var(--plum-2);--accent-3:var(--plum-3);--accent-4:var(--plum-4);--accent-5:var(--plum-5);--accent-6:var(--plum-6);--accent-7:var(--plum-7);--accent-8:var(--plum-8);--accent-9:var(--plum-9);--accent-contrast:var(--plum-contrast);--accent-10:var(--plum-10);--accent-11:var(--plum-11);--accent-12:var(--plum-12);--accent-a1:var(--plum-a1);--accent-a2:var(--plum-a2);--accent-a3:var(--plum-a3);--accent-a4:var(--plum-a4);--accent-a5:var(--plum-a5);--accent-a6:var(--plum-a6);--accent-a7:var(--plum-a7);--accent-a8:var(--plum-a8);--accent-a9:var(--plum-a9);--accent-a10:var(--plum-a10);--accent-a11:var(--plum-a11);--accent-a12:var(--plum-a12)}[data-accent-color=purple]{--color-surface-accent:var(--purple-surface);--accent-1:var(--purple-1);--accent-2:var(--purple-2);--accent-3:var(--purple-3);--accent-4:var(--purple-4);--accent-5:var(--purple-5);--accent-6:var(--purple-6);--accent-7:var(--purple-7);--accent-8:var(--purple-8);--accent-9:var(--purple-9);--accent-contrast:var(--purple-contrast);--accent-10:var(--purple-10);--accent-11:var(--purple-11);--accent-12:var(--purple-12);--accent-a1:var(--purple-a1);--accent-a2:var(--purple-a2);--accent-a3:var(--purple-a3);--accent-a4:var(--purple-a4);--accent-a5:var(--purple-a5);--accent-a6:var(--purple-a6);--accent-a7:var(--purple-a7);--accent-a8:var(--purple-a8);--accent-a9:var(--purple-a9);--accent-a10:var(--purple-a10);--accent-a11:var(--purple-a11);--accent-a12:var(--purple-a12)}[data-accent-color=violet]{--color-surface-accent:var(--violet-surface);--accent-1:var(--violet-1);--accent-2:var(--violet-2);--accent-3:var(--violet-3);--accent-4:var(--violet-4);--accent-5:var(--violet-5);--accent-6:var(--violet-6);--accent-7:var(--violet-7);--accent-8:var(--violet-8);--accent-9:var(--violet-9);--accent-contrast:var(--violet-contrast);--accent-10:var(--violet-10);--accent-11:var(--violet-11);--accent-12:var(--violet-12);--accent-a1:var(--violet-a1);--accent-a2:var(--violet-a2);--accent-a3:var(--violet-a3);--accent-a4:var(--violet-a4);--accent-a5:var(--violet-a5);--accent-a6:var(--violet-a6);--accent-a7:var(--violet-a7);--accent-a8:var(--violet-a8);--accent-a9:var(--violet-a9);--accent-a10:var(--violet-a10);--accent-a11:var(--violet-a11);--accent-a12:var(--violet-a12)}[data-accent-color=iris]{--color-surface-accent:var(--iris-surface);--accent-1:var(--iris-1);--accent-2:var(--iris-2);--accent-3:var(--iris-3);--accent-4:var(--iris-4);--accent-5:var(--iris-5);--accent-6:var(--iris-6);--accent-7:var(--iris-7);--accent-8:var(--iris-8);--accent-9:var(--iris-9);--accent-contrast:var(--iris-contrast);--accent-10:var(--iris-10);--accent-11:var(--iris-11);--accent-12:var(--iris-12);--accent-a1:var(--iris-a1);--accent-a2:var(--iris-a2);--accent-a3:var(--iris-a3);--accent-a4:var(--iris-a4);--accent-a5:var(--iris-a5);--accent-a6:var(--iris-a6);--accent-a7:var(--iris-a7);--accent-a8:var(--iris-a8);--accent-a9:var(--iris-a9);--accent-a10:var(--iris-a10);--accent-a11:var(--iris-a11);--accent-a12:var(--iris-a12)}[data-accent-color=indigo]{--color-surface-accent:var(--indigo-surface);--accent-1:var(--indigo-1);--accent-2:var(--indigo-2);--accent-3:var(--indigo-3);--accent-4:var(--indigo-4);--accent-5:var(--indigo-5);--accent-6:var(--indigo-6);--accent-7:var(--indigo-7);--accent-8:var(--indigo-8);--accent-9:var(--indigo-9);--accent-contrast:var(--indigo-contrast);--accent-10:var(--indigo-10);--accent-11:var(--indigo-11);--accent-12:var(--indigo-12);--accent-a1:var(--indigo-a1);--accent-a2:var(--indigo-a2);--accent-a3:var(--indigo-a3);--accent-a4:var(--indigo-a4);--accent-a5:var(--indigo-a5);--accent-a6:var(--indigo-a6);--accent-a7:var(--indigo-a7);--accent-a8:var(--indigo-a8);--accent-a9:var(--indigo-a9);--accent-a10:var(--indigo-a10);--accent-a11:var(--indigo-a11);--accent-a12:var(--indigo-a12)}[data-accent-color=blue]{--color-surface-accent:var(--blue-surface);--accent-1:var(--blue-1);--accent-2:var(--blue-2);--accent-3:var(--blue-3);--accent-4:var(--blue-4);--accent-5:var(--blue-5);--accent-6:var(--blue-6);--accent-7:var(--blue-7);--accent-8:var(--blue-8);--accent-9:var(--blue-9);--accent-contrast:var(--blue-contrast);--accent-10:var(--blue-10);--accent-11:var(--blue-11);--accent-12:var(--blue-12);--accent-a1:var(--blue-a1);--accent-a2:var(--blue-a2);--accent-a3:var(--blue-a3);--accent-a4:var(--blue-a4);--accent-a5:var(--blue-a5);--accent-a6:var(--blue-a6);--accent-a7:var(--blue-a7);--accent-a8:var(--blue-a8);--accent-a9:var(--blue-a9);--accent-a10:var(--blue-a10);--accent-a11:var(--blue-a11);--accent-a12:var(--blue-a12)}[data-accent-color=cyan]{--color-surface-accent:var(--cyan-surface);--accent-1:var(--cyan-1);--accent-2:var(--cyan-2);--accent-3:var(--cyan-3);--accent-4:var(--cyan-4);--accent-5:var(--cyan-5);--accent-6:var(--cyan-6);--accent-7:var(--cyan-7);--accent-8:var(--cyan-8);--accent-9:var(--cyan-9);--accent-contrast:var(--cyan-contrast);--accent-10:var(--cyan-10);--accent-11:var(--cyan-11);--accent-12:var(--cyan-12);--accent-a1:var(--cyan-a1);--accent-a2:var(--cyan-a2);--accent-a3:var(--cyan-a3);--accent-a4:var(--cyan-a4);--accent-a5:var(--cyan-a5);--accent-a6:var(--cyan-a6);--accent-a7:var(--cyan-a7);--accent-a8:var(--cyan-a8);--accent-a9:var(--cyan-a9);--accent-a10:var(--cyan-a10);--accent-a11:var(--cyan-a11);--accent-a12:var(--cyan-a12)}[data-accent-color=teal]{--color-surface-accent:var(--teal-surface);--accent-1:var(--teal-1);--accent-2:var(--teal-2);--accent-3:var(--teal-3);--accent-4:var(--teal-4);--accent-5:var(--teal-5);--accent-6:var(--teal-6);--accent-7:var(--teal-7);--accent-8:var(--teal-8);--accent-9:var(--teal-9);--accent-contrast:var(--teal-contrast);--accent-10:var(--teal-10);--accent-11:var(--teal-11);--accent-12:var(--teal-12);--accent-a1:var(--teal-a1);--accent-a2:var(--teal-a2);--accent-a3:var(--teal-a3);--accent-a4:var(--teal-a4);--accent-a5:var(--teal-a5);--accent-a6:var(--teal-a6);--accent-a7:var(--teal-a7);--accent-a8:var(--teal-a8);--accent-a9:var(--teal-a9);--accent-a10:var(--teal-a10);--accent-a11:var(--teal-a11);--accent-a12:var(--teal-a12)}[data-accent-color=jade]{--color-surface-accent:var(--jade-surface);--accent-1:var(--jade-1);--accent-2:var(--jade-2);--accent-3:var(--jade-3);--accent-4:var(--jade-4);--accent-5:var(--jade-5);--accent-6:var(--jade-6);--accent-7:var(--jade-7);--accent-8:var(--jade-8);--accent-9:var(--jade-9);--accent-contrast:var(--jade-contrast);--accent-10:var(--jade-10);--accent-11:var(--jade-11);--accent-12:var(--jade-12);--accent-a1:var(--jade-a1);--accent-a2:var(--jade-a2);--accent-a3:var(--jade-a3);--accent-a4:var(--jade-a4);--accent-a5:var(--jade-a5);--accent-a6:var(--jade-a6);--accent-a7:var(--jade-a7);--accent-a8:var(--jade-a8);--accent-a9:var(--jade-a9);--accent-a10:var(--jade-a10);--accent-a11:var(--jade-a11);--accent-a12:var(--jade-a12)}[data-accent-color=green]{--color-surface-accent:var(--green-surface);--accent-1:var(--green-1);--accent-2:var(--green-2);--accent-3:var(--green-3);--accent-4:var(--green-4);--accent-5:var(--green-5);--accent-6:var(--green-6);--accent-7:var(--green-7);--accent-8:var(--green-8);--accent-9:var(--green-9);--accent-contrast:var(--green-contrast);--accent-10:var(--green-10);--accent-11:var(--green-11);--accent-12:var(--green-12);--accent-a1:var(--green-a1);--accent-a2:var(--green-a2);--accent-a3:var(--green-a3);--accent-a4:var(--green-a4);--accent-a5:var(--green-a5);--accent-a6:var(--green-a6);--accent-a7:var(--green-a7);--accent-a8:var(--green-a8);--accent-a9:var(--green-a9);--accent-a10:var(--green-a10);--accent-a11:var(--green-a11);--accent-a12:var(--green-a12)}[data-accent-color=grass]{--color-surface-accent:var(--grass-surface);--accent-1:var(--grass-1);--accent-2:var(--grass-2);--accent-3:var(--grass-3);--accent-4:var(--grass-4);--accent-5:var(--grass-5);--accent-6:var(--grass-6);--accent-7:var(--grass-7);--accent-8:var(--grass-8);--accent-9:var(--grass-9);--accent-contrast:var(--grass-contrast);--accent-10:var(--grass-10);--accent-11:var(--grass-11);--accent-12:var(--grass-12);--accent-a1:var(--grass-a1);--accent-a2:var(--grass-a2);--accent-a3:var(--grass-a3);--accent-a4:var(--grass-a4);--accent-a5:var(--grass-a5);--accent-a6:var(--grass-a6);--accent-a7:var(--grass-a7);--accent-a8:var(--grass-a8);--accent-a9:var(--grass-a9);--accent-a10:var(--grass-a10);--accent-a11:var(--grass-a11);--accent-a12:var(--grass-a12)}[data-accent-color=orange]{--color-surface-accent:var(--orange-surface);--accent-1:var(--orange-1);--accent-2:var(--orange-2);--accent-3:var(--orange-3);--accent-4:var(--orange-4);--accent-5:var(--orange-5);--accent-6:var(--orange-6);--accent-7:var(--orange-7);--accent-8:var(--orange-8);--accent-9:var(--orange-9);--accent-contrast:var(--orange-contrast);--accent-10:var(--orange-10);--accent-11:var(--orange-11);--accent-12:var(--orange-12);--accent-a1:var(--orange-a1);--accent-a2:var(--orange-a2);--accent-a3:var(--orange-a3);--accent-a4:var(--orange-a4);--accent-a5:var(--orange-a5);--accent-a6:var(--orange-a6);--accent-a7:var(--orange-a7);--accent-a8:var(--orange-a8);--accent-a9:var(--orange-a9);--accent-a10:var(--orange-a10);--accent-a11:var(--orange-a11);--accent-a12:var(--orange-a12)}[data-accent-color=brown]{--color-surface-accent:var(--brown-surface);--accent-1:var(--brown-1);--accent-2:var(--brown-2);--accent-3:var(--brown-3);--accent-4:var(--brown-4);--accent-5:var(--brown-5);--accent-6:var(--brown-6);--accent-7:var(--brown-7);--accent-8:var(--brown-8);--accent-9:var(--brown-9);--accent-contrast:var(--brown-contrast);--accent-10:var(--brown-10);--accent-11:var(--brown-11);--accent-12:var(--brown-12);--accent-a1:var(--brown-a1);--accent-a2:var(--brown-a2);--accent-a3:var(--brown-a3);--accent-a4:var(--brown-a4);--accent-a5:var(--brown-a5);--accent-a6:var(--brown-a6);--accent-a7:var(--brown-a7);--accent-a8:var(--brown-a8);--accent-a9:var(--brown-a9);--accent-a10:var(--brown-a10);--accent-a11:var(--brown-a11);--accent-a12:var(--brown-a12)}[data-accent-color=sky]{--color-surface-accent:var(--sky-surface);--accent-1:var(--sky-1);--accent-2:var(--sky-2);--accent-3:var(--sky-3);--accent-4:var(--sky-4);--accent-5:var(--sky-5);--accent-6:var(--sky-6);--accent-7:var(--sky-7);--accent-8:var(--sky-8);--accent-9:var(--sky-9);--accent-contrast:var(--sky-contrast);--accent-10:var(--sky-10);--accent-11:var(--sky-11);--accent-12:var(--sky-12);--accent-a1:var(--sky-a1);--accent-a2:var(--sky-a2);--accent-a3:var(--sky-a3);--accent-a4:var(--sky-a4);--accent-a5:var(--sky-a5);--accent-a6:var(--sky-a6);--accent-a7:var(--sky-a7);--accent-a8:var(--sky-a8);--accent-a9:var(--sky-a9);--accent-a10:var(--sky-a10);--accent-a11:var(--sky-a11);--accent-a12:var(--sky-a12)}[data-accent-color=mint]{--color-surface-accent:var(--mint-surface);--accent-1:var(--mint-1);--accent-2:var(--mint-2);--accent-3:var(--mint-3);--accent-4:var(--mint-4);--accent-5:var(--mint-5);--accent-6:var(--mint-6);--accent-7:var(--mint-7);--accent-8:var(--mint-8);--accent-9:var(--mint-9);--accent-contrast:var(--mint-contrast);--accent-10:var(--mint-10);--accent-11:var(--mint-11);--accent-12:var(--mint-12);--accent-a1:var(--mint-a1);--accent-a2:var(--mint-a2);--accent-a3:var(--mint-a3);--accent-a4:var(--mint-a4);--accent-a5:var(--mint-a5);--accent-a6:var(--mint-a6);--accent-a7:var(--mint-a7);--accent-a8:var(--mint-a8);--accent-a9:var(--mint-a9);--accent-a10:var(--mint-a10);--accent-a11:var(--mint-a11);--accent-a12:var(--mint-a12)}[data-accent-color=lime]{--color-surface-accent:var(--lime-surface);--accent-1:var(--lime-1);--accent-2:var(--lime-2);--accent-3:var(--lime-3);--accent-4:var(--lime-4);--accent-5:var(--lime-5);--accent-6:var(--lime-6);--accent-7:var(--lime-7);--accent-8:var(--lime-8);--accent-9:var(--lime-9);--accent-contrast:var(--lime-contrast);--accent-10:var(--lime-10);--accent-11:var(--lime-11);--accent-12:var(--lime-12);--accent-a1:var(--lime-a1);--accent-a2:var(--lime-a2);--accent-a3:var(--lime-a3);--accent-a4:var(--lime-a4);--accent-a5:var(--lime-a5);--accent-a6:var(--lime-a6);--accent-a7:var(--lime-a7);--accent-a8:var(--lime-a8);--accent-a9:var(--lime-a9);--accent-a10:var(--lime-a10);--accent-a11:var(--lime-a11);--accent-a12:var(--lime-a12)}[data-accent-color=yellow]{--color-surface-accent:var(--yellow-surface);--accent-1:var(--yellow-1);--accent-2:var(--yellow-2);--accent-3:var(--yellow-3);--accent-4:var(--yellow-4);--accent-5:var(--yellow-5);--accent-6:var(--yellow-6);--accent-7:var(--yellow-7);--accent-8:var(--yellow-8);--accent-9:var(--yellow-9);--accent-contrast:var(--yellow-contrast);--accent-10:var(--yellow-10);--accent-11:var(--yellow-11);--accent-12:var(--yellow-12);--accent-a1:var(--yellow-a1);--accent-a2:var(--yellow-a2);--accent-a3:var(--yellow-a3);--accent-a4:var(--yellow-a4);--accent-a5:var(--yellow-a5);--accent-a6:var(--yellow-a6);--accent-a7:var(--yellow-a7);--accent-a8:var(--yellow-a8);--accent-a9:var(--yellow-a9);--accent-a10:var(--yellow-a10);--accent-a11:var(--yellow-a11);--accent-a12:var(--yellow-a12)}[data-accent-color=amber]{--color-surface-accent:var(--amber-surface);--accent-1:var(--amber-1);--accent-2:var(--amber-2);--accent-3:var(--amber-3);--accent-4:var(--amber-4);--accent-5:var(--amber-5);--accent-6:var(--amber-6);--accent-7:var(--amber-7);--accent-8:var(--amber-8);--accent-9:var(--amber-9);--accent-contrast:var(--amber-contrast);--accent-10:var(--amber-10);--accent-11:var(--amber-11);--accent-12:var(--amber-12);--accent-a1:var(--amber-a1);--accent-a2:var(--amber-a2);--accent-a3:var(--amber-a3);--accent-a4:var(--amber-a4);--accent-a5:var(--amber-a5);--accent-a6:var(--amber-a6);--accent-a7:var(--amber-a7);--accent-a8:var(--amber-a8);--accent-a9:var(--amber-a9);--accent-a10:var(--amber-a10);--accent-a11:var(--amber-a11);--accent-a12:var(--amber-a12)}[data-accent-color=gold]{--color-surface-accent:var(--gold-surface);--accent-1:var(--gold-1);--accent-2:var(--gold-2);--accent-3:var(--gold-3);--accent-4:var(--gold-4);--accent-5:var(--gold-5);--accent-6:var(--gold-6);--accent-7:var(--gold-7);--accent-8:var(--gold-8);--accent-9:var(--gold-9);--accent-contrast:var(--gold-contrast);--accent-10:var(--gold-10);--accent-11:var(--gold-11);--accent-12:var(--gold-12);--accent-a1:var(--gold-a1);--accent-a2:var(--gold-a2);--accent-a3:var(--gold-a3);--accent-a4:var(--gold-a4);--accent-a5:var(--gold-a5);--accent-a6:var(--gold-a6);--accent-a7:var(--gold-a7);--accent-a8:var(--gold-a8);--accent-a9:var(--gold-a9);--accent-a10:var(--gold-a10);--accent-a11:var(--gold-a11);--accent-a12:var(--gold-a12)}[data-accent-color=bronze]{--color-surface-accent:var(--bronze-surface);--accent-1:var(--bronze-1);--accent-2:var(--bronze-2);--accent-3:var(--bronze-3);--accent-4:var(--bronze-4);--accent-5:var(--bronze-5);--accent-6:var(--bronze-6);--accent-7:var(--bronze-7);--accent-8:var(--bronze-8);--accent-9:var(--bronze-9);--accent-contrast:var(--bronze-contrast);--accent-10:var(--bronze-10);--accent-11:var(--bronze-11);--accent-12:var(--bronze-12);--accent-a1:var(--bronze-a1);--accent-a2:var(--bronze-a2);--accent-a3:var(--bronze-a3);--accent-a4:var(--bronze-a4);--accent-a5:var(--bronze-a5);--accent-a6:var(--bronze-a6);--accent-a7:var(--bronze-a7);--accent-a8:var(--bronze-a8);--accent-a9:var(--bronze-a9);--accent-a10:var(--bronze-a10);--accent-a11:var(--bronze-a11);--accent-a12:var(--bronze-a12)}[data-accent-color=gray]{--color-surface-accent:var(--gray-surface);--accent-1:var(--gray-1);--accent-2:var(--gray-2);--accent-3:var(--gray-3);--accent-4:var(--gray-4);--accent-5:var(--gray-5);--accent-6:var(--gray-6);--accent-7:var(--gray-7);--accent-8:var(--gray-8);--accent-9:var(--gray-9);--accent-contrast:var(--gray-contrast);--accent-10:var(--gray-10);--accent-11:var(--gray-11);--accent-12:var(--gray-12);--accent-a1:var(--gray-a1);--accent-a2:var(--gray-a2);--accent-a3:var(--gray-a3);--accent-a4:var(--gray-a4);--accent-a5:var(--gray-a5);--accent-a6:var(--gray-a6);--accent-a7:var(--gray-a7);--accent-a8:var(--gray-a8);--accent-a9:var(--gray-a9);--accent-a10:var(--gray-a10);--accent-a11:var(--gray-a11);--accent-a12:var(--gray-a12)}:root{--sy-f-sys:-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Droid Sans,Helvetica Neue;--sy-f-cjk:Noto Sans;--sy-f-heading:var(--sy-f-sys),var(--sy-f-cjk),sans-serif;--sy-f-text:var(--sy-f-sys),var(--sy-f-cjk),sans-serif;--sy-f-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sy-s-banner-height:0rem;--sy-s-navbar-height:56px;--sy-s-offset-top:calc(var(--sy-s-navbar-height) + var(--sy-s-banner-height));--sy-c-divider:var(--gray-4);--sy-c-border:var(--gray-5);--sy-c-text:var(--gray-12);--sy-c-light:var(--gray-11);--sy-c-bold:var(--slate-12);--sy-c-heading:var(--sage-12);--sy-c-link:var(--accent-9);--sy-c-link-hover:var(--accent-a11);--sy-c-background:white;--sy-c-surface:var(--gray-a2);--sy-c-overlay:var(--black-a5);--sy-c-background-contrast:black;--sy-c-foot-text:var(--sy-c-text);--sy-c-foot-background:var(--slate-2);--sy-c-foot-divider:var(--sy-c-divider);--sy-dropdown-shadow:0 12px 32px var(--gray-a6),0 2px 6px var(--gray-a4)}[lang^=zh-Hans],[lang=zh],[lang=zh-CN]{--sy-f-cjk:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei}[lang^=zh-Hant],[lang=zh-TW]{--sy-f-cjk:PingFang TC,Noto Sans TC,Microsoft JhengHei}[lang=zh-HK],[lang=zh-Hant-HK]{--sy-f-cjk:PingFang HK,Noto Sans HK,Microsoft JhengHei}[lang=ja]{--sy-f-cjk:Hiragino Sans,Noto Sans JP,Yu Gothic}[data-accent-color=sky],[data-accent-color=mint],[data-accent-color=lime],[data-accent-color=yellow],[data-accent-color=amber]{--sy-c-link:var(--accent-a10)}html.light{color-scheme:light;--sy-c-background:white;--sy-c-background-contrast:black}html.dark{color-scheme:dark;--sy-c-background:var(--slate-1);--sy-c-overlay:var(--white-a2);--sy-c-background-contrast:var(--white-a10);--sy-c-foot-background:var(--black-a11);--sy-c-foot-divider:var(--black-a12)}html{color:var(--sy-c-text);background-color:var(--sy-c-background)}:root{--lucide-alert-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3zM12 9v4m0 4h.01'/%3E%3C/svg%3E");--lucide-arrows-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m7 15 5 5 5-5M7 9l5-5 5 5'/%3E%3C/svg%3E");--lucide-award-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");--lucide-bell-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9m-4.27 13a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");--lucide-bookmark-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");--lucide-calendar-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4m-5 4h18'/%3E%3C/svg%3E");--lucide-check-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--lucide-chevron-down-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-down'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lucide-chevron-left-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-left'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");--lucide-chevron-right-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-right'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");--lucide-chevron-up-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-up'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");--lucide-close-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");--lucide-external-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 5h6v6m0-6L5 19'/%3E%3C/svg%3E");--lucide-flame-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E");--lucide-git-fork-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='18' r='3'/%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='18' cy='6' r='3'/%3E%3Cpath d='M18 9v1a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V9m6 3v3'/%3E%3C/svg%3E");--lucide-help-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01'/%3E%3C/svg%3E");--lucide-languages-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-languages'%3E%3Cpath d='m5 8 6 6m-7 0 6-6 2-3M2 5h12M7 2h1m14 20-5-10-5 10m2-4h6'/%3E%3C/svg%3E");--lucide-laptop-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='12' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M2 20h20'/%3E%3C/svg%3E");--lucide-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");--lucide-menu-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-menu'%3E%3Cpath d='M4 12h16M4 6h16M4 18h16'/%3E%3C/svg%3E");--lucide-milestone-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 6H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h13l4-3.5L18 6zm-6 7v8m0-18v3'/%3E%3C/svg%3E");--lucide-moon-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 3a6.364 6.364 0 0 0 9 9 9 9 0 1 1-9-9z'/%3E%3C/svg%3E");--lucide-outdent-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m7 8-4 4 4 4m14-4H11m10-6H11m10 12H11'/%3E%3C/svg%3E");--lucide-rocket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0m1 7v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E");--lucide-skull-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='9' cy='12' r='1'/%3E%3Ccircle cx='15' cy='12' r='1'/%3E%3Cpath d='M8 20v2h8v-2m-3.5-3-.5-1-.5 1h1z'/%3E%3Cpath d='M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20'/%3E%3C/svg%3E");--lucide-star-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");--lucide-sun-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32 1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");--lucide-zap-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E")}.i-lucide.alert{--icon-url:var(--lucide-alert-url)}.i-lucide.arrows{--icon-url:var(--lucide-arrows-url)}.i-lucide.award{--icon-url:var(--lucide-award-url)}.i-lucide.bell{--icon-url:var(--lucide-bell-url)}.i-lucide.bookmark{--icon-url:var(--lucide-bookmark-url)}.i-lucide.calendar{--icon-url:var(--lucide-calendar-url)}.i-lucide.check{--icon-url:var(--lucide-check-url)}.i-lucide.chevron-down{--icon-url:var(--lucide-chevron-down-url)}.i-lucide.chevron-left{--icon-url:var(--lucide-chevron-left-url)}.i-lucide.chevron-right{--icon-url:var(--lucide-chevron-right-url)}.i-lucide.chevron-up{--icon-url:var(--lucide-chevron-up-url)}.i-lucide.close{--icon-url:var(--lucide-close-url)}.i-lucide.external-link{--icon-url:var(--lucide-external-link-url)}.i-lucide.flame{--icon-url:var(--lucide-flame-url)}.i-lucide.git-fork{--icon-url:var(--lucide-git-fork-url)}.i-lucide.help{--icon-url:var(--lucide-help-url)}.i-lucide.languages{--icon-url:var(--lucide-languages-url)}.i-lucide.laptop{--icon-url:var(--lucide-laptop-url)}.i-lucide.link{--icon-url:var(--lucide-link-url)}.i-lucide.menu{--icon-url:var(--lucide-menu-url)}.i-lucide.milestone{--icon-url:var(--lucide-milestone-url)}.i-lucide.moon{--icon-url:var(--lucide-moon-url)}.i-lucide.outdent{--icon-url:var(--lucide-outdent-url)}.i-lucide.rocket{--icon-url:var(--lucide-rocket-url)}.i-lucide.skull{--icon-url:var(--lucide-skull-url)}.i-lucide.star{--icon-url:var(--lucide-star-url)}.i-lucide.sun{--icon-url:var(--lucide-sun-url)}.i-lucide.zap{--icon-url:var(--lucide-zap-url)}:root{--simpleicons-bitbucket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891zM14.52 15.53H9.522L8.17 8.466h7.561z'/%3E%3C/svg%3E");--simpleicons-discord-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z'/%3E%3C/svg%3E");--simpleicons-git-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.546 10.93 13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039 1.837 1.837 0 0 1-2.6 0 1.846 1.846 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.848 1.848 0 0 1 0 2.6 1.844 1.844 0 0 1-2.609 0 1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187'/%3E%3C/svg%3E");--simpleicons-github-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");--simpleicons-gitlab-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 9.593-.033-.086L20.3.98a.851.851 0 0 0-.336-.405.875.875 0 0 0-1 .054.875.875 0 0 0-.29.44L16.47 7.818H7.537L5.332 1.07a.857.857 0 0 0-.29-.441.875.875 0 0 0-1-.054.859.859 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009.03.021 4.977 3.727 2.462 1.863 1.5 1.132a1.008 1.008 0 0 0 1.22 0l1.499-1.132 2.461-1.863 5.006-3.75.013-.01a6.068 6.068 0 0 0 2.01-7.002z'/%3E%3C/svg%3E");--simpleicons-linkedin-url:url("data:image/svg+xml;utf8,%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3ELinkedIn%3C/title%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");--simpleicons-mastodon-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E");--simpleicons-readthedocs-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.732 0a59.316 59.316 0 0 0-4.977.218V24a62.933 62.933 0 0 1 3.619-.687c.17-.028.34-.053.509-.078.215-.033.43-.066.644-.096l.205-.03zm1.18.003V22.96a61.042 61.042 0 0 1 12.333-.213V1.485A60.859 60.859 0 0 0 8.912.003zm1.707 1.81a.59.59 0 0 1 .015 0c3.06.088 6.125.404 9.167.95a.59.59 0 0 1 .476.686.59.59 0 0 1-.569.484.59.59 0 0 1-.116-.009 60.622 60.622 0 0 0-8.992-.931.59.59 0 0 1-.573-.607.59.59 0 0 1 .592-.572zm-4.212.028a.59.59 0 0 1 .578.565.59.59 0 0 1-.564.614 59.74 59.74 0 0 0-2.355.144.59.59 0 0 1-.04.002.59.59 0 0 1-.595-.542.59.59 0 0 1 .54-.635c.8-.065 1.6-.114 2.401-.148a.59.59 0 0 1 .035 0zm4.202 2.834a.59.59 0 0 1 .015 0 61.6 61.6 0 0 1 9.167.8.59.59 0 0 1 .488.677.59.59 0 0 1-.602.494.59.59 0 0 1-.076-.006 60.376 60.376 0 0 0-8.99-.786.59.59 0 0 1-.584-.596.59.59 0 0 1 .582-.583zm-4.211.097a.59.59 0 0 1 .587.555.59.59 0 0 1-.554.622c-.786.046-1.572.107-2.356.184a.59.59 0 0 1-.04.003.59.59 0 0 1-.603-.533.59.59 0 0 1 .53-.644c.8-.078 1.599-.14 2.4-.187a.59.59 0 0 1 .036 0zM10.6 7.535a.59.59 0 0 1 .015 0c3.06-.013 6.125.204 9.167.65a.59.59 0 0 1 .498.67.59.59 0 0 1-.593.504.59.59 0 0 1-.076-.006 60.142 60.142 0 0 0-8.992-.638.59.59 0 0 1-.592-.588.59.59 0 0 1 .573-.592zm1.153 2.846a61.093 61.093 0 0 1 8.02.515.59.59 0 0 1 .509.66.59.59 0 0 1-.586.514.59.59 0 0 1-.076-.005 59.982 59.982 0 0 0-8.99-.492.59.59 0 0 1-.603-.577.59.59 0 0 1 .578-.603c.382-.008.765-.012 1.148-.012zm1.139 2.832a60.92 60.92 0 0 1 6.871.394.59.59 0 0 1 .52.652.59.59 0 0 1-.577.523.59.59 0 0 1-.076-.004 59.936 59.936 0 0 0-8.991-.344.59.59 0 0 1-.61-.568.59.59 0 0 1 .567-.611c.765-.028 1.53-.042 2.296-.042z'/%3E%3C/svg%3E");--simpleicons-reddit-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286A.72.72 0 0 0 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199a1.999 1.999 0 1 1-1.947 2.46v.002a2.368 2.368 0 0 0-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363a2.802 2.802 0 1 1 2.908 4.753c-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87a2.8 2.8 0 0 1 1.189-5.34c.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01a3.229 3.229 0 0 1 2.88-3.207 2 2 0 0 1 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135a.222.222 0 0 0-.183.305 3.199 3.199 0 0 0 2.953 1.964 3.2 3.2 0 0 0 2.953-1.964.222.222 0 0 0-.184-.305 27.75 27.75 0 0 0-2.769-.135Z'/%3E%3C/svg%3E");--simpleicons-slack-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E");--simpleicons-x-twitter-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E");--simpleicons-youtube-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.i-icon.bitbucket,.i-simpleicons.bitbucket{--icon-url:var(--simpleicons-bitbucket-url)}.i-icon.discord,.i-simpleicons.discord{--icon-url:var(--simpleicons-discord-url)}.i-icon.git,.i-simpleicons.git{--icon-url:var(--simpleicons-git-url)}.i-icon.github,.i-simpleicons.github{--icon-url:var(--simpleicons-github-url)}.i-icon.gitlab,.i-simpleicons.gitlab{--icon-url:var(--simpleicons-gitlab-url)}.i-icon.linkedin,.i-simpleicons.linkedin{--icon-url:var(--simpleicons-linkedin-url)}.i-icon.mastodon,.i-simpleicons.mastodon{--icon-url:var(--simpleicons-mastodon-url)}.i-icon.readthedocs,.i-simpleicons.readthedocs{--icon-url:var(--simpleicons-readthedocs-url)}.i-icon.reddit,.i-simpleicons.reddit{--icon-url:var(--simpleicons-reddit-url)}.i-icon.slack,.i-simpleicons.slack{--icon-url:var(--simpleicons-slack-url)}.i-icon.x-twitter,.i-simpleicons.x-twitter{--icon-url:var(--simpleicons-x-twitter-url)}.i-icon.youtube,.i-simpleicons.youtube{--icon-url:var(--simpleicons-youtube-url)}:root{--yue-c-text:var(--sy-c-text);--yue-c-heading:var(--sy-c-heading);--yue-c-bold:var(--sy-c-bold);--yue-c-link-1:var(--sy-c-text);--yue-c-link-2:var(--sy-c-bold);--yue-c-link-border:var(--sy-c-link);--yue-c-ol-marker:var(--gray-9);--yue-c-ul-marker:var(--sage-a5);--yue-c-hr:var(--sy-c-border);--yue-c-quote:var(--sy-c-text);--yue-c-quote-border:var(--accent-a3);--yue-c-quote-symbol:var(--accent-9);--yue-c-caption:var(--sy-c-light);--yue-c-code-text:var(--accent-a11);--yue-c-code-background:var(--accent-a3);--yue-c-table-border:var(--gray-a5);--yue-c-th-background:var(--color-surface-accent);--yue-c-th-border:var(--gray-a5);--yue-c-td-border:var(--gray-a4);--yue-c-row-background:var(--sy-c-surface)}.yue{color:var(--yue-c-text);font-size:1rem;line-height:1.75}.yue p{margin-top:1rem;margin-bottom:1.25rem}.yue a{color:var(--yue-c-link-1);border-bottom:1px solid var(--yue-c-link-border);font-weight:500;text-decoration:none}.yue a:hover{color:var(--yue-c-link-2);border-bottom-width:2px}.yue pre a,.yue pre a:hover{border-bottom:none}.yue strong{color:var(--yue-c-bold);font-weight:600}.yue a strong,.yue blockquote strong,.yue thead th strong{color:inherit}.yue ol{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:decimal}.yue ol[type="1"]{list-style-type:decimal}.yue ol[type=A],.yue ol.upperalpha{list-style-type:upper-alpha}.yue ol[type=a],.yue ol.loweralpha{list-style-type:lower-alpha}.yue ol[type=I],.yue ol.upperroman{list-style-type:upper-roman}.yue ol[type=i],.yue ol.lowerroman{list-style-type:lower-roman}.yue ul{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:disc}.yue ol>li::marker{color:var(--yue-c-ol-marker);font-weight:400}.yue ul>li::marker{color:var(--yue-c-ul-marker)}.yue dl{margin-top:1.5rem;margin-bottom:1.5rem}.yue dt{color:var(--yue-c-bold);font-weight:600}.yue dd{margin-left:1.5rem}.yue hr{border-color:var(--yue-c-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.yue blockquote{color:var(--yue-c-quote);border-left-width:.25rem;border-left-color:var(--yue-c-quote-border);margin-top:1.2rem;margin-bottom:1.2rem;padding-left:1rem}.yue blockquote .attribution{font-size:.85em;font-style:italic}[lang^=zh] .yue blockquote .attribution,[lang=ko] .yue blockquote .attribution,[lang=ja] .yue blockquote .attribution{font-style:normal}.yue h1{color:var(--yue-c-heading);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.yue h1 strong{color:inherit;font-weight:900}.yue h2{color:var(--yue-c-heading);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.yue h2 strong{color:inherit;font-weight:800}.yue h3{color:var(--yue-c-heading);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.yue h3 strong{color:inherit;font-weight:700}.yue h4{color:var(--yue-c-heading);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.yue h4 strong{color:inherit;font-weight:700}.yue h5,.yue h6{color:var(--yue-c-heading);font-weight:600}.yue img{max-width:100%;display:inline}.yue img.rounded{border-radius:.5rem}.yue a>img,.yue figure>*,.yue figure img{margin-top:0;margin-bottom:0}.yue figcaption{color:var(--yue-c-caption);margin-top:.857143em;font-size:.875em;line-height:1.42857}.yue figcaption>p{margin-top:0}.yue code{color:var(--yue-c-code-text);font-size:.875em;font-weight:600}.yue a code,.yue h1 code,.yue h2 code,.yue h3 code,.yue h4 code,.yue blockquote code,.yue th code{color:inherit}.yue h2 code{font-size:.875em}.yue li>code,.yue p>code{background-color:var(--yue-c-code-background);border-radius:3px;padding:2px 4px;font-weight:500}.yue h3 code{font-size:.9em}.yue kbd{font-family:var(--sy-f-mono)}.yue video,.yue figure{margin-top:2em;margin-bottom:2em}.yue li{margin-top:.5em;margin-bottom:.5em}.yue ol>li,.yue ul>li{padding-left:.375em}.yue ul ul,.yue ul ol,.yue ol ul,.yue ol ol{margin-top:.75em;margin-bottom:.75em}.yue hr+*,.yue h2+*,.yue h3+*,.yue h4+*{margin-top:0}.yue table{table-layout:auto;text-align:left;width:100%;margin-top:2em;margin-bottom:2em;font-size:.86em;line-height:1.7}.yue table>caption{color:var(--yue-c-caption);margin-bottom:.4rem}.yue thead tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-th-border)}.yue thead th{color:var(--yue-c-heading);vertical-align:middle;font-weight:600}.yue tbody tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-td-border)}.yue tbody tr:last-child{border-bottom-width:0}.yue tbody td{vertical-align:middle}.yue tfoot{border-top-width:1px;border-top-color:var(--yue-c-th-border)}.yue tfoot td{vertical-align:top}.yue td>p{margin:.25rem 0}.yue thead th>p{margin:0}.yue thead th,.yue tbody td,.yue tfoot td{padding:.5rem}.yue section{clear:both}.yue section>div{margin-bottom:2rem}.yue dd>p:first-child{margin-top:0}.yue p.lead{color:var(--sy-c-light);margin-bottom:0;font-size:1.2rem}.yue p.lead+hr{margin-top:1rem}.yue p.rubric{color:var(--yue-c-heading);margin-top:2rem;font-weight:600}.yue .sidebar{background-color:var(--sy-c-surface);border:1px solid var(--sy-c-border);clear:right;float:right;border-radius:6px;width:30%;margin-bottom:1rem;margin-left:1rem;margin-right:0}@media (max-width:767px){.yue .sidebar{float:none;width:100%;margin-left:0}}.yue .sidebar>*{padding-left:1rem;padding-right:1rem}.yue .sidebar img{margin-top:1rem;margin-bottom:1rem}.yue .sidebar-title{border-bottom:1px solid var(--sy-c-border);margin:0;padding-top:.5rem;padding-bottom:.5rem;font-weight:500}.yue dl.simple>dd>p,.yue ul.simple>li>p,.yue ol.simple>li>p{margin:0}.yue a.headerlink{visibility:hidden;color:var(--sy-c-light);font-size:58%;font-weight:300;font-family:var(--sy-f-mono);--icon-url:var(--lucide-link-url);-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;vertical-align:middle;background-color:currentColor;width:1em;height:1em;margin-left:6px;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.yue .math a.headerlink,h1:hover a.headerlink,h2:hover a.headerlink,h3:hover a.headerlink,h4:hover a.headerlink,h5:hover a.headerlink,h6:hover a.headerlink{visibility:visible}.yue a.image-reference,.yue .toctree-wrapper a{border-bottom:none}.yue .toctree-wrapper p.caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-light);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--sy-c-divider);padding:.8rem 0 .4rem}.yue .align-left{clear:left;float:left;margin:0 1rem 1rem}.yue .align-right{clear:right;float:right;margin:0 1rem 1rem}.yue .align-center{text-align:center;margin-left:auto;margin-right:auto;display:block}.yue figure.align-center img{margin-left:auto;margin-right:auto}a.footnote-reference{vertical-align:top;font-size:.65rem}aside.footnote>span,div.citation>span{float:left;padding-right:.25rem;font-weight:500}aside.footnote>p,div.citation>p{margin-top:.5rem;margin-bottom:.5rem;margin-left:2rem}.yue kbd.kbd:not(.compound){border-radius:3px;margin-right:.25rem;padding:2px 5px;font-size:.86rem}.yue kbd.compound>kbd{margin-left:.25rem}.yue .menuselection{font-size:.86rem;font-weight:500}.light .searchbox kbd,.light .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#e6e6e6,#f8f8f8);border:0;box-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}.dark .searchbox kbd,.dark .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#353434,#141414);border:0;box-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000}.yue p.centered{text-align:center}.yue section>img{margin-bottom:1rem}.hlist td{vertical-align:top}.light .light-hidden,.dark .dark-hidden,.light .dark-only,.dark .light-only{display:none}.yue .genindex-jumpbox,.yue .modindex-jumpbox{border-top:1px solid var(--sy-c-border);border-bottom:1px solid var(--sy-c-border);padding:2px .4rem}.yue table.modindextable td:first-of-type{width:28px}.yue table.modindextable img.toggler{margin:0}.yue table.modindextable tr.cap{background:var(--sy-c-surface);font-size:1.12rem;font-family:var(--sy-f-mono)}.yue h2+table.indextable,.yue table.indextable ul{margin-top:0}:root{--attention-icon:var(--lucide-alert-url);--attention-1:var(--crimson-surface);--attention-2:var(--crimson-a3);--attention-3:var(--crimson-9);--attention-4:var(--crimson-a11);--caution-icon:var(--lucide-zap-url);--caution-1:var(--amber-surface);--caution-2:var(--amber-a3);--caution-3:var(--amber-9);--caution-4:var(--amber-11);--danger-icon:var(--lucide-skull-url);--danger-1:var(--ruby-surface);--danger-2:var(--ruby-a3);--danger-3:var(--ruby-9);--danger-4:var(--ruby-a11);--error-icon:var(--lucide-close-url);--error-1:var(--red-surface);--error-2:var(--red-a3);--error-3:var(--red-9);--error-4:var(--red-a11);--hint-icon:var(--lucide-bell-url);--hint-1:var(--cyan-surface);--hint-2:var(--cyan-a3);--hint-3:var(--cyan-9);--hint-4:var(--cyan-a11);--important-icon:var(--lucide-flame-url);--important-1:var(--violet-surface);--important-2:var(--violet-a3);--important-3:var(--violet-9);--important-4:var(--violet-a11);--note-icon:var(--lucide-calendar-url);--note-1:var(--blue-surface);--note-2:var(--blue-a3);--note-3:var(--blue-9);--note-4:var(--blue-a11);--tip-icon:var(--lucide-rocket-url);--tip-1:var(--green-surface);--tip-2:var(--green-a3);--tip-3:var(--green-9);--tip-4:var(--green-a11);--warning-icon:var(--lucide-zap-url);--warning-1:var(--orange-surface);--warning-2:var(--orange-a3);--warning-3:var(--orange-9);--warning-4:var(--orange-a11);--seealso-icon:var(--lucide-link-url);--seealso-1:var(--gold-surface);--seealso-2:var(--gold-a3);--seealso-3:var(--gold-9);--seealso-4:var(--gold-a11);--todo-icon:var(--lucide-bookmark-url);--todo-1:var(--bronze-surface);--todo-2:var(--bronze-a3);--todo-3:var(--bronze-9);--todo-4:var(--bronze-a11);--versionadded-icon:var(--lucide-flame-url);--versionadded-1:var(--green-surface);--versionadded-2:var(--green-9);--versionchanged-icon:var(--lucide-zap-url);--versionchanged-1:var(--amber-surface);--versionchanged-2:var(--amber-9);--versionremoved-icon:var(--lucide-skull-url);--versionremoved-1:var(--red-surface);--versionremoved-2:var(--red-9);--deprecated-icon:var(--lucide-alert-url);--deprecated-1:var(--orange-surface);--deprecated-2:var(--orange-9)}.admonition{--icon-url:var(--lucide-bell-url);--color-1:var(--color-surface-accent);--color-2:var(--accent-a3);--color-3:var(--accent-9);--color-4:var(--accent-a11);border-left:4px solid var(--color-3);background-color:var(--color-1);flex-direction:column;margin-top:1rem;margin-bottom:1rem;padding:.825rem 1rem;display:flex;position:relative}.admonition:before{content:"";background-color:var(--color-3);border-radius:100%;width:20px;height:20px;position:absolute;top:6px;left:-12px}.admonition:after{content:"";-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;background-color:#fff;width:12px;height:12px;font-style:normal;position:absolute;top:10px;left:-8px;-webkit-mask-size:100% 100%;mask-size:100% 100%}.admonition p.admonition-title{color:var(--color-4);background-color:var(--color-2);--yue-c-code:var(--color-4);--yue-c-bold:var(--color-4);margin:-.825rem -1rem .825rem -19px;padding:4px 18px;font-size:.85rem;font-weight:600;line-height:1.72;position:relative}.admonition p.admonition-title svg{display:inline-block}.admonition.attention{--icon-url:var(--attention-icon);--color-1:var(--attention-1);--color-2:var(--attention-2);--color-3:var(--attention-3);--color-4:var(--attention-4)}.admonition.caution{--icon-url:var(--caution-icon);--color-1:var(--caution-1);--color-2:var(--caution-2);--color-3:var(--caution-3);--color-4:var(--caution-4)}.admonition.danger{--icon-url:var(--danger-icon);--color-1:var(--danger-1);--color-2:var(--danger-2);--color-3:var(--danger-3);--color-4:var(--danger-4)}.admonition.error{--icon-url:var(--error-icon);--color-1:var(--error-1);--color-2:var(--error-2);--color-3:var(--error-3);--color-4:var(--error-4)}.admonition.hint{--icon-url:var(--hint-icon);--color-1:var(--hint-1);--color-2:var(--hint-2);--color-3:var(--hint-3);--color-4:var(--hint-4)}.admonition.important{--icon-url:var(--important-icon);--color-1:var(--important-1);--color-2:var(--important-2);--color-3:var(--important-3);--color-4:var(--important-4)}.admonition.note{--icon-url:var(--note-icon);--color-1:var(--note-1);--color-2:var(--note-2);--color-3:var(--note-3);--color-4:var(--note-4)}.admonition.tip{--icon-url:var(--tip-icon);--color-1:var(--tip-1);--color-2:var(--tip-2);--color-3:var(--tip-3);--color-4:var(--tip-4)}.admonition.warning{--icon-url:var(--warning-icon);--color-1:var(--warning-1);--color-2:var(--warning-2);--color-3:var(--warning-3);--color-4:var(--warning-4)}.admonition.seealso{--icon-url:var(--seealso-icon);--color-1:var(--seealso-1);--color-2:var(--seealso-2);--color-3:var(--seealso-3);--color-4:var(--seealso-4)}.admonition.admonition-todo{--icon-url:var(--todo-icon);--color-1:var(--todo-1);--color-2:var(--todo-2);--color-3:var(--todo-3);--color-4:var(--todo-4)}.yue .admonition>*{margin-top:0;margin-bottom:1rem}.yue .admonition>:last-child{margin-bottom:0!important}span.versionmodified{color:var(--sy-c-bold);font-weight:600}div.versionadded,div.versionchanged,div.versionremoved,div.deprecated{border-left:4px solid var(--color-2);background-color:var(--color-1);margin:1rem 0;padding:6px 1rem;line-height:1.72;position:relative}div.versionadded:before,div.versionchanged:before,div.versionremoved:before,div.deprecated:before{content:"";color:#fff;background-color:var(--color-2);text-align:center;width:20px;height:20px;font:normal bold 14px/20px var(--sy-f-mono);border-radius:100%;position:absolute;top:10px;left:-12px}div.versionadded:after,div.versionchanged:after,div.versionremoved:after,div.deprecated:after{content:"";-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;background-color:#fff;width:12px;height:12px;font-style:normal;position:absolute;top:14px;left:-8px;-webkit-mask-size:100% 100%;mask-size:100% 100%}div.versionadded{--color-1:var(--versionadded-1);--color-2:var(--versionadded-2);--icon-url:var(--versionadded-icon)}div.versionchanged{--color-1:var(--versionchanged-1);--color-2:var(--versionchanged-2);--icon-url:var(--versionchanged-icon)}div.versionremoved{--color-1:var(--versionremoved-1);--color-2:var(--versionremoved-2);--icon-url:var(--versionremoved-icon)}div.deprecated{--color-1:var(--deprecated-1);--color-2:var(--deprecated-2);--icon-url:var(--deprecated-icon)}div.versionadded>p,div.versionchanged>p,div.versionremoved>p,div.deprecated>p{margin:0}.yue blockquote.epigraph{text-align:center;border-left:0;padding:1rem 2.4rem}.yue blockquote.highlights{background-color:var(--sy-c-surface);border-left-width:4px;padding-top:.2rem;padding-bottom:.2rem}.yue blockquote.pull-quote{border-left:0;padding:2.4rem 3.6rem 1.2rem;font-size:1.24rem;position:relative}.yue blockquote.pull-quote:before{content:"“";color:var(--yue-c-quote-symbol);font:700 4rem/1 Times New Roman,Georgia,Palatino,Times,serif;position:absolute;top:0;left:.5rem}.yue blockquote.pull-quote .attribution{text-align:right}pre.literal-block{background-color:var(--syntax-pre-bg);border-radius:6px;padding:1rem;font-size:.96rem;line-height:1.48;overflow:auto}.highlight,.literal-block-wrapper{--margin:1rem;--radius:6px}.literal-block-wrapper div[class^=highlight-]{display:flex}.literal-block-wrapper .highlight{width:100%}.highlight>pre{padding:var(--margin);font-size:.96rem;line-height:1.48;font-family:var(--sy-f-mono);background-color:var(--syntax-pre-bg);border-radius:var(--radius);overflow:auto}.win .highlight>pre{font-family:"Twemoji Country Flags",var(--sy-f-mono)}.highlight .gp,.highlight .linenos{-webkit-user-select:none;user-select:none}.highlight .linenos{box-shadow:-.05rem 0 var(--syntax-linenos-divider)inset;opacity:.6;margin-right:.8rem;padding-right:.8rem;display:inline-block}.highlight .hll{margin-left:calc(0rem - var(--margin));margin-right:calc(0rem - var(--margin));padding:0 var(--margin)}.code-block-caption{color:var(--syntax-text);background-color:var(--syntax-cap-bg);padding:.4rem var(--margin);border-radius:var(--radius)var(--radius)0 0;font-size:.84rem;font-weight:600;display:flex}.code-block-caption+div>.highlight>pre{border-top-left-radius:0;border-top-right-radius:0}div[class^=highlight]>.highlight>pre{display:grid}.yue .table-wrapper{border:1px solid var(--yue-c-table-border);border-radius:6px;width:100%;margin-top:2rem;margin-bottom:2rem;overflow-x:auto}.yue .table-wrapper table{margin:0}.yue .table-wrapper thead tr{border-top:1px solid var(--yue-c-td-border)}.yue .table-wrapper thead tr:first-child{border-top:0}.yue .table-wrapper th{background-color:var(--yue-c-th-background);border-left:1px solid var(--yue-c-td-border);padding:.725rem 1rem}.yue .table-wrapper td{border-left:1px solid var(--yue-c-td-border);padding:.5rem 1rem}.yue .table-wrapper tr>th:first-child,.yue .table-wrapper tr>td:first-child{border-left:0}.yue .table-wrapper caption{border-bottom:1px solid var(--yue-c-th-border);margin:0;padding:.5rem}.yue .table-wrapper tbody tr.row-odd{background-color:var(--yue-c-row-background)}.yue table.hlist td{vertical-align:top}.table-wrapper{scrollbar-gutter:auto;overflow-x:auto}.table-wrapper::-webkit-scrollbar{width:.75rem;height:.75rem}.table-wrapper::-webkit-scrollbar-thumb{border-radius:10px}.table-wrapper::-webkit-scrollbar-track{background-color:#0000}.table-wrapper:hover::-webkit-scrollbar-thumb{background-color:#9b9b9b33;background-clip:content-box;border:3px solid #0000}.yue table.ghost th,.yue table.ghost td{background-color:#0000;border-left:0;border-right:0}.yue table.ghost caption{border-bottom:3px solid var(--yue-c-td-border);margin-bottom:0;padding-bottom:.5rem}.yue table.ghost thead tr:first-child{border-top:0;border-bottom-width:3px}.yue .table-wrapper.ghost{border:0}:root{--sig-property:var(--syntax-keyword);--sig-name:var(--syntax-property);--sig-typehint:var(--syntax-constant);--sig-param:var(--syntax-meta)}dt.sig{text-indent:-2.4rem;border-radius:6px;padding:.25rem .5rem .25rem 3rem;font-size:.92rem;position:relative}dt.sig:after{content:"";clear:both;display:table}dt.sig:hover{background:var(--sy-c-surface)}dt.sig+dd{margin-left:2rem;font-size:.92rem}dt.sig>em.property:first-child{color:var(--sig-property)}dl.field-list{margin-top:0}dl.field-list a{font-weight:400}dt.sig+dd>div{margin-bottom:1rem}dt.sig+dd>dl.field-list>dt{text-transform:uppercase;font-size:.76rem}em.property,em.sig-param{font-style:normal}em.sig-param{color:var(--sy-c-light)}span.sig-prename,span.sig-name{color:var(--sig-name)}span.sig-name{font-weight:600}span.sig-return-icon{color:var(--sy-c-light)}span.sig-return-typehint,span.sig-return-typehint>a{color:var(--sig-typehint)}span.sig-paren,span.pre{font-family:var(--sy-f-mono)}dt.sig>a.internal{color:var(--sy-c-light);border:0;font-size:.82rem}dt.sig>a.internal:before{content:"\a ";white-space:pre}.viewcode-block{position:relative}.viewcode-back{font-size:.8rem;position:absolute;top:-1.5rem}.classifier{font-style:oblique;font-weight:400}.classifier:before{content:":";margin-left:.1rem;margin-right:.5rem;font-style:normal;display:inline-block}.yue .table-wrapper.autosummary{border-left:0;border-right:0;border-radius:0}.yue .table-wrapper table.autosummary td{border:none;padding-top:.25rem;padding-bottom:.25rem}.yue p.rubric+div.autosummary{margin-top:0}.hamburger{cursor:pointer;width:16px;height:14px;display:inline-block;position:relative;overflow:hidden}.hamburger>span{background-color:var(--sy-c-text);width:16px;height:2px;transition:top .25s,transform .25s;position:absolute;left:0}.hamburger_1{top:0}.hamburger_2{top:6px}.hamburger_3{top:12px}button[aria-expanded=true] .hamburger .hamburger_1{top:6px;transform:translate(0)rotate(225deg)}button[aria-expanded=true] .hamburger .hamburger_2{top:6px;transform:translate(18px)}button[aria-expanded=true] .hamburger .hamburger_3{top:6px;transform:translate(0)rotate(135deg)}.searchbox{position:relative}.searchbox input{appearance:none;width:100%;font-size:.92rem;font-family:var(--sy-f-text);background:var(--sy-c-surface);border-radius:6px;outline:0;padding:6px 12px}.searchbox kbd,.searchbox button{font-size:.68rem;font-weight:600;font-family:var(--sy-f-mono);border:1px solid var(--sy-c-border);background-color:var(--sy-c-background);opacity:1;border-radius:3px;margin:6px;padding:2px 6px;transition:opacity .2s;position:absolute;right:0}.searchbox input:focus+kbd{opacity:0}.searchform{align-items:center;display:flex;position:relative}.searchform input[name=q]{appearance:none;width:100%;font-size:.92rem;font-family:var(--sy-f-text);background:var(--sy-c-surface);border-radius:6px;outline:0;padding:6px 12px}.searchform input[name=q]+button{font-size:.68rem;font-weight:600;font-family:var(--sy-f-text);border:1px solid var(--sy-c-divider);background-color:var(--sy-c-background);opacity:1;border-radius:3px;margin:6px;padding:2px 6px;transition:opacity .2s;position:absolute;right:0}.search .highlighted{background-color:var(--accent-a4)}#search-results{border-top:1px solid var(--sy-c-border)}#search-results h2{margin-top:2rem;margin-bottom:.725rem}#search-results .search-summary{color:var(--sy-c-light);font-weight:500}#search-results ul.search{margin-left:0;padding-top:.625rem;padding-bottom:2rem;padding-left:0;list-style-type:none}#search-results ul.search>li{padding-left:0}#search-results ul.search>li+li{border-top:1px solid var(--sy-c-divider);padding-top:1rem}#search-results ul.search li>a{font-weight:600}#search-results ul.search p.context{margin-top:.5rem;font-size:.875rem}.demo{border:1px solid var(--sy-c-border);border-radius:6px}.demo-code .highlight>pre{border-bottom-right-radius:0;border-bottom-left-radius:0}.demo-result{padding:1rem}.container.image-1,.container.video-1{border:.5rem solid var(--accent-a3);border-radius:6px}.container.image-1>img{border-radius:4px;margin:0}.container.video-1 video,.container.video-1 iframe{border-radius:4px;width:100%;margin:0}.container.image-2,.container.video-2{border:1px solid var(--sy-c-border);border-radius:6px;padding:1rem}.container.image-2>img,.container.video-2>video{margin:0}.container.buttons{margin:2rem 0 4.2rem}.container.buttons>p{gap:1rem;display:flex}.container.buttons a{border:2px solid var(--sy-c-border);background-color:var(--sy-c-surface);border-radius:2.6rem;padding:0 2rem;font-weight:600;line-height:2.6rem;transition:all .2s;display:inline-block}.container.buttons a:first-child{color:var(--accent-contrast);background-color:var(--accent-9);border-color:var(--accent-9)}.container.buttons a:hover{color:var(--sy-c-bold);border-color:var(--accent-9);background-color:var(--sy-c-background)}.container.rounded-image img{border-radius:99999px}#ethical-ad-placement .ethical-sidebar{background-color:var(--sy-c-surface);border:none;padding:.8rem;position:relative}#ethical-ad-placement .ethical-text a{color:var(--sy-c-text)!important}#ethical-ad-placement .ethical-text a:hover{color:var(--sy-c-link-hover)!important}.sy-main #ethical-ad-placement .ethical-sidebar{max-width:380px;margin-left:0}.sy-main #ethical-ad-placement .ethical-image-link{flex-shrink:0;margin-right:.4rem}.sy-main #ethical-ad-placement .ethical-content{display:flex}.sy-main #ethical-ad-placement .ethical-text{margin-top:0}.sy-main #ethical-ad-placement .ethical-callout{position:absolute;bottom:.4rem;right:.4rem}#carbonads{background-color:var(--sy-c-surface);border:none;border-radius:8px;margin:1rem 0;padding:.8rem .8rem 1.6rem;display:block;position:relative}#carbonads a{border:0;font-weight:400}#carbonads img{margin:0}.carbon-wrap{flex-direction:column;justify-content:space-between;align-items:center;display:flex}.carbon-text{text-align:center;margin:.5rem 0;font-size:.78rem;line-height:1.42;display:block}.carbon-text:hover{color:var(--sy-c-link-hover)}.carbon-poweredby{opacity:.68;text-transform:uppercase;font-size:.68rem;position:absolute;bottom:.5rem;right:.8rem}.carbon-poweredby:hover{text-decoration:underline}.sy-main #carbonads{max-width:380px;margin-top:1.6rem;padding:1rem}.sy-main .carbon-wrap{flex-direction:row;align-items:flex-start}.sy-main .carbon-text{text-align:left;margin-top:0;margin-left:1rem;font-size:.86rem}.bsa{margin:1rem 0}.bsa a{border-bottom:none;text-decoration:none}.bsa-container{border-radius:6px;flex-flow:row;justify-content:space-between;align-items:center;padding:15px 20px;text-decoration:none;display:flex;box-shadow:inset 0 0 0 1px #0000001a}.bsa-ad-via{text-align:right}.bsa-ad-via a{background:var(--gray-a3);border:none;border-radius:2px;padding:3px 10px;font-size:10px;font-weight:300}.bsa-main{flex-flow:row;flex-grow:1;justify-content:center;align-items:center;margin:0 auto;display:flex}.bsa-img{max-height:40px;margin-right:20px;line-height:0}.yue a.bsa-container .bsa-img{margin-top:0;margin-bottom:0}.bsa-details{flex-flow:column;margin-right:20px;display:flex}.bsa-tagline{letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:600;line-height:1}.bsa-desc{letter-spacing:1px;max-width:600px;font-size:12px;font-weight:400;line-height:1.4}.bsa-cta{letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:10px 16px;font-size:10px;font-weight:600;line-height:1;transition:all .3s ease-in-out;transform:translateY(-1px)}@media (max-width:940px){.bsa-details{margin-right:0;font-size:14px}.bsa-cta{display:none}}@media (min-width:768px) and (max-width:820px){.bsa-img{display:none}}@media (max-width:480px){.bsa-img{display:none}}.repo-stats{border:1px solid var(--sy-c-divider);border-radius:6px;margin-bottom:1rem;padding:.5rem}.repo-stats:hover{background-color:var(--sy-c-surface)}.repo-stats-count{color:var(--sy-c-light)}.repo-stats strong{font-weight:500;font-family:var(--sy-f-mono);color:inherit}.edit-this-page{border-top:1px solid var(--sy-c-divider);margin:1rem 0;padding:.5rem 0;font-size:.8rem;font-weight:600}.repo-stats+.edit-this-page{border-top:0;margin-top:0;padding-top:0}.edit-this-page a{color:var(--sy-c-text)}.edit-this-page a:hover{color:var(--sy-c-link-hover)}.edit-this-page a:after{content:" →"}.back-to-top{z-index:10;background:var(--sy-c-background);border-radius:2rem;align-items:center;gap:.25rem;padding:.4rem .8rem .4rem .6rem;font-size:.8rem;display:none;position:fixed;bottom:68px;left:50%;transform:translate(-50%);box-shadow:0 .2rem .5rem #0000000d,0 0 1px #6b728080}.dark .back-to-top{background:var(--slate-2);box-shadow:0 .2rem .5rem #ffffff0d,0 0 1px #9aa4b880}.back-to-top:hover{color:var(--accent-contrast);background:var(--accent-9)}.back-to-top svg{fill:currentColor;width:1rem;height:1rem;display:inline-block}.back-to-top[data-visible=true]{display:flex}.icon-link{display:inline-block}.icon-link span{vertical-align:middle;display:inline-block}.icon-link .icon{border:1px solid var(--sy-c-border);opacity:.8;border-radius:6px;margin-right:.4rem;padding:.1rem}.icon-link svg{width:1.5rem;height:1.5rem}.icon-link:hover .icon{opacity:1}.announcement{width:100%;color:var(--sy-c-banner,var(--accent-contrast));background-color:var(--sy-c-banner-bg,var(--accent-a11));z-index:20;align-items:center;padding:.8rem 2rem;display:flex;position:sticky;top:0;left:0}.announcement a{text-decoration:underline}.announcement ::selection{color:var(--sy-c-banner,var(--accent-contrast))}.announcement-inner{width:100%}.announcement-close{position:absolute;top:.8rem;right:1rem}.sy-head{top:var(--sy-s-banner-height);height:var(--sy-s-navbar-height);z-index:20;background-color:#0000;position:sticky}.sy-head-blur{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--sand-a1);width:100%;height:100%;box-shadow:0 0 var(--sy-c-background-contrast),0 2px 4px var(--gray-a1),0 1px 0 var(--sy-c-divider);z-index:-1;position:absolute;top:0;left:0}.sy-head-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1rem);height:var(--sy-s-navbar-height);justify-content:space-between;align-items:center;display:flex}.sy-head-brand img{height:28px}.sy-head-brand img+strong,.sy-head-brand .dark-logo{display:none}.dark .sy-head-brand .dark-logo{display:inline}.dark .sy-head-brand .light-logo{display:none}.light .sy-head-brand .light-logo{display:inline}.light .sy-head-brand .dark-logo{display:none}.sy-head-links button,.sy-head-links a{white-space:nowrap;padding:.5rem;font-size:.95rem;font-weight:500}.sy-head-links .link i.external-link{opacity:.6;color:var(--sy-c-light);margin-left:2px;font-size:68%}.sy-head-links .link>ul a{white-space:normal;display:block}.sy-head-links .link>ul a:hover{background:var(--sy-c-surface);border-radius:6px}.sy-head-links .link>ul small{color:var(--sy-c-light);font-weight:400;display:block}.sy-head-socials{align-items:center;display:flex}.sy-head-socials a{align-items:center;padding:.5rem;display:flex}.sy-head-actions button{height:var(--sy-s-navbar-height);padding:0 .5rem}@media (max-width:767px){body[data-expanded*=head-nav]{overflow:hidden}.sy-head-nav{top:var(--sy-s-offset-top);box-sizing:border-box;border-top:1px solid var(--sy-c-divider);background-color:var(--sy-c-background);width:100%;padding:4rem 1.8rem 0;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sy-head-nav[aria-hidden=false]{display:block}.sy-head-links{margin-left:auto;margin-right:auto}.sy-head-links .link{margin:.5rem 0}.sy-head-links .link i.chevron{display:none}.sy-head-links .link>ul{margin:.5rem 0 .5rem 1rem}.sy-head-extra form.searchbox{position:absolute;top:1rem;left:1.8rem;right:1.8rem}.sy-head-extra{flex-direction:column;width:100%;padding:2rem 0 1rem}}@media (min-width:768px){.sy-head-inner{padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-head-nav{flex-grow:1;justify-content:space-between;align-items:center;display:flex}.sy-head-links[data-align=right]{--head-links-justify-content:flex-end}.sy-head-links[data-align=center]{--head-links-justify-content:center}.sy-head-links{white-space:nowrap;justify-content:var(--head-links-justify-content,flex-start);flex-grow:1;padding:0 1rem;display:flex;overflow:auto}.sy-head-links .link{height:var(--sy-s-navbar-height);align-items:center;display:inline-flex}.sy-head-links a:hover{color:var(--sy-c-link-hover)}.sy-head-links .link:hover>a{background-color:var(--sy-c-surface);border-radius:6px}.sy-head-links .link i.chevron-down{color:var(--sy-c-light)}.sy-head-links .link>ul{visibility:hidden;background-color:var(--sy-c-background);height:0;top:var(--sy-s-navbar-height);border:1px solid var(--sy-c-divider);box-shadow:var(--sy-dropdown-shadow);z-index:9;border-radius:6px;max-width:320px;margin-top:-10px;padding:15px;position:absolute}.sy-head-links .link>ul[aria-hidden=false],.sy-head-links .link:hover>ul{visibility:visible;height:auto}.sy-head-links .link>ul>li{padding:.2rem 0}.sy-head-socials{margin-left:.5rem}}.sy-foot{border-top:1px solid var(--sy-c-foot-divider);color:var(--sy-c-foot-text);background-color:var(--sy-c-foot-background);padding-top:1.5rem;padding-bottom:1rem}.sy-foot-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-foot-copyright{font-size:.84rem}.sy-foot-copyright a{font-weight:500}.sy-foot-copyright a:hover{text-decoration:underline}.sy-foot-socials a{color:var(--sy-c-foot-text);font-size:1.4rem}.sy-foot-socials a+a{margin-left:.5rem}.sy-foot-socials a svg{width:1.4rem;height:1.4rem;display:inline-block}.sy-lside .sidebar-links{margin-bottom:2rem}@media (min-width:768px){.sy-lside .sy-lside-inner{top:var(--sy-s-offset-top)}.sy-lside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top));overflow-x:hidden}}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 68px)}.sy-main{min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}.sy-content{max-width:64rem;min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}@media (max-width:767px){#lside{z-index:18;top:var(--sy-s-offset-top);width:300px;max-width:100%;height:calc(100vh - var(---sy-s-offset-top));background:var(--sy-c-background);transition:transform .2s;position:fixed;bottom:0;left:0;overflow:auto;transform:translate(-100%)}#lside[aria-hidden=false]{transform:translate(0)}.lside-overlay{top:var(--sy-s-offset-top);background-color:var(--sy-c-overlay);opacity:0;width:0;height:0;transition:width 0 .25s,height 0 .25s,opacity .25s;position:fixed;left:0}#lside[aria-hidden=false]+.lside-overlay{opacity:1;z-index:16;width:100%;height:100%}}@media (max-width:1279px){.sy-rside{z-index:25;background:var(--sy-c-background);width:20rem;max-width:100%;box-shadow:0 0 var(--sy-c-background-contrast),-12px 0 16px var(--gray-a1);padding-top:2rem;padding-bottom:1rem;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;overflow:auto;transform:translate(110%)}#rside[aria-hidden=false]{transform:translate(0)}.rside-close{justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.4rem;display:flex;position:absolute;top:16px;right:16px}.rside-overlay{background-color:var(--sy-c-overlay);opacity:0;width:0;height:0;transition:width 0 .25s,height 0 .25s,opacity .25s;position:fixed;top:0;left:0}#rside[aria-hidden=false]+.rside-overlay{opacity:1;z-index:22;width:100%;height:100%}}@media (min-width:768px){.sy-main{width:calc(100% - 18rem);max-width:52rem}}@media (min-width:1280px){.sy-main{width:calc(100% - 34rem);max-width:none}.sy-rside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top) - env(safe-area-inset-bottom))}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 24px)}}.nav-languages button,.nav-versions button{cursor:pointer;white-space:nowrap;background:0 0;border:0;margin:0;padding:0}.nav-versions .chevron-down{color:var(--sy-c-light)}@media (max-width:767px){.nav-versions,.nav-languages{background-color:var(--sy-c-surface);border-radius:6px;width:100%;margin-bottom:1rem;padding-bottom:.6rem}.nav-versions button,.nav-languages button{color:var(--sy-c-light);padding:.5rem 1rem;font-size:.76rem;font-weight:500}.nav-versions button>i,.nav-languages button>i{display:none}.nav-versions ul{padding:0 .6rem}.nav-versions li{padding:.2rem .4rem;display:inline-block}.nav-languages li{padding:.32rem 1rem;font-size:.94rem}}@media (min-width:768px){.nav-versions,.nav-languages{width:auto;height:var(--sy-s-navbar-height);color:var(--sy-c-text);background:0 0;align-items:center;display:flex;position:relative}.nav-languages button,.nav-versions button{border-right:1px solid var(--gray-3);padding:0 .5rem}.nav-versions-choices,.nav-languages-choices{visibility:hidden;box-sizing:border-box;background-color:var(--sy-c-background);min-width:120px;max-height:60vh;box-shadow:var(--sy-dropdown-shadow);border-radius:6px;padding:.8rem 1rem;position:absolute;top:3rem;right:-.6rem;overflow:hidden auto}.nav-versions:hover .nav-versions-choices,.nav-languages:hover .nav-languages-choices{visibility:visible}.nav-versions li,.nav-languages li{padding:.1rem 0}.nav-versions a,.nav-languages a{color:var(--sy-c-text);white-space:nowrap;padding:.2rem .6rem;display:block}.nav-versions a:hover,.nav-languages a:hover{color:var(--sy-c-link-hover);background:var(--sy-c-surface);border-radius:6px}}.sy-breadcrumbs{top:var(--sy-s-offset-top);background-color:var(--sy-c-background);z-index:5;padding:0 1.5rem;position:sticky}.sy-breadcrumbs-inner{border-bottom:1px solid var(--sy-c-divider);padding:.8rem 0}.sy-breadcrumbs ol{white-space:nowrap;font-size:.94rem;display:flex;overflow:auto}.sy-breadcrumbs button{align-items:center;display:flex}.sy-breadcrumbs ol a{color:var(--sy-c-light)}.sy-breadcrumbs ol a:hover{color:var(--sy-c-bold)}.sy-breadcrumbs ol a+span{color:var(--sy-c-light);padding:0 .4rem;font-weight:300}@media (min-width:1280px){.sy-breadcrumbs{display:none}}@media (min-width:768px){.sy-breadcrumbs-inner{padding:1.5rem 0 1rem}}.globaltoc{padding-bottom:20px}.globaltoc .caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-light);text-transform:uppercase;letter-spacing:.4px;border-top:1px solid var(--sy-c-divider);padding:.8rem 0 .4rem}.globaltoc>p.caption:first-of-type{border-top:none;padding-top:0}.globaltoc .caption+ul{margin-bottom:1.5rem}.globaltoc ul+.caption{margin-top:2.5rem}.globaltoc li{margin:.6rem 0}.globaltoc li>ul{margin-left:.6rem;font-size:.96rem}.globaltoc li.toctree-l1>ul{border-left:1px solid var(--gray-3);margin-left:.2rem}.globaltoc li.toctree-l2{border-left:1px solid #0000;margin-left:-1px;padding-left:.9rem}.globaltoc li.toctree-l2.current{border-color:var(--sy-c-link)}.globaltoc>ul a.current{color:var(--sy-c-link);font-weight:500}.globaltoc>ul a:hover{color:var(--sy-c-link-hover)}.globaltoc a.external:after{content:"";-webkit-mask:var(--lucide-external-link-url)no-repeat;-webkit-mask:var(--lucide-external-link-url)no-repeat;mask:var(--lucide-external-link-url)no-repeat;vertical-align:middle;background-color:var(--sy-c-light);width:.825rem;height:.825rem;margin-left:.2rem;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.globaltoc li{position:relative}.globaltoc li>button{border-radius:3px;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;display:flex;position:absolute;top:.2rem;right:0}.globaltoc li>button:hover{background-color:var(--sy-c-surface)}.globaltoc li.current>ul,.globaltoc li._expand>ul{display:block}.globaltoc li>ul,.globaltoc li._collapse>ul{display:none}.globaltoc li>button>i{transition:transform .2s;transform:rotate(0)}.globaltoc li.current>button>i,.globaltoc li._expand>button>i{transform:rotate(90deg)}.globaltoc li._collapse>button>i{transform:rotate(0)}.sy-deprecated{background-color:#ffdd001a;border-radius:6px;padding:.8rem;font-size:.85rem}.sy-deprecated a{color:var(--sy-c-link);text-decoration:underline}.sy-deprecated a:hover{color:var(--sy-c-link-hover)}.sy-rside-inner>div{margin-bottom:1rem}.sy-rside-inner>div>h3{letter-spacing:.4px;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem;font-weight:500}html[lang=zh] .sy-rside-inner>div>h3,html[lang=zh-TW] .sy-rside-inner>div>h3,html[lang=ja] .sy-rside-inner>div>h3,html[lang=ko] .sy-rside-inner>div>h3{letter-spacing:0;font-size:.86rem;font-weight:600}.localtoc>ul li{margin-top:.36rem;margin-bottom:.36rem}.localtoc>ul li>a:hover{color:var(--sy-c-link-hover)}.localtoc>ul li.active>a{color:var(--sy-c-link);font-weight:500}.localtoc>ul>li ul{padding-left:.8rem}.sy-rside ul.this-page-menu{margin-top:-.6rem}.sy-rside ul.this-page-menu a{font-size:.96rem}.sy-rside ul.this-page-menu a:hover{color:var(--sy-c-link-hover)}.navigation{border-top:1px solid var(--sy-c-divider);gap:2rem;margin-top:2rem;padding-top:1rem}.navigation>div{width:100%}.navigation a{align-items:center;display:inline-flex}.navigation a:hover{color:var(--sy-c-link-hover)}.navigation-next{text-align:right}.navigation-next a{justify-content:end}.navigation .page-info{padding:0 8px}.navigation .page-info>span{color:var(--sy-c-light);font-size:.8rem}:root{--readthedocs-search-font-family:var(--sy-f-text);--readthedocs-search-color:var(--sy-c-text);--readthedocs-search-input-background-color:var(--gray-3);--readthedocs-search-content-border-color:var(--gray-4);--readthedocs-search-content-background-color:var(--sy-c-background);--readthedocs-search-result-section-color:var(--sy-c-text);--readthedocs-search-result-section-subheading-color:var(--sy-c-heading);--readthedocs-search-result-section-highlight-color:var(--accent-9);--readthedocs-search-result-section-border-color:var(--sy-c-border)}.yue button.copybtn{color:var(--syntax-text);background-color:#0000;border:none;justify-content:center;align-items:center}.yue button.copybtn>svg{width:1.4rem;height:1.4rem}.yue button.copybtn:hover{color:var(--syntax-meta)}.yue .highlight button.copybtn:hover{background-color:#0000}.yue button.copybtn:after{color:var(--syntax-text);background-color:#0000}.yue button.copybtn.success{border-color:var(--green-a10);color:var(--green-a10)}.yue button.copybtn.success:after{color:var(--green-a10)}.code-block-caption+div>.highlight .copybtn{opacity:.5;top:-2em}.yue{--sd-color-primary:var(--accent-a11);--sd-color-secondary:var(--gold-a11);--sd-color-success:var(--green-a11);--sd-color-info:var(--blue-a11);--sd-color-warning:var(--orange-a11);--sd-color-danger:var(--red-a11);--sd-color-light:var(--sand-a2);--sd-color-muted:var(--gray-8);--sd-color-dark:#212122;--sd-color-black:black;--sd-color-white:white;--sd-color-primary-highlight:var(--accent-a8);--sd-color-secondary-highlight:var(--gold-a8);--sd-color-success-highlight:var(--green-a8);--sd-color-info-highlight:var(--blue-a8);--sd-color-warning-highlight:var(--orange-a8);--sd-color-danger-highlight:var(--red-a8);--sd-color-light-highlight:var(--gray-4);--sd-color-muted-highlight:var(--gray-11);--sd-color-dark-highlight:#121211;--sd-color-black-highlight:black;--sd-color-white-highlight:#d9d9d9;--sd-color-primary-text:var(--accent-contrast);--sd-color-secondary-text:var(--gold-contrast);--sd-color-success-text:var(--green-contrast);--sd-color-info-text:var(--blue-contrast);--sd-color-warning-text:var(--orange-contrast);--sd-color-danger-text:var(--red-contrast);--sd-color-light-text:var(--sy-c-text);--sd-color-muted-text:#fff;--sd-color-dark-text:#fff;--sd-color-black-text:#fff;--sd-color-white-text:#212529;--sd-color-shadow:var(--gray-1);--sd-color-card-border:var(--sy-c-border);--sd-color-card-border-hover:var(--accent-a9);--sd-color-tabs-label-inactive:var(--sy-c-bold);--sd-color-tabs-label-active:var(--sd-color-primary);--sd-color-tabs-underline-active:var(--sd-color-primary);--sd-color-tabs-label-hover:var(--accent-9);--sd-color-tabs-underline-hover:var(--accent-9)}.yue .surface{--sd-color-card-text:var(--sy-c-light);--sd-color-card-border:transparent;--sd-color-card-background:var(--sy-c-surface)}.yue a.sd-badge,.yue a.sd-badge:hover{border-bottom:0}.yue .sd-badge{border-radius:3px;font-weight:600}.yue .sd-btn{border-color:var(--sy-c-border)}.yue .sd-tab-set.outline{border:1px solid var(--sy-c-border);border-radius:4px;overflow:auto}.yue .sd-tab-set>label{padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sd-tab-set.outline>label{margin-left:1rem;padding-top:.5rem}.yue .sd-tab-set>label~label{margin-left:1rem}.yue .sd-tab-content{box-shadow:0 -.0625rem var(--sy-c-divider);padding:0}.yue .sd-tab-content .code-block-caption,.yue .sd-tab-content .highlight pre{border-radius:0}.yue .sd-card-title{color:var(--sy-c-text)}.yue .sd-card-title a{border-bottom:0}.yue .sd-card-title>svg,.yue .sd-card-title>iconify-icon{margin-right:.25rem;position:relative;top:-1px}.yue .sd-card-hover:hover{transform:scale(1)}.yue .sd-card-hover:hover .sd-card-title{color:var(--sy-c-link-hover)}.yue .sd-card a.sd-hide-link-text,.yue .sd-card a.sd-hide-link-text:hover{border-bottom:0}.yue .surface .sd-card-header,.yue .surface .sd-card-body,.yue .surface .sd-card-footer{padding-left:1.5rem;padding-right:1.5rem}.yue .surface .sd-card-header,.yue .surface .sd-card-footer{border-color:var(--sy-c-border)}@media (print){.yue .sd-card{page-break-inside:avoid}}.yue a.sd-text-wrap:hover{border-bottom-width:1px}.sphinx-tabs [role=tablist]{border-color:var(--sy-c-divider)}.yue .sphinx-tabs-tab{color:var(--sy-c-text);line-height:inherit;border:none;border-bottom:.125rem solid #0000;padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sphinx-tabs-tab:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.yue .sphinx-tabs-tab[aria-selected=true]{border:none;border-bottom:.125rem solid var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active);background-color:#0000}.yue .sphinx-tabs-tab+.sphinx-tabs-tab{margin-left:1rem}.yue .sphinx-tabs-panel{background-color:#0000;border:none;border-radius:0;margin:0;padding:0}.yue .sphinx-tabs-panel.code-tab{padding:0}.yue .sphinx-tabs-panel.code-tab .code-block-caption,.yue .sphinx-tabs-panel.code-tab .highlight pre{border-radius:0}.yue{--jp-widgets-input-border-color:var(--gray-5);--jp-widgets-input-focus-border-color:var(--gray-8);--jp-widgets-slider-active-handle-color:var(--gray-4);--jp-widgets-slider-handle-border-color:var(--sy-c-border)}.yue .jupyter_container{background-color:var(--sy-c-background);border:3px solid var(--sy-c-border);box-shadow:none;border-radius:6px;overflow:hidden}.sy-main .yue .jupyter_container div[class^=highlight]{padding:0}.yue .jupyter_container div.highlight{background-color:var(--syntax-pre-bg)}.yue .jupyter_container div.cell_input{background-color:var(--syntax-pre-bg);border:0;border-radius:0}.yue .jupyter_container div.code_cell pre{padding:0}.jupyter_container div.cell_output .output,.jupyter_container div.cell_output .stderr,.jupyter_container div.cell_output .widget-subarea{padding:.5rem}.jupyter_container div.cell_output .stderr .stderr{padding:0}.widget-hslider .slider-container,.jupyter-widget-hslider .slider-container{align-items:center;display:flex}.widget-slider .noUi-target,.jupyter-widget-slider .noUi-target{width:100%}.jupyter_container div.code_cell .highlight>pre{padding:1rem}.jupyter_container div.code_cell .highlight .hll{margin-left:-1rem;margin-right:-1rem;padding:0 1rem}.jupyter_container div.code_cell .highlight .linenos{margin-right:.8rem}.yue .jupyter_container .stderr{color:var(--red-a11);background-color:var(--red-a3)}.yue .jupyter_container .stderr .stderr{background-color:#0000}.nbinput .highlight{--radius:1px}.yue div.nblast.container{padding-top:5px}.yue div.nbinput.container div.input_area{border-color:var(--sy-c-border)}.yue div.nboutput.container div.output_area.stderr{color:var(--red-a11);background-color:var(--red-a3)}.yue div.nboutput.container div.output_area>.math-wrapper>div.math{padding-top:0}.yue .jp-RenderedHTMLCommon thead,.yue div.rendered_html thead{border-color:var(--sy-c-border)}.yue .jp-RenderedHTMLCommon tbody tr,.yue div.rendered_html tbody tr{color:var(--sy-c-text)}.yue .jp-RenderedHTMLCommon tbody tr:nth-child(odd),.yue div.rendered_html tbody tr:nth-child(odd){background-color:var(--sy-c-surface)}.yue .jp-RenderedHTMLCommon tbody tr:hover,.yue div.rendered_html tbody tr:hover{background-color:var(--color-surface-accent)}.yue{--sg-text-color:var(--sy-c-text);--sg-background-color:var(--sy-c-background);--sg-code-background-color:var(--syntax-pre-bg);--sg-tr-hover-color:var(--accent-a3);--sg-tr-odd-color:var(--sy-c-surface);--sg-tooltip-foreground:var(--sy-c-background-contrast);--sg-tooltip-background:var(--sy-c-background);--sg-tooltip-border:var(--gray-7)transparent;--sg-thumb-box-shadow-color:var(--gray-a4);--sg-thumb-hover-border:var(--accent-a9);--sg-script-out:var(--sy-c-light);--sg-script-pre:var(--syntax-pre-bg);--sg-pytb-foreground:var(--syntax-text);--sg-pytb-background:var(--red-a2);--sg-pytb-border-color:var(--red-a8);--sg-download-a-background-color:var(--accent-a3);--sg-download-a-background-image:none;--sg-download-a-border-color:1px solid var(--accent-a3);--sg-download-a-color:var(--accent-a11);--sg-download-a-hover-background-color:var(--accent-a4);--sg-download-a-hover-box-shadow-1:transparent;--sg-download-a-hover-box-shadow-2:transparent}.yue .sphx-glr-thumbnails a,.yue .sphx-glr-download a,.yue .sphx-glr-download a:hover{border-bottom:0}.yue p.sphx-glr-signature a{border-bottom:0;border-radius:0;text-decoration:underline}.yue p.sphx-glr-signature a:hover{color:var(--sy-c-link-hover)}.yue .sphx-glr-footer img{margin:0;display:inline}html.light,html.dark{--docsearch-primary-color:var(--accent-9);--docsearch-text-color:var(--sy-c-text);--docsearch-modal-background:var(--sy-c-background);--docsearch-footer-background:var(--sy-c-surface);--docsearch-searchbox-background:var(--sy-c-surface);--docsearch-searchbox-focus-background:var(--sy-c-background);--docsearch-muted-color:var(--sy-c-light);--docsearch-hit-color:var(--sy-c-text);--docsearch-hit-background:var(--sy-c-surface);--docsearch-hit-active-color:var(--accent-contrast);--docsearch-hit-shadow:inset 0 0 1px 0 var(--gray-a11);--docsearch-container-background:var(--sy-c-overlay)}html.light{--docsearch-key-gradient:linear-gradient(-225deg,#e6e6e6,#f8f8f8);--docsearch-key-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}html.dark{--docsearch-key-gradient:linear-gradient(-225deg,#353434,#141414);--docsearch-key-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000;--docsearch-footer-shadow:0 -1px 0 0 #373737,0 -3px 6px 0 #141414;--docsearch-modal-shadow:inset 1px 1px 0 0 #373737,0 3px 8px 0 #141414}#docsearch .DocSearch-Button{border-radius:6px}#docsearch .DocSearch-Button-Key,#docsearch .DocSearch-Button-Placeholder{font-size:.825rem}#docsearch .DocSearch-Button-Placeholder,#docsearch .DocSearch-Button-Keys{display:flex!important}#docsearch .DocSearch-Search-Icon{width:.875rem!important;height:.875rem!important}@media (max-width:767px){#docsearch{position:absolute;top:1rem;left:1.8rem;right:1.8rem}#docsearch .DocSearch-Button{width:100%;margin-left:0}}dl.sqla dt{color:var(--sig-name);margin-bottom:.5rem}dl.sqla dt>em{color:var(--sig-param);font-style:normal;font-weight:400}dl.sqla dd>p.rubric{text-transform:uppercase;margin-top:1.5rem;font-size:.76rem}dl.sqla dd>p.rubric+.table-wrapper{border-left:0;border-right:0;border-radius:0;margin-top:.75rem}dl.sqla p.rubric+.table-wrapper th,dl.sqla p.rubric+.table-wrapper td{background-color:#0000;border-left:0;border-right:0}dl.sqla p.rubric+.table-wrapper td>p{margin:0}dl.sqla p.rubric+.table-wrapper tr.row-odd{background-color:#0000}dl.sqla p.rubric+.table-wrapper tr.row-even{background-color:var(--yue-c-row-background)}.yue details.toggle-details{background-color:var(--slate-a2);border-radius:.2em;padding:0 1rem}.yue details.toggle-details summary{border-left-color:var(--accent-a9);background-color:var(--gray-a2);margin-left:-1rem;margin-right:-1rem}.yue details.toggle-details[open] summary{border-radius:.2em .2em 0 0}.yue .toggle-details__container{margin-top:0;margin-bottom:0;padding-top:1rem;padding-bottom:1rem}.yue .toggle-details__container :first-child{margin-top:0}.yue .toggle-details__container :last-child{margin-bottom:0}.yue .admonition.toggle-hidden .admonition-title~*{margin-bottom:0!important}.sphinx-contributors{container:contributors/inline-size}.sphinx-contributors .sphinx-contributors_list__item{margin:0;padding:0}.sphinx-contributors .sphinx-contributors_contributor__username,.sphinx-contributors .sphinx-contributors_contributor__contributions{margin:0}.sphinx-contributors.sphinx-contributors--avatars .sphinx-contributors_list{justify-content:flex-start;gap:1rem;padding:0}.sphinx-contributors--avatars .sphinx-contributors_contributor__username{margin-top:.5rem}.sphinx-contributors--avatars .sphinx-contributors_contributor__contributions{font-size:.875rem}.sphinx-contributors--avatars .sphinx-contributors_contributor__contributions:before{content:"";padding:0}.sphinx-contributors--avatars .sphinx-contributors_contributor{align-items:center}@container contributors (max-width:800px){.sphinx-contributors.sphinx-contributors--avatars .sphinx-contributors_list{column-gap:0}.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:25%}}@container contributors (max-width:700px){.sphinx-contributors--avatars img.sphinx-contributors_contributor__image{width:120px}}@container contributors (max-width:600px){.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:33.33%}}@container contributors (max-width:500px){.sphinx-contributors--avatars img.sphinx-contributors_contributor__image{width:120px}}@container contributors (max-width:400px){.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:50%}}.yue{--xr-font-color0:var(--sy-c-heading);--xr-font-color2:var(--sy-c-text);--xr-font-color3:var(--sy-c-light);--xr-border-color:var(--sy-c-border);--xr-disabled-color:var(--gray-a6);--xr-background-color:var(--sy-c-background);--xr-background-color-row-even:var(--sy-c-background);--xr-background-color-row-odd:var(--gray-2)}.yue .xr-array-data pre{margin:0}.yue iconify-icon[data-accent-color]{color:var(--accent-9)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/docs/outputdir/html/_static/shibuya.js b/docs/outputdir/html/_static/shibuya.js new file mode 100644 index 0000000..43fbc13 --- /dev/null +++ b/docs/outputdir/html/_static/shibuya.js @@ -0,0 +1,41 @@ +(()=>{var Ct=Object.freeze({left:0,top:0,width:16,height:16}),M=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),O=Object.freeze({...Ct,...M}),W=Object.freeze({...O,body:"",hidden:!1}),Xt=Object.freeze({width:null,height:null}),_t=Object.freeze({...Xt,...M});function Zt(t,e=0){let n=t.replace(/^-?[0-9.]*/,"");function s(o){for(;o<0;)o+=4;return o%4}if(n===""){let o=parseInt(t);return isNaN(o)?0:s(o)}else if(n!==t){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let i=parseFloat(t.slice(0,t.length-n.length));return isNaN(i)?0:(i=i/o,i%1===0?s(i):0)}}return e}var te=/[\s,]+/;function ee(t,e){e.split(te).forEach(n=>{switch(n.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}var Lt={..._t,preserveAspectRatio:""};function dt(t){let e={...Lt},n=(s,o)=>t.getAttribute(s)||o;return e.width=n("width",null),e.height=n("height",null),e.rotate=Zt(n("rotate","")),ee(e,n("flip","")),e.preserveAspectRatio=n("preserveAspectRatio",n("preserveaspectratio","")),e}function ne(t,e){for(let n in Lt)if(t[n]!==e[n])return!0;return!1}var Et=/^[a-z0-9]+(-[a-z0-9]+)*$/,j=(t,e,n,s="")=>{let o=t.split(":");if(t.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;s=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){let r=o.pop(),a=o.pop(),l={provider:o.length>0?o[0]:s,prefix:a,name:r};return e&&!N(l)?null:l}let i=o[0],c=i.split("-");if(c.length>1){let r={provider:s,prefix:c.shift(),name:c.join("-")};return e&&!N(r)?null:r}if(n&&s===""){let r={provider:s,prefix:"",name:i};return e&&!N(r,n)?null:r}return null},N=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function oe(t,e){let n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);let s=((t.rotate||0)+(e.rotate||0))%4;return s&&(n.rotate=s),n}function ft(t,e){let n=oe(t,e);for(let s in W)s in M?s in t&&!(s in n)&&(n[s]=M[s]):s in e?n[s]=e[s]:s in t&&(n[s]=t[s]);return n}function se(t,e){let n=t.icons,s=t.aliases||Object.create(null),o=Object.create(null);function i(c){if(n[c])return o[c]=[];if(!(c in o)){o[c]=null;let r=s[c]&&s[c].parent,a=r&&i(r);a&&(o[c]=[r].concat(a))}return o[c]}return Object.keys(n).concat(Object.keys(s)).forEach(i),o}function ie(t,e,n){let s=t.icons,o=t.aliases||Object.create(null),i={};function c(r){i=ft(s[r]||o[r],i)}return c(e),n.forEach(c),ft(t,i)}function Tt(t,e){let n=[];if(typeof t!="object"||typeof t.icons!="object")return n;t.not_found instanceof Array&&t.not_found.forEach(o=>{e(o,null),n.push(o)});let s=se(t);for(let o in s){let i=s[o];i&&(e(o,ie(t,o,i)),n.push(o))}return n}var re={provider:"",aliases:{},not_found:{},...Ct};function J(t,e){for(let n in e)if(n in t&&typeof t[n]!=typeof e[n])return!1;return!0}function Ot(t){if(typeof t!="object"||t===null)return null;let e=t;if(typeof e.prefix!="string"||!t.icons||typeof t.icons!="object"||!J(t,re))return null;let n=e.icons;for(let o in n){let i=n[o];if(!o||typeof i.body!="string"||!J(i,W))return null}let s=e.aliases||Object.create(null);for(let o in s){let i=s[o],c=i.parent;if(!o||typeof c!="string"||!n[c]&&!s[c]||!J(i,W))return null}return e}var q=Object.create(null);function ce(t,e){return{provider:t,prefix:e,icons:Object.create(null),missing:new Set}}function v(t,e){let n=q[t]||(q[t]=Object.create(null));return n[e]||(n[e]=ce(t,e))}function jt(t,e){return Ot(e)?Tt(e,(n,s)=>{s?t.icons[n]=s:t.missing.add(n)}):[]}function ae(t,e,n){try{if(typeof n.body=="string")return t.icons[e]={...n},!0}catch{}return!1}function le(t,e){let n=[];return(typeof t=="string"?[t]:Object.keys(q)).forEach(o=>{(typeof o=="string"&&typeof e=="string"?[e]:Object.keys(q[o]||{})).forEach(c=>{let r=v(o,c);n=n.concat(Object.keys(r.icons).map(a=>(o!==""?"@"+o+":":"")+c+":"+a))})}),n}var E=!1;function Pt(t){return typeof t=="boolean"&&(E=t),E}function T(t){let e=typeof t=="string"?j(t,!0,E):t;if(e){let n=v(e.provider,e.prefix),s=e.name;return n.icons[s]||(n.missing.has(s)?null:void 0)}}function Nt(t,e){let n=j(t,!0,E);if(!n)return!1;let s=v(n.provider,n.prefix);return e?ae(s,n.name,e):(s.missing.add(n.name),!0)}function ht(t,e){if(typeof t!="object")return!1;if(typeof e!="string"&&(e=t.provider||""),E&&!e&&!t.prefix){let o=!1;return Ot(t)&&(t.prefix="",Tt(t,(i,c)=>{Nt(i,c)&&(o=!0)})),o}let n=t.prefix;if(!N({prefix:n,name:"a"}))return!1;let s=v(e,n);return!!jt(s,t)}function ue(t){return!!T(t)}function de(t){let e=T(t);return e&&{...O,...e}}function fe(t){let e={loaded:[],missing:[],pending:[]},n=Object.create(null);t.sort((o,i)=>o.provider!==i.provider?o.provider.localeCompare(i.provider):o.prefix!==i.prefix?o.prefix.localeCompare(i.prefix):o.name.localeCompare(i.name));let s={provider:"",prefix:"",name:""};return t.forEach(o=>{if(s.name===o.name&&s.prefix===o.prefix&&s.provider===o.provider)return;s=o;let i=o.provider,c=o.prefix,r=o.name,a=n[i]||(n[i]=Object.create(null)),l=a[c]||(a[c]=v(i,c)),u;r in l.icons?u=e.loaded:c===""||l.missing.has(r)?u=e.missing:u=e.pending;let d={provider:i,prefix:c,name:r};u.push(d)}),e}function Rt(t,e){t.forEach(n=>{let s=n.loaderCallbacks;s&&(n.loaderCallbacks=s.filter(o=>o.id!==e))})}function he(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;let e=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!e.length)return;let n=!1,s=t.provider,o=t.prefix;e.forEach(i=>{let c=i.icons,r=c.pending.length;c.pending=c.pending.filter(a=>{if(a.prefix!==o)return!0;let l=a.name;if(t.icons[l])c.loaded.push({provider:s,prefix:o,name:l});else if(t.missing.has(l))c.missing.push({provider:s,prefix:o,name:l});else return n=!0,!0;return!1}),c.pending.length!==r&&(n||Rt([t],i.id),i.callback(c.loaded.slice(0),c.missing.slice(0),c.pending.slice(0),i.abort))})}))}var pe=0;function ge(t,e,n){let s=pe++,o=Rt.bind(null,n,s);if(!e.pending.length)return o;let i={id:s,icons:e,callback:t,abort:o};return n.forEach(c=>{(c.loaderCallbacks||(c.loaderCallbacks=[])).push(i)}),o}var X=Object.create(null);function pt(t,e){X[t]=e}function Z(t){return X[t]||X[""]}function me(t,e=!0,n=!1){let s=[];return t.forEach(o=>{let i=typeof o=="string"?j(o,e,n):o;i&&s.push(i)}),s}var be={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ye(t,e,n,s){let o=t.resources.length,i=t.random?Math.floor(Math.random()*o):t.index,c;if(t.random){let h=t.resources.slice(0);for(c=[];h.length>1;){let b=Math.floor(Math.random()*h.length);c.push(h[b]),h=h.slice(0,b).concat(h.slice(b+1))}c=c.concat(h)}else c=t.resources.slice(i).concat(t.resources.slice(0,i));let r=Date.now(),a="pending",l=0,u,d=null,f=[],p=[];typeof s=="function"&&p.push(s);function I(){d&&(clearTimeout(d),d=null)}function x(){a==="pending"&&(a="aborted"),I(),f.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),f=[]}function g(h,b){b&&(p=[]),typeof h=="function"&&p.push(h)}function z(){return{startTime:r,payload:e,status:a,queriesSent:l,queriesPending:f.length,subscribe:g,abort:x}}function w(){a="failed",p.forEach(h=>{h(void 0,u)})}function y(){f.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),f=[]}function m(h,b,k){let P=b!=="success";switch(f=f.filter(A=>A!==h),a){case"pending":break;case"failed":if(P||!t.dataAfterTimeout)return;break;default:return}if(b==="abort"){u=k,w();return}if(P){u=k,f.length||(c.length?G():w());return}if(I(),y(),!t.random){let A=t.resources.indexOf(h.resource);A!==-1&&A!==t.index&&(t.index=A)}a="completed",p.forEach(A=>{A(k)})}function G(){if(a!=="pending")return;I();let h=c.shift();if(h===void 0){if(f.length){d=setTimeout(()=>{I(),a==="pending"&&(y(),w())},t.timeout);return}w();return}let b={status:"pending",resource:h,callback:(k,P)=>{m(b,k,P)}};f.push(b),l++,d=setTimeout(G,t.rotate),n(h,e,b.callback)}return setTimeout(G),z}function Mt(t){let e={...be,...t},n=[];function s(){n=n.filter(r=>r().status==="pending")}function o(r,a,l){let u=ye(e,r,a,(d,f)=>{s(),l&&l(d,f)});return n.push(u),u}function i(r){return n.find(a=>r(a))||null}return{query:o,find:i,setIndex:r=>{e.index=r},getIndex:()=>e.index,cleanup:s}}function ot(t){let e;if(typeof t.resources=="string")e=[t.resources];else if(e=t.resources,!(e instanceof Array)||!e.length)return null;return{resources:e,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}var $=Object.create(null),C=["https://api.simplesvg.com","https://api.unisvg.com"],R=[];for(;C.length>0;)C.length===1||Math.random()>.5?R.push(C.shift()):R.push(C.pop());$[""]=ot({resources:["https://api.iconify.design"].concat(R)});function gt(t,e){let n=ot(e);return n===null?!1:($[t]=n,!0)}function D(t){return $[t]}function ve(){return Object.keys($)}function mt(){}var Y=Object.create(null);function Ie(t){if(!Y[t]){let e=D(t);if(!e)return;let n=Mt(e),s={config:e,redundancy:n};Y[t]=s}return Y[t]}function qt(t,e,n){let s,o;if(typeof t=="string"){let i=Z(t);if(!i)return n(void 0,424),mt;o=i.send;let c=Ie(t);c&&(s=c.redundancy)}else{let i=ot(t);if(i){s=Mt(i);let c=t.resources?t.resources[0]:"",r=Z(c);r&&(o=r.send)}}return!s||!o?(n(void 0,424),mt):s.query(e,o,n)().abort}function bt(){}function xe(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,he(t)}))}function we(t){let e=[],n=[];return t.forEach(s=>{(s.match(Et)?e:n).push(s)}),{valid:e,invalid:n}}function _(t,e,n){function s(){let o=t.pendingIcons;e.forEach(i=>{o&&o.delete(i),t.icons[i]||t.missing.add(i)})}if(n&&typeof n=="object")try{if(!jt(t,n).length){s();return}}catch(o){console.error(o)}s(),xe(t)}function yt(t,e){t instanceof Promise?t.then(n=>{e(n)}).catch(()=>{e(null)}):e(t)}function Ae(t,e){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(e).sort():t.iconsToLoad=e,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;let{provider:n,prefix:s}=t,o=t.iconsToLoad;if(delete t.iconsToLoad,!o||!o.length)return;let i=t.loadIcon;if(t.loadIcons&&(o.length>1||!i)){yt(t.loadIcons(o,s,n),u=>{_(t,o,u)});return}if(i){o.forEach(u=>{let d=i(u,s,n);yt(d,f=>{let p=f?{prefix:s,icons:{[u]:f}}:null;_(t,[u],p)})});return}let{valid:c,invalid:r}=we(o);if(r.length&&_(t,r,null),!c.length)return;let a=s.match(Et)?Z(n):null;if(!a){_(t,c,null);return}a.prepare(n,s,c).forEach(u=>{qt(n,u,d=>{_(t,u.icons,d)})})}))}var st=(t,e)=>{let n=me(t,!0,Pt()),s=fe(n);if(!s.pending.length){let a=!0;return e&&setTimeout(()=>{a&&e(s.loaded,s.missing,s.pending,bt)}),()=>{a=!1}}let o=Object.create(null),i=[],c,r;return s.pending.forEach(a=>{let{provider:l,prefix:u}=a;if(u===r&&l===c)return;c=l,r=u,i.push(v(l,u));let d=o[l]||(o[l]=Object.create(null));d[u]||(d[u]=[])}),s.pending.forEach(a=>{let{provider:l,prefix:u,name:d}=a,f=v(l,u),p=f.pendingIcons||(f.pendingIcons=new Set);p.has(d)||(p.add(d),o[l][u].push(d))}),i.forEach(a=>{let l=o[a.provider][a.prefix];l.length&&Ae(a,l)}),e?ge(e,s,i):bt},Se=t=>new Promise((e,n)=>{let s=typeof t=="string"?j(t,!0):t;if(!s){n(t);return}st([s||t],o=>{if(o.length&&s){let i=T(s);if(i){e({...O,...i});return}}n(t)})});function vt(t){try{let e=typeof t=="string"?JSON.parse(t):t;if(typeof e.body=="string")return{...e}}catch{}}function ke(t,e){if(typeof t=="object")return{data:vt(t),value:t};if(typeof t!="string")return{value:t};if(t.includes("{")){let i=vt(t);if(i)return{data:i,value:t}}let n=j(t,!0,!0);if(!n)return{value:t};let s=T(n);if(s!==void 0||!n.prefix)return{value:t,name:n,data:s};let o=st([n],()=>e(t,n,T(n)));return{value:t,name:n,loading:o}}var Ft=!1;try{Ft=navigator.vendor.indexOf("Apple")===0}catch{}function Ce(t,e){switch(e){case"svg":case"bg":case"mask":return e}return e!=="style"&&(Ft||t.indexOf("=0;){let o=t.indexOf(">",s),i=t.indexOf("",i);if(c===-1)break;n+=t.slice(o+1,i).trim(),t=t.slice(0,s).trim()+t.slice(c+1)}return{defs:n,content:t}}function Te(t,e){return t?""+t+""+e:e}function Oe(t,e,n){let s=Ee(t);return Te(s.defs,e+s.content+n)}var je=t=>t==="unset"||t==="undefined"||t==="none";function $t(t,e){let n={...O,...t},s={..._t,...e},o={left:n.left,top:n.top,width:n.width,height:n.height},i=n.body;[n,s].forEach(x=>{let g=[],z=x.hFlip,w=x.vFlip,y=x.rotate;z?w?y+=2:(g.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),g.push("scale(-1 1)"),o.top=o.left=0):w&&(g.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),g.push("scale(1 -1)"),o.top=o.left=0);let m;switch(y<0&&(y-=Math.floor(y/4)*4),y=y%4,y){case 1:m=o.height/2+o.top,g.unshift("rotate(90 "+m.toString()+" "+m.toString()+")");break;case 2:g.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:m=o.width/2+o.left,g.unshift("rotate(-90 "+m.toString()+" "+m.toString()+")");break}y%2===1&&(o.left!==o.top&&(m=o.left,o.left=o.top,o.top=m),o.width!==o.height&&(m=o.width,o.width=o.height,o.height=m)),g.length&&(i=Oe(i,'',""))});let c=s.width,r=s.height,a=o.width,l=o.height,u,d;c===null?(d=r===null?"1em":r==="auto"?l:r,u=tt(d,a/l)):(u=c==="auto"?a:c,d=r===null?tt(u,l/a):r==="auto"?l:r);let f={},p=(x,g)=>{je(g)||(f[x]=g.toString())};p("width",u),p("height",d);let I=[o.left,o.top,a,l];return f.viewBox=I.join(" "),{attributes:f,viewBox:I,body:i}}function it(t,e){let n=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let s in e)n+=" "+s+'="'+e[s]+'"';return'"+t+""}function Pe(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Ne(t){return"data:image/svg+xml,"+Pe(t)}function Dt(t){return'url("'+Ne(t)+'")'}var Re=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}},F=Re();function Me(t){F=t}function qe(){return F}function Fe(t,e){let n=D(t);if(!n)return 0;let s;if(!n.maxURL)s=0;else{let o=0;n.resources.forEach(c=>{o=Math.max(o,c.length)});let i=e+".json?icons=";s=n.maxURL-o-n.path.length-i.length}return s}function $e(t){return t===404}var De=(t,e,n)=>{let s=[],o=Fe(t,e),i="icons",c={type:i,provider:t,prefix:e,icons:[]},r=0;return n.forEach((a,l)=>{r+=a.length+1,r>=o&&l>0&&(s.push(c),c={type:i,provider:t,prefix:e,icons:[]},r=a.length),c.icons.push(a)}),s.push(c),s};function He(t){if(typeof t=="string"){let e=D(t);if(e)return e.path}return"/"}var Be=(t,e,n)=>{if(!F){n("abort",424);return}let s=He(e.provider);switch(e.type){case"icons":{let i=e.prefix,r=e.icons.join(","),a=new URLSearchParams({icons:r});s+=i+".json?"+a.toString();break}case"custom":{let i=e.uri;s+=i.slice(0,1)==="/"?i.slice(1):i;break}default:n("abort",400);return}let o=503;F(t+s).then(i=>{let c=i.status;if(c!==200){setTimeout(()=>{n($e(c)?"abort":"next",c)});return}return o=501,i.json()}).then(i=>{if(typeof i!="object"||i===null){setTimeout(()=>{i===404?n("abort",i):n("next",o)});return}setTimeout(()=>{n("success",i)})}).catch(()=>{n("next",o)})},Qe={prepare:De,send:Be};function Ue(t,e,n){v(n||"",e).loadIcons=t}function Ve(t,e,n){v(n||"",e).loadIcon=t}var K="data-style",Ht="";function ze(t){Ht=t}function It(t,e){let n=Array.from(t.childNodes).find(s=>s.hasAttribute&&s.hasAttribute(K));n||(n=document.createElement("style"),n.setAttribute(K,K),t.appendChild(n)),n.textContent=":host{display:inline-block;vertical-align:"+(e?"-0.125em":"0")+"}span,svg{display:block;margin:auto}"+Ht}function Bt(){pt("",Qe),Pt(!0);let t;try{t=window}catch{}if(t){if(t.IconifyPreload!==void 0){let n=t.IconifyPreload,s="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!ht(o))&&console.error(s)}catch{console.error(s)}})}if(t.IconifyProviders!==void 0){let n=t.IconifyProviders;if(typeof n=="object"&&n!==null)for(let s in n){let o="IconifyProviders["+s+"] is invalid.";try{let i=n[s];if(typeof i!="object"||!i||i.resources===void 0)continue;gt(s,i)||console.error(o)}catch{console.error(o)}}}}return{iconLoaded:ue,getIcon:de,listIcons:le,addIcon:Nt,addCollection:ht,calculateSize:tt,buildIcon:$t,iconToHTML:it,svgToURL:Dt,loadIcons:st,loadIcon:Se,addAPIProvider:gt,setCustomIconLoader:Ve,setCustomIconsLoader:Ue,appendCustomStyle:ze,_api:{getAPIConfig:D,setAPIModule:pt,sendAPIQuery:qt,setFetch:Me,getFetch:qe,listAPIProviders:ve}}}var et={"background-color":"currentColor"},Qt={"background-color":"transparent"},xt={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},wt={"-webkit-mask":et,mask:et,background:Qt};for(let t in wt){let e=wt[t];for(let n in xt)e[t+"-"+n]=xt[n]}function At(t){return t?t+(t.match(/^[-0-9.]+$/)?"px":""):"inherit"}function Ge(t,e,n){let s=document.createElement("span"),o=t.body;o.indexOf("");let i=t.attributes,c=it(o,{...i,width:e.width+"",height:e.height+""}),r=Dt(c),a=s.style,l={"--svg":r,width:At(i.width),height:At(i.height),...n?et:Qt};for(let u in l)a.setProperty(u,l[u]);return s}var L;function Je(){try{L=window.trustedTypes.createPolicy("iconify",{createHTML:t=>t})}catch{L=null}}function Ye(t){return L===void 0&&Je(),L?L.createHTML(t):t}function Ke(t){let e=document.createElement("span"),n=t.attributes,s="";n.width||(s="width: inherit;"),n.height||(s+="height: inherit;"),s&&(n.style=s);let o=it(t.body,n);return e.innerHTML=Ye(o),e.firstChild}function nt(t){return Array.from(t.childNodes).find(e=>{let n=e.tagName&&e.tagName.toUpperCase();return n==="SPAN"||n==="SVG"})}function St(t,e){let n=e.icon.data,s=e.customisations,o=$t(n,s);s.preserveAspectRatio&&(o.attributes.preserveAspectRatio=s.preserveAspectRatio);let i=e.renderedMode,c;switch(i){case"svg":c=Ke(o);break;default:c=Ge(o,{...O,...n},i==="mask")}let r=nt(t);r?c.tagName==="SPAN"&&r.tagName===c.tagName?r.setAttribute("style",c.getAttribute("style")):t.replaceChild(c,r):t.appendChild(c)}function kt(t,e,n){let s=n&&(n.rendered?n:n.lastRender);return{rendered:!1,inline:e,icon:t,lastRender:s}}function We(t="iconify-icon"){let e,n;try{e=window.customElements,n=window.HTMLElement}catch{return}if(!e||!n)return;let s=e.get(t);if(s)return s;let o=["icon","mode","inline","noobserver","width","height","rotate","flip"],i=class extends n{_shadowRoot;_initialised=!1;_state;_checkQueued=!1;_connected=!1;_observer=null;_visible=!0;constructor(){super();let r=this._shadowRoot=this.attachShadow({mode:"open"}),a=this.hasAttribute("inline");It(r,a),this._state=kt({value:""},a),this._queueCheck()}connectedCallback(){this._connected=!0,this.startObserver()}disconnectedCallback(){this._connected=!1,this.stopObserver()}static get observedAttributes(){return o.slice(0)}attributeChangedCallback(r){switch(r){case"inline":{let a=this.hasAttribute("inline"),l=this._state;a!==l.inline&&(l.inline=a,It(this._shadowRoot,a));break}case"noobserver":{this.hasAttribute("noobserver")?this.startObserver():this.stopObserver();break}default:this._queueCheck()}}get icon(){let r=this.getAttribute("icon");if(r&&r.slice(0,1)==="{")try{return JSON.parse(r)}catch{}return r}set icon(r){typeof r=="object"&&(r=JSON.stringify(r)),this.setAttribute("icon",r)}get inline(){return this.hasAttribute("inline")}set inline(r){r?this.setAttribute("inline","true"):this.removeAttribute("inline")}get observer(){return this.hasAttribute("observer")}set observer(r){r?this.setAttribute("observer","true"):this.removeAttribute("observer")}restartAnimation(){let r=this._state;if(r.rendered){let a=this._shadowRoot;if(r.renderedMode==="svg")try{a.lastChild.setCurrentTime(0);return}catch{}St(a,r)}}get status(){let r=this._state;return r.rendered?"rendered":r.icon.data===null?"failed":"loading"}_queueCheck(){this._checkQueued||(this._checkQueued=!0,setTimeout(()=>{this._check()}))}_check(){if(!this._checkQueued)return;this._checkQueued=!1;let r=this._state,a=this.getAttribute("icon");if(a!==r.icon.value){this._iconChanged(a);return}if(!r.rendered||!this._visible)return;let l=this.getAttribute("mode"),u=dt(this);(r.attrMode!==l||ne(r.customisations,u)||!nt(this._shadowRoot))&&this._renderIcon(r.icon,u,l)}_iconChanged(r){let a=ke(r,(l,u,d)=>{let f=this._state;if(f.rendered||this.getAttribute("icon")!==l)return;let p={value:l,name:u,data:d};p.data?this._gotIconData(p):f.icon=p});a.data?this._gotIconData(a):this._state=kt(a,this._state.inline,this._state)}_forceRender(){if(!this._visible){let r=nt(this._shadowRoot);r&&this._shadowRoot.removeChild(r);return}this._queueCheck()}_gotIconData(r){this._checkQueued=!1,this._renderIcon(r,dt(this),this.getAttribute("mode"))}_renderIcon(r,a,l){let u=Ce(r.data.body,l),d=this._state.inline;St(this._shadowRoot,this._state={rendered:!0,icon:r,inline:d,customisations:a,attrMode:l,renderedMode:u})}startObserver(){if(!this._observer&&!this.hasAttribute("noobserver"))try{this._observer=new IntersectionObserver(r=>{let a=r.some(l=>l.isIntersecting);a!==this._visible&&(this._visible=a,this._forceRender())}),this._observer.observe(this)}catch{if(this._observer){try{this._observer.disconnect()}catch{}this._observer=null}}}stopObserver(){this._observer&&(this._observer.disconnect(),this._observer=null,this._visible=!0,this._connected&&this._forceRender())}};o.forEach(r=>{r in i.prototype||Object.defineProperty(i.prototype,r,{get:function(){return this.getAttribute(r)},set:function(a){a!==null?this.setAttribute(r,a):this.removeAttribute(r)}})});let c=Bt();for(let r in c)i[r]=i.prototype[r]=c[r];return e.define(t,i),i}var Xe=We()||Bt(),{iconLoaded:hn,getIcon:pn,listIcons:gn,addIcon:mn,addCollection:bn,calculateSize:yn,buildIcon:vn,iconToHTML:In,svgToURL:xn,loadIcons:wn,loadIcon:An,setCustomIconLoader:Sn,setCustomIconsLoader:kn,addAPIProvider:Cn,_api:_n}=Xe;function Ze(t){let e=t.getAttribute("aria-controls"),n=document.getElementById(e);n&&(n.addEventListener("click",s=>{s.stopPropagation()}),t.addEventListener("click",s=>{s.stopPropagation();let o=Vt(),i=o.indexOf(e);n.getAttribute("aria-hidden")==="false"?(o.splice(i,1),document.body.setAttribute("data-expanded",o.join(" ")),n.setAttribute("aria-hidden","true"),rt(e,"false")):(o.push(e),document.body.setAttribute("data-expanded",o.join(" ")),n.setAttribute("aria-hidden","false"),rt(e,"true"))}))}function rt(t,e){let n=document.querySelectorAll('[aria-controls="'+t+'"]');for(let s=0;s{let t=Vt();document.body.setAttribute("data-expanded",""),t.forEach(e=>{document.getElementById(e).setAttribute("aria-hidden","true"),rt(e,"false")})});var H=document.querySelector(".announcement"),tn=document.querySelector(".announcement-close");if(H){let e=function(){t.textContent=`:root{--sy-s-banner-height:${H.clientHeight}px}`};en=e;let t=document.createElement("style");document.head.appendChild(t),tn.addEventListener("click",()=>{H.parentNode.removeChild(H),document.head.removeChild(t)}),e(),window.addEventListener("resize",e)}var en;var B=["auto","light","dark"],Q=document.querySelector(".js-theme");function nn(){let t=zt();t+=1,B[t]||(t=0);let e=B[t];setColorMode(e),localStorage._theme=e,Gt(e)}function zt(){return B.indexOf(document.documentElement.getAttribute("data-color-mode")||"auto")}function Gt(t){let e=Q.getAttribute("data-aria-"+t);Q.setAttribute("aria-label",e)}Q&&(Q.addEventListener("click",nn),Gt(B[zt()]||"auto"));function on(){let t=document.querySelector(".globaltoc");if(!t)return;let e=parseInt(t.getAttribute("data-expand-depth"),10),n=o=>{if(!e)return!1;let i=0;for(;o.parentNode&&o.parentNode!==t;)o=o.parentNode,o.nodeName==="UL"&&(i+=1);return e>=i};t.querySelectorAll("li > ul").forEach(o=>{let i=o.parentNode;i.classList.contains("current")||n(i)?i.classList.add("_expand"):i.classList.add("_collapse");let c=sn(o);i.appendChild(c)})}function sn(t){let e=document.createElement("button");e.innerHTML='';let n=t.parentNode,s=t.previousSibling,o=s.textContent,i=()=>{n.classList.contains("_expand")?e.setAttribute("aria-label","Collapse "+o):e.setAttribute("aria-label","Expand "+o)};i();let c=r=>{r.preventDefault(),n.classList.contains("_expand")?(n.classList.remove("_expand"),n.classList.add("_collapse")):(n.classList.remove("_collapse"),n.classList.add("_expand")),i()};return s.getAttribute("href")==="#"&&s.addEventListener("click",c),e.addEventListener("click",c),e}var ct=document.querySelector(".globaltoc a.current");ct&&ct.scrollIntoViewIfNeeded&&ct.scrollIntoViewIfNeeded();on();var Jt=0,at=200,U=document.querySelectorAll(".yue > section section[id]"),S=document.querySelector(".back-to-top");function Yt(){let t=document.querySelector(".yue > section");t&&(at=t.computedStyleMap().get("scroll-margin-top").value)}function rn(t){let e=t.getBoundingClientRect();return e.top<=at&&e.bottom>=at}function Kt(t){document.querySelectorAll(".localtoc li.active").forEach(e=>{e.classList.remove("active")}),document.querySelector(`.localtoc a[href="#${t}"]`).parentNode.classList.add("active")}function Wt(){let t;for(let e=0;e=document.body.offsetHeight){let t=U[U.length-1];t&&Kt(t.id)}else Wt();S&&(window.scrollY&&window.scrollY{window.scrollTo(0,0)});document.querySelector(".localtoc")&&(window.addEventListener("scroll",cn),window.addEventListener("DOMContentLoaded",()=>{Yt(),Wt()}),window.addEventListener("resize",Yt));var V=document.querySelector(".js-repo-stats");async function an(t,e){let n=`https://api.github.com/repos/${t}/${e}`,o=await(await fetch(n)).json(),i={stars:o.watchers,forks:o.forks};lt(i),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(i))}async function ln(t,e){let n="https://gitlab.com/api/v4/projects/"+encodeURIComponent(t+"/"+e),o=await(await fetch(n)).json(),i={stars:o.star_count,forks:o.forks_count};lt(i),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(i))}function lt({stars:t,forks:e}){t&&(document.querySelector(".js-repo-stars").textContent=t),e&&(document.querySelector(".js-repo-forks").textContent=e)}function un(){let t=sessionStorage.getItem("_sy/repo/stats");if(t)lt(JSON.parse(t));else{let e=V.getAttribute("data-user"),n=V.getAttribute("data-repo"),s=V.getAttribute("data-type");s==="github"?an(e,n):s==="gitlab"&&ln(e,n)}}V&&un();function dn(t,e){let n=document.createElement("script");n.id="_carbonads_js",n.src=`//cdn.carbonads.com/carbon.js?serve=${t}&placement=${e}`;let s=document.querySelector(".yue > section"),o=document.querySelector(".yue > section > section");if(o)s.insertBefore(n,o);else{let i=document.querySelector(".yue > section > p");i?s.insertBefore(n,i.nextSibling):s.appendChild(n)}}var ut=document.querySelector(".js-carbon");if(ut){let t=ut.getAttribute("data-carbon-code"),e=ut.getAttribute("data-carbon-placement");t&&e&&dn(t,e)}var fn=` +:host > div .results .hit h2 { + color: var(--sy-c-heading); + margin-bottom: 0; + border-bottom: 0; + font-weight: 600; +} +:host > div .results .hit .hit-block .content { + color: var(--sy-c-text); +} +:host > div .results .hit-block a.hit:hover, :host > div .results .hit-block .hit.active { + background-color: var(--gray-5); + border-radius: 4px; +} + +:host > div div.hit-block a.hit-block-heading:hover { + text-decoration: underline; +} + +:host > div div.hit-block a.hit-block-heading i, +:host > div div.hit-block .hit-block-heading-container .close-icon { + color: var(--sy-c-light); + margin-bottom: 0; + display: flex; +} +`;document.addEventListener("readthedocs-addons-data-ready",function(t){document.querySelector(".searchbox input").addEventListener("focusin",()=>{let e=new CustomEvent("readthedocs-search-show");document.dispatchEvent(e)}),setTimeout(()=>{let e=document.querySelector("readthedocs-search");if(e){let n=document.createElement("style");n.textContent=fn,e.shadowRoot.appendChild(n)}},1e3)});/windows/i.test(navigator.userAgent)&&document.body.classList.add("win");})(); +/*! Bundled license information: + +iconify-icon/dist/iconify-icon.mjs: + (** + * (c) Iconify + * + * For the full copyright and license information, please view the license.txt + * files at https://github.com/iconify/iconify + * + * Licensed under MIT. + * + * @license MIT + * @version 3.0.0 + *) +*/ diff --git a/docs/outputdir/html/_static/sphinx_highlight.js b/docs/outputdir/html/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/docs/outputdir/html/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/docs/outputdir/html/genindex.html b/docs/outputdir/html/genindex.html new file mode 100644 index 0000000..f5b1e67 --- /dev/null +++ b/docs/outputdir/html/genindex.html @@ -0,0 +1,86 @@ + + + + + Index - PyAwaitable documentation + + + + + + + +
+
+
+ + + + PyAwaitable + +
+ +
+
+
+
+
+
+
+
+ + +

Index

+ +
+ +
+ + +
+ +
+
+ + + + + \ No newline at end of file diff --git a/docs/outputdir/html/index.html b/docs/outputdir/html/index.html new file mode 100644 index 0000000..6f431b0 --- /dev/null +++ b/docs/outputdir/html/index.html @@ -0,0 +1,135 @@ + + + + + PyAwaitable documentation + + + + + + + + + +
+
+
+ + + + PyAwaitable + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+

PyAwaitable documentation¶

+

Add your content using reStructuredText syntax. See the +reStructuredText +documentation for details.

+
+
+
+ +
+
+
+
+ + + + + + \ No newline at end of file diff --git a/docs/outputdir/html/objects.inv b/docs/outputdir/html/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..efdd6f9e933601bd00a9bb6a61d22fb4dd92ddb1 GIT binary patch literal 248 zcmY#Z2rkIT%&Sny%qvUHE6FdaR47X=D$dN$Q!wIERtPA{&q_@$u~G=AbSzKIEJ;kt zNd*drL6lf20NEiKsR~7@xrv#1DXB#Y`DqFz8JWcjX_+~x3P3tJKewPLwYWGnMWM7f zGcR4CDkn2ZkE`OAxBuDGXS_Yv259JcZan4b<8?Ohf@z3Hd)KSfDNmkhR5ZLm6kX|U3k=d07a)_-2eap literal 0 HcmV?d00001 diff --git a/docs/outputdir/html/search.html b/docs/outputdir/html/search.html new file mode 100644 index 0000000..3398875 --- /dev/null +++ b/docs/outputdir/html/search.html @@ -0,0 +1,110 @@ + + + + + Search - PyAwaitable documentation + + + + + + + + + + + +
+
+
+ + + + PyAwaitable + +
+ +
+
+
+
+
+
+
+
+ +

Search

+ + + + +

+ Searching for multiple words only shows matches that contain + all words. +

+ + +
+ + +
+

+ + +
+ + +
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/outputdir/html/searchindex.js b/docs/outputdir/html/searchindex.js new file mode 100644 index 0000000..c292952 --- /dev/null +++ b/docs/outputdir/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"alltitles":{"PyAwaitable documentation":[[0,null]]},"docnames":["index"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"add":0,"content":0,"detail":0,"restructuredtext":0,"see":0,"syntax":0,"us":0,"your":0},"titles":["PyAwaitable documentation"],"titleterms":{"document":0,"pyawait":0}}) \ No newline at end of file diff --git a/docs/value_storage.md b/docs/value_storage.rst similarity index 100% rename from docs/value_storage.md rename to docs/value_storage.rst diff --git a/netlify.toml b/netlify.toml index 035f568..2c65f8f 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,3 +1,3 @@ [build] -command = "mkdocs build" -publish = "site" \ No newline at end of file +command = "sphinx-build -M html ./docs ./site" +publish = "site/html" diff --git a/requirements.txt b/requirements.txt index 38d94eb..bc11b7b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ # Requirements for Netlify -mkdocs~=1.6 -pymdown-extensions~=10.15 +sphinx~=8.2 +shibuya~=2025.8 diff --git a/site/doctrees/environment.pickle b/site/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..101eaa677bcd7c4b6bd45645e7aa30bde6ba2ed2 GIT binary patch literal 13465 zcmbtbd3YVyRktN;-(`7EVr6k6JCT&wNhqZ)cDyB#t+=t%q)nX3ym=$t8O@t{p2d=! z8rnaSNa2#SWXfJ3Kq>pykFpd>C@o7_3bd4^tltOUM@wm;P+CeU{LZ<{nhip zcDl`GIWGsCdgA4&@7II0loNW9A`hY&r|IS*3Tmb7bIq^m9L* zt@{`KC~3|%SKVbd$lY4x&t^gH&+1jP@`>{PQua7m>d_ZOpS}k3(KQHJ!{r*bs$61iXS$Q5ikKA~%a2NejcKC5A2cpDtBj3SZxW7lW zv(l9#SyH5)@A$Eo)Popb?JM$y=~qo>w1dGIB+4AM4}7PmnI@s{fyM)8R*#som$KU} za*=?PgJ+09lXnGv+HgxbrpG&8(p*i0MS+>)2X8%i$1RiX1N&M7#7(m2qMy=XO1TMC zO#R4rGrtrEWLKWl-Bp767;+XGIkvSE+-5f+rd#5Q$NcbFLJZY&&qY#-*7V= zmzb%PT|r#;SLoIhMYCdIAy@&|$t^Q!Mr?`Md0Kcmwpyo8mzf;(SG=gG`^0rviLY-; zc008K9E`g-CyGWbo2i2x`(}=v1xF^SU;1)1h_9F@I}RMcjSklR1-FQDCru)sh~w7l zI9}}0sqmc?G9r9Bz?vMTzD80nz#K#`!j0#N=Oi_{W^hHG28`W%CDzFV2&WdzzytN9 z;Rd*~t1+kHEP(8BlKW2TFZlQ-cr0tWo)5AO@LN)l7%gArJ&z0UN<{o( z?-Y!n4+gesbtg@ASs?Rp?l+paJU?R@CPCfolRBN2+ zL#hJ&;4DNgKD-7ZfNE~K3T9Gd>}alnXOsX|#2W`4Y`Ad~(w#X)8e#d~ILMoUx3o&M z)UXpQ#>6Vv%S1a07qSRGMMrmBG)U2`%dHA>GT#H_)cq#3-rQz6r11+0#5rdT+JiAf za-8w3f+qLT?JE()Eu9D!XBgGRiV@oA94Saf^+U<{(>17{CCon+WI4!AJ%zlw;jRP? zd>o1=c1cE@D2VaLj~B6-c{zd|2nQRgLE<2^bXkn@FM#aeH{K$2yBSAETWd8lzgf!7 zGx%;EWezkXSCgUh!ZGNXiE5V? z>Wm52XEYC~-YMA;LN9h*63)?i^?U9?$a60XJhUE<>BI#?ZLp5;K^n#64%l0`S&%_n zMA)!MqB_lhK>5w0Mn__$dGc_twvPRbhqRL>+(Heoatr5FglB}&K^^A~7NEUxkwv@| zC(GE#0QY4cuOpt3z1%K>dWnYmhL_;$<$m2-M4yk=Fb{-OutH|jqrTHji1VSO88lB!d^qfYXx*QA;);+ zavBh`leWcr{jiq7C5&?;YS8)hHT7fyQ&+(xBQ3O5XyX-J<@VGHMtk=0ASjyzEIi1K z1@~frZJ|BH?XW`YQO0CB%${dI1mA@bq&B%9Dkybr_cq4C5av$NtV8F*#IPyeb!7)p zt;jtPUVS?QbJScgE>xLX2UZBgNn$s`2k4H_vy~T8%8-a2cr1cyGfi?Ya5GCJl@mO& zg>v|$vf~5qh5qEetQiHlzPWXcBZtFLrrNH-H?MHCIPlxme75L>a){dD;v!dROQEA{O zbx#^!VM+A~vwIJ=2*Pl{5R}}}x)wi8YITMhJUy~%7IR%w9b^>(%3#Fsu7fa50^U{d_iVHfHtM z!-r=5?2cJbbGp%prajsT216#zVwIB)8=O`atmPk>g75vveyDakr5=C};k~N9FHN@GA_;c&qx(hz|^koO!m$-~)pzNIS2~anpvgm1w7OP42eXmfYoT z3M{MR9j2Sb+ql5w-S0Z_z^PM{^G8k}pM1^n(?{+(b@<4!WA`6Fd-ipZe;fbUqr=0U@UE-L4)sbZItbcy_zxvnbKjXl^#Qb#*m%W7ohkR6X+ z3)3|DQbWicWbb&tys9-O1f{AQBc zH8RJ|5K$yc2(@A3z{)BzVi#gv?j}UTU4kW0tVm%vpaj|+5(+5@;)TR%XYx^lZeuco zyn=tnOizV_drbre*)-j80^dG&g9yw};Oje0hnFUBzig;RhA1KiU^i=3xbd|gMvdbQsclilbdft@X+ekPWWgGvsBYjeB~Rd-$2Bv@jF^$RkFcoNZ7ho zR|D6AqcmFa^7d9I&x1p!JfM-;B1>m$K|Cu0N_m#D@(Bvi=}z_7F+0|DAamAQ7{sL5 zp2QHzE21N0j6*E)n3#<1J}~>Gj3;esJWTk;7hu>xbWTEXnh1`Z#_7PQD@K5D5e`Ka zUA2%Z+H4CWdn^4@;yQ7?>_n!xe6kcbh<#zSdDA9h4xGMDREPnDExkLzzn&$ z1>VvEr{_)oZn4LJSBa|)I3s2ac7!*)AI)(q}03mvu4F>%~E_nLuo;*~6u9}sUai#}*~`H+R)Xa~MYJZxrPJ1-7^RF8=B{QIaK?W{B6G2!xW zO?doUw_EV%Hk(Bj#G(P4c7Y3aWNLAl-9j!3Gv%U1F57`C7FxBvm&D^{%A3Vy13qOw zqq7ne+Hg`@T+bU`vxyqf8QpaF^72jegl1rg`N|oLB2zLs|G^> zsR;x8;ibMqe5V=nU2~lV{BBFKceZ%zdkme#_s(rHBfn2PUpWZb44ru4)qg;5^au6t zyTlJM{@vn-4WIpp_)!D?nD}uGnp6uDRqn35VN6aMA6dmxW`d2j+25nPcqP-sPgu$L zNelgyg}zOEyV=`Mi=Q#z&x-dL@aM#P4fykR)-S9Z+%Jk>GT{5fFB|Yz)(rH13;n8i z!63iiB7e;;^Z|?ebqjq^e8^1s4d^*V$nRwoe`*SOhpRnip3-Onx`>(`b8}M($ z-x~1m#NQk6AI!&Xq<+xG-Db=u%^2~iwQyCLhkvxtr`HYcpDcfWMts(=@;{4zG5wzt z|EfVbsDsED&M26ww^_$a0Ni9`J|O8Ms@L!&dBIcSkQ}MJIL^@E4exO6&u`-Md8u^d zzbjq(1@T2D>3^^WH6J12LJU$zIKsVOQiK0dKf@ExYr zNv$oqCH_r(p2zeMw%3g5qgKCe$zgj&eo;dh%~J+w(4d(zM6F@d8ll#xX^l~9+_bh* zYr?d)0hrs&3vMUy8U}X|*u~&ZfPBJm7oc!A{xJS30Q(ub8juYS8FLLVOoni;fn*rAPYcaF+9UfjqU zZJ&j`*cTq{*tALRy)X7DO78jy+#(+*h4*raI^Km0@yQ%hT3zh4vq0pY4G=8Q#y!`M7U1&Y}^Xqdyw)0Kspl zARYufuY0SZ4MGucMIA5H?R-03nx!79%naXHZM+GMbu;YYN>4SU%8->)fjazUwL3gP z+lY%pZa6!(Z=}_y{2)166{ouqF_^8%J*}}OR6*=U&sj(-*wa=bH9JbZz@9fNg^ytO z;d%O_3HT_%P6hE8U~^bGiinV7mx_N!Z`F*%?clZA#6oriJ$c*G5lFJqd@hzXh9<04 z8gfL(Jaz$by*5puR~Z-9(FlF|qs(@=K=5Jfq_WEVzypCts%~o=MkQ4!1K*7d zDxT%bd2yW_*2O4RZ}gnewIH?}rQ4Rfh+!&#LG*Ix6A0MwtVhq`>S4vieBw^oi<7IW zgJ+Ss(e)E=lcOAaB9x?9h#4L^#$k$GQI<1f5;J{gk}Oy`11y#2^s#rybr$sH@STta zR9Bc4XfY0cFRQNbUDRLH#Qw|p@~A$VN~>ivUOCq(cWy)q)YPDC0$I$>a>vF_6ajGx z9(|@H$*zWqqq#m?WMt6FoyGWF8`f%NUT7OzH}p2>z;hjP+XlSKZj^IduJ}IHo?ybp zZDo0#(A{dCa_&eWCv?_A<$92D=OZCU*@nlP5$X!oWiMz!FPiF=dzfDskh#+}5V8Y_ z6FJ0huDCK+)fR1`s2^!-ACLG*5mL1W!V}PRU2gL*Y6)-LNH#f0AW{tmvVUuGu!#x{ zVtmer(9@WDzX3YaX&`!2m?a*;$Vv_qDTH*vtIWO8%*BhPi`0>a{PRrU=L@_5xNVk1 zl~$s8Z7U52aobaxn3Thqz-q}^q2dFaVVp9&V5@fQn92KQezZVYvn34e7cNS4_=$oN z;M+M(65s_fC8FcWj`AvX9Di%Ius~@@@&?(gh)!_=8D|sx!EMFcve<(H8!B6HOx;2u zdy&y5S)jXO*?79=?z`iMF2ANbqk18FUcnLgisPF1?~>T;xd8GaO!6@DClxCCwpZ*r7Pb)#i>H7lRRONm3JD)jnCE3QTLO)`Z;<{#i@5ytqyj_Zz)RPpD3xYP_s51OCCT2BP_E$34 zq+>b*q^FU}?lIM4fV-6P1JsM^g;s;Iru@`&9(6H2xr-Dv3OK?~Vd1AKeajmSwz_bbIt{Q;JHC9v-Y8~7fE+rSJMGL zbyZc1>^n+j1#kmijW?9VD5*hvb&H@5jR9y#uVN9s>WK%s3k5a(icOO^qPMPo$XjIt z)HGiSj}vty*$2Oz8-`ipl8aK#ypp=v*_QQJhrNwf`@dXQACZ=CTwRy{RnS@A_^@4K z;QzA=lJpU91691)I!vv-=Qd|@nEEP@Y?ooR2!#>?bpxav)M||LRD8-; zPrgx#2P7&u#f%}kV&GUev&J4XH`<2nSB?y8WKwXOJIQk8axjUeEZ3=%y){p)q_zL#9Rk24M=>iT67IQ{hFNMDE_;>7mn7F$0y!1nANy zfrDkLg`{FN8N?xdy724KtJxGhR-oRI4mB07F<$nlYU39Dwy;NA88L(!M+Zd)e6x0( zc(^qrd^fM9=-)~HZL3cs$-4zo4j^1vY}M+RU35oo&BsF(4e3R#r*g)__hDUl0;cX> z$D`nzbFI2?L_I63NsIl`}+{GTcut>uu* zKphoS1T+I`+bxI6A%j<$Oz;rLLo^Z>kLr4IFo!%8EKwY+6yLlYgL0>$dwTDrXdFe+ z=aKr=#SWE$BmAJBP+hoETl+Bz@BZz}@w5MnEXZXC%0F#=d)WLh0j0(f;vWWQlISDt zeh=*yiVlSZnc5@mf1EsdiVd;Vlqx<^5q?rt8pGN?iQ5~13ZvXPReR8tOn|IZ5vdCz ztj{WUw0F>z^Tuh?w)VaT@;dk^_3UZy;pI@tVEcEr_fyQ%`s9YmEb$e)inye0uQe$z9%M(UD^*n1@)R5p!2kE-;9|uwWoJ!bA`m1_D?a_D=V1H`qHp z?hCmKBS7+CKn(gJfG0nYUx)$!Mm{1RlG8mG?yfAs56(*nEHGVDQ(awk>QpuV()q`) z_gCVd-=QjVR!Gy&6=kOM8$mE(xh=mc-~DU(=km~ZHMum(>5P?r1sWL_l4_Qh&&xx; z;@2}ZS@?i={J(!cdwNNPB}2)Q#v-vo<;jE?%XBgllD(H?ni0!rGMx2H!9_kj`rL`^ z+*qP*0_A7KCQscsdHjpy@#Ev4zJL7aN%G{;lb`o{e^f5XNS+W%3Y%CiOf;FmnL;wl zKQD3ETc5CL2+jZD3BN2uy8T)~kXu{wO*16EN37KXkpngY7FGo{$UBlQi7^o3 zxs#Jg^|V1|C=^)agzq^4Jt4U}&Sz%rJeyO6S)t8HX=Q-sJ~;)pyedEhScK z4ea^@t|n|yAhCKt*#(oT7!)(oU~GV|%s}LnP5au|(%+IIXXQ!94Ff_=$fC+yNb?R~ z3kePI?O0(Yn|tNodL?)(6zsiDql)4o4)ch=!&mu(Q+{~rhJ?R~@bS9<(GT&vhu@Fz zOP-gG|Cslo{*y|bKjeoe>(T8lGC{_g6nx&he?6tN!gT;HGL<+3cqeCPnmx1HW!7m% z15D4(5;Fs~r~Tv^V*%g2mvoX}a%&57JQ!SFUiRx6L@@hGj|VItRMk3ghK$(&X=^vI z*q{zLw-fonS=wtdSJnAQ>4Y*=7PuwG?U3*JAH2f(@;YoE&W9}|PYNWR$oUxD`L@G0 z$=O?u!<_No%^QDxPJV-&e26^k`Tdu|IA?L$-7XN%P(T2BL!jWp&;FNz|1Jmr(|0?# zzZHwozZ^rqhJ!gRO8=|x2Qd-&pVdKL@oS*`F}vI0+-ULg_UkI)6+maN<%bXWgUAbkBO^~le%J`TPPv@UA+6#y zzgtyupHN!&_4T@`y`=lfjroD^L`DVMgJ!g-IDSjynRJwe1|F$>V?w5s6_%GLH_;c+ zjsw;D?nf0pnPaf=SgK)p<=42N6obQ+->$8+f{olwhA13Fa>e%|CmWT^8FYJ?Kjs_= z%Vrn;&yb0~*WuYgc>FTg`rZ2EN0*?|f@vgsiGKgqgtf8*y1q__e`~JI94%1X9BSs3 z7Uvx(%@O^(*lBf<=&!eGFxY(1wm<&R-?5tHMn-B)3$4b0aMh7JR#~uPj9RS|gXltJ zZup(d>Cn&9x|N>#tws`C6kr=dEiqb9WvdpnO{@R7S5KZ zynpJuW0r%Rt{Uamrd~fk(%CuHG=prYV?!VGPT&Ko_Te4MWNZXGAyzZP38i{0?zerPm^VQvhq*)J=-C#Ur8`1p;%9 z&WQ{LccUa$LrDF#s4&b?m153>)*hP{%CL0)%LtLorWeA93a`5<6((F!aFE)|^`=fx zb6Yr!L1o0EgVF6;Ep4gq&G3XxFwF+iLt=t8ihOT^q}t`l4Zk0X4Y0|_K%o>9Vat#A z9{Qbv6=~Z=!eO?8WJut9s0)9$X|@oXelfFL<#9GE{Xx)-4nQ-t4EG+CUl^}harDlk zpCO(*dXz1h50Y#14;u5RToUkl&U9ZeJBoXN4F+MjL+y5Pl|u>9!15dZJ^(pM+sbSY zkX94^mEWrd&yE{k5Z4jt8;<{RD)%#v={G~-t71cx zV+ir}xhv2W!p$|diJAk@Qy>xf2pFhI;dWpN;3vh0j$bVMQB%kmE{*Dnup)0s06hOB%+1JTVz@d zII(5!!zm!kf@^^q^wL1({`P{jx<^3_Yom4%rm%1YgM2**tLH=h4gZ>d!Kco5gVfFn zxEU@S-(2x8UO0X?Jb#VZVam1h+w+-=wzf0e)uS`8Ur9oNHhPuQ^OAt7C`G0xLnT`< zMB$w!VXNI;u-I*OjUU}!upj>gfT_wKEZeHzU`haeWSD<|5j2-fNr`kLpy(d!AJy`& z5QQ(xKcEzFnL<(Fq8hF;)rKvLEQmK-aZKQ5J*faN<8a&U(Li)HCxlk+hW-Bn;10jP literal 0 HcmV?d00001 diff --git a/site/html/.buildinfo b/site/html/.buildinfo new file mode 100644 index 0000000..6207aee --- /dev/null +++ b/site/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 0ce5f42dd35062342027f693d4c571e0 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/site/html/_sources/index.rst.txt b/site/html/_sources/index.rst.txt new file mode 100644 index 0000000..615c52d --- /dev/null +++ b/site/html/_sources/index.rst.txt @@ -0,0 +1,17 @@ +.. PyAwaitable documentation master file, created by + sphinx-quickstart on Sat Aug 16 11:38:02 2025. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +PyAwaitable documentation +========================= + +Add your content using ``reStructuredText`` syntax. See the +`reStructuredText `_ +documentation for details. + + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + diff --git a/site/html/_static/basic.css b/site/html/_static/basic.css new file mode 100644 index 0000000..4738b2e --- /dev/null +++ b/site/html/_static/basic.css @@ -0,0 +1,906 @@ +/* + * Sphinx stylesheet -- basic theme. + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin-top: 10px; +} + +ul.search li { + padding: 5px 0; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/site/html/_static/doctools.js b/site/html/_static/doctools.js new file mode 100644 index 0000000..0398ebb --- /dev/null +++ b/site/html/_static/doctools.js @@ -0,0 +1,149 @@ +/* + * Base JavaScript utilities for all Sphinx HTML documentation. + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/site/html/_static/documentation_options.js b/site/html/_static/documentation_options.js new file mode 100644 index 0000000..7e4c114 --- /dev/null +++ b/site/html/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/site/html/_static/file.png b/site/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/site/html/_static/language_data.js b/site/html/_static/language_data.js new file mode 100644 index 0000000..c7fe6c6 --- /dev/null +++ b/site/html/_static/language_data.js @@ -0,0 +1,192 @@ +/* + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, if available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/site/html/_static/minus.png b/site/html/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/site/html/_static/plus.png b/site/html/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/site/html/_static/print.css b/site/html/_static/print.css new file mode 100644 index 0000000..bd88769 --- /dev/null +++ b/site/html/_static/print.css @@ -0,0 +1,42 @@ +.sy-head { + position: static; + border-bottom: 1px solid var(--sy-c-divider); +} + +.sy-head-inner { + padding: 0; +} + +.sy-breadcrumbs { + display: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +.code-block-caption, +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; + + -webkit-print-color-adjust: exact; +} + +.yue a.headerlink { + display: none; +} + +.highlight .linenos { + box-shadow: none; +} + +.admonition, +.sd-sphinx-override { + -webkit-print-color-adjust: exact; +} + +.sd-card { + page-break-inside: avoid; +} diff --git a/site/html/_static/pygments.css b/site/html/_static/pygments.css new file mode 100644 index 0000000..449a846 --- /dev/null +++ b/site/html/_static/pygments.css @@ -0,0 +1 @@ +:root{--syntax-pre-bg: var(--accent-a2);--syntax-cap-bg: var(--accent-a3);--syntax-highlight-bg: var(--accent-a3);--syntax-linenos-divider: var(--gray-a6);--syntax-light-text: #24292f;--syntax-light-meta: #807c87;--syntax-light-comment: #6e7781;--syntax-light-constant: #0550ae;--syntax-light-entity: #268bd2;--syntax-light-property: #8250df;--syntax-light-definition: #24292f;--syntax-light-tag: #085;--syntax-light-builtin: #b58900;--syntax-light-keyword: #cf222e;--syntax-light-exception: #e6212e;--syntax-light-string: #0a3069;--syntax-light-regexp: #e40;--syntax-light-variable: #a4480f;--syntax-light-invalid-illegal-text: #f6f8fa;--syntax-light-invalid-illegal-bg: #82071e;--syntax-light-markup-heading: #0550ae;--syntax-light-markup-italic: #24292f;--syntax-light-markup-bold: #24292f;--syntax-light-markup-deleted-text: #82071e;--syntax-light-markup-deleted-bg: #FFEBE9;--syntax-light-markup-inserted-text: #116329;--syntax-light-markup-inserted-bg: #dafbe1;--syntax-light-markup-changed-text: #953800;--syntax-light-markup-changed-bg: #ffd8b5;--syntax-light-markup-ignored-text: #eaeef2;--syntax-light-markup-ignored-bg: #0550ae;--syntax-light-meta-diff-range: #8250df;--syntax-light-special-bg: #dccafa;--syntax-dark-text: #c9d1d9;--syntax-dark-meta: #6e7781;--syntax-dark-comment: #8b949e;--syntax-dark-constant: #79c0ff;--syntax-dark-entity: #47b0fa;--syntax-dark-property: #d2a8ff;--syntax-dark-definition: #c9d1d9;--syntax-dark-tag: #7ee787;--syntax-dark-builtin: #ffd34c;--syntax-dark-keyword: #ff7b72;--syntax-dark-exception: #da473c;--syntax-dark-string: #a5d6ff;--syntax-dark-regexp: #ef954e;--syntax-dark-variable: #ffa657;--syntax-dark-invalid-illegal-text: #f0f6fc;--syntax-dark-invalid-illegal-bg: #8e1519;--syntax-dark-markup-heading: #1f6feb;--syntax-dark-markup-italic: #c9d1d9;--syntax-dark-markup-bold: #c9d1d9;--syntax-dark-markup-deleted-text: #ffdcd7;--syntax-dark-markup-deleted-bg: #67060c;--syntax-dark-markup-inserted-text: #aff5b4;--syntax-dark-markup-inserted-bg: #033a16;--syntax-dark-markup-changed-text: #ffdfb6;--syntax-dark-markup-changed-bg: #5a1e02;--syntax-dark-markup-ignored-text: #c9d1d9;--syntax-dark-markup-ignored-bg: #1158c7;--syntax-dark-meta-diff-range: #d2a8ff;--syntax-dark-special-bg: #4f425d}:root,html.light{--syntax-text: var(--syntax-light-text);--syntax-meta: var(--syntax-light-meta);--syntax-comment: var(--syntax-light-comment);--syntax-constant: var(--syntax-light-constant);--syntax-entity: var(--syntax-light-entity);--syntax-property: var(--syntax-light-property);--syntax-definition: var(--syntax-light-definition);--syntax-tag: var(--syntax-light-tag);--syntax-builtin: var(--syntax-light-builtin);--syntax-keyword: var(--syntax-light-keyword);--syntax-exception: var(--syntax-light-exception);--syntax-string: var(--syntax-light-string);--syntax-regexp: var(--syntax-light-regexp);--syntax-variable: var(--syntax-light-variable);--syntax-invalid-illegal-text: var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-light-markup-heading);--syntax-markup-italic: var(--syntax-light-markup-italic);--syntax-markup-bold: var(--syntax-light-markup-bold);--syntax-markup-deleted-text: var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-light-meta-diff-range);--syntax-special-bg: var(--syntax-light-special-bg)}@media (prefers-color-scheme: dark){:root{--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}}html.dark{--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}.light .dark-code{--syntax-pre-bg: var(--black-a12);--syntax-cap-bg: #1C2024;--syntax-highlight-bg: var(--white-a2);--syntax-linenos-divider: var(--white-a4);--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}html.light .sd-tab-content,html.light .jupyter_container .cell_output{--syntax-pre-bg: var(--color-surface-accent);--syntax-cap-bg: var(--accent-3);--syntax-highlight-bg: var(--accent-a3);--syntax-text: var(--syntax-light-text);--syntax-meta: var(--syntax-light-meta);--syntax-comment: var(--syntax-light-comment);--syntax-constant: var(--syntax-light-constant);--syntax-entity: var(--syntax-light-entity);--syntax-property: var(--syntax-light-property);--syntax-definition: var(--syntax-light-definition);--syntax-tag: var(--syntax-light-tag);--syntax-builtin: var(--syntax-light-builtin);--syntax-keyword: var(--syntax-light-keyword);--syntax-exception: var(--syntax-light-exception);--syntax-string: var(--syntax-light-string);--syntax-regexp: var(--syntax-light-regexp);--syntax-variable: var(--syntax-light-variable);--syntax-invalid-illegal-text: var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-light-markup-heading);--syntax-markup-italic: var(--syntax-light-markup-italic);--syntax-markup-bold: var(--syntax-light-markup-bold);--syntax-markup-deleted-text: var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-light-meta-diff-range);--syntax-highlight-bg: var(--syntax-light-highlight-bg);--syntax-special-bg: var(--syntax-light-special-bg)}.highlight{color:var(--syntax-text);background-color:transparent}.highlight .hll{display:block;background-color:var(--syntax-highlight-bg)}.highlight .c{color:var(--syntax-comment)}.highlight .err{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .g{color:var(--syntax-meta)}.highlight .k{color:var(--syntax-keyword)}.highlight .l{color:var(--syntax-meta)}.highlight .o{color:var(--syntax-constant)}.highlight .x{color:var(--syntax-meta)}.highlight .cm{color:var(--syntax-comment)}.highlight .cp{color:var(--syntax-constant)}.highlight .c1{color:var(--syntax-comment)}.highlight .cs{color:var(--syntax-comment);background-color:var(--syntax-special-bg)}.highlight .gd{color:var(--syntax-markup-deleted-text);background-color:var(--syntax-markup-deleted-bg)}.highlight .ge{color:var(--syntax-markup-italic);font-style:italic}.highlight .gr{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .gh{color:var(--syntax-markup-heading)}.highlight .gi{color:var(--syntax-markup-inserted-text);background-color:var(--syntax-markup-inserted-bg)}.highlight .go,.highlight .gp{color:var(--syntax-meta)}.highlight .gs{color:var(--syntax-markup-bold);font-weight:700}.highlight .gu{color:var(--syntax-markup-heading)}.highlight .gt{color:var(--syntax-meta)}.highlight .kc{color:var(--syntax-constant)}.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:var(--syntax-keyword)}.highlight .kt{color:var(--syntax-entity)}.highlight .ld{color:var(--syntax-meta)}.highlight .m{color:var(--syntax-constant)}.highlight .s{color:var(--syntax-string)}.highlight .il,.highlight .na{color:var(--syntax-constant)}.highlight .nb{color:var(--syntax-builtin)}.highlight .nc{color:var(--syntax-definition)}.highlight .no{color:var(--syntax-constant)}.highlight .nd,.highlight .ni{color:var(--syntax-entity)}.highlight .ne{color:var(--syntax-exception)}.highlight .nf{color:var(--syntax-definition)}.highlight .nt{color:var(--syntax-tag)}.highlight .ow{color:var(--syntax-constant)}.highlight .w{color:var(--syntax-meta)}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--syntax-constant)}.highlight .sb{color:var(--syntax-meta)}.highlight .sc{color:var(--syntax-string)}.highlight .sd{color:var(--syntax-comment)}.highlight .s2,.highlight .se{color:var(--syntax-string)}.highlight .sh{color:var(--syntax-comment)}.highlight .si,.highlight .sx{color:var(--syntax-string)}.highlight .sr{color:var(--syntax-regexp)}.highlight .s1,.highlight .ss{color:var(--syntax-string)}.highlight .bp,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--syntax-variable)} diff --git a/site/html/_static/searchtools.js b/site/html/_static/searchtools.js new file mode 100644 index 0000000..91f4be5 --- /dev/null +++ b/site/html/_static/searchtools.js @@ -0,0 +1,635 @@ +/* + * Sphinx JavaScript utilities for the full-text search. + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename, kind] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +// Global search result kind enum, used by themes to style search results. +class SearchResultKind { + static get index() { return "index"; } + static get object() { return "object"; } + static get text() { return "text"; } + static get title() { return "title"; } +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename, kind] = item; + + let listItem = document.createElement("li"); + // Add a class representing the item's type: + // can be used by a theme's CSS selector for styling + // See SearchResultKind for the class names. + listItem.classList.add(`kind-${kind}`); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms, anchor) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = Documentation.ngettext( + "Search finished, found one page matching the search query.", + "Search finished, found ${resultCount} pages matching the search query.", + resultCount, + ).replace('${resultCount}', resultCount); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename, kind]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString, anchor) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + for (const removalQuery of [".headerlink", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent) return docContent.textContent; + + console.warn( + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.setAttribute("role", "list"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + _parseQuery: (query) => { + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename, kind]. + const normalResults = []; + const nonMainIndexResults = []; + + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase().trim(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + const score = Math.round(Scorer.title * queryLower.length / title.length); + const boost = titles[file] === title ? 1 : 0; // add a boost for document titles + normalResults.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score + boost, + filenames[file], + SearchResultKind.title, + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + SearchResultKind.index, + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } + } + } + } + + // lookup as object + objectTerms.forEach((term) => + normalResults.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + SearchResultKind.object, + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + // find documents, if any, containing the query word in their text/title term indices + // use Object.hasOwnProperty to avoid mismatching against prototype properties + const arr = [ + { files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term }, + { files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, new Map()); + const fileScores = scoreMap.get(file); + fileScores.set(word, record.score); + }); + }); + + // create the mapping + files.forEach((file) => { + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w))); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + SearchResultKind.text, + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/site/html/_static/shibuya.css b/site/html/_static/shibuya.css new file mode 100644 index 0000000..0d3de08 --- /dev/null +++ b/site/html/_static/shibuya.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.order-last{order:9999}.mx-auto{margin-inline:auto}.mr-3{margin-right:calc(var(--spacing)*3)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.w-8{width:calc(var(--spacing)*8)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-6{padding-inline:calc(var(--spacing)*6)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-12{padding-top:calc(var(--spacing)*12)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}@media not all and (min-width:40rem){.max-sm\:max-w-full{max-width:100%}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:w-72{width:calc(var(--spacing)*72)}.md\:shrink-0{flex-shrink:0}}@media (min-width:80rem){.xl\:sticky{position:sticky}.xl\:top-16{top:calc(var(--spacing)*16)}.xl\:hidden{display:none}.xl\:px-12{padding-inline:calc(var(--spacing)*12)}.xl\:pl-0{padding-left:calc(var(--spacing)*0)}}@media print{.print\:hidden{display:none}.print\:pt-6{padding-top:calc(var(--spacing)*6)}}}@font-face{font-family:Twemoji Country Flags;unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;src:url(https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2)format("woff2")}::selection{color:var(--accent-a11);background-color:var(--accent-a3)}html{scroll-behavior:smooth}body{font-family:var(--sy-f-text);color:var(--sy-c-text)}.win{font-family:"Twemoji Country Flags",var(--sy-f-text)}h1,h2,h3,h4,h5{color:var(--sy-c-heading);font-family:var(--sy-f-heading)}strong,em{color:var(--sy-c-bold)}.sy-container{max-width:90rem}.sy-scrollbar{scrollbar-gutter:stable;overflow-y:auto}.sy-scrollbar::-webkit-scrollbar{width:.75rem;height:.75rem}.sy-scrollbar::-webkit-scrollbar-thumb{border-radius:10px}.sy-scrollbar::-webkit-scrollbar-track{background-color:#0000}.sy-scrollbar:hover::-webkit-scrollbar-thumb{background-color:var(--gray-a3);background-clip:content-box;border:3px solid #0000}iconify-icon{vertical-align:middle}.i-lucide{-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;vertical-align:middle;background-color:currentColor;width:1em;height:1em;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.theme-switch .theme-icon,[data-color-mode=auto] .theme-switch .theme-icon{--icon-url:var(--lucide-laptop-url)}[data-color-mode=light] .theme-switch .theme-icon{--icon-url:var(--lucide-sun-url)}[data-color-mode=dark] .theme-switch .theme-icon{--icon-url:var(--lucide-moon-url)}:root,.light,.light-theme{--tomato-1:#fffcfc;--tomato-2:#fff8f7;--tomato-3:#feebe7;--tomato-4:#ffdcd3;--tomato-5:#ffcdc2;--tomato-6:#fdbdaf;--tomato-7:#f5a898;--tomato-8:#ec8e7b;--tomato-9:#e54d2e;--tomato-10:#dd4425;--tomato-11:#d13415;--tomato-12:#5c271f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-1:color(display-p3 .998 .989 .988);--tomato-2:color(display-p3 .994 .974 .969);--tomato-3:color(display-p3 .985 .924 .909);--tomato-4:color(display-p3 .996 .868 .835);--tomato-5:color(display-p3 .98 .812 .77);--tomato-6:color(display-p3 .953 .75 .698);--tomato-7:color(display-p3 .917 .673 .611);--tomato-8:color(display-p3 .875 .575 .502);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .802 .313 .2);--tomato-11:color(display-p3 .755 .259 .152);--tomato-12:color(display-p3 .335 .165 .132)}}}.dark,.dark-theme{--tomato-1:#181111;--tomato-2:#1f1513;--tomato-3:#391714;--tomato-4:#4e1511;--tomato-5:#5e1c16;--tomato-6:#6e2920;--tomato-7:#853a2d;--tomato-8:#ac4d39;--tomato-9:#e54d2e;--tomato-10:#ec6142;--tomato-11:#ff977d;--tomato-12:#fbd3cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--tomato-1:color(display-p3 .09 .068 .067);--tomato-2:color(display-p3 .115 .084 .076);--tomato-3:color(display-p3 .205 .097 .083);--tomato-4:color(display-p3 .282 .099 .077);--tomato-5:color(display-p3 .339 .129 .101);--tomato-6:color(display-p3 .398 .179 .141);--tomato-7:color(display-p3 .487 .245 .194);--tomato-8:color(display-p3 .629 .322 .248);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .862 .415 .298);--tomato-11:color(display-p3 1 .585 .455);--tomato-12:color(display-p3 .959 .833 .802)}}}:root,.light,.light-theme{--tomato-a1:#ff000003;--tomato-a2:#ff200008;--tomato-a3:#f52b0018;--tomato-a4:#ff35002c;--tomato-a5:#ff2e003d;--tomato-a6:#f92d0050;--tomato-a7:#e7280067;--tomato-a8:#db250084;--tomato-a9:#df2600d1;--tomato-a10:#d72400da;--tomato-a11:#cd2200ea;--tomato-a12:#460900e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-a1:color(display-p3 .675 .024 .024/.012);--tomato-a2:color(display-p3 .757 .145 .02/.032);--tomato-a3:color(display-p3 .831 .184 .012/.091);--tomato-a4:color(display-p3 .976 .192 .004/.165);--tomato-a5:color(display-p3 .918 .192 .004/.232);--tomato-a6:color(display-p3 .847 .173 .004/.302);--tomato-a7:color(display-p3 .788 .165 .004/.389);--tomato-a8:color(display-p3 .749 .153 .004/.499);--tomato-a9:color(display-p3 .78 .149 0/.769);--tomato-a10:color(display-p3 .757 .141 0/.8);--tomato-a11:color(display-p3 .755 .259 .152);--tomato-a12:color(display-p3 .335 .165 .132)}}}.dark,.dark-theme{--tomato-a1:#f1121208;--tomato-a2:#ff55330f;--tomato-a3:#ff35232b;--tomato-a4:#fd201142;--tomato-a5:#fe332153;--tomato-a6:#ff4f3864;--tomato-a7:#fd644a7d;--tomato-a8:#fe6d4ea7;--tomato-a9:#fe5431e4;--tomato-a10:#ff6847eb;--tomato-a11:#ff977d;--tomato-a12:#ffd6cefb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--tomato-a1:color(display-p3 .973 .071 .071/.026);--tomato-a2:color(display-p3 .992 .376 .224/.051);--tomato-a3:color(display-p3 .996 .282 .176/.148);--tomato-a4:color(display-p3 1 .204 .118/.232);--tomato-a5:color(display-p3 1 .286 .192/.29);--tomato-a6:color(display-p3 1 .392 .278/.353);--tomato-a7:color(display-p3 1 .459 .349/.45);--tomato-a8:color(display-p3 1 .49 .369/.601);--tomato-a9:color(display-p3 1 .408 .267/.82);--tomato-a10:color(display-p3 1 .478 .341/.853);--tomato-a11:color(display-p3 1 .585 .455);--tomato-a12:color(display-p3 .959 .833 .802)}}}:root,.light,.light-theme{--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-1:color(display-p3 .998 .989 .988);--red-2:color(display-p3 .995 .971 .971);--red-3:color(display-p3 .985 .925 .925);--red-4:color(display-p3 .999 .866 .866);--red-5:color(display-p3 .984 .812 .811);--red-6:color(display-p3 .955 .751 .749);--red-7:color(display-p3 .915 .675 .672);--red-8:color(display-p3 .872 .575 .572);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .798 .294 .285);--red-11:color(display-p3 .744 .234 .222);--red-12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-1:color(display-p3 .093 .068 .067);--red-2:color(display-p3 .118 .077 .079);--red-3:color(display-p3 .211 .081 .099);--red-4:color(display-p3 .287 .079 .113);--red-5:color(display-p3 .348 .11 .142);--red-6:color(display-p3 .414 .16 .183);--red-7:color(display-p3 .508 .224 .236);--red-8:color(display-p3 .659 .298 .297);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .861 .403 .387);--red-11:color(display-p3 1 .57 .55);--red-12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-a1:color(display-p3 .675 .024 .024/.012);--red-a2:color(display-p3 .863 .024 .024/.028);--red-a3:color(display-p3 .792 .008 .008/.075);--red-a4:color(display-p3 1 .008 .008/.134);--red-a5:color(display-p3 .918 .008 .008/.189);--red-a6:color(display-p3 .831 .02 .004/.251);--red-a7:color(display-p3 .741 .016 .004/.33);--red-a8:color(display-p3 .698 .012 .004/.428);--red-a9:color(display-p3 .749 .008 0/.675);--red-a10:color(display-p3 .714 .012 0/.714);--red-a11:color(display-p3 .744 .234 .222);--red-a12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-a1:color(display-p3 .984 .071 .071/.03);--red-a2:color(display-p3 .996 .282 .282/.055);--red-a3:color(display-p3 1 .169 .271/.156);--red-a4:color(display-p3 1 .118 .267/.236);--red-a5:color(display-p3 1 .212 .314/.303);--red-a6:color(display-p3 1 .318 .38/.374);--red-a7:color(display-p3 1 .4 .424/.475);--red-a8:color(display-p3 1 .431 .431/.635);--red-a9:color(display-p3 1 .388 .384/.82);--red-a10:color(display-p3 1 .463 .447/.853);--red-a11:color(display-p3 1 .57 .55);--red-a12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--ruby-1:#fffcfd;--ruby-2:#fff7f8;--ruby-3:#feeaed;--ruby-4:#ffdce1;--ruby-5:#ffced6;--ruby-6:#f8bfc8;--ruby-7:#efacb8;--ruby-8:#e592a3;--ruby-9:#e54666;--ruby-10:#dc3b5d;--ruby-11:#ca244d;--ruby-12:#64172b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--ruby-1:color(display-p3 .998 .989 .992);--ruby-2:color(display-p3 .995 .971 .974);--ruby-3:color(display-p3 .983 .92 .928);--ruby-4:color(display-p3 .987 .869 .885);--ruby-5:color(display-p3 .968 .817 .839);--ruby-6:color(display-p3 .937 .758 .786);--ruby-7:color(display-p3 .897 .685 .721);--ruby-8:color(display-p3 .851 .588 .639);--ruby-9:color(display-p3 .83 .323 .408);--ruby-10:color(display-p3 .795 .286 .375);--ruby-11:color(display-p3 .728 .211 .311);--ruby-12:color(display-p3 .36 .115 .171)}}}.dark,.dark-theme{--ruby-1:#191113;--ruby-2:#1e1517;--ruby-3:#3a141e;--ruby-4:#4e1325;--ruby-5:#5e1a2e;--ruby-6:#6f2539;--ruby-7:#883447;--ruby-8:#b3445a;--ruby-9:#e54666;--ruby-10:#ec5a72;--ruby-11:#ff949d;--ruby-12:#fed2e1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--ruby-1:color(display-p3 .093 .068 .074);--ruby-2:color(display-p3 .113 .083 .089);--ruby-3:color(display-p3 .208 .088 .117);--ruby-4:color(display-p3 .279 .092 .147);--ruby-5:color(display-p3 .337 .12 .18);--ruby-6:color(display-p3 .401 .166 .223);--ruby-7:color(display-p3 .495 .224 .281);--ruby-8:color(display-p3 .652 .295 .359);--ruby-9:color(display-p3 .83 .323 .408);--ruby-10:color(display-p3 .857 .392 .455);--ruby-11:color(display-p3 1 .57 .59);--ruby-12:color(display-p3 .968 .83 .88)}}}:root,.light,.light-theme{--ruby-a1:#ff005503;--ruby-a2:#ff002008;--ruby-a3:#f3002515;--ruby-a4:#ff002523;--ruby-a5:#ff002a31;--ruby-a6:#e4002440;--ruby-a7:#ce002553;--ruby-a8:#c300286d;--ruby-a9:#db002cb9;--ruby-a10:#d2002cc4;--ruby-a11:#c10030db;--ruby-a12:#550016e8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--ruby-a1:color(display-p3 .675 .024 .349/.012);--ruby-a2:color(display-p3 .863 .024 .024/.028);--ruby-a3:color(display-p3 .804 .008 .11/.079);--ruby-a4:color(display-p3 .91 .008 .125/.13);--ruby-a5:color(display-p3 .831 .004 .133/.185);--ruby-a6:color(display-p3 .745 .004 .118/.244);--ruby-a7:color(display-p3 .678 .004 .114/.314);--ruby-a8:color(display-p3 .639 .004 .125/.412);--ruby-a9:color(display-p3 .753 0 .129/.679);--ruby-a10:color(display-p3 .714 0 .125/.714);--ruby-a11:color(display-p3 .728 .211 .311);--ruby-a12:color(display-p3 .36 .115 .171)}}}.dark,.dark-theme{--ruby-a1:#f4124a09;--ruby-a2:#fe5a7f0e;--ruby-a3:#ff235d2c;--ruby-a4:#fd195e42;--ruby-a5:#fe2d6b53;--ruby-a6:#ff447665;--ruby-a7:#ff577d80;--ruby-a8:#ff5c7cae;--ruby-a9:#fe4c70e4;--ruby-a10:#ff617beb;--ruby-a11:#ff949d;--ruby-a12:#ffd3e2fe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--ruby-a1:color(display-p3 .984 .071 .329/.03);--ruby-a2:color(display-p3 .992 .376 .529/.051);--ruby-a3:color(display-p3 .996 .196 .404/.152);--ruby-a4:color(display-p3 1 .173 .416/.227);--ruby-a5:color(display-p3 1 .259 .459/.29);--ruby-a6:color(display-p3 1 .341 .506/.358);--ruby-a7:color(display-p3 1 .412 .541/.458);--ruby-a8:color(display-p3 1 .431 .537/.627);--ruby-a9:color(display-p3 1 .376 .482/.82);--ruby-a10:color(display-p3 1 .447 .522/.849);--ruby-a11:color(display-p3 1 .57 .59);--ruby-a12:color(display-p3 .968 .83 .88)}}}:root,.light,.light-theme{--crimson-1:#fffcfd;--crimson-2:#fef7f9;--crimson-3:#ffe9f0;--crimson-4:#fedce7;--crimson-5:#facedd;--crimson-6:#f3bed1;--crimson-7:#eaacc3;--crimson-8:#e093b2;--crimson-9:#e93d82;--crimson-10:#df3478;--crimson-11:#cb1d63;--crimson-12:#621639}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--crimson-1:color(display-p3 .998 .989 .992);--crimson-2:color(display-p3 .991 .969 .976);--crimson-3:color(display-p3 .987 .917 .941);--crimson-4:color(display-p3 .975 .866 .904);--crimson-5:color(display-p3 .953 .813 .864);--crimson-6:color(display-p3 .921 .755 .817);--crimson-7:color(display-p3 .88 .683 .761);--crimson-8:color(display-p3 .834 .592 .694);--crimson-9:color(display-p3 .843 .298 .507);--crimson-10:color(display-p3 .807 .266 .468);--crimson-11:color(display-p3 .731 .195 .388);--crimson-12:color(display-p3 .352 .111 .221)}}}.dark,.dark-theme{--crimson-1:#191114;--crimson-2:#201318;--crimson-3:#381525;--crimson-4:#4d122f;--crimson-5:#5c1839;--crimson-6:#6d2545;--crimson-7:#873356;--crimson-8:#b0436e;--crimson-9:#e93d82;--crimson-10:#ee518a;--crimson-11:#ff92ad;--crimson-12:#fdd3e8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--crimson-1:color(display-p3 .093 .068 .078);--crimson-2:color(display-p3 .117 .078 .095);--crimson-3:color(display-p3 .203 .091 .143);--crimson-4:color(display-p3 .277 .087 .182);--crimson-5:color(display-p3 .332 .115 .22);--crimson-6:color(display-p3 .394 .162 .268);--crimson-7:color(display-p3 .489 .222 .336);--crimson-8:color(display-p3 .638 .289 .429);--crimson-9:color(display-p3 .843 .298 .507);--crimson-10:color(display-p3 .864 .364 .539);--crimson-11:color(display-p3 1 .56 .66);--crimson-12:color(display-p3 .966 .834 .906)}}}:root,.light,.light-theme{--crimson-a1:#ff005503;--crimson-a2:#e0004008;--crimson-a3:#ff005216;--crimson-a4:#f8005123;--crimson-a5:#e5004f31;--crimson-a6:#d0004b41;--crimson-a7:#bf004753;--crimson-a8:#b6004a6c;--crimson-a9:#e2005bc2;--crimson-a10:#d70056cb;--crimson-a11:#c4004fe2;--crimson-a12:#530026e9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--crimson-a1:color(display-p3 .675 .024 .349/.012);--crimson-a2:color(display-p3 .757 .02 .267/.032);--crimson-a3:color(display-p3 .859 .008 .294/.083);--crimson-a4:color(display-p3 .827 .008 .298/.134);--crimson-a5:color(display-p3 .753 .008 .275/.189);--crimson-a6:color(display-p3 .682 .004 .247/.244);--crimson-a7:color(display-p3 .62 .004 .251/.318);--crimson-a8:color(display-p3 .6 .004 .251/.408);--crimson-a9:color(display-p3 .776 0 .298/.702);--crimson-a10:color(display-p3 .737 0 .275/.734);--crimson-a11:color(display-p3 .731 .195 .388);--crimson-a12:color(display-p3 .352 .111 .221)}}}.dark,.dark-theme{--crimson-a1:#f4126709;--crimson-a2:#f22f7a11;--crimson-a3:#fe2a8b2a;--crimson-a4:#fd158741;--crimson-a5:#fd278f51;--crimson-a6:#fe459763;--crimson-a7:#fd559b7f;--crimson-a8:#fe5b9bab;--crimson-a9:#fe418de8;--crimson-a10:#ff5693ed;--crimson-a11:#ff92ad;--crimson-a12:#ffd5eafd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--crimson-a1:color(display-p3 .984 .071 .463/.03);--crimson-a2:color(display-p3 .996 .282 .569/.055);--crimson-a3:color(display-p3 .996 .227 .573/.148);--crimson-a4:color(display-p3 1 .157 .569/.227);--crimson-a5:color(display-p3 1 .231 .604/.286);--crimson-a6:color(display-p3 1 .337 .643/.349);--crimson-a7:color(display-p3 1 .416 .663/.454);--crimson-a8:color(display-p3 .996 .427 .651/.614);--crimson-a9:color(display-p3 1 .345 .596/.832);--crimson-a10:color(display-p3 1 .42 .62/.853);--crimson-a11:color(display-p3 1 .56 .66);--crimson-a12:color(display-p3 .966 .834 .906)}}}:root,.light,.light-theme{--pink-1:#fffcfe;--pink-2:#fef7fb;--pink-3:#fee9f5;--pink-4:#fbdcef;--pink-5:#f6cee7;--pink-6:#efbfdd;--pink-7:#e7acd0;--pink-8:#dd93c2;--pink-9:#d6409f;--pink-10:#cf3897;--pink-11:#c2298a;--pink-12:#651249}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--pink-1:color(display-p3 .998 .989 .996);--pink-2:color(display-p3 .992 .97 .985);--pink-3:color(display-p3 .981 .917 .96);--pink-4:color(display-p3 .963 .867 .932);--pink-5:color(display-p3 .939 .815 .899);--pink-6:color(display-p3 .907 .756 .859);--pink-7:color(display-p3 .869 .683 .81);--pink-8:color(display-p3 .825 .59 .751);--pink-9:color(display-p3 .775 .297 .61);--pink-10:color(display-p3 .748 .27 .581);--pink-11:color(display-p3 .698 .219 .528);--pink-12:color(display-p3 .363 .101 .279)}}}.dark,.dark-theme{--pink-1:#191117;--pink-2:#21121d;--pink-3:#37172f;--pink-4:#4b143d;--pink-5:#591c47;--pink-6:#692955;--pink-7:#833869;--pink-8:#a84885;--pink-9:#d6409f;--pink-10:#de51a8;--pink-11:#ff8dcc;--pink-12:#fdd1ea}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--pink-1:color(display-p3 .093 .068 .089);--pink-2:color(display-p3 .121 .073 .11);--pink-3:color(display-p3 .198 .098 .179);--pink-4:color(display-p3 .271 .095 .231);--pink-5:color(display-p3 .32 .127 .273);--pink-6:color(display-p3 .382 .177 .326);--pink-7:color(display-p3 .477 .238 .405);--pink-8:color(display-p3 .612 .304 .51);--pink-9:color(display-p3 .775 .297 .61);--pink-10:color(display-p3 .808 .356 .645);--pink-11:color(display-p3 1 .535 .78);--pink-12:color(display-p3 .964 .826 .912)}}}:root,.light,.light-theme{--pink-a1:#ff00aa03;--pink-a2:#e0008008;--pink-a3:#f4008c16;--pink-a4:#e2008b23;--pink-a5:#d1008331;--pink-a6:#c0007840;--pink-a7:#b6006f53;--pink-a8:#af006f6c;--pink-a9:#c8007fbf;--pink-a10:#c2007ac7;--pink-a11:#b60074d6;--pink-a12:#59003bed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--pink-a1:color(display-p3 .675 .024 .675/.012);--pink-a2:color(display-p3 .757 .02 .51/.032);--pink-a3:color(display-p3 .765 .008 .529/.083);--pink-a4:color(display-p3 .737 .008 .506/.134);--pink-a5:color(display-p3 .663 .004 .451/.185);--pink-a6:color(display-p3 .616 .004 .424/.244);--pink-a7:color(display-p3 .596 .004 .412/.318);--pink-a8:color(display-p3 .573 .004 .404/.412);--pink-a9:color(display-p3 .682 0 .447/.702);--pink-a10:color(display-p3 .655 0 .424/.73);--pink-a11:color(display-p3 .698 .219 .528);--pink-a12:color(display-p3 .363 .101 .279)}}}.dark,.dark-theme{--pink-a1:#f412bc09;--pink-a2:#f420bb12;--pink-a3:#fe37cc29;--pink-a4:#fc1ec43f;--pink-a5:#fd35c24e;--pink-a6:#fd51c75f;--pink-a7:#fd62c87b;--pink-a8:#ff68c8a2;--pink-a9:#fe49bcd4;--pink-a10:#ff5cc0dc;--pink-a11:#ff8dcc;--pink-a12:#ffd3ecfd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--pink-a1:color(display-p3 .984 .071 .855/.03);--pink-a2:color(display-p3 1 .2 .8/.059);--pink-a3:color(display-p3 1 .294 .886/.139);--pink-a4:color(display-p3 1 .192 .82/.219);--pink-a5:color(display-p3 1 .282 .827/.274);--pink-a6:color(display-p3 1 .396 .835/.337);--pink-a7:color(display-p3 1 .459 .831/.442);--pink-a8:color(display-p3 1 .478 .827/.585);--pink-a9:color(display-p3 1 .373 .784/.761);--pink-a10:color(display-p3 1 .435 .792/.795);--pink-a11:color(display-p3 1 .535 .78);--pink-a12:color(display-p3 .964 .826 .912)}}}:root,.light,.light-theme{--plum-1:#fefcff;--plum-2:#fdf7fd;--plum-3:#fbebfb;--plum-4:#f7def8;--plum-5:#f2d1f3;--plum-6:#e9c2ec;--plum-7:#deade3;--plum-8:#cf91d8;--plum-9:#ab4aba;--plum-10:#a144af;--plum-11:#953ea3;--plum-12:#53195d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--plum-1:color(display-p3 .995 .988 .999);--plum-2:color(display-p3 .988 .971 .99);--plum-3:color(display-p3 .973 .923 .98);--plum-4:color(display-p3 .953 .875 .966);--plum-5:color(display-p3 .926 .825 .945);--plum-6:color(display-p3 .89 .765 .916);--plum-7:color(display-p3 .84 .686 .877);--plum-8:color(display-p3 .775 .58 .832);--plum-9:color(display-p3 .624 .313 .708);--plum-10:color(display-p3 .587 .29 .667);--plum-11:color(display-p3 .543 .263 .619);--plum-12:color(display-p3 .299 .114 .352)}}}.dark,.dark-theme{--plum-1:#181118;--plum-2:#201320;--plum-3:#351a35;--plum-4:#451d47;--plum-5:#512454;--plum-6:#5e3061;--plum-7:#734079;--plum-8:#92549c;--plum-9:#ab4aba;--plum-10:#b658c4;--plum-11:#e796f3;--plum-12:#f4d4f4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--plum-1:color(display-p3 .09 .068 .092);--plum-2:color(display-p3 .118 .077 .121);--plum-3:color(display-p3 .192 .105 .202);--plum-4:color(display-p3 .25 .121 .271);--plum-5:color(display-p3 .293 .152 .319);--plum-6:color(display-p3 .343 .198 .372);--plum-7:color(display-p3 .424 .262 .461);--plum-8:color(display-p3 .54 .341 .595);--plum-9:color(display-p3 .624 .313 .708);--plum-10:color(display-p3 .666 .365 .748);--plum-11:color(display-p3 .86 .602 .933);--plum-12:color(display-p3 .936 .836 .949)}}}:root,.light,.light-theme{--plum-a1:#aa00ff03;--plum-a2:#c000c008;--plum-a3:#cc00cc14;--plum-a4:#c200c921;--plum-a5:#b700bd2e;--plum-a6:#a400b03d;--plum-a7:#9900a852;--plum-a8:#9000a56e;--plum-a9:#89009eb5;--plum-a10:#7f0092bb;--plum-a11:#730086c1;--plum-a12:#40004be6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--plum-a1:color(display-p3 .675 .024 1/.012);--plum-a2:color(display-p3 .58 .024 .58/.028);--plum-a3:color(display-p3 .655 .008 .753/.079);--plum-a4:color(display-p3 .627 .008 .722/.126);--plum-a5:color(display-p3 .58 .004 .69/.177);--plum-a6:color(display-p3 .537 .004 .655/.236);--plum-a7:color(display-p3 .49 .004 .616/.314);--plum-a8:color(display-p3 .471 .004 .6/.42);--plum-a9:color(display-p3 .451 0 .576/.687);--plum-a10:color(display-p3 .42 0 .529/.71);--plum-a11:color(display-p3 .543 .263 .619);--plum-a12:color(display-p3 .299 .114 .352)}}}.dark,.dark-theme{--plum-a1:#f112f108;--plum-a2:#f22ff211;--plum-a3:#fd4cfd27;--plum-a4:#f646ff3a;--plum-a5:#f455ff48;--plum-a6:#f66dff56;--plum-a7:#f07cfd70;--plum-a8:#ee84ff95;--plum-a9:#e961feb6;--plum-a10:#ed70ffc0;--plum-a11:#f19cfef3;--plum-a12:#feddfef4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--plum-a1:color(display-p3 .973 .071 .973/.026);--plum-a2:color(display-p3 .933 .267 1/.059);--plum-a3:color(display-p3 .918 .333 .996/.148);--plum-a4:color(display-p3 .91 .318 1/.219);--plum-a5:color(display-p3 .914 .388 1/.269);--plum-a6:color(display-p3 .906 .463 1/.328);--plum-a7:color(display-p3 .906 .529 1/.425);--plum-a8:color(display-p3 .906 .553 1/.568);--plum-a9:color(display-p3 .875 .427 1/.69);--plum-a10:color(display-p3 .886 .471 .996/.732);--plum-a11:color(display-p3 .86 .602 .933);--plum-a12:color(display-p3 .936 .836 .949)}}}:root,.light,.light-theme{--purple-1:#fefcfe;--purple-2:#fbf7fe;--purple-3:#f7edfe;--purple-4:#f2e2fc;--purple-5:#ead5f9;--purple-6:#e0c4f4;--purple-7:#d1afec;--purple-8:#be93e4;--purple-9:#8e4ec6;--purple-10:#8347b9;--purple-11:#8145b5;--purple-12:#402060}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--purple-1:color(display-p3 .995 .988 .996);--purple-2:color(display-p3 .983 .971 .993);--purple-3:color(display-p3 .963 .931 .989);--purple-4:color(display-p3 .937 .888 .981);--purple-5:color(display-p3 .904 .837 .966);--purple-6:color(display-p3 .86 .774 .942);--purple-7:color(display-p3 .799 .69 .91);--purple-8:color(display-p3 .719 .583 .874);--purple-9:color(display-p3 .523 .318 .751);--purple-10:color(display-p3 .483 .289 .7);--purple-11:color(display-p3 .473 .281 .687);--purple-12:color(display-p3 .234 .132 .363)}}}.dark,.dark-theme{--purple-1:#18111b;--purple-2:#1e1523;--purple-3:#301c3b;--purple-4:#3d224e;--purple-5:#48295c;--purple-6:#54346b;--purple-7:#664282;--purple-8:#8457aa;--purple-9:#8e4ec6;--purple-10:#9a5cd0;--purple-11:#d19dff;--purple-12:#ecd9fa}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--purple-1:color(display-p3 .09 .068 .103);--purple-2:color(display-p3 .113 .082 .134);--purple-3:color(display-p3 .175 .112 .224);--purple-4:color(display-p3 .224 .137 .297);--purple-5:color(display-p3 .264 .167 .349);--purple-6:color(display-p3 .311 .208 .406);--purple-7:color(display-p3 .381 .266 .496);--purple-8:color(display-p3 .49 .349 .649);--purple-9:color(display-p3 .523 .318 .751);--purple-10:color(display-p3 .57 .373 .791);--purple-11:color(display-p3 .8 .62 1);--purple-12:color(display-p3 .913 .854 .971)}}}:root,.light,.light-theme{--purple-a1:#aa00aa03;--purple-a2:#8000e008;--purple-a3:#8e00f112;--purple-a4:#8d00e51d;--purple-a5:#8000db2a;--purple-a6:#7a01d03b;--purple-a7:#6d00c350;--purple-a8:#6600c06c;--purple-a9:#5c00adb1;--purple-a10:#53009eb8;--purple-a11:#52009aba;--purple-a12:#250049df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--purple-a1:color(display-p3 .675 .024 .675/.012);--purple-a2:color(display-p3 .443 .024 .722/.028);--purple-a3:color(display-p3 .506 .008 .835/.071);--purple-a4:color(display-p3 .451 .004 .831/.114);--purple-a5:color(display-p3 .431 .004 .788/.165);--purple-a6:color(display-p3 .384 .004 .745/.228);--purple-a7:color(display-p3 .357 .004 .71/.31);--purple-a8:color(display-p3 .322 .004 .702/.416);--purple-a9:color(display-p3 .298 0 .639/.683);--purple-a10:color(display-p3 .271 0 .58/.71);--purple-a11:color(display-p3 .473 .281 .687);--purple-a12:color(display-p3 .234 .132 .363)}}}.dark,.dark-theme{--purple-a1:#b412f90b;--purple-a2:#b744f714;--purple-a3:#c150ff2d;--purple-a4:#bb53fd42;--purple-a5:#be5cfd51;--purple-a6:#c16dfd61;--purple-a7:#c378fd7a;--purple-a8:#c47effa4;--purple-a9:#b661ffc2;--purple-a10:#bc6fffcd;--purple-a11:#d19dff;--purple-a12:#f1ddfffa}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--purple-a1:color(display-p3 .686 .071 .996/.038);--purple-a2:color(display-p3 .722 .286 .996/.072);--purple-a3:color(display-p3 .718 .349 .996/.169);--purple-a4:color(display-p3 .702 .353 1/.248);--purple-a5:color(display-p3 .718 .404 1/.303);--purple-a6:color(display-p3 .733 .455 1/.366);--purple-a7:color(display-p3 .753 .506 1/.458);--purple-a8:color(display-p3 .749 .522 1/.622);--purple-a9:color(display-p3 .686 .408 1/.736);--purple-a10:color(display-p3 .71 .459 1/.778);--purple-a11:color(display-p3 .8 .62 1);--purple-a12:color(display-p3 .913 .854 .971)}}}:root,.light,.light-theme{--violet-1:#fdfcfe;--violet-2:#faf8ff;--violet-3:#f4f0fe;--violet-4:#ebe4ff;--violet-5:#e1d9ff;--violet-6:#d4cafe;--violet-7:#c2b5f5;--violet-8:#aa99ec;--violet-9:#6e56cf;--violet-10:#654dc4;--violet-11:#6550b9;--violet-12:#2f265f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--violet-1:color(display-p3 .991 .988 .995);--violet-2:color(display-p3 .978 .974 .998);--violet-3:color(display-p3 .953 .943 .993);--violet-4:color(display-p3 .916 .897 1);--violet-5:color(display-p3 .876 .851 1);--violet-6:color(display-p3 .825 .793 .981);--violet-7:color(display-p3 .752 .712 .943);--violet-8:color(display-p3 .654 .602 .902);--violet-9:color(display-p3 .417 .341 .784);--violet-10:color(display-p3 .381 .306 .741);--violet-11:color(display-p3 .383 .317 .702);--violet-12:color(display-p3 .179 .15 .359)}}}.dark,.dark-theme{--violet-1:#14121f;--violet-2:#1b1525;--violet-3:#291f43;--violet-4:#33255b;--violet-5:#3c2e69;--violet-6:#473876;--violet-7:#56468b;--violet-8:#6958ad;--violet-9:#6e56cf;--violet-10:#7d66d9;--violet-11:#baa7ff;--violet-12:#e2ddfe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--violet-1:color(display-p3 .077 .071 .118);--violet-2:color(display-p3 .101 .084 .141);--violet-3:color(display-p3 .154 .123 .256);--violet-4:color(display-p3 .191 .148 .345);--violet-5:color(display-p3 .226 .182 .396);--violet-6:color(display-p3 .269 .223 .449);--violet-7:color(display-p3 .326 .277 .53);--violet-8:color(display-p3 .399 .346 .656);--violet-9:color(display-p3 .417 .341 .784);--violet-10:color(display-p3 .477 .402 .823);--violet-11:color(display-p3 .72 .65 1);--violet-12:color(display-p3 .883 .867 .986)}}}:root,.light,.light-theme{--violet-a1:#5500aa03;--violet-a2:#4900ff07;--violet-a3:#4400ee0f;--violet-a4:#4300ff1b;--violet-a5:#3600ff26;--violet-a6:#3100fb35;--violet-a7:#2d01dd4a;--violet-a8:#2b00d066;--violet-a9:#2400b7a9;--violet-a10:#2300abb2;--violet-a11:#1f0099af;--violet-a12:#0b0043d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--violet-a1:color(display-p3 .349 .024 .675/.012);--violet-a2:color(display-p3 .161 .024 .863/.028);--violet-a3:color(display-p3 .204 .004 .871/.059);--violet-a4:color(display-p3 .196 .004 1/.102);--violet-a5:color(display-p3 .165 .008 1/.15);--violet-a6:color(display-p3 .153 .004 .906/.208);--violet-a7:color(display-p3 .141 .004 .796/.287);--violet-a8:color(display-p3 .133 .004 .753/.397);--violet-a9:color(display-p3 .114 0 .675/.659);--violet-a10:color(display-p3 .11 0 .627/.695);--violet-a11:color(display-p3 .383 .317 .702);--violet-a12:color(display-p3 .179 .15 .359)}}}.dark,.dark-theme{--violet-a1:#4422ff0f;--violet-a2:#853ff916;--violet-a3:#8354fe36;--violet-a4:#7d51fd50;--violet-a5:#845ffd5f;--violet-a6:#8f6cfd6d;--violet-a7:#9879ff83;--violet-a8:#977dfea8;--violet-a9:#8668ffcc;--violet-a10:#9176fed7;--violet-a11:#baa7ff;--violet-a12:#e3defffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--violet-a1:color(display-p3 .282 .141 .996/.055);--violet-a2:color(display-p3 .51 .263 1/.08);--violet-a3:color(display-p3 .494 .337 .996/.202);--violet-a4:color(display-p3 .49 .345 1/.299);--violet-a5:color(display-p3 .525 .392 1/.353);--violet-a6:color(display-p3 .569 .455 1/.408);--violet-a7:color(display-p3 .588 .494 1/.496);--violet-a8:color(display-p3 .596 .51 1/.631);--violet-a9:color(display-p3 .522 .424 1/.769);--violet-a10:color(display-p3 .576 .482 1/.811);--violet-a11:color(display-p3 .72 .65 1);--violet-a12:color(display-p3 .883 .867 .986)}}}:root,.light,.light-theme{--iris-1:#fdfdff;--iris-2:#f8f8ff;--iris-3:#f0f1fe;--iris-4:#e6e7ff;--iris-5:#dadcff;--iris-6:#cbcdff;--iris-7:#b8baf8;--iris-8:#9b9ef0;--iris-9:#5b5bd6;--iris-10:#5151cd;--iris-11:#5753c6;--iris-12:#272962}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--iris-1:color(display-p3 .992 .992 .999);--iris-2:color(display-p3 .972 .973 .998);--iris-3:color(display-p3 .943 .945 .992);--iris-4:color(display-p3 .902 .906 1);--iris-5:color(display-p3 .857 .861 1);--iris-6:color(display-p3 .799 .805 .987);--iris-7:color(display-p3 .721 .727 .955);--iris-8:color(display-p3 .61 .619 .918);--iris-9:color(display-p3 .357 .357 .81);--iris-10:color(display-p3 .318 .318 .774);--iris-11:color(display-p3 .337 .326 .748);--iris-12:color(display-p3 .154 .161 .371)}}}.dark,.dark-theme{--iris-1:#13131e;--iris-2:#171625;--iris-3:#202248;--iris-4:#262a65;--iris-5:#303374;--iris-6:#3d3e82;--iris-7:#4a4a95;--iris-8:#5958b1;--iris-9:#5b5bd6;--iris-10:#6e6ade;--iris-11:#b1a9ff;--iris-12:#e0dffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--iris-1:color(display-p3 .075 .075 .114);--iris-2:color(display-p3 .089 .086 .14);--iris-3:color(display-p3 .128 .134 .272);--iris-4:color(display-p3 .153 .165 .382);--iris-5:color(display-p3 .192 .201 .44);--iris-6:color(display-p3 .239 .241 .491);--iris-7:color(display-p3 .291 .289 .565);--iris-8:color(display-p3 .35 .345 .673);--iris-9:color(display-p3 .357 .357 .81);--iris-10:color(display-p3 .428 .416 .843);--iris-11:color(display-p3 .685 .662 1);--iris-12:color(display-p3 .878 .875 .986)}}}:root,.light,.light-theme{--iris-a1:#0000ff02;--iris-a2:#0000ff07;--iris-a3:#0011ee0f;--iris-a4:#000bff19;--iris-a5:#000eff25;--iris-a6:#000aff34;--iris-a7:#0008e647;--iris-a8:#0008d964;--iris-a9:#0000c0a4;--iris-a10:#0000b6ae;--iris-a11:#0600abac;--iris-a12:#000246d8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--iris-a1:color(display-p3 .02 .02 1/.008);--iris-a2:color(display-p3 .024 .024 .863/.028);--iris-a3:color(display-p3 .004 .071 .871/.059);--iris-a4:color(display-p3 .012 .051 1/.099);--iris-a5:color(display-p3 .008 .035 1/.142);--iris-a6:color(display-p3 0 .02 .941/.2);--iris-a7:color(display-p3 .004 .02 .847/.279);--iris-a8:color(display-p3 .004 .024 .788/.389);--iris-a9:color(display-p3 0 0 .706/.644);--iris-a10:color(display-p3 0 0 .667/.683);--iris-a11:color(display-p3 .337 .326 .748);--iris-a12:color(display-p3 .154 .161 .371)}}}.dark,.dark-theme{--iris-a1:#3636fe0e;--iris-a2:#564bf916;--iris-a3:#525bff3b;--iris-a4:#4d58ff5a;--iris-a5:#5b62fd6b;--iris-a6:#6d6ffd7a;--iris-a7:#7777fe8e;--iris-a8:#7b7afeac;--iris-a9:#6a6afed4;--iris-a10:#7d79ffdc;--iris-a11:#b1a9ff;--iris-a12:#e1e0fffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--iris-a1:color(display-p3 .224 .224 .992/.051);--iris-a2:color(display-p3 .361 .314 1/.08);--iris-a3:color(display-p3 .357 .373 1/.219);--iris-a4:color(display-p3 .325 .361 1/.337);--iris-a5:color(display-p3 .38 .4 1/.4);--iris-a6:color(display-p3 .447 .447 1/.454);--iris-a7:color(display-p3 .486 .486 1/.534);--iris-a8:color(display-p3 .502 .494 1/.652);--iris-a9:color(display-p3 .431 .431 1/.799);--iris-a10:color(display-p3 .502 .486 1/.832);--iris-a11:color(display-p3 .685 .662 1);--iris-a12:color(display-p3 .878 .875 .986)}}}:root,.light,.light-theme{--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-1:color(display-p3 .992 .992 .996);--indigo-2:color(display-p3 .971 .977 .998);--indigo-3:color(display-p3 .933 .948 .992);--indigo-4:color(display-p3 .885 .914 1);--indigo-5:color(display-p3 .831 .87 1);--indigo-6:color(display-p3 .767 .814 .995);--indigo-7:color(display-p3 .685 .74 .957);--indigo-8:color(display-p3 .569 .639 .916);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .234 .343 .801);--indigo-11:color(display-p3 .256 .354 .755);--indigo-12:color(display-p3 .133 .175 .348)}}}.dark,.dark-theme{--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-1:color(display-p3 .068 .074 .118);--indigo-2:color(display-p3 .081 .089 .144);--indigo-3:color(display-p3 .105 .141 .275);--indigo-4:color(display-p3 .129 .18 .369);--indigo-5:color(display-p3 .163 .22 .439);--indigo-6:color(display-p3 .203 .262 .5);--indigo-7:color(display-p3 .245 .309 .575);--indigo-8:color(display-p3 .285 .362 .674);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .354 .445 .866);--indigo-11:color(display-p3 .63 .69 1);--indigo-12:color(display-p3 .848 .881 .99)}}}:root,.light,.light-theme{--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:#0031d2c1;--indigo-a10:#002ec9cc;--indigo-a11:#002bb7c5;--indigo-a12:#001046e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-a1:color(display-p3 .02 .02 .51/.008);--indigo-a2:color(display-p3 .024 .161 .863/.028);--indigo-a3:color(display-p3 .008 .239 .886/.067);--indigo-a4:color(display-p3 .004 .247 1/.114);--indigo-a5:color(display-p3 .004 .235 1/.169);--indigo-a6:color(display-p3 .004 .208 .984/.232);--indigo-a7:color(display-p3 .004 .176 .863/.314);--indigo-a8:color(display-p3 .004 .165 .812/.432);--indigo-a9:color(display-p3 0 .153 .773/.726);--indigo-a10:color(display-p3 0 .137 .737/.765);--indigo-a11:color(display-p3 .256 .354 .755);--indigo-a12:color(display-p3 .133 .175 .348)}}}.dark,.dark-theme{--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-a1:color(display-p3 .071 .212 .996/.055);--indigo-a2:color(display-p3 .251 .345 .988/.085);--indigo-a3:color(display-p3 .243 .404 1/.223);--indigo-a4:color(display-p3 .263 .42 1/.324);--indigo-a5:color(display-p3 .314 .451 1/.4);--indigo-a6:color(display-p3 .361 .49 1/.467);--indigo-a7:color(display-p3 .388 .51 1/.547);--indigo-a8:color(display-p3 .404 .518 1/.652);--indigo-a9:color(display-p3 .318 .451 1/.824);--indigo-a10:color(display-p3 .404 .506 1/.858);--indigo-a11:color(display-p3 .63 .69 1);--indigo-a12:color(display-p3 .848 .881 .99)}}}:root,.light,.light-theme{--blue-1:#fbfdff;--blue-2:#f4faff;--blue-3:#e6f4fe;--blue-4:#d5efff;--blue-5:#c2e5ff;--blue-6:#acd8fc;--blue-7:#8ec8f6;--blue-8:#5eb1ef;--blue-9:#0090ff;--blue-10:#0588f0;--blue-11:#0d74ce;--blue-12:#113264}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--blue-1:color(display-p3 .986 .992 .999);--blue-2:color(display-p3 .96 .979 .998);--blue-3:color(display-p3 .912 .956 .991);--blue-4:color(display-p3 .853 .932 1);--blue-5:color(display-p3 .788 .894 .998);--blue-6:color(display-p3 .709 .843 .976);--blue-7:color(display-p3 .606 .777 .947);--blue-8:color(display-p3 .451 .688 .917);--blue-9:color(display-p3 .247 .556 .969);--blue-10:color(display-p3 .234 .523 .912);--blue-11:color(display-p3 .15 .44 .84);--blue-12:color(display-p3 .102 .193 .379)}}}.dark,.dark-theme{--blue-1:#0d1520;--blue-2:#111927;--blue-3:#0d2847;--blue-4:#003362;--blue-5:#004074;--blue-6:#104d87;--blue-7:#205d9e;--blue-8:#2870bd;--blue-9:#0090ff;--blue-10:#3b9eff;--blue-11:#70b8ff;--blue-12:#c2e6ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--blue-1:color(display-p3 .057 .081 .122);--blue-2:color(display-p3 .072 .098 .147);--blue-3:color(display-p3 .078 .154 .27);--blue-4:color(display-p3 .033 .197 .37);--blue-5:color(display-p3 .08 .245 .441);--blue-6:color(display-p3 .14 .298 .511);--blue-7:color(display-p3 .195 .361 .6);--blue-8:color(display-p3 .239 .434 .72);--blue-9:color(display-p3 .247 .556 .969);--blue-10:color(display-p3 .344 .612 .973);--blue-11:color(display-p3 .49 .72 1);--blue-12:color(display-p3 .788 .898 .99)}}}:root,.light,.light-theme{--blue-a1:#0080ff04;--blue-a2:#008cff0b;--blue-a3:#008ff519;--blue-a4:#009eff2a;--blue-a5:#0093ff3d;--blue-a6:#0088f653;--blue-a7:#0083eb71;--blue-a8:#0084e6a1;--blue-a9:#0090ff;--blue-a10:#0086f0fa;--blue-a11:#006dcbf2;--blue-a12:#002359ee}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--blue-a1:color(display-p3 .024 .514 1/.016);--blue-a2:color(display-p3 .024 .514 .906/.04);--blue-a3:color(display-p3 .012 .506 .914/.087);--blue-a4:color(display-p3 .008 .545 1/.146);--blue-a5:color(display-p3 .004 .502 .984/.212);--blue-a6:color(display-p3 .004 .463 .922/.291);--blue-a7:color(display-p3 .004 .431 .863/.393);--blue-a8:color(display-p3 0 .427 .851/.55);--blue-a9:color(display-p3 0 .412 .961/.753);--blue-a10:color(display-p3 0 .376 .886/.765);--blue-a11:color(display-p3 .15 .44 .84);--blue-a12:color(display-p3 .102 .193 .379)}}}.dark,.dark-theme{--blue-a1:#004df211;--blue-a2:#1166fb18;--blue-a3:#0077ff3a;--blue-a4:#0075ff57;--blue-a5:#0081fd6b;--blue-a6:#0f89fd7f;--blue-a7:#2a91fe98;--blue-a8:#3094feb9;--blue-a9:#0090ff;--blue-a10:#3b9eff;--blue-a11:#70b8ff;--blue-a12:#c2e6ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--blue-a1:color(display-p3 0 .333 1/.059);--blue-a2:color(display-p3 .114 .435 .988/.085);--blue-a3:color(display-p3 .122 .463 1/.219);--blue-a4:color(display-p3 0 .467 1/.324);--blue-a5:color(display-p3 .098 .51 1/.4);--blue-a6:color(display-p3 .224 .557 1/.475);--blue-a7:color(display-p3 .294 .584 1/.572);--blue-a8:color(display-p3 .314 .592 1/.702);--blue-a9:color(display-p3 .251 .573 .996/.967);--blue-a10:color(display-p3 .357 .631 1/.971);--blue-a11:color(display-p3 .49 .72 1);--blue-a12:color(display-p3 .788 .898 .99)}}}:root,.light,.light-theme{--cyan-1:#fafdfe;--cyan-2:#f2fafb;--cyan-3:#def7f9;--cyan-4:#caf1f6;--cyan-5:#b5e9f0;--cyan-6:#9ddde7;--cyan-7:#7dcedc;--cyan-8:#3db9cf;--cyan-9:#00a2c7;--cyan-10:#0797b9;--cyan-11:#107d98;--cyan-12:#0d3c48}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--cyan-1:color(display-p3 .982 .992 .996);--cyan-2:color(display-p3 .955 .981 .984);--cyan-3:color(display-p3 .888 .965 .975);--cyan-4:color(display-p3 .821 .941 .959);--cyan-5:color(display-p3 .751 .907 .935);--cyan-6:color(display-p3 .671 .862 .9);--cyan-7:color(display-p3 .564 .8 .854);--cyan-8:color(display-p3 .388 .715 .798);--cyan-9:color(display-p3 .282 .627 .765);--cyan-10:color(display-p3 .264 .583 .71);--cyan-11:color(display-p3 .08 .48 .63);--cyan-12:color(display-p3 .108 .232 .277)}}}.dark,.dark-theme{--cyan-1:#0b161a;--cyan-2:#101b20;--cyan-3:#082c36;--cyan-4:#003848;--cyan-5:#004558;--cyan-6:#045468;--cyan-7:#12677e;--cyan-8:#11809c;--cyan-9:#00a2c7;--cyan-10:#23afd0;--cyan-11:#4ccce6;--cyan-12:#b6ecf7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--cyan-1:color(display-p3 .053 .085 .098);--cyan-2:color(display-p3 .072 .105 .122);--cyan-3:color(display-p3 .073 .168 .209);--cyan-4:color(display-p3 .063 .216 .277);--cyan-5:color(display-p3 .091 .267 .336);--cyan-6:color(display-p3 .137 .324 .4);--cyan-7:color(display-p3 .186 .398 .484);--cyan-8:color(display-p3 .23 .496 .6);--cyan-9:color(display-p3 .282 .627 .765);--cyan-10:color(display-p3 .331 .675 .801);--cyan-11:color(display-p3 .446 .79 .887);--cyan-12:color(display-p3 .757 .919 .962)}}}:root,.light,.light-theme{--cyan-a1:#0099cc05;--cyan-a2:#009db10d;--cyan-a3:#00c2d121;--cyan-a4:#00bcd435;--cyan-a5:#01b4cc4a;--cyan-a6:#00a7c162;--cyan-a7:#009fbb82;--cyan-a8:#00a3c0c2;--cyan-a9:#00a2c7;--cyan-a10:#0094b7f8;--cyan-a11:#007491ef;--cyan-a12:#00323ef2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--cyan-a1:color(display-p3 .02 .608 .804/.02);--cyan-a2:color(display-p3 .02 .557 .647/.044);--cyan-a3:color(display-p3 .004 .694 .796/.114);--cyan-a4:color(display-p3 .004 .678 .784/.181);--cyan-a5:color(display-p3 .004 .624 .733/.248);--cyan-a6:color(display-p3 .004 .584 .706/.33);--cyan-a7:color(display-p3 .004 .541 .667/.436);--cyan-a8:color(display-p3 0 .533 .667/.612);--cyan-a9:color(display-p3 0 .482 .675/.718);--cyan-a10:color(display-p3 0 .435 .608/.738);--cyan-a11:color(display-p3 .08 .48 .63);--cyan-a12:color(display-p3 .108 .232 .277)}}}.dark,.dark-theme{--cyan-a1:#0091f70a;--cyan-a2:#02a7f211;--cyan-a3:#00befd28;--cyan-a4:#00baff3b;--cyan-a5:#00befd4d;--cyan-a6:#00c7fd5e;--cyan-a7:#14cdff75;--cyan-a8:#11cfff95;--cyan-a9:#00cfffc3;--cyan-a10:#28d6ffcd;--cyan-a11:#52e1fee5;--cyan-a12:#bbf3fef7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--cyan-a1:color(display-p3 0 .647 .992/.034);--cyan-a2:color(display-p3 .133 .733 1/.059);--cyan-a3:color(display-p3 .122 .741 .996/.152);--cyan-a4:color(display-p3 .051 .725 1/.227);--cyan-a5:color(display-p3 .149 .757 1/.29);--cyan-a6:color(display-p3 .267 .792 1/.358);--cyan-a7:color(display-p3 .333 .808 1/.446);--cyan-a8:color(display-p3 .357 .816 1/.572);--cyan-a9:color(display-p3 .357 .82 1/.748);--cyan-a10:color(display-p3 .4 .839 1/.786);--cyan-a11:color(display-p3 .446 .79 .887);--cyan-a12:color(display-p3 .757 .919 .962)}}}:root,.light,.light-theme{--teal-1:#fafefd;--teal-2:#f3fbf9;--teal-3:#e0f8f3;--teal-4:#ccf3ea;--teal-5:#b8eae0;--teal-6:#a1ded2;--teal-7:#83cdc1;--teal-8:#53b9ab;--teal-9:#12a594;--teal-10:#0d9b8a;--teal-11:#008573;--teal-12:#0d3d38}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--teal-1:color(display-p3 .983 .996 .992);--teal-2:color(display-p3 .958 .983 .976);--teal-3:color(display-p3 .895 .971 .952);--teal-4:color(display-p3 .831 .949 .92);--teal-5:color(display-p3 .761 .914 .878);--teal-6:color(display-p3 .682 .864 .825);--teal-7:color(display-p3 .581 .798 .756);--teal-8:color(display-p3 .433 .716 .671);--teal-9:color(display-p3 .297 .637 .581);--teal-10:color(display-p3 .275 .599 .542);--teal-11:color(display-p3 .08 .5 .43);--teal-12:color(display-p3 .11 .235 .219)}}}.dark,.dark-theme{--teal-1:#0d1514;--teal-2:#111c1b;--teal-3:#0d2d2a;--teal-4:#023b37;--teal-5:#084843;--teal-6:#145750;--teal-7:#1c6961;--teal-8:#207e73;--teal-9:#12a594;--teal-10:#0eb39e;--teal-11:#0bd8b6;--teal-12:#adf0dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--teal-1:color(display-p3 .059 .083 .079);--teal-2:color(display-p3 .075 .11 .107);--teal-3:color(display-p3 .087 .175 .165);--teal-4:color(display-p3 .087 .227 .214);--teal-5:color(display-p3 .12 .277 .261);--teal-6:color(display-p3 .162 .335 .314);--teal-7:color(display-p3 .205 .406 .379);--teal-8:color(display-p3 .245 .489 .453);--teal-9:color(display-p3 .297 .637 .581);--teal-10:color(display-p3 .319 .69 .62);--teal-11:color(display-p3 .388 .835 .719);--teal-12:color(display-p3 .734 .934 .87)}}}:root,.light,.light-theme{--teal-a1:#00cc9905;--teal-a2:#00aa800c;--teal-a3:#00c69d1f;--teal-a4:#00c39633;--teal-a5:#00b49047;--teal-a6:#00a6855e;--teal-a7:#0099807c;--teal-a8:#009783ac;--teal-a9:#009e8ced;--teal-a10:#009684f2;--teal-a11:#008573;--teal-a12:#00332df2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--teal-a1:color(display-p3 .024 .757 .514/.016);--teal-a2:color(display-p3 .02 .647 .467/.044);--teal-a3:color(display-p3 .004 .741 .557/.106);--teal-a4:color(display-p3 .004 .702 .537/.169);--teal-a5:color(display-p3 .004 .643 .494/.24);--teal-a6:color(display-p3 .004 .569 .447/.318);--teal-a7:color(display-p3 .004 .518 .424/.42);--teal-a8:color(display-p3 0 .506 .424/.569);--teal-a9:color(display-p3 0 .482 .404/.702);--teal-a10:color(display-p3 0 .451 .369/.726);--teal-a11:color(display-p3 .08 .5 .43);--teal-a12:color(display-p3 .11 .235 .219)}}}.dark,.dark-theme{--teal-a1:#00deab05;--teal-a2:#12fbe60c;--teal-a3:#00ffe61e;--teal-a4:#00ffe92d;--teal-a5:#00ffea3b;--teal-a6:#1cffe84b;--teal-a7:#2efde85f;--teal-a8:#32ffe775;--teal-a9:#13ffe49f;--teal-a10:#0dffe0ae;--teal-a11:#0afed5d6;--teal-a12:#b8ffebef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--teal-a1:color(display-p3 0 .992 .761/.017);--teal-a2:color(display-p3 .235 .988 .902/.047);--teal-a3:color(display-p3 .235 1 .898/.118);--teal-a4:color(display-p3 .18 .996 .929/.173);--teal-a5:color(display-p3 .31 1 .933/.227);--teal-a6:color(display-p3 .396 1 .933/.286);--teal-a7:color(display-p3 .443 1 .925/.366);--teal-a8:color(display-p3 .459 1 .925/.454);--teal-a9:color(display-p3 .443 .996 .906/.61);--teal-a10:color(display-p3 .439 .996 .89/.669);--teal-a11:color(display-p3 .388 .835 .719);--teal-a12:color(display-p3 .734 .934 .87)}}}:root,.light,.light-theme{--jade-1:#fbfefd;--jade-2:#f4fbf7;--jade-3:#e6f7ed;--jade-4:#d6f1e3;--jade-5:#c3e9d7;--jade-6:#acdec8;--jade-7:#8bceb6;--jade-8:#56ba9f;--jade-9:#29a383;--jade-10:#26997b;--jade-11:#208368;--jade-12:#1d3b31}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--jade-1:color(display-p3 .986 .996 .992);--jade-2:color(display-p3 .962 .983 .969);--jade-3:color(display-p3 .912 .965 .932);--jade-4:color(display-p3 .858 .941 .893);--jade-5:color(display-p3 .795 .909 .847);--jade-6:color(display-p3 .715 .864 .791);--jade-7:color(display-p3 .603 .802 .718);--jade-8:color(display-p3 .44 .72 .629);--jade-9:color(display-p3 .319 .63 .521);--jade-10:color(display-p3 .299 .592 .488);--jade-11:color(display-p3 .15 .5 .37);--jade-12:color(display-p3 .142 .229 .194)}}}.dark,.dark-theme{--jade-1:#0d1512;--jade-2:#121c18;--jade-3:#0f2e22;--jade-4:#0b3b2c;--jade-5:#114837;--jade-6:#1b5745;--jade-7:#246854;--jade-8:#2a7e68;--jade-9:#29a383;--jade-10:#27b08b;--jade-11:#1fd8a4;--jade-12:#adf0d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--jade-1:color(display-p3 .059 .083 .071);--jade-2:color(display-p3 .078 .11 .094);--jade-3:color(display-p3 .091 .176 .138);--jade-4:color(display-p3 .102 .228 .177);--jade-5:color(display-p3 .133 .279 .221);--jade-6:color(display-p3 .174 .334 .273);--jade-7:color(display-p3 .219 .402 .335);--jade-8:color(display-p3 .263 .488 .411);--jade-9:color(display-p3 .319 .63 .521);--jade-10:color(display-p3 .338 .68 .555);--jade-11:color(display-p3 .4 .835 .656);--jade-12:color(display-p3 .734 .934 .838)}}}:root,.light,.light-theme{--jade-a1:#00c08004;--jade-a2:#00a3460b;--jade-a3:#00ae4819;--jade-a4:#00a85129;--jade-a5:#00a2553c;--jade-a6:#009a5753;--jade-a7:#00945f74;--jade-a8:#00976ea9;--jade-a9:#00916bd6;--jade-a10:#008764d9;--jade-a11:#007152df;--jade-a12:#002217e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--jade-a1:color(display-p3 .024 .757 .514/.016);--jade-a2:color(display-p3 .024 .612 .22/.04);--jade-a3:color(display-p3 .012 .596 .235/.087);--jade-a4:color(display-p3 .008 .588 .255/.142);--jade-a5:color(display-p3 .004 .561 .251/.204);--jade-a6:color(display-p3 .004 .525 .278/.287);--jade-a7:color(display-p3 .004 .506 .29/.397);--jade-a8:color(display-p3 0 .506 .337/.561);--jade-a9:color(display-p3 0 .459 .298/.683);--jade-a10:color(display-p3 0 .42 .271/.702);--jade-a11:color(display-p3 .15 .5 .37);--jade-a12:color(display-p3 .142 .229 .194)}}}.dark,.dark-theme{--jade-a1:#00de4505;--jade-a2:#27fba60c;--jade-a3:#02f99920;--jade-a4:#00ffaa2d;--jade-a5:#11ffb63b;--jade-a6:#34ffc24b;--jade-a7:#45fdc75e;--jade-a8:#48ffcf75;--jade-a9:#38feca9d;--jade-a10:#31fec7ab;--jade-a11:#21fec0d6;--jade-a12:#b8ffe1ef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--jade-a1:color(display-p3 0 .992 .298/.017);--jade-a2:color(display-p3 .318 .988 .651/.047);--jade-a3:color(display-p3 .267 1 .667/.118);--jade-a4:color(display-p3 .275 .996 .702/.173);--jade-a5:color(display-p3 .361 1 .741/.227);--jade-a6:color(display-p3 .439 1 .796/.286);--jade-a7:color(display-p3 .49 1 .804/.362);--jade-a8:color(display-p3 .506 1 .835/.45);--jade-a9:color(display-p3 .478 .996 .816/.606);--jade-a10:color(display-p3 .478 1 .816/.656);--jade-a11:color(display-p3 .4 .835 .656);--jade-a12:color(display-p3 .734 .934 .838)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-1:color(display-p3 .062 .083 .071);--green-2:color(display-p3 .079 .106 .09);--green-3:color(display-p3 .1 .173 .133);--green-4:color(display-p3 .115 .229 .166);--green-5:color(display-p3 .147 .282 .206);--green-6:color(display-p3 .185 .338 .25);--green-7:color(display-p3 .227 .403 .298);--green-8:color(display-p3 .27 .479 .351);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .357 .682 .474);--green-11:color(display-p3 .434 .828 .573);--green-12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-a1:color(display-p3 0 .992 .298/.017);--green-a2:color(display-p3 .341 .98 .616/.043);--green-a3:color(display-p3 .376 .996 .655/.114);--green-a4:color(display-p3 .341 .996 .635/.173);--green-a5:color(display-p3 .408 1 .678/.232);--green-a6:color(display-p3 .475 1 .706/.29);--green-a7:color(display-p3 .514 1 .706/.362);--green-a8:color(display-p3 .529 1 .718/.442);--green-a9:color(display-p3 .502 .996 .682/.61);--green-a10:color(display-p3 .506 1 .682/.66);--green-a11:color(display-p3 .434 .828 .573);--green-a12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--grass-1:#fbfefb;--grass-2:#f5fbf5;--grass-3:#e9f6e9;--grass-4:#daf1db;--grass-5:#c9e8ca;--grass-6:#b2ddb5;--grass-7:#94ce9a;--grass-8:#65ba74;--grass-9:#46a758;--grass-10:#3e9b4f;--grass-11:#2a7e3b;--grass-12:#203c25}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--grass-1:color(display-p3 .986 .996 .985);--grass-2:color(display-p3 .966 .983 .964);--grass-3:color(display-p3 .923 .965 .917);--grass-4:color(display-p3 .872 .94 .865);--grass-5:color(display-p3 .811 .908 .802);--grass-6:color(display-p3 .733 .864 .724);--grass-7:color(display-p3 .628 .803 .622);--grass-8:color(display-p3 .477 .72 .482);--grass-9:color(display-p3 .38 .647 .378);--grass-10:color(display-p3 .344 .598 .342);--grass-11:color(display-p3 .263 .488 .261);--grass-12:color(display-p3 .151 .233 .153)}}}.dark,.dark-theme{--grass-1:#0e1511;--grass-2:#141a15;--grass-3:#1b2a1e;--grass-4:#1d3a24;--grass-5:#25482d;--grass-6:#2d5736;--grass-7:#366740;--grass-8:#3e7949;--grass-9:#46a758;--grass-10:#53b365;--grass-11:#71d083;--grass-12:#c2f0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--grass-1:color(display-p3 .062 .083 .067);--grass-2:color(display-p3 .083 .103 .085);--grass-3:color(display-p3 .118 .163 .122);--grass-4:color(display-p3 .142 .225 .15);--grass-5:color(display-p3 .178 .279 .186);--grass-6:color(display-p3 .217 .337 .224);--grass-7:color(display-p3 .258 .4 .264);--grass-8:color(display-p3 .302 .47 .305);--grass-9:color(display-p3 .38 .647 .378);--grass-10:color(display-p3 .426 .694 .426);--grass-11:color(display-p3 .535 .807 .542);--grass-12:color(display-p3 .797 .936 .776)}}}:root,.light,.light-theme{--grass-a1:#00c00004;--grass-a2:#0099000a;--grass-a3:#00970016;--grass-a4:#009f0725;--grass-a5:#00930536;--grass-a6:#008f0a4d;--grass-a7:#018b0f6b;--grass-a8:#008d199a;--grass-a9:#008619b9;--grass-a10:#007b17c1;--grass-a11:#006514d5;--grass-a12:#002006df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--grass-a1:color(display-p3 .024 .757 .024/.016);--grass-a2:color(display-p3 .024 .565 .024/.036);--grass-a3:color(display-p3 .059 .576 .008/.083);--grass-a4:color(display-p3 .035 .565 .008/.134);--grass-a5:color(display-p3 .047 .545 .008/.197);--grass-a6:color(display-p3 .031 .502 .004/.275);--grass-a7:color(display-p3 .012 .482 .004/.377);--grass-a8:color(display-p3 0 .467 .008/.522);--grass-a9:color(display-p3 .008 .435 0/.624);--grass-a10:color(display-p3 .008 .388 0/.659);--grass-a11:color(display-p3 .263 .488 .261);--grass-a12:color(display-p3 .151 .233 .153)}}}.dark,.dark-theme{--grass-a1:#00de1205;--grass-a2:#5ef7780a;--grass-a3:#70fe8c1b;--grass-a4:#57ff802c;--grass-a5:#68ff8b3b;--grass-a6:#71ff8f4b;--grass-a7:#77fd925d;--grass-a8:#77fd9070;--grass-a9:#65ff82a1;--grass-a10:#72ff8dae;--grass-a11:#89ff9fcd;--grass-a12:#ceffceef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--grass-a1:color(display-p3 0 .992 .071/.017);--grass-a2:color(display-p3 .482 .996 .584/.038);--grass-a3:color(display-p3 .549 .992 .588/.106);--grass-a4:color(display-p3 .51 .996 .557/.169);--grass-a5:color(display-p3 .553 1 .588/.227);--grass-a6:color(display-p3 .584 1 .608/.29);--grass-a7:color(display-p3 .604 1 .616/.358);--grass-a8:color(display-p3 .608 1 .62/.433);--grass-a9:color(display-p3 .573 1 .569/.622);--grass-a10:color(display-p3 .6 .996 .6/.673);--grass-a11:color(display-p3 .535 .807 .542);--grass-a12:color(display-p3 .797 .936 .776)}}}:root,.light,.light-theme{--orange-1:#fefcfb;--orange-2:#fff7ed;--orange-3:#ffefd6;--orange-4:#ffdfb5;--orange-5:#ffd19a;--orange-6:#ffc182;--orange-7:#f5ae73;--orange-8:#ec9455;--orange-9:#f76b15;--orange-10:#ef5f00;--orange-11:#cc4e00;--orange-12:#582d1d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-1:color(display-p3 .995 .988 .985);--orange-2:color(display-p3 .994 .968 .934);--orange-3:color(display-p3 .989 .938 .85);--orange-4:color(display-p3 1 .874 .687);--orange-5:color(display-p3 1 .821 .583);--orange-6:color(display-p3 .975 .767 .545);--orange-7:color(display-p3 .919 .693 .486);--orange-8:color(display-p3 .877 .597 .379);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .87 .409 .164);--orange-11:color(display-p3 .76 .34 0);--orange-12:color(display-p3 .323 .185 .127)}}}.dark,.dark-theme{--orange-1:#17120e;--orange-2:#1e160f;--orange-3:#331e0b;--orange-4:#462100;--orange-5:#562800;--orange-6:#66350c;--orange-7:#7e451d;--orange-8:#a35829;--orange-9:#f76b15;--orange-10:#ff801f;--orange-11:#ffa057;--orange-12:#ffe0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--orange-1:color(display-p3 .088 .07 .057);--orange-2:color(display-p3 .113 .089 .061);--orange-3:color(display-p3 .189 .12 .056);--orange-4:color(display-p3 .262 .132 0);--orange-5:color(display-p3 .315 .168 .016);--orange-6:color(display-p3 .376 .219 .088);--orange-7:color(display-p3 .465 .283 .147);--orange-8:color(display-p3 .601 .359 .201);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .98 .51 .23);--orange-11:color(display-p3 1 .63 .38);--orange-12:color(display-p3 .98 .883 .775)}}}:root,.light,.light-theme{--orange-a1:#c0400004;--orange-a2:#ff8e0012;--orange-a3:#ff9c0029;--orange-a4:#ff91014a;--orange-a5:#ff8b0065;--orange-a6:#ff81007d;--orange-a7:#ed6c008c;--orange-a8:#e35f00aa;--orange-a9:#f65e00ea;--orange-a10:#ef5f00;--orange-a11:#cc4e00;--orange-a12:#431200e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-a1:color(display-p3 .757 .267 .024/.016);--orange-a2:color(display-p3 .886 .533 .008/.067);--orange-a3:color(display-p3 .922 .584 .008/.15);--orange-a4:color(display-p3 1 .604 .004/.314);--orange-a5:color(display-p3 1 .569 .004/.416);--orange-a6:color(display-p3 .949 .494 .004/.455);--orange-a7:color(display-p3 .839 .408 0/.514);--orange-a8:color(display-p3 .804 .349 0/.62);--orange-a9:color(display-p3 .878 .314 0/.8);--orange-a10:color(display-p3 .843 .29 0/.836);--orange-a11:color(display-p3 .76 .34 0);--orange-a12:color(display-p3 .323 .185 .127)}}}.dark,.dark-theme{--orange-a1:#ec360007;--orange-a2:#fe6d000e;--orange-a3:#fb6a0025;--orange-a4:#ff590039;--orange-a5:#ff61004a;--orange-a6:#fd75045c;--orange-a7:#ff832c75;--orange-a8:#fe84389d;--orange-a9:#fe6d15f7;--orange-a10:#ff801f;--orange-a11:#ffa057;--orange-a12:#ffe0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--orange-a1:color(display-p3 .961 .247 0/.022);--orange-a2:color(display-p3 .992 .529 0/.051);--orange-a3:color(display-p3 .996 .486 0/.131);--orange-a4:color(display-p3 .996 .384 0/.211);--orange-a5:color(display-p3 1 .455 0/.265);--orange-a6:color(display-p3 1 .529 .129/.332);--orange-a7:color(display-p3 1 .569 .251/.429);--orange-a8:color(display-p3 1 .584 .302/.572);--orange-a9:color(display-p3 1 .494 .216/.895);--orange-a10:color(display-p3 1 .522 .235/.979);--orange-a11:color(display-p3 1 .63 .38);--orange-a12:color(display-p3 .98 .883 .775)}}}:root,.light,.light-theme{--brown-1:#fefdfc;--brown-2:#fcf9f6;--brown-3:#f6eee7;--brown-4:#f0e4d9;--brown-5:#ebdaca;--brown-6:#e4cdb7;--brown-7:#dcbc9f;--brown-8:#cea37e;--brown-9:#ad7f58;--brown-10:#a07553;--brown-11:#815e46;--brown-12:#3e332e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-1:color(display-p3 .995 .992 .989);--brown-2:color(display-p3 .987 .976 .964);--brown-3:color(display-p3 .959 .936 .909);--brown-4:color(display-p3 .934 .897 .855);--brown-5:color(display-p3 .909 .856 .798);--brown-6:color(display-p3 .88 .808 .73);--brown-7:color(display-p3 .841 .742 .639);--brown-8:color(display-p3 .782 .647 .514);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .601 .465 .344);--brown-11:color(display-p3 .485 .374 .288);--brown-12:color(display-p3 .236 .202 .183)}}}.dark,.dark-theme{--brown-1:#12110f;--brown-2:#1c1816;--brown-3:#28211d;--brown-4:#322922;--brown-5:#3e3128;--brown-6:#4d3c2f;--brown-7:#614a39;--brown-8:#7c5f46;--brown-9:#ad7f58;--brown-10:#b88c67;--brown-11:#dbb594;--brown-12:#f2e1ca}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--brown-1:color(display-p3 .071 .067 .059);--brown-2:color(display-p3 .107 .095 .087);--brown-3:color(display-p3 .151 .13 .115);--brown-4:color(display-p3 .191 .161 .138);--brown-5:color(display-p3 .235 .194 .162);--brown-6:color(display-p3 .291 .237 .192);--brown-7:color(display-p3 .365 .295 .232);--brown-8:color(display-p3 .469 .377 .287);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .697 .557 .423);--brown-11:color(display-p3 .835 .715 .597);--brown-12:color(display-p3 .938 .885 .802)}}}:root,.light,.light-theme{--brown-a1:#aa550003;--brown-a2:#aa550009;--brown-a3:#a04b0018;--brown-a4:#9b4a0026;--brown-a5:#9f4d0035;--brown-a6:#a04e0048;--brown-a7:#a34e0060;--brown-a8:#9f4a0081;--brown-a9:#823c00a7;--brown-a10:#723300ac;--brown-a11:#522100b9;--brown-a12:#140600d1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-a1:color(display-p3 .675 .349 .024/.012);--brown-a2:color(display-p3 .675 .349 .024/.036);--brown-a3:color(display-p3 .573 .314 .012/.091);--brown-a4:color(display-p3 .545 .302 .008/.146);--brown-a5:color(display-p3 .561 .29 .004/.204);--brown-a6:color(display-p3 .553 .294 .004/.271);--brown-a7:color(display-p3 .557 .286 .004/.361);--brown-a8:color(display-p3 .549 .275 .004/.487);--brown-a9:color(display-p3 .447 .22 0/.632);--brown-a10:color(display-p3 .388 .188 0/.655);--brown-a11:color(display-p3 .485 .374 .288);--brown-a12:color(display-p3 .236 .202 .183)}}}.dark,.dark-theme{--brown-a1:#91110002;--brown-a2:#fba67c0c;--brown-a3:#fcb58c19;--brown-a4:#fbbb8a24;--brown-a5:#fcb88931;--brown-a6:#fdba8741;--brown-a7:#ffbb8856;--brown-a8:#ffbe8773;--brown-a9:#feb87da8;--brown-a10:#ffc18cb3;--brown-a11:#fed1aad9;--brown-a12:#feecd4f2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--brown-a1:color(display-p3 .855 .071 0/.005);--brown-a2:color(display-p3 .98 .706 .525/.043);--brown-a3:color(display-p3 .996 .745 .576/.093);--brown-a4:color(display-p3 1 .765 .592/.135);--brown-a5:color(display-p3 1 .761 .588/.181);--brown-a6:color(display-p3 1 .773 .592/.24);--brown-a7:color(display-p3 .996 .776 .58/.32);--brown-a8:color(display-p3 1 .78 .573/.433);--brown-a9:color(display-p3 1 .769 .549/.627);--brown-a10:color(display-p3 1 .792 .596/.677);--brown-a11:color(display-p3 .835 .715 .597);--brown-a12:color(display-p3 .938 .885 .802)}}}:root,.light,.light-theme{--sky-1:#f9feff;--sky-2:#f1fafd;--sky-3:#e1f6fd;--sky-4:#d1f0fa;--sky-5:#bee7f5;--sky-6:#a9daed;--sky-7:#8dcae3;--sky-8:#60b3d7;--sky-9:#7ce2fe;--sky-10:#74daf8;--sky-11:#00749e;--sky-12:#1d3e56}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sky-1:color(display-p3 .98 .995 .999);--sky-2:color(display-p3 .953 .98 .99);--sky-3:color(display-p3 .899 .963 .989);--sky-4:color(display-p3 .842 .937 .977);--sky-5:color(display-p3 .777 .9 .954);--sky-6:color(display-p3 .701 .851 .921);--sky-7:color(display-p3 .604 .785 .879);--sky-8:color(display-p3 .457 .696 .829);--sky-9:color(display-p3 .585 .877 .983);--sky-10:color(display-p3 .555 .845 .959);--sky-11:color(display-p3 .193 .448 .605);--sky-12:color(display-p3 .145 .241 .329)}}}.dark,.dark-theme{--sky-1:#0d141f;--sky-2:#111a27;--sky-3:#112840;--sky-4:#113555;--sky-5:#154467;--sky-6:#1b537b;--sky-7:#1f6692;--sky-8:#197cae;--sky-9:#7ce2fe;--sky-10:#a8eeff;--sky-11:#75c7f0;--sky-12:#c2f3ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sky-1:color(display-p3 .056 .078 .116);--sky-2:color(display-p3 .075 .101 .149);--sky-3:color(display-p3 .089 .154 .244);--sky-4:color(display-p3 .106 .207 .323);--sky-5:color(display-p3 .135 .261 .394);--sky-6:color(display-p3 .17 .322 .469);--sky-7:color(display-p3 .205 .394 .557);--sky-8:color(display-p3 .232 .48 .665);--sky-9:color(display-p3 .585 .877 .983);--sky-10:color(display-p3 .718 .925 .991);--sky-11:color(display-p3 .536 .772 .924);--sky-12:color(display-p3 .799 .947 .993)}}}:root,.light,.light-theme{--sky-a1:#00d5ff06;--sky-a2:#00a4db0e;--sky-a3:#00b3ee1e;--sky-a4:#00ace42e;--sky-a5:#00a1d841;--sky-a6:#0092ca56;--sky-a7:#0089c172;--sky-a8:#0085bf9f;--sky-a9:#00c7fe83;--sky-a10:#00bcf38b;--sky-a11:#00749e;--sky-a12:#002540e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sky-a1:color(display-p3 .02 .804 1/.02);--sky-a2:color(display-p3 .024 .592 .757/.048);--sky-a3:color(display-p3 .004 .655 .886/.102);--sky-a4:color(display-p3 .004 .604 .851/.157);--sky-a5:color(display-p3 .004 .565 .792/.224);--sky-a6:color(display-p3 .004 .502 .737/.299);--sky-a7:color(display-p3 .004 .459 .694/.397);--sky-a8:color(display-p3 0 .435 .682/.542);--sky-a9:color(display-p3 .004 .71 .965/.416);--sky-a10:color(display-p3 .004 .647 .914/.444);--sky-a11:color(display-p3 .193 .448 .605);--sky-a12:color(display-p3 .145 .241 .329)}}}.dark,.dark-theme{--sky-a1:#0044ff0f;--sky-a2:#1171fb18;--sky-a3:#1184fc33;--sky-a4:#128fff49;--sky-a5:#1c9dfd5d;--sky-a6:#28a5ff72;--sky-a7:#2badfe8b;--sky-a8:#1db2fea9;--sky-a9:#7ce3fffe;--sky-a10:#a8eeff;--sky-a11:#7cd3ffef;--sky-a12:#c2f3ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sky-a1:color(display-p3 0 .282 .996/.055);--sky-a2:color(display-p3 .157 .467 .992/.089);--sky-a3:color(display-p3 .192 .522 .996/.19);--sky-a4:color(display-p3 .212 .584 1/.274);--sky-a5:color(display-p3 .259 .631 1/.349);--sky-a6:color(display-p3 .302 .655 1/.433);--sky-a7:color(display-p3 .329 .686 1/.526);--sky-a8:color(display-p3 .325 .71 1/.643);--sky-a9:color(display-p3 .592 .894 1/.984);--sky-a10:color(display-p3 .722 .933 1/.992);--sky-a11:color(display-p3 .536 .772 .924);--sky-a12:color(display-p3 .799 .947 .993)}}}:root,.light,.light-theme{--mint-1:#f9fefd;--mint-2:#f2fbf9;--mint-3:#ddf9f2;--mint-4:#c8f4e9;--mint-5:#b3ecde;--mint-6:#9ce0d0;--mint-7:#7ecfbd;--mint-8:#4cbba5;--mint-9:#86ead4;--mint-10:#7de0cb;--mint-11:#027864;--mint-12:#16433c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mint-1:color(display-p3 .98 .995 .992);--mint-2:color(display-p3 .957 .985 .977);--mint-3:color(display-p3 .888 .972 .95);--mint-4:color(display-p3 .819 .951 .916);--mint-5:color(display-p3 .747 .918 .873);--mint-6:color(display-p3 .668 .87 .818);--mint-7:color(display-p3 .567 .805 .744);--mint-8:color(display-p3 .42 .724 .649);--mint-9:color(display-p3 .62 .908 .834);--mint-10:color(display-p3 .585 .871 .797);--mint-11:color(display-p3 .203 .463 .397);--mint-12:color(display-p3 .136 .259 .236)}}}.dark,.dark-theme{--mint-1:#0e1515;--mint-2:#0f1b1b;--mint-3:#092c2b;--mint-4:#003a38;--mint-5:#004744;--mint-6:#105650;--mint-7:#1e685f;--mint-8:#277f70;--mint-9:#86ead4;--mint-10:#a8f5e5;--mint-11:#58d5ba;--mint-12:#c4f5e1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mint-1:color(display-p3 .059 .082 .081);--mint-2:color(display-p3 .068 .104 .105);--mint-3:color(display-p3 .077 .17 .168);--mint-4:color(display-p3 .068 .224 .22);--mint-5:color(display-p3 .104 .275 .264);--mint-6:color(display-p3 .154 .332 .313);--mint-7:color(display-p3 .207 .403 .373);--mint-8:color(display-p3 .258 .49 .441);--mint-9:color(display-p3 .62 .908 .834);--mint-10:color(display-p3 .725 .954 .898);--mint-11:color(display-p3 .482 .825 .733);--mint-12:color(display-p3 .807 .955 .887)}}}:root,.light,.light-theme{--mint-a1:#00d5aa06;--mint-a2:#00b18a0d;--mint-a3:#00d29e22;--mint-a4:#00cc9937;--mint-a5:#00c0914c;--mint-a6:#00b08663;--mint-a7:#00a17d81;--mint-a8:#009e7fb3;--mint-a9:#00d3a579;--mint-a10:#00c39982;--mint-a11:#007763fd;--mint-a12:#00312ae9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mint-a1:color(display-p3 .02 .804 .608/.02);--mint-a2:color(display-p3 .02 .647 .467/.044);--mint-a3:color(display-p3 .004 .761 .553/.114);--mint-a4:color(display-p3 .004 .741 .545/.181);--mint-a5:color(display-p3 .004 .678 .51/.255);--mint-a6:color(display-p3 .004 .616 .463/.334);--mint-a7:color(display-p3 .004 .549 .412/.432);--mint-a8:color(display-p3 0 .529 .392/.581);--mint-a9:color(display-p3 .004 .765 .569/.381);--mint-a10:color(display-p3 .004 .69 .51/.416);--mint-a11:color(display-p3 .203 .463 .397);--mint-a12:color(display-p3 .136 .259 .236)}}}.dark,.dark-theme{--mint-a1:#00dede05;--mint-a2:#00f9f90b;--mint-a3:#00fff61d;--mint-a4:#00fff42c;--mint-a5:#00fff23a;--mint-a6:#0effeb4a;--mint-a7:#34fde55e;--mint-a8:#41ffdf76;--mint-a9:#92ffe7e9;--mint-a10:#aefeedf5;--mint-a11:#67ffded2;--mint-a12:#cbfee9f5}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mint-a1:color(display-p3 0 .992 .992/.017);--mint-a2:color(display-p3 .071 .98 .98/.043);--mint-a3:color(display-p3 .176 .996 .996/.11);--mint-a4:color(display-p3 .071 .996 .973/.169);--mint-a5:color(display-p3 .243 1 .949/.223);--mint-a6:color(display-p3 .369 1 .933/.286);--mint-a7:color(display-p3 .459 1 .914/.362);--mint-a8:color(display-p3 .49 1 .89/.454);--mint-a9:color(display-p3 .678 .996 .914/.904);--mint-a10:color(display-p3 .761 1 .941/.95);--mint-a11:color(display-p3 .482 .825 .733);--mint-a12:color(display-p3 .807 .955 .887)}}}:root,.light,.light-theme{--lime-1:#fcfdfa;--lime-2:#f8faf3;--lime-3:#eef6d6;--lime-4:#e2f0bd;--lime-5:#d3e7a6;--lime-6:#c2da91;--lime-7:#abc978;--lime-8:#8db654;--lime-9:#bdee63;--lime-10:#b0e64c;--lime-11:#5c7c2f;--lime-12:#37401c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--lime-1:color(display-p3 .989 .992 .981);--lime-2:color(display-p3 .975 .98 .954);--lime-3:color(display-p3 .939 .965 .851);--lime-4:color(display-p3 .896 .94 .76);--lime-5:color(display-p3 .843 .903 .678);--lime-6:color(display-p3 .778 .852 .599);--lime-7:color(display-p3 .694 .784 .508);--lime-8:color(display-p3 .585 .707 .378);--lime-9:color(display-p3 .78 .928 .466);--lime-10:color(display-p3 .734 .896 .397);--lime-11:color(display-p3 .386 .482 .227);--lime-12:color(display-p3 .222 .25 .128)}}}.dark,.dark-theme{--lime-1:#11130c;--lime-2:#151a10;--lime-3:#1f2917;--lime-4:#29371d;--lime-5:#334423;--lime-6:#3d522a;--lime-7:#496231;--lime-8:#577538;--lime-9:#bdee63;--lime-10:#d4ff70;--lime-11:#bde56c;--lime-12:#e3f7ba}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--lime-1:color(display-p3 .067 .073 .048);--lime-2:color(display-p3 .086 .1 .067);--lime-3:color(display-p3 .13 .16 .099);--lime-4:color(display-p3 .172 .214 .126);--lime-5:color(display-p3 .213 .266 .153);--lime-6:color(display-p3 .257 .321 .182);--lime-7:color(display-p3 .307 .383 .215);--lime-8:color(display-p3 .365 .456 .25);--lime-9:color(display-p3 .78 .928 .466);--lime-10:color(display-p3 .865 .995 .519);--lime-11:color(display-p3 .771 .893 .485);--lime-12:color(display-p3 .905 .966 .753)}}}:root,.light,.light-theme{--lime-a1:#66990005;--lime-a2:#6b95000c;--lime-a3:#96c80029;--lime-a4:#8fc60042;--lime-a5:#81bb0059;--lime-a6:#72aa006e;--lime-a7:#61990087;--lime-a8:#559200ab;--lime-a9:#93e4009c;--lime-a10:#8fdc00b3;--lime-a11:#375f00d0;--lime-a12:#1e2900e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--lime-a1:color(display-p3 .412 .608 .02/.02);--lime-a2:color(display-p3 .514 .592 .024/.048);--lime-a3:color(display-p3 .584 .765 .008/.15);--lime-a4:color(display-p3 .561 .757 .004/.24);--lime-a5:color(display-p3 .514 .698 .004/.322);--lime-a6:color(display-p3 .443 .627 0/.4);--lime-a7:color(display-p3 .376 .561 .004/.491);--lime-a8:color(display-p3 .333 .529 0/.624);--lime-a9:color(display-p3 .588 .867 0/.534);--lime-a10:color(display-p3 .561 .827 0/.604);--lime-a11:color(display-p3 .386 .482 .227);--lime-a12:color(display-p3 .222 .25 .128)}}}.dark,.dark-theme{--lime-a1:#11bb0003;--lime-a2:#78f7000a;--lime-a3:#9bfd4c1a;--lime-a4:#a7fe5c29;--lime-a5:#affe6537;--lime-a6:#b2fe6d46;--lime-a7:#b6ff6f57;--lime-a8:#b6fd6d6c;--lime-a9:#caff69ed;--lime-a10:#d4ff70;--lime-a11:#d1fe77e4;--lime-a12:#e9febff7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--lime-a1:color(display-p3 .067 .941 0/.009);--lime-a2:color(display-p3 .584 .996 .071/.038);--lime-a3:color(display-p3 .69 1 .38/.101);--lime-a4:color(display-p3 .729 1 .435/.16);--lime-a5:color(display-p3 .745 1 .471/.215);--lime-a6:color(display-p3 .769 1 .482/.274);--lime-a7:color(display-p3 .769 1 .506/.341);--lime-a8:color(display-p3 .784 1 .51/.416);--lime-a9:color(display-p3 .839 1 .502/.925);--lime-a10:color(display-p3 .871 1 .522/.996);--lime-a11:color(display-p3 .771 .893 .485);--lime-a12:color(display-p3 .905 .966 .753)}}}:root,.light,.light-theme{--yellow-1:#fdfdf9;--yellow-2:#fefce9;--yellow-3:#fffab8;--yellow-4:#fff394;--yellow-5:#ffe770;--yellow-6:#f3d768;--yellow-7:#e4c767;--yellow-8:#d5ae39;--yellow-9:#ffe629;--yellow-10:#ffdc00;--yellow-11:#9e6c00;--yellow-12:#473b1f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--yellow-1:color(display-p3 .992 .992 .978);--yellow-2:color(display-p3 .995 .99 .922);--yellow-3:color(display-p3 .997 .982 .749);--yellow-4:color(display-p3 .992 .953 .627);--yellow-5:color(display-p3 .984 .91 .51);--yellow-6:color(display-p3 .934 .847 .474);--yellow-7:color(display-p3 .876 .785 .46);--yellow-8:color(display-p3 .811 .689 .313);--yellow-9:color(display-p3 1 .92 .22);--yellow-10:color(display-p3 .977 .868 .291);--yellow-11:color(display-p3 .6 .44 0);--yellow-12:color(display-p3 .271 .233 .137)}}}.dark,.dark-theme{--yellow-1:#14120b;--yellow-2:#1b180f;--yellow-3:#2d2305;--yellow-4:#362b00;--yellow-5:#433500;--yellow-6:#524202;--yellow-7:#665417;--yellow-8:#836a21;--yellow-9:#ffe629;--yellow-10:#ffff57;--yellow-11:#f5e147;--yellow-12:#f6eeb4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--yellow-1:color(display-p3 .078 .069 .047);--yellow-2:color(display-p3 .103 .094 .063);--yellow-3:color(display-p3 .168 .137 .039);--yellow-4:color(display-p3 .209 .169 0);--yellow-5:color(display-p3 .255 .209 0);--yellow-6:color(display-p3 .31 .261 .07);--yellow-7:color(display-p3 .389 .331 .135);--yellow-8:color(display-p3 .497 .42 .182);--yellow-9:color(display-p3 1 .92 .22);--yellow-10:color(display-p3 1 1 .456);--yellow-11:color(display-p3 .948 .885 .392);--yellow-12:color(display-p3 .959 .934 .731)}}}:root,.light,.light-theme{--yellow-a1:#aaaa0006;--yellow-a2:#f4dd0016;--yellow-a3:#ffee0047;--yellow-a4:#ffe3016b;--yellow-a5:#ffd5008f;--yellow-a6:#ebbc0097;--yellow-a7:#d2a10098;--yellow-a8:#c99700c6;--yellow-a9:#ffe100d6;--yellow-a10:#ffdc00;--yellow-a11:#9e6c00;--yellow-a12:#2e2000e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--yellow-a1:color(display-p3 .675 .675 .024/.024);--yellow-a2:color(display-p3 .953 .855 .008/.079);--yellow-a3:color(display-p3 .988 .925 .004/.251);--yellow-a4:color(display-p3 .98 .875 .004/.373);--yellow-a5:color(display-p3 .969 .816 .004/.491);--yellow-a6:color(display-p3 .875 .71 0/.526);--yellow-a7:color(display-p3 .769 .604 0/.542);--yellow-a8:color(display-p3 .725 .549 0/.687);--yellow-a9:color(display-p3 1 .898 0/.781);--yellow-a10:color(display-p3 .969 .812 0/.71);--yellow-a11:color(display-p3 .6 .44 0);--yellow-a12:color(display-p3 .271 .233 .137)}}}.dark,.dark-theme{--yellow-a1:#d1510004;--yellow-a2:#f9b4000b;--yellow-a3:#ffaa001e;--yellow-a4:#fdb70028;--yellow-a5:#febb0036;--yellow-a6:#fec40046;--yellow-a7:#fdcb225c;--yellow-a8:#fdca327b;--yellow-a9:#ffe629;--yellow-a10:#ffff57;--yellow-a11:#fee949f5;--yellow-a12:#fef6baf6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--yellow-a1:color(display-p3 .973 .369 0/.013);--yellow-a2:color(display-p3 .996 .792 0/.038);--yellow-a3:color(display-p3 .996 .71 0/.11);--yellow-a4:color(display-p3 .996 .741 0/.152);--yellow-a5:color(display-p3 .996 .765 0/.202);--yellow-a6:color(display-p3 .996 .816 .082/.261);--yellow-a7:color(display-p3 1 .831 .263/.345);--yellow-a8:color(display-p3 1 .831 .314/.463);--yellow-a9:color(display-p3 1 .922 .22);--yellow-a10:color(display-p3 1 1 .455);--yellow-a11:color(display-p3 .948 .885 .392);--yellow-a12:color(display-p3 .959 .934 .731)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-1:color(display-p3 .082 .07 .05);--amber-2:color(display-p3 .111 .094 .064);--amber-3:color(display-p3 .178 .128 .049);--amber-4:color(display-p3 .239 .156 0);--amber-5:color(display-p3 .29 .193 0);--amber-6:color(display-p3 .344 .245 .076);--amber-7:color(display-p3 .422 .314 .141);--amber-8:color(display-p3 .535 .399 .189);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 1 .87 .15);--amber-11:color(display-p3 1 .8 .29);--amber-12:color(display-p3 .984 .909 .726)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-a1:color(display-p3 .992 .298 0/.017);--amber-a2:color(display-p3 .988 .651 0/.047);--amber-a3:color(display-p3 1 .6 0/.118);--amber-a4:color(display-p3 1 .557 0/.185);--amber-a5:color(display-p3 1 .592 0/.24);--amber-a6:color(display-p3 1 .659 .094/.299);--amber-a7:color(display-p3 1 .714 .263/.383);--amber-a8:color(display-p3 .996 .729 .306/.5);--amber-a9:color(display-p3 1 .769 .259);--amber-a10:color(display-p3 1 .871 .149);--amber-a11:color(display-p3 1 .8 .29);--amber-a12:color(display-p3 .984 .909 .726)}}}:root,.light,.light-theme{--gold-1:#fdfdfc;--gold-2:#faf9f2;--gold-3:#f2f0e7;--gold-4:#eae6db;--gold-5:#e1dccf;--gold-6:#d8d0bf;--gold-7:#cbc0aa;--gold-8:#b9a88d;--gold-9:#978365;--gold-10:#8c7a5e;--gold-11:#71624b;--gold-12:#3b352b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gold-1:color(display-p3 .992 .992 .989);--gold-2:color(display-p3 .98 .976 .953);--gold-3:color(display-p3 .947 .94 .909);--gold-4:color(display-p3 .914 .904 .865);--gold-5:color(display-p3 .88 .865 .816);--gold-6:color(display-p3 .84 .818 .756);--gold-7:color(display-p3 .788 .753 .677);--gold-8:color(display-p3 .715 .66 .565);--gold-9:color(display-p3 .579 .517 .41);--gold-10:color(display-p3 .538 .479 .38);--gold-11:color(display-p3 .433 .386 .305);--gold-12:color(display-p3 .227 .209 .173)}}}.dark,.dark-theme{--gold-1:#121211;--gold-2:#1b1a17;--gold-3:#24231f;--gold-4:#2d2b26;--gold-5:#38352e;--gold-6:#444039;--gold-7:#544f46;--gold-8:#696256;--gold-9:#978365;--gold-10:#a39073;--gold-11:#cbb99f;--gold-12:#e8e2d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gold-1:color(display-p3 .071 .071 .067);--gold-2:color(display-p3 .104 .101 .09);--gold-3:color(display-p3 .141 .136 .122);--gold-4:color(display-p3 .177 .17 .152);--gold-5:color(display-p3 .217 .207 .185);--gold-6:color(display-p3 .265 .252 .225);--gold-7:color(display-p3 .327 .31 .277);--gold-8:color(display-p3 .407 .384 .342);--gold-9:color(display-p3 .579 .517 .41);--gold-10:color(display-p3 .628 .566 .463);--gold-11:color(display-p3 .784 .728 .635);--gold-12:color(display-p3 .906 .887 .855)}}}:root,.light,.light-theme{--gold-a1:#55550003;--gold-a2:#9d8a000d;--gold-a3:#75600018;--gold-a4:#6b4e0024;--gold-a5:#60460030;--gold-a6:#64440040;--gold-a7:#63420055;--gold-a8:#633d0072;--gold-a9:#5332009a;--gold-a10:#492d00a1;--gold-a11:#362100b4;--gold-a12:#130c00d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gold-a1:color(display-p3 .349 .349 .024/.012);--gold-a2:color(display-p3 .592 .514 .024/.048);--gold-a3:color(display-p3 .4 .357 .012/.091);--gold-a4:color(display-p3 .357 .298 .008/.134);--gold-a5:color(display-p3 .345 .282 .004/.185);--gold-a6:color(display-p3 .341 .263 .004/.244);--gold-a7:color(display-p3 .345 .235 .004/.322);--gold-a8:color(display-p3 .345 .22 .004/.436);--gold-a9:color(display-p3 .286 .18 0/.589);--gold-a10:color(display-p3 .255 .161 0/.62);--gold-a11:color(display-p3 .433 .386 .305);--gold-a12:color(display-p3 .227 .209 .173)}}}.dark,.dark-theme{--gold-a1:#91911102;--gold-a2:#f9e29d0b;--gold-a3:#f8ecbb15;--gold-a4:#ffeec41e;--gold-a5:#feecc22a;--gold-a6:#feebcb37;--gold-a7:#ffedcd48;--gold-a8:#fdeaca5f;--gold-a9:#ffdba690;--gold-a10:#fedfb09d;--gold-a11:#fee7c6c8;--gold-a12:#fef7ede7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gold-a1:color(display-p3 .855 .855 .071/.005);--gold-a2:color(display-p3 .98 .89 .616/.043);--gold-a3:color(display-p3 1 .949 .753/.08);--gold-a4:color(display-p3 1 .933 .8/.118);--gold-a5:color(display-p3 1 .949 .804/.16);--gold-a6:color(display-p3 1 .925 .8/.215);--gold-a7:color(display-p3 1 .945 .831/.278);--gold-a8:color(display-p3 1 .937 .82/.366);--gold-a9:color(display-p3 .996 .882 .69/.551);--gold-a10:color(display-p3 1 .894 .725/.601);--gold-a11:color(display-p3 .784 .728 .635);--gold-a12:color(display-p3 .906 .887 .855)}}}:root,.light,.light-theme{--bronze-1:#fdfcfc;--bronze-2:#fdf7f5;--bronze-3:#f6edea;--bronze-4:#efe4df;--bronze-5:#e7d9d3;--bronze-6:#dfcdc5;--bronze-7:#d3bcb3;--bronze-8:#c2a499;--bronze-9:#a18072;--bronze-10:#957468;--bronze-11:#7d5e54;--bronze-12:#43302b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--bronze-1:color(display-p3 .991 .988 .988);--bronze-2:color(display-p3 .989 .97 .961);--bronze-3:color(display-p3 .958 .932 .919);--bronze-4:color(display-p3 .929 .894 .877);--bronze-5:color(display-p3 .898 .853 .832);--bronze-6:color(display-p3 .861 .805 .778);--bronze-7:color(display-p3 .812 .739 .706);--bronze-8:color(display-p3 .741 .647 .606);--bronze-9:color(display-p3 .611 .507 .455);--bronze-10:color(display-p3 .563 .461 .414);--bronze-11:color(display-p3 .471 .373 .336);--bronze-12:color(display-p3 .251 .191 .172)}}}.dark,.dark-theme{--bronze-1:#141110;--bronze-2:#1c1917;--bronze-3:#262220;--bronze-4:#302a27;--bronze-5:#3b3330;--bronze-6:#493e3a;--bronze-7:#5a4c47;--bronze-8:#6f5f58;--bronze-9:#a18072;--bronze-10:#ae8c7e;--bronze-11:#d4b3a5;--bronze-12:#ede0d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--bronze-1:color(display-p3 .076 .067 .063);--bronze-2:color(display-p3 .106 .097 .093);--bronze-3:color(display-p3 .147 .132 .125);--bronze-4:color(display-p3 .185 .166 .156);--bronze-5:color(display-p3 .227 .202 .19);--bronze-6:color(display-p3 .278 .246 .23);--bronze-7:color(display-p3 .343 .302 .281);--bronze-8:color(display-p3 .426 .374 .347);--bronze-9:color(display-p3 .611 .507 .455);--bronze-10:color(display-p3 .66 .556 .504);--bronze-11:color(display-p3 .81 .707 .655);--bronze-12:color(display-p3 .921 .88 .854)}}}:root,.light,.light-theme{--bronze-a1:#55000003;--bronze-a2:#cc33000a;--bronze-a3:#92250015;--bronze-a4:#80280020;--bronze-a5:#7423002c;--bronze-a6:#7324003a;--bronze-a7:#6c1f004c;--bronze-a8:#671c0066;--bronze-a9:#551a008d;--bronze-a10:#4c150097;--bronze-a11:#3d0f00ab;--bronze-a12:#1d0600d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--bronze-a1:color(display-p3 .349 .024 .024/.012);--bronze-a2:color(display-p3 .71 .22 .024/.04);--bronze-a3:color(display-p3 .482 .2 .008/.083);--bronze-a4:color(display-p3 .424 .133 .004/.122);--bronze-a5:color(display-p3 .4 .145 .004/.169);--bronze-a6:color(display-p3 .388 .125 .004/.224);--bronze-a7:color(display-p3 .365 .11 .004/.295);--bronze-a8:color(display-p3 .341 .102 .004/.393);--bronze-a9:color(display-p3 .29 .094 0/.546);--bronze-a10:color(display-p3 .255 .082 0/.585);--bronze-a11:color(display-p3 .471 .373 .336);--bronze-a12:color(display-p3 .251 .191 .172)}}}.dark,.dark-theme{--bronze-a1:#d1110004;--bronze-a2:#fbbc910c;--bronze-a3:#faceb817;--bronze-a4:#facdb622;--bronze-a5:#ffd2c12d;--bronze-a6:#ffd1c03c;--bronze-a7:#fdd0c04f;--bronze-a8:#ffd6c565;--bronze-a9:#fec7b09b;--bronze-a10:#fecab5a9;--bronze-a11:#ffd7c6d1;--bronze-a12:#fff1e9ec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--bronze-a1:color(display-p3 .941 .067 0/.009);--bronze-a2:color(display-p3 .98 .8 .706/.043);--bronze-a3:color(display-p3 .988 .851 .761/.085);--bronze-a4:color(display-p3 .996 .839 .78/.127);--bronze-a5:color(display-p3 .996 .863 .773/.173);--bronze-a6:color(display-p3 1 .863 .796/.227);--bronze-a7:color(display-p3 1 .867 .8/.295);--bronze-a8:color(display-p3 1 .859 .788/.387);--bronze-a9:color(display-p3 1 .82 .733/.585);--bronze-a10:color(display-p3 1 .839 .761/.635);--bronze-a11:color(display-p3 .81 .707 .655);--bronze-a12:color(display-p3 .921 .88 .854)}}}:root,.light,.light-theme{--gray-1:#fcfcfc;--gray-2:#f9f9f9;--gray-3:#f0f0f0;--gray-4:#e8e8e8;--gray-5:#e0e0e0;--gray-6:#d9d9d9;--gray-7:#cecece;--gray-8:#bbb;--gray-9:#8d8d8d;--gray-10:#838383;--gray-11:#646464;--gray-12:#202020}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-1:color(display-p3 .988 .988 .988);--gray-2:color(display-p3 .975 .975 .975);--gray-3:color(display-p3 .939 .939 .939);--gray-4:color(display-p3 .908 .908 .908);--gray-5:color(display-p3 .88 .88 .88);--gray-6:color(display-p3 .849 .849 .849);--gray-7:color(display-p3 .807 .807 .807);--gray-8:color(display-p3 .732 .732 .732);--gray-9:color(display-p3 .553 .553 .553);--gray-10:color(display-p3 .512 .512 .512);--gray-11:color(display-p3 .392 .392 .392);--gray-12:color(display-p3 .125 .125 .125)}}}.dark,.dark-theme{--gray-1:#111;--gray-2:#191919;--gray-3:#222;--gray-4:#2a2a2a;--gray-5:#313131;--gray-6:#3a3a3a;--gray-7:#484848;--gray-8:#606060;--gray-9:#6e6e6e;--gray-10:#7b7b7b;--gray-11:#b4b4b4;--gray-12:#eee}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-1:color(display-p3 .067 .067 .067);--gray-2:color(display-p3 .098 .098 .098);--gray-3:color(display-p3 .135 .135 .135);--gray-4:color(display-p3 .163 .163 .163);--gray-5:color(display-p3 .192 .192 .192);--gray-6:color(display-p3 .228 .228 .228);--gray-7:color(display-p3 .283 .283 .283);--gray-8:color(display-p3 .375 .375 .375);--gray-9:color(display-p3 .431 .431 .431);--gray-10:color(display-p3 .484 .484 .484);--gray-11:color(display-p3 .706 .706 .706);--gray-12:color(display-p3 .933 .933 .933)}}}:root,.light,.light-theme{--gray-a1:#00000003;--gray-a2:#00000006;--gray-a3:#0000000f;--gray-a4:#00000017;--gray-a5:#0000001f;--gray-a6:#00000026;--gray-a7:#00000031;--gray-a8:#0004;--gray-a9:#00000072;--gray-a10:#0000007c;--gray-a11:#0000009b;--gray-a12:#000000df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-a1:color(display-p3 0 0 0/.012);--gray-a2:color(display-p3 0 0 0/.024);--gray-a3:color(display-p3 0 0 0/.063);--gray-a4:color(display-p3 0 0 0/.09);--gray-a5:color(display-p3 0 0 0/.122);--gray-a6:color(display-p3 0 0 0/.153);--gray-a7:color(display-p3 0 0 0/.192);--gray-a8:color(display-p3 0 0 0/.267);--gray-a9:color(display-p3 0 0 0/.447);--gray-a10:color(display-p3 0 0 0/.486);--gray-a11:color(display-p3 0 0 0/.608);--gray-a12:color(display-p3 0 0 0/.875)}}}.dark,.dark-theme{--gray-a1:#0000;--gray-a2:#ffffff09;--gray-a3:#ffffff12;--gray-a4:#ffffff1b;--gray-a5:#fff2;--gray-a6:#ffffff2c;--gray-a7:#ffffff3b;--gray-a8:#fff5;--gray-a9:#ffffff64;--gray-a10:#ffffff72;--gray-a11:#ffffffaf;--gray-a12:#ffffffed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-a1:color(display-p3 0 0 0/0);--gray-a2:color(display-p3 1 1 1/.034);--gray-a3:color(display-p3 1 1 1/.071);--gray-a4:color(display-p3 1 1 1/.105);--gray-a5:color(display-p3 1 1 1/.134);--gray-a6:color(display-p3 1 1 1/.172);--gray-a7:color(display-p3 1 1 1/.231);--gray-a8:color(display-p3 1 1 1/.332);--gray-a9:color(display-p3 1 1 1/.391);--gray-a10:color(display-p3 1 1 1/.445);--gray-a11:color(display-p3 1 1 1/.685);--gray-a12:color(display-p3 1 1 1/.929)}}}:root,.light,.light-theme{--mauve-1:#fdfcfd;--mauve-2:#faf9fb;--mauve-3:#f2eff3;--mauve-4:#eae7ec;--mauve-5:#e3dfe6;--mauve-6:#dbd8e0;--mauve-7:#d0cdd7;--mauve-8:#bcbac7;--mauve-9:#8e8c99;--mauve-10:#84828e;--mauve-11:#65636d;--mauve-12:#211f26}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mauve-1:color(display-p3 .991 .988 .992);--mauve-2:color(display-p3 .98 .976 .984);--mauve-3:color(display-p3 .946 .938 .952);--mauve-4:color(display-p3 .915 .906 .925);--mauve-5:color(display-p3 .886 .876 .901);--mauve-6:color(display-p3 .856 .846 .875);--mauve-7:color(display-p3 .814 .804 .84);--mauve-8:color(display-p3 .735 .728 .777);--mauve-9:color(display-p3 .555 .549 .596);--mauve-10:color(display-p3 .514 .508 .552);--mauve-11:color(display-p3 .395 .388 .424);--mauve-12:color(display-p3 .128 .122 .147)}}}.dark,.dark-theme{--mauve-1:#121113;--mauve-2:#1a191b;--mauve-3:#232225;--mauve-4:#2b292d;--mauve-5:#323035;--mauve-6:#3c393f;--mauve-7:#49474e;--mauve-8:#625f69;--mauve-9:#6f6d78;--mauve-10:#7c7a85;--mauve-11:#b5b2bc;--mauve-12:#eeeef0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mauve-1:color(display-p3 .07 .067 .074);--mauve-2:color(display-p3 .101 .098 .105);--mauve-3:color(display-p3 .138 .134 .144);--mauve-4:color(display-p3 .167 .161 .175);--mauve-5:color(display-p3 .196 .189 .206);--mauve-6:color(display-p3 .232 .225 .245);--mauve-7:color(display-p3 .286 .277 .302);--mauve-8:color(display-p3 .383 .373 .408);--mauve-9:color(display-p3 .434 .428 .467);--mauve-10:color(display-p3 .487 .48 .519);--mauve-11:color(display-p3 .707 .7 .735);--mauve-12:color(display-p3 .933 .933 .94)}}}:root,.light,.light-theme{--mauve-a1:#55005503;--mauve-a2:#2b005506;--mauve-a3:#30004010;--mauve-a4:#20003618;--mauve-a5:#20003820;--mauve-a6:#14003527;--mauve-a7:#10003332;--mauve-a8:#08003145;--mauve-a9:#05001d73;--mauve-a10:#0500197d;--mauve-a11:#0400119c;--mauve-a12:#020008e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mauve-a1:color(display-p3 .349 .024 .349/.012);--mauve-a2:color(display-p3 .184 .024 .349/.024);--mauve-a3:color(display-p3 .129 .008 .255/.063);--mauve-a4:color(display-p3 .094 .012 .216/.095);--mauve-a5:color(display-p3 .098 .008 .224/.126);--mauve-a6:color(display-p3 .055 .004 .18/.153);--mauve-a7:color(display-p3 .067 .008 .184/.197);--mauve-a8:color(display-p3 .02 .004 .176/.271);--mauve-a9:color(display-p3 .02 .004 .106/.451);--mauve-a10:color(display-p3 .012 .004 .09/.491);--mauve-a11:color(display-p3 .016 0 .059/.612);--mauve-a12:color(display-p3 .008 0 .027/.879)}}}.dark,.dark-theme{--mauve-a1:#0000;--mauve-a2:#f5f4f609;--mauve-a3:#ebeaf814;--mauve-a4:#eee5f81d;--mauve-a5:#efe6fe25;--mauve-a6:#f1e6fd30;--mauve-a7:#eee9ff40;--mauve-a8:#eee7ff5d;--mauve-a9:#eae6fd6e;--mauve-a10:#ece9fd7c;--mauve-a11:#f5f1ffb7;--mauve-a12:#fdfdffef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mauve-a1:color(display-p3 0 0 0/0);--mauve-a2:color(display-p3 .996 .992 1/.034);--mauve-a3:color(display-p3 .937 .933 .992/.077);--mauve-a4:color(display-p3 .957 .918 .996/.111);--mauve-a5:color(display-p3 .937 .906 .996/.145);--mauve-a6:color(display-p3 .953 .925 .996/.183);--mauve-a7:color(display-p3 .945 .929 1/.246);--mauve-a8:color(display-p3 .937 .918 1/.361);--mauve-a9:color(display-p3 .933 .918 1/.424);--mauve-a10:color(display-p3 .941 .925 1/.479);--mauve-a11:color(display-p3 .965 .961 1/.712);--mauve-a12:color(display-p3 .992 .992 1/.937)}}}:root,.light,.light-theme{--slate-1:#fcfcfd;--slate-2:#f9f9fb;--slate-3:#f0f0f3;--slate-4:#e8e8ec;--slate-5:#e0e1e6;--slate-6:#d9d9e0;--slate-7:#cdced6;--slate-8:#b9bbc6;--slate-9:#8b8d98;--slate-10:#80838d;--slate-11:#60646c;--slate-12:#1c2024}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--slate-1:color(display-p3 .988 .988 .992);--slate-2:color(display-p3 .976 .976 .984);--slate-3:color(display-p3 .94 .941 .953);--slate-4:color(display-p3 .908 .909 .925);--slate-5:color(display-p3 .88 .881 .901);--slate-6:color(display-p3 .85 .852 .876);--slate-7:color(display-p3 .805 .808 .838);--slate-8:color(display-p3 .727 .733 .773);--slate-9:color(display-p3 .547 .553 .592);--slate-10:color(display-p3 .503 .512 .549);--slate-11:color(display-p3 .379 .392 .421);--slate-12:color(display-p3 .113 .125 .14)}}}.dark,.dark-theme{--slate-1:#111113;--slate-2:#18191b;--slate-3:#212225;--slate-4:#272a2d;--slate-5:#2e3135;--slate-6:#363a3f;--slate-7:#43484e;--slate-8:#5a6169;--slate-9:#696e77;--slate-10:#777b84;--slate-11:#b0b4ba;--slate-12:#edeef0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--slate-1:color(display-p3 .067 .067 .074);--slate-2:color(display-p3 .095 .098 .105);--slate-3:color(display-p3 .13 .135 .145);--slate-4:color(display-p3 .156 .163 .176);--slate-5:color(display-p3 .183 .191 .206);--slate-6:color(display-p3 .215 .226 .244);--slate-7:color(display-p3 .265 .28 .302);--slate-8:color(display-p3 .357 .381 .409);--slate-9:color(display-p3 .415 .431 .463);--slate-10:color(display-p3 .469 .483 .514);--slate-11:color(display-p3 .692 .704 .728);--slate-12:color(display-p3 .93 .933 .94)}}}:root,.light,.light-theme{--slate-a1:#00005503;--slate-a2:#00005506;--slate-a3:#0000330f;--slate-a4:#00002d17;--slate-a5:#0009321f;--slate-a6:#00002f26;--slate-a7:#00062e32;--slate-a8:#00083046;--slate-a9:#00051d74;--slate-a10:#00071b7f;--slate-a11:#0007149f;--slate-a12:#000509e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--slate-a1:color(display-p3 .024 .024 .349/.012);--slate-a2:color(display-p3 .024 .024 .349/.024);--slate-a3:color(display-p3 .004 .004 .204/.059);--slate-a4:color(display-p3 .012 .012 .184/.091);--slate-a5:color(display-p3 .004 .039 .2/.122);--slate-a6:color(display-p3 .008 .008 .165/.15);--slate-a7:color(display-p3 .008 .027 .184/.197);--slate-a8:color(display-p3 .004 .031 .176/.275);--slate-a9:color(display-p3 .004 .02 .106/.455);--slate-a10:color(display-p3 .004 .027 .098/.499);--slate-a11:color(display-p3 0 .02 .063/.62);--slate-a12:color(display-p3 0 .012 .031/.887)}}}.dark,.dark-theme{--slate-a1:#0000;--slate-a2:#d8f4f609;--slate-a3:#ddeaf814;--slate-a4:#d3edf81d;--slate-a5:#d9edfe25;--slate-a6:#d6ebfd30;--slate-a7:#d9edff40;--slate-a8:#d9edff5d;--slate-a9:#dfebfd6d;--slate-a10:#e5edfd7b;--slate-a11:#f1f7feb5;--slate-a12:#fcfdffef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--slate-a1:color(display-p3 0 0 0/0);--slate-a2:color(display-p3 .875 .992 1/.034);--slate-a3:color(display-p3 .882 .933 .992/.077);--slate-a4:color(display-p3 .882 .953 .996/.111);--slate-a5:color(display-p3 .878 .929 .996/.145);--slate-a6:color(display-p3 .882 .949 .996/.183);--slate-a7:color(display-p3 .882 .929 1/.246);--slate-a8:color(display-p3 .871 .937 1/.361);--slate-a9:color(display-p3 .898 .937 1/.42);--slate-a10:color(display-p3 .918 .945 1/.475);--slate-a11:color(display-p3 .949 .969 .996/.708);--slate-a12:color(display-p3 .988 .992 1/.937)}}}:root,.light,.light-theme{--sage-1:#fbfdfc;--sage-2:#f7f9f8;--sage-3:#eef1f0;--sage-4:#e6e9e8;--sage-5:#dfe2e0;--sage-6:#d7dad9;--sage-7:#cbcfcd;--sage-8:#b8bcba;--sage-9:#868e8b;--sage-10:#7c8481;--sage-11:#5f6563;--sage-12:#1a211e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sage-1:color(display-p3 .986 .992 .988);--sage-2:color(display-p3 .97 .977 .974);--sage-3:color(display-p3 .935 .944 .94);--sage-4:color(display-p3 .904 .913 .909);--sage-5:color(display-p3 .875 .885 .88);--sage-6:color(display-p3 .844 .854 .849);--sage-7:color(display-p3 .8 .811 .806);--sage-8:color(display-p3 .725 .738 .732);--sage-9:color(display-p3 .531 .556 .546);--sage-10:color(display-p3 .492 .515 .506);--sage-11:color(display-p3 .377 .395 .389);--sage-12:color(display-p3 .107 .129 .118)}}}.dark,.dark-theme{--sage-1:#101211;--sage-2:#171918;--sage-3:#202221;--sage-4:#272a29;--sage-5:#2e3130;--sage-6:#373b39;--sage-7:#444947;--sage-8:#5b625f;--sage-9:#63706b;--sage-10:#717d79;--sage-11:#adb5b2;--sage-12:#eceeed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sage-1:color(display-p3 .064 .07 .067);--sage-2:color(display-p3 .092 .098 .094);--sage-3:color(display-p3 .128 .135 .131);--sage-4:color(display-p3 .155 .164 .159);--sage-5:color(display-p3 .183 .193 .188);--sage-6:color(display-p3 .218 .23 .224);--sage-7:color(display-p3 .269 .285 .277);--sage-8:color(display-p3 .362 .382 .373);--sage-9:color(display-p3 .398 .438 .421);--sage-10:color(display-p3 .453 .49 .474);--sage-11:color(display-p3 .685 .709 .697);--sage-12:color(display-p3 .927 .933 .93)}}}:root,.light,.light-theme{--sage-a1:#00804004;--sage-a2:#00402008;--sage-a3:#002d1e11;--sage-a4:#001f1519;--sage-a5:#00180820;--sage-a6:#00140d28;--sage-a7:#00140a34;--sage-a8:#000f0847;--sage-a9:#00110b79;--sage-a10:#00100a83;--sage-a11:#000a07a0;--sage-a12:#000805e5}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sage-a1:color(display-p3 .024 .514 .267/.016);--sage-a2:color(display-p3 .02 .267 .145/.032);--sage-a3:color(display-p3 .008 .184 .125/.067);--sage-a4:color(display-p3 .012 .094 .051/.095);--sage-a5:color(display-p3 .008 .098 .035/.126);--sage-a6:color(display-p3 .004 .078 .027/.157);--sage-a7:color(display-p3 0 .059 .039/.2);--sage-a8:color(display-p3 .004 .047 .031/.275);--sage-a9:color(display-p3 .004 .059 .035/.471);--sage-a10:color(display-p3 0 .047 .031/.51);--sage-a11:color(display-p3 0 .031 .02/.624);--sage-a12:color(display-p3 0 .027 .012/.895)}}}.dark,.dark-theme{--sage-a1:#0000;--sage-a2:#f0f2f108;--sage-a3:#f3f5f412;--sage-a4:#f2fefd1a;--sage-a5:#f1fbfa22;--sage-a6:#edfbf42d;--sage-a7:#edfcf73c;--sage-a8:#ebfdf657;--sage-a9:#dffdf266;--sage-a10:#e5fdf674;--sage-a11:#f4fefbb0;--sage-a12:#fdfffeed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sage-a1:color(display-p3 0 0 0/0);--sage-a2:color(display-p3 .976 .988 .984/.03);--sage-a3:color(display-p3 .992 .945 .941/.072);--sage-a4:color(display-p3 .988 .996 .992/.102);--sage-a5:color(display-p3 .992 1 .996/.131);--sage-a6:color(display-p3 .973 1 .976/.173);--sage-a7:color(display-p3 .957 1 .976/.233);--sage-a8:color(display-p3 .957 1 .984/.334);--sage-a9:color(display-p3 .902 1 .957/.397);--sage-a10:color(display-p3 .929 1 .973/.452);--sage-a11:color(display-p3 .969 1 .988/.688);--sage-a12:color(display-p3 .992 1 .996/.929)}}}:root,.light,.light-theme{--olive-1:#fcfdfc;--olive-2:#f8faf8;--olive-3:#eff1ef;--olive-4:#e7e9e7;--olive-5:#dfe2df;--olive-6:#d7dad7;--olive-7:#cccfcc;--olive-8:#b9bcb8;--olive-9:#898e87;--olive-10:#7f847d;--olive-11:#60655f;--olive-12:#1d211c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-1:color(display-p3 .989 .992 .989);--olive-2:color(display-p3 .974 .98 .973);--olive-3:color(display-p3 .939 .945 .937);--olive-4:color(display-p3 .907 .914 .905);--olive-5:color(display-p3 .878 .885 .875);--olive-6:color(display-p3 .846 .855 .843);--olive-7:color(display-p3 .803 .812 .8);--olive-8:color(display-p3 .727 .738 .723);--olive-9:color(display-p3 .541 .556 .532);--olive-10:color(display-p3 .5 .515 .491);--olive-11:color(display-p3 .38 .395 .374);--olive-12:color(display-p3 .117 .129 .111)}}}.dark,.dark-theme{--olive-1:#111210;--olive-2:#181917;--olive-3:#212220;--olive-4:#282a27;--olive-5:#2f312e;--olive-6:#383a36;--olive-7:#454843;--olive-8:#5c625b;--olive-9:#687066;--olive-10:#767d74;--olive-11:#afb5ad;--olive-12:#eceeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-1:color(display-p3 .067 .07 .063);--olive-2:color(display-p3 .095 .098 .091);--olive-3:color(display-p3 .131 .135 .126);--olive-4:color(display-p3 .158 .163 .153);--olive-5:color(display-p3 .186 .192 .18);--olive-6:color(display-p3 .221 .229 .215);--olive-7:color(display-p3 .273 .284 .266);--olive-8:color(display-p3 .365 .382 .359);--olive-9:color(display-p3 .414 .438 .404);--olive-10:color(display-p3 .467 .49 .458);--olive-11:color(display-p3 .69 .709 .682);--olive-12:color(display-p3 .927 .933 .926)}}}:root,.light,.light-theme{--olive-a1:#00550003;--olive-a2:#00490007;--olive-a3:#00200010;--olive-a4:#00160018;--olive-a5:#00180020;--olive-a6:#00140028;--olive-a7:#000f0033;--olive-a8:#040f0047;--olive-a9:#050f0078;--olive-a10:#040e0082;--olive-a11:#020a00a0;--olive-a12:#010600e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-a1:color(display-p3 .024 .349 .024/.012);--olive-a2:color(display-p3 .024 .302 .024/.028);--olive-a3:color(display-p3 .008 .129 .008/.063);--olive-a4:color(display-p3 .012 .094 .012/.095);--olive-a5:color(display-p3 .035 .098 .008/.126);--olive-a6:color(display-p3 .027 .078 .004/.157);--olive-a7:color(display-p3 .02 .059 0/.2);--olive-a8:color(display-p3 .02 .059 .004/.279);--olive-a9:color(display-p3 .02 .051 .004/.467);--olive-a10:color(display-p3 .024 .047 0/.51);--olive-a11:color(display-p3 .012 .039 0/.628);--olive-a12:color(display-p3 .008 .024 0/.891)}}}.dark,.dark-theme{--olive-a1:#0000;--olive-a2:#f1f2f008;--olive-a3:#f4f5f312;--olive-a4:#f3fef21a;--olive-a5:#f2fbf122;--olive-a6:#f4faed2c;--olive-a7:#f2fced3b;--olive-a8:#edfdeb57;--olive-a9:#ebfde766;--olive-a10:#f0fdec74;--olive-a11:#f6fef4b0;--olive-a12:#fdfffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-a1:color(display-p3 0 0 0/0);--olive-a2:color(display-p3 .984 .988 .976/.03);--olive-a3:color(display-p3 .992 .996 .988/.068);--olive-a4:color(display-p3 .953 .996 .949/.102);--olive-a5:color(display-p3 .969 1 .965/.131);--olive-a6:color(display-p3 .973 1 .969/.169);--olive-a7:color(display-p3 .98 1 .961/.228);--olive-a8:color(display-p3 .961 1 .957/.334);--olive-a9:color(display-p3 .949 1 .922/.397);--olive-a10:color(display-p3 .953 1 .941/.452);--olive-a11:color(display-p3 .976 1 .965/.688);--olive-a12:color(display-p3 .992 1 .992/.929)}}}:root,.light,.light-theme{--sand-1:#fdfdfc;--sand-2:#f9f9f8;--sand-3:#f1f0ef;--sand-4:#e9e8e6;--sand-5:#e2e1de;--sand-6:#dad9d6;--sand-7:#cfceca;--sand-8:#bcbbb5;--sand-9:#8d8d86;--sand-10:#82827c;--sand-11:#63635e;--sand-12:#21201c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-1:color(display-p3 .992 .992 .989);--sand-2:color(display-p3 .977 .977 .973);--sand-3:color(display-p3 .943 .942 .936);--sand-4:color(display-p3 .913 .912 .903);--sand-5:color(display-p3 .885 .883 .873);--sand-6:color(display-p3 .854 .852 .839);--sand-7:color(display-p3 .813 .81 .794);--sand-8:color(display-p3 .738 .734 .713);--sand-9:color(display-p3 .553 .553 .528);--sand-10:color(display-p3 .511 .511 .488);--sand-11:color(display-p3 .388 .388 .37);--sand-12:color(display-p3 .129 .126 .111)}}}.dark,.dark-theme{--sand-1:#111110;--sand-2:#191918;--sand-3:#222221;--sand-4:#2a2a28;--sand-5:#31312e;--sand-6:#3b3a37;--sand-7:#494844;--sand-8:#62605b;--sand-9:#6f6d66;--sand-10:#7c7b74;--sand-11:#b5b3ad;--sand-12:#eeeeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sand-1:color(display-p3 .067 .067 .063);--sand-2:color(display-p3 .098 .098 .094);--sand-3:color(display-p3 .135 .135 .129);--sand-4:color(display-p3 .164 .163 .156);--sand-5:color(display-p3 .193 .192 .183);--sand-6:color(display-p3 .23 .229 .217);--sand-7:color(display-p3 .285 .282 .267);--sand-8:color(display-p3 .384 .378 .357);--sand-9:color(display-p3 .434 .428 .403);--sand-10:color(display-p3 .487 .481 .456);--sand-11:color(display-p3 .707 .703 .68);--sand-12:color(display-p3 .933 .933 .926)}}}:root,.light,.light-theme{--sand-a1:#55550003;--sand-a2:#25250007;--sand-a3:#20100010;--sand-a4:#1f150019;--sand-a5:#1f180021;--sand-a6:#19130029;--sand-a7:#19140035;--sand-a8:#1915014a;--sand-a9:#0f0f0079;--sand-a10:#0c0c0083;--sand-a11:#080800a1;--sand-a12:#060500e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-a1:color(display-p3 .349 .349 .024/.012);--sand-a2:color(display-p3 .161 .161 .024/.028);--sand-a3:color(display-p3 .067 .067 .008/.063);--sand-a4:color(display-p3 .129 .129 .012/.099);--sand-a5:color(display-p3 .098 .067 .008/.126);--sand-a6:color(display-p3 .102 .075 .004/.161);--sand-a7:color(display-p3 .098 .098 .004/.208);--sand-a8:color(display-p3 .086 .075 .004/.287);--sand-a9:color(display-p3 .051 .051 .004/.471);--sand-a10:color(display-p3 .047 .047 0/.514);--sand-a11:color(display-p3 .031 .031 0/.632);--sand-a12:color(display-p3 .024 .02 0/.891)}}}.dark,.dark-theme{--sand-a1:#0000;--sand-a2:#f4f4f309;--sand-a3:#f6f6f513;--sand-a4:#fefef31b;--sand-a5:#fbfbeb23;--sand-a6:#fffaed2d;--sand-a7:#fffbed3c;--sand-a8:#fff9eb57;--sand-a9:#fffae965;--sand-a10:#fffdee73;--sand-a11:#fffcf4b0;--sand-a12:#fffffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sand-a1:color(display-p3 0 0 0/0);--sand-a2:color(display-p3 .992 .992 .988/.034);--sand-a3:color(display-p3 .996 .996 .992/.072);--sand-a4:color(display-p3 .992 .992 .953/.106);--sand-a5:color(display-p3 1 1 .965/.135);--sand-a6:color(display-p3 1 .976 .929/.177);--sand-a7:color(display-p3 1 .984 .929/.236);--sand-a8:color(display-p3 1 .976 .925/.341);--sand-a9:color(display-p3 1 .98 .925/.395);--sand-a10:color(display-p3 1 .992 .933/.45);--sand-a11:color(display-p3 1 .996 .961/.685);--sand-a12:color(display-p3 1 1 .992/.929)}}}:root{--black-a1:#0000000d;--black-a2:#0000001a;--black-a3:#00000026;--black-a4:#0003;--black-a5:#0000004d;--black-a6:#0006;--black-a7:#00000080;--black-a8:#0009;--black-a9:#000000b3;--black-a10:#000c;--black-a11:#000000e6;--black-a12:#000000f2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--black-a1:color(display-p3 0 0 0/.05);--black-a2:color(display-p3 0 0 0/.1);--black-a3:color(display-p3 0 0 0/.15);--black-a4:color(display-p3 0 0 0/.2);--black-a5:color(display-p3 0 0 0/.3);--black-a6:color(display-p3 0 0 0/.4);--black-a7:color(display-p3 0 0 0/.5);--black-a8:color(display-p3 0 0 0/.6);--black-a9:color(display-p3 0 0 0/.7);--black-a10:color(display-p3 0 0 0/.8);--black-a11:color(display-p3 0 0 0/.9);--black-a12:color(display-p3 0 0 0/.95)}}}:root{--white-a1:#ffffff0d;--white-a2:#ffffff1a;--white-a3:#ffffff26;--white-a4:#fff3;--white-a5:#ffffff4d;--white-a6:#fff6;--white-a7:#ffffff80;--white-a8:#fff9;--white-a9:#ffffffb3;--white-a10:#fffc;--white-a11:#ffffffe6;--white-a12:#fffffff2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--white-a1:color(display-p3 1 1 1/.05);--white-a2:color(display-p3 1 1 1/.1);--white-a3:color(display-p3 1 1 1/.15);--white-a4:color(display-p3 1 1 1/.2);--white-a5:color(display-p3 1 1 1/.3);--white-a6:color(display-p3 1 1 1/.4);--white-a7:color(display-p3 1 1 1/.5);--white-a8:color(display-p3 1 1 1/.6);--white-a9:color(display-p3 1 1 1/.7);--white-a10:color(display-p3 1 1 1/.8);--white-a11:color(display-p3 1 1 1/.9);--white-a12:color(display-p3 1 1 1/.95)}}}:root{--tomato-contrast:white;--red-contrast:white;--ruby-contrast:white;--crimson-contrast:white;--pink-contrast:white;--plum-contrast:white;--purple-contrast:white;--violet-contrast:white;--iris-contrast:white;--indigo-contrast:white;--blue-contrast:white;--cyan-contrast:white;--teal-contrast:white;--jade-contrast:white;--green-contrast:white;--grass-contrast:white;--orange-contrast:white;--brown-contrast:white;--sky-contrast:#1c2024;--mint-contrast:#1a211e;--lime-contrast:#1d211c;--yellow-contrast:#21201c;--amber-contrast:#21201c;--gold-contrast:white;--bronze-contrast:white;--gray-contrast:white}:root,.light,.light-theme{--gray-surface:#fffc;--mauve-surface:#fffc;--slate-surface:#fffc;--sage-surface:#fffc;--olive-surface:#fffc;--sand-surface:#fffc;--tomato-surface:#fff6f5cc;--red-surface:#fff5f5cc;--ruby-surface:#fff5f6cc;--crimson-surface:#fef5f8cc;--pink-surface:#fef5facc;--plum-surface:#fdf5fdcc;--purple-surface:#faf5fecc;--violet-surface:#f9f6ffcc;--iris-surface:#f6f6ffcc;--indigo-surface:#f5f8ffcc;--blue-surface:#f1f9ffcc;--cyan-surface:#eff9facc;--teal-surface:#f0faf8cc;--jade-surface:#f1faf5cc;--green-surface:#f1faf4cc;--grass-surface:#f3faf3cc;--brown-surface:#fbf8f4cc;--bronze-surface:#fdf5f3cc;--gold-surface:#f9f8efcc;--sky-surface:#eef9fdcc;--mint-surface:#effaf8cc;--lime-surface:#f6f9f0cc;--yellow-surface:#fefbe4cc;--amber-surface:#fefae4cc;--orange-surface:#fff5e9cc}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-surface:color(display-p3 1 1 1/.8);--mauve-surface:color(display-p3 1 1 1/.8);--slate-surface:color(display-p3 1 1 1/.8);--sage-surface:color(display-p3 1 1 1/.8);--olive-surface:color(display-p3 1 1 1/.8);--sand-surface:color(display-p3 1 1 1/.8);--tomato-surface:color(display-p3 .9922 .9647 .9608/.8);--red-surface:color(display-p3 .9961 .9647 .9647/.8);--ruby-surface:color(display-p3 .9961 .9647 .9647/.8);--crimson-surface:color(display-p3 .9922 .9608 .9725/.8);--pink-surface:color(display-p3 .9922 .9608 .9804/.8);--plum-surface:color(display-p3 .9843 .9647 .9843/.8);--purple-surface:color(display-p3 .9804 .9647 .9922/.8);--violet-surface:color(display-p3 .9725 .9647 .9961/.8);--iris-surface:color(display-p3 .9647 .9647 .9961/.8);--indigo-surface:color(display-p3 .9647 .9725 .9961/.8);--blue-surface:color(display-p3 .9529 .9765 .9961/.8);--cyan-surface:color(display-p3 .9412 .9765 .9804/.8);--teal-surface:color(display-p3 .9451 .9804 .9725/.8);--jade-surface:color(display-p3 .9529 .9804 .9608/.8);--green-surface:color(display-p3 .9569 .9804 .9608/.8);--grass-surface:color(display-p3 .9569 .9804 .9569/.8);--brown-surface:color(display-p3 .9843 .9725 .9569/.8);--bronze-surface:color(display-p3 .9843 .9608 .9529/.8);--gold-surface:color(display-p3 .9765 .9725 .9412/.8);--sky-surface:color(display-p3 .9412 .9765 .9843/.8);--mint-surface:color(display-p3 .9451 .9804 .9725/.8);--lime-surface:color(display-p3 .9725 .9765 .9412/.8);--yellow-surface:color(display-p3 .9961 .9922 .902/.8);--amber-surface:color(display-p3 .9922 .9843 .902/.8);--orange-surface:color(display-p3 .9961 .9608 .9176/.8)}}}.dark,.dark-theme{--gray-surface:#21212180;--mauve-surface:#22212380;--slate-surface:#1f212380;--sage-surface:#1e201f80;--olive-surface:#1f201e80;--sand-surface:#21212080;--tomato-surface:#2d191580;--red-surface:#2f151780;--ruby-surface:#2b191d80;--crimson-surface:#2f151f80;--pink-surface:#31132980;--plum-surface:#2f152f80;--purple-surface:#2b173580;--violet-surface:#25193980;--iris-surface:#1d1b3980;--indigo-surface:#171d3b80;--blue-surface:#11213d80;--cyan-surface:#11252d80;--teal-surface:#13272580;--jade-surface:#13271f80;--green-surface:#15251d80;--grass-surface:#19231b80;--brown-surface:#271f1b80;--bronze-surface:#27211d80;--gold-surface:#25231d80;--sky-surface:#13233b80;--mint-surface:#15272780;--lime-surface:#1b211580;--yellow-surface:#231f1380;--amber-surface:#271f1380;--orange-surface:#271d1380}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-surface:color(display-p3 .1255 .1255 .1255/.5);--mauve-surface:color(display-p3 .1333 .1255 .1333/.5);--slate-surface:color(display-p3 .1176 .1255 .1333/.5);--sage-surface:color(display-p3 .1176 .1255 .1176/.5);--olive-surface:color(display-p3 .1176 .1255 .1176/.5);--sand-surface:color(display-p3 .1255 .1255 .1255/.5);--tomato-surface:color(display-p3 .1569 .0941 .0784/.5);--red-surface:color(display-p3 .1647 .0863 .0863/.5);--ruby-surface:color(display-p3 .1569 .0941 .1098/.5);--crimson-surface:color(display-p3 .1647 .0863 .1176/.5);--pink-surface:color(display-p3 .1725 .0784 .149/.5);--plum-surface:color(display-p3 .1647 .0863 .1725/.5);--purple-surface:color(display-p3 .149 .0941 .1961/.5);--violet-surface:color(display-p3 .1333 .102 .2118/.5);--iris-surface:color(display-p3 .1098 .102 .2118/.5);--indigo-surface:color(display-p3 .0941 .1098 .2196/.5);--blue-surface:color(display-p3 .0706 .1255 .2196/.5);--cyan-surface:color(display-p3 .0784 .1412 .1725/.5);--teal-surface:color(display-p3 .0863 .149 .1412/.5);--jade-surface:color(display-p3 .0863 .149 .1176/.5);--green-surface:color(display-p3 .0941 .1412 .1098/.5);--grass-surface:color(display-p3 .102 .1333 .102/.5);--brown-surface:color(display-p3 .1412 .1176 .102/.5);--bronze-surface:color(display-p3 .1412 .1255 .1176/.5);--gold-surface:color(display-p3 .1412 .1333 .1098/.5);--sky-surface:color(display-p3 .0863 .1333 .2196/.5);--mint-surface:color(display-p3 .0941 .149 .1412/.5);--lime-surface:color(display-p3 .1098 .1255 .0784/.5);--yellow-surface:color(display-p3 .1333 .1176 .0706/.5);--amber-surface:color(display-p3 .1412 .1176 .0784/.5);--orange-surface:color(display-p3 .1412 .1098 .0706/.5)}}}[data-accent-color=tomato]{--color-surface-accent:var(--tomato-surface);--accent-1:var(--tomato-1);--accent-2:var(--tomato-2);--accent-3:var(--tomato-3);--accent-4:var(--tomato-4);--accent-5:var(--tomato-5);--accent-6:var(--tomato-6);--accent-7:var(--tomato-7);--accent-8:var(--tomato-8);--accent-9:var(--tomato-9);--accent-contrast:var(--tomato-contrast);--accent-10:var(--tomato-10);--accent-11:var(--tomato-11);--accent-12:var(--tomato-12);--accent-a1:var(--tomato-a1);--accent-a2:var(--tomato-a2);--accent-a3:var(--tomato-a3);--accent-a4:var(--tomato-a4);--accent-a5:var(--tomato-a5);--accent-a6:var(--tomato-a6);--accent-a7:var(--tomato-a7);--accent-a8:var(--tomato-a8);--accent-a9:var(--tomato-a9);--accent-a10:var(--tomato-a10);--accent-a11:var(--tomato-a11);--accent-a12:var(--tomato-a12)}[data-accent-color=red]{--color-surface-accent:var(--red-surface);--accent-1:var(--red-1);--accent-2:var(--red-2);--accent-3:var(--red-3);--accent-4:var(--red-4);--accent-5:var(--red-5);--accent-6:var(--red-6);--accent-7:var(--red-7);--accent-8:var(--red-8);--accent-9:var(--red-9);--accent-contrast:var(--red-contrast);--accent-10:var(--red-10);--accent-11:var(--red-11);--accent-12:var(--red-12);--accent-a1:var(--red-a1);--accent-a2:var(--red-a2);--accent-a3:var(--red-a3);--accent-a4:var(--red-a4);--accent-a5:var(--red-a5);--accent-a6:var(--red-a6);--accent-a7:var(--red-a7);--accent-a8:var(--red-a8);--accent-a9:var(--red-a9);--accent-a10:var(--red-a10);--accent-a11:var(--red-a11);--accent-a12:var(--red-a12)}[data-accent-color=ruby]{--color-surface-accent:var(--ruby-surface);--accent-1:var(--ruby-1);--accent-2:var(--ruby-2);--accent-3:var(--ruby-3);--accent-4:var(--ruby-4);--accent-5:var(--ruby-5);--accent-6:var(--ruby-6);--accent-7:var(--ruby-7);--accent-8:var(--ruby-8);--accent-9:var(--ruby-9);--accent-contrast:var(--ruby-contrast);--accent-10:var(--ruby-10);--accent-11:var(--ruby-11);--accent-12:var(--ruby-12);--accent-a1:var(--ruby-a1);--accent-a2:var(--ruby-a2);--accent-a3:var(--ruby-a3);--accent-a4:var(--ruby-a4);--accent-a5:var(--ruby-a5);--accent-a6:var(--ruby-a6);--accent-a7:var(--ruby-a7);--accent-a8:var(--ruby-a8);--accent-a9:var(--ruby-a9);--accent-a10:var(--ruby-a10);--accent-a11:var(--ruby-a11);--accent-a12:var(--ruby-a12)}[data-accent-color=crimson]{--color-surface-accent:var(--crimson-surface);--accent-1:var(--crimson-1);--accent-2:var(--crimson-2);--accent-3:var(--crimson-3);--accent-4:var(--crimson-4);--accent-5:var(--crimson-5);--accent-6:var(--crimson-6);--accent-7:var(--crimson-7);--accent-8:var(--crimson-8);--accent-9:var(--crimson-9);--accent-contrast:var(--crimson-contrast);--accent-10:var(--crimson-10);--accent-11:var(--crimson-11);--accent-12:var(--crimson-12);--accent-a1:var(--crimson-a1);--accent-a2:var(--crimson-a2);--accent-a3:var(--crimson-a3);--accent-a4:var(--crimson-a4);--accent-a5:var(--crimson-a5);--accent-a6:var(--crimson-a6);--accent-a7:var(--crimson-a7);--accent-a8:var(--crimson-a8);--accent-a9:var(--crimson-a9);--accent-a10:var(--crimson-a10);--accent-a11:var(--crimson-a11);--accent-a12:var(--crimson-a12)}[data-accent-color=pink]{--color-surface-accent:var(--pink-surface);--accent-1:var(--pink-1);--accent-2:var(--pink-2);--accent-3:var(--pink-3);--accent-4:var(--pink-4);--accent-5:var(--pink-5);--accent-6:var(--pink-6);--accent-7:var(--pink-7);--accent-8:var(--pink-8);--accent-9:var(--pink-9);--accent-contrast:var(--pink-contrast);--accent-10:var(--pink-10);--accent-11:var(--pink-11);--accent-12:var(--pink-12);--accent-a1:var(--pink-a1);--accent-a2:var(--pink-a2);--accent-a3:var(--pink-a3);--accent-a4:var(--pink-a4);--accent-a5:var(--pink-a5);--accent-a6:var(--pink-a6);--accent-a7:var(--pink-a7);--accent-a8:var(--pink-a8);--accent-a9:var(--pink-a9);--accent-a10:var(--pink-a10);--accent-a11:var(--pink-a11);--accent-a12:var(--pink-a12)}[data-accent-color=plum]{--color-surface-accent:var(--plum-surface);--accent-1:var(--plum-1);--accent-2:var(--plum-2);--accent-3:var(--plum-3);--accent-4:var(--plum-4);--accent-5:var(--plum-5);--accent-6:var(--plum-6);--accent-7:var(--plum-7);--accent-8:var(--plum-8);--accent-9:var(--plum-9);--accent-contrast:var(--plum-contrast);--accent-10:var(--plum-10);--accent-11:var(--plum-11);--accent-12:var(--plum-12);--accent-a1:var(--plum-a1);--accent-a2:var(--plum-a2);--accent-a3:var(--plum-a3);--accent-a4:var(--plum-a4);--accent-a5:var(--plum-a5);--accent-a6:var(--plum-a6);--accent-a7:var(--plum-a7);--accent-a8:var(--plum-a8);--accent-a9:var(--plum-a9);--accent-a10:var(--plum-a10);--accent-a11:var(--plum-a11);--accent-a12:var(--plum-a12)}[data-accent-color=purple]{--color-surface-accent:var(--purple-surface);--accent-1:var(--purple-1);--accent-2:var(--purple-2);--accent-3:var(--purple-3);--accent-4:var(--purple-4);--accent-5:var(--purple-5);--accent-6:var(--purple-6);--accent-7:var(--purple-7);--accent-8:var(--purple-8);--accent-9:var(--purple-9);--accent-contrast:var(--purple-contrast);--accent-10:var(--purple-10);--accent-11:var(--purple-11);--accent-12:var(--purple-12);--accent-a1:var(--purple-a1);--accent-a2:var(--purple-a2);--accent-a3:var(--purple-a3);--accent-a4:var(--purple-a4);--accent-a5:var(--purple-a5);--accent-a6:var(--purple-a6);--accent-a7:var(--purple-a7);--accent-a8:var(--purple-a8);--accent-a9:var(--purple-a9);--accent-a10:var(--purple-a10);--accent-a11:var(--purple-a11);--accent-a12:var(--purple-a12)}[data-accent-color=violet]{--color-surface-accent:var(--violet-surface);--accent-1:var(--violet-1);--accent-2:var(--violet-2);--accent-3:var(--violet-3);--accent-4:var(--violet-4);--accent-5:var(--violet-5);--accent-6:var(--violet-6);--accent-7:var(--violet-7);--accent-8:var(--violet-8);--accent-9:var(--violet-9);--accent-contrast:var(--violet-contrast);--accent-10:var(--violet-10);--accent-11:var(--violet-11);--accent-12:var(--violet-12);--accent-a1:var(--violet-a1);--accent-a2:var(--violet-a2);--accent-a3:var(--violet-a3);--accent-a4:var(--violet-a4);--accent-a5:var(--violet-a5);--accent-a6:var(--violet-a6);--accent-a7:var(--violet-a7);--accent-a8:var(--violet-a8);--accent-a9:var(--violet-a9);--accent-a10:var(--violet-a10);--accent-a11:var(--violet-a11);--accent-a12:var(--violet-a12)}[data-accent-color=iris]{--color-surface-accent:var(--iris-surface);--accent-1:var(--iris-1);--accent-2:var(--iris-2);--accent-3:var(--iris-3);--accent-4:var(--iris-4);--accent-5:var(--iris-5);--accent-6:var(--iris-6);--accent-7:var(--iris-7);--accent-8:var(--iris-8);--accent-9:var(--iris-9);--accent-contrast:var(--iris-contrast);--accent-10:var(--iris-10);--accent-11:var(--iris-11);--accent-12:var(--iris-12);--accent-a1:var(--iris-a1);--accent-a2:var(--iris-a2);--accent-a3:var(--iris-a3);--accent-a4:var(--iris-a4);--accent-a5:var(--iris-a5);--accent-a6:var(--iris-a6);--accent-a7:var(--iris-a7);--accent-a8:var(--iris-a8);--accent-a9:var(--iris-a9);--accent-a10:var(--iris-a10);--accent-a11:var(--iris-a11);--accent-a12:var(--iris-a12)}[data-accent-color=indigo]{--color-surface-accent:var(--indigo-surface);--accent-1:var(--indigo-1);--accent-2:var(--indigo-2);--accent-3:var(--indigo-3);--accent-4:var(--indigo-4);--accent-5:var(--indigo-5);--accent-6:var(--indigo-6);--accent-7:var(--indigo-7);--accent-8:var(--indigo-8);--accent-9:var(--indigo-9);--accent-contrast:var(--indigo-contrast);--accent-10:var(--indigo-10);--accent-11:var(--indigo-11);--accent-12:var(--indigo-12);--accent-a1:var(--indigo-a1);--accent-a2:var(--indigo-a2);--accent-a3:var(--indigo-a3);--accent-a4:var(--indigo-a4);--accent-a5:var(--indigo-a5);--accent-a6:var(--indigo-a6);--accent-a7:var(--indigo-a7);--accent-a8:var(--indigo-a8);--accent-a9:var(--indigo-a9);--accent-a10:var(--indigo-a10);--accent-a11:var(--indigo-a11);--accent-a12:var(--indigo-a12)}[data-accent-color=blue]{--color-surface-accent:var(--blue-surface);--accent-1:var(--blue-1);--accent-2:var(--blue-2);--accent-3:var(--blue-3);--accent-4:var(--blue-4);--accent-5:var(--blue-5);--accent-6:var(--blue-6);--accent-7:var(--blue-7);--accent-8:var(--blue-8);--accent-9:var(--blue-9);--accent-contrast:var(--blue-contrast);--accent-10:var(--blue-10);--accent-11:var(--blue-11);--accent-12:var(--blue-12);--accent-a1:var(--blue-a1);--accent-a2:var(--blue-a2);--accent-a3:var(--blue-a3);--accent-a4:var(--blue-a4);--accent-a5:var(--blue-a5);--accent-a6:var(--blue-a6);--accent-a7:var(--blue-a7);--accent-a8:var(--blue-a8);--accent-a9:var(--blue-a9);--accent-a10:var(--blue-a10);--accent-a11:var(--blue-a11);--accent-a12:var(--blue-a12)}[data-accent-color=cyan]{--color-surface-accent:var(--cyan-surface);--accent-1:var(--cyan-1);--accent-2:var(--cyan-2);--accent-3:var(--cyan-3);--accent-4:var(--cyan-4);--accent-5:var(--cyan-5);--accent-6:var(--cyan-6);--accent-7:var(--cyan-7);--accent-8:var(--cyan-8);--accent-9:var(--cyan-9);--accent-contrast:var(--cyan-contrast);--accent-10:var(--cyan-10);--accent-11:var(--cyan-11);--accent-12:var(--cyan-12);--accent-a1:var(--cyan-a1);--accent-a2:var(--cyan-a2);--accent-a3:var(--cyan-a3);--accent-a4:var(--cyan-a4);--accent-a5:var(--cyan-a5);--accent-a6:var(--cyan-a6);--accent-a7:var(--cyan-a7);--accent-a8:var(--cyan-a8);--accent-a9:var(--cyan-a9);--accent-a10:var(--cyan-a10);--accent-a11:var(--cyan-a11);--accent-a12:var(--cyan-a12)}[data-accent-color=teal]{--color-surface-accent:var(--teal-surface);--accent-1:var(--teal-1);--accent-2:var(--teal-2);--accent-3:var(--teal-3);--accent-4:var(--teal-4);--accent-5:var(--teal-5);--accent-6:var(--teal-6);--accent-7:var(--teal-7);--accent-8:var(--teal-8);--accent-9:var(--teal-9);--accent-contrast:var(--teal-contrast);--accent-10:var(--teal-10);--accent-11:var(--teal-11);--accent-12:var(--teal-12);--accent-a1:var(--teal-a1);--accent-a2:var(--teal-a2);--accent-a3:var(--teal-a3);--accent-a4:var(--teal-a4);--accent-a5:var(--teal-a5);--accent-a6:var(--teal-a6);--accent-a7:var(--teal-a7);--accent-a8:var(--teal-a8);--accent-a9:var(--teal-a9);--accent-a10:var(--teal-a10);--accent-a11:var(--teal-a11);--accent-a12:var(--teal-a12)}[data-accent-color=jade]{--color-surface-accent:var(--jade-surface);--accent-1:var(--jade-1);--accent-2:var(--jade-2);--accent-3:var(--jade-3);--accent-4:var(--jade-4);--accent-5:var(--jade-5);--accent-6:var(--jade-6);--accent-7:var(--jade-7);--accent-8:var(--jade-8);--accent-9:var(--jade-9);--accent-contrast:var(--jade-contrast);--accent-10:var(--jade-10);--accent-11:var(--jade-11);--accent-12:var(--jade-12);--accent-a1:var(--jade-a1);--accent-a2:var(--jade-a2);--accent-a3:var(--jade-a3);--accent-a4:var(--jade-a4);--accent-a5:var(--jade-a5);--accent-a6:var(--jade-a6);--accent-a7:var(--jade-a7);--accent-a8:var(--jade-a8);--accent-a9:var(--jade-a9);--accent-a10:var(--jade-a10);--accent-a11:var(--jade-a11);--accent-a12:var(--jade-a12)}[data-accent-color=green]{--color-surface-accent:var(--green-surface);--accent-1:var(--green-1);--accent-2:var(--green-2);--accent-3:var(--green-3);--accent-4:var(--green-4);--accent-5:var(--green-5);--accent-6:var(--green-6);--accent-7:var(--green-7);--accent-8:var(--green-8);--accent-9:var(--green-9);--accent-contrast:var(--green-contrast);--accent-10:var(--green-10);--accent-11:var(--green-11);--accent-12:var(--green-12);--accent-a1:var(--green-a1);--accent-a2:var(--green-a2);--accent-a3:var(--green-a3);--accent-a4:var(--green-a4);--accent-a5:var(--green-a5);--accent-a6:var(--green-a6);--accent-a7:var(--green-a7);--accent-a8:var(--green-a8);--accent-a9:var(--green-a9);--accent-a10:var(--green-a10);--accent-a11:var(--green-a11);--accent-a12:var(--green-a12)}[data-accent-color=grass]{--color-surface-accent:var(--grass-surface);--accent-1:var(--grass-1);--accent-2:var(--grass-2);--accent-3:var(--grass-3);--accent-4:var(--grass-4);--accent-5:var(--grass-5);--accent-6:var(--grass-6);--accent-7:var(--grass-7);--accent-8:var(--grass-8);--accent-9:var(--grass-9);--accent-contrast:var(--grass-contrast);--accent-10:var(--grass-10);--accent-11:var(--grass-11);--accent-12:var(--grass-12);--accent-a1:var(--grass-a1);--accent-a2:var(--grass-a2);--accent-a3:var(--grass-a3);--accent-a4:var(--grass-a4);--accent-a5:var(--grass-a5);--accent-a6:var(--grass-a6);--accent-a7:var(--grass-a7);--accent-a8:var(--grass-a8);--accent-a9:var(--grass-a9);--accent-a10:var(--grass-a10);--accent-a11:var(--grass-a11);--accent-a12:var(--grass-a12)}[data-accent-color=orange]{--color-surface-accent:var(--orange-surface);--accent-1:var(--orange-1);--accent-2:var(--orange-2);--accent-3:var(--orange-3);--accent-4:var(--orange-4);--accent-5:var(--orange-5);--accent-6:var(--orange-6);--accent-7:var(--orange-7);--accent-8:var(--orange-8);--accent-9:var(--orange-9);--accent-contrast:var(--orange-contrast);--accent-10:var(--orange-10);--accent-11:var(--orange-11);--accent-12:var(--orange-12);--accent-a1:var(--orange-a1);--accent-a2:var(--orange-a2);--accent-a3:var(--orange-a3);--accent-a4:var(--orange-a4);--accent-a5:var(--orange-a5);--accent-a6:var(--orange-a6);--accent-a7:var(--orange-a7);--accent-a8:var(--orange-a8);--accent-a9:var(--orange-a9);--accent-a10:var(--orange-a10);--accent-a11:var(--orange-a11);--accent-a12:var(--orange-a12)}[data-accent-color=brown]{--color-surface-accent:var(--brown-surface);--accent-1:var(--brown-1);--accent-2:var(--brown-2);--accent-3:var(--brown-3);--accent-4:var(--brown-4);--accent-5:var(--brown-5);--accent-6:var(--brown-6);--accent-7:var(--brown-7);--accent-8:var(--brown-8);--accent-9:var(--brown-9);--accent-contrast:var(--brown-contrast);--accent-10:var(--brown-10);--accent-11:var(--brown-11);--accent-12:var(--brown-12);--accent-a1:var(--brown-a1);--accent-a2:var(--brown-a2);--accent-a3:var(--brown-a3);--accent-a4:var(--brown-a4);--accent-a5:var(--brown-a5);--accent-a6:var(--brown-a6);--accent-a7:var(--brown-a7);--accent-a8:var(--brown-a8);--accent-a9:var(--brown-a9);--accent-a10:var(--brown-a10);--accent-a11:var(--brown-a11);--accent-a12:var(--brown-a12)}[data-accent-color=sky]{--color-surface-accent:var(--sky-surface);--accent-1:var(--sky-1);--accent-2:var(--sky-2);--accent-3:var(--sky-3);--accent-4:var(--sky-4);--accent-5:var(--sky-5);--accent-6:var(--sky-6);--accent-7:var(--sky-7);--accent-8:var(--sky-8);--accent-9:var(--sky-9);--accent-contrast:var(--sky-contrast);--accent-10:var(--sky-10);--accent-11:var(--sky-11);--accent-12:var(--sky-12);--accent-a1:var(--sky-a1);--accent-a2:var(--sky-a2);--accent-a3:var(--sky-a3);--accent-a4:var(--sky-a4);--accent-a5:var(--sky-a5);--accent-a6:var(--sky-a6);--accent-a7:var(--sky-a7);--accent-a8:var(--sky-a8);--accent-a9:var(--sky-a9);--accent-a10:var(--sky-a10);--accent-a11:var(--sky-a11);--accent-a12:var(--sky-a12)}[data-accent-color=mint]{--color-surface-accent:var(--mint-surface);--accent-1:var(--mint-1);--accent-2:var(--mint-2);--accent-3:var(--mint-3);--accent-4:var(--mint-4);--accent-5:var(--mint-5);--accent-6:var(--mint-6);--accent-7:var(--mint-7);--accent-8:var(--mint-8);--accent-9:var(--mint-9);--accent-contrast:var(--mint-contrast);--accent-10:var(--mint-10);--accent-11:var(--mint-11);--accent-12:var(--mint-12);--accent-a1:var(--mint-a1);--accent-a2:var(--mint-a2);--accent-a3:var(--mint-a3);--accent-a4:var(--mint-a4);--accent-a5:var(--mint-a5);--accent-a6:var(--mint-a6);--accent-a7:var(--mint-a7);--accent-a8:var(--mint-a8);--accent-a9:var(--mint-a9);--accent-a10:var(--mint-a10);--accent-a11:var(--mint-a11);--accent-a12:var(--mint-a12)}[data-accent-color=lime]{--color-surface-accent:var(--lime-surface);--accent-1:var(--lime-1);--accent-2:var(--lime-2);--accent-3:var(--lime-3);--accent-4:var(--lime-4);--accent-5:var(--lime-5);--accent-6:var(--lime-6);--accent-7:var(--lime-7);--accent-8:var(--lime-8);--accent-9:var(--lime-9);--accent-contrast:var(--lime-contrast);--accent-10:var(--lime-10);--accent-11:var(--lime-11);--accent-12:var(--lime-12);--accent-a1:var(--lime-a1);--accent-a2:var(--lime-a2);--accent-a3:var(--lime-a3);--accent-a4:var(--lime-a4);--accent-a5:var(--lime-a5);--accent-a6:var(--lime-a6);--accent-a7:var(--lime-a7);--accent-a8:var(--lime-a8);--accent-a9:var(--lime-a9);--accent-a10:var(--lime-a10);--accent-a11:var(--lime-a11);--accent-a12:var(--lime-a12)}[data-accent-color=yellow]{--color-surface-accent:var(--yellow-surface);--accent-1:var(--yellow-1);--accent-2:var(--yellow-2);--accent-3:var(--yellow-3);--accent-4:var(--yellow-4);--accent-5:var(--yellow-5);--accent-6:var(--yellow-6);--accent-7:var(--yellow-7);--accent-8:var(--yellow-8);--accent-9:var(--yellow-9);--accent-contrast:var(--yellow-contrast);--accent-10:var(--yellow-10);--accent-11:var(--yellow-11);--accent-12:var(--yellow-12);--accent-a1:var(--yellow-a1);--accent-a2:var(--yellow-a2);--accent-a3:var(--yellow-a3);--accent-a4:var(--yellow-a4);--accent-a5:var(--yellow-a5);--accent-a6:var(--yellow-a6);--accent-a7:var(--yellow-a7);--accent-a8:var(--yellow-a8);--accent-a9:var(--yellow-a9);--accent-a10:var(--yellow-a10);--accent-a11:var(--yellow-a11);--accent-a12:var(--yellow-a12)}[data-accent-color=amber]{--color-surface-accent:var(--amber-surface);--accent-1:var(--amber-1);--accent-2:var(--amber-2);--accent-3:var(--amber-3);--accent-4:var(--amber-4);--accent-5:var(--amber-5);--accent-6:var(--amber-6);--accent-7:var(--amber-7);--accent-8:var(--amber-8);--accent-9:var(--amber-9);--accent-contrast:var(--amber-contrast);--accent-10:var(--amber-10);--accent-11:var(--amber-11);--accent-12:var(--amber-12);--accent-a1:var(--amber-a1);--accent-a2:var(--amber-a2);--accent-a3:var(--amber-a3);--accent-a4:var(--amber-a4);--accent-a5:var(--amber-a5);--accent-a6:var(--amber-a6);--accent-a7:var(--amber-a7);--accent-a8:var(--amber-a8);--accent-a9:var(--amber-a9);--accent-a10:var(--amber-a10);--accent-a11:var(--amber-a11);--accent-a12:var(--amber-a12)}[data-accent-color=gold]{--color-surface-accent:var(--gold-surface);--accent-1:var(--gold-1);--accent-2:var(--gold-2);--accent-3:var(--gold-3);--accent-4:var(--gold-4);--accent-5:var(--gold-5);--accent-6:var(--gold-6);--accent-7:var(--gold-7);--accent-8:var(--gold-8);--accent-9:var(--gold-9);--accent-contrast:var(--gold-contrast);--accent-10:var(--gold-10);--accent-11:var(--gold-11);--accent-12:var(--gold-12);--accent-a1:var(--gold-a1);--accent-a2:var(--gold-a2);--accent-a3:var(--gold-a3);--accent-a4:var(--gold-a4);--accent-a5:var(--gold-a5);--accent-a6:var(--gold-a6);--accent-a7:var(--gold-a7);--accent-a8:var(--gold-a8);--accent-a9:var(--gold-a9);--accent-a10:var(--gold-a10);--accent-a11:var(--gold-a11);--accent-a12:var(--gold-a12)}[data-accent-color=bronze]{--color-surface-accent:var(--bronze-surface);--accent-1:var(--bronze-1);--accent-2:var(--bronze-2);--accent-3:var(--bronze-3);--accent-4:var(--bronze-4);--accent-5:var(--bronze-5);--accent-6:var(--bronze-6);--accent-7:var(--bronze-7);--accent-8:var(--bronze-8);--accent-9:var(--bronze-9);--accent-contrast:var(--bronze-contrast);--accent-10:var(--bronze-10);--accent-11:var(--bronze-11);--accent-12:var(--bronze-12);--accent-a1:var(--bronze-a1);--accent-a2:var(--bronze-a2);--accent-a3:var(--bronze-a3);--accent-a4:var(--bronze-a4);--accent-a5:var(--bronze-a5);--accent-a6:var(--bronze-a6);--accent-a7:var(--bronze-a7);--accent-a8:var(--bronze-a8);--accent-a9:var(--bronze-a9);--accent-a10:var(--bronze-a10);--accent-a11:var(--bronze-a11);--accent-a12:var(--bronze-a12)}[data-accent-color=gray]{--color-surface-accent:var(--gray-surface);--accent-1:var(--gray-1);--accent-2:var(--gray-2);--accent-3:var(--gray-3);--accent-4:var(--gray-4);--accent-5:var(--gray-5);--accent-6:var(--gray-6);--accent-7:var(--gray-7);--accent-8:var(--gray-8);--accent-9:var(--gray-9);--accent-contrast:var(--gray-contrast);--accent-10:var(--gray-10);--accent-11:var(--gray-11);--accent-12:var(--gray-12);--accent-a1:var(--gray-a1);--accent-a2:var(--gray-a2);--accent-a3:var(--gray-a3);--accent-a4:var(--gray-a4);--accent-a5:var(--gray-a5);--accent-a6:var(--gray-a6);--accent-a7:var(--gray-a7);--accent-a8:var(--gray-a8);--accent-a9:var(--gray-a9);--accent-a10:var(--gray-a10);--accent-a11:var(--gray-a11);--accent-a12:var(--gray-a12)}:root{--sy-f-sys:-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Droid Sans,Helvetica Neue;--sy-f-cjk:Noto Sans;--sy-f-heading:var(--sy-f-sys),var(--sy-f-cjk),sans-serif;--sy-f-text:var(--sy-f-sys),var(--sy-f-cjk),sans-serif;--sy-f-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sy-s-banner-height:0rem;--sy-s-navbar-height:56px;--sy-s-offset-top:calc(var(--sy-s-navbar-height) + var(--sy-s-banner-height));--sy-c-divider:var(--gray-4);--sy-c-border:var(--gray-5);--sy-c-text:var(--gray-12);--sy-c-light:var(--gray-11);--sy-c-bold:var(--slate-12);--sy-c-heading:var(--sage-12);--sy-c-link:var(--accent-9);--sy-c-link-hover:var(--accent-a11);--sy-c-background:white;--sy-c-surface:var(--gray-a2);--sy-c-overlay:var(--black-a5);--sy-c-background-contrast:black;--sy-c-foot-text:var(--sy-c-text);--sy-c-foot-background:var(--slate-2);--sy-c-foot-divider:var(--sy-c-divider);--sy-dropdown-shadow:0 12px 32px var(--gray-a6),0 2px 6px var(--gray-a4)}[lang^=zh-Hans],[lang=zh],[lang=zh-CN]{--sy-f-cjk:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei}[lang^=zh-Hant],[lang=zh-TW]{--sy-f-cjk:PingFang TC,Noto Sans TC,Microsoft JhengHei}[lang=zh-HK],[lang=zh-Hant-HK]{--sy-f-cjk:PingFang HK,Noto Sans HK,Microsoft JhengHei}[lang=ja]{--sy-f-cjk:Hiragino Sans,Noto Sans JP,Yu Gothic}[data-accent-color=sky],[data-accent-color=mint],[data-accent-color=lime],[data-accent-color=yellow],[data-accent-color=amber]{--sy-c-link:var(--accent-a10)}html.light{color-scheme:light;--sy-c-background:white;--sy-c-background-contrast:black}html.dark{color-scheme:dark;--sy-c-background:var(--slate-1);--sy-c-overlay:var(--white-a2);--sy-c-background-contrast:var(--white-a10);--sy-c-foot-background:var(--black-a11);--sy-c-foot-divider:var(--black-a12)}html{color:var(--sy-c-text);background-color:var(--sy-c-background)}:root{--lucide-alert-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3zM12 9v4m0 4h.01'/%3E%3C/svg%3E");--lucide-arrows-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m7 15 5 5 5-5M7 9l5-5 5 5'/%3E%3C/svg%3E");--lucide-award-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");--lucide-bell-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9m-4.27 13a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");--lucide-bookmark-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");--lucide-calendar-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4m-5 4h18'/%3E%3C/svg%3E");--lucide-check-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--lucide-chevron-down-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-down'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lucide-chevron-left-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-left'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");--lucide-chevron-right-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-right'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");--lucide-chevron-up-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-up'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");--lucide-close-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");--lucide-external-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 5h6v6m0-6L5 19'/%3E%3C/svg%3E");--lucide-flame-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E");--lucide-git-fork-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='18' r='3'/%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='18' cy='6' r='3'/%3E%3Cpath d='M18 9v1a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V9m6 3v3'/%3E%3C/svg%3E");--lucide-help-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01'/%3E%3C/svg%3E");--lucide-languages-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-languages'%3E%3Cpath d='m5 8 6 6m-7 0 6-6 2-3M2 5h12M7 2h1m14 20-5-10-5 10m2-4h6'/%3E%3C/svg%3E");--lucide-laptop-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='12' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M2 20h20'/%3E%3C/svg%3E");--lucide-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");--lucide-menu-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-menu'%3E%3Cpath d='M4 12h16M4 6h16M4 18h16'/%3E%3C/svg%3E");--lucide-milestone-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 6H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h13l4-3.5L18 6zm-6 7v8m0-18v3'/%3E%3C/svg%3E");--lucide-moon-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 3a6.364 6.364 0 0 0 9 9 9 9 0 1 1-9-9z'/%3E%3C/svg%3E");--lucide-outdent-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m7 8-4 4 4 4m14-4H11m10-6H11m10 12H11'/%3E%3C/svg%3E");--lucide-rocket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0m1 7v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E");--lucide-skull-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='9' cy='12' r='1'/%3E%3Ccircle cx='15' cy='12' r='1'/%3E%3Cpath d='M8 20v2h8v-2m-3.5-3-.5-1-.5 1h1z'/%3E%3Cpath d='M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20'/%3E%3C/svg%3E");--lucide-star-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");--lucide-sun-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32 1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");--lucide-zap-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E")}.i-lucide.alert{--icon-url:var(--lucide-alert-url)}.i-lucide.arrows{--icon-url:var(--lucide-arrows-url)}.i-lucide.award{--icon-url:var(--lucide-award-url)}.i-lucide.bell{--icon-url:var(--lucide-bell-url)}.i-lucide.bookmark{--icon-url:var(--lucide-bookmark-url)}.i-lucide.calendar{--icon-url:var(--lucide-calendar-url)}.i-lucide.check{--icon-url:var(--lucide-check-url)}.i-lucide.chevron-down{--icon-url:var(--lucide-chevron-down-url)}.i-lucide.chevron-left{--icon-url:var(--lucide-chevron-left-url)}.i-lucide.chevron-right{--icon-url:var(--lucide-chevron-right-url)}.i-lucide.chevron-up{--icon-url:var(--lucide-chevron-up-url)}.i-lucide.close{--icon-url:var(--lucide-close-url)}.i-lucide.external-link{--icon-url:var(--lucide-external-link-url)}.i-lucide.flame{--icon-url:var(--lucide-flame-url)}.i-lucide.git-fork{--icon-url:var(--lucide-git-fork-url)}.i-lucide.help{--icon-url:var(--lucide-help-url)}.i-lucide.languages{--icon-url:var(--lucide-languages-url)}.i-lucide.laptop{--icon-url:var(--lucide-laptop-url)}.i-lucide.link{--icon-url:var(--lucide-link-url)}.i-lucide.menu{--icon-url:var(--lucide-menu-url)}.i-lucide.milestone{--icon-url:var(--lucide-milestone-url)}.i-lucide.moon{--icon-url:var(--lucide-moon-url)}.i-lucide.outdent{--icon-url:var(--lucide-outdent-url)}.i-lucide.rocket{--icon-url:var(--lucide-rocket-url)}.i-lucide.skull{--icon-url:var(--lucide-skull-url)}.i-lucide.star{--icon-url:var(--lucide-star-url)}.i-lucide.sun{--icon-url:var(--lucide-sun-url)}.i-lucide.zap{--icon-url:var(--lucide-zap-url)}:root{--simpleicons-bitbucket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891zM14.52 15.53H9.522L8.17 8.466h7.561z'/%3E%3C/svg%3E");--simpleicons-discord-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z'/%3E%3C/svg%3E");--simpleicons-git-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.546 10.93 13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039 1.837 1.837 0 0 1-2.6 0 1.846 1.846 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.848 1.848 0 0 1 0 2.6 1.844 1.844 0 0 1-2.609 0 1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187'/%3E%3C/svg%3E");--simpleicons-github-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");--simpleicons-gitlab-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 9.593-.033-.086L20.3.98a.851.851 0 0 0-.336-.405.875.875 0 0 0-1 .054.875.875 0 0 0-.29.44L16.47 7.818H7.537L5.332 1.07a.857.857 0 0 0-.29-.441.875.875 0 0 0-1-.054.859.859 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009.03.021 4.977 3.727 2.462 1.863 1.5 1.132a1.008 1.008 0 0 0 1.22 0l1.499-1.132 2.461-1.863 5.006-3.75.013-.01a6.068 6.068 0 0 0 2.01-7.002z'/%3E%3C/svg%3E");--simpleicons-linkedin-url:url("data:image/svg+xml;utf8,%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3ELinkedIn%3C/title%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");--simpleicons-mastodon-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E");--simpleicons-readthedocs-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.732 0a59.316 59.316 0 0 0-4.977.218V24a62.933 62.933 0 0 1 3.619-.687c.17-.028.34-.053.509-.078.215-.033.43-.066.644-.096l.205-.03zm1.18.003V22.96a61.042 61.042 0 0 1 12.333-.213V1.485A60.859 60.859 0 0 0 8.912.003zm1.707 1.81a.59.59 0 0 1 .015 0c3.06.088 6.125.404 9.167.95a.59.59 0 0 1 .476.686.59.59 0 0 1-.569.484.59.59 0 0 1-.116-.009 60.622 60.622 0 0 0-8.992-.931.59.59 0 0 1-.573-.607.59.59 0 0 1 .592-.572zm-4.212.028a.59.59 0 0 1 .578.565.59.59 0 0 1-.564.614 59.74 59.74 0 0 0-2.355.144.59.59 0 0 1-.04.002.59.59 0 0 1-.595-.542.59.59 0 0 1 .54-.635c.8-.065 1.6-.114 2.401-.148a.59.59 0 0 1 .035 0zm4.202 2.834a.59.59 0 0 1 .015 0 61.6 61.6 0 0 1 9.167.8.59.59 0 0 1 .488.677.59.59 0 0 1-.602.494.59.59 0 0 1-.076-.006 60.376 60.376 0 0 0-8.99-.786.59.59 0 0 1-.584-.596.59.59 0 0 1 .582-.583zm-4.211.097a.59.59 0 0 1 .587.555.59.59 0 0 1-.554.622c-.786.046-1.572.107-2.356.184a.59.59 0 0 1-.04.003.59.59 0 0 1-.603-.533.59.59 0 0 1 .53-.644c.8-.078 1.599-.14 2.4-.187a.59.59 0 0 1 .036 0zM10.6 7.535a.59.59 0 0 1 .015 0c3.06-.013 6.125.204 9.167.65a.59.59 0 0 1 .498.67.59.59 0 0 1-.593.504.59.59 0 0 1-.076-.006 60.142 60.142 0 0 0-8.992-.638.59.59 0 0 1-.592-.588.59.59 0 0 1 .573-.592zm1.153 2.846a61.093 61.093 0 0 1 8.02.515.59.59 0 0 1 .509.66.59.59 0 0 1-.586.514.59.59 0 0 1-.076-.005 59.982 59.982 0 0 0-8.99-.492.59.59 0 0 1-.603-.577.59.59 0 0 1 .578-.603c.382-.008.765-.012 1.148-.012zm1.139 2.832a60.92 60.92 0 0 1 6.871.394.59.59 0 0 1 .52.652.59.59 0 0 1-.577.523.59.59 0 0 1-.076-.004 59.936 59.936 0 0 0-8.991-.344.59.59 0 0 1-.61-.568.59.59 0 0 1 .567-.611c.765-.028 1.53-.042 2.296-.042z'/%3E%3C/svg%3E");--simpleicons-reddit-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286A.72.72 0 0 0 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199a1.999 1.999 0 1 1-1.947 2.46v.002a2.368 2.368 0 0 0-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363a2.802 2.802 0 1 1 2.908 4.753c-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87a2.8 2.8 0 0 1 1.189-5.34c.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01a3.229 3.229 0 0 1 2.88-3.207 2 2 0 0 1 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135a.222.222 0 0 0-.183.305 3.199 3.199 0 0 0 2.953 1.964 3.2 3.2 0 0 0 2.953-1.964.222.222 0 0 0-.184-.305 27.75 27.75 0 0 0-2.769-.135Z'/%3E%3C/svg%3E");--simpleicons-slack-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E");--simpleicons-x-twitter-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E");--simpleicons-youtube-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.i-icon.bitbucket,.i-simpleicons.bitbucket{--icon-url:var(--simpleicons-bitbucket-url)}.i-icon.discord,.i-simpleicons.discord{--icon-url:var(--simpleicons-discord-url)}.i-icon.git,.i-simpleicons.git{--icon-url:var(--simpleicons-git-url)}.i-icon.github,.i-simpleicons.github{--icon-url:var(--simpleicons-github-url)}.i-icon.gitlab,.i-simpleicons.gitlab{--icon-url:var(--simpleicons-gitlab-url)}.i-icon.linkedin,.i-simpleicons.linkedin{--icon-url:var(--simpleicons-linkedin-url)}.i-icon.mastodon,.i-simpleicons.mastodon{--icon-url:var(--simpleicons-mastodon-url)}.i-icon.readthedocs,.i-simpleicons.readthedocs{--icon-url:var(--simpleicons-readthedocs-url)}.i-icon.reddit,.i-simpleicons.reddit{--icon-url:var(--simpleicons-reddit-url)}.i-icon.slack,.i-simpleicons.slack{--icon-url:var(--simpleicons-slack-url)}.i-icon.x-twitter,.i-simpleicons.x-twitter{--icon-url:var(--simpleicons-x-twitter-url)}.i-icon.youtube,.i-simpleicons.youtube{--icon-url:var(--simpleicons-youtube-url)}:root{--yue-c-text:var(--sy-c-text);--yue-c-heading:var(--sy-c-heading);--yue-c-bold:var(--sy-c-bold);--yue-c-link-1:var(--sy-c-text);--yue-c-link-2:var(--sy-c-bold);--yue-c-link-border:var(--sy-c-link);--yue-c-ol-marker:var(--gray-9);--yue-c-ul-marker:var(--sage-a5);--yue-c-hr:var(--sy-c-border);--yue-c-quote:var(--sy-c-text);--yue-c-quote-border:var(--accent-a3);--yue-c-quote-symbol:var(--accent-9);--yue-c-caption:var(--sy-c-light);--yue-c-code-text:var(--accent-a11);--yue-c-code-background:var(--accent-a3);--yue-c-table-border:var(--gray-a5);--yue-c-th-background:var(--color-surface-accent);--yue-c-th-border:var(--gray-a5);--yue-c-td-border:var(--gray-a4);--yue-c-row-background:var(--sy-c-surface)}.yue{color:var(--yue-c-text);font-size:1rem;line-height:1.75}.yue p{margin-top:1rem;margin-bottom:1.25rem}.yue a{color:var(--yue-c-link-1);border-bottom:1px solid var(--yue-c-link-border);font-weight:500;text-decoration:none}.yue a:hover{color:var(--yue-c-link-2);border-bottom-width:2px}.yue pre a,.yue pre a:hover{border-bottom:none}.yue strong{color:var(--yue-c-bold);font-weight:600}.yue a strong,.yue blockquote strong,.yue thead th strong{color:inherit}.yue ol{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:decimal}.yue ol[type="1"]{list-style-type:decimal}.yue ol[type=A],.yue ol.upperalpha{list-style-type:upper-alpha}.yue ol[type=a],.yue ol.loweralpha{list-style-type:lower-alpha}.yue ol[type=I],.yue ol.upperroman{list-style-type:upper-roman}.yue ol[type=i],.yue ol.lowerroman{list-style-type:lower-roman}.yue ul{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:disc}.yue ol>li::marker{color:var(--yue-c-ol-marker);font-weight:400}.yue ul>li::marker{color:var(--yue-c-ul-marker)}.yue dl{margin-top:1.5rem;margin-bottom:1.5rem}.yue dt{color:var(--yue-c-bold);font-weight:600}.yue dd{margin-left:1.5rem}.yue hr{border-color:var(--yue-c-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.yue blockquote{color:var(--yue-c-quote);border-left-width:.25rem;border-left-color:var(--yue-c-quote-border);margin-top:1.2rem;margin-bottom:1.2rem;padding-left:1rem}.yue blockquote .attribution{font-size:.85em;font-style:italic}[lang^=zh] .yue blockquote .attribution,[lang=ko] .yue blockquote .attribution,[lang=ja] .yue blockquote .attribution{font-style:normal}.yue h1{color:var(--yue-c-heading);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.yue h1 strong{color:inherit;font-weight:900}.yue h2{color:var(--yue-c-heading);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.yue h2 strong{color:inherit;font-weight:800}.yue h3{color:var(--yue-c-heading);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.yue h3 strong{color:inherit;font-weight:700}.yue h4{color:var(--yue-c-heading);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.yue h4 strong{color:inherit;font-weight:700}.yue h5,.yue h6{color:var(--yue-c-heading);font-weight:600}.yue img{max-width:100%;display:inline}.yue img.rounded{border-radius:.5rem}.yue a>img,.yue figure>*,.yue figure img{margin-top:0;margin-bottom:0}.yue figcaption{color:var(--yue-c-caption);margin-top:.857143em;font-size:.875em;line-height:1.42857}.yue figcaption>p{margin-top:0}.yue code{color:var(--yue-c-code-text);font-size:.875em;font-weight:600}.yue a code,.yue h1 code,.yue h2 code,.yue h3 code,.yue h4 code,.yue blockquote code,.yue th code{color:inherit}.yue h2 code{font-size:.875em}.yue li>code,.yue p>code{background-color:var(--yue-c-code-background);border-radius:3px;padding:2px 4px;font-weight:500}.yue h3 code{font-size:.9em}.yue kbd{font-family:var(--sy-f-mono)}.yue video,.yue figure{margin-top:2em;margin-bottom:2em}.yue li{margin-top:.5em;margin-bottom:.5em}.yue ol>li,.yue ul>li{padding-left:.375em}.yue ul ul,.yue ul ol,.yue ol ul,.yue ol ol{margin-top:.75em;margin-bottom:.75em}.yue hr+*,.yue h2+*,.yue h3+*,.yue h4+*{margin-top:0}.yue table{table-layout:auto;text-align:left;width:100%;margin-top:2em;margin-bottom:2em;font-size:.86em;line-height:1.7}.yue table>caption{color:var(--yue-c-caption);margin-bottom:.4rem}.yue thead tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-th-border)}.yue thead th{color:var(--yue-c-heading);vertical-align:middle;font-weight:600}.yue tbody tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-td-border)}.yue tbody tr:last-child{border-bottom-width:0}.yue tbody td{vertical-align:middle}.yue tfoot{border-top-width:1px;border-top-color:var(--yue-c-th-border)}.yue tfoot td{vertical-align:top}.yue td>p{margin:.25rem 0}.yue thead th>p{margin:0}.yue thead th,.yue tbody td,.yue tfoot td{padding:.5rem}.yue section{clear:both}.yue section>div{margin-bottom:2rem}.yue dd>p:first-child{margin-top:0}.yue p.lead{color:var(--sy-c-light);margin-bottom:0;font-size:1.2rem}.yue p.lead+hr{margin-top:1rem}.yue p.rubric{color:var(--yue-c-heading);margin-top:2rem;font-weight:600}.yue .sidebar{background-color:var(--sy-c-surface);border:1px solid var(--sy-c-border);clear:right;float:right;border-radius:6px;width:30%;margin-bottom:1rem;margin-left:1rem;margin-right:0}@media (max-width:767px){.yue .sidebar{float:none;width:100%;margin-left:0}}.yue .sidebar>*{padding-left:1rem;padding-right:1rem}.yue .sidebar img{margin-top:1rem;margin-bottom:1rem}.yue .sidebar-title{border-bottom:1px solid var(--sy-c-border);margin:0;padding-top:.5rem;padding-bottom:.5rem;font-weight:500}.yue dl.simple>dd>p,.yue ul.simple>li>p,.yue ol.simple>li>p{margin:0}.yue a.headerlink{visibility:hidden;color:var(--sy-c-light);font-size:58%;font-weight:300;font-family:var(--sy-f-mono);--icon-url:var(--lucide-link-url);-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;vertical-align:middle;background-color:currentColor;width:1em;height:1em;margin-left:6px;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.yue .math a.headerlink,h1:hover a.headerlink,h2:hover a.headerlink,h3:hover a.headerlink,h4:hover a.headerlink,h5:hover a.headerlink,h6:hover a.headerlink{visibility:visible}.yue a.image-reference,.yue .toctree-wrapper a{border-bottom:none}.yue .toctree-wrapper p.caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-light);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--sy-c-divider);padding:.8rem 0 .4rem}.yue .align-left{clear:left;float:left;margin:0 1rem 1rem}.yue .align-right{clear:right;float:right;margin:0 1rem 1rem}.yue .align-center{text-align:center;margin-left:auto;margin-right:auto;display:block}.yue figure.align-center img{margin-left:auto;margin-right:auto}a.footnote-reference{vertical-align:top;font-size:.65rem}aside.footnote>span,div.citation>span{float:left;padding-right:.25rem;font-weight:500}aside.footnote>p,div.citation>p{margin-top:.5rem;margin-bottom:.5rem;margin-left:2rem}.yue kbd.kbd:not(.compound){border-radius:3px;margin-right:.25rem;padding:2px 5px;font-size:.86rem}.yue kbd.compound>kbd{margin-left:.25rem}.yue .menuselection{font-size:.86rem;font-weight:500}.light .searchbox kbd,.light .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#e6e6e6,#f8f8f8);border:0;box-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}.dark .searchbox kbd,.dark .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#353434,#141414);border:0;box-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000}.yue p.centered{text-align:center}.yue section>img{margin-bottom:1rem}.hlist td{vertical-align:top}.light .light-hidden,.dark .dark-hidden,.light .dark-only,.dark .light-only{display:none}.yue .genindex-jumpbox,.yue .modindex-jumpbox{border-top:1px solid var(--sy-c-border);border-bottom:1px solid var(--sy-c-border);padding:2px .4rem}.yue table.modindextable td:first-of-type{width:28px}.yue table.modindextable img.toggler{margin:0}.yue table.modindextable tr.cap{background:var(--sy-c-surface);font-size:1.12rem;font-family:var(--sy-f-mono)}.yue h2+table.indextable,.yue table.indextable ul{margin-top:0}:root{--attention-icon:var(--lucide-alert-url);--attention-1:var(--crimson-surface);--attention-2:var(--crimson-a3);--attention-3:var(--crimson-9);--attention-4:var(--crimson-a11);--caution-icon:var(--lucide-zap-url);--caution-1:var(--amber-surface);--caution-2:var(--amber-a3);--caution-3:var(--amber-9);--caution-4:var(--amber-11);--danger-icon:var(--lucide-skull-url);--danger-1:var(--ruby-surface);--danger-2:var(--ruby-a3);--danger-3:var(--ruby-9);--danger-4:var(--ruby-a11);--error-icon:var(--lucide-close-url);--error-1:var(--red-surface);--error-2:var(--red-a3);--error-3:var(--red-9);--error-4:var(--red-a11);--hint-icon:var(--lucide-bell-url);--hint-1:var(--cyan-surface);--hint-2:var(--cyan-a3);--hint-3:var(--cyan-9);--hint-4:var(--cyan-a11);--important-icon:var(--lucide-flame-url);--important-1:var(--violet-surface);--important-2:var(--violet-a3);--important-3:var(--violet-9);--important-4:var(--violet-a11);--note-icon:var(--lucide-calendar-url);--note-1:var(--blue-surface);--note-2:var(--blue-a3);--note-3:var(--blue-9);--note-4:var(--blue-a11);--tip-icon:var(--lucide-rocket-url);--tip-1:var(--green-surface);--tip-2:var(--green-a3);--tip-3:var(--green-9);--tip-4:var(--green-a11);--warning-icon:var(--lucide-zap-url);--warning-1:var(--orange-surface);--warning-2:var(--orange-a3);--warning-3:var(--orange-9);--warning-4:var(--orange-a11);--seealso-icon:var(--lucide-link-url);--seealso-1:var(--gold-surface);--seealso-2:var(--gold-a3);--seealso-3:var(--gold-9);--seealso-4:var(--gold-a11);--todo-icon:var(--lucide-bookmark-url);--todo-1:var(--bronze-surface);--todo-2:var(--bronze-a3);--todo-3:var(--bronze-9);--todo-4:var(--bronze-a11);--versionadded-icon:var(--lucide-flame-url);--versionadded-1:var(--green-surface);--versionadded-2:var(--green-9);--versionchanged-icon:var(--lucide-zap-url);--versionchanged-1:var(--amber-surface);--versionchanged-2:var(--amber-9);--versionremoved-icon:var(--lucide-skull-url);--versionremoved-1:var(--red-surface);--versionremoved-2:var(--red-9);--deprecated-icon:var(--lucide-alert-url);--deprecated-1:var(--orange-surface);--deprecated-2:var(--orange-9)}.admonition{--icon-url:var(--lucide-bell-url);--color-1:var(--color-surface-accent);--color-2:var(--accent-a3);--color-3:var(--accent-9);--color-4:var(--accent-a11);border-left:4px solid var(--color-3);background-color:var(--color-1);flex-direction:column;margin-top:1rem;margin-bottom:1rem;padding:.825rem 1rem;display:flex;position:relative}.admonition:before{content:"";background-color:var(--color-3);border-radius:100%;width:20px;height:20px;position:absolute;top:6px;left:-12px}.admonition:after{content:"";-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;background-color:#fff;width:12px;height:12px;font-style:normal;position:absolute;top:10px;left:-8px;-webkit-mask-size:100% 100%;mask-size:100% 100%}.admonition p.admonition-title{color:var(--color-4);background-color:var(--color-2);--yue-c-code:var(--color-4);--yue-c-bold:var(--color-4);margin:-.825rem -1rem .825rem -19px;padding:4px 18px;font-size:.85rem;font-weight:600;line-height:1.72;position:relative}.admonition p.admonition-title svg{display:inline-block}.admonition.attention{--icon-url:var(--attention-icon);--color-1:var(--attention-1);--color-2:var(--attention-2);--color-3:var(--attention-3);--color-4:var(--attention-4)}.admonition.caution{--icon-url:var(--caution-icon);--color-1:var(--caution-1);--color-2:var(--caution-2);--color-3:var(--caution-3);--color-4:var(--caution-4)}.admonition.danger{--icon-url:var(--danger-icon);--color-1:var(--danger-1);--color-2:var(--danger-2);--color-3:var(--danger-3);--color-4:var(--danger-4)}.admonition.error{--icon-url:var(--error-icon);--color-1:var(--error-1);--color-2:var(--error-2);--color-3:var(--error-3);--color-4:var(--error-4)}.admonition.hint{--icon-url:var(--hint-icon);--color-1:var(--hint-1);--color-2:var(--hint-2);--color-3:var(--hint-3);--color-4:var(--hint-4)}.admonition.important{--icon-url:var(--important-icon);--color-1:var(--important-1);--color-2:var(--important-2);--color-3:var(--important-3);--color-4:var(--important-4)}.admonition.note{--icon-url:var(--note-icon);--color-1:var(--note-1);--color-2:var(--note-2);--color-3:var(--note-3);--color-4:var(--note-4)}.admonition.tip{--icon-url:var(--tip-icon);--color-1:var(--tip-1);--color-2:var(--tip-2);--color-3:var(--tip-3);--color-4:var(--tip-4)}.admonition.warning{--icon-url:var(--warning-icon);--color-1:var(--warning-1);--color-2:var(--warning-2);--color-3:var(--warning-3);--color-4:var(--warning-4)}.admonition.seealso{--icon-url:var(--seealso-icon);--color-1:var(--seealso-1);--color-2:var(--seealso-2);--color-3:var(--seealso-3);--color-4:var(--seealso-4)}.admonition.admonition-todo{--icon-url:var(--todo-icon);--color-1:var(--todo-1);--color-2:var(--todo-2);--color-3:var(--todo-3);--color-4:var(--todo-4)}.yue .admonition>*{margin-top:0;margin-bottom:1rem}.yue .admonition>:last-child{margin-bottom:0!important}span.versionmodified{color:var(--sy-c-bold);font-weight:600}div.versionadded,div.versionchanged,div.versionremoved,div.deprecated{border-left:4px solid var(--color-2);background-color:var(--color-1);margin:1rem 0;padding:6px 1rem;line-height:1.72;position:relative}div.versionadded:before,div.versionchanged:before,div.versionremoved:before,div.deprecated:before{content:"";color:#fff;background-color:var(--color-2);text-align:center;width:20px;height:20px;font:normal bold 14px/20px var(--sy-f-mono);border-radius:100%;position:absolute;top:10px;left:-12px}div.versionadded:after,div.versionchanged:after,div.versionremoved:after,div.deprecated:after{content:"";-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;background-color:#fff;width:12px;height:12px;font-style:normal;position:absolute;top:14px;left:-8px;-webkit-mask-size:100% 100%;mask-size:100% 100%}div.versionadded{--color-1:var(--versionadded-1);--color-2:var(--versionadded-2);--icon-url:var(--versionadded-icon)}div.versionchanged{--color-1:var(--versionchanged-1);--color-2:var(--versionchanged-2);--icon-url:var(--versionchanged-icon)}div.versionremoved{--color-1:var(--versionremoved-1);--color-2:var(--versionremoved-2);--icon-url:var(--versionremoved-icon)}div.deprecated{--color-1:var(--deprecated-1);--color-2:var(--deprecated-2);--icon-url:var(--deprecated-icon)}div.versionadded>p,div.versionchanged>p,div.versionremoved>p,div.deprecated>p{margin:0}.yue blockquote.epigraph{text-align:center;border-left:0;padding:1rem 2.4rem}.yue blockquote.highlights{background-color:var(--sy-c-surface);border-left-width:4px;padding-top:.2rem;padding-bottom:.2rem}.yue blockquote.pull-quote{border-left:0;padding:2.4rem 3.6rem 1.2rem;font-size:1.24rem;position:relative}.yue blockquote.pull-quote:before{content:"“";color:var(--yue-c-quote-symbol);font:700 4rem/1 Times New Roman,Georgia,Palatino,Times,serif;position:absolute;top:0;left:.5rem}.yue blockquote.pull-quote .attribution{text-align:right}pre.literal-block{background-color:var(--syntax-pre-bg);border-radius:6px;padding:1rem;font-size:.96rem;line-height:1.48;overflow:auto}.highlight,.literal-block-wrapper{--margin:1rem;--radius:6px}.literal-block-wrapper div[class^=highlight-]{display:flex}.literal-block-wrapper .highlight{width:100%}.highlight>pre{padding:var(--margin);font-size:.96rem;line-height:1.48;font-family:var(--sy-f-mono);background-color:var(--syntax-pre-bg);border-radius:var(--radius);overflow:auto}.win .highlight>pre{font-family:"Twemoji Country Flags",var(--sy-f-mono)}.highlight .gp,.highlight .linenos{-webkit-user-select:none;user-select:none}.highlight .linenos{box-shadow:-.05rem 0 var(--syntax-linenos-divider)inset;opacity:.6;margin-right:.8rem;padding-right:.8rem;display:inline-block}.highlight .hll{margin-left:calc(0rem - var(--margin));margin-right:calc(0rem - var(--margin));padding:0 var(--margin)}.code-block-caption{color:var(--syntax-text);background-color:var(--syntax-cap-bg);padding:.4rem var(--margin);border-radius:var(--radius)var(--radius)0 0;font-size:.84rem;font-weight:600;display:flex}.code-block-caption+div>.highlight>pre{border-top-left-radius:0;border-top-right-radius:0}div[class^=highlight]>.highlight>pre{display:grid}.yue .table-wrapper{border:1px solid var(--yue-c-table-border);border-radius:6px;width:100%;margin-top:2rem;margin-bottom:2rem;overflow-x:auto}.yue .table-wrapper table{margin:0}.yue .table-wrapper thead tr{border-top:1px solid var(--yue-c-td-border)}.yue .table-wrapper thead tr:first-child{border-top:0}.yue .table-wrapper th{background-color:var(--yue-c-th-background);border-left:1px solid var(--yue-c-td-border);padding:.725rem 1rem}.yue .table-wrapper td{border-left:1px solid var(--yue-c-td-border);padding:.5rem 1rem}.yue .table-wrapper tr>th:first-child,.yue .table-wrapper tr>td:first-child{border-left:0}.yue .table-wrapper caption{border-bottom:1px solid var(--yue-c-th-border);margin:0;padding:.5rem}.yue .table-wrapper tbody tr.row-odd{background-color:var(--yue-c-row-background)}.yue table.hlist td{vertical-align:top}.table-wrapper{scrollbar-gutter:auto;overflow-x:auto}.table-wrapper::-webkit-scrollbar{width:.75rem;height:.75rem}.table-wrapper::-webkit-scrollbar-thumb{border-radius:10px}.table-wrapper::-webkit-scrollbar-track{background-color:#0000}.table-wrapper:hover::-webkit-scrollbar-thumb{background-color:#9b9b9b33;background-clip:content-box;border:3px solid #0000}.yue table.ghost th,.yue table.ghost td{background-color:#0000;border-left:0;border-right:0}.yue table.ghost caption{border-bottom:3px solid var(--yue-c-td-border);margin-bottom:0;padding-bottom:.5rem}.yue table.ghost thead tr:first-child{border-top:0;border-bottom-width:3px}.yue .table-wrapper.ghost{border:0}:root{--sig-property:var(--syntax-keyword);--sig-name:var(--syntax-property);--sig-typehint:var(--syntax-constant);--sig-param:var(--syntax-meta)}dt.sig{text-indent:-2.4rem;border-radius:6px;padding:.25rem .5rem .25rem 3rem;font-size:.92rem;position:relative}dt.sig:after{content:"";clear:both;display:table}dt.sig:hover{background:var(--sy-c-surface)}dt.sig+dd{margin-left:2rem;font-size:.92rem}dt.sig>em.property:first-child{color:var(--sig-property)}dl.field-list{margin-top:0}dl.field-list a{font-weight:400}dt.sig+dd>div{margin-bottom:1rem}dt.sig+dd>dl.field-list>dt{text-transform:uppercase;font-size:.76rem}em.property,em.sig-param{font-style:normal}em.sig-param{color:var(--sy-c-light)}span.sig-prename,span.sig-name{color:var(--sig-name)}span.sig-name{font-weight:600}span.sig-return-icon{color:var(--sy-c-light)}span.sig-return-typehint,span.sig-return-typehint>a{color:var(--sig-typehint)}span.sig-paren,span.pre{font-family:var(--sy-f-mono)}dt.sig>a.internal{color:var(--sy-c-light);border:0;font-size:.82rem}dt.sig>a.internal:before{content:"\a ";white-space:pre}.viewcode-block{position:relative}.viewcode-back{font-size:.8rem;position:absolute;top:-1.5rem}.classifier{font-style:oblique;font-weight:400}.classifier:before{content:":";margin-left:.1rem;margin-right:.5rem;font-style:normal;display:inline-block}.yue .table-wrapper.autosummary{border-left:0;border-right:0;border-radius:0}.yue .table-wrapper table.autosummary td{border:none;padding-top:.25rem;padding-bottom:.25rem}.yue p.rubric+div.autosummary{margin-top:0}.hamburger{cursor:pointer;width:16px;height:14px;display:inline-block;position:relative;overflow:hidden}.hamburger>span{background-color:var(--sy-c-text);width:16px;height:2px;transition:top .25s,transform .25s;position:absolute;left:0}.hamburger_1{top:0}.hamburger_2{top:6px}.hamburger_3{top:12px}button[aria-expanded=true] .hamburger .hamburger_1{top:6px;transform:translate(0)rotate(225deg)}button[aria-expanded=true] .hamburger .hamburger_2{top:6px;transform:translate(18px)}button[aria-expanded=true] .hamburger .hamburger_3{top:6px;transform:translate(0)rotate(135deg)}.searchbox{position:relative}.searchbox input{appearance:none;width:100%;font-size:.92rem;font-family:var(--sy-f-text);background:var(--sy-c-surface);border-radius:6px;outline:0;padding:6px 12px}.searchbox kbd,.searchbox button{font-size:.68rem;font-weight:600;font-family:var(--sy-f-mono);border:1px solid var(--sy-c-border);background-color:var(--sy-c-background);opacity:1;border-radius:3px;margin:6px;padding:2px 6px;transition:opacity .2s;position:absolute;right:0}.searchbox input:focus+kbd{opacity:0}.searchform{align-items:center;display:flex;position:relative}.searchform input[name=q]{appearance:none;width:100%;font-size:.92rem;font-family:var(--sy-f-text);background:var(--sy-c-surface);border-radius:6px;outline:0;padding:6px 12px}.searchform input[name=q]+button{font-size:.68rem;font-weight:600;font-family:var(--sy-f-text);border:1px solid var(--sy-c-divider);background-color:var(--sy-c-background);opacity:1;border-radius:3px;margin:6px;padding:2px 6px;transition:opacity .2s;position:absolute;right:0}.search .highlighted{background-color:var(--accent-a4)}#search-results{border-top:1px solid var(--sy-c-border)}#search-results h2{margin-top:2rem;margin-bottom:.725rem}#search-results .search-summary{color:var(--sy-c-light);font-weight:500}#search-results ul.search{margin-left:0;padding-top:.625rem;padding-bottom:2rem;padding-left:0;list-style-type:none}#search-results ul.search>li{padding-left:0}#search-results ul.search>li+li{border-top:1px solid var(--sy-c-divider);padding-top:1rem}#search-results ul.search li>a{font-weight:600}#search-results ul.search p.context{margin-top:.5rem;font-size:.875rem}.demo{border:1px solid var(--sy-c-border);border-radius:6px}.demo-code .highlight>pre{border-bottom-right-radius:0;border-bottom-left-radius:0}.demo-result{padding:1rem}.container.image-1,.container.video-1{border:.5rem solid var(--accent-a3);border-radius:6px}.container.image-1>img{border-radius:4px;margin:0}.container.video-1 video,.container.video-1 iframe{border-radius:4px;width:100%;margin:0}.container.image-2,.container.video-2{border:1px solid var(--sy-c-border);border-radius:6px;padding:1rem}.container.image-2>img,.container.video-2>video{margin:0}.container.buttons{margin:2rem 0 4.2rem}.container.buttons>p{gap:1rem;display:flex}.container.buttons a{border:2px solid var(--sy-c-border);background-color:var(--sy-c-surface);border-radius:2.6rem;padding:0 2rem;font-weight:600;line-height:2.6rem;transition:all .2s;display:inline-block}.container.buttons a:first-child{color:var(--accent-contrast);background-color:var(--accent-9);border-color:var(--accent-9)}.container.buttons a:hover{color:var(--sy-c-bold);border-color:var(--accent-9);background-color:var(--sy-c-background)}.container.rounded-image img{border-radius:99999px}#ethical-ad-placement .ethical-sidebar{background-color:var(--sy-c-surface);border:none;padding:.8rem;position:relative}#ethical-ad-placement .ethical-text a{color:var(--sy-c-text)!important}#ethical-ad-placement .ethical-text a:hover{color:var(--sy-c-link-hover)!important}.sy-main #ethical-ad-placement .ethical-sidebar{max-width:380px;margin-left:0}.sy-main #ethical-ad-placement .ethical-image-link{flex-shrink:0;margin-right:.4rem}.sy-main #ethical-ad-placement .ethical-content{display:flex}.sy-main #ethical-ad-placement .ethical-text{margin-top:0}.sy-main #ethical-ad-placement .ethical-callout{position:absolute;bottom:.4rem;right:.4rem}#carbonads{background-color:var(--sy-c-surface);border:none;border-radius:8px;margin:1rem 0;padding:.8rem .8rem 1.6rem;display:block;position:relative}#carbonads a{border:0;font-weight:400}#carbonads img{margin:0}.carbon-wrap{flex-direction:column;justify-content:space-between;align-items:center;display:flex}.carbon-text{text-align:center;margin:.5rem 0;font-size:.78rem;line-height:1.42;display:block}.carbon-text:hover{color:var(--sy-c-link-hover)}.carbon-poweredby{opacity:.68;text-transform:uppercase;font-size:.68rem;position:absolute;bottom:.5rem;right:.8rem}.carbon-poweredby:hover{text-decoration:underline}.sy-main #carbonads{max-width:380px;margin-top:1.6rem;padding:1rem}.sy-main .carbon-wrap{flex-direction:row;align-items:flex-start}.sy-main .carbon-text{text-align:left;margin-top:0;margin-left:1rem;font-size:.86rem}.bsa{margin:1rem 0}.bsa a{border-bottom:none;text-decoration:none}.bsa-container{border-radius:6px;flex-flow:row;justify-content:space-between;align-items:center;padding:15px 20px;text-decoration:none;display:flex;box-shadow:inset 0 0 0 1px #0000001a}.bsa-ad-via{text-align:right}.bsa-ad-via a{background:var(--gray-a3);border:none;border-radius:2px;padding:3px 10px;font-size:10px;font-weight:300}.bsa-main{flex-flow:row;flex-grow:1;justify-content:center;align-items:center;margin:0 auto;display:flex}.bsa-img{max-height:40px;margin-right:20px;line-height:0}.yue a.bsa-container .bsa-img{margin-top:0;margin-bottom:0}.bsa-details{flex-flow:column;margin-right:20px;display:flex}.bsa-tagline{letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:600;line-height:1}.bsa-desc{letter-spacing:1px;max-width:600px;font-size:12px;font-weight:400;line-height:1.4}.bsa-cta{letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:10px 16px;font-size:10px;font-weight:600;line-height:1;transition:all .3s ease-in-out;transform:translateY(-1px)}@media (max-width:940px){.bsa-details{margin-right:0;font-size:14px}.bsa-cta{display:none}}@media (min-width:768px) and (max-width:820px){.bsa-img{display:none}}@media (max-width:480px){.bsa-img{display:none}}.repo-stats{border:1px solid var(--sy-c-divider);border-radius:6px;margin-bottom:1rem;padding:.5rem}.repo-stats:hover{background-color:var(--sy-c-surface)}.repo-stats-count{color:var(--sy-c-light)}.repo-stats strong{font-weight:500;font-family:var(--sy-f-mono);color:inherit}.edit-this-page{border-top:1px solid var(--sy-c-divider);margin:1rem 0;padding:.5rem 0;font-size:.8rem;font-weight:600}.repo-stats+.edit-this-page{border-top:0;margin-top:0;padding-top:0}.edit-this-page a{color:var(--sy-c-text)}.edit-this-page a:hover{color:var(--sy-c-link-hover)}.edit-this-page a:after{content:" →"}.back-to-top{z-index:10;background:var(--sy-c-background);border-radius:2rem;align-items:center;gap:.25rem;padding:.4rem .8rem .4rem .6rem;font-size:.8rem;display:none;position:fixed;bottom:68px;left:50%;transform:translate(-50%);box-shadow:0 .2rem .5rem #0000000d,0 0 1px #6b728080}.dark .back-to-top{background:var(--slate-2);box-shadow:0 .2rem .5rem #ffffff0d,0 0 1px #9aa4b880}.back-to-top:hover{color:var(--accent-contrast);background:var(--accent-9)}.back-to-top svg{fill:currentColor;width:1rem;height:1rem;display:inline-block}.back-to-top[data-visible=true]{display:flex}.icon-link{display:inline-block}.icon-link span{vertical-align:middle;display:inline-block}.icon-link .icon{border:1px solid var(--sy-c-border);opacity:.8;border-radius:6px;margin-right:.4rem;padding:.1rem}.icon-link svg{width:1.5rem;height:1.5rem}.icon-link:hover .icon{opacity:1}.announcement{width:100%;color:var(--sy-c-banner,var(--accent-contrast));background-color:var(--sy-c-banner-bg,var(--accent-a11));z-index:20;align-items:center;padding:.8rem 2rem;display:flex;position:sticky;top:0;left:0}.announcement a{text-decoration:underline}.announcement ::selection{color:var(--sy-c-banner,var(--accent-contrast))}.announcement-inner{width:100%}.announcement-close{position:absolute;top:.8rem;right:1rem}.sy-head{top:var(--sy-s-banner-height);height:var(--sy-s-navbar-height);z-index:20;background-color:#0000;position:sticky}.sy-head-blur{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--sand-a1);width:100%;height:100%;box-shadow:0 0 var(--sy-c-background-contrast),0 2px 4px var(--gray-a1),0 1px 0 var(--sy-c-divider);z-index:-1;position:absolute;top:0;left:0}.sy-head-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1rem);height:var(--sy-s-navbar-height);justify-content:space-between;align-items:center;display:flex}.sy-head-brand img{height:28px}.sy-head-brand img+strong,.sy-head-brand .dark-logo{display:none}.dark .sy-head-brand .dark-logo{display:inline}.dark .sy-head-brand .light-logo{display:none}.light .sy-head-brand .light-logo{display:inline}.light .sy-head-brand .dark-logo{display:none}.sy-head-links button,.sy-head-links a{white-space:nowrap;padding:.5rem;font-size:.95rem;font-weight:500}.sy-head-links .link i.external-link{opacity:.6;color:var(--sy-c-light);margin-left:2px;font-size:68%}.sy-head-links .link>ul a{white-space:normal;display:block}.sy-head-links .link>ul a:hover{background:var(--sy-c-surface);border-radius:6px}.sy-head-links .link>ul small{color:var(--sy-c-light);font-weight:400;display:block}.sy-head-socials{align-items:center;display:flex}.sy-head-socials a{align-items:center;padding:.5rem;display:flex}.sy-head-actions button{height:var(--sy-s-navbar-height);padding:0 .5rem}@media (max-width:767px){body[data-expanded*=head-nav]{overflow:hidden}.sy-head-nav{top:var(--sy-s-offset-top);box-sizing:border-box;border-top:1px solid var(--sy-c-divider);background-color:var(--sy-c-background);width:100%;padding:4rem 1.8rem 0;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sy-head-nav[aria-hidden=false]{display:block}.sy-head-links{margin-left:auto;margin-right:auto}.sy-head-links .link{margin:.5rem 0}.sy-head-links .link i.chevron{display:none}.sy-head-links .link>ul{margin:.5rem 0 .5rem 1rem}.sy-head-extra form.searchbox{position:absolute;top:1rem;left:1.8rem;right:1.8rem}.sy-head-extra{flex-direction:column;width:100%;padding:2rem 0 1rem}}@media (min-width:768px){.sy-head-inner{padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-head-nav{flex-grow:1;justify-content:space-between;align-items:center;display:flex}.sy-head-links[data-align=right]{--head-links-justify-content:flex-end}.sy-head-links[data-align=center]{--head-links-justify-content:center}.sy-head-links{white-space:nowrap;justify-content:var(--head-links-justify-content,flex-start);flex-grow:1;padding:0 1rem;display:flex;overflow:auto}.sy-head-links .link{height:var(--sy-s-navbar-height);align-items:center;display:inline-flex}.sy-head-links a:hover{color:var(--sy-c-link-hover)}.sy-head-links .link:hover>a{background-color:var(--sy-c-surface);border-radius:6px}.sy-head-links .link i.chevron-down{color:var(--sy-c-light)}.sy-head-links .link>ul{visibility:hidden;background-color:var(--sy-c-background);height:0;top:var(--sy-s-navbar-height);border:1px solid var(--sy-c-divider);box-shadow:var(--sy-dropdown-shadow);z-index:9;border-radius:6px;max-width:320px;margin-top:-10px;padding:15px;position:absolute}.sy-head-links .link>ul[aria-hidden=false],.sy-head-links .link:hover>ul{visibility:visible;height:auto}.sy-head-links .link>ul>li{padding:.2rem 0}.sy-head-socials{margin-left:.5rem}}.sy-foot{border-top:1px solid var(--sy-c-foot-divider);color:var(--sy-c-foot-text);background-color:var(--sy-c-foot-background);padding-top:1.5rem;padding-bottom:1rem}.sy-foot-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-foot-copyright{font-size:.84rem}.sy-foot-copyright a{font-weight:500}.sy-foot-copyright a:hover{text-decoration:underline}.sy-foot-socials a{color:var(--sy-c-foot-text);font-size:1.4rem}.sy-foot-socials a+a{margin-left:.5rem}.sy-foot-socials a svg{width:1.4rem;height:1.4rem;display:inline-block}.sy-lside .sidebar-links{margin-bottom:2rem}@media (min-width:768px){.sy-lside .sy-lside-inner{top:var(--sy-s-offset-top)}.sy-lside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top));overflow-x:hidden}}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 68px)}.sy-main{min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}.sy-content{max-width:64rem;min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}@media (max-width:767px){#lside{z-index:18;top:var(--sy-s-offset-top);width:300px;max-width:100%;height:calc(100vh - var(---sy-s-offset-top));background:var(--sy-c-background);transition:transform .2s;position:fixed;bottom:0;left:0;overflow:auto;transform:translate(-100%)}#lside[aria-hidden=false]{transform:translate(0)}.lside-overlay{top:var(--sy-s-offset-top);background-color:var(--sy-c-overlay);opacity:0;width:0;height:0;transition:width 0 .25s,height 0 .25s,opacity .25s;position:fixed;left:0}#lside[aria-hidden=false]+.lside-overlay{opacity:1;z-index:16;width:100%;height:100%}}@media (max-width:1279px){.sy-rside{z-index:25;background:var(--sy-c-background);width:20rem;max-width:100%;box-shadow:0 0 var(--sy-c-background-contrast),-12px 0 16px var(--gray-a1);padding-top:2rem;padding-bottom:1rem;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;overflow:auto;transform:translate(110%)}#rside[aria-hidden=false]{transform:translate(0)}.rside-close{justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.4rem;display:flex;position:absolute;top:16px;right:16px}.rside-overlay{background-color:var(--sy-c-overlay);opacity:0;width:0;height:0;transition:width 0 .25s,height 0 .25s,opacity .25s;position:fixed;top:0;left:0}#rside[aria-hidden=false]+.rside-overlay{opacity:1;z-index:22;width:100%;height:100%}}@media (min-width:768px){.sy-main{width:calc(100% - 18rem);max-width:52rem}}@media (min-width:1280px){.sy-main{width:calc(100% - 34rem);max-width:none}.sy-rside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top) - env(safe-area-inset-bottom))}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 24px)}}.nav-languages button,.nav-versions button{cursor:pointer;white-space:nowrap;background:0 0;border:0;margin:0;padding:0}.nav-versions .chevron-down{color:var(--sy-c-light)}@media (max-width:767px){.nav-versions,.nav-languages{background-color:var(--sy-c-surface);border-radius:6px;width:100%;margin-bottom:1rem;padding-bottom:.6rem}.nav-versions button,.nav-languages button{color:var(--sy-c-light);padding:.5rem 1rem;font-size:.76rem;font-weight:500}.nav-versions button>i,.nav-languages button>i{display:none}.nav-versions ul{padding:0 .6rem}.nav-versions li{padding:.2rem .4rem;display:inline-block}.nav-languages li{padding:.32rem 1rem;font-size:.94rem}}@media (min-width:768px){.nav-versions,.nav-languages{width:auto;height:var(--sy-s-navbar-height);color:var(--sy-c-text);background:0 0;align-items:center;display:flex;position:relative}.nav-languages button,.nav-versions button{border-right:1px solid var(--gray-3);padding:0 .5rem}.nav-versions-choices,.nav-languages-choices{visibility:hidden;box-sizing:border-box;background-color:var(--sy-c-background);min-width:120px;max-height:60vh;box-shadow:var(--sy-dropdown-shadow);border-radius:6px;padding:.8rem 1rem;position:absolute;top:3rem;right:-.6rem;overflow:hidden auto}.nav-versions:hover .nav-versions-choices,.nav-languages:hover .nav-languages-choices{visibility:visible}.nav-versions li,.nav-languages li{padding:.1rem 0}.nav-versions a,.nav-languages a{color:var(--sy-c-text);white-space:nowrap;padding:.2rem .6rem;display:block}.nav-versions a:hover,.nav-languages a:hover{color:var(--sy-c-link-hover);background:var(--sy-c-surface);border-radius:6px}}.sy-breadcrumbs{top:var(--sy-s-offset-top);background-color:var(--sy-c-background);z-index:5;padding:0 1.5rem;position:sticky}.sy-breadcrumbs-inner{border-bottom:1px solid var(--sy-c-divider);padding:.8rem 0}.sy-breadcrumbs ol{white-space:nowrap;font-size:.94rem;display:flex;overflow:auto}.sy-breadcrumbs button{align-items:center;display:flex}.sy-breadcrumbs ol a{color:var(--sy-c-light)}.sy-breadcrumbs ol a:hover{color:var(--sy-c-bold)}.sy-breadcrumbs ol a+span{color:var(--sy-c-light);padding:0 .4rem;font-weight:300}@media (min-width:1280px){.sy-breadcrumbs{display:none}}@media (min-width:768px){.sy-breadcrumbs-inner{padding:1.5rem 0 1rem}}.globaltoc{padding-bottom:20px}.globaltoc .caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-light);text-transform:uppercase;letter-spacing:.4px;border-top:1px solid var(--sy-c-divider);padding:.8rem 0 .4rem}.globaltoc>p.caption:first-of-type{border-top:none;padding-top:0}.globaltoc .caption+ul{margin-bottom:1.5rem}.globaltoc ul+.caption{margin-top:2.5rem}.globaltoc li{margin:.6rem 0}.globaltoc li>ul{margin-left:.6rem;font-size:.96rem}.globaltoc li.toctree-l1>ul{border-left:1px solid var(--gray-3);margin-left:.2rem}.globaltoc li.toctree-l2{border-left:1px solid #0000;margin-left:-1px;padding-left:.9rem}.globaltoc li.toctree-l2.current{border-color:var(--sy-c-link)}.globaltoc>ul a.current{color:var(--sy-c-link);font-weight:500}.globaltoc>ul a:hover{color:var(--sy-c-link-hover)}.globaltoc a.external:after{content:"";-webkit-mask:var(--lucide-external-link-url)no-repeat;-webkit-mask:var(--lucide-external-link-url)no-repeat;mask:var(--lucide-external-link-url)no-repeat;vertical-align:middle;background-color:var(--sy-c-light);width:.825rem;height:.825rem;margin-left:.2rem;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.globaltoc li{position:relative}.globaltoc li>button{border-radius:3px;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;display:flex;position:absolute;top:.2rem;right:0}.globaltoc li>button:hover{background-color:var(--sy-c-surface)}.globaltoc li.current>ul,.globaltoc li._expand>ul{display:block}.globaltoc li>ul,.globaltoc li._collapse>ul{display:none}.globaltoc li>button>i{transition:transform .2s;transform:rotate(0)}.globaltoc li.current>button>i,.globaltoc li._expand>button>i{transform:rotate(90deg)}.globaltoc li._collapse>button>i{transform:rotate(0)}.sy-deprecated{background-color:#ffdd001a;border-radius:6px;padding:.8rem;font-size:.85rem}.sy-deprecated a{color:var(--sy-c-link);text-decoration:underline}.sy-deprecated a:hover{color:var(--sy-c-link-hover)}.sy-rside-inner>div{margin-bottom:1rem}.sy-rside-inner>div>h3{letter-spacing:.4px;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem;font-weight:500}html[lang=zh] .sy-rside-inner>div>h3,html[lang=zh-TW] .sy-rside-inner>div>h3,html[lang=ja] .sy-rside-inner>div>h3,html[lang=ko] .sy-rside-inner>div>h3{letter-spacing:0;font-size:.86rem;font-weight:600}.localtoc>ul li{margin-top:.36rem;margin-bottom:.36rem}.localtoc>ul li>a:hover{color:var(--sy-c-link-hover)}.localtoc>ul li.active>a{color:var(--sy-c-link);font-weight:500}.localtoc>ul>li ul{padding-left:.8rem}.sy-rside ul.this-page-menu{margin-top:-.6rem}.sy-rside ul.this-page-menu a{font-size:.96rem}.sy-rside ul.this-page-menu a:hover{color:var(--sy-c-link-hover)}.navigation{border-top:1px solid var(--sy-c-divider);gap:2rem;margin-top:2rem;padding-top:1rem}.navigation>div{width:100%}.navigation a{align-items:center;display:inline-flex}.navigation a:hover{color:var(--sy-c-link-hover)}.navigation-next{text-align:right}.navigation-next a{justify-content:end}.navigation .page-info{padding:0 8px}.navigation .page-info>span{color:var(--sy-c-light);font-size:.8rem}:root{--readthedocs-search-font-family:var(--sy-f-text);--readthedocs-search-color:var(--sy-c-text);--readthedocs-search-input-background-color:var(--gray-3);--readthedocs-search-content-border-color:var(--gray-4);--readthedocs-search-content-background-color:var(--sy-c-background);--readthedocs-search-result-section-color:var(--sy-c-text);--readthedocs-search-result-section-subheading-color:var(--sy-c-heading);--readthedocs-search-result-section-highlight-color:var(--accent-9);--readthedocs-search-result-section-border-color:var(--sy-c-border)}.yue button.copybtn{color:var(--syntax-text);background-color:#0000;border:none;justify-content:center;align-items:center}.yue button.copybtn>svg{width:1.4rem;height:1.4rem}.yue button.copybtn:hover{color:var(--syntax-meta)}.yue .highlight button.copybtn:hover{background-color:#0000}.yue button.copybtn:after{color:var(--syntax-text);background-color:#0000}.yue button.copybtn.success{border-color:var(--green-a10);color:var(--green-a10)}.yue button.copybtn.success:after{color:var(--green-a10)}.code-block-caption+div>.highlight .copybtn{opacity:.5;top:-2em}.yue{--sd-color-primary:var(--accent-a11);--sd-color-secondary:var(--gold-a11);--sd-color-success:var(--green-a11);--sd-color-info:var(--blue-a11);--sd-color-warning:var(--orange-a11);--sd-color-danger:var(--red-a11);--sd-color-light:var(--sand-a2);--sd-color-muted:var(--gray-8);--sd-color-dark:#212122;--sd-color-black:black;--sd-color-white:white;--sd-color-primary-highlight:var(--accent-a8);--sd-color-secondary-highlight:var(--gold-a8);--sd-color-success-highlight:var(--green-a8);--sd-color-info-highlight:var(--blue-a8);--sd-color-warning-highlight:var(--orange-a8);--sd-color-danger-highlight:var(--red-a8);--sd-color-light-highlight:var(--gray-4);--sd-color-muted-highlight:var(--gray-11);--sd-color-dark-highlight:#121211;--sd-color-black-highlight:black;--sd-color-white-highlight:#d9d9d9;--sd-color-primary-text:var(--accent-contrast);--sd-color-secondary-text:var(--gold-contrast);--sd-color-success-text:var(--green-contrast);--sd-color-info-text:var(--blue-contrast);--sd-color-warning-text:var(--orange-contrast);--sd-color-danger-text:var(--red-contrast);--sd-color-light-text:var(--sy-c-text);--sd-color-muted-text:#fff;--sd-color-dark-text:#fff;--sd-color-black-text:#fff;--sd-color-white-text:#212529;--sd-color-shadow:var(--gray-1);--sd-color-card-border:var(--sy-c-border);--sd-color-card-border-hover:var(--accent-a9);--sd-color-tabs-label-inactive:var(--sy-c-bold);--sd-color-tabs-label-active:var(--sd-color-primary);--sd-color-tabs-underline-active:var(--sd-color-primary);--sd-color-tabs-label-hover:var(--accent-9);--sd-color-tabs-underline-hover:var(--accent-9)}.yue .surface{--sd-color-card-text:var(--sy-c-light);--sd-color-card-border:transparent;--sd-color-card-background:var(--sy-c-surface)}.yue a.sd-badge,.yue a.sd-badge:hover{border-bottom:0}.yue .sd-badge{border-radius:3px;font-weight:600}.yue .sd-btn{border-color:var(--sy-c-border)}.yue .sd-tab-set.outline{border:1px solid var(--sy-c-border);border-radius:4px;overflow:auto}.yue .sd-tab-set>label{padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sd-tab-set.outline>label{margin-left:1rem;padding-top:.5rem}.yue .sd-tab-set>label~label{margin-left:1rem}.yue .sd-tab-content{box-shadow:0 -.0625rem var(--sy-c-divider);padding:0}.yue .sd-tab-content .code-block-caption,.yue .sd-tab-content .highlight pre{border-radius:0}.yue .sd-card-title{color:var(--sy-c-text)}.yue .sd-card-title a{border-bottom:0}.yue .sd-card-title>svg,.yue .sd-card-title>iconify-icon{margin-right:.25rem;position:relative;top:-1px}.yue .sd-card-hover:hover{transform:scale(1)}.yue .sd-card-hover:hover .sd-card-title{color:var(--sy-c-link-hover)}.yue .sd-card a.sd-hide-link-text,.yue .sd-card a.sd-hide-link-text:hover{border-bottom:0}.yue .surface .sd-card-header,.yue .surface .sd-card-body,.yue .surface .sd-card-footer{padding-left:1.5rem;padding-right:1.5rem}.yue .surface .sd-card-header,.yue .surface .sd-card-footer{border-color:var(--sy-c-border)}@media (print){.yue .sd-card{page-break-inside:avoid}}.yue a.sd-text-wrap:hover{border-bottom-width:1px}.sphinx-tabs [role=tablist]{border-color:var(--sy-c-divider)}.yue .sphinx-tabs-tab{color:var(--sy-c-text);line-height:inherit;border:none;border-bottom:.125rem solid #0000;padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sphinx-tabs-tab:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.yue .sphinx-tabs-tab[aria-selected=true]{border:none;border-bottom:.125rem solid var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active);background-color:#0000}.yue .sphinx-tabs-tab+.sphinx-tabs-tab{margin-left:1rem}.yue .sphinx-tabs-panel{background-color:#0000;border:none;border-radius:0;margin:0;padding:0}.yue .sphinx-tabs-panel.code-tab{padding:0}.yue .sphinx-tabs-panel.code-tab .code-block-caption,.yue .sphinx-tabs-panel.code-tab .highlight pre{border-radius:0}.yue{--jp-widgets-input-border-color:var(--gray-5);--jp-widgets-input-focus-border-color:var(--gray-8);--jp-widgets-slider-active-handle-color:var(--gray-4);--jp-widgets-slider-handle-border-color:var(--sy-c-border)}.yue .jupyter_container{background-color:var(--sy-c-background);border:3px solid var(--sy-c-border);box-shadow:none;border-radius:6px;overflow:hidden}.sy-main .yue .jupyter_container div[class^=highlight]{padding:0}.yue .jupyter_container div.highlight{background-color:var(--syntax-pre-bg)}.yue .jupyter_container div.cell_input{background-color:var(--syntax-pre-bg);border:0;border-radius:0}.yue .jupyter_container div.code_cell pre{padding:0}.jupyter_container div.cell_output .output,.jupyter_container div.cell_output .stderr,.jupyter_container div.cell_output .widget-subarea{padding:.5rem}.jupyter_container div.cell_output .stderr .stderr{padding:0}.widget-hslider .slider-container,.jupyter-widget-hslider .slider-container{align-items:center;display:flex}.widget-slider .noUi-target,.jupyter-widget-slider .noUi-target{width:100%}.jupyter_container div.code_cell .highlight>pre{padding:1rem}.jupyter_container div.code_cell .highlight .hll{margin-left:-1rem;margin-right:-1rem;padding:0 1rem}.jupyter_container div.code_cell .highlight .linenos{margin-right:.8rem}.yue .jupyter_container .stderr{color:var(--red-a11);background-color:var(--red-a3)}.yue .jupyter_container .stderr .stderr{background-color:#0000}.nbinput .highlight{--radius:1px}.yue div.nblast.container{padding-top:5px}.yue div.nbinput.container div.input_area{border-color:var(--sy-c-border)}.yue div.nboutput.container div.output_area.stderr{color:var(--red-a11);background-color:var(--red-a3)}.yue div.nboutput.container div.output_area>.math-wrapper>div.math{padding-top:0}.yue .jp-RenderedHTMLCommon thead,.yue div.rendered_html thead{border-color:var(--sy-c-border)}.yue .jp-RenderedHTMLCommon tbody tr,.yue div.rendered_html tbody tr{color:var(--sy-c-text)}.yue .jp-RenderedHTMLCommon tbody tr:nth-child(odd),.yue div.rendered_html tbody tr:nth-child(odd){background-color:var(--sy-c-surface)}.yue .jp-RenderedHTMLCommon tbody tr:hover,.yue div.rendered_html tbody tr:hover{background-color:var(--color-surface-accent)}.yue{--sg-text-color:var(--sy-c-text);--sg-background-color:var(--sy-c-background);--sg-code-background-color:var(--syntax-pre-bg);--sg-tr-hover-color:var(--accent-a3);--sg-tr-odd-color:var(--sy-c-surface);--sg-tooltip-foreground:var(--sy-c-background-contrast);--sg-tooltip-background:var(--sy-c-background);--sg-tooltip-border:var(--gray-7)transparent;--sg-thumb-box-shadow-color:var(--gray-a4);--sg-thumb-hover-border:var(--accent-a9);--sg-script-out:var(--sy-c-light);--sg-script-pre:var(--syntax-pre-bg);--sg-pytb-foreground:var(--syntax-text);--sg-pytb-background:var(--red-a2);--sg-pytb-border-color:var(--red-a8);--sg-download-a-background-color:var(--accent-a3);--sg-download-a-background-image:none;--sg-download-a-border-color:1px solid var(--accent-a3);--sg-download-a-color:var(--accent-a11);--sg-download-a-hover-background-color:var(--accent-a4);--sg-download-a-hover-box-shadow-1:transparent;--sg-download-a-hover-box-shadow-2:transparent}.yue .sphx-glr-thumbnails a,.yue .sphx-glr-download a,.yue .sphx-glr-download a:hover{border-bottom:0}.yue p.sphx-glr-signature a{border-bottom:0;border-radius:0;text-decoration:underline}.yue p.sphx-glr-signature a:hover{color:var(--sy-c-link-hover)}.yue .sphx-glr-footer img{margin:0;display:inline}html.light,html.dark{--docsearch-primary-color:var(--accent-9);--docsearch-text-color:var(--sy-c-text);--docsearch-modal-background:var(--sy-c-background);--docsearch-footer-background:var(--sy-c-surface);--docsearch-searchbox-background:var(--sy-c-surface);--docsearch-searchbox-focus-background:var(--sy-c-background);--docsearch-muted-color:var(--sy-c-light);--docsearch-hit-color:var(--sy-c-text);--docsearch-hit-background:var(--sy-c-surface);--docsearch-hit-active-color:var(--accent-contrast);--docsearch-hit-shadow:inset 0 0 1px 0 var(--gray-a11);--docsearch-container-background:var(--sy-c-overlay)}html.light{--docsearch-key-gradient:linear-gradient(-225deg,#e6e6e6,#f8f8f8);--docsearch-key-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}html.dark{--docsearch-key-gradient:linear-gradient(-225deg,#353434,#141414);--docsearch-key-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000;--docsearch-footer-shadow:0 -1px 0 0 #373737,0 -3px 6px 0 #141414;--docsearch-modal-shadow:inset 1px 1px 0 0 #373737,0 3px 8px 0 #141414}#docsearch .DocSearch-Button{border-radius:6px}#docsearch .DocSearch-Button-Key,#docsearch .DocSearch-Button-Placeholder{font-size:.825rem}#docsearch .DocSearch-Button-Placeholder,#docsearch .DocSearch-Button-Keys{display:flex!important}#docsearch .DocSearch-Search-Icon{width:.875rem!important;height:.875rem!important}@media (max-width:767px){#docsearch{position:absolute;top:1rem;left:1.8rem;right:1.8rem}#docsearch .DocSearch-Button{width:100%;margin-left:0}}dl.sqla dt{color:var(--sig-name);margin-bottom:.5rem}dl.sqla dt>em{color:var(--sig-param);font-style:normal;font-weight:400}dl.sqla dd>p.rubric{text-transform:uppercase;margin-top:1.5rem;font-size:.76rem}dl.sqla dd>p.rubric+.table-wrapper{border-left:0;border-right:0;border-radius:0;margin-top:.75rem}dl.sqla p.rubric+.table-wrapper th,dl.sqla p.rubric+.table-wrapper td{background-color:#0000;border-left:0;border-right:0}dl.sqla p.rubric+.table-wrapper td>p{margin:0}dl.sqla p.rubric+.table-wrapper tr.row-odd{background-color:#0000}dl.sqla p.rubric+.table-wrapper tr.row-even{background-color:var(--yue-c-row-background)}.yue details.toggle-details{background-color:var(--slate-a2);border-radius:.2em;padding:0 1rem}.yue details.toggle-details summary{border-left-color:var(--accent-a9);background-color:var(--gray-a2);margin-left:-1rem;margin-right:-1rem}.yue details.toggle-details[open] summary{border-radius:.2em .2em 0 0}.yue .toggle-details__container{margin-top:0;margin-bottom:0;padding-top:1rem;padding-bottom:1rem}.yue .toggle-details__container :first-child{margin-top:0}.yue .toggle-details__container :last-child{margin-bottom:0}.yue .admonition.toggle-hidden .admonition-title~*{margin-bottom:0!important}.sphinx-contributors{container:contributors/inline-size}.sphinx-contributors .sphinx-contributors_list__item{margin:0;padding:0}.sphinx-contributors .sphinx-contributors_contributor__username,.sphinx-contributors .sphinx-contributors_contributor__contributions{margin:0}.sphinx-contributors.sphinx-contributors--avatars .sphinx-contributors_list{justify-content:flex-start;gap:1rem;padding:0}.sphinx-contributors--avatars .sphinx-contributors_contributor__username{margin-top:.5rem}.sphinx-contributors--avatars .sphinx-contributors_contributor__contributions{font-size:.875rem}.sphinx-contributors--avatars .sphinx-contributors_contributor__contributions:before{content:"";padding:0}.sphinx-contributors--avatars .sphinx-contributors_contributor{align-items:center}@container contributors (max-width:800px){.sphinx-contributors.sphinx-contributors--avatars .sphinx-contributors_list{column-gap:0}.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:25%}}@container contributors (max-width:700px){.sphinx-contributors--avatars img.sphinx-contributors_contributor__image{width:120px}}@container contributors (max-width:600px){.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:33.33%}}@container contributors (max-width:500px){.sphinx-contributors--avatars img.sphinx-contributors_contributor__image{width:120px}}@container contributors (max-width:400px){.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:50%}}.yue{--xr-font-color0:var(--sy-c-heading);--xr-font-color2:var(--sy-c-text);--xr-font-color3:var(--sy-c-light);--xr-border-color:var(--sy-c-border);--xr-disabled-color:var(--gray-a6);--xr-background-color:var(--sy-c-background);--xr-background-color-row-even:var(--sy-c-background);--xr-background-color-row-odd:var(--gray-2)}.yue .xr-array-data pre{margin:0}.yue iconify-icon[data-accent-color]{color:var(--accent-9)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/site/html/_static/shibuya.js b/site/html/_static/shibuya.js new file mode 100644 index 0000000..43fbc13 --- /dev/null +++ b/site/html/_static/shibuya.js @@ -0,0 +1,41 @@ +(()=>{var Ct=Object.freeze({left:0,top:0,width:16,height:16}),M=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),O=Object.freeze({...Ct,...M}),W=Object.freeze({...O,body:"",hidden:!1}),Xt=Object.freeze({width:null,height:null}),_t=Object.freeze({...Xt,...M});function Zt(t,e=0){let n=t.replace(/^-?[0-9.]*/,"");function s(o){for(;o<0;)o+=4;return o%4}if(n===""){let o=parseInt(t);return isNaN(o)?0:s(o)}else if(n!==t){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let i=parseFloat(t.slice(0,t.length-n.length));return isNaN(i)?0:(i=i/o,i%1===0?s(i):0)}}return e}var te=/[\s,]+/;function ee(t,e){e.split(te).forEach(n=>{switch(n.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}var Lt={..._t,preserveAspectRatio:""};function dt(t){let e={...Lt},n=(s,o)=>t.getAttribute(s)||o;return e.width=n("width",null),e.height=n("height",null),e.rotate=Zt(n("rotate","")),ee(e,n("flip","")),e.preserveAspectRatio=n("preserveAspectRatio",n("preserveaspectratio","")),e}function ne(t,e){for(let n in Lt)if(t[n]!==e[n])return!0;return!1}var Et=/^[a-z0-9]+(-[a-z0-9]+)*$/,j=(t,e,n,s="")=>{let o=t.split(":");if(t.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;s=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){let r=o.pop(),a=o.pop(),l={provider:o.length>0?o[0]:s,prefix:a,name:r};return e&&!N(l)?null:l}let i=o[0],c=i.split("-");if(c.length>1){let r={provider:s,prefix:c.shift(),name:c.join("-")};return e&&!N(r)?null:r}if(n&&s===""){let r={provider:s,prefix:"",name:i};return e&&!N(r,n)?null:r}return null},N=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function oe(t,e){let n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);let s=((t.rotate||0)+(e.rotate||0))%4;return s&&(n.rotate=s),n}function ft(t,e){let n=oe(t,e);for(let s in W)s in M?s in t&&!(s in n)&&(n[s]=M[s]):s in e?n[s]=e[s]:s in t&&(n[s]=t[s]);return n}function se(t,e){let n=t.icons,s=t.aliases||Object.create(null),o=Object.create(null);function i(c){if(n[c])return o[c]=[];if(!(c in o)){o[c]=null;let r=s[c]&&s[c].parent,a=r&&i(r);a&&(o[c]=[r].concat(a))}return o[c]}return Object.keys(n).concat(Object.keys(s)).forEach(i),o}function ie(t,e,n){let s=t.icons,o=t.aliases||Object.create(null),i={};function c(r){i=ft(s[r]||o[r],i)}return c(e),n.forEach(c),ft(t,i)}function Tt(t,e){let n=[];if(typeof t!="object"||typeof t.icons!="object")return n;t.not_found instanceof Array&&t.not_found.forEach(o=>{e(o,null),n.push(o)});let s=se(t);for(let o in s){let i=s[o];i&&(e(o,ie(t,o,i)),n.push(o))}return n}var re={provider:"",aliases:{},not_found:{},...Ct};function J(t,e){for(let n in e)if(n in t&&typeof t[n]!=typeof e[n])return!1;return!0}function Ot(t){if(typeof t!="object"||t===null)return null;let e=t;if(typeof e.prefix!="string"||!t.icons||typeof t.icons!="object"||!J(t,re))return null;let n=e.icons;for(let o in n){let i=n[o];if(!o||typeof i.body!="string"||!J(i,W))return null}let s=e.aliases||Object.create(null);for(let o in s){let i=s[o],c=i.parent;if(!o||typeof c!="string"||!n[c]&&!s[c]||!J(i,W))return null}return e}var q=Object.create(null);function ce(t,e){return{provider:t,prefix:e,icons:Object.create(null),missing:new Set}}function v(t,e){let n=q[t]||(q[t]=Object.create(null));return n[e]||(n[e]=ce(t,e))}function jt(t,e){return Ot(e)?Tt(e,(n,s)=>{s?t.icons[n]=s:t.missing.add(n)}):[]}function ae(t,e,n){try{if(typeof n.body=="string")return t.icons[e]={...n},!0}catch{}return!1}function le(t,e){let n=[];return(typeof t=="string"?[t]:Object.keys(q)).forEach(o=>{(typeof o=="string"&&typeof e=="string"?[e]:Object.keys(q[o]||{})).forEach(c=>{let r=v(o,c);n=n.concat(Object.keys(r.icons).map(a=>(o!==""?"@"+o+":":"")+c+":"+a))})}),n}var E=!1;function Pt(t){return typeof t=="boolean"&&(E=t),E}function T(t){let e=typeof t=="string"?j(t,!0,E):t;if(e){let n=v(e.provider,e.prefix),s=e.name;return n.icons[s]||(n.missing.has(s)?null:void 0)}}function Nt(t,e){let n=j(t,!0,E);if(!n)return!1;let s=v(n.provider,n.prefix);return e?ae(s,n.name,e):(s.missing.add(n.name),!0)}function ht(t,e){if(typeof t!="object")return!1;if(typeof e!="string"&&(e=t.provider||""),E&&!e&&!t.prefix){let o=!1;return Ot(t)&&(t.prefix="",Tt(t,(i,c)=>{Nt(i,c)&&(o=!0)})),o}let n=t.prefix;if(!N({prefix:n,name:"a"}))return!1;let s=v(e,n);return!!jt(s,t)}function ue(t){return!!T(t)}function de(t){let e=T(t);return e&&{...O,...e}}function fe(t){let e={loaded:[],missing:[],pending:[]},n=Object.create(null);t.sort((o,i)=>o.provider!==i.provider?o.provider.localeCompare(i.provider):o.prefix!==i.prefix?o.prefix.localeCompare(i.prefix):o.name.localeCompare(i.name));let s={provider:"",prefix:"",name:""};return t.forEach(o=>{if(s.name===o.name&&s.prefix===o.prefix&&s.provider===o.provider)return;s=o;let i=o.provider,c=o.prefix,r=o.name,a=n[i]||(n[i]=Object.create(null)),l=a[c]||(a[c]=v(i,c)),u;r in l.icons?u=e.loaded:c===""||l.missing.has(r)?u=e.missing:u=e.pending;let d={provider:i,prefix:c,name:r};u.push(d)}),e}function Rt(t,e){t.forEach(n=>{let s=n.loaderCallbacks;s&&(n.loaderCallbacks=s.filter(o=>o.id!==e))})}function he(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;let e=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!e.length)return;let n=!1,s=t.provider,o=t.prefix;e.forEach(i=>{let c=i.icons,r=c.pending.length;c.pending=c.pending.filter(a=>{if(a.prefix!==o)return!0;let l=a.name;if(t.icons[l])c.loaded.push({provider:s,prefix:o,name:l});else if(t.missing.has(l))c.missing.push({provider:s,prefix:o,name:l});else return n=!0,!0;return!1}),c.pending.length!==r&&(n||Rt([t],i.id),i.callback(c.loaded.slice(0),c.missing.slice(0),c.pending.slice(0),i.abort))})}))}var pe=0;function ge(t,e,n){let s=pe++,o=Rt.bind(null,n,s);if(!e.pending.length)return o;let i={id:s,icons:e,callback:t,abort:o};return n.forEach(c=>{(c.loaderCallbacks||(c.loaderCallbacks=[])).push(i)}),o}var X=Object.create(null);function pt(t,e){X[t]=e}function Z(t){return X[t]||X[""]}function me(t,e=!0,n=!1){let s=[];return t.forEach(o=>{let i=typeof o=="string"?j(o,e,n):o;i&&s.push(i)}),s}var be={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ye(t,e,n,s){let o=t.resources.length,i=t.random?Math.floor(Math.random()*o):t.index,c;if(t.random){let h=t.resources.slice(0);for(c=[];h.length>1;){let b=Math.floor(Math.random()*h.length);c.push(h[b]),h=h.slice(0,b).concat(h.slice(b+1))}c=c.concat(h)}else c=t.resources.slice(i).concat(t.resources.slice(0,i));let r=Date.now(),a="pending",l=0,u,d=null,f=[],p=[];typeof s=="function"&&p.push(s);function I(){d&&(clearTimeout(d),d=null)}function x(){a==="pending"&&(a="aborted"),I(),f.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),f=[]}function g(h,b){b&&(p=[]),typeof h=="function"&&p.push(h)}function z(){return{startTime:r,payload:e,status:a,queriesSent:l,queriesPending:f.length,subscribe:g,abort:x}}function w(){a="failed",p.forEach(h=>{h(void 0,u)})}function y(){f.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),f=[]}function m(h,b,k){let P=b!=="success";switch(f=f.filter(A=>A!==h),a){case"pending":break;case"failed":if(P||!t.dataAfterTimeout)return;break;default:return}if(b==="abort"){u=k,w();return}if(P){u=k,f.length||(c.length?G():w());return}if(I(),y(),!t.random){let A=t.resources.indexOf(h.resource);A!==-1&&A!==t.index&&(t.index=A)}a="completed",p.forEach(A=>{A(k)})}function G(){if(a!=="pending")return;I();let h=c.shift();if(h===void 0){if(f.length){d=setTimeout(()=>{I(),a==="pending"&&(y(),w())},t.timeout);return}w();return}let b={status:"pending",resource:h,callback:(k,P)=>{m(b,k,P)}};f.push(b),l++,d=setTimeout(G,t.rotate),n(h,e,b.callback)}return setTimeout(G),z}function Mt(t){let e={...be,...t},n=[];function s(){n=n.filter(r=>r().status==="pending")}function o(r,a,l){let u=ye(e,r,a,(d,f)=>{s(),l&&l(d,f)});return n.push(u),u}function i(r){return n.find(a=>r(a))||null}return{query:o,find:i,setIndex:r=>{e.index=r},getIndex:()=>e.index,cleanup:s}}function ot(t){let e;if(typeof t.resources=="string")e=[t.resources];else if(e=t.resources,!(e instanceof Array)||!e.length)return null;return{resources:e,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}var $=Object.create(null),C=["https://api.simplesvg.com","https://api.unisvg.com"],R=[];for(;C.length>0;)C.length===1||Math.random()>.5?R.push(C.shift()):R.push(C.pop());$[""]=ot({resources:["https://api.iconify.design"].concat(R)});function gt(t,e){let n=ot(e);return n===null?!1:($[t]=n,!0)}function D(t){return $[t]}function ve(){return Object.keys($)}function mt(){}var Y=Object.create(null);function Ie(t){if(!Y[t]){let e=D(t);if(!e)return;let n=Mt(e),s={config:e,redundancy:n};Y[t]=s}return Y[t]}function qt(t,e,n){let s,o;if(typeof t=="string"){let i=Z(t);if(!i)return n(void 0,424),mt;o=i.send;let c=Ie(t);c&&(s=c.redundancy)}else{let i=ot(t);if(i){s=Mt(i);let c=t.resources?t.resources[0]:"",r=Z(c);r&&(o=r.send)}}return!s||!o?(n(void 0,424),mt):s.query(e,o,n)().abort}function bt(){}function xe(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,he(t)}))}function we(t){let e=[],n=[];return t.forEach(s=>{(s.match(Et)?e:n).push(s)}),{valid:e,invalid:n}}function _(t,e,n){function s(){let o=t.pendingIcons;e.forEach(i=>{o&&o.delete(i),t.icons[i]||t.missing.add(i)})}if(n&&typeof n=="object")try{if(!jt(t,n).length){s();return}}catch(o){console.error(o)}s(),xe(t)}function yt(t,e){t instanceof Promise?t.then(n=>{e(n)}).catch(()=>{e(null)}):e(t)}function Ae(t,e){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(e).sort():t.iconsToLoad=e,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;let{provider:n,prefix:s}=t,o=t.iconsToLoad;if(delete t.iconsToLoad,!o||!o.length)return;let i=t.loadIcon;if(t.loadIcons&&(o.length>1||!i)){yt(t.loadIcons(o,s,n),u=>{_(t,o,u)});return}if(i){o.forEach(u=>{let d=i(u,s,n);yt(d,f=>{let p=f?{prefix:s,icons:{[u]:f}}:null;_(t,[u],p)})});return}let{valid:c,invalid:r}=we(o);if(r.length&&_(t,r,null),!c.length)return;let a=s.match(Et)?Z(n):null;if(!a){_(t,c,null);return}a.prepare(n,s,c).forEach(u=>{qt(n,u,d=>{_(t,u.icons,d)})})}))}var st=(t,e)=>{let n=me(t,!0,Pt()),s=fe(n);if(!s.pending.length){let a=!0;return e&&setTimeout(()=>{a&&e(s.loaded,s.missing,s.pending,bt)}),()=>{a=!1}}let o=Object.create(null),i=[],c,r;return s.pending.forEach(a=>{let{provider:l,prefix:u}=a;if(u===r&&l===c)return;c=l,r=u,i.push(v(l,u));let d=o[l]||(o[l]=Object.create(null));d[u]||(d[u]=[])}),s.pending.forEach(a=>{let{provider:l,prefix:u,name:d}=a,f=v(l,u),p=f.pendingIcons||(f.pendingIcons=new Set);p.has(d)||(p.add(d),o[l][u].push(d))}),i.forEach(a=>{let l=o[a.provider][a.prefix];l.length&&Ae(a,l)}),e?ge(e,s,i):bt},Se=t=>new Promise((e,n)=>{let s=typeof t=="string"?j(t,!0):t;if(!s){n(t);return}st([s||t],o=>{if(o.length&&s){let i=T(s);if(i){e({...O,...i});return}}n(t)})});function vt(t){try{let e=typeof t=="string"?JSON.parse(t):t;if(typeof e.body=="string")return{...e}}catch{}}function ke(t,e){if(typeof t=="object")return{data:vt(t),value:t};if(typeof t!="string")return{value:t};if(t.includes("{")){let i=vt(t);if(i)return{data:i,value:t}}let n=j(t,!0,!0);if(!n)return{value:t};let s=T(n);if(s!==void 0||!n.prefix)return{value:t,name:n,data:s};let o=st([n],()=>e(t,n,T(n)));return{value:t,name:n,loading:o}}var Ft=!1;try{Ft=navigator.vendor.indexOf("Apple")===0}catch{}function Ce(t,e){switch(e){case"svg":case"bg":case"mask":return e}return e!=="style"&&(Ft||t.indexOf("=0;){let o=t.indexOf(">",s),i=t.indexOf("",i);if(c===-1)break;n+=t.slice(o+1,i).trim(),t=t.slice(0,s).trim()+t.slice(c+1)}return{defs:n,content:t}}function Te(t,e){return t?""+t+""+e:e}function Oe(t,e,n){let s=Ee(t);return Te(s.defs,e+s.content+n)}var je=t=>t==="unset"||t==="undefined"||t==="none";function $t(t,e){let n={...O,...t},s={..._t,...e},o={left:n.left,top:n.top,width:n.width,height:n.height},i=n.body;[n,s].forEach(x=>{let g=[],z=x.hFlip,w=x.vFlip,y=x.rotate;z?w?y+=2:(g.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),g.push("scale(-1 1)"),o.top=o.left=0):w&&(g.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),g.push("scale(1 -1)"),o.top=o.left=0);let m;switch(y<0&&(y-=Math.floor(y/4)*4),y=y%4,y){case 1:m=o.height/2+o.top,g.unshift("rotate(90 "+m.toString()+" "+m.toString()+")");break;case 2:g.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:m=o.width/2+o.left,g.unshift("rotate(-90 "+m.toString()+" "+m.toString()+")");break}y%2===1&&(o.left!==o.top&&(m=o.left,o.left=o.top,o.top=m),o.width!==o.height&&(m=o.width,o.width=o.height,o.height=m)),g.length&&(i=Oe(i,'',""))});let c=s.width,r=s.height,a=o.width,l=o.height,u,d;c===null?(d=r===null?"1em":r==="auto"?l:r,u=tt(d,a/l)):(u=c==="auto"?a:c,d=r===null?tt(u,l/a):r==="auto"?l:r);let f={},p=(x,g)=>{je(g)||(f[x]=g.toString())};p("width",u),p("height",d);let I=[o.left,o.top,a,l];return f.viewBox=I.join(" "),{attributes:f,viewBox:I,body:i}}function it(t,e){let n=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let s in e)n+=" "+s+'="'+e[s]+'"';return'"+t+""}function Pe(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Ne(t){return"data:image/svg+xml,"+Pe(t)}function Dt(t){return'url("'+Ne(t)+'")'}var Re=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}},F=Re();function Me(t){F=t}function qe(){return F}function Fe(t,e){let n=D(t);if(!n)return 0;let s;if(!n.maxURL)s=0;else{let o=0;n.resources.forEach(c=>{o=Math.max(o,c.length)});let i=e+".json?icons=";s=n.maxURL-o-n.path.length-i.length}return s}function $e(t){return t===404}var De=(t,e,n)=>{let s=[],o=Fe(t,e),i="icons",c={type:i,provider:t,prefix:e,icons:[]},r=0;return n.forEach((a,l)=>{r+=a.length+1,r>=o&&l>0&&(s.push(c),c={type:i,provider:t,prefix:e,icons:[]},r=a.length),c.icons.push(a)}),s.push(c),s};function He(t){if(typeof t=="string"){let e=D(t);if(e)return e.path}return"/"}var Be=(t,e,n)=>{if(!F){n("abort",424);return}let s=He(e.provider);switch(e.type){case"icons":{let i=e.prefix,r=e.icons.join(","),a=new URLSearchParams({icons:r});s+=i+".json?"+a.toString();break}case"custom":{let i=e.uri;s+=i.slice(0,1)==="/"?i.slice(1):i;break}default:n("abort",400);return}let o=503;F(t+s).then(i=>{let c=i.status;if(c!==200){setTimeout(()=>{n($e(c)?"abort":"next",c)});return}return o=501,i.json()}).then(i=>{if(typeof i!="object"||i===null){setTimeout(()=>{i===404?n("abort",i):n("next",o)});return}setTimeout(()=>{n("success",i)})}).catch(()=>{n("next",o)})},Qe={prepare:De,send:Be};function Ue(t,e,n){v(n||"",e).loadIcons=t}function Ve(t,e,n){v(n||"",e).loadIcon=t}var K="data-style",Ht="";function ze(t){Ht=t}function It(t,e){let n=Array.from(t.childNodes).find(s=>s.hasAttribute&&s.hasAttribute(K));n||(n=document.createElement("style"),n.setAttribute(K,K),t.appendChild(n)),n.textContent=":host{display:inline-block;vertical-align:"+(e?"-0.125em":"0")+"}span,svg{display:block;margin:auto}"+Ht}function Bt(){pt("",Qe),Pt(!0);let t;try{t=window}catch{}if(t){if(t.IconifyPreload!==void 0){let n=t.IconifyPreload,s="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!ht(o))&&console.error(s)}catch{console.error(s)}})}if(t.IconifyProviders!==void 0){let n=t.IconifyProviders;if(typeof n=="object"&&n!==null)for(let s in n){let o="IconifyProviders["+s+"] is invalid.";try{let i=n[s];if(typeof i!="object"||!i||i.resources===void 0)continue;gt(s,i)||console.error(o)}catch{console.error(o)}}}}return{iconLoaded:ue,getIcon:de,listIcons:le,addIcon:Nt,addCollection:ht,calculateSize:tt,buildIcon:$t,iconToHTML:it,svgToURL:Dt,loadIcons:st,loadIcon:Se,addAPIProvider:gt,setCustomIconLoader:Ve,setCustomIconsLoader:Ue,appendCustomStyle:ze,_api:{getAPIConfig:D,setAPIModule:pt,sendAPIQuery:qt,setFetch:Me,getFetch:qe,listAPIProviders:ve}}}var et={"background-color":"currentColor"},Qt={"background-color":"transparent"},xt={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},wt={"-webkit-mask":et,mask:et,background:Qt};for(let t in wt){let e=wt[t];for(let n in xt)e[t+"-"+n]=xt[n]}function At(t){return t?t+(t.match(/^[-0-9.]+$/)?"px":""):"inherit"}function Ge(t,e,n){let s=document.createElement("span"),o=t.body;o.indexOf("");let i=t.attributes,c=it(o,{...i,width:e.width+"",height:e.height+""}),r=Dt(c),a=s.style,l={"--svg":r,width:At(i.width),height:At(i.height),...n?et:Qt};for(let u in l)a.setProperty(u,l[u]);return s}var L;function Je(){try{L=window.trustedTypes.createPolicy("iconify",{createHTML:t=>t})}catch{L=null}}function Ye(t){return L===void 0&&Je(),L?L.createHTML(t):t}function Ke(t){let e=document.createElement("span"),n=t.attributes,s="";n.width||(s="width: inherit;"),n.height||(s+="height: inherit;"),s&&(n.style=s);let o=it(t.body,n);return e.innerHTML=Ye(o),e.firstChild}function nt(t){return Array.from(t.childNodes).find(e=>{let n=e.tagName&&e.tagName.toUpperCase();return n==="SPAN"||n==="SVG"})}function St(t,e){let n=e.icon.data,s=e.customisations,o=$t(n,s);s.preserveAspectRatio&&(o.attributes.preserveAspectRatio=s.preserveAspectRatio);let i=e.renderedMode,c;switch(i){case"svg":c=Ke(o);break;default:c=Ge(o,{...O,...n},i==="mask")}let r=nt(t);r?c.tagName==="SPAN"&&r.tagName===c.tagName?r.setAttribute("style",c.getAttribute("style")):t.replaceChild(c,r):t.appendChild(c)}function kt(t,e,n){let s=n&&(n.rendered?n:n.lastRender);return{rendered:!1,inline:e,icon:t,lastRender:s}}function We(t="iconify-icon"){let e,n;try{e=window.customElements,n=window.HTMLElement}catch{return}if(!e||!n)return;let s=e.get(t);if(s)return s;let o=["icon","mode","inline","noobserver","width","height","rotate","flip"],i=class extends n{_shadowRoot;_initialised=!1;_state;_checkQueued=!1;_connected=!1;_observer=null;_visible=!0;constructor(){super();let r=this._shadowRoot=this.attachShadow({mode:"open"}),a=this.hasAttribute("inline");It(r,a),this._state=kt({value:""},a),this._queueCheck()}connectedCallback(){this._connected=!0,this.startObserver()}disconnectedCallback(){this._connected=!1,this.stopObserver()}static get observedAttributes(){return o.slice(0)}attributeChangedCallback(r){switch(r){case"inline":{let a=this.hasAttribute("inline"),l=this._state;a!==l.inline&&(l.inline=a,It(this._shadowRoot,a));break}case"noobserver":{this.hasAttribute("noobserver")?this.startObserver():this.stopObserver();break}default:this._queueCheck()}}get icon(){let r=this.getAttribute("icon");if(r&&r.slice(0,1)==="{")try{return JSON.parse(r)}catch{}return r}set icon(r){typeof r=="object"&&(r=JSON.stringify(r)),this.setAttribute("icon",r)}get inline(){return this.hasAttribute("inline")}set inline(r){r?this.setAttribute("inline","true"):this.removeAttribute("inline")}get observer(){return this.hasAttribute("observer")}set observer(r){r?this.setAttribute("observer","true"):this.removeAttribute("observer")}restartAnimation(){let r=this._state;if(r.rendered){let a=this._shadowRoot;if(r.renderedMode==="svg")try{a.lastChild.setCurrentTime(0);return}catch{}St(a,r)}}get status(){let r=this._state;return r.rendered?"rendered":r.icon.data===null?"failed":"loading"}_queueCheck(){this._checkQueued||(this._checkQueued=!0,setTimeout(()=>{this._check()}))}_check(){if(!this._checkQueued)return;this._checkQueued=!1;let r=this._state,a=this.getAttribute("icon");if(a!==r.icon.value){this._iconChanged(a);return}if(!r.rendered||!this._visible)return;let l=this.getAttribute("mode"),u=dt(this);(r.attrMode!==l||ne(r.customisations,u)||!nt(this._shadowRoot))&&this._renderIcon(r.icon,u,l)}_iconChanged(r){let a=ke(r,(l,u,d)=>{let f=this._state;if(f.rendered||this.getAttribute("icon")!==l)return;let p={value:l,name:u,data:d};p.data?this._gotIconData(p):f.icon=p});a.data?this._gotIconData(a):this._state=kt(a,this._state.inline,this._state)}_forceRender(){if(!this._visible){let r=nt(this._shadowRoot);r&&this._shadowRoot.removeChild(r);return}this._queueCheck()}_gotIconData(r){this._checkQueued=!1,this._renderIcon(r,dt(this),this.getAttribute("mode"))}_renderIcon(r,a,l){let u=Ce(r.data.body,l),d=this._state.inline;St(this._shadowRoot,this._state={rendered:!0,icon:r,inline:d,customisations:a,attrMode:l,renderedMode:u})}startObserver(){if(!this._observer&&!this.hasAttribute("noobserver"))try{this._observer=new IntersectionObserver(r=>{let a=r.some(l=>l.isIntersecting);a!==this._visible&&(this._visible=a,this._forceRender())}),this._observer.observe(this)}catch{if(this._observer){try{this._observer.disconnect()}catch{}this._observer=null}}}stopObserver(){this._observer&&(this._observer.disconnect(),this._observer=null,this._visible=!0,this._connected&&this._forceRender())}};o.forEach(r=>{r in i.prototype||Object.defineProperty(i.prototype,r,{get:function(){return this.getAttribute(r)},set:function(a){a!==null?this.setAttribute(r,a):this.removeAttribute(r)}})});let c=Bt();for(let r in c)i[r]=i.prototype[r]=c[r];return e.define(t,i),i}var Xe=We()||Bt(),{iconLoaded:hn,getIcon:pn,listIcons:gn,addIcon:mn,addCollection:bn,calculateSize:yn,buildIcon:vn,iconToHTML:In,svgToURL:xn,loadIcons:wn,loadIcon:An,setCustomIconLoader:Sn,setCustomIconsLoader:kn,addAPIProvider:Cn,_api:_n}=Xe;function Ze(t){let e=t.getAttribute("aria-controls"),n=document.getElementById(e);n&&(n.addEventListener("click",s=>{s.stopPropagation()}),t.addEventListener("click",s=>{s.stopPropagation();let o=Vt(),i=o.indexOf(e);n.getAttribute("aria-hidden")==="false"?(o.splice(i,1),document.body.setAttribute("data-expanded",o.join(" ")),n.setAttribute("aria-hidden","true"),rt(e,"false")):(o.push(e),document.body.setAttribute("data-expanded",o.join(" ")),n.setAttribute("aria-hidden","false"),rt(e,"true"))}))}function rt(t,e){let n=document.querySelectorAll('[aria-controls="'+t+'"]');for(let s=0;s{let t=Vt();document.body.setAttribute("data-expanded",""),t.forEach(e=>{document.getElementById(e).setAttribute("aria-hidden","true"),rt(e,"false")})});var H=document.querySelector(".announcement"),tn=document.querySelector(".announcement-close");if(H){let e=function(){t.textContent=`:root{--sy-s-banner-height:${H.clientHeight}px}`};en=e;let t=document.createElement("style");document.head.appendChild(t),tn.addEventListener("click",()=>{H.parentNode.removeChild(H),document.head.removeChild(t)}),e(),window.addEventListener("resize",e)}var en;var B=["auto","light","dark"],Q=document.querySelector(".js-theme");function nn(){let t=zt();t+=1,B[t]||(t=0);let e=B[t];setColorMode(e),localStorage._theme=e,Gt(e)}function zt(){return B.indexOf(document.documentElement.getAttribute("data-color-mode")||"auto")}function Gt(t){let e=Q.getAttribute("data-aria-"+t);Q.setAttribute("aria-label",e)}Q&&(Q.addEventListener("click",nn),Gt(B[zt()]||"auto"));function on(){let t=document.querySelector(".globaltoc");if(!t)return;let e=parseInt(t.getAttribute("data-expand-depth"),10),n=o=>{if(!e)return!1;let i=0;for(;o.parentNode&&o.parentNode!==t;)o=o.parentNode,o.nodeName==="UL"&&(i+=1);return e>=i};t.querySelectorAll("li > ul").forEach(o=>{let i=o.parentNode;i.classList.contains("current")||n(i)?i.classList.add("_expand"):i.classList.add("_collapse");let c=sn(o);i.appendChild(c)})}function sn(t){let e=document.createElement("button");e.innerHTML='';let n=t.parentNode,s=t.previousSibling,o=s.textContent,i=()=>{n.classList.contains("_expand")?e.setAttribute("aria-label","Collapse "+o):e.setAttribute("aria-label","Expand "+o)};i();let c=r=>{r.preventDefault(),n.classList.contains("_expand")?(n.classList.remove("_expand"),n.classList.add("_collapse")):(n.classList.remove("_collapse"),n.classList.add("_expand")),i()};return s.getAttribute("href")==="#"&&s.addEventListener("click",c),e.addEventListener("click",c),e}var ct=document.querySelector(".globaltoc a.current");ct&&ct.scrollIntoViewIfNeeded&&ct.scrollIntoViewIfNeeded();on();var Jt=0,at=200,U=document.querySelectorAll(".yue > section section[id]"),S=document.querySelector(".back-to-top");function Yt(){let t=document.querySelector(".yue > section");t&&(at=t.computedStyleMap().get("scroll-margin-top").value)}function rn(t){let e=t.getBoundingClientRect();return e.top<=at&&e.bottom>=at}function Kt(t){document.querySelectorAll(".localtoc li.active").forEach(e=>{e.classList.remove("active")}),document.querySelector(`.localtoc a[href="#${t}"]`).parentNode.classList.add("active")}function Wt(){let t;for(let e=0;e=document.body.offsetHeight){let t=U[U.length-1];t&&Kt(t.id)}else Wt();S&&(window.scrollY&&window.scrollY{window.scrollTo(0,0)});document.querySelector(".localtoc")&&(window.addEventListener("scroll",cn),window.addEventListener("DOMContentLoaded",()=>{Yt(),Wt()}),window.addEventListener("resize",Yt));var V=document.querySelector(".js-repo-stats");async function an(t,e){let n=`https://api.github.com/repos/${t}/${e}`,o=await(await fetch(n)).json(),i={stars:o.watchers,forks:o.forks};lt(i),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(i))}async function ln(t,e){let n="https://gitlab.com/api/v4/projects/"+encodeURIComponent(t+"/"+e),o=await(await fetch(n)).json(),i={stars:o.star_count,forks:o.forks_count};lt(i),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(i))}function lt({stars:t,forks:e}){t&&(document.querySelector(".js-repo-stars").textContent=t),e&&(document.querySelector(".js-repo-forks").textContent=e)}function un(){let t=sessionStorage.getItem("_sy/repo/stats");if(t)lt(JSON.parse(t));else{let e=V.getAttribute("data-user"),n=V.getAttribute("data-repo"),s=V.getAttribute("data-type");s==="github"?an(e,n):s==="gitlab"&&ln(e,n)}}V&&un();function dn(t,e){let n=document.createElement("script");n.id="_carbonads_js",n.src=`//cdn.carbonads.com/carbon.js?serve=${t}&placement=${e}`;let s=document.querySelector(".yue > section"),o=document.querySelector(".yue > section > section");if(o)s.insertBefore(n,o);else{let i=document.querySelector(".yue > section > p");i?s.insertBefore(n,i.nextSibling):s.appendChild(n)}}var ut=document.querySelector(".js-carbon");if(ut){let t=ut.getAttribute("data-carbon-code"),e=ut.getAttribute("data-carbon-placement");t&&e&&dn(t,e)}var fn=` +:host > div .results .hit h2 { + color: var(--sy-c-heading); + margin-bottom: 0; + border-bottom: 0; + font-weight: 600; +} +:host > div .results .hit .hit-block .content { + color: var(--sy-c-text); +} +:host > div .results .hit-block a.hit:hover, :host > div .results .hit-block .hit.active { + background-color: var(--gray-5); + border-radius: 4px; +} + +:host > div div.hit-block a.hit-block-heading:hover { + text-decoration: underline; +} + +:host > div div.hit-block a.hit-block-heading i, +:host > div div.hit-block .hit-block-heading-container .close-icon { + color: var(--sy-c-light); + margin-bottom: 0; + display: flex; +} +`;document.addEventListener("readthedocs-addons-data-ready",function(t){document.querySelector(".searchbox input").addEventListener("focusin",()=>{let e=new CustomEvent("readthedocs-search-show");document.dispatchEvent(e)}),setTimeout(()=>{let e=document.querySelector("readthedocs-search");if(e){let n=document.createElement("style");n.textContent=fn,e.shadowRoot.appendChild(n)}},1e3)});/windows/i.test(navigator.userAgent)&&document.body.classList.add("win");})(); +/*! Bundled license information: + +iconify-icon/dist/iconify-icon.mjs: + (** + * (c) Iconify + * + * For the full copyright and license information, please view the license.txt + * files at https://github.com/iconify/iconify + * + * Licensed under MIT. + * + * @license MIT + * @version 3.0.0 + *) +*/ diff --git a/site/html/_static/sphinx_highlight.js b/site/html/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/site/html/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/site/html/genindex.html b/site/html/genindex.html new file mode 100644 index 0000000..f5b1e67 --- /dev/null +++ b/site/html/genindex.html @@ -0,0 +1,86 @@ + + + + + Index - PyAwaitable documentation + + + + + + + +
+
+
+ + + + PyAwaitable + +
+ +
+
+
+
+
+
+
+
+ + +

Index

+ +
+ +
+ + +
+ +
+
+ + + + + \ No newline at end of file diff --git a/site/html/index.html b/site/html/index.html new file mode 100644 index 0000000..6f431b0 --- /dev/null +++ b/site/html/index.html @@ -0,0 +1,135 @@ + + + + + PyAwaitable documentation + + + + + + + + + +
+
+
+ + + + PyAwaitable + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+

PyAwaitable documentation¶

+

Add your content using reStructuredText syntax. See the +reStructuredText +documentation for details.

+
+
+
+ +
+
+
+
+ + + + + + \ No newline at end of file diff --git a/site/html/objects.inv b/site/html/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..efdd6f9e933601bd00a9bb6a61d22fb4dd92ddb1 GIT binary patch literal 248 zcmY#Z2rkIT%&Sny%qvUHE6FdaR47X=D$dN$Q!wIERtPA{&q_@$u~G=AbSzKIEJ;kt zNd*drL6lf20NEiKsR~7@xrv#1DXB#Y`DqFz8JWcjX_+~x3P3tJKewPLwYWGnMWM7f zGcR4CDkn2ZkE`OAxBuDGXS_Yv259JcZan4b<8?Ohf@z3Hd)KSfDNmkhR5ZLm6kX|U3k=d07a)_-2eap literal 0 HcmV?d00001 diff --git a/site/html/search.html b/site/html/search.html new file mode 100644 index 0000000..3398875 --- /dev/null +++ b/site/html/search.html @@ -0,0 +1,110 @@ + + + + + Search - PyAwaitable documentation + + + + + + + + + + + +
+
+
+ + + + PyAwaitable + +
+ +
+
+
+
+
+
+
+
+ +

Search

+ + + + +

+ Searching for multiple words only shows matches that contain + all words. +

+ + +
+ + +
+

+ + +
+ + +
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/site/html/searchindex.js b/site/html/searchindex.js new file mode 100644 index 0000000..c292952 --- /dev/null +++ b/site/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"alltitles":{"PyAwaitable documentation":[[0,null]]},"docnames":["index"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"add":0,"content":0,"detail":0,"restructuredtext":0,"see":0,"syntax":0,"us":0,"your":0},"titles":["PyAwaitable documentation"],"titleterms":{"document":0,"pyawait":0}}) \ No newline at end of file From 09680531cbb6471763f187152fe0b32223d1a3fb Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sat, 16 Aug 2025 11:43:56 -0400 Subject: [PATCH 02/13] Remove build artifacts from version control. --- .gitignore | 1 + site/doctrees/environment.pickle | Bin 13465 -> 0 bytes site/doctrees/index.doctree | Bin 4434 -> 0 bytes site/html/.buildinfo | 4 - site/html/_sources/index.rst.txt | 17 - site/html/_static/basic.css | 906 --------------------- site/html/_static/doctools.js | 149 ---- site/html/_static/documentation_options.js | 13 - site/html/_static/file.png | Bin 286 -> 0 bytes site/html/_static/language_data.js | 192 ----- site/html/_static/minus.png | Bin 90 -> 0 bytes site/html/_static/plus.png | Bin 90 -> 0 bytes site/html/_static/print.css | 42 - site/html/_static/pygments.css | 1 - site/html/_static/searchtools.js | 635 --------------- site/html/_static/shibuya.css | 2 - site/html/_static/shibuya.js | 41 - site/html/_static/sphinx_highlight.js | 154 ---- site/html/genindex.html | 86 -- site/html/index.html | 135 --- site/html/objects.inv | Bin 248 -> 0 bytes site/html/search.html | 110 --- site/html/searchindex.js | 1 - 23 files changed, 1 insertion(+), 2488 deletions(-) delete mode 100644 site/doctrees/environment.pickle delete mode 100644 site/doctrees/index.doctree delete mode 100644 site/html/.buildinfo delete mode 100644 site/html/_sources/index.rst.txt delete mode 100644 site/html/_static/basic.css delete mode 100644 site/html/_static/doctools.js delete mode 100644 site/html/_static/documentation_options.js delete mode 100644 site/html/_static/file.png delete mode 100644 site/html/_static/language_data.js delete mode 100644 site/html/_static/minus.png delete mode 100644 site/html/_static/plus.png delete mode 100644 site/html/_static/print.css delete mode 100644 site/html/_static/pygments.css delete mode 100644 site/html/_static/searchtools.js delete mode 100644 site/html/_static/shibuya.css delete mode 100644 site/html/_static/shibuya.js delete mode 100644 site/html/_static/sphinx_highlight.js delete mode 100644 site/html/genindex.html delete mode 100644 site/html/index.html delete mode 100644 site/html/objects.inv delete mode 100644 site/html/search.html delete mode 100644 site/html/searchindex.js diff --git a/.gitignore b/.gitignore index 46251f6..a23cbf9 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ dist/ src/pyawaitable/pyawaitable.h pcbuild/ *.o +site/ # LSP compile_flags.txt diff --git a/site/doctrees/environment.pickle b/site/doctrees/environment.pickle deleted file mode 100644 index 101eaa677bcd7c4b6bd45645e7aa30bde6ba2ed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13465 zcmbtbd3YVyRktN;-(`7EVr6k6JCT&wNhqZ)cDyB#t+=t%q)nX3ym=$t8O@t{p2d=! z8rnaSNa2#SWXfJ3Kq>pykFpd>C@o7_3bd4^tltOUM@wm;P+CeU{LZ<{nhip zcDl`GIWGsCdgA4&@7II0loNW9A`hY&r|IS*3Tmb7bIq^m9L* zt@{`KC~3|%SKVbd$lY4x&t^gH&+1jP@`>{PQua7m>d_ZOpS}k3(KQHJ!{r*bs$61iXS$Q5ikKA~%a2NejcKC5A2cpDtBj3SZxW7lW zv(l9#SyH5)@A$Eo)Popb?JM$y=~qo>w1dGIB+4AM4}7PmnI@s{fyM)8R*#som$KU} za*=?PgJ+09lXnGv+HgxbrpG&8(p*i0MS+>)2X8%i$1RiX1N&M7#7(m2qMy=XO1TMC zO#R4rGrtrEWLKWl-Bp767;+XGIkvSE+-5f+rd#5Q$NcbFLJZY&&qY#-*7V= zmzb%PT|r#;SLoIhMYCdIAy@&|$t^Q!Mr?`Md0Kcmwpyo8mzf;(SG=gG`^0rviLY-; zc008K9E`g-CyGWbo2i2x`(}=v1xF^SU;1)1h_9F@I}RMcjSklR1-FQDCru)sh~w7l zI9}}0sqmc?G9r9Bz?vMTzD80nz#K#`!j0#N=Oi_{W^hHG28`W%CDzFV2&WdzzytN9 z;Rd*~t1+kHEP(8BlKW2TFZlQ-cr0tWo)5AO@LN)l7%gArJ&z0UN<{o( z?-Y!n4+gesbtg@ASs?Rp?l+paJU?R@CPCfolRBN2+ zL#hJ&;4DNgKD-7ZfNE~K3T9Gd>}alnXOsX|#2W`4Y`Ad~(w#X)8e#d~ILMoUx3o&M z)UXpQ#>6Vv%S1a07qSRGMMrmBG)U2`%dHA>GT#H_)cq#3-rQz6r11+0#5rdT+JiAf za-8w3f+qLT?JE()Eu9D!XBgGRiV@oA94Saf^+U<{(>17{CCon+WI4!AJ%zlw;jRP? zd>o1=c1cE@D2VaLj~B6-c{zd|2nQRgLE<2^bXkn@FM#aeH{K$2yBSAETWd8lzgf!7 zGx%;EWezkXSCgUh!ZGNXiE5V? z>Wm52XEYC~-YMA;LN9h*63)?i^?U9?$a60XJhUE<>BI#?ZLp5;K^n#64%l0`S&%_n zMA)!MqB_lhK>5w0Mn__$dGc_twvPRbhqRL>+(Heoatr5FglB}&K^^A~7NEUxkwv@| zC(GE#0QY4cuOpt3z1%K>dWnYmhL_;$<$m2-M4yk=Fb{-OutH|jqrTHji1VSO88lB!d^qfYXx*QA;);+ zavBh`leWcr{jiq7C5&?;YS8)hHT7fyQ&+(xBQ3O5XyX-J<@VGHMtk=0ASjyzEIi1K z1@~frZJ|BH?XW`YQO0CB%${dI1mA@bq&B%9Dkybr_cq4C5av$NtV8F*#IPyeb!7)p zt;jtPUVS?QbJScgE>xLX2UZBgNn$s`2k4H_vy~T8%8-a2cr1cyGfi?Ya5GCJl@mO& zg>v|$vf~5qh5qEetQiHlzPWXcBZtFLrrNH-H?MHCIPlxme75L>a){dD;v!dROQEA{O zbx#^!VM+A~vwIJ=2*Pl{5R}}}x)wi8YITMhJUy~%7IR%w9b^>(%3#Fsu7fa50^U{d_iVHfHtM z!-r=5?2cJbbGp%prajsT216#zVwIB)8=O`atmPk>g75vveyDakr5=C};k~N9FHN@GA_;c&qx(hz|^koO!m$-~)pzNIS2~anpvgm1w7OP42eXmfYoT z3M{MR9j2Sb+ql5w-S0Z_z^PM{^G8k}pM1^n(?{+(b@<4!WA`6Fd-ipZe;fbUqr=0U@UE-L4)sbZItbcy_zxvnbKjXl^#Qb#*m%W7ohkR6X+ z3)3|DQbWicWbb&tys9-O1f{AQBc zH8RJ|5K$yc2(@A3z{)BzVi#gv?j}UTU4kW0tVm%vpaj|+5(+5@;)TR%XYx^lZeuco zyn=tnOizV_drbre*)-j80^dG&g9yw};Oje0hnFUBzig;RhA1KiU^i=3xbd|gMvdbQsclilbdft@X+ekPWWgGvsBYjeB~Rd-$2Bv@jF^$RkFcoNZ7ho zR|D6AqcmFa^7d9I&x1p!JfM-;B1>m$K|Cu0N_m#D@(Bvi=}z_7F+0|DAamAQ7{sL5 zp2QHzE21N0j6*E)n3#<1J}~>Gj3;esJWTk;7hu>xbWTEXnh1`Z#_7PQD@K5D5e`Ka zUA2%Z+H4CWdn^4@;yQ7?>_n!xe6kcbh<#zSdDA9h4xGMDREPnDExkLzzn&$ z1>VvEr{_)oZn4LJSBa|)I3s2ac7!*)AI)(q}03mvu4F>%~E_nLuo;*~6u9}sUai#}*~`H+R)Xa~MYJZxrPJ1-7^RF8=B{QIaK?W{B6G2!xW zO?doUw_EV%Hk(Bj#G(P4c7Y3aWNLAl-9j!3Gv%U1F57`C7FxBvm&D^{%A3Vy13qOw zqq7ne+Hg`@T+bU`vxyqf8QpaF^72jegl1rg`N|oLB2zLs|G^> zsR;x8;ibMqe5V=nU2~lV{BBFKceZ%zdkme#_s(rHBfn2PUpWZb44ru4)qg;5^au6t zyTlJM{@vn-4WIpp_)!D?nD}uGnp6uDRqn35VN6aMA6dmxW`d2j+25nPcqP-sPgu$L zNelgyg}zOEyV=`Mi=Q#z&x-dL@aM#P4fykR)-S9Z+%Jk>GT{5fFB|Yz)(rH13;n8i z!63iiB7e;;^Z|?ebqjq^e8^1s4d^*V$nRwoe`*SOhpRnip3-Onx`>(`b8}M($ z-x~1m#NQk6AI!&Xq<+xG-Db=u%^2~iwQyCLhkvxtr`HYcpDcfWMts(=@;{4zG5wzt z|EfVbsDsED&M26ww^_$a0Ni9`J|O8Ms@L!&dBIcSkQ}MJIL^@E4exO6&u`-Md8u^d zzbjq(1@T2D>3^^WH6J12LJU$zIKsVOQiK0dKf@ExYr zNv$oqCH_r(p2zeMw%3g5qgKCe$zgj&eo;dh%~J+w(4d(zM6F@d8ll#xX^l~9+_bh* zYr?d)0hrs&3vMUy8U}X|*u~&ZfPBJm7oc!A{xJS30Q(ub8juYS8FLLVOoni;fn*rAPYcaF+9UfjqU zZJ&j`*cTq{*tALRy)X7DO78jy+#(+*h4*raI^Km0@yQ%hT3zh4vq0pY4G=8Q#y!`M7U1&Y}^Xqdyw)0Kspl zARYufuY0SZ4MGucMIA5H?R-03nx!79%naXHZM+GMbu;YYN>4SU%8->)fjazUwL3gP z+lY%pZa6!(Z=}_y{2)166{ouqF_^8%J*}}OR6*=U&sj(-*wa=bH9JbZz@9fNg^ytO z;d%O_3HT_%P6hE8U~^bGiinV7mx_N!Z`F*%?clZA#6oriJ$c*G5lFJqd@hzXh9<04 z8gfL(Jaz$by*5puR~Z-9(FlF|qs(@=K=5Jfq_WEVzypCts%~o=MkQ4!1K*7d zDxT%bd2yW_*2O4RZ}gnewIH?}rQ4Rfh+!&#LG*Ix6A0MwtVhq`>S4vieBw^oi<7IW zgJ+Ss(e)E=lcOAaB9x?9h#4L^#$k$GQI<1f5;J{gk}Oy`11y#2^s#rybr$sH@STta zR9Bc4XfY0cFRQNbUDRLH#Qw|p@~A$VN~>ivUOCq(cWy)q)YPDC0$I$>a>vF_6ajGx z9(|@H$*zWqqq#m?WMt6FoyGWF8`f%NUT7OzH}p2>z;hjP+XlSKZj^IduJ}IHo?ybp zZDo0#(A{dCa_&eWCv?_A<$92D=OZCU*@nlP5$X!oWiMz!FPiF=dzfDskh#+}5V8Y_ z6FJ0huDCK+)fR1`s2^!-ACLG*5mL1W!V}PRU2gL*Y6)-LNH#f0AW{tmvVUuGu!#x{ zVtmer(9@WDzX3YaX&`!2m?a*;$Vv_qDTH*vtIWO8%*BhPi`0>a{PRrU=L@_5xNVk1 zl~$s8Z7U52aobaxn3Thqz-q}^q2dFaVVp9&V5@fQn92KQezZVYvn34e7cNS4_=$oN z;M+M(65s_fC8FcWj`AvX9Di%Ius~@@@&?(gh)!_=8D|sx!EMFcve<(H8!B6HOx;2u zdy&y5S)jXO*?79=?z`iMF2ANbqk18FUcnLgisPF1?~>T;xd8GaO!6@DClxCCwpZ*r7Pb)#i>H7lRRONm3JD)jnCE3QTLO)`Z;<{#i@5ytqyj_Zz)RPpD3xYP_s51OCCT2BP_E$34 zq+>b*q^FU}?lIM4fV-6P1JsM^g;s;Iru@`&9(6H2xr-Dv3OK?~Vd1AKeajmSwz_bbIt{Q;JHC9v-Y8~7fE+rSJMGL zbyZc1>^n+j1#kmijW?9VD5*hvb&H@5jR9y#uVN9s>WK%s3k5a(icOO^qPMPo$XjIt z)HGiSj}vty*$2Oz8-`ipl8aK#ypp=v*_QQJhrNwf`@dXQACZ=CTwRy{RnS@A_^@4K z;QzA=lJpU91691)I!vv-=Qd|@nEEP@Y?ooR2!#>?bpxav)M||LRD8-; zPrgx#2P7&u#f%}kV&GUev&J4XH`<2nSB?y8WKwXOJIQk8axjUeEZ3=%y){p)q_zL#9Rk24M=>iT67IQ{hFNMDE_;>7mn7F$0y!1nANy zfrDkLg`{FN8N?xdy724KtJxGhR-oRI4mB07F<$nlYU39Dwy;NA88L(!M+Zd)e6x0( zc(^qrd^fM9=-)~HZL3cs$-4zo4j^1vY}M+RU35oo&BsF(4e3R#r*g)__hDUl0;cX> z$D`nzbFI2?L_I63NsIl`}+{GTcut>uu* zKphoS1T+I`+bxI6A%j<$Oz;rLLo^Z>kLr4IFo!%8EKwY+6yLlYgL0>$dwTDrXdFe+ z=aKr=#SWE$BmAJBP+hoETl+Bz@BZz}@w5MnEXZXC%0F#=d)WLh0j0(f;vWWQlISDt zeh=*yiVlSZnc5@mf1EsdiVd;Vlqx<^5q?rt8pGN?iQ5~13ZvXPReR8tOn|IZ5vdCz ztj{WUw0F>z^Tuh?w)VaT@;dk^_3UZy;pI@tVEcEr_fyQ%`s9YmEb$e)inye0uQe$z9%M(UD^*n1@)R5p!2kE-;9|uwWoJ!bA`m1_D?a_D=V1H`qHp z?hCmKBS7+CKn(gJfG0nYUx)$!Mm{1RlG8mG?yfAs56(*nEHGVDQ(awk>QpuV()q`) z_gCVd-=QjVR!Gy&6=kOM8$mE(xh=mc-~DU(=km~ZHMum(>5P?r1sWL_l4_Qh&&xx; z;@2}ZS@?i={J(!cdwNNPB}2)Q#v-vo<;jE?%XBgllD(H?ni0!rGMx2H!9_kj`rL`^ z+*qP*0_A7KCQscsdHjpy@#Ev4zJL7aN%G{;lb`o{e^f5XNS+W%3Y%CiOf;FmnL;wl zKQD3ETc5CL2+jZD3BN2uy8T)~kXu{wO*16EN37KXkpngY7FGo{$UBlQi7^o3 zxs#Jg^|V1|C=^)agzq^4Jt4U}&Sz%rJeyO6S)t8HX=Q-sJ~;)pyedEhScK z4ea^@t|n|yAhCKt*#(oT7!)(oU~GV|%s}LnP5au|(%+IIXXQ!94Ff_=$fC+yNb?R~ z3kePI?O0(Yn|tNodL?)(6zsiDql)4o4)ch=!&mu(Q+{~rhJ?R~@bS9<(GT&vhu@Fz zOP-gG|Cslo{*y|bKjeoe>(T8lGC{_g6nx&he?6tN!gT;HGL<+3cqeCPnmx1HW!7m% z15D4(5;Fs~r~Tv^V*%g2mvoX}a%&57JQ!SFUiRx6L@@hGj|VItRMk3ghK$(&X=^vI z*q{zLw-fonS=wtdSJnAQ>4Y*=7PuwG?U3*JAH2f(@;YoE&W9}|PYNWR$oUxD`L@G0 z$=O?u!<_No%^QDxPJV-&e26^k`Tdu|IA?L$-7XN%P(T2BL!jWp&;FNz|1Jmr(|0?# zzZHwozZ^rqhJ!gRO8=|x2Qd-&pVdKL@oS*`F}vI0+-ULg_UkI)6+maN<%bXWgUAbkBO^~le%J`TPPv@UA+6#y zzgtyupHN!&_4T@`y`=lfjroD^L`DVMgJ!g-IDSjynRJwe1|F$>V?w5s6_%GLH_;c+ zjsw;D?nf0pnPaf=SgK)p<=42N6obQ+->$8+f{olwhA13Fa>e%|CmWT^8FYJ?Kjs_= z%Vrn;&yb0~*WuYgc>FTg`rZ2EN0*?|f@vgsiGKgqgtf8*y1q__e`~JI94%1X9BSs3 z7Uvx(%@O^(*lBf<=&!eGFxY(1wm<&R-?5tHMn-B)3$4b0aMh7JR#~uPj9RS|gXltJ zZup(d>Cn&9x|N>#tws`C6kr=dEiqb9WvdpnO{@R7S5KZ zynpJuW0r%Rt{Uamrd~fk(%CuHG=prYV?!VGPT&Ko_Te4MWNZXGAyzZP38i{0?zerPm^VQvhq*)J=-C#Ur8`1p;%9 z&WQ{LccUa$LrDF#s4&b?m153>)*hP{%CL0)%LtLorWeA93a`5<6((F!aFE)|^`=fx zb6Yr!L1o0EgVF6;Ep4gq&G3XxFwF+iLt=t8ihOT^q}t`l4Zk0X4Y0|_K%o>9Vat#A z9{Qbv6=~Z=!eO?8WJut9s0)9$X|@oXelfFL<#9GE{Xx)-4nQ-t4EG+CUl^}harDlk zpCO(*dXz1h50Y#14;u5RToUkl&U9ZeJBoXN4F+MjL+y5Pl|u>9!15dZJ^(pM+sbSY zkX94^mEWrd&yE{k5Z4jt8;<{RD)%#v={G~-t71cx zV+ir}xhv2W!p$|diJAk@Qy>xf2pFhI;dWpN;3vh0j$bVMQB%kmE{*Dnup)0s06hOB%+1JTVz@d zII(5!!zm!kf@^^q^wL1({`P{jx<^3_Yom4%rm%1YgM2**tLH=h4gZ>d!Kco5gVfFn zxEU@S-(2x8UO0X?Jb#VZVam1h+w+-=wzf0e)uS`8Ur9oNHhPuQ^OAt7C`G0xLnT`< zMB$w!VXNI;u-I*OjUU}!upj>gfT_wKEZeHzU`haeWSD<|5j2-fNr`kLpy(d!AJy`& z5QQ(xKcEzFnL<(Fq8hF;)rKvLEQmK-aZKQ5J*faN<8a&U(Li)HCxlk+hW-Bn;10jP diff --git a/site/html/.buildinfo b/site/html/.buildinfo deleted file mode 100644 index 6207aee..0000000 --- a/site/html/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 0ce5f42dd35062342027f693d4c571e0 -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/site/html/_sources/index.rst.txt b/site/html/_sources/index.rst.txt deleted file mode 100644 index 615c52d..0000000 --- a/site/html/_sources/index.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -.. PyAwaitable documentation master file, created by - sphinx-quickstart on Sat Aug 16 11:38:02 2025. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -PyAwaitable documentation -========================= - -Add your content using ``reStructuredText`` syntax. See the -`reStructuredText `_ -documentation for details. - - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - diff --git a/site/html/_static/basic.css b/site/html/_static/basic.css deleted file mode 100644 index 4738b2e..0000000 --- a/site/html/_static/basic.css +++ /dev/null @@ -1,906 +0,0 @@ -/* - * Sphinx stylesheet -- basic theme. - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin-top: 10px; -} - -ul.search li { - padding: 5px 0; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: 360px; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -a:visited { - color: #551A8B; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -.sig dd { - margin-top: 0px; - margin-bottom: 0px; -} - -.sig dl { - margin-top: 0px; - margin-bottom: 0px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/site/html/_static/doctools.js b/site/html/_static/doctools.js deleted file mode 100644 index 0398ebb..0000000 --- a/site/html/_static/doctools.js +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Base JavaScript utilities for all Sphinx HTML documentation. - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/site/html/_static/documentation_options.js b/site/html/_static/documentation_options.js deleted file mode 100644 index 7e4c114..0000000 --- a/site/html/_static/documentation_options.js +++ /dev/null @@ -1,13 +0,0 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/site/html/_static/file.png b/site/html/_static/file.png deleted file mode 100644 index a858a410e4faa62ce324d814e4b816fff83a6fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( diff --git a/site/html/_static/language_data.js b/site/html/_static/language_data.js deleted file mode 100644 index c7fe6c6..0000000 --- a/site/html/_static/language_data.js +++ /dev/null @@ -1,192 +0,0 @@ -/* - * This script contains the language-specific data used by searchtools.js, - * namely the list of stopwords, stemmer, scorer and splitter. - */ - -var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; - - -/* Non-minified version is copied as a separate JS file, if available */ - -/** - * Porter Stemmer - */ -var Stemmer = function() { - - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' - }; - - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - diff --git a/site/html/_static/minus.png b/site/html/_static/minus.png deleted file mode 100644 index d96755fdaf8bb2214971e0db9c1fd3077d7c419d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK diff --git a/site/html/_static/plus.png b/site/html/_static/plus.png deleted file mode 100644 index 7107cec93a979b9a5f64843235a16651d563ce2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz diff --git a/site/html/_static/print.css b/site/html/_static/print.css deleted file mode 100644 index bd88769..0000000 --- a/site/html/_static/print.css +++ /dev/null @@ -1,42 +0,0 @@ -.sy-head { - position: static; - border-bottom: 1px solid var(--sy-c-divider); -} - -.sy-head-inner { - padding: 0; -} - -.sy-breadcrumbs { - display: none; -} - -h1, h2, h3, h4, h5, h6 { - page-break-inside: avoid; - page-break-after: avoid; -} - -.code-block-caption, -pre, code { - page-break-inside: avoid; - white-space: pre-wrap; - - -webkit-print-color-adjust: exact; -} - -.yue a.headerlink { - display: none; -} - -.highlight .linenos { - box-shadow: none; -} - -.admonition, -.sd-sphinx-override { - -webkit-print-color-adjust: exact; -} - -.sd-card { - page-break-inside: avoid; -} diff --git a/site/html/_static/pygments.css b/site/html/_static/pygments.css deleted file mode 100644 index 449a846..0000000 --- a/site/html/_static/pygments.css +++ /dev/null @@ -1 +0,0 @@ -:root{--syntax-pre-bg: var(--accent-a2);--syntax-cap-bg: var(--accent-a3);--syntax-highlight-bg: var(--accent-a3);--syntax-linenos-divider: var(--gray-a6);--syntax-light-text: #24292f;--syntax-light-meta: #807c87;--syntax-light-comment: #6e7781;--syntax-light-constant: #0550ae;--syntax-light-entity: #268bd2;--syntax-light-property: #8250df;--syntax-light-definition: #24292f;--syntax-light-tag: #085;--syntax-light-builtin: #b58900;--syntax-light-keyword: #cf222e;--syntax-light-exception: #e6212e;--syntax-light-string: #0a3069;--syntax-light-regexp: #e40;--syntax-light-variable: #a4480f;--syntax-light-invalid-illegal-text: #f6f8fa;--syntax-light-invalid-illegal-bg: #82071e;--syntax-light-markup-heading: #0550ae;--syntax-light-markup-italic: #24292f;--syntax-light-markup-bold: #24292f;--syntax-light-markup-deleted-text: #82071e;--syntax-light-markup-deleted-bg: #FFEBE9;--syntax-light-markup-inserted-text: #116329;--syntax-light-markup-inserted-bg: #dafbe1;--syntax-light-markup-changed-text: #953800;--syntax-light-markup-changed-bg: #ffd8b5;--syntax-light-markup-ignored-text: #eaeef2;--syntax-light-markup-ignored-bg: #0550ae;--syntax-light-meta-diff-range: #8250df;--syntax-light-special-bg: #dccafa;--syntax-dark-text: #c9d1d9;--syntax-dark-meta: #6e7781;--syntax-dark-comment: #8b949e;--syntax-dark-constant: #79c0ff;--syntax-dark-entity: #47b0fa;--syntax-dark-property: #d2a8ff;--syntax-dark-definition: #c9d1d9;--syntax-dark-tag: #7ee787;--syntax-dark-builtin: #ffd34c;--syntax-dark-keyword: #ff7b72;--syntax-dark-exception: #da473c;--syntax-dark-string: #a5d6ff;--syntax-dark-regexp: #ef954e;--syntax-dark-variable: #ffa657;--syntax-dark-invalid-illegal-text: #f0f6fc;--syntax-dark-invalid-illegal-bg: #8e1519;--syntax-dark-markup-heading: #1f6feb;--syntax-dark-markup-italic: #c9d1d9;--syntax-dark-markup-bold: #c9d1d9;--syntax-dark-markup-deleted-text: #ffdcd7;--syntax-dark-markup-deleted-bg: #67060c;--syntax-dark-markup-inserted-text: #aff5b4;--syntax-dark-markup-inserted-bg: #033a16;--syntax-dark-markup-changed-text: #ffdfb6;--syntax-dark-markup-changed-bg: #5a1e02;--syntax-dark-markup-ignored-text: #c9d1d9;--syntax-dark-markup-ignored-bg: #1158c7;--syntax-dark-meta-diff-range: #d2a8ff;--syntax-dark-special-bg: #4f425d}:root,html.light{--syntax-text: var(--syntax-light-text);--syntax-meta: var(--syntax-light-meta);--syntax-comment: var(--syntax-light-comment);--syntax-constant: var(--syntax-light-constant);--syntax-entity: var(--syntax-light-entity);--syntax-property: var(--syntax-light-property);--syntax-definition: var(--syntax-light-definition);--syntax-tag: var(--syntax-light-tag);--syntax-builtin: var(--syntax-light-builtin);--syntax-keyword: var(--syntax-light-keyword);--syntax-exception: var(--syntax-light-exception);--syntax-string: var(--syntax-light-string);--syntax-regexp: var(--syntax-light-regexp);--syntax-variable: var(--syntax-light-variable);--syntax-invalid-illegal-text: var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-light-markup-heading);--syntax-markup-italic: var(--syntax-light-markup-italic);--syntax-markup-bold: var(--syntax-light-markup-bold);--syntax-markup-deleted-text: var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-light-meta-diff-range);--syntax-special-bg: var(--syntax-light-special-bg)}@media (prefers-color-scheme: dark){:root{--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}}html.dark{--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}.light .dark-code{--syntax-pre-bg: var(--black-a12);--syntax-cap-bg: #1C2024;--syntax-highlight-bg: var(--white-a2);--syntax-linenos-divider: var(--white-a4);--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}html.light .sd-tab-content,html.light .jupyter_container .cell_output{--syntax-pre-bg: var(--color-surface-accent);--syntax-cap-bg: var(--accent-3);--syntax-highlight-bg: var(--accent-a3);--syntax-text: var(--syntax-light-text);--syntax-meta: var(--syntax-light-meta);--syntax-comment: var(--syntax-light-comment);--syntax-constant: var(--syntax-light-constant);--syntax-entity: var(--syntax-light-entity);--syntax-property: var(--syntax-light-property);--syntax-definition: var(--syntax-light-definition);--syntax-tag: var(--syntax-light-tag);--syntax-builtin: var(--syntax-light-builtin);--syntax-keyword: var(--syntax-light-keyword);--syntax-exception: var(--syntax-light-exception);--syntax-string: var(--syntax-light-string);--syntax-regexp: var(--syntax-light-regexp);--syntax-variable: var(--syntax-light-variable);--syntax-invalid-illegal-text: var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-light-markup-heading);--syntax-markup-italic: var(--syntax-light-markup-italic);--syntax-markup-bold: var(--syntax-light-markup-bold);--syntax-markup-deleted-text: var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-light-meta-diff-range);--syntax-highlight-bg: var(--syntax-light-highlight-bg);--syntax-special-bg: var(--syntax-light-special-bg)}.highlight{color:var(--syntax-text);background-color:transparent}.highlight .hll{display:block;background-color:var(--syntax-highlight-bg)}.highlight .c{color:var(--syntax-comment)}.highlight .err{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .g{color:var(--syntax-meta)}.highlight .k{color:var(--syntax-keyword)}.highlight .l{color:var(--syntax-meta)}.highlight .o{color:var(--syntax-constant)}.highlight .x{color:var(--syntax-meta)}.highlight .cm{color:var(--syntax-comment)}.highlight .cp{color:var(--syntax-constant)}.highlight .c1{color:var(--syntax-comment)}.highlight .cs{color:var(--syntax-comment);background-color:var(--syntax-special-bg)}.highlight .gd{color:var(--syntax-markup-deleted-text);background-color:var(--syntax-markup-deleted-bg)}.highlight .ge{color:var(--syntax-markup-italic);font-style:italic}.highlight .gr{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .gh{color:var(--syntax-markup-heading)}.highlight .gi{color:var(--syntax-markup-inserted-text);background-color:var(--syntax-markup-inserted-bg)}.highlight .go,.highlight .gp{color:var(--syntax-meta)}.highlight .gs{color:var(--syntax-markup-bold);font-weight:700}.highlight .gu{color:var(--syntax-markup-heading)}.highlight .gt{color:var(--syntax-meta)}.highlight .kc{color:var(--syntax-constant)}.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:var(--syntax-keyword)}.highlight .kt{color:var(--syntax-entity)}.highlight .ld{color:var(--syntax-meta)}.highlight .m{color:var(--syntax-constant)}.highlight .s{color:var(--syntax-string)}.highlight .il,.highlight .na{color:var(--syntax-constant)}.highlight .nb{color:var(--syntax-builtin)}.highlight .nc{color:var(--syntax-definition)}.highlight .no{color:var(--syntax-constant)}.highlight .nd,.highlight .ni{color:var(--syntax-entity)}.highlight .ne{color:var(--syntax-exception)}.highlight .nf{color:var(--syntax-definition)}.highlight .nt{color:var(--syntax-tag)}.highlight .ow{color:var(--syntax-constant)}.highlight .w{color:var(--syntax-meta)}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--syntax-constant)}.highlight .sb{color:var(--syntax-meta)}.highlight .sc{color:var(--syntax-string)}.highlight .sd{color:var(--syntax-comment)}.highlight .s2,.highlight .se{color:var(--syntax-string)}.highlight .sh{color:var(--syntax-comment)}.highlight .si,.highlight .sx{color:var(--syntax-string)}.highlight .sr{color:var(--syntax-regexp)}.highlight .s1,.highlight .ss{color:var(--syntax-string)}.highlight .bp,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--syntax-variable)} diff --git a/site/html/_static/searchtools.js b/site/html/_static/searchtools.js deleted file mode 100644 index 91f4be5..0000000 --- a/site/html/_static/searchtools.js +++ /dev/null @@ -1,635 +0,0 @@ -/* - * Sphinx JavaScript utilities for the full-text search. - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename, kind] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -// Global search result kind enum, used by themes to style search results. -class SearchResultKind { - static get index() { return "index"; } - static get object() { return "object"; } - static get text() { return "text"; } - static get title() { return "title"; } -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms, highlightTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const contentRoot = document.documentElement.dataset.content_root; - - const [docName, title, anchor, descr, score, _filename, kind] = item; - - let listItem = document.createElement("li"); - // Add a class representing the item's type: - // can be used by a theme's CSS selector for styling - // See SearchResultKind for the class names. - listItem.classList.add(`kind-${kind}`); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = contentRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = contentRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) { - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - // highlight search terms in the description - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - } - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, anchor) - ); - // highlight search terms in the summary - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = Documentation.ngettext( - "Search finished, found one page matching the search query.", - "Search finished, found ${resultCount} pages matching the search query.", - resultCount, - ).replace('${resultCount}', resultCount); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms, - highlightTerms, -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms, highlightTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; -// Helper function used by query() to order search results. -// Each input is an array of [docname, title, anchor, descr, score, filename, kind]. -// Order the results by score (in opposite order of appearance, since the -// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. -const _orderResultsByScoreThenName = (a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString, anchor) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - for (const removalQuery of [".headerlink", "script", "style"]) { - htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); - } - if (anchor) { - const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); - if (anchorContent) return anchorContent.textContent; - - console.warn( - `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` - ); - } - - // if anchor not specified or not found, fall back to main content - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent) return docContent.textContent; - - console.warn( - "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.setAttribute("role", "list"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - _parseQuery: (query) => { - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; - }, - - /** - * execute search (requires search index to be loaded) - */ - _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // Collect multiple result groups to be sorted separately and then ordered. - // Each is an array of [docname, title, anchor, descr, score, filename, kind]. - const normalResults = []; - const nonMainIndexResults = []; - - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase().trim(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - const score = Math.round(Scorer.title * queryLower.length / title.length); - const boost = titles[file] === title ? 1 : 0; // add a boost for document titles - normalResults.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score + boost, - filenames[file], - SearchResultKind.title, - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id, isMain] of foundEntries) { - const score = Math.round(100 * queryLower.length / entry.length); - const result = [ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - SearchResultKind.index, - ]; - if (isMain) { - normalResults.push(result); - } else { - nonMainIndexResults.push(result); - } - } - } - } - - // lookup as object - objectTerms.forEach((term) => - normalResults.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) { - normalResults.forEach((item) => (item[4] = Scorer.score(item))); - nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); - } - - // Sort each group of results by score and then alphabetically by name. - normalResults.sort(_orderResultsByScoreThenName); - nonMainIndexResults.sort(_orderResultsByScoreThenName); - - // Combine the result groups in (reverse) order. - // Non-main index entries are typically arbitrary cross-references, - // so display them after other results. - let results = [...nonMainIndexResults, ...normalResults]; - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - return results.reverse(); - }, - - query: (query) => { - const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); - const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms, highlightTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - SearchResultKind.object, - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - // find documents, if any, containing the query word in their text/title term indices - // use Object.hasOwnProperty to avoid mismatching against prototype properties - const arr = [ - { files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term }, - { files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - if (!terms.hasOwnProperty(word)) { - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord)) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - } - if (!titleTerms.hasOwnProperty(word)) { - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord)) - arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); - }); - } - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, new Map()); - const fileScores = scoreMap.get(file); - fileScores.set(word, record.score); - }); - }); - - // create the mapping - files.forEach((file) => { - if (!fileMap.has(file)) fileMap.set(file, [word]); - else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w))); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - SearchResultKind.text, - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords, anchor) => { - const text = Search.htmlToText(htmlText, anchor); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/site/html/_static/shibuya.css b/site/html/_static/shibuya.css deleted file mode 100644 index 0d3de08..0000000 --- a/site/html/_static/shibuya.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.order-last{order:9999}.mx-auto{margin-inline:auto}.mr-3{margin-right:calc(var(--spacing)*3)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.w-8{width:calc(var(--spacing)*8)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-6{padding-inline:calc(var(--spacing)*6)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-12{padding-top:calc(var(--spacing)*12)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}@media not all and (min-width:40rem){.max-sm\:max-w-full{max-width:100%}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:w-72{width:calc(var(--spacing)*72)}.md\:shrink-0{flex-shrink:0}}@media (min-width:80rem){.xl\:sticky{position:sticky}.xl\:top-16{top:calc(var(--spacing)*16)}.xl\:hidden{display:none}.xl\:px-12{padding-inline:calc(var(--spacing)*12)}.xl\:pl-0{padding-left:calc(var(--spacing)*0)}}@media print{.print\:hidden{display:none}.print\:pt-6{padding-top:calc(var(--spacing)*6)}}}@font-face{font-family:Twemoji Country Flags;unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;src:url(https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2)format("woff2")}::selection{color:var(--accent-a11);background-color:var(--accent-a3)}html{scroll-behavior:smooth}body{font-family:var(--sy-f-text);color:var(--sy-c-text)}.win{font-family:"Twemoji Country Flags",var(--sy-f-text)}h1,h2,h3,h4,h5{color:var(--sy-c-heading);font-family:var(--sy-f-heading)}strong,em{color:var(--sy-c-bold)}.sy-container{max-width:90rem}.sy-scrollbar{scrollbar-gutter:stable;overflow-y:auto}.sy-scrollbar::-webkit-scrollbar{width:.75rem;height:.75rem}.sy-scrollbar::-webkit-scrollbar-thumb{border-radius:10px}.sy-scrollbar::-webkit-scrollbar-track{background-color:#0000}.sy-scrollbar:hover::-webkit-scrollbar-thumb{background-color:var(--gray-a3);background-clip:content-box;border:3px solid #0000}iconify-icon{vertical-align:middle}.i-lucide{-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;vertical-align:middle;background-color:currentColor;width:1em;height:1em;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.theme-switch .theme-icon,[data-color-mode=auto] .theme-switch .theme-icon{--icon-url:var(--lucide-laptop-url)}[data-color-mode=light] .theme-switch .theme-icon{--icon-url:var(--lucide-sun-url)}[data-color-mode=dark] .theme-switch .theme-icon{--icon-url:var(--lucide-moon-url)}:root,.light,.light-theme{--tomato-1:#fffcfc;--tomato-2:#fff8f7;--tomato-3:#feebe7;--tomato-4:#ffdcd3;--tomato-5:#ffcdc2;--tomato-6:#fdbdaf;--tomato-7:#f5a898;--tomato-8:#ec8e7b;--tomato-9:#e54d2e;--tomato-10:#dd4425;--tomato-11:#d13415;--tomato-12:#5c271f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-1:color(display-p3 .998 .989 .988);--tomato-2:color(display-p3 .994 .974 .969);--tomato-3:color(display-p3 .985 .924 .909);--tomato-4:color(display-p3 .996 .868 .835);--tomato-5:color(display-p3 .98 .812 .77);--tomato-6:color(display-p3 .953 .75 .698);--tomato-7:color(display-p3 .917 .673 .611);--tomato-8:color(display-p3 .875 .575 .502);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .802 .313 .2);--tomato-11:color(display-p3 .755 .259 .152);--tomato-12:color(display-p3 .335 .165 .132)}}}.dark,.dark-theme{--tomato-1:#181111;--tomato-2:#1f1513;--tomato-3:#391714;--tomato-4:#4e1511;--tomato-5:#5e1c16;--tomato-6:#6e2920;--tomato-7:#853a2d;--tomato-8:#ac4d39;--tomato-9:#e54d2e;--tomato-10:#ec6142;--tomato-11:#ff977d;--tomato-12:#fbd3cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--tomato-1:color(display-p3 .09 .068 .067);--tomato-2:color(display-p3 .115 .084 .076);--tomato-3:color(display-p3 .205 .097 .083);--tomato-4:color(display-p3 .282 .099 .077);--tomato-5:color(display-p3 .339 .129 .101);--tomato-6:color(display-p3 .398 .179 .141);--tomato-7:color(display-p3 .487 .245 .194);--tomato-8:color(display-p3 .629 .322 .248);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .862 .415 .298);--tomato-11:color(display-p3 1 .585 .455);--tomato-12:color(display-p3 .959 .833 .802)}}}:root,.light,.light-theme{--tomato-a1:#ff000003;--tomato-a2:#ff200008;--tomato-a3:#f52b0018;--tomato-a4:#ff35002c;--tomato-a5:#ff2e003d;--tomato-a6:#f92d0050;--tomato-a7:#e7280067;--tomato-a8:#db250084;--tomato-a9:#df2600d1;--tomato-a10:#d72400da;--tomato-a11:#cd2200ea;--tomato-a12:#460900e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-a1:color(display-p3 .675 .024 .024/.012);--tomato-a2:color(display-p3 .757 .145 .02/.032);--tomato-a3:color(display-p3 .831 .184 .012/.091);--tomato-a4:color(display-p3 .976 .192 .004/.165);--tomato-a5:color(display-p3 .918 .192 .004/.232);--tomato-a6:color(display-p3 .847 .173 .004/.302);--tomato-a7:color(display-p3 .788 .165 .004/.389);--tomato-a8:color(display-p3 .749 .153 .004/.499);--tomato-a9:color(display-p3 .78 .149 0/.769);--tomato-a10:color(display-p3 .757 .141 0/.8);--tomato-a11:color(display-p3 .755 .259 .152);--tomato-a12:color(display-p3 .335 .165 .132)}}}.dark,.dark-theme{--tomato-a1:#f1121208;--tomato-a2:#ff55330f;--tomato-a3:#ff35232b;--tomato-a4:#fd201142;--tomato-a5:#fe332153;--tomato-a6:#ff4f3864;--tomato-a7:#fd644a7d;--tomato-a8:#fe6d4ea7;--tomato-a9:#fe5431e4;--tomato-a10:#ff6847eb;--tomato-a11:#ff977d;--tomato-a12:#ffd6cefb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--tomato-a1:color(display-p3 .973 .071 .071/.026);--tomato-a2:color(display-p3 .992 .376 .224/.051);--tomato-a3:color(display-p3 .996 .282 .176/.148);--tomato-a4:color(display-p3 1 .204 .118/.232);--tomato-a5:color(display-p3 1 .286 .192/.29);--tomato-a6:color(display-p3 1 .392 .278/.353);--tomato-a7:color(display-p3 1 .459 .349/.45);--tomato-a8:color(display-p3 1 .49 .369/.601);--tomato-a9:color(display-p3 1 .408 .267/.82);--tomato-a10:color(display-p3 1 .478 .341/.853);--tomato-a11:color(display-p3 1 .585 .455);--tomato-a12:color(display-p3 .959 .833 .802)}}}:root,.light,.light-theme{--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-1:color(display-p3 .998 .989 .988);--red-2:color(display-p3 .995 .971 .971);--red-3:color(display-p3 .985 .925 .925);--red-4:color(display-p3 .999 .866 .866);--red-5:color(display-p3 .984 .812 .811);--red-6:color(display-p3 .955 .751 .749);--red-7:color(display-p3 .915 .675 .672);--red-8:color(display-p3 .872 .575 .572);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .798 .294 .285);--red-11:color(display-p3 .744 .234 .222);--red-12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-1:color(display-p3 .093 .068 .067);--red-2:color(display-p3 .118 .077 .079);--red-3:color(display-p3 .211 .081 .099);--red-4:color(display-p3 .287 .079 .113);--red-5:color(display-p3 .348 .11 .142);--red-6:color(display-p3 .414 .16 .183);--red-7:color(display-p3 .508 .224 .236);--red-8:color(display-p3 .659 .298 .297);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .861 .403 .387);--red-11:color(display-p3 1 .57 .55);--red-12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-a1:color(display-p3 .675 .024 .024/.012);--red-a2:color(display-p3 .863 .024 .024/.028);--red-a3:color(display-p3 .792 .008 .008/.075);--red-a4:color(display-p3 1 .008 .008/.134);--red-a5:color(display-p3 .918 .008 .008/.189);--red-a6:color(display-p3 .831 .02 .004/.251);--red-a7:color(display-p3 .741 .016 .004/.33);--red-a8:color(display-p3 .698 .012 .004/.428);--red-a9:color(display-p3 .749 .008 0/.675);--red-a10:color(display-p3 .714 .012 0/.714);--red-a11:color(display-p3 .744 .234 .222);--red-a12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-a1:color(display-p3 .984 .071 .071/.03);--red-a2:color(display-p3 .996 .282 .282/.055);--red-a3:color(display-p3 1 .169 .271/.156);--red-a4:color(display-p3 1 .118 .267/.236);--red-a5:color(display-p3 1 .212 .314/.303);--red-a6:color(display-p3 1 .318 .38/.374);--red-a7:color(display-p3 1 .4 .424/.475);--red-a8:color(display-p3 1 .431 .431/.635);--red-a9:color(display-p3 1 .388 .384/.82);--red-a10:color(display-p3 1 .463 .447/.853);--red-a11:color(display-p3 1 .57 .55);--red-a12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--ruby-1:#fffcfd;--ruby-2:#fff7f8;--ruby-3:#feeaed;--ruby-4:#ffdce1;--ruby-5:#ffced6;--ruby-6:#f8bfc8;--ruby-7:#efacb8;--ruby-8:#e592a3;--ruby-9:#e54666;--ruby-10:#dc3b5d;--ruby-11:#ca244d;--ruby-12:#64172b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--ruby-1:color(display-p3 .998 .989 .992);--ruby-2:color(display-p3 .995 .971 .974);--ruby-3:color(display-p3 .983 .92 .928);--ruby-4:color(display-p3 .987 .869 .885);--ruby-5:color(display-p3 .968 .817 .839);--ruby-6:color(display-p3 .937 .758 .786);--ruby-7:color(display-p3 .897 .685 .721);--ruby-8:color(display-p3 .851 .588 .639);--ruby-9:color(display-p3 .83 .323 .408);--ruby-10:color(display-p3 .795 .286 .375);--ruby-11:color(display-p3 .728 .211 .311);--ruby-12:color(display-p3 .36 .115 .171)}}}.dark,.dark-theme{--ruby-1:#191113;--ruby-2:#1e1517;--ruby-3:#3a141e;--ruby-4:#4e1325;--ruby-5:#5e1a2e;--ruby-6:#6f2539;--ruby-7:#883447;--ruby-8:#b3445a;--ruby-9:#e54666;--ruby-10:#ec5a72;--ruby-11:#ff949d;--ruby-12:#fed2e1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--ruby-1:color(display-p3 .093 .068 .074);--ruby-2:color(display-p3 .113 .083 .089);--ruby-3:color(display-p3 .208 .088 .117);--ruby-4:color(display-p3 .279 .092 .147);--ruby-5:color(display-p3 .337 .12 .18);--ruby-6:color(display-p3 .401 .166 .223);--ruby-7:color(display-p3 .495 .224 .281);--ruby-8:color(display-p3 .652 .295 .359);--ruby-9:color(display-p3 .83 .323 .408);--ruby-10:color(display-p3 .857 .392 .455);--ruby-11:color(display-p3 1 .57 .59);--ruby-12:color(display-p3 .968 .83 .88)}}}:root,.light,.light-theme{--ruby-a1:#ff005503;--ruby-a2:#ff002008;--ruby-a3:#f3002515;--ruby-a4:#ff002523;--ruby-a5:#ff002a31;--ruby-a6:#e4002440;--ruby-a7:#ce002553;--ruby-a8:#c300286d;--ruby-a9:#db002cb9;--ruby-a10:#d2002cc4;--ruby-a11:#c10030db;--ruby-a12:#550016e8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--ruby-a1:color(display-p3 .675 .024 .349/.012);--ruby-a2:color(display-p3 .863 .024 .024/.028);--ruby-a3:color(display-p3 .804 .008 .11/.079);--ruby-a4:color(display-p3 .91 .008 .125/.13);--ruby-a5:color(display-p3 .831 .004 .133/.185);--ruby-a6:color(display-p3 .745 .004 .118/.244);--ruby-a7:color(display-p3 .678 .004 .114/.314);--ruby-a8:color(display-p3 .639 .004 .125/.412);--ruby-a9:color(display-p3 .753 0 .129/.679);--ruby-a10:color(display-p3 .714 0 .125/.714);--ruby-a11:color(display-p3 .728 .211 .311);--ruby-a12:color(display-p3 .36 .115 .171)}}}.dark,.dark-theme{--ruby-a1:#f4124a09;--ruby-a2:#fe5a7f0e;--ruby-a3:#ff235d2c;--ruby-a4:#fd195e42;--ruby-a5:#fe2d6b53;--ruby-a6:#ff447665;--ruby-a7:#ff577d80;--ruby-a8:#ff5c7cae;--ruby-a9:#fe4c70e4;--ruby-a10:#ff617beb;--ruby-a11:#ff949d;--ruby-a12:#ffd3e2fe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--ruby-a1:color(display-p3 .984 .071 .329/.03);--ruby-a2:color(display-p3 .992 .376 .529/.051);--ruby-a3:color(display-p3 .996 .196 .404/.152);--ruby-a4:color(display-p3 1 .173 .416/.227);--ruby-a5:color(display-p3 1 .259 .459/.29);--ruby-a6:color(display-p3 1 .341 .506/.358);--ruby-a7:color(display-p3 1 .412 .541/.458);--ruby-a8:color(display-p3 1 .431 .537/.627);--ruby-a9:color(display-p3 1 .376 .482/.82);--ruby-a10:color(display-p3 1 .447 .522/.849);--ruby-a11:color(display-p3 1 .57 .59);--ruby-a12:color(display-p3 .968 .83 .88)}}}:root,.light,.light-theme{--crimson-1:#fffcfd;--crimson-2:#fef7f9;--crimson-3:#ffe9f0;--crimson-4:#fedce7;--crimson-5:#facedd;--crimson-6:#f3bed1;--crimson-7:#eaacc3;--crimson-8:#e093b2;--crimson-9:#e93d82;--crimson-10:#df3478;--crimson-11:#cb1d63;--crimson-12:#621639}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--crimson-1:color(display-p3 .998 .989 .992);--crimson-2:color(display-p3 .991 .969 .976);--crimson-3:color(display-p3 .987 .917 .941);--crimson-4:color(display-p3 .975 .866 .904);--crimson-5:color(display-p3 .953 .813 .864);--crimson-6:color(display-p3 .921 .755 .817);--crimson-7:color(display-p3 .88 .683 .761);--crimson-8:color(display-p3 .834 .592 .694);--crimson-9:color(display-p3 .843 .298 .507);--crimson-10:color(display-p3 .807 .266 .468);--crimson-11:color(display-p3 .731 .195 .388);--crimson-12:color(display-p3 .352 .111 .221)}}}.dark,.dark-theme{--crimson-1:#191114;--crimson-2:#201318;--crimson-3:#381525;--crimson-4:#4d122f;--crimson-5:#5c1839;--crimson-6:#6d2545;--crimson-7:#873356;--crimson-8:#b0436e;--crimson-9:#e93d82;--crimson-10:#ee518a;--crimson-11:#ff92ad;--crimson-12:#fdd3e8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--crimson-1:color(display-p3 .093 .068 .078);--crimson-2:color(display-p3 .117 .078 .095);--crimson-3:color(display-p3 .203 .091 .143);--crimson-4:color(display-p3 .277 .087 .182);--crimson-5:color(display-p3 .332 .115 .22);--crimson-6:color(display-p3 .394 .162 .268);--crimson-7:color(display-p3 .489 .222 .336);--crimson-8:color(display-p3 .638 .289 .429);--crimson-9:color(display-p3 .843 .298 .507);--crimson-10:color(display-p3 .864 .364 .539);--crimson-11:color(display-p3 1 .56 .66);--crimson-12:color(display-p3 .966 .834 .906)}}}:root,.light,.light-theme{--crimson-a1:#ff005503;--crimson-a2:#e0004008;--crimson-a3:#ff005216;--crimson-a4:#f8005123;--crimson-a5:#e5004f31;--crimson-a6:#d0004b41;--crimson-a7:#bf004753;--crimson-a8:#b6004a6c;--crimson-a9:#e2005bc2;--crimson-a10:#d70056cb;--crimson-a11:#c4004fe2;--crimson-a12:#530026e9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--crimson-a1:color(display-p3 .675 .024 .349/.012);--crimson-a2:color(display-p3 .757 .02 .267/.032);--crimson-a3:color(display-p3 .859 .008 .294/.083);--crimson-a4:color(display-p3 .827 .008 .298/.134);--crimson-a5:color(display-p3 .753 .008 .275/.189);--crimson-a6:color(display-p3 .682 .004 .247/.244);--crimson-a7:color(display-p3 .62 .004 .251/.318);--crimson-a8:color(display-p3 .6 .004 .251/.408);--crimson-a9:color(display-p3 .776 0 .298/.702);--crimson-a10:color(display-p3 .737 0 .275/.734);--crimson-a11:color(display-p3 .731 .195 .388);--crimson-a12:color(display-p3 .352 .111 .221)}}}.dark,.dark-theme{--crimson-a1:#f4126709;--crimson-a2:#f22f7a11;--crimson-a3:#fe2a8b2a;--crimson-a4:#fd158741;--crimson-a5:#fd278f51;--crimson-a6:#fe459763;--crimson-a7:#fd559b7f;--crimson-a8:#fe5b9bab;--crimson-a9:#fe418de8;--crimson-a10:#ff5693ed;--crimson-a11:#ff92ad;--crimson-a12:#ffd5eafd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--crimson-a1:color(display-p3 .984 .071 .463/.03);--crimson-a2:color(display-p3 .996 .282 .569/.055);--crimson-a3:color(display-p3 .996 .227 .573/.148);--crimson-a4:color(display-p3 1 .157 .569/.227);--crimson-a5:color(display-p3 1 .231 .604/.286);--crimson-a6:color(display-p3 1 .337 .643/.349);--crimson-a7:color(display-p3 1 .416 .663/.454);--crimson-a8:color(display-p3 .996 .427 .651/.614);--crimson-a9:color(display-p3 1 .345 .596/.832);--crimson-a10:color(display-p3 1 .42 .62/.853);--crimson-a11:color(display-p3 1 .56 .66);--crimson-a12:color(display-p3 .966 .834 .906)}}}:root,.light,.light-theme{--pink-1:#fffcfe;--pink-2:#fef7fb;--pink-3:#fee9f5;--pink-4:#fbdcef;--pink-5:#f6cee7;--pink-6:#efbfdd;--pink-7:#e7acd0;--pink-8:#dd93c2;--pink-9:#d6409f;--pink-10:#cf3897;--pink-11:#c2298a;--pink-12:#651249}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--pink-1:color(display-p3 .998 .989 .996);--pink-2:color(display-p3 .992 .97 .985);--pink-3:color(display-p3 .981 .917 .96);--pink-4:color(display-p3 .963 .867 .932);--pink-5:color(display-p3 .939 .815 .899);--pink-6:color(display-p3 .907 .756 .859);--pink-7:color(display-p3 .869 .683 .81);--pink-8:color(display-p3 .825 .59 .751);--pink-9:color(display-p3 .775 .297 .61);--pink-10:color(display-p3 .748 .27 .581);--pink-11:color(display-p3 .698 .219 .528);--pink-12:color(display-p3 .363 .101 .279)}}}.dark,.dark-theme{--pink-1:#191117;--pink-2:#21121d;--pink-3:#37172f;--pink-4:#4b143d;--pink-5:#591c47;--pink-6:#692955;--pink-7:#833869;--pink-8:#a84885;--pink-9:#d6409f;--pink-10:#de51a8;--pink-11:#ff8dcc;--pink-12:#fdd1ea}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--pink-1:color(display-p3 .093 .068 .089);--pink-2:color(display-p3 .121 .073 .11);--pink-3:color(display-p3 .198 .098 .179);--pink-4:color(display-p3 .271 .095 .231);--pink-5:color(display-p3 .32 .127 .273);--pink-6:color(display-p3 .382 .177 .326);--pink-7:color(display-p3 .477 .238 .405);--pink-8:color(display-p3 .612 .304 .51);--pink-9:color(display-p3 .775 .297 .61);--pink-10:color(display-p3 .808 .356 .645);--pink-11:color(display-p3 1 .535 .78);--pink-12:color(display-p3 .964 .826 .912)}}}:root,.light,.light-theme{--pink-a1:#ff00aa03;--pink-a2:#e0008008;--pink-a3:#f4008c16;--pink-a4:#e2008b23;--pink-a5:#d1008331;--pink-a6:#c0007840;--pink-a7:#b6006f53;--pink-a8:#af006f6c;--pink-a9:#c8007fbf;--pink-a10:#c2007ac7;--pink-a11:#b60074d6;--pink-a12:#59003bed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--pink-a1:color(display-p3 .675 .024 .675/.012);--pink-a2:color(display-p3 .757 .02 .51/.032);--pink-a3:color(display-p3 .765 .008 .529/.083);--pink-a4:color(display-p3 .737 .008 .506/.134);--pink-a5:color(display-p3 .663 .004 .451/.185);--pink-a6:color(display-p3 .616 .004 .424/.244);--pink-a7:color(display-p3 .596 .004 .412/.318);--pink-a8:color(display-p3 .573 .004 .404/.412);--pink-a9:color(display-p3 .682 0 .447/.702);--pink-a10:color(display-p3 .655 0 .424/.73);--pink-a11:color(display-p3 .698 .219 .528);--pink-a12:color(display-p3 .363 .101 .279)}}}.dark,.dark-theme{--pink-a1:#f412bc09;--pink-a2:#f420bb12;--pink-a3:#fe37cc29;--pink-a4:#fc1ec43f;--pink-a5:#fd35c24e;--pink-a6:#fd51c75f;--pink-a7:#fd62c87b;--pink-a8:#ff68c8a2;--pink-a9:#fe49bcd4;--pink-a10:#ff5cc0dc;--pink-a11:#ff8dcc;--pink-a12:#ffd3ecfd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--pink-a1:color(display-p3 .984 .071 .855/.03);--pink-a2:color(display-p3 1 .2 .8/.059);--pink-a3:color(display-p3 1 .294 .886/.139);--pink-a4:color(display-p3 1 .192 .82/.219);--pink-a5:color(display-p3 1 .282 .827/.274);--pink-a6:color(display-p3 1 .396 .835/.337);--pink-a7:color(display-p3 1 .459 .831/.442);--pink-a8:color(display-p3 1 .478 .827/.585);--pink-a9:color(display-p3 1 .373 .784/.761);--pink-a10:color(display-p3 1 .435 .792/.795);--pink-a11:color(display-p3 1 .535 .78);--pink-a12:color(display-p3 .964 .826 .912)}}}:root,.light,.light-theme{--plum-1:#fefcff;--plum-2:#fdf7fd;--plum-3:#fbebfb;--plum-4:#f7def8;--plum-5:#f2d1f3;--plum-6:#e9c2ec;--plum-7:#deade3;--plum-8:#cf91d8;--plum-9:#ab4aba;--plum-10:#a144af;--plum-11:#953ea3;--plum-12:#53195d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--plum-1:color(display-p3 .995 .988 .999);--plum-2:color(display-p3 .988 .971 .99);--plum-3:color(display-p3 .973 .923 .98);--plum-4:color(display-p3 .953 .875 .966);--plum-5:color(display-p3 .926 .825 .945);--plum-6:color(display-p3 .89 .765 .916);--plum-7:color(display-p3 .84 .686 .877);--plum-8:color(display-p3 .775 .58 .832);--plum-9:color(display-p3 .624 .313 .708);--plum-10:color(display-p3 .587 .29 .667);--plum-11:color(display-p3 .543 .263 .619);--plum-12:color(display-p3 .299 .114 .352)}}}.dark,.dark-theme{--plum-1:#181118;--plum-2:#201320;--plum-3:#351a35;--plum-4:#451d47;--plum-5:#512454;--plum-6:#5e3061;--plum-7:#734079;--plum-8:#92549c;--plum-9:#ab4aba;--plum-10:#b658c4;--plum-11:#e796f3;--plum-12:#f4d4f4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--plum-1:color(display-p3 .09 .068 .092);--plum-2:color(display-p3 .118 .077 .121);--plum-3:color(display-p3 .192 .105 .202);--plum-4:color(display-p3 .25 .121 .271);--plum-5:color(display-p3 .293 .152 .319);--plum-6:color(display-p3 .343 .198 .372);--plum-7:color(display-p3 .424 .262 .461);--plum-8:color(display-p3 .54 .341 .595);--plum-9:color(display-p3 .624 .313 .708);--plum-10:color(display-p3 .666 .365 .748);--plum-11:color(display-p3 .86 .602 .933);--plum-12:color(display-p3 .936 .836 .949)}}}:root,.light,.light-theme{--plum-a1:#aa00ff03;--plum-a2:#c000c008;--plum-a3:#cc00cc14;--plum-a4:#c200c921;--plum-a5:#b700bd2e;--plum-a6:#a400b03d;--plum-a7:#9900a852;--plum-a8:#9000a56e;--plum-a9:#89009eb5;--plum-a10:#7f0092bb;--plum-a11:#730086c1;--plum-a12:#40004be6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--plum-a1:color(display-p3 .675 .024 1/.012);--plum-a2:color(display-p3 .58 .024 .58/.028);--plum-a3:color(display-p3 .655 .008 .753/.079);--plum-a4:color(display-p3 .627 .008 .722/.126);--plum-a5:color(display-p3 .58 .004 .69/.177);--plum-a6:color(display-p3 .537 .004 .655/.236);--plum-a7:color(display-p3 .49 .004 .616/.314);--plum-a8:color(display-p3 .471 .004 .6/.42);--plum-a9:color(display-p3 .451 0 .576/.687);--plum-a10:color(display-p3 .42 0 .529/.71);--plum-a11:color(display-p3 .543 .263 .619);--plum-a12:color(display-p3 .299 .114 .352)}}}.dark,.dark-theme{--plum-a1:#f112f108;--plum-a2:#f22ff211;--plum-a3:#fd4cfd27;--plum-a4:#f646ff3a;--plum-a5:#f455ff48;--plum-a6:#f66dff56;--plum-a7:#f07cfd70;--plum-a8:#ee84ff95;--plum-a9:#e961feb6;--plum-a10:#ed70ffc0;--plum-a11:#f19cfef3;--plum-a12:#feddfef4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--plum-a1:color(display-p3 .973 .071 .973/.026);--plum-a2:color(display-p3 .933 .267 1/.059);--plum-a3:color(display-p3 .918 .333 .996/.148);--plum-a4:color(display-p3 .91 .318 1/.219);--plum-a5:color(display-p3 .914 .388 1/.269);--plum-a6:color(display-p3 .906 .463 1/.328);--plum-a7:color(display-p3 .906 .529 1/.425);--plum-a8:color(display-p3 .906 .553 1/.568);--plum-a9:color(display-p3 .875 .427 1/.69);--plum-a10:color(display-p3 .886 .471 .996/.732);--plum-a11:color(display-p3 .86 .602 .933);--plum-a12:color(display-p3 .936 .836 .949)}}}:root,.light,.light-theme{--purple-1:#fefcfe;--purple-2:#fbf7fe;--purple-3:#f7edfe;--purple-4:#f2e2fc;--purple-5:#ead5f9;--purple-6:#e0c4f4;--purple-7:#d1afec;--purple-8:#be93e4;--purple-9:#8e4ec6;--purple-10:#8347b9;--purple-11:#8145b5;--purple-12:#402060}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--purple-1:color(display-p3 .995 .988 .996);--purple-2:color(display-p3 .983 .971 .993);--purple-3:color(display-p3 .963 .931 .989);--purple-4:color(display-p3 .937 .888 .981);--purple-5:color(display-p3 .904 .837 .966);--purple-6:color(display-p3 .86 .774 .942);--purple-7:color(display-p3 .799 .69 .91);--purple-8:color(display-p3 .719 .583 .874);--purple-9:color(display-p3 .523 .318 .751);--purple-10:color(display-p3 .483 .289 .7);--purple-11:color(display-p3 .473 .281 .687);--purple-12:color(display-p3 .234 .132 .363)}}}.dark,.dark-theme{--purple-1:#18111b;--purple-2:#1e1523;--purple-3:#301c3b;--purple-4:#3d224e;--purple-5:#48295c;--purple-6:#54346b;--purple-7:#664282;--purple-8:#8457aa;--purple-9:#8e4ec6;--purple-10:#9a5cd0;--purple-11:#d19dff;--purple-12:#ecd9fa}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--purple-1:color(display-p3 .09 .068 .103);--purple-2:color(display-p3 .113 .082 .134);--purple-3:color(display-p3 .175 .112 .224);--purple-4:color(display-p3 .224 .137 .297);--purple-5:color(display-p3 .264 .167 .349);--purple-6:color(display-p3 .311 .208 .406);--purple-7:color(display-p3 .381 .266 .496);--purple-8:color(display-p3 .49 .349 .649);--purple-9:color(display-p3 .523 .318 .751);--purple-10:color(display-p3 .57 .373 .791);--purple-11:color(display-p3 .8 .62 1);--purple-12:color(display-p3 .913 .854 .971)}}}:root,.light,.light-theme{--purple-a1:#aa00aa03;--purple-a2:#8000e008;--purple-a3:#8e00f112;--purple-a4:#8d00e51d;--purple-a5:#8000db2a;--purple-a6:#7a01d03b;--purple-a7:#6d00c350;--purple-a8:#6600c06c;--purple-a9:#5c00adb1;--purple-a10:#53009eb8;--purple-a11:#52009aba;--purple-a12:#250049df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--purple-a1:color(display-p3 .675 .024 .675/.012);--purple-a2:color(display-p3 .443 .024 .722/.028);--purple-a3:color(display-p3 .506 .008 .835/.071);--purple-a4:color(display-p3 .451 .004 .831/.114);--purple-a5:color(display-p3 .431 .004 .788/.165);--purple-a6:color(display-p3 .384 .004 .745/.228);--purple-a7:color(display-p3 .357 .004 .71/.31);--purple-a8:color(display-p3 .322 .004 .702/.416);--purple-a9:color(display-p3 .298 0 .639/.683);--purple-a10:color(display-p3 .271 0 .58/.71);--purple-a11:color(display-p3 .473 .281 .687);--purple-a12:color(display-p3 .234 .132 .363)}}}.dark,.dark-theme{--purple-a1:#b412f90b;--purple-a2:#b744f714;--purple-a3:#c150ff2d;--purple-a4:#bb53fd42;--purple-a5:#be5cfd51;--purple-a6:#c16dfd61;--purple-a7:#c378fd7a;--purple-a8:#c47effa4;--purple-a9:#b661ffc2;--purple-a10:#bc6fffcd;--purple-a11:#d19dff;--purple-a12:#f1ddfffa}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--purple-a1:color(display-p3 .686 .071 .996/.038);--purple-a2:color(display-p3 .722 .286 .996/.072);--purple-a3:color(display-p3 .718 .349 .996/.169);--purple-a4:color(display-p3 .702 .353 1/.248);--purple-a5:color(display-p3 .718 .404 1/.303);--purple-a6:color(display-p3 .733 .455 1/.366);--purple-a7:color(display-p3 .753 .506 1/.458);--purple-a8:color(display-p3 .749 .522 1/.622);--purple-a9:color(display-p3 .686 .408 1/.736);--purple-a10:color(display-p3 .71 .459 1/.778);--purple-a11:color(display-p3 .8 .62 1);--purple-a12:color(display-p3 .913 .854 .971)}}}:root,.light,.light-theme{--violet-1:#fdfcfe;--violet-2:#faf8ff;--violet-3:#f4f0fe;--violet-4:#ebe4ff;--violet-5:#e1d9ff;--violet-6:#d4cafe;--violet-7:#c2b5f5;--violet-8:#aa99ec;--violet-9:#6e56cf;--violet-10:#654dc4;--violet-11:#6550b9;--violet-12:#2f265f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--violet-1:color(display-p3 .991 .988 .995);--violet-2:color(display-p3 .978 .974 .998);--violet-3:color(display-p3 .953 .943 .993);--violet-4:color(display-p3 .916 .897 1);--violet-5:color(display-p3 .876 .851 1);--violet-6:color(display-p3 .825 .793 .981);--violet-7:color(display-p3 .752 .712 .943);--violet-8:color(display-p3 .654 .602 .902);--violet-9:color(display-p3 .417 .341 .784);--violet-10:color(display-p3 .381 .306 .741);--violet-11:color(display-p3 .383 .317 .702);--violet-12:color(display-p3 .179 .15 .359)}}}.dark,.dark-theme{--violet-1:#14121f;--violet-2:#1b1525;--violet-3:#291f43;--violet-4:#33255b;--violet-5:#3c2e69;--violet-6:#473876;--violet-7:#56468b;--violet-8:#6958ad;--violet-9:#6e56cf;--violet-10:#7d66d9;--violet-11:#baa7ff;--violet-12:#e2ddfe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--violet-1:color(display-p3 .077 .071 .118);--violet-2:color(display-p3 .101 .084 .141);--violet-3:color(display-p3 .154 .123 .256);--violet-4:color(display-p3 .191 .148 .345);--violet-5:color(display-p3 .226 .182 .396);--violet-6:color(display-p3 .269 .223 .449);--violet-7:color(display-p3 .326 .277 .53);--violet-8:color(display-p3 .399 .346 .656);--violet-9:color(display-p3 .417 .341 .784);--violet-10:color(display-p3 .477 .402 .823);--violet-11:color(display-p3 .72 .65 1);--violet-12:color(display-p3 .883 .867 .986)}}}:root,.light,.light-theme{--violet-a1:#5500aa03;--violet-a2:#4900ff07;--violet-a3:#4400ee0f;--violet-a4:#4300ff1b;--violet-a5:#3600ff26;--violet-a6:#3100fb35;--violet-a7:#2d01dd4a;--violet-a8:#2b00d066;--violet-a9:#2400b7a9;--violet-a10:#2300abb2;--violet-a11:#1f0099af;--violet-a12:#0b0043d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--violet-a1:color(display-p3 .349 .024 .675/.012);--violet-a2:color(display-p3 .161 .024 .863/.028);--violet-a3:color(display-p3 .204 .004 .871/.059);--violet-a4:color(display-p3 .196 .004 1/.102);--violet-a5:color(display-p3 .165 .008 1/.15);--violet-a6:color(display-p3 .153 .004 .906/.208);--violet-a7:color(display-p3 .141 .004 .796/.287);--violet-a8:color(display-p3 .133 .004 .753/.397);--violet-a9:color(display-p3 .114 0 .675/.659);--violet-a10:color(display-p3 .11 0 .627/.695);--violet-a11:color(display-p3 .383 .317 .702);--violet-a12:color(display-p3 .179 .15 .359)}}}.dark,.dark-theme{--violet-a1:#4422ff0f;--violet-a2:#853ff916;--violet-a3:#8354fe36;--violet-a4:#7d51fd50;--violet-a5:#845ffd5f;--violet-a6:#8f6cfd6d;--violet-a7:#9879ff83;--violet-a8:#977dfea8;--violet-a9:#8668ffcc;--violet-a10:#9176fed7;--violet-a11:#baa7ff;--violet-a12:#e3defffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--violet-a1:color(display-p3 .282 .141 .996/.055);--violet-a2:color(display-p3 .51 .263 1/.08);--violet-a3:color(display-p3 .494 .337 .996/.202);--violet-a4:color(display-p3 .49 .345 1/.299);--violet-a5:color(display-p3 .525 .392 1/.353);--violet-a6:color(display-p3 .569 .455 1/.408);--violet-a7:color(display-p3 .588 .494 1/.496);--violet-a8:color(display-p3 .596 .51 1/.631);--violet-a9:color(display-p3 .522 .424 1/.769);--violet-a10:color(display-p3 .576 .482 1/.811);--violet-a11:color(display-p3 .72 .65 1);--violet-a12:color(display-p3 .883 .867 .986)}}}:root,.light,.light-theme{--iris-1:#fdfdff;--iris-2:#f8f8ff;--iris-3:#f0f1fe;--iris-4:#e6e7ff;--iris-5:#dadcff;--iris-6:#cbcdff;--iris-7:#b8baf8;--iris-8:#9b9ef0;--iris-9:#5b5bd6;--iris-10:#5151cd;--iris-11:#5753c6;--iris-12:#272962}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--iris-1:color(display-p3 .992 .992 .999);--iris-2:color(display-p3 .972 .973 .998);--iris-3:color(display-p3 .943 .945 .992);--iris-4:color(display-p3 .902 .906 1);--iris-5:color(display-p3 .857 .861 1);--iris-6:color(display-p3 .799 .805 .987);--iris-7:color(display-p3 .721 .727 .955);--iris-8:color(display-p3 .61 .619 .918);--iris-9:color(display-p3 .357 .357 .81);--iris-10:color(display-p3 .318 .318 .774);--iris-11:color(display-p3 .337 .326 .748);--iris-12:color(display-p3 .154 .161 .371)}}}.dark,.dark-theme{--iris-1:#13131e;--iris-2:#171625;--iris-3:#202248;--iris-4:#262a65;--iris-5:#303374;--iris-6:#3d3e82;--iris-7:#4a4a95;--iris-8:#5958b1;--iris-9:#5b5bd6;--iris-10:#6e6ade;--iris-11:#b1a9ff;--iris-12:#e0dffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--iris-1:color(display-p3 .075 .075 .114);--iris-2:color(display-p3 .089 .086 .14);--iris-3:color(display-p3 .128 .134 .272);--iris-4:color(display-p3 .153 .165 .382);--iris-5:color(display-p3 .192 .201 .44);--iris-6:color(display-p3 .239 .241 .491);--iris-7:color(display-p3 .291 .289 .565);--iris-8:color(display-p3 .35 .345 .673);--iris-9:color(display-p3 .357 .357 .81);--iris-10:color(display-p3 .428 .416 .843);--iris-11:color(display-p3 .685 .662 1);--iris-12:color(display-p3 .878 .875 .986)}}}:root,.light,.light-theme{--iris-a1:#0000ff02;--iris-a2:#0000ff07;--iris-a3:#0011ee0f;--iris-a4:#000bff19;--iris-a5:#000eff25;--iris-a6:#000aff34;--iris-a7:#0008e647;--iris-a8:#0008d964;--iris-a9:#0000c0a4;--iris-a10:#0000b6ae;--iris-a11:#0600abac;--iris-a12:#000246d8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--iris-a1:color(display-p3 .02 .02 1/.008);--iris-a2:color(display-p3 .024 .024 .863/.028);--iris-a3:color(display-p3 .004 .071 .871/.059);--iris-a4:color(display-p3 .012 .051 1/.099);--iris-a5:color(display-p3 .008 .035 1/.142);--iris-a6:color(display-p3 0 .02 .941/.2);--iris-a7:color(display-p3 .004 .02 .847/.279);--iris-a8:color(display-p3 .004 .024 .788/.389);--iris-a9:color(display-p3 0 0 .706/.644);--iris-a10:color(display-p3 0 0 .667/.683);--iris-a11:color(display-p3 .337 .326 .748);--iris-a12:color(display-p3 .154 .161 .371)}}}.dark,.dark-theme{--iris-a1:#3636fe0e;--iris-a2:#564bf916;--iris-a3:#525bff3b;--iris-a4:#4d58ff5a;--iris-a5:#5b62fd6b;--iris-a6:#6d6ffd7a;--iris-a7:#7777fe8e;--iris-a8:#7b7afeac;--iris-a9:#6a6afed4;--iris-a10:#7d79ffdc;--iris-a11:#b1a9ff;--iris-a12:#e1e0fffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--iris-a1:color(display-p3 .224 .224 .992/.051);--iris-a2:color(display-p3 .361 .314 1/.08);--iris-a3:color(display-p3 .357 .373 1/.219);--iris-a4:color(display-p3 .325 .361 1/.337);--iris-a5:color(display-p3 .38 .4 1/.4);--iris-a6:color(display-p3 .447 .447 1/.454);--iris-a7:color(display-p3 .486 .486 1/.534);--iris-a8:color(display-p3 .502 .494 1/.652);--iris-a9:color(display-p3 .431 .431 1/.799);--iris-a10:color(display-p3 .502 .486 1/.832);--iris-a11:color(display-p3 .685 .662 1);--iris-a12:color(display-p3 .878 .875 .986)}}}:root,.light,.light-theme{--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-1:color(display-p3 .992 .992 .996);--indigo-2:color(display-p3 .971 .977 .998);--indigo-3:color(display-p3 .933 .948 .992);--indigo-4:color(display-p3 .885 .914 1);--indigo-5:color(display-p3 .831 .87 1);--indigo-6:color(display-p3 .767 .814 .995);--indigo-7:color(display-p3 .685 .74 .957);--indigo-8:color(display-p3 .569 .639 .916);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .234 .343 .801);--indigo-11:color(display-p3 .256 .354 .755);--indigo-12:color(display-p3 .133 .175 .348)}}}.dark,.dark-theme{--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-1:color(display-p3 .068 .074 .118);--indigo-2:color(display-p3 .081 .089 .144);--indigo-3:color(display-p3 .105 .141 .275);--indigo-4:color(display-p3 .129 .18 .369);--indigo-5:color(display-p3 .163 .22 .439);--indigo-6:color(display-p3 .203 .262 .5);--indigo-7:color(display-p3 .245 .309 .575);--indigo-8:color(display-p3 .285 .362 .674);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .354 .445 .866);--indigo-11:color(display-p3 .63 .69 1);--indigo-12:color(display-p3 .848 .881 .99)}}}:root,.light,.light-theme{--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:#0031d2c1;--indigo-a10:#002ec9cc;--indigo-a11:#002bb7c5;--indigo-a12:#001046e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-a1:color(display-p3 .02 .02 .51/.008);--indigo-a2:color(display-p3 .024 .161 .863/.028);--indigo-a3:color(display-p3 .008 .239 .886/.067);--indigo-a4:color(display-p3 .004 .247 1/.114);--indigo-a5:color(display-p3 .004 .235 1/.169);--indigo-a6:color(display-p3 .004 .208 .984/.232);--indigo-a7:color(display-p3 .004 .176 .863/.314);--indigo-a8:color(display-p3 .004 .165 .812/.432);--indigo-a9:color(display-p3 0 .153 .773/.726);--indigo-a10:color(display-p3 0 .137 .737/.765);--indigo-a11:color(display-p3 .256 .354 .755);--indigo-a12:color(display-p3 .133 .175 .348)}}}.dark,.dark-theme{--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-a1:color(display-p3 .071 .212 .996/.055);--indigo-a2:color(display-p3 .251 .345 .988/.085);--indigo-a3:color(display-p3 .243 .404 1/.223);--indigo-a4:color(display-p3 .263 .42 1/.324);--indigo-a5:color(display-p3 .314 .451 1/.4);--indigo-a6:color(display-p3 .361 .49 1/.467);--indigo-a7:color(display-p3 .388 .51 1/.547);--indigo-a8:color(display-p3 .404 .518 1/.652);--indigo-a9:color(display-p3 .318 .451 1/.824);--indigo-a10:color(display-p3 .404 .506 1/.858);--indigo-a11:color(display-p3 .63 .69 1);--indigo-a12:color(display-p3 .848 .881 .99)}}}:root,.light,.light-theme{--blue-1:#fbfdff;--blue-2:#f4faff;--blue-3:#e6f4fe;--blue-4:#d5efff;--blue-5:#c2e5ff;--blue-6:#acd8fc;--blue-7:#8ec8f6;--blue-8:#5eb1ef;--blue-9:#0090ff;--blue-10:#0588f0;--blue-11:#0d74ce;--blue-12:#113264}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--blue-1:color(display-p3 .986 .992 .999);--blue-2:color(display-p3 .96 .979 .998);--blue-3:color(display-p3 .912 .956 .991);--blue-4:color(display-p3 .853 .932 1);--blue-5:color(display-p3 .788 .894 .998);--blue-6:color(display-p3 .709 .843 .976);--blue-7:color(display-p3 .606 .777 .947);--blue-8:color(display-p3 .451 .688 .917);--blue-9:color(display-p3 .247 .556 .969);--blue-10:color(display-p3 .234 .523 .912);--blue-11:color(display-p3 .15 .44 .84);--blue-12:color(display-p3 .102 .193 .379)}}}.dark,.dark-theme{--blue-1:#0d1520;--blue-2:#111927;--blue-3:#0d2847;--blue-4:#003362;--blue-5:#004074;--blue-6:#104d87;--blue-7:#205d9e;--blue-8:#2870bd;--blue-9:#0090ff;--blue-10:#3b9eff;--blue-11:#70b8ff;--blue-12:#c2e6ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--blue-1:color(display-p3 .057 .081 .122);--blue-2:color(display-p3 .072 .098 .147);--blue-3:color(display-p3 .078 .154 .27);--blue-4:color(display-p3 .033 .197 .37);--blue-5:color(display-p3 .08 .245 .441);--blue-6:color(display-p3 .14 .298 .511);--blue-7:color(display-p3 .195 .361 .6);--blue-8:color(display-p3 .239 .434 .72);--blue-9:color(display-p3 .247 .556 .969);--blue-10:color(display-p3 .344 .612 .973);--blue-11:color(display-p3 .49 .72 1);--blue-12:color(display-p3 .788 .898 .99)}}}:root,.light,.light-theme{--blue-a1:#0080ff04;--blue-a2:#008cff0b;--blue-a3:#008ff519;--blue-a4:#009eff2a;--blue-a5:#0093ff3d;--blue-a6:#0088f653;--blue-a7:#0083eb71;--blue-a8:#0084e6a1;--blue-a9:#0090ff;--blue-a10:#0086f0fa;--blue-a11:#006dcbf2;--blue-a12:#002359ee}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--blue-a1:color(display-p3 .024 .514 1/.016);--blue-a2:color(display-p3 .024 .514 .906/.04);--blue-a3:color(display-p3 .012 .506 .914/.087);--blue-a4:color(display-p3 .008 .545 1/.146);--blue-a5:color(display-p3 .004 .502 .984/.212);--blue-a6:color(display-p3 .004 .463 .922/.291);--blue-a7:color(display-p3 .004 .431 .863/.393);--blue-a8:color(display-p3 0 .427 .851/.55);--blue-a9:color(display-p3 0 .412 .961/.753);--blue-a10:color(display-p3 0 .376 .886/.765);--blue-a11:color(display-p3 .15 .44 .84);--blue-a12:color(display-p3 .102 .193 .379)}}}.dark,.dark-theme{--blue-a1:#004df211;--blue-a2:#1166fb18;--blue-a3:#0077ff3a;--blue-a4:#0075ff57;--blue-a5:#0081fd6b;--blue-a6:#0f89fd7f;--blue-a7:#2a91fe98;--blue-a8:#3094feb9;--blue-a9:#0090ff;--blue-a10:#3b9eff;--blue-a11:#70b8ff;--blue-a12:#c2e6ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--blue-a1:color(display-p3 0 .333 1/.059);--blue-a2:color(display-p3 .114 .435 .988/.085);--blue-a3:color(display-p3 .122 .463 1/.219);--blue-a4:color(display-p3 0 .467 1/.324);--blue-a5:color(display-p3 .098 .51 1/.4);--blue-a6:color(display-p3 .224 .557 1/.475);--blue-a7:color(display-p3 .294 .584 1/.572);--blue-a8:color(display-p3 .314 .592 1/.702);--blue-a9:color(display-p3 .251 .573 .996/.967);--blue-a10:color(display-p3 .357 .631 1/.971);--blue-a11:color(display-p3 .49 .72 1);--blue-a12:color(display-p3 .788 .898 .99)}}}:root,.light,.light-theme{--cyan-1:#fafdfe;--cyan-2:#f2fafb;--cyan-3:#def7f9;--cyan-4:#caf1f6;--cyan-5:#b5e9f0;--cyan-6:#9ddde7;--cyan-7:#7dcedc;--cyan-8:#3db9cf;--cyan-9:#00a2c7;--cyan-10:#0797b9;--cyan-11:#107d98;--cyan-12:#0d3c48}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--cyan-1:color(display-p3 .982 .992 .996);--cyan-2:color(display-p3 .955 .981 .984);--cyan-3:color(display-p3 .888 .965 .975);--cyan-4:color(display-p3 .821 .941 .959);--cyan-5:color(display-p3 .751 .907 .935);--cyan-6:color(display-p3 .671 .862 .9);--cyan-7:color(display-p3 .564 .8 .854);--cyan-8:color(display-p3 .388 .715 .798);--cyan-9:color(display-p3 .282 .627 .765);--cyan-10:color(display-p3 .264 .583 .71);--cyan-11:color(display-p3 .08 .48 .63);--cyan-12:color(display-p3 .108 .232 .277)}}}.dark,.dark-theme{--cyan-1:#0b161a;--cyan-2:#101b20;--cyan-3:#082c36;--cyan-4:#003848;--cyan-5:#004558;--cyan-6:#045468;--cyan-7:#12677e;--cyan-8:#11809c;--cyan-9:#00a2c7;--cyan-10:#23afd0;--cyan-11:#4ccce6;--cyan-12:#b6ecf7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--cyan-1:color(display-p3 .053 .085 .098);--cyan-2:color(display-p3 .072 .105 .122);--cyan-3:color(display-p3 .073 .168 .209);--cyan-4:color(display-p3 .063 .216 .277);--cyan-5:color(display-p3 .091 .267 .336);--cyan-6:color(display-p3 .137 .324 .4);--cyan-7:color(display-p3 .186 .398 .484);--cyan-8:color(display-p3 .23 .496 .6);--cyan-9:color(display-p3 .282 .627 .765);--cyan-10:color(display-p3 .331 .675 .801);--cyan-11:color(display-p3 .446 .79 .887);--cyan-12:color(display-p3 .757 .919 .962)}}}:root,.light,.light-theme{--cyan-a1:#0099cc05;--cyan-a2:#009db10d;--cyan-a3:#00c2d121;--cyan-a4:#00bcd435;--cyan-a5:#01b4cc4a;--cyan-a6:#00a7c162;--cyan-a7:#009fbb82;--cyan-a8:#00a3c0c2;--cyan-a9:#00a2c7;--cyan-a10:#0094b7f8;--cyan-a11:#007491ef;--cyan-a12:#00323ef2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--cyan-a1:color(display-p3 .02 .608 .804/.02);--cyan-a2:color(display-p3 .02 .557 .647/.044);--cyan-a3:color(display-p3 .004 .694 .796/.114);--cyan-a4:color(display-p3 .004 .678 .784/.181);--cyan-a5:color(display-p3 .004 .624 .733/.248);--cyan-a6:color(display-p3 .004 .584 .706/.33);--cyan-a7:color(display-p3 .004 .541 .667/.436);--cyan-a8:color(display-p3 0 .533 .667/.612);--cyan-a9:color(display-p3 0 .482 .675/.718);--cyan-a10:color(display-p3 0 .435 .608/.738);--cyan-a11:color(display-p3 .08 .48 .63);--cyan-a12:color(display-p3 .108 .232 .277)}}}.dark,.dark-theme{--cyan-a1:#0091f70a;--cyan-a2:#02a7f211;--cyan-a3:#00befd28;--cyan-a4:#00baff3b;--cyan-a5:#00befd4d;--cyan-a6:#00c7fd5e;--cyan-a7:#14cdff75;--cyan-a8:#11cfff95;--cyan-a9:#00cfffc3;--cyan-a10:#28d6ffcd;--cyan-a11:#52e1fee5;--cyan-a12:#bbf3fef7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--cyan-a1:color(display-p3 0 .647 .992/.034);--cyan-a2:color(display-p3 .133 .733 1/.059);--cyan-a3:color(display-p3 .122 .741 .996/.152);--cyan-a4:color(display-p3 .051 .725 1/.227);--cyan-a5:color(display-p3 .149 .757 1/.29);--cyan-a6:color(display-p3 .267 .792 1/.358);--cyan-a7:color(display-p3 .333 .808 1/.446);--cyan-a8:color(display-p3 .357 .816 1/.572);--cyan-a9:color(display-p3 .357 .82 1/.748);--cyan-a10:color(display-p3 .4 .839 1/.786);--cyan-a11:color(display-p3 .446 .79 .887);--cyan-a12:color(display-p3 .757 .919 .962)}}}:root,.light,.light-theme{--teal-1:#fafefd;--teal-2:#f3fbf9;--teal-3:#e0f8f3;--teal-4:#ccf3ea;--teal-5:#b8eae0;--teal-6:#a1ded2;--teal-7:#83cdc1;--teal-8:#53b9ab;--teal-9:#12a594;--teal-10:#0d9b8a;--teal-11:#008573;--teal-12:#0d3d38}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--teal-1:color(display-p3 .983 .996 .992);--teal-2:color(display-p3 .958 .983 .976);--teal-3:color(display-p3 .895 .971 .952);--teal-4:color(display-p3 .831 .949 .92);--teal-5:color(display-p3 .761 .914 .878);--teal-6:color(display-p3 .682 .864 .825);--teal-7:color(display-p3 .581 .798 .756);--teal-8:color(display-p3 .433 .716 .671);--teal-9:color(display-p3 .297 .637 .581);--teal-10:color(display-p3 .275 .599 .542);--teal-11:color(display-p3 .08 .5 .43);--teal-12:color(display-p3 .11 .235 .219)}}}.dark,.dark-theme{--teal-1:#0d1514;--teal-2:#111c1b;--teal-3:#0d2d2a;--teal-4:#023b37;--teal-5:#084843;--teal-6:#145750;--teal-7:#1c6961;--teal-8:#207e73;--teal-9:#12a594;--teal-10:#0eb39e;--teal-11:#0bd8b6;--teal-12:#adf0dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--teal-1:color(display-p3 .059 .083 .079);--teal-2:color(display-p3 .075 .11 .107);--teal-3:color(display-p3 .087 .175 .165);--teal-4:color(display-p3 .087 .227 .214);--teal-5:color(display-p3 .12 .277 .261);--teal-6:color(display-p3 .162 .335 .314);--teal-7:color(display-p3 .205 .406 .379);--teal-8:color(display-p3 .245 .489 .453);--teal-9:color(display-p3 .297 .637 .581);--teal-10:color(display-p3 .319 .69 .62);--teal-11:color(display-p3 .388 .835 .719);--teal-12:color(display-p3 .734 .934 .87)}}}:root,.light,.light-theme{--teal-a1:#00cc9905;--teal-a2:#00aa800c;--teal-a3:#00c69d1f;--teal-a4:#00c39633;--teal-a5:#00b49047;--teal-a6:#00a6855e;--teal-a7:#0099807c;--teal-a8:#009783ac;--teal-a9:#009e8ced;--teal-a10:#009684f2;--teal-a11:#008573;--teal-a12:#00332df2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--teal-a1:color(display-p3 .024 .757 .514/.016);--teal-a2:color(display-p3 .02 .647 .467/.044);--teal-a3:color(display-p3 .004 .741 .557/.106);--teal-a4:color(display-p3 .004 .702 .537/.169);--teal-a5:color(display-p3 .004 .643 .494/.24);--teal-a6:color(display-p3 .004 .569 .447/.318);--teal-a7:color(display-p3 .004 .518 .424/.42);--teal-a8:color(display-p3 0 .506 .424/.569);--teal-a9:color(display-p3 0 .482 .404/.702);--teal-a10:color(display-p3 0 .451 .369/.726);--teal-a11:color(display-p3 .08 .5 .43);--teal-a12:color(display-p3 .11 .235 .219)}}}.dark,.dark-theme{--teal-a1:#00deab05;--teal-a2:#12fbe60c;--teal-a3:#00ffe61e;--teal-a4:#00ffe92d;--teal-a5:#00ffea3b;--teal-a6:#1cffe84b;--teal-a7:#2efde85f;--teal-a8:#32ffe775;--teal-a9:#13ffe49f;--teal-a10:#0dffe0ae;--teal-a11:#0afed5d6;--teal-a12:#b8ffebef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--teal-a1:color(display-p3 0 .992 .761/.017);--teal-a2:color(display-p3 .235 .988 .902/.047);--teal-a3:color(display-p3 .235 1 .898/.118);--teal-a4:color(display-p3 .18 .996 .929/.173);--teal-a5:color(display-p3 .31 1 .933/.227);--teal-a6:color(display-p3 .396 1 .933/.286);--teal-a7:color(display-p3 .443 1 .925/.366);--teal-a8:color(display-p3 .459 1 .925/.454);--teal-a9:color(display-p3 .443 .996 .906/.61);--teal-a10:color(display-p3 .439 .996 .89/.669);--teal-a11:color(display-p3 .388 .835 .719);--teal-a12:color(display-p3 .734 .934 .87)}}}:root,.light,.light-theme{--jade-1:#fbfefd;--jade-2:#f4fbf7;--jade-3:#e6f7ed;--jade-4:#d6f1e3;--jade-5:#c3e9d7;--jade-6:#acdec8;--jade-7:#8bceb6;--jade-8:#56ba9f;--jade-9:#29a383;--jade-10:#26997b;--jade-11:#208368;--jade-12:#1d3b31}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--jade-1:color(display-p3 .986 .996 .992);--jade-2:color(display-p3 .962 .983 .969);--jade-3:color(display-p3 .912 .965 .932);--jade-4:color(display-p3 .858 .941 .893);--jade-5:color(display-p3 .795 .909 .847);--jade-6:color(display-p3 .715 .864 .791);--jade-7:color(display-p3 .603 .802 .718);--jade-8:color(display-p3 .44 .72 .629);--jade-9:color(display-p3 .319 .63 .521);--jade-10:color(display-p3 .299 .592 .488);--jade-11:color(display-p3 .15 .5 .37);--jade-12:color(display-p3 .142 .229 .194)}}}.dark,.dark-theme{--jade-1:#0d1512;--jade-2:#121c18;--jade-3:#0f2e22;--jade-4:#0b3b2c;--jade-5:#114837;--jade-6:#1b5745;--jade-7:#246854;--jade-8:#2a7e68;--jade-9:#29a383;--jade-10:#27b08b;--jade-11:#1fd8a4;--jade-12:#adf0d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--jade-1:color(display-p3 .059 .083 .071);--jade-2:color(display-p3 .078 .11 .094);--jade-3:color(display-p3 .091 .176 .138);--jade-4:color(display-p3 .102 .228 .177);--jade-5:color(display-p3 .133 .279 .221);--jade-6:color(display-p3 .174 .334 .273);--jade-7:color(display-p3 .219 .402 .335);--jade-8:color(display-p3 .263 .488 .411);--jade-9:color(display-p3 .319 .63 .521);--jade-10:color(display-p3 .338 .68 .555);--jade-11:color(display-p3 .4 .835 .656);--jade-12:color(display-p3 .734 .934 .838)}}}:root,.light,.light-theme{--jade-a1:#00c08004;--jade-a2:#00a3460b;--jade-a3:#00ae4819;--jade-a4:#00a85129;--jade-a5:#00a2553c;--jade-a6:#009a5753;--jade-a7:#00945f74;--jade-a8:#00976ea9;--jade-a9:#00916bd6;--jade-a10:#008764d9;--jade-a11:#007152df;--jade-a12:#002217e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--jade-a1:color(display-p3 .024 .757 .514/.016);--jade-a2:color(display-p3 .024 .612 .22/.04);--jade-a3:color(display-p3 .012 .596 .235/.087);--jade-a4:color(display-p3 .008 .588 .255/.142);--jade-a5:color(display-p3 .004 .561 .251/.204);--jade-a6:color(display-p3 .004 .525 .278/.287);--jade-a7:color(display-p3 .004 .506 .29/.397);--jade-a8:color(display-p3 0 .506 .337/.561);--jade-a9:color(display-p3 0 .459 .298/.683);--jade-a10:color(display-p3 0 .42 .271/.702);--jade-a11:color(display-p3 .15 .5 .37);--jade-a12:color(display-p3 .142 .229 .194)}}}.dark,.dark-theme{--jade-a1:#00de4505;--jade-a2:#27fba60c;--jade-a3:#02f99920;--jade-a4:#00ffaa2d;--jade-a5:#11ffb63b;--jade-a6:#34ffc24b;--jade-a7:#45fdc75e;--jade-a8:#48ffcf75;--jade-a9:#38feca9d;--jade-a10:#31fec7ab;--jade-a11:#21fec0d6;--jade-a12:#b8ffe1ef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--jade-a1:color(display-p3 0 .992 .298/.017);--jade-a2:color(display-p3 .318 .988 .651/.047);--jade-a3:color(display-p3 .267 1 .667/.118);--jade-a4:color(display-p3 .275 .996 .702/.173);--jade-a5:color(display-p3 .361 1 .741/.227);--jade-a6:color(display-p3 .439 1 .796/.286);--jade-a7:color(display-p3 .49 1 .804/.362);--jade-a8:color(display-p3 .506 1 .835/.45);--jade-a9:color(display-p3 .478 .996 .816/.606);--jade-a10:color(display-p3 .478 1 .816/.656);--jade-a11:color(display-p3 .4 .835 .656);--jade-a12:color(display-p3 .734 .934 .838)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-1:color(display-p3 .062 .083 .071);--green-2:color(display-p3 .079 .106 .09);--green-3:color(display-p3 .1 .173 .133);--green-4:color(display-p3 .115 .229 .166);--green-5:color(display-p3 .147 .282 .206);--green-6:color(display-p3 .185 .338 .25);--green-7:color(display-p3 .227 .403 .298);--green-8:color(display-p3 .27 .479 .351);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .357 .682 .474);--green-11:color(display-p3 .434 .828 .573);--green-12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-a1:color(display-p3 0 .992 .298/.017);--green-a2:color(display-p3 .341 .98 .616/.043);--green-a3:color(display-p3 .376 .996 .655/.114);--green-a4:color(display-p3 .341 .996 .635/.173);--green-a5:color(display-p3 .408 1 .678/.232);--green-a6:color(display-p3 .475 1 .706/.29);--green-a7:color(display-p3 .514 1 .706/.362);--green-a8:color(display-p3 .529 1 .718/.442);--green-a9:color(display-p3 .502 .996 .682/.61);--green-a10:color(display-p3 .506 1 .682/.66);--green-a11:color(display-p3 .434 .828 .573);--green-a12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--grass-1:#fbfefb;--grass-2:#f5fbf5;--grass-3:#e9f6e9;--grass-4:#daf1db;--grass-5:#c9e8ca;--grass-6:#b2ddb5;--grass-7:#94ce9a;--grass-8:#65ba74;--grass-9:#46a758;--grass-10:#3e9b4f;--grass-11:#2a7e3b;--grass-12:#203c25}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--grass-1:color(display-p3 .986 .996 .985);--grass-2:color(display-p3 .966 .983 .964);--grass-3:color(display-p3 .923 .965 .917);--grass-4:color(display-p3 .872 .94 .865);--grass-5:color(display-p3 .811 .908 .802);--grass-6:color(display-p3 .733 .864 .724);--grass-7:color(display-p3 .628 .803 .622);--grass-8:color(display-p3 .477 .72 .482);--grass-9:color(display-p3 .38 .647 .378);--grass-10:color(display-p3 .344 .598 .342);--grass-11:color(display-p3 .263 .488 .261);--grass-12:color(display-p3 .151 .233 .153)}}}.dark,.dark-theme{--grass-1:#0e1511;--grass-2:#141a15;--grass-3:#1b2a1e;--grass-4:#1d3a24;--grass-5:#25482d;--grass-6:#2d5736;--grass-7:#366740;--grass-8:#3e7949;--grass-9:#46a758;--grass-10:#53b365;--grass-11:#71d083;--grass-12:#c2f0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--grass-1:color(display-p3 .062 .083 .067);--grass-2:color(display-p3 .083 .103 .085);--grass-3:color(display-p3 .118 .163 .122);--grass-4:color(display-p3 .142 .225 .15);--grass-5:color(display-p3 .178 .279 .186);--grass-6:color(display-p3 .217 .337 .224);--grass-7:color(display-p3 .258 .4 .264);--grass-8:color(display-p3 .302 .47 .305);--grass-9:color(display-p3 .38 .647 .378);--grass-10:color(display-p3 .426 .694 .426);--grass-11:color(display-p3 .535 .807 .542);--grass-12:color(display-p3 .797 .936 .776)}}}:root,.light,.light-theme{--grass-a1:#00c00004;--grass-a2:#0099000a;--grass-a3:#00970016;--grass-a4:#009f0725;--grass-a5:#00930536;--grass-a6:#008f0a4d;--grass-a7:#018b0f6b;--grass-a8:#008d199a;--grass-a9:#008619b9;--grass-a10:#007b17c1;--grass-a11:#006514d5;--grass-a12:#002006df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--grass-a1:color(display-p3 .024 .757 .024/.016);--grass-a2:color(display-p3 .024 .565 .024/.036);--grass-a3:color(display-p3 .059 .576 .008/.083);--grass-a4:color(display-p3 .035 .565 .008/.134);--grass-a5:color(display-p3 .047 .545 .008/.197);--grass-a6:color(display-p3 .031 .502 .004/.275);--grass-a7:color(display-p3 .012 .482 .004/.377);--grass-a8:color(display-p3 0 .467 .008/.522);--grass-a9:color(display-p3 .008 .435 0/.624);--grass-a10:color(display-p3 .008 .388 0/.659);--grass-a11:color(display-p3 .263 .488 .261);--grass-a12:color(display-p3 .151 .233 .153)}}}.dark,.dark-theme{--grass-a1:#00de1205;--grass-a2:#5ef7780a;--grass-a3:#70fe8c1b;--grass-a4:#57ff802c;--grass-a5:#68ff8b3b;--grass-a6:#71ff8f4b;--grass-a7:#77fd925d;--grass-a8:#77fd9070;--grass-a9:#65ff82a1;--grass-a10:#72ff8dae;--grass-a11:#89ff9fcd;--grass-a12:#ceffceef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--grass-a1:color(display-p3 0 .992 .071/.017);--grass-a2:color(display-p3 .482 .996 .584/.038);--grass-a3:color(display-p3 .549 .992 .588/.106);--grass-a4:color(display-p3 .51 .996 .557/.169);--grass-a5:color(display-p3 .553 1 .588/.227);--grass-a6:color(display-p3 .584 1 .608/.29);--grass-a7:color(display-p3 .604 1 .616/.358);--grass-a8:color(display-p3 .608 1 .62/.433);--grass-a9:color(display-p3 .573 1 .569/.622);--grass-a10:color(display-p3 .6 .996 .6/.673);--grass-a11:color(display-p3 .535 .807 .542);--grass-a12:color(display-p3 .797 .936 .776)}}}:root,.light,.light-theme{--orange-1:#fefcfb;--orange-2:#fff7ed;--orange-3:#ffefd6;--orange-4:#ffdfb5;--orange-5:#ffd19a;--orange-6:#ffc182;--orange-7:#f5ae73;--orange-8:#ec9455;--orange-9:#f76b15;--orange-10:#ef5f00;--orange-11:#cc4e00;--orange-12:#582d1d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-1:color(display-p3 .995 .988 .985);--orange-2:color(display-p3 .994 .968 .934);--orange-3:color(display-p3 .989 .938 .85);--orange-4:color(display-p3 1 .874 .687);--orange-5:color(display-p3 1 .821 .583);--orange-6:color(display-p3 .975 .767 .545);--orange-7:color(display-p3 .919 .693 .486);--orange-8:color(display-p3 .877 .597 .379);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .87 .409 .164);--orange-11:color(display-p3 .76 .34 0);--orange-12:color(display-p3 .323 .185 .127)}}}.dark,.dark-theme{--orange-1:#17120e;--orange-2:#1e160f;--orange-3:#331e0b;--orange-4:#462100;--orange-5:#562800;--orange-6:#66350c;--orange-7:#7e451d;--orange-8:#a35829;--orange-9:#f76b15;--orange-10:#ff801f;--orange-11:#ffa057;--orange-12:#ffe0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--orange-1:color(display-p3 .088 .07 .057);--orange-2:color(display-p3 .113 .089 .061);--orange-3:color(display-p3 .189 .12 .056);--orange-4:color(display-p3 .262 .132 0);--orange-5:color(display-p3 .315 .168 .016);--orange-6:color(display-p3 .376 .219 .088);--orange-7:color(display-p3 .465 .283 .147);--orange-8:color(display-p3 .601 .359 .201);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .98 .51 .23);--orange-11:color(display-p3 1 .63 .38);--orange-12:color(display-p3 .98 .883 .775)}}}:root,.light,.light-theme{--orange-a1:#c0400004;--orange-a2:#ff8e0012;--orange-a3:#ff9c0029;--orange-a4:#ff91014a;--orange-a5:#ff8b0065;--orange-a6:#ff81007d;--orange-a7:#ed6c008c;--orange-a8:#e35f00aa;--orange-a9:#f65e00ea;--orange-a10:#ef5f00;--orange-a11:#cc4e00;--orange-a12:#431200e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-a1:color(display-p3 .757 .267 .024/.016);--orange-a2:color(display-p3 .886 .533 .008/.067);--orange-a3:color(display-p3 .922 .584 .008/.15);--orange-a4:color(display-p3 1 .604 .004/.314);--orange-a5:color(display-p3 1 .569 .004/.416);--orange-a6:color(display-p3 .949 .494 .004/.455);--orange-a7:color(display-p3 .839 .408 0/.514);--orange-a8:color(display-p3 .804 .349 0/.62);--orange-a9:color(display-p3 .878 .314 0/.8);--orange-a10:color(display-p3 .843 .29 0/.836);--orange-a11:color(display-p3 .76 .34 0);--orange-a12:color(display-p3 .323 .185 .127)}}}.dark,.dark-theme{--orange-a1:#ec360007;--orange-a2:#fe6d000e;--orange-a3:#fb6a0025;--orange-a4:#ff590039;--orange-a5:#ff61004a;--orange-a6:#fd75045c;--orange-a7:#ff832c75;--orange-a8:#fe84389d;--orange-a9:#fe6d15f7;--orange-a10:#ff801f;--orange-a11:#ffa057;--orange-a12:#ffe0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--orange-a1:color(display-p3 .961 .247 0/.022);--orange-a2:color(display-p3 .992 .529 0/.051);--orange-a3:color(display-p3 .996 .486 0/.131);--orange-a4:color(display-p3 .996 .384 0/.211);--orange-a5:color(display-p3 1 .455 0/.265);--orange-a6:color(display-p3 1 .529 .129/.332);--orange-a7:color(display-p3 1 .569 .251/.429);--orange-a8:color(display-p3 1 .584 .302/.572);--orange-a9:color(display-p3 1 .494 .216/.895);--orange-a10:color(display-p3 1 .522 .235/.979);--orange-a11:color(display-p3 1 .63 .38);--orange-a12:color(display-p3 .98 .883 .775)}}}:root,.light,.light-theme{--brown-1:#fefdfc;--brown-2:#fcf9f6;--brown-3:#f6eee7;--brown-4:#f0e4d9;--brown-5:#ebdaca;--brown-6:#e4cdb7;--brown-7:#dcbc9f;--brown-8:#cea37e;--brown-9:#ad7f58;--brown-10:#a07553;--brown-11:#815e46;--brown-12:#3e332e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-1:color(display-p3 .995 .992 .989);--brown-2:color(display-p3 .987 .976 .964);--brown-3:color(display-p3 .959 .936 .909);--brown-4:color(display-p3 .934 .897 .855);--brown-5:color(display-p3 .909 .856 .798);--brown-6:color(display-p3 .88 .808 .73);--brown-7:color(display-p3 .841 .742 .639);--brown-8:color(display-p3 .782 .647 .514);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .601 .465 .344);--brown-11:color(display-p3 .485 .374 .288);--brown-12:color(display-p3 .236 .202 .183)}}}.dark,.dark-theme{--brown-1:#12110f;--brown-2:#1c1816;--brown-3:#28211d;--brown-4:#322922;--brown-5:#3e3128;--brown-6:#4d3c2f;--brown-7:#614a39;--brown-8:#7c5f46;--brown-9:#ad7f58;--brown-10:#b88c67;--brown-11:#dbb594;--brown-12:#f2e1ca}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--brown-1:color(display-p3 .071 .067 .059);--brown-2:color(display-p3 .107 .095 .087);--brown-3:color(display-p3 .151 .13 .115);--brown-4:color(display-p3 .191 .161 .138);--brown-5:color(display-p3 .235 .194 .162);--brown-6:color(display-p3 .291 .237 .192);--brown-7:color(display-p3 .365 .295 .232);--brown-8:color(display-p3 .469 .377 .287);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .697 .557 .423);--brown-11:color(display-p3 .835 .715 .597);--brown-12:color(display-p3 .938 .885 .802)}}}:root,.light,.light-theme{--brown-a1:#aa550003;--brown-a2:#aa550009;--brown-a3:#a04b0018;--brown-a4:#9b4a0026;--brown-a5:#9f4d0035;--brown-a6:#a04e0048;--brown-a7:#a34e0060;--brown-a8:#9f4a0081;--brown-a9:#823c00a7;--brown-a10:#723300ac;--brown-a11:#522100b9;--brown-a12:#140600d1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-a1:color(display-p3 .675 .349 .024/.012);--brown-a2:color(display-p3 .675 .349 .024/.036);--brown-a3:color(display-p3 .573 .314 .012/.091);--brown-a4:color(display-p3 .545 .302 .008/.146);--brown-a5:color(display-p3 .561 .29 .004/.204);--brown-a6:color(display-p3 .553 .294 .004/.271);--brown-a7:color(display-p3 .557 .286 .004/.361);--brown-a8:color(display-p3 .549 .275 .004/.487);--brown-a9:color(display-p3 .447 .22 0/.632);--brown-a10:color(display-p3 .388 .188 0/.655);--brown-a11:color(display-p3 .485 .374 .288);--brown-a12:color(display-p3 .236 .202 .183)}}}.dark,.dark-theme{--brown-a1:#91110002;--brown-a2:#fba67c0c;--brown-a3:#fcb58c19;--brown-a4:#fbbb8a24;--brown-a5:#fcb88931;--brown-a6:#fdba8741;--brown-a7:#ffbb8856;--brown-a8:#ffbe8773;--brown-a9:#feb87da8;--brown-a10:#ffc18cb3;--brown-a11:#fed1aad9;--brown-a12:#feecd4f2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--brown-a1:color(display-p3 .855 .071 0/.005);--brown-a2:color(display-p3 .98 .706 .525/.043);--brown-a3:color(display-p3 .996 .745 .576/.093);--brown-a4:color(display-p3 1 .765 .592/.135);--brown-a5:color(display-p3 1 .761 .588/.181);--brown-a6:color(display-p3 1 .773 .592/.24);--brown-a7:color(display-p3 .996 .776 .58/.32);--brown-a8:color(display-p3 1 .78 .573/.433);--brown-a9:color(display-p3 1 .769 .549/.627);--brown-a10:color(display-p3 1 .792 .596/.677);--brown-a11:color(display-p3 .835 .715 .597);--brown-a12:color(display-p3 .938 .885 .802)}}}:root,.light,.light-theme{--sky-1:#f9feff;--sky-2:#f1fafd;--sky-3:#e1f6fd;--sky-4:#d1f0fa;--sky-5:#bee7f5;--sky-6:#a9daed;--sky-7:#8dcae3;--sky-8:#60b3d7;--sky-9:#7ce2fe;--sky-10:#74daf8;--sky-11:#00749e;--sky-12:#1d3e56}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sky-1:color(display-p3 .98 .995 .999);--sky-2:color(display-p3 .953 .98 .99);--sky-3:color(display-p3 .899 .963 .989);--sky-4:color(display-p3 .842 .937 .977);--sky-5:color(display-p3 .777 .9 .954);--sky-6:color(display-p3 .701 .851 .921);--sky-7:color(display-p3 .604 .785 .879);--sky-8:color(display-p3 .457 .696 .829);--sky-9:color(display-p3 .585 .877 .983);--sky-10:color(display-p3 .555 .845 .959);--sky-11:color(display-p3 .193 .448 .605);--sky-12:color(display-p3 .145 .241 .329)}}}.dark,.dark-theme{--sky-1:#0d141f;--sky-2:#111a27;--sky-3:#112840;--sky-4:#113555;--sky-5:#154467;--sky-6:#1b537b;--sky-7:#1f6692;--sky-8:#197cae;--sky-9:#7ce2fe;--sky-10:#a8eeff;--sky-11:#75c7f0;--sky-12:#c2f3ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sky-1:color(display-p3 .056 .078 .116);--sky-2:color(display-p3 .075 .101 .149);--sky-3:color(display-p3 .089 .154 .244);--sky-4:color(display-p3 .106 .207 .323);--sky-5:color(display-p3 .135 .261 .394);--sky-6:color(display-p3 .17 .322 .469);--sky-7:color(display-p3 .205 .394 .557);--sky-8:color(display-p3 .232 .48 .665);--sky-9:color(display-p3 .585 .877 .983);--sky-10:color(display-p3 .718 .925 .991);--sky-11:color(display-p3 .536 .772 .924);--sky-12:color(display-p3 .799 .947 .993)}}}:root,.light,.light-theme{--sky-a1:#00d5ff06;--sky-a2:#00a4db0e;--sky-a3:#00b3ee1e;--sky-a4:#00ace42e;--sky-a5:#00a1d841;--sky-a6:#0092ca56;--sky-a7:#0089c172;--sky-a8:#0085bf9f;--sky-a9:#00c7fe83;--sky-a10:#00bcf38b;--sky-a11:#00749e;--sky-a12:#002540e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sky-a1:color(display-p3 .02 .804 1/.02);--sky-a2:color(display-p3 .024 .592 .757/.048);--sky-a3:color(display-p3 .004 .655 .886/.102);--sky-a4:color(display-p3 .004 .604 .851/.157);--sky-a5:color(display-p3 .004 .565 .792/.224);--sky-a6:color(display-p3 .004 .502 .737/.299);--sky-a7:color(display-p3 .004 .459 .694/.397);--sky-a8:color(display-p3 0 .435 .682/.542);--sky-a9:color(display-p3 .004 .71 .965/.416);--sky-a10:color(display-p3 .004 .647 .914/.444);--sky-a11:color(display-p3 .193 .448 .605);--sky-a12:color(display-p3 .145 .241 .329)}}}.dark,.dark-theme{--sky-a1:#0044ff0f;--sky-a2:#1171fb18;--sky-a3:#1184fc33;--sky-a4:#128fff49;--sky-a5:#1c9dfd5d;--sky-a6:#28a5ff72;--sky-a7:#2badfe8b;--sky-a8:#1db2fea9;--sky-a9:#7ce3fffe;--sky-a10:#a8eeff;--sky-a11:#7cd3ffef;--sky-a12:#c2f3ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sky-a1:color(display-p3 0 .282 .996/.055);--sky-a2:color(display-p3 .157 .467 .992/.089);--sky-a3:color(display-p3 .192 .522 .996/.19);--sky-a4:color(display-p3 .212 .584 1/.274);--sky-a5:color(display-p3 .259 .631 1/.349);--sky-a6:color(display-p3 .302 .655 1/.433);--sky-a7:color(display-p3 .329 .686 1/.526);--sky-a8:color(display-p3 .325 .71 1/.643);--sky-a9:color(display-p3 .592 .894 1/.984);--sky-a10:color(display-p3 .722 .933 1/.992);--sky-a11:color(display-p3 .536 .772 .924);--sky-a12:color(display-p3 .799 .947 .993)}}}:root,.light,.light-theme{--mint-1:#f9fefd;--mint-2:#f2fbf9;--mint-3:#ddf9f2;--mint-4:#c8f4e9;--mint-5:#b3ecde;--mint-6:#9ce0d0;--mint-7:#7ecfbd;--mint-8:#4cbba5;--mint-9:#86ead4;--mint-10:#7de0cb;--mint-11:#027864;--mint-12:#16433c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mint-1:color(display-p3 .98 .995 .992);--mint-2:color(display-p3 .957 .985 .977);--mint-3:color(display-p3 .888 .972 .95);--mint-4:color(display-p3 .819 .951 .916);--mint-5:color(display-p3 .747 .918 .873);--mint-6:color(display-p3 .668 .87 .818);--mint-7:color(display-p3 .567 .805 .744);--mint-8:color(display-p3 .42 .724 .649);--mint-9:color(display-p3 .62 .908 .834);--mint-10:color(display-p3 .585 .871 .797);--mint-11:color(display-p3 .203 .463 .397);--mint-12:color(display-p3 .136 .259 .236)}}}.dark,.dark-theme{--mint-1:#0e1515;--mint-2:#0f1b1b;--mint-3:#092c2b;--mint-4:#003a38;--mint-5:#004744;--mint-6:#105650;--mint-7:#1e685f;--mint-8:#277f70;--mint-9:#86ead4;--mint-10:#a8f5e5;--mint-11:#58d5ba;--mint-12:#c4f5e1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mint-1:color(display-p3 .059 .082 .081);--mint-2:color(display-p3 .068 .104 .105);--mint-3:color(display-p3 .077 .17 .168);--mint-4:color(display-p3 .068 .224 .22);--mint-5:color(display-p3 .104 .275 .264);--mint-6:color(display-p3 .154 .332 .313);--mint-7:color(display-p3 .207 .403 .373);--mint-8:color(display-p3 .258 .49 .441);--mint-9:color(display-p3 .62 .908 .834);--mint-10:color(display-p3 .725 .954 .898);--mint-11:color(display-p3 .482 .825 .733);--mint-12:color(display-p3 .807 .955 .887)}}}:root,.light,.light-theme{--mint-a1:#00d5aa06;--mint-a2:#00b18a0d;--mint-a3:#00d29e22;--mint-a4:#00cc9937;--mint-a5:#00c0914c;--mint-a6:#00b08663;--mint-a7:#00a17d81;--mint-a8:#009e7fb3;--mint-a9:#00d3a579;--mint-a10:#00c39982;--mint-a11:#007763fd;--mint-a12:#00312ae9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mint-a1:color(display-p3 .02 .804 .608/.02);--mint-a2:color(display-p3 .02 .647 .467/.044);--mint-a3:color(display-p3 .004 .761 .553/.114);--mint-a4:color(display-p3 .004 .741 .545/.181);--mint-a5:color(display-p3 .004 .678 .51/.255);--mint-a6:color(display-p3 .004 .616 .463/.334);--mint-a7:color(display-p3 .004 .549 .412/.432);--mint-a8:color(display-p3 0 .529 .392/.581);--mint-a9:color(display-p3 .004 .765 .569/.381);--mint-a10:color(display-p3 .004 .69 .51/.416);--mint-a11:color(display-p3 .203 .463 .397);--mint-a12:color(display-p3 .136 .259 .236)}}}.dark,.dark-theme{--mint-a1:#00dede05;--mint-a2:#00f9f90b;--mint-a3:#00fff61d;--mint-a4:#00fff42c;--mint-a5:#00fff23a;--mint-a6:#0effeb4a;--mint-a7:#34fde55e;--mint-a8:#41ffdf76;--mint-a9:#92ffe7e9;--mint-a10:#aefeedf5;--mint-a11:#67ffded2;--mint-a12:#cbfee9f5}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mint-a1:color(display-p3 0 .992 .992/.017);--mint-a2:color(display-p3 .071 .98 .98/.043);--mint-a3:color(display-p3 .176 .996 .996/.11);--mint-a4:color(display-p3 .071 .996 .973/.169);--mint-a5:color(display-p3 .243 1 .949/.223);--mint-a6:color(display-p3 .369 1 .933/.286);--mint-a7:color(display-p3 .459 1 .914/.362);--mint-a8:color(display-p3 .49 1 .89/.454);--mint-a9:color(display-p3 .678 .996 .914/.904);--mint-a10:color(display-p3 .761 1 .941/.95);--mint-a11:color(display-p3 .482 .825 .733);--mint-a12:color(display-p3 .807 .955 .887)}}}:root,.light,.light-theme{--lime-1:#fcfdfa;--lime-2:#f8faf3;--lime-3:#eef6d6;--lime-4:#e2f0bd;--lime-5:#d3e7a6;--lime-6:#c2da91;--lime-7:#abc978;--lime-8:#8db654;--lime-9:#bdee63;--lime-10:#b0e64c;--lime-11:#5c7c2f;--lime-12:#37401c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--lime-1:color(display-p3 .989 .992 .981);--lime-2:color(display-p3 .975 .98 .954);--lime-3:color(display-p3 .939 .965 .851);--lime-4:color(display-p3 .896 .94 .76);--lime-5:color(display-p3 .843 .903 .678);--lime-6:color(display-p3 .778 .852 .599);--lime-7:color(display-p3 .694 .784 .508);--lime-8:color(display-p3 .585 .707 .378);--lime-9:color(display-p3 .78 .928 .466);--lime-10:color(display-p3 .734 .896 .397);--lime-11:color(display-p3 .386 .482 .227);--lime-12:color(display-p3 .222 .25 .128)}}}.dark,.dark-theme{--lime-1:#11130c;--lime-2:#151a10;--lime-3:#1f2917;--lime-4:#29371d;--lime-5:#334423;--lime-6:#3d522a;--lime-7:#496231;--lime-8:#577538;--lime-9:#bdee63;--lime-10:#d4ff70;--lime-11:#bde56c;--lime-12:#e3f7ba}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--lime-1:color(display-p3 .067 .073 .048);--lime-2:color(display-p3 .086 .1 .067);--lime-3:color(display-p3 .13 .16 .099);--lime-4:color(display-p3 .172 .214 .126);--lime-5:color(display-p3 .213 .266 .153);--lime-6:color(display-p3 .257 .321 .182);--lime-7:color(display-p3 .307 .383 .215);--lime-8:color(display-p3 .365 .456 .25);--lime-9:color(display-p3 .78 .928 .466);--lime-10:color(display-p3 .865 .995 .519);--lime-11:color(display-p3 .771 .893 .485);--lime-12:color(display-p3 .905 .966 .753)}}}:root,.light,.light-theme{--lime-a1:#66990005;--lime-a2:#6b95000c;--lime-a3:#96c80029;--lime-a4:#8fc60042;--lime-a5:#81bb0059;--lime-a6:#72aa006e;--lime-a7:#61990087;--lime-a8:#559200ab;--lime-a9:#93e4009c;--lime-a10:#8fdc00b3;--lime-a11:#375f00d0;--lime-a12:#1e2900e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--lime-a1:color(display-p3 .412 .608 .02/.02);--lime-a2:color(display-p3 .514 .592 .024/.048);--lime-a3:color(display-p3 .584 .765 .008/.15);--lime-a4:color(display-p3 .561 .757 .004/.24);--lime-a5:color(display-p3 .514 .698 .004/.322);--lime-a6:color(display-p3 .443 .627 0/.4);--lime-a7:color(display-p3 .376 .561 .004/.491);--lime-a8:color(display-p3 .333 .529 0/.624);--lime-a9:color(display-p3 .588 .867 0/.534);--lime-a10:color(display-p3 .561 .827 0/.604);--lime-a11:color(display-p3 .386 .482 .227);--lime-a12:color(display-p3 .222 .25 .128)}}}.dark,.dark-theme{--lime-a1:#11bb0003;--lime-a2:#78f7000a;--lime-a3:#9bfd4c1a;--lime-a4:#a7fe5c29;--lime-a5:#affe6537;--lime-a6:#b2fe6d46;--lime-a7:#b6ff6f57;--lime-a8:#b6fd6d6c;--lime-a9:#caff69ed;--lime-a10:#d4ff70;--lime-a11:#d1fe77e4;--lime-a12:#e9febff7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--lime-a1:color(display-p3 .067 .941 0/.009);--lime-a2:color(display-p3 .584 .996 .071/.038);--lime-a3:color(display-p3 .69 1 .38/.101);--lime-a4:color(display-p3 .729 1 .435/.16);--lime-a5:color(display-p3 .745 1 .471/.215);--lime-a6:color(display-p3 .769 1 .482/.274);--lime-a7:color(display-p3 .769 1 .506/.341);--lime-a8:color(display-p3 .784 1 .51/.416);--lime-a9:color(display-p3 .839 1 .502/.925);--lime-a10:color(display-p3 .871 1 .522/.996);--lime-a11:color(display-p3 .771 .893 .485);--lime-a12:color(display-p3 .905 .966 .753)}}}:root,.light,.light-theme{--yellow-1:#fdfdf9;--yellow-2:#fefce9;--yellow-3:#fffab8;--yellow-4:#fff394;--yellow-5:#ffe770;--yellow-6:#f3d768;--yellow-7:#e4c767;--yellow-8:#d5ae39;--yellow-9:#ffe629;--yellow-10:#ffdc00;--yellow-11:#9e6c00;--yellow-12:#473b1f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--yellow-1:color(display-p3 .992 .992 .978);--yellow-2:color(display-p3 .995 .99 .922);--yellow-3:color(display-p3 .997 .982 .749);--yellow-4:color(display-p3 .992 .953 .627);--yellow-5:color(display-p3 .984 .91 .51);--yellow-6:color(display-p3 .934 .847 .474);--yellow-7:color(display-p3 .876 .785 .46);--yellow-8:color(display-p3 .811 .689 .313);--yellow-9:color(display-p3 1 .92 .22);--yellow-10:color(display-p3 .977 .868 .291);--yellow-11:color(display-p3 .6 .44 0);--yellow-12:color(display-p3 .271 .233 .137)}}}.dark,.dark-theme{--yellow-1:#14120b;--yellow-2:#1b180f;--yellow-3:#2d2305;--yellow-4:#362b00;--yellow-5:#433500;--yellow-6:#524202;--yellow-7:#665417;--yellow-8:#836a21;--yellow-9:#ffe629;--yellow-10:#ffff57;--yellow-11:#f5e147;--yellow-12:#f6eeb4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--yellow-1:color(display-p3 .078 .069 .047);--yellow-2:color(display-p3 .103 .094 .063);--yellow-3:color(display-p3 .168 .137 .039);--yellow-4:color(display-p3 .209 .169 0);--yellow-5:color(display-p3 .255 .209 0);--yellow-6:color(display-p3 .31 .261 .07);--yellow-7:color(display-p3 .389 .331 .135);--yellow-8:color(display-p3 .497 .42 .182);--yellow-9:color(display-p3 1 .92 .22);--yellow-10:color(display-p3 1 1 .456);--yellow-11:color(display-p3 .948 .885 .392);--yellow-12:color(display-p3 .959 .934 .731)}}}:root,.light,.light-theme{--yellow-a1:#aaaa0006;--yellow-a2:#f4dd0016;--yellow-a3:#ffee0047;--yellow-a4:#ffe3016b;--yellow-a5:#ffd5008f;--yellow-a6:#ebbc0097;--yellow-a7:#d2a10098;--yellow-a8:#c99700c6;--yellow-a9:#ffe100d6;--yellow-a10:#ffdc00;--yellow-a11:#9e6c00;--yellow-a12:#2e2000e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--yellow-a1:color(display-p3 .675 .675 .024/.024);--yellow-a2:color(display-p3 .953 .855 .008/.079);--yellow-a3:color(display-p3 .988 .925 .004/.251);--yellow-a4:color(display-p3 .98 .875 .004/.373);--yellow-a5:color(display-p3 .969 .816 .004/.491);--yellow-a6:color(display-p3 .875 .71 0/.526);--yellow-a7:color(display-p3 .769 .604 0/.542);--yellow-a8:color(display-p3 .725 .549 0/.687);--yellow-a9:color(display-p3 1 .898 0/.781);--yellow-a10:color(display-p3 .969 .812 0/.71);--yellow-a11:color(display-p3 .6 .44 0);--yellow-a12:color(display-p3 .271 .233 .137)}}}.dark,.dark-theme{--yellow-a1:#d1510004;--yellow-a2:#f9b4000b;--yellow-a3:#ffaa001e;--yellow-a4:#fdb70028;--yellow-a5:#febb0036;--yellow-a6:#fec40046;--yellow-a7:#fdcb225c;--yellow-a8:#fdca327b;--yellow-a9:#ffe629;--yellow-a10:#ffff57;--yellow-a11:#fee949f5;--yellow-a12:#fef6baf6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--yellow-a1:color(display-p3 .973 .369 0/.013);--yellow-a2:color(display-p3 .996 .792 0/.038);--yellow-a3:color(display-p3 .996 .71 0/.11);--yellow-a4:color(display-p3 .996 .741 0/.152);--yellow-a5:color(display-p3 .996 .765 0/.202);--yellow-a6:color(display-p3 .996 .816 .082/.261);--yellow-a7:color(display-p3 1 .831 .263/.345);--yellow-a8:color(display-p3 1 .831 .314/.463);--yellow-a9:color(display-p3 1 .922 .22);--yellow-a10:color(display-p3 1 1 .455);--yellow-a11:color(display-p3 .948 .885 .392);--yellow-a12:color(display-p3 .959 .934 .731)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-1:color(display-p3 .082 .07 .05);--amber-2:color(display-p3 .111 .094 .064);--amber-3:color(display-p3 .178 .128 .049);--amber-4:color(display-p3 .239 .156 0);--amber-5:color(display-p3 .29 .193 0);--amber-6:color(display-p3 .344 .245 .076);--amber-7:color(display-p3 .422 .314 .141);--amber-8:color(display-p3 .535 .399 .189);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 1 .87 .15);--amber-11:color(display-p3 1 .8 .29);--amber-12:color(display-p3 .984 .909 .726)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-a1:color(display-p3 .992 .298 0/.017);--amber-a2:color(display-p3 .988 .651 0/.047);--amber-a3:color(display-p3 1 .6 0/.118);--amber-a4:color(display-p3 1 .557 0/.185);--amber-a5:color(display-p3 1 .592 0/.24);--amber-a6:color(display-p3 1 .659 .094/.299);--amber-a7:color(display-p3 1 .714 .263/.383);--amber-a8:color(display-p3 .996 .729 .306/.5);--amber-a9:color(display-p3 1 .769 .259);--amber-a10:color(display-p3 1 .871 .149);--amber-a11:color(display-p3 1 .8 .29);--amber-a12:color(display-p3 .984 .909 .726)}}}:root,.light,.light-theme{--gold-1:#fdfdfc;--gold-2:#faf9f2;--gold-3:#f2f0e7;--gold-4:#eae6db;--gold-5:#e1dccf;--gold-6:#d8d0bf;--gold-7:#cbc0aa;--gold-8:#b9a88d;--gold-9:#978365;--gold-10:#8c7a5e;--gold-11:#71624b;--gold-12:#3b352b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gold-1:color(display-p3 .992 .992 .989);--gold-2:color(display-p3 .98 .976 .953);--gold-3:color(display-p3 .947 .94 .909);--gold-4:color(display-p3 .914 .904 .865);--gold-5:color(display-p3 .88 .865 .816);--gold-6:color(display-p3 .84 .818 .756);--gold-7:color(display-p3 .788 .753 .677);--gold-8:color(display-p3 .715 .66 .565);--gold-9:color(display-p3 .579 .517 .41);--gold-10:color(display-p3 .538 .479 .38);--gold-11:color(display-p3 .433 .386 .305);--gold-12:color(display-p3 .227 .209 .173)}}}.dark,.dark-theme{--gold-1:#121211;--gold-2:#1b1a17;--gold-3:#24231f;--gold-4:#2d2b26;--gold-5:#38352e;--gold-6:#444039;--gold-7:#544f46;--gold-8:#696256;--gold-9:#978365;--gold-10:#a39073;--gold-11:#cbb99f;--gold-12:#e8e2d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gold-1:color(display-p3 .071 .071 .067);--gold-2:color(display-p3 .104 .101 .09);--gold-3:color(display-p3 .141 .136 .122);--gold-4:color(display-p3 .177 .17 .152);--gold-5:color(display-p3 .217 .207 .185);--gold-6:color(display-p3 .265 .252 .225);--gold-7:color(display-p3 .327 .31 .277);--gold-8:color(display-p3 .407 .384 .342);--gold-9:color(display-p3 .579 .517 .41);--gold-10:color(display-p3 .628 .566 .463);--gold-11:color(display-p3 .784 .728 .635);--gold-12:color(display-p3 .906 .887 .855)}}}:root,.light,.light-theme{--gold-a1:#55550003;--gold-a2:#9d8a000d;--gold-a3:#75600018;--gold-a4:#6b4e0024;--gold-a5:#60460030;--gold-a6:#64440040;--gold-a7:#63420055;--gold-a8:#633d0072;--gold-a9:#5332009a;--gold-a10:#492d00a1;--gold-a11:#362100b4;--gold-a12:#130c00d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gold-a1:color(display-p3 .349 .349 .024/.012);--gold-a2:color(display-p3 .592 .514 .024/.048);--gold-a3:color(display-p3 .4 .357 .012/.091);--gold-a4:color(display-p3 .357 .298 .008/.134);--gold-a5:color(display-p3 .345 .282 .004/.185);--gold-a6:color(display-p3 .341 .263 .004/.244);--gold-a7:color(display-p3 .345 .235 .004/.322);--gold-a8:color(display-p3 .345 .22 .004/.436);--gold-a9:color(display-p3 .286 .18 0/.589);--gold-a10:color(display-p3 .255 .161 0/.62);--gold-a11:color(display-p3 .433 .386 .305);--gold-a12:color(display-p3 .227 .209 .173)}}}.dark,.dark-theme{--gold-a1:#91911102;--gold-a2:#f9e29d0b;--gold-a3:#f8ecbb15;--gold-a4:#ffeec41e;--gold-a5:#feecc22a;--gold-a6:#feebcb37;--gold-a7:#ffedcd48;--gold-a8:#fdeaca5f;--gold-a9:#ffdba690;--gold-a10:#fedfb09d;--gold-a11:#fee7c6c8;--gold-a12:#fef7ede7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gold-a1:color(display-p3 .855 .855 .071/.005);--gold-a2:color(display-p3 .98 .89 .616/.043);--gold-a3:color(display-p3 1 .949 .753/.08);--gold-a4:color(display-p3 1 .933 .8/.118);--gold-a5:color(display-p3 1 .949 .804/.16);--gold-a6:color(display-p3 1 .925 .8/.215);--gold-a7:color(display-p3 1 .945 .831/.278);--gold-a8:color(display-p3 1 .937 .82/.366);--gold-a9:color(display-p3 .996 .882 .69/.551);--gold-a10:color(display-p3 1 .894 .725/.601);--gold-a11:color(display-p3 .784 .728 .635);--gold-a12:color(display-p3 .906 .887 .855)}}}:root,.light,.light-theme{--bronze-1:#fdfcfc;--bronze-2:#fdf7f5;--bronze-3:#f6edea;--bronze-4:#efe4df;--bronze-5:#e7d9d3;--bronze-6:#dfcdc5;--bronze-7:#d3bcb3;--bronze-8:#c2a499;--bronze-9:#a18072;--bronze-10:#957468;--bronze-11:#7d5e54;--bronze-12:#43302b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--bronze-1:color(display-p3 .991 .988 .988);--bronze-2:color(display-p3 .989 .97 .961);--bronze-3:color(display-p3 .958 .932 .919);--bronze-4:color(display-p3 .929 .894 .877);--bronze-5:color(display-p3 .898 .853 .832);--bronze-6:color(display-p3 .861 .805 .778);--bronze-7:color(display-p3 .812 .739 .706);--bronze-8:color(display-p3 .741 .647 .606);--bronze-9:color(display-p3 .611 .507 .455);--bronze-10:color(display-p3 .563 .461 .414);--bronze-11:color(display-p3 .471 .373 .336);--bronze-12:color(display-p3 .251 .191 .172)}}}.dark,.dark-theme{--bronze-1:#141110;--bronze-2:#1c1917;--bronze-3:#262220;--bronze-4:#302a27;--bronze-5:#3b3330;--bronze-6:#493e3a;--bronze-7:#5a4c47;--bronze-8:#6f5f58;--bronze-9:#a18072;--bronze-10:#ae8c7e;--bronze-11:#d4b3a5;--bronze-12:#ede0d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--bronze-1:color(display-p3 .076 .067 .063);--bronze-2:color(display-p3 .106 .097 .093);--bronze-3:color(display-p3 .147 .132 .125);--bronze-4:color(display-p3 .185 .166 .156);--bronze-5:color(display-p3 .227 .202 .19);--bronze-6:color(display-p3 .278 .246 .23);--bronze-7:color(display-p3 .343 .302 .281);--bronze-8:color(display-p3 .426 .374 .347);--bronze-9:color(display-p3 .611 .507 .455);--bronze-10:color(display-p3 .66 .556 .504);--bronze-11:color(display-p3 .81 .707 .655);--bronze-12:color(display-p3 .921 .88 .854)}}}:root,.light,.light-theme{--bronze-a1:#55000003;--bronze-a2:#cc33000a;--bronze-a3:#92250015;--bronze-a4:#80280020;--bronze-a5:#7423002c;--bronze-a6:#7324003a;--bronze-a7:#6c1f004c;--bronze-a8:#671c0066;--bronze-a9:#551a008d;--bronze-a10:#4c150097;--bronze-a11:#3d0f00ab;--bronze-a12:#1d0600d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--bronze-a1:color(display-p3 .349 .024 .024/.012);--bronze-a2:color(display-p3 .71 .22 .024/.04);--bronze-a3:color(display-p3 .482 .2 .008/.083);--bronze-a4:color(display-p3 .424 .133 .004/.122);--bronze-a5:color(display-p3 .4 .145 .004/.169);--bronze-a6:color(display-p3 .388 .125 .004/.224);--bronze-a7:color(display-p3 .365 .11 .004/.295);--bronze-a8:color(display-p3 .341 .102 .004/.393);--bronze-a9:color(display-p3 .29 .094 0/.546);--bronze-a10:color(display-p3 .255 .082 0/.585);--bronze-a11:color(display-p3 .471 .373 .336);--bronze-a12:color(display-p3 .251 .191 .172)}}}.dark,.dark-theme{--bronze-a1:#d1110004;--bronze-a2:#fbbc910c;--bronze-a3:#faceb817;--bronze-a4:#facdb622;--bronze-a5:#ffd2c12d;--bronze-a6:#ffd1c03c;--bronze-a7:#fdd0c04f;--bronze-a8:#ffd6c565;--bronze-a9:#fec7b09b;--bronze-a10:#fecab5a9;--bronze-a11:#ffd7c6d1;--bronze-a12:#fff1e9ec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--bronze-a1:color(display-p3 .941 .067 0/.009);--bronze-a2:color(display-p3 .98 .8 .706/.043);--bronze-a3:color(display-p3 .988 .851 .761/.085);--bronze-a4:color(display-p3 .996 .839 .78/.127);--bronze-a5:color(display-p3 .996 .863 .773/.173);--bronze-a6:color(display-p3 1 .863 .796/.227);--bronze-a7:color(display-p3 1 .867 .8/.295);--bronze-a8:color(display-p3 1 .859 .788/.387);--bronze-a9:color(display-p3 1 .82 .733/.585);--bronze-a10:color(display-p3 1 .839 .761/.635);--bronze-a11:color(display-p3 .81 .707 .655);--bronze-a12:color(display-p3 .921 .88 .854)}}}:root,.light,.light-theme{--gray-1:#fcfcfc;--gray-2:#f9f9f9;--gray-3:#f0f0f0;--gray-4:#e8e8e8;--gray-5:#e0e0e0;--gray-6:#d9d9d9;--gray-7:#cecece;--gray-8:#bbb;--gray-9:#8d8d8d;--gray-10:#838383;--gray-11:#646464;--gray-12:#202020}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-1:color(display-p3 .988 .988 .988);--gray-2:color(display-p3 .975 .975 .975);--gray-3:color(display-p3 .939 .939 .939);--gray-4:color(display-p3 .908 .908 .908);--gray-5:color(display-p3 .88 .88 .88);--gray-6:color(display-p3 .849 .849 .849);--gray-7:color(display-p3 .807 .807 .807);--gray-8:color(display-p3 .732 .732 .732);--gray-9:color(display-p3 .553 .553 .553);--gray-10:color(display-p3 .512 .512 .512);--gray-11:color(display-p3 .392 .392 .392);--gray-12:color(display-p3 .125 .125 .125)}}}.dark,.dark-theme{--gray-1:#111;--gray-2:#191919;--gray-3:#222;--gray-4:#2a2a2a;--gray-5:#313131;--gray-6:#3a3a3a;--gray-7:#484848;--gray-8:#606060;--gray-9:#6e6e6e;--gray-10:#7b7b7b;--gray-11:#b4b4b4;--gray-12:#eee}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-1:color(display-p3 .067 .067 .067);--gray-2:color(display-p3 .098 .098 .098);--gray-3:color(display-p3 .135 .135 .135);--gray-4:color(display-p3 .163 .163 .163);--gray-5:color(display-p3 .192 .192 .192);--gray-6:color(display-p3 .228 .228 .228);--gray-7:color(display-p3 .283 .283 .283);--gray-8:color(display-p3 .375 .375 .375);--gray-9:color(display-p3 .431 .431 .431);--gray-10:color(display-p3 .484 .484 .484);--gray-11:color(display-p3 .706 .706 .706);--gray-12:color(display-p3 .933 .933 .933)}}}:root,.light,.light-theme{--gray-a1:#00000003;--gray-a2:#00000006;--gray-a3:#0000000f;--gray-a4:#00000017;--gray-a5:#0000001f;--gray-a6:#00000026;--gray-a7:#00000031;--gray-a8:#0004;--gray-a9:#00000072;--gray-a10:#0000007c;--gray-a11:#0000009b;--gray-a12:#000000df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-a1:color(display-p3 0 0 0/.012);--gray-a2:color(display-p3 0 0 0/.024);--gray-a3:color(display-p3 0 0 0/.063);--gray-a4:color(display-p3 0 0 0/.09);--gray-a5:color(display-p3 0 0 0/.122);--gray-a6:color(display-p3 0 0 0/.153);--gray-a7:color(display-p3 0 0 0/.192);--gray-a8:color(display-p3 0 0 0/.267);--gray-a9:color(display-p3 0 0 0/.447);--gray-a10:color(display-p3 0 0 0/.486);--gray-a11:color(display-p3 0 0 0/.608);--gray-a12:color(display-p3 0 0 0/.875)}}}.dark,.dark-theme{--gray-a1:#0000;--gray-a2:#ffffff09;--gray-a3:#ffffff12;--gray-a4:#ffffff1b;--gray-a5:#fff2;--gray-a6:#ffffff2c;--gray-a7:#ffffff3b;--gray-a8:#fff5;--gray-a9:#ffffff64;--gray-a10:#ffffff72;--gray-a11:#ffffffaf;--gray-a12:#ffffffed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-a1:color(display-p3 0 0 0/0);--gray-a2:color(display-p3 1 1 1/.034);--gray-a3:color(display-p3 1 1 1/.071);--gray-a4:color(display-p3 1 1 1/.105);--gray-a5:color(display-p3 1 1 1/.134);--gray-a6:color(display-p3 1 1 1/.172);--gray-a7:color(display-p3 1 1 1/.231);--gray-a8:color(display-p3 1 1 1/.332);--gray-a9:color(display-p3 1 1 1/.391);--gray-a10:color(display-p3 1 1 1/.445);--gray-a11:color(display-p3 1 1 1/.685);--gray-a12:color(display-p3 1 1 1/.929)}}}:root,.light,.light-theme{--mauve-1:#fdfcfd;--mauve-2:#faf9fb;--mauve-3:#f2eff3;--mauve-4:#eae7ec;--mauve-5:#e3dfe6;--mauve-6:#dbd8e0;--mauve-7:#d0cdd7;--mauve-8:#bcbac7;--mauve-9:#8e8c99;--mauve-10:#84828e;--mauve-11:#65636d;--mauve-12:#211f26}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mauve-1:color(display-p3 .991 .988 .992);--mauve-2:color(display-p3 .98 .976 .984);--mauve-3:color(display-p3 .946 .938 .952);--mauve-4:color(display-p3 .915 .906 .925);--mauve-5:color(display-p3 .886 .876 .901);--mauve-6:color(display-p3 .856 .846 .875);--mauve-7:color(display-p3 .814 .804 .84);--mauve-8:color(display-p3 .735 .728 .777);--mauve-9:color(display-p3 .555 .549 .596);--mauve-10:color(display-p3 .514 .508 .552);--mauve-11:color(display-p3 .395 .388 .424);--mauve-12:color(display-p3 .128 .122 .147)}}}.dark,.dark-theme{--mauve-1:#121113;--mauve-2:#1a191b;--mauve-3:#232225;--mauve-4:#2b292d;--mauve-5:#323035;--mauve-6:#3c393f;--mauve-7:#49474e;--mauve-8:#625f69;--mauve-9:#6f6d78;--mauve-10:#7c7a85;--mauve-11:#b5b2bc;--mauve-12:#eeeef0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mauve-1:color(display-p3 .07 .067 .074);--mauve-2:color(display-p3 .101 .098 .105);--mauve-3:color(display-p3 .138 .134 .144);--mauve-4:color(display-p3 .167 .161 .175);--mauve-5:color(display-p3 .196 .189 .206);--mauve-6:color(display-p3 .232 .225 .245);--mauve-7:color(display-p3 .286 .277 .302);--mauve-8:color(display-p3 .383 .373 .408);--mauve-9:color(display-p3 .434 .428 .467);--mauve-10:color(display-p3 .487 .48 .519);--mauve-11:color(display-p3 .707 .7 .735);--mauve-12:color(display-p3 .933 .933 .94)}}}:root,.light,.light-theme{--mauve-a1:#55005503;--mauve-a2:#2b005506;--mauve-a3:#30004010;--mauve-a4:#20003618;--mauve-a5:#20003820;--mauve-a6:#14003527;--mauve-a7:#10003332;--mauve-a8:#08003145;--mauve-a9:#05001d73;--mauve-a10:#0500197d;--mauve-a11:#0400119c;--mauve-a12:#020008e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mauve-a1:color(display-p3 .349 .024 .349/.012);--mauve-a2:color(display-p3 .184 .024 .349/.024);--mauve-a3:color(display-p3 .129 .008 .255/.063);--mauve-a4:color(display-p3 .094 .012 .216/.095);--mauve-a5:color(display-p3 .098 .008 .224/.126);--mauve-a6:color(display-p3 .055 .004 .18/.153);--mauve-a7:color(display-p3 .067 .008 .184/.197);--mauve-a8:color(display-p3 .02 .004 .176/.271);--mauve-a9:color(display-p3 .02 .004 .106/.451);--mauve-a10:color(display-p3 .012 .004 .09/.491);--mauve-a11:color(display-p3 .016 0 .059/.612);--mauve-a12:color(display-p3 .008 0 .027/.879)}}}.dark,.dark-theme{--mauve-a1:#0000;--mauve-a2:#f5f4f609;--mauve-a3:#ebeaf814;--mauve-a4:#eee5f81d;--mauve-a5:#efe6fe25;--mauve-a6:#f1e6fd30;--mauve-a7:#eee9ff40;--mauve-a8:#eee7ff5d;--mauve-a9:#eae6fd6e;--mauve-a10:#ece9fd7c;--mauve-a11:#f5f1ffb7;--mauve-a12:#fdfdffef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mauve-a1:color(display-p3 0 0 0/0);--mauve-a2:color(display-p3 .996 .992 1/.034);--mauve-a3:color(display-p3 .937 .933 .992/.077);--mauve-a4:color(display-p3 .957 .918 .996/.111);--mauve-a5:color(display-p3 .937 .906 .996/.145);--mauve-a6:color(display-p3 .953 .925 .996/.183);--mauve-a7:color(display-p3 .945 .929 1/.246);--mauve-a8:color(display-p3 .937 .918 1/.361);--mauve-a9:color(display-p3 .933 .918 1/.424);--mauve-a10:color(display-p3 .941 .925 1/.479);--mauve-a11:color(display-p3 .965 .961 1/.712);--mauve-a12:color(display-p3 .992 .992 1/.937)}}}:root,.light,.light-theme{--slate-1:#fcfcfd;--slate-2:#f9f9fb;--slate-3:#f0f0f3;--slate-4:#e8e8ec;--slate-5:#e0e1e6;--slate-6:#d9d9e0;--slate-7:#cdced6;--slate-8:#b9bbc6;--slate-9:#8b8d98;--slate-10:#80838d;--slate-11:#60646c;--slate-12:#1c2024}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--slate-1:color(display-p3 .988 .988 .992);--slate-2:color(display-p3 .976 .976 .984);--slate-3:color(display-p3 .94 .941 .953);--slate-4:color(display-p3 .908 .909 .925);--slate-5:color(display-p3 .88 .881 .901);--slate-6:color(display-p3 .85 .852 .876);--slate-7:color(display-p3 .805 .808 .838);--slate-8:color(display-p3 .727 .733 .773);--slate-9:color(display-p3 .547 .553 .592);--slate-10:color(display-p3 .503 .512 .549);--slate-11:color(display-p3 .379 .392 .421);--slate-12:color(display-p3 .113 .125 .14)}}}.dark,.dark-theme{--slate-1:#111113;--slate-2:#18191b;--slate-3:#212225;--slate-4:#272a2d;--slate-5:#2e3135;--slate-6:#363a3f;--slate-7:#43484e;--slate-8:#5a6169;--slate-9:#696e77;--slate-10:#777b84;--slate-11:#b0b4ba;--slate-12:#edeef0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--slate-1:color(display-p3 .067 .067 .074);--slate-2:color(display-p3 .095 .098 .105);--slate-3:color(display-p3 .13 .135 .145);--slate-4:color(display-p3 .156 .163 .176);--slate-5:color(display-p3 .183 .191 .206);--slate-6:color(display-p3 .215 .226 .244);--slate-7:color(display-p3 .265 .28 .302);--slate-8:color(display-p3 .357 .381 .409);--slate-9:color(display-p3 .415 .431 .463);--slate-10:color(display-p3 .469 .483 .514);--slate-11:color(display-p3 .692 .704 .728);--slate-12:color(display-p3 .93 .933 .94)}}}:root,.light,.light-theme{--slate-a1:#00005503;--slate-a2:#00005506;--slate-a3:#0000330f;--slate-a4:#00002d17;--slate-a5:#0009321f;--slate-a6:#00002f26;--slate-a7:#00062e32;--slate-a8:#00083046;--slate-a9:#00051d74;--slate-a10:#00071b7f;--slate-a11:#0007149f;--slate-a12:#000509e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--slate-a1:color(display-p3 .024 .024 .349/.012);--slate-a2:color(display-p3 .024 .024 .349/.024);--slate-a3:color(display-p3 .004 .004 .204/.059);--slate-a4:color(display-p3 .012 .012 .184/.091);--slate-a5:color(display-p3 .004 .039 .2/.122);--slate-a6:color(display-p3 .008 .008 .165/.15);--slate-a7:color(display-p3 .008 .027 .184/.197);--slate-a8:color(display-p3 .004 .031 .176/.275);--slate-a9:color(display-p3 .004 .02 .106/.455);--slate-a10:color(display-p3 .004 .027 .098/.499);--slate-a11:color(display-p3 0 .02 .063/.62);--slate-a12:color(display-p3 0 .012 .031/.887)}}}.dark,.dark-theme{--slate-a1:#0000;--slate-a2:#d8f4f609;--slate-a3:#ddeaf814;--slate-a4:#d3edf81d;--slate-a5:#d9edfe25;--slate-a6:#d6ebfd30;--slate-a7:#d9edff40;--slate-a8:#d9edff5d;--slate-a9:#dfebfd6d;--slate-a10:#e5edfd7b;--slate-a11:#f1f7feb5;--slate-a12:#fcfdffef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--slate-a1:color(display-p3 0 0 0/0);--slate-a2:color(display-p3 .875 .992 1/.034);--slate-a3:color(display-p3 .882 .933 .992/.077);--slate-a4:color(display-p3 .882 .953 .996/.111);--slate-a5:color(display-p3 .878 .929 .996/.145);--slate-a6:color(display-p3 .882 .949 .996/.183);--slate-a7:color(display-p3 .882 .929 1/.246);--slate-a8:color(display-p3 .871 .937 1/.361);--slate-a9:color(display-p3 .898 .937 1/.42);--slate-a10:color(display-p3 .918 .945 1/.475);--slate-a11:color(display-p3 .949 .969 .996/.708);--slate-a12:color(display-p3 .988 .992 1/.937)}}}:root,.light,.light-theme{--sage-1:#fbfdfc;--sage-2:#f7f9f8;--sage-3:#eef1f0;--sage-4:#e6e9e8;--sage-5:#dfe2e0;--sage-6:#d7dad9;--sage-7:#cbcfcd;--sage-8:#b8bcba;--sage-9:#868e8b;--sage-10:#7c8481;--sage-11:#5f6563;--sage-12:#1a211e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sage-1:color(display-p3 .986 .992 .988);--sage-2:color(display-p3 .97 .977 .974);--sage-3:color(display-p3 .935 .944 .94);--sage-4:color(display-p3 .904 .913 .909);--sage-5:color(display-p3 .875 .885 .88);--sage-6:color(display-p3 .844 .854 .849);--sage-7:color(display-p3 .8 .811 .806);--sage-8:color(display-p3 .725 .738 .732);--sage-9:color(display-p3 .531 .556 .546);--sage-10:color(display-p3 .492 .515 .506);--sage-11:color(display-p3 .377 .395 .389);--sage-12:color(display-p3 .107 .129 .118)}}}.dark,.dark-theme{--sage-1:#101211;--sage-2:#171918;--sage-3:#202221;--sage-4:#272a29;--sage-5:#2e3130;--sage-6:#373b39;--sage-7:#444947;--sage-8:#5b625f;--sage-9:#63706b;--sage-10:#717d79;--sage-11:#adb5b2;--sage-12:#eceeed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sage-1:color(display-p3 .064 .07 .067);--sage-2:color(display-p3 .092 .098 .094);--sage-3:color(display-p3 .128 .135 .131);--sage-4:color(display-p3 .155 .164 .159);--sage-5:color(display-p3 .183 .193 .188);--sage-6:color(display-p3 .218 .23 .224);--sage-7:color(display-p3 .269 .285 .277);--sage-8:color(display-p3 .362 .382 .373);--sage-9:color(display-p3 .398 .438 .421);--sage-10:color(display-p3 .453 .49 .474);--sage-11:color(display-p3 .685 .709 .697);--sage-12:color(display-p3 .927 .933 .93)}}}:root,.light,.light-theme{--sage-a1:#00804004;--sage-a2:#00402008;--sage-a3:#002d1e11;--sage-a4:#001f1519;--sage-a5:#00180820;--sage-a6:#00140d28;--sage-a7:#00140a34;--sage-a8:#000f0847;--sage-a9:#00110b79;--sage-a10:#00100a83;--sage-a11:#000a07a0;--sage-a12:#000805e5}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sage-a1:color(display-p3 .024 .514 .267/.016);--sage-a2:color(display-p3 .02 .267 .145/.032);--sage-a3:color(display-p3 .008 .184 .125/.067);--sage-a4:color(display-p3 .012 .094 .051/.095);--sage-a5:color(display-p3 .008 .098 .035/.126);--sage-a6:color(display-p3 .004 .078 .027/.157);--sage-a7:color(display-p3 0 .059 .039/.2);--sage-a8:color(display-p3 .004 .047 .031/.275);--sage-a9:color(display-p3 .004 .059 .035/.471);--sage-a10:color(display-p3 0 .047 .031/.51);--sage-a11:color(display-p3 0 .031 .02/.624);--sage-a12:color(display-p3 0 .027 .012/.895)}}}.dark,.dark-theme{--sage-a1:#0000;--sage-a2:#f0f2f108;--sage-a3:#f3f5f412;--sage-a4:#f2fefd1a;--sage-a5:#f1fbfa22;--sage-a6:#edfbf42d;--sage-a7:#edfcf73c;--sage-a8:#ebfdf657;--sage-a9:#dffdf266;--sage-a10:#e5fdf674;--sage-a11:#f4fefbb0;--sage-a12:#fdfffeed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sage-a1:color(display-p3 0 0 0/0);--sage-a2:color(display-p3 .976 .988 .984/.03);--sage-a3:color(display-p3 .992 .945 .941/.072);--sage-a4:color(display-p3 .988 .996 .992/.102);--sage-a5:color(display-p3 .992 1 .996/.131);--sage-a6:color(display-p3 .973 1 .976/.173);--sage-a7:color(display-p3 .957 1 .976/.233);--sage-a8:color(display-p3 .957 1 .984/.334);--sage-a9:color(display-p3 .902 1 .957/.397);--sage-a10:color(display-p3 .929 1 .973/.452);--sage-a11:color(display-p3 .969 1 .988/.688);--sage-a12:color(display-p3 .992 1 .996/.929)}}}:root,.light,.light-theme{--olive-1:#fcfdfc;--olive-2:#f8faf8;--olive-3:#eff1ef;--olive-4:#e7e9e7;--olive-5:#dfe2df;--olive-6:#d7dad7;--olive-7:#cccfcc;--olive-8:#b9bcb8;--olive-9:#898e87;--olive-10:#7f847d;--olive-11:#60655f;--olive-12:#1d211c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-1:color(display-p3 .989 .992 .989);--olive-2:color(display-p3 .974 .98 .973);--olive-3:color(display-p3 .939 .945 .937);--olive-4:color(display-p3 .907 .914 .905);--olive-5:color(display-p3 .878 .885 .875);--olive-6:color(display-p3 .846 .855 .843);--olive-7:color(display-p3 .803 .812 .8);--olive-8:color(display-p3 .727 .738 .723);--olive-9:color(display-p3 .541 .556 .532);--olive-10:color(display-p3 .5 .515 .491);--olive-11:color(display-p3 .38 .395 .374);--olive-12:color(display-p3 .117 .129 .111)}}}.dark,.dark-theme{--olive-1:#111210;--olive-2:#181917;--olive-3:#212220;--olive-4:#282a27;--olive-5:#2f312e;--olive-6:#383a36;--olive-7:#454843;--olive-8:#5c625b;--olive-9:#687066;--olive-10:#767d74;--olive-11:#afb5ad;--olive-12:#eceeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-1:color(display-p3 .067 .07 .063);--olive-2:color(display-p3 .095 .098 .091);--olive-3:color(display-p3 .131 .135 .126);--olive-4:color(display-p3 .158 .163 .153);--olive-5:color(display-p3 .186 .192 .18);--olive-6:color(display-p3 .221 .229 .215);--olive-7:color(display-p3 .273 .284 .266);--olive-8:color(display-p3 .365 .382 .359);--olive-9:color(display-p3 .414 .438 .404);--olive-10:color(display-p3 .467 .49 .458);--olive-11:color(display-p3 .69 .709 .682);--olive-12:color(display-p3 .927 .933 .926)}}}:root,.light,.light-theme{--olive-a1:#00550003;--olive-a2:#00490007;--olive-a3:#00200010;--olive-a4:#00160018;--olive-a5:#00180020;--olive-a6:#00140028;--olive-a7:#000f0033;--olive-a8:#040f0047;--olive-a9:#050f0078;--olive-a10:#040e0082;--olive-a11:#020a00a0;--olive-a12:#010600e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-a1:color(display-p3 .024 .349 .024/.012);--olive-a2:color(display-p3 .024 .302 .024/.028);--olive-a3:color(display-p3 .008 .129 .008/.063);--olive-a4:color(display-p3 .012 .094 .012/.095);--olive-a5:color(display-p3 .035 .098 .008/.126);--olive-a6:color(display-p3 .027 .078 .004/.157);--olive-a7:color(display-p3 .02 .059 0/.2);--olive-a8:color(display-p3 .02 .059 .004/.279);--olive-a9:color(display-p3 .02 .051 .004/.467);--olive-a10:color(display-p3 .024 .047 0/.51);--olive-a11:color(display-p3 .012 .039 0/.628);--olive-a12:color(display-p3 .008 .024 0/.891)}}}.dark,.dark-theme{--olive-a1:#0000;--olive-a2:#f1f2f008;--olive-a3:#f4f5f312;--olive-a4:#f3fef21a;--olive-a5:#f2fbf122;--olive-a6:#f4faed2c;--olive-a7:#f2fced3b;--olive-a8:#edfdeb57;--olive-a9:#ebfde766;--olive-a10:#f0fdec74;--olive-a11:#f6fef4b0;--olive-a12:#fdfffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-a1:color(display-p3 0 0 0/0);--olive-a2:color(display-p3 .984 .988 .976/.03);--olive-a3:color(display-p3 .992 .996 .988/.068);--olive-a4:color(display-p3 .953 .996 .949/.102);--olive-a5:color(display-p3 .969 1 .965/.131);--olive-a6:color(display-p3 .973 1 .969/.169);--olive-a7:color(display-p3 .98 1 .961/.228);--olive-a8:color(display-p3 .961 1 .957/.334);--olive-a9:color(display-p3 .949 1 .922/.397);--olive-a10:color(display-p3 .953 1 .941/.452);--olive-a11:color(display-p3 .976 1 .965/.688);--olive-a12:color(display-p3 .992 1 .992/.929)}}}:root,.light,.light-theme{--sand-1:#fdfdfc;--sand-2:#f9f9f8;--sand-3:#f1f0ef;--sand-4:#e9e8e6;--sand-5:#e2e1de;--sand-6:#dad9d6;--sand-7:#cfceca;--sand-8:#bcbbb5;--sand-9:#8d8d86;--sand-10:#82827c;--sand-11:#63635e;--sand-12:#21201c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-1:color(display-p3 .992 .992 .989);--sand-2:color(display-p3 .977 .977 .973);--sand-3:color(display-p3 .943 .942 .936);--sand-4:color(display-p3 .913 .912 .903);--sand-5:color(display-p3 .885 .883 .873);--sand-6:color(display-p3 .854 .852 .839);--sand-7:color(display-p3 .813 .81 .794);--sand-8:color(display-p3 .738 .734 .713);--sand-9:color(display-p3 .553 .553 .528);--sand-10:color(display-p3 .511 .511 .488);--sand-11:color(display-p3 .388 .388 .37);--sand-12:color(display-p3 .129 .126 .111)}}}.dark,.dark-theme{--sand-1:#111110;--sand-2:#191918;--sand-3:#222221;--sand-4:#2a2a28;--sand-5:#31312e;--sand-6:#3b3a37;--sand-7:#494844;--sand-8:#62605b;--sand-9:#6f6d66;--sand-10:#7c7b74;--sand-11:#b5b3ad;--sand-12:#eeeeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sand-1:color(display-p3 .067 .067 .063);--sand-2:color(display-p3 .098 .098 .094);--sand-3:color(display-p3 .135 .135 .129);--sand-4:color(display-p3 .164 .163 .156);--sand-5:color(display-p3 .193 .192 .183);--sand-6:color(display-p3 .23 .229 .217);--sand-7:color(display-p3 .285 .282 .267);--sand-8:color(display-p3 .384 .378 .357);--sand-9:color(display-p3 .434 .428 .403);--sand-10:color(display-p3 .487 .481 .456);--sand-11:color(display-p3 .707 .703 .68);--sand-12:color(display-p3 .933 .933 .926)}}}:root,.light,.light-theme{--sand-a1:#55550003;--sand-a2:#25250007;--sand-a3:#20100010;--sand-a4:#1f150019;--sand-a5:#1f180021;--sand-a6:#19130029;--sand-a7:#19140035;--sand-a8:#1915014a;--sand-a9:#0f0f0079;--sand-a10:#0c0c0083;--sand-a11:#080800a1;--sand-a12:#060500e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-a1:color(display-p3 .349 .349 .024/.012);--sand-a2:color(display-p3 .161 .161 .024/.028);--sand-a3:color(display-p3 .067 .067 .008/.063);--sand-a4:color(display-p3 .129 .129 .012/.099);--sand-a5:color(display-p3 .098 .067 .008/.126);--sand-a6:color(display-p3 .102 .075 .004/.161);--sand-a7:color(display-p3 .098 .098 .004/.208);--sand-a8:color(display-p3 .086 .075 .004/.287);--sand-a9:color(display-p3 .051 .051 .004/.471);--sand-a10:color(display-p3 .047 .047 0/.514);--sand-a11:color(display-p3 .031 .031 0/.632);--sand-a12:color(display-p3 .024 .02 0/.891)}}}.dark,.dark-theme{--sand-a1:#0000;--sand-a2:#f4f4f309;--sand-a3:#f6f6f513;--sand-a4:#fefef31b;--sand-a5:#fbfbeb23;--sand-a6:#fffaed2d;--sand-a7:#fffbed3c;--sand-a8:#fff9eb57;--sand-a9:#fffae965;--sand-a10:#fffdee73;--sand-a11:#fffcf4b0;--sand-a12:#fffffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sand-a1:color(display-p3 0 0 0/0);--sand-a2:color(display-p3 .992 .992 .988/.034);--sand-a3:color(display-p3 .996 .996 .992/.072);--sand-a4:color(display-p3 .992 .992 .953/.106);--sand-a5:color(display-p3 1 1 .965/.135);--sand-a6:color(display-p3 1 .976 .929/.177);--sand-a7:color(display-p3 1 .984 .929/.236);--sand-a8:color(display-p3 1 .976 .925/.341);--sand-a9:color(display-p3 1 .98 .925/.395);--sand-a10:color(display-p3 1 .992 .933/.45);--sand-a11:color(display-p3 1 .996 .961/.685);--sand-a12:color(display-p3 1 1 .992/.929)}}}:root{--black-a1:#0000000d;--black-a2:#0000001a;--black-a3:#00000026;--black-a4:#0003;--black-a5:#0000004d;--black-a6:#0006;--black-a7:#00000080;--black-a8:#0009;--black-a9:#000000b3;--black-a10:#000c;--black-a11:#000000e6;--black-a12:#000000f2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--black-a1:color(display-p3 0 0 0/.05);--black-a2:color(display-p3 0 0 0/.1);--black-a3:color(display-p3 0 0 0/.15);--black-a4:color(display-p3 0 0 0/.2);--black-a5:color(display-p3 0 0 0/.3);--black-a6:color(display-p3 0 0 0/.4);--black-a7:color(display-p3 0 0 0/.5);--black-a8:color(display-p3 0 0 0/.6);--black-a9:color(display-p3 0 0 0/.7);--black-a10:color(display-p3 0 0 0/.8);--black-a11:color(display-p3 0 0 0/.9);--black-a12:color(display-p3 0 0 0/.95)}}}:root{--white-a1:#ffffff0d;--white-a2:#ffffff1a;--white-a3:#ffffff26;--white-a4:#fff3;--white-a5:#ffffff4d;--white-a6:#fff6;--white-a7:#ffffff80;--white-a8:#fff9;--white-a9:#ffffffb3;--white-a10:#fffc;--white-a11:#ffffffe6;--white-a12:#fffffff2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--white-a1:color(display-p3 1 1 1/.05);--white-a2:color(display-p3 1 1 1/.1);--white-a3:color(display-p3 1 1 1/.15);--white-a4:color(display-p3 1 1 1/.2);--white-a5:color(display-p3 1 1 1/.3);--white-a6:color(display-p3 1 1 1/.4);--white-a7:color(display-p3 1 1 1/.5);--white-a8:color(display-p3 1 1 1/.6);--white-a9:color(display-p3 1 1 1/.7);--white-a10:color(display-p3 1 1 1/.8);--white-a11:color(display-p3 1 1 1/.9);--white-a12:color(display-p3 1 1 1/.95)}}}:root{--tomato-contrast:white;--red-contrast:white;--ruby-contrast:white;--crimson-contrast:white;--pink-contrast:white;--plum-contrast:white;--purple-contrast:white;--violet-contrast:white;--iris-contrast:white;--indigo-contrast:white;--blue-contrast:white;--cyan-contrast:white;--teal-contrast:white;--jade-contrast:white;--green-contrast:white;--grass-contrast:white;--orange-contrast:white;--brown-contrast:white;--sky-contrast:#1c2024;--mint-contrast:#1a211e;--lime-contrast:#1d211c;--yellow-contrast:#21201c;--amber-contrast:#21201c;--gold-contrast:white;--bronze-contrast:white;--gray-contrast:white}:root,.light,.light-theme{--gray-surface:#fffc;--mauve-surface:#fffc;--slate-surface:#fffc;--sage-surface:#fffc;--olive-surface:#fffc;--sand-surface:#fffc;--tomato-surface:#fff6f5cc;--red-surface:#fff5f5cc;--ruby-surface:#fff5f6cc;--crimson-surface:#fef5f8cc;--pink-surface:#fef5facc;--plum-surface:#fdf5fdcc;--purple-surface:#faf5fecc;--violet-surface:#f9f6ffcc;--iris-surface:#f6f6ffcc;--indigo-surface:#f5f8ffcc;--blue-surface:#f1f9ffcc;--cyan-surface:#eff9facc;--teal-surface:#f0faf8cc;--jade-surface:#f1faf5cc;--green-surface:#f1faf4cc;--grass-surface:#f3faf3cc;--brown-surface:#fbf8f4cc;--bronze-surface:#fdf5f3cc;--gold-surface:#f9f8efcc;--sky-surface:#eef9fdcc;--mint-surface:#effaf8cc;--lime-surface:#f6f9f0cc;--yellow-surface:#fefbe4cc;--amber-surface:#fefae4cc;--orange-surface:#fff5e9cc}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-surface:color(display-p3 1 1 1/.8);--mauve-surface:color(display-p3 1 1 1/.8);--slate-surface:color(display-p3 1 1 1/.8);--sage-surface:color(display-p3 1 1 1/.8);--olive-surface:color(display-p3 1 1 1/.8);--sand-surface:color(display-p3 1 1 1/.8);--tomato-surface:color(display-p3 .9922 .9647 .9608/.8);--red-surface:color(display-p3 .9961 .9647 .9647/.8);--ruby-surface:color(display-p3 .9961 .9647 .9647/.8);--crimson-surface:color(display-p3 .9922 .9608 .9725/.8);--pink-surface:color(display-p3 .9922 .9608 .9804/.8);--plum-surface:color(display-p3 .9843 .9647 .9843/.8);--purple-surface:color(display-p3 .9804 .9647 .9922/.8);--violet-surface:color(display-p3 .9725 .9647 .9961/.8);--iris-surface:color(display-p3 .9647 .9647 .9961/.8);--indigo-surface:color(display-p3 .9647 .9725 .9961/.8);--blue-surface:color(display-p3 .9529 .9765 .9961/.8);--cyan-surface:color(display-p3 .9412 .9765 .9804/.8);--teal-surface:color(display-p3 .9451 .9804 .9725/.8);--jade-surface:color(display-p3 .9529 .9804 .9608/.8);--green-surface:color(display-p3 .9569 .9804 .9608/.8);--grass-surface:color(display-p3 .9569 .9804 .9569/.8);--brown-surface:color(display-p3 .9843 .9725 .9569/.8);--bronze-surface:color(display-p3 .9843 .9608 .9529/.8);--gold-surface:color(display-p3 .9765 .9725 .9412/.8);--sky-surface:color(display-p3 .9412 .9765 .9843/.8);--mint-surface:color(display-p3 .9451 .9804 .9725/.8);--lime-surface:color(display-p3 .9725 .9765 .9412/.8);--yellow-surface:color(display-p3 .9961 .9922 .902/.8);--amber-surface:color(display-p3 .9922 .9843 .902/.8);--orange-surface:color(display-p3 .9961 .9608 .9176/.8)}}}.dark,.dark-theme{--gray-surface:#21212180;--mauve-surface:#22212380;--slate-surface:#1f212380;--sage-surface:#1e201f80;--olive-surface:#1f201e80;--sand-surface:#21212080;--tomato-surface:#2d191580;--red-surface:#2f151780;--ruby-surface:#2b191d80;--crimson-surface:#2f151f80;--pink-surface:#31132980;--plum-surface:#2f152f80;--purple-surface:#2b173580;--violet-surface:#25193980;--iris-surface:#1d1b3980;--indigo-surface:#171d3b80;--blue-surface:#11213d80;--cyan-surface:#11252d80;--teal-surface:#13272580;--jade-surface:#13271f80;--green-surface:#15251d80;--grass-surface:#19231b80;--brown-surface:#271f1b80;--bronze-surface:#27211d80;--gold-surface:#25231d80;--sky-surface:#13233b80;--mint-surface:#15272780;--lime-surface:#1b211580;--yellow-surface:#231f1380;--amber-surface:#271f1380;--orange-surface:#271d1380}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-surface:color(display-p3 .1255 .1255 .1255/.5);--mauve-surface:color(display-p3 .1333 .1255 .1333/.5);--slate-surface:color(display-p3 .1176 .1255 .1333/.5);--sage-surface:color(display-p3 .1176 .1255 .1176/.5);--olive-surface:color(display-p3 .1176 .1255 .1176/.5);--sand-surface:color(display-p3 .1255 .1255 .1255/.5);--tomato-surface:color(display-p3 .1569 .0941 .0784/.5);--red-surface:color(display-p3 .1647 .0863 .0863/.5);--ruby-surface:color(display-p3 .1569 .0941 .1098/.5);--crimson-surface:color(display-p3 .1647 .0863 .1176/.5);--pink-surface:color(display-p3 .1725 .0784 .149/.5);--plum-surface:color(display-p3 .1647 .0863 .1725/.5);--purple-surface:color(display-p3 .149 .0941 .1961/.5);--violet-surface:color(display-p3 .1333 .102 .2118/.5);--iris-surface:color(display-p3 .1098 .102 .2118/.5);--indigo-surface:color(display-p3 .0941 .1098 .2196/.5);--blue-surface:color(display-p3 .0706 .1255 .2196/.5);--cyan-surface:color(display-p3 .0784 .1412 .1725/.5);--teal-surface:color(display-p3 .0863 .149 .1412/.5);--jade-surface:color(display-p3 .0863 .149 .1176/.5);--green-surface:color(display-p3 .0941 .1412 .1098/.5);--grass-surface:color(display-p3 .102 .1333 .102/.5);--brown-surface:color(display-p3 .1412 .1176 .102/.5);--bronze-surface:color(display-p3 .1412 .1255 .1176/.5);--gold-surface:color(display-p3 .1412 .1333 .1098/.5);--sky-surface:color(display-p3 .0863 .1333 .2196/.5);--mint-surface:color(display-p3 .0941 .149 .1412/.5);--lime-surface:color(display-p3 .1098 .1255 .0784/.5);--yellow-surface:color(display-p3 .1333 .1176 .0706/.5);--amber-surface:color(display-p3 .1412 .1176 .0784/.5);--orange-surface:color(display-p3 .1412 .1098 .0706/.5)}}}[data-accent-color=tomato]{--color-surface-accent:var(--tomato-surface);--accent-1:var(--tomato-1);--accent-2:var(--tomato-2);--accent-3:var(--tomato-3);--accent-4:var(--tomato-4);--accent-5:var(--tomato-5);--accent-6:var(--tomato-6);--accent-7:var(--tomato-7);--accent-8:var(--tomato-8);--accent-9:var(--tomato-9);--accent-contrast:var(--tomato-contrast);--accent-10:var(--tomato-10);--accent-11:var(--tomato-11);--accent-12:var(--tomato-12);--accent-a1:var(--tomato-a1);--accent-a2:var(--tomato-a2);--accent-a3:var(--tomato-a3);--accent-a4:var(--tomato-a4);--accent-a5:var(--tomato-a5);--accent-a6:var(--tomato-a6);--accent-a7:var(--tomato-a7);--accent-a8:var(--tomato-a8);--accent-a9:var(--tomato-a9);--accent-a10:var(--tomato-a10);--accent-a11:var(--tomato-a11);--accent-a12:var(--tomato-a12)}[data-accent-color=red]{--color-surface-accent:var(--red-surface);--accent-1:var(--red-1);--accent-2:var(--red-2);--accent-3:var(--red-3);--accent-4:var(--red-4);--accent-5:var(--red-5);--accent-6:var(--red-6);--accent-7:var(--red-7);--accent-8:var(--red-8);--accent-9:var(--red-9);--accent-contrast:var(--red-contrast);--accent-10:var(--red-10);--accent-11:var(--red-11);--accent-12:var(--red-12);--accent-a1:var(--red-a1);--accent-a2:var(--red-a2);--accent-a3:var(--red-a3);--accent-a4:var(--red-a4);--accent-a5:var(--red-a5);--accent-a6:var(--red-a6);--accent-a7:var(--red-a7);--accent-a8:var(--red-a8);--accent-a9:var(--red-a9);--accent-a10:var(--red-a10);--accent-a11:var(--red-a11);--accent-a12:var(--red-a12)}[data-accent-color=ruby]{--color-surface-accent:var(--ruby-surface);--accent-1:var(--ruby-1);--accent-2:var(--ruby-2);--accent-3:var(--ruby-3);--accent-4:var(--ruby-4);--accent-5:var(--ruby-5);--accent-6:var(--ruby-6);--accent-7:var(--ruby-7);--accent-8:var(--ruby-8);--accent-9:var(--ruby-9);--accent-contrast:var(--ruby-contrast);--accent-10:var(--ruby-10);--accent-11:var(--ruby-11);--accent-12:var(--ruby-12);--accent-a1:var(--ruby-a1);--accent-a2:var(--ruby-a2);--accent-a3:var(--ruby-a3);--accent-a4:var(--ruby-a4);--accent-a5:var(--ruby-a5);--accent-a6:var(--ruby-a6);--accent-a7:var(--ruby-a7);--accent-a8:var(--ruby-a8);--accent-a9:var(--ruby-a9);--accent-a10:var(--ruby-a10);--accent-a11:var(--ruby-a11);--accent-a12:var(--ruby-a12)}[data-accent-color=crimson]{--color-surface-accent:var(--crimson-surface);--accent-1:var(--crimson-1);--accent-2:var(--crimson-2);--accent-3:var(--crimson-3);--accent-4:var(--crimson-4);--accent-5:var(--crimson-5);--accent-6:var(--crimson-6);--accent-7:var(--crimson-7);--accent-8:var(--crimson-8);--accent-9:var(--crimson-9);--accent-contrast:var(--crimson-contrast);--accent-10:var(--crimson-10);--accent-11:var(--crimson-11);--accent-12:var(--crimson-12);--accent-a1:var(--crimson-a1);--accent-a2:var(--crimson-a2);--accent-a3:var(--crimson-a3);--accent-a4:var(--crimson-a4);--accent-a5:var(--crimson-a5);--accent-a6:var(--crimson-a6);--accent-a7:var(--crimson-a7);--accent-a8:var(--crimson-a8);--accent-a9:var(--crimson-a9);--accent-a10:var(--crimson-a10);--accent-a11:var(--crimson-a11);--accent-a12:var(--crimson-a12)}[data-accent-color=pink]{--color-surface-accent:var(--pink-surface);--accent-1:var(--pink-1);--accent-2:var(--pink-2);--accent-3:var(--pink-3);--accent-4:var(--pink-4);--accent-5:var(--pink-5);--accent-6:var(--pink-6);--accent-7:var(--pink-7);--accent-8:var(--pink-8);--accent-9:var(--pink-9);--accent-contrast:var(--pink-contrast);--accent-10:var(--pink-10);--accent-11:var(--pink-11);--accent-12:var(--pink-12);--accent-a1:var(--pink-a1);--accent-a2:var(--pink-a2);--accent-a3:var(--pink-a3);--accent-a4:var(--pink-a4);--accent-a5:var(--pink-a5);--accent-a6:var(--pink-a6);--accent-a7:var(--pink-a7);--accent-a8:var(--pink-a8);--accent-a9:var(--pink-a9);--accent-a10:var(--pink-a10);--accent-a11:var(--pink-a11);--accent-a12:var(--pink-a12)}[data-accent-color=plum]{--color-surface-accent:var(--plum-surface);--accent-1:var(--plum-1);--accent-2:var(--plum-2);--accent-3:var(--plum-3);--accent-4:var(--plum-4);--accent-5:var(--plum-5);--accent-6:var(--plum-6);--accent-7:var(--plum-7);--accent-8:var(--plum-8);--accent-9:var(--plum-9);--accent-contrast:var(--plum-contrast);--accent-10:var(--plum-10);--accent-11:var(--plum-11);--accent-12:var(--plum-12);--accent-a1:var(--plum-a1);--accent-a2:var(--plum-a2);--accent-a3:var(--plum-a3);--accent-a4:var(--plum-a4);--accent-a5:var(--plum-a5);--accent-a6:var(--plum-a6);--accent-a7:var(--plum-a7);--accent-a8:var(--plum-a8);--accent-a9:var(--plum-a9);--accent-a10:var(--plum-a10);--accent-a11:var(--plum-a11);--accent-a12:var(--plum-a12)}[data-accent-color=purple]{--color-surface-accent:var(--purple-surface);--accent-1:var(--purple-1);--accent-2:var(--purple-2);--accent-3:var(--purple-3);--accent-4:var(--purple-4);--accent-5:var(--purple-5);--accent-6:var(--purple-6);--accent-7:var(--purple-7);--accent-8:var(--purple-8);--accent-9:var(--purple-9);--accent-contrast:var(--purple-contrast);--accent-10:var(--purple-10);--accent-11:var(--purple-11);--accent-12:var(--purple-12);--accent-a1:var(--purple-a1);--accent-a2:var(--purple-a2);--accent-a3:var(--purple-a3);--accent-a4:var(--purple-a4);--accent-a5:var(--purple-a5);--accent-a6:var(--purple-a6);--accent-a7:var(--purple-a7);--accent-a8:var(--purple-a8);--accent-a9:var(--purple-a9);--accent-a10:var(--purple-a10);--accent-a11:var(--purple-a11);--accent-a12:var(--purple-a12)}[data-accent-color=violet]{--color-surface-accent:var(--violet-surface);--accent-1:var(--violet-1);--accent-2:var(--violet-2);--accent-3:var(--violet-3);--accent-4:var(--violet-4);--accent-5:var(--violet-5);--accent-6:var(--violet-6);--accent-7:var(--violet-7);--accent-8:var(--violet-8);--accent-9:var(--violet-9);--accent-contrast:var(--violet-contrast);--accent-10:var(--violet-10);--accent-11:var(--violet-11);--accent-12:var(--violet-12);--accent-a1:var(--violet-a1);--accent-a2:var(--violet-a2);--accent-a3:var(--violet-a3);--accent-a4:var(--violet-a4);--accent-a5:var(--violet-a5);--accent-a6:var(--violet-a6);--accent-a7:var(--violet-a7);--accent-a8:var(--violet-a8);--accent-a9:var(--violet-a9);--accent-a10:var(--violet-a10);--accent-a11:var(--violet-a11);--accent-a12:var(--violet-a12)}[data-accent-color=iris]{--color-surface-accent:var(--iris-surface);--accent-1:var(--iris-1);--accent-2:var(--iris-2);--accent-3:var(--iris-3);--accent-4:var(--iris-4);--accent-5:var(--iris-5);--accent-6:var(--iris-6);--accent-7:var(--iris-7);--accent-8:var(--iris-8);--accent-9:var(--iris-9);--accent-contrast:var(--iris-contrast);--accent-10:var(--iris-10);--accent-11:var(--iris-11);--accent-12:var(--iris-12);--accent-a1:var(--iris-a1);--accent-a2:var(--iris-a2);--accent-a3:var(--iris-a3);--accent-a4:var(--iris-a4);--accent-a5:var(--iris-a5);--accent-a6:var(--iris-a6);--accent-a7:var(--iris-a7);--accent-a8:var(--iris-a8);--accent-a9:var(--iris-a9);--accent-a10:var(--iris-a10);--accent-a11:var(--iris-a11);--accent-a12:var(--iris-a12)}[data-accent-color=indigo]{--color-surface-accent:var(--indigo-surface);--accent-1:var(--indigo-1);--accent-2:var(--indigo-2);--accent-3:var(--indigo-3);--accent-4:var(--indigo-4);--accent-5:var(--indigo-5);--accent-6:var(--indigo-6);--accent-7:var(--indigo-7);--accent-8:var(--indigo-8);--accent-9:var(--indigo-9);--accent-contrast:var(--indigo-contrast);--accent-10:var(--indigo-10);--accent-11:var(--indigo-11);--accent-12:var(--indigo-12);--accent-a1:var(--indigo-a1);--accent-a2:var(--indigo-a2);--accent-a3:var(--indigo-a3);--accent-a4:var(--indigo-a4);--accent-a5:var(--indigo-a5);--accent-a6:var(--indigo-a6);--accent-a7:var(--indigo-a7);--accent-a8:var(--indigo-a8);--accent-a9:var(--indigo-a9);--accent-a10:var(--indigo-a10);--accent-a11:var(--indigo-a11);--accent-a12:var(--indigo-a12)}[data-accent-color=blue]{--color-surface-accent:var(--blue-surface);--accent-1:var(--blue-1);--accent-2:var(--blue-2);--accent-3:var(--blue-3);--accent-4:var(--blue-4);--accent-5:var(--blue-5);--accent-6:var(--blue-6);--accent-7:var(--blue-7);--accent-8:var(--blue-8);--accent-9:var(--blue-9);--accent-contrast:var(--blue-contrast);--accent-10:var(--blue-10);--accent-11:var(--blue-11);--accent-12:var(--blue-12);--accent-a1:var(--blue-a1);--accent-a2:var(--blue-a2);--accent-a3:var(--blue-a3);--accent-a4:var(--blue-a4);--accent-a5:var(--blue-a5);--accent-a6:var(--blue-a6);--accent-a7:var(--blue-a7);--accent-a8:var(--blue-a8);--accent-a9:var(--blue-a9);--accent-a10:var(--blue-a10);--accent-a11:var(--blue-a11);--accent-a12:var(--blue-a12)}[data-accent-color=cyan]{--color-surface-accent:var(--cyan-surface);--accent-1:var(--cyan-1);--accent-2:var(--cyan-2);--accent-3:var(--cyan-3);--accent-4:var(--cyan-4);--accent-5:var(--cyan-5);--accent-6:var(--cyan-6);--accent-7:var(--cyan-7);--accent-8:var(--cyan-8);--accent-9:var(--cyan-9);--accent-contrast:var(--cyan-contrast);--accent-10:var(--cyan-10);--accent-11:var(--cyan-11);--accent-12:var(--cyan-12);--accent-a1:var(--cyan-a1);--accent-a2:var(--cyan-a2);--accent-a3:var(--cyan-a3);--accent-a4:var(--cyan-a4);--accent-a5:var(--cyan-a5);--accent-a6:var(--cyan-a6);--accent-a7:var(--cyan-a7);--accent-a8:var(--cyan-a8);--accent-a9:var(--cyan-a9);--accent-a10:var(--cyan-a10);--accent-a11:var(--cyan-a11);--accent-a12:var(--cyan-a12)}[data-accent-color=teal]{--color-surface-accent:var(--teal-surface);--accent-1:var(--teal-1);--accent-2:var(--teal-2);--accent-3:var(--teal-3);--accent-4:var(--teal-4);--accent-5:var(--teal-5);--accent-6:var(--teal-6);--accent-7:var(--teal-7);--accent-8:var(--teal-8);--accent-9:var(--teal-9);--accent-contrast:var(--teal-contrast);--accent-10:var(--teal-10);--accent-11:var(--teal-11);--accent-12:var(--teal-12);--accent-a1:var(--teal-a1);--accent-a2:var(--teal-a2);--accent-a3:var(--teal-a3);--accent-a4:var(--teal-a4);--accent-a5:var(--teal-a5);--accent-a6:var(--teal-a6);--accent-a7:var(--teal-a7);--accent-a8:var(--teal-a8);--accent-a9:var(--teal-a9);--accent-a10:var(--teal-a10);--accent-a11:var(--teal-a11);--accent-a12:var(--teal-a12)}[data-accent-color=jade]{--color-surface-accent:var(--jade-surface);--accent-1:var(--jade-1);--accent-2:var(--jade-2);--accent-3:var(--jade-3);--accent-4:var(--jade-4);--accent-5:var(--jade-5);--accent-6:var(--jade-6);--accent-7:var(--jade-7);--accent-8:var(--jade-8);--accent-9:var(--jade-9);--accent-contrast:var(--jade-contrast);--accent-10:var(--jade-10);--accent-11:var(--jade-11);--accent-12:var(--jade-12);--accent-a1:var(--jade-a1);--accent-a2:var(--jade-a2);--accent-a3:var(--jade-a3);--accent-a4:var(--jade-a4);--accent-a5:var(--jade-a5);--accent-a6:var(--jade-a6);--accent-a7:var(--jade-a7);--accent-a8:var(--jade-a8);--accent-a9:var(--jade-a9);--accent-a10:var(--jade-a10);--accent-a11:var(--jade-a11);--accent-a12:var(--jade-a12)}[data-accent-color=green]{--color-surface-accent:var(--green-surface);--accent-1:var(--green-1);--accent-2:var(--green-2);--accent-3:var(--green-3);--accent-4:var(--green-4);--accent-5:var(--green-5);--accent-6:var(--green-6);--accent-7:var(--green-7);--accent-8:var(--green-8);--accent-9:var(--green-9);--accent-contrast:var(--green-contrast);--accent-10:var(--green-10);--accent-11:var(--green-11);--accent-12:var(--green-12);--accent-a1:var(--green-a1);--accent-a2:var(--green-a2);--accent-a3:var(--green-a3);--accent-a4:var(--green-a4);--accent-a5:var(--green-a5);--accent-a6:var(--green-a6);--accent-a7:var(--green-a7);--accent-a8:var(--green-a8);--accent-a9:var(--green-a9);--accent-a10:var(--green-a10);--accent-a11:var(--green-a11);--accent-a12:var(--green-a12)}[data-accent-color=grass]{--color-surface-accent:var(--grass-surface);--accent-1:var(--grass-1);--accent-2:var(--grass-2);--accent-3:var(--grass-3);--accent-4:var(--grass-4);--accent-5:var(--grass-5);--accent-6:var(--grass-6);--accent-7:var(--grass-7);--accent-8:var(--grass-8);--accent-9:var(--grass-9);--accent-contrast:var(--grass-contrast);--accent-10:var(--grass-10);--accent-11:var(--grass-11);--accent-12:var(--grass-12);--accent-a1:var(--grass-a1);--accent-a2:var(--grass-a2);--accent-a3:var(--grass-a3);--accent-a4:var(--grass-a4);--accent-a5:var(--grass-a5);--accent-a6:var(--grass-a6);--accent-a7:var(--grass-a7);--accent-a8:var(--grass-a8);--accent-a9:var(--grass-a9);--accent-a10:var(--grass-a10);--accent-a11:var(--grass-a11);--accent-a12:var(--grass-a12)}[data-accent-color=orange]{--color-surface-accent:var(--orange-surface);--accent-1:var(--orange-1);--accent-2:var(--orange-2);--accent-3:var(--orange-3);--accent-4:var(--orange-4);--accent-5:var(--orange-5);--accent-6:var(--orange-6);--accent-7:var(--orange-7);--accent-8:var(--orange-8);--accent-9:var(--orange-9);--accent-contrast:var(--orange-contrast);--accent-10:var(--orange-10);--accent-11:var(--orange-11);--accent-12:var(--orange-12);--accent-a1:var(--orange-a1);--accent-a2:var(--orange-a2);--accent-a3:var(--orange-a3);--accent-a4:var(--orange-a4);--accent-a5:var(--orange-a5);--accent-a6:var(--orange-a6);--accent-a7:var(--orange-a7);--accent-a8:var(--orange-a8);--accent-a9:var(--orange-a9);--accent-a10:var(--orange-a10);--accent-a11:var(--orange-a11);--accent-a12:var(--orange-a12)}[data-accent-color=brown]{--color-surface-accent:var(--brown-surface);--accent-1:var(--brown-1);--accent-2:var(--brown-2);--accent-3:var(--brown-3);--accent-4:var(--brown-4);--accent-5:var(--brown-5);--accent-6:var(--brown-6);--accent-7:var(--brown-7);--accent-8:var(--brown-8);--accent-9:var(--brown-9);--accent-contrast:var(--brown-contrast);--accent-10:var(--brown-10);--accent-11:var(--brown-11);--accent-12:var(--brown-12);--accent-a1:var(--brown-a1);--accent-a2:var(--brown-a2);--accent-a3:var(--brown-a3);--accent-a4:var(--brown-a4);--accent-a5:var(--brown-a5);--accent-a6:var(--brown-a6);--accent-a7:var(--brown-a7);--accent-a8:var(--brown-a8);--accent-a9:var(--brown-a9);--accent-a10:var(--brown-a10);--accent-a11:var(--brown-a11);--accent-a12:var(--brown-a12)}[data-accent-color=sky]{--color-surface-accent:var(--sky-surface);--accent-1:var(--sky-1);--accent-2:var(--sky-2);--accent-3:var(--sky-3);--accent-4:var(--sky-4);--accent-5:var(--sky-5);--accent-6:var(--sky-6);--accent-7:var(--sky-7);--accent-8:var(--sky-8);--accent-9:var(--sky-9);--accent-contrast:var(--sky-contrast);--accent-10:var(--sky-10);--accent-11:var(--sky-11);--accent-12:var(--sky-12);--accent-a1:var(--sky-a1);--accent-a2:var(--sky-a2);--accent-a3:var(--sky-a3);--accent-a4:var(--sky-a4);--accent-a5:var(--sky-a5);--accent-a6:var(--sky-a6);--accent-a7:var(--sky-a7);--accent-a8:var(--sky-a8);--accent-a9:var(--sky-a9);--accent-a10:var(--sky-a10);--accent-a11:var(--sky-a11);--accent-a12:var(--sky-a12)}[data-accent-color=mint]{--color-surface-accent:var(--mint-surface);--accent-1:var(--mint-1);--accent-2:var(--mint-2);--accent-3:var(--mint-3);--accent-4:var(--mint-4);--accent-5:var(--mint-5);--accent-6:var(--mint-6);--accent-7:var(--mint-7);--accent-8:var(--mint-8);--accent-9:var(--mint-9);--accent-contrast:var(--mint-contrast);--accent-10:var(--mint-10);--accent-11:var(--mint-11);--accent-12:var(--mint-12);--accent-a1:var(--mint-a1);--accent-a2:var(--mint-a2);--accent-a3:var(--mint-a3);--accent-a4:var(--mint-a4);--accent-a5:var(--mint-a5);--accent-a6:var(--mint-a6);--accent-a7:var(--mint-a7);--accent-a8:var(--mint-a8);--accent-a9:var(--mint-a9);--accent-a10:var(--mint-a10);--accent-a11:var(--mint-a11);--accent-a12:var(--mint-a12)}[data-accent-color=lime]{--color-surface-accent:var(--lime-surface);--accent-1:var(--lime-1);--accent-2:var(--lime-2);--accent-3:var(--lime-3);--accent-4:var(--lime-4);--accent-5:var(--lime-5);--accent-6:var(--lime-6);--accent-7:var(--lime-7);--accent-8:var(--lime-8);--accent-9:var(--lime-9);--accent-contrast:var(--lime-contrast);--accent-10:var(--lime-10);--accent-11:var(--lime-11);--accent-12:var(--lime-12);--accent-a1:var(--lime-a1);--accent-a2:var(--lime-a2);--accent-a3:var(--lime-a3);--accent-a4:var(--lime-a4);--accent-a5:var(--lime-a5);--accent-a6:var(--lime-a6);--accent-a7:var(--lime-a7);--accent-a8:var(--lime-a8);--accent-a9:var(--lime-a9);--accent-a10:var(--lime-a10);--accent-a11:var(--lime-a11);--accent-a12:var(--lime-a12)}[data-accent-color=yellow]{--color-surface-accent:var(--yellow-surface);--accent-1:var(--yellow-1);--accent-2:var(--yellow-2);--accent-3:var(--yellow-3);--accent-4:var(--yellow-4);--accent-5:var(--yellow-5);--accent-6:var(--yellow-6);--accent-7:var(--yellow-7);--accent-8:var(--yellow-8);--accent-9:var(--yellow-9);--accent-contrast:var(--yellow-contrast);--accent-10:var(--yellow-10);--accent-11:var(--yellow-11);--accent-12:var(--yellow-12);--accent-a1:var(--yellow-a1);--accent-a2:var(--yellow-a2);--accent-a3:var(--yellow-a3);--accent-a4:var(--yellow-a4);--accent-a5:var(--yellow-a5);--accent-a6:var(--yellow-a6);--accent-a7:var(--yellow-a7);--accent-a8:var(--yellow-a8);--accent-a9:var(--yellow-a9);--accent-a10:var(--yellow-a10);--accent-a11:var(--yellow-a11);--accent-a12:var(--yellow-a12)}[data-accent-color=amber]{--color-surface-accent:var(--amber-surface);--accent-1:var(--amber-1);--accent-2:var(--amber-2);--accent-3:var(--amber-3);--accent-4:var(--amber-4);--accent-5:var(--amber-5);--accent-6:var(--amber-6);--accent-7:var(--amber-7);--accent-8:var(--amber-8);--accent-9:var(--amber-9);--accent-contrast:var(--amber-contrast);--accent-10:var(--amber-10);--accent-11:var(--amber-11);--accent-12:var(--amber-12);--accent-a1:var(--amber-a1);--accent-a2:var(--amber-a2);--accent-a3:var(--amber-a3);--accent-a4:var(--amber-a4);--accent-a5:var(--amber-a5);--accent-a6:var(--amber-a6);--accent-a7:var(--amber-a7);--accent-a8:var(--amber-a8);--accent-a9:var(--amber-a9);--accent-a10:var(--amber-a10);--accent-a11:var(--amber-a11);--accent-a12:var(--amber-a12)}[data-accent-color=gold]{--color-surface-accent:var(--gold-surface);--accent-1:var(--gold-1);--accent-2:var(--gold-2);--accent-3:var(--gold-3);--accent-4:var(--gold-4);--accent-5:var(--gold-5);--accent-6:var(--gold-6);--accent-7:var(--gold-7);--accent-8:var(--gold-8);--accent-9:var(--gold-9);--accent-contrast:var(--gold-contrast);--accent-10:var(--gold-10);--accent-11:var(--gold-11);--accent-12:var(--gold-12);--accent-a1:var(--gold-a1);--accent-a2:var(--gold-a2);--accent-a3:var(--gold-a3);--accent-a4:var(--gold-a4);--accent-a5:var(--gold-a5);--accent-a6:var(--gold-a6);--accent-a7:var(--gold-a7);--accent-a8:var(--gold-a8);--accent-a9:var(--gold-a9);--accent-a10:var(--gold-a10);--accent-a11:var(--gold-a11);--accent-a12:var(--gold-a12)}[data-accent-color=bronze]{--color-surface-accent:var(--bronze-surface);--accent-1:var(--bronze-1);--accent-2:var(--bronze-2);--accent-3:var(--bronze-3);--accent-4:var(--bronze-4);--accent-5:var(--bronze-5);--accent-6:var(--bronze-6);--accent-7:var(--bronze-7);--accent-8:var(--bronze-8);--accent-9:var(--bronze-9);--accent-contrast:var(--bronze-contrast);--accent-10:var(--bronze-10);--accent-11:var(--bronze-11);--accent-12:var(--bronze-12);--accent-a1:var(--bronze-a1);--accent-a2:var(--bronze-a2);--accent-a3:var(--bronze-a3);--accent-a4:var(--bronze-a4);--accent-a5:var(--bronze-a5);--accent-a6:var(--bronze-a6);--accent-a7:var(--bronze-a7);--accent-a8:var(--bronze-a8);--accent-a9:var(--bronze-a9);--accent-a10:var(--bronze-a10);--accent-a11:var(--bronze-a11);--accent-a12:var(--bronze-a12)}[data-accent-color=gray]{--color-surface-accent:var(--gray-surface);--accent-1:var(--gray-1);--accent-2:var(--gray-2);--accent-3:var(--gray-3);--accent-4:var(--gray-4);--accent-5:var(--gray-5);--accent-6:var(--gray-6);--accent-7:var(--gray-7);--accent-8:var(--gray-8);--accent-9:var(--gray-9);--accent-contrast:var(--gray-contrast);--accent-10:var(--gray-10);--accent-11:var(--gray-11);--accent-12:var(--gray-12);--accent-a1:var(--gray-a1);--accent-a2:var(--gray-a2);--accent-a3:var(--gray-a3);--accent-a4:var(--gray-a4);--accent-a5:var(--gray-a5);--accent-a6:var(--gray-a6);--accent-a7:var(--gray-a7);--accent-a8:var(--gray-a8);--accent-a9:var(--gray-a9);--accent-a10:var(--gray-a10);--accent-a11:var(--gray-a11);--accent-a12:var(--gray-a12)}:root{--sy-f-sys:-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Droid Sans,Helvetica Neue;--sy-f-cjk:Noto Sans;--sy-f-heading:var(--sy-f-sys),var(--sy-f-cjk),sans-serif;--sy-f-text:var(--sy-f-sys),var(--sy-f-cjk),sans-serif;--sy-f-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sy-s-banner-height:0rem;--sy-s-navbar-height:56px;--sy-s-offset-top:calc(var(--sy-s-navbar-height) + var(--sy-s-banner-height));--sy-c-divider:var(--gray-4);--sy-c-border:var(--gray-5);--sy-c-text:var(--gray-12);--sy-c-light:var(--gray-11);--sy-c-bold:var(--slate-12);--sy-c-heading:var(--sage-12);--sy-c-link:var(--accent-9);--sy-c-link-hover:var(--accent-a11);--sy-c-background:white;--sy-c-surface:var(--gray-a2);--sy-c-overlay:var(--black-a5);--sy-c-background-contrast:black;--sy-c-foot-text:var(--sy-c-text);--sy-c-foot-background:var(--slate-2);--sy-c-foot-divider:var(--sy-c-divider);--sy-dropdown-shadow:0 12px 32px var(--gray-a6),0 2px 6px var(--gray-a4)}[lang^=zh-Hans],[lang=zh],[lang=zh-CN]{--sy-f-cjk:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei}[lang^=zh-Hant],[lang=zh-TW]{--sy-f-cjk:PingFang TC,Noto Sans TC,Microsoft JhengHei}[lang=zh-HK],[lang=zh-Hant-HK]{--sy-f-cjk:PingFang HK,Noto Sans HK,Microsoft JhengHei}[lang=ja]{--sy-f-cjk:Hiragino Sans,Noto Sans JP,Yu Gothic}[data-accent-color=sky],[data-accent-color=mint],[data-accent-color=lime],[data-accent-color=yellow],[data-accent-color=amber]{--sy-c-link:var(--accent-a10)}html.light{color-scheme:light;--sy-c-background:white;--sy-c-background-contrast:black}html.dark{color-scheme:dark;--sy-c-background:var(--slate-1);--sy-c-overlay:var(--white-a2);--sy-c-background-contrast:var(--white-a10);--sy-c-foot-background:var(--black-a11);--sy-c-foot-divider:var(--black-a12)}html{color:var(--sy-c-text);background-color:var(--sy-c-background)}:root{--lucide-alert-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3zM12 9v4m0 4h.01'/%3E%3C/svg%3E");--lucide-arrows-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m7 15 5 5 5-5M7 9l5-5 5 5'/%3E%3C/svg%3E");--lucide-award-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");--lucide-bell-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9m-4.27 13a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");--lucide-bookmark-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");--lucide-calendar-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4m-5 4h18'/%3E%3C/svg%3E");--lucide-check-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--lucide-chevron-down-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-down'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lucide-chevron-left-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-left'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");--lucide-chevron-right-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-right'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");--lucide-chevron-up-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-up'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");--lucide-close-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");--lucide-external-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 5h6v6m0-6L5 19'/%3E%3C/svg%3E");--lucide-flame-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E");--lucide-git-fork-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='18' r='3'/%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='18' cy='6' r='3'/%3E%3Cpath d='M18 9v1a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V9m6 3v3'/%3E%3C/svg%3E");--lucide-help-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01'/%3E%3C/svg%3E");--lucide-languages-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-languages'%3E%3Cpath d='m5 8 6 6m-7 0 6-6 2-3M2 5h12M7 2h1m14 20-5-10-5 10m2-4h6'/%3E%3C/svg%3E");--lucide-laptop-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='12' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M2 20h20'/%3E%3C/svg%3E");--lucide-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");--lucide-menu-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-menu'%3E%3Cpath d='M4 12h16M4 6h16M4 18h16'/%3E%3C/svg%3E");--lucide-milestone-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 6H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h13l4-3.5L18 6zm-6 7v8m0-18v3'/%3E%3C/svg%3E");--lucide-moon-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 3a6.364 6.364 0 0 0 9 9 9 9 0 1 1-9-9z'/%3E%3C/svg%3E");--lucide-outdent-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m7 8-4 4 4 4m14-4H11m10-6H11m10 12H11'/%3E%3C/svg%3E");--lucide-rocket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0m1 7v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E");--lucide-skull-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='9' cy='12' r='1'/%3E%3Ccircle cx='15' cy='12' r='1'/%3E%3Cpath d='M8 20v2h8v-2m-3.5-3-.5-1-.5 1h1z'/%3E%3Cpath d='M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20'/%3E%3C/svg%3E");--lucide-star-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");--lucide-sun-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32 1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");--lucide-zap-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E")}.i-lucide.alert{--icon-url:var(--lucide-alert-url)}.i-lucide.arrows{--icon-url:var(--lucide-arrows-url)}.i-lucide.award{--icon-url:var(--lucide-award-url)}.i-lucide.bell{--icon-url:var(--lucide-bell-url)}.i-lucide.bookmark{--icon-url:var(--lucide-bookmark-url)}.i-lucide.calendar{--icon-url:var(--lucide-calendar-url)}.i-lucide.check{--icon-url:var(--lucide-check-url)}.i-lucide.chevron-down{--icon-url:var(--lucide-chevron-down-url)}.i-lucide.chevron-left{--icon-url:var(--lucide-chevron-left-url)}.i-lucide.chevron-right{--icon-url:var(--lucide-chevron-right-url)}.i-lucide.chevron-up{--icon-url:var(--lucide-chevron-up-url)}.i-lucide.close{--icon-url:var(--lucide-close-url)}.i-lucide.external-link{--icon-url:var(--lucide-external-link-url)}.i-lucide.flame{--icon-url:var(--lucide-flame-url)}.i-lucide.git-fork{--icon-url:var(--lucide-git-fork-url)}.i-lucide.help{--icon-url:var(--lucide-help-url)}.i-lucide.languages{--icon-url:var(--lucide-languages-url)}.i-lucide.laptop{--icon-url:var(--lucide-laptop-url)}.i-lucide.link{--icon-url:var(--lucide-link-url)}.i-lucide.menu{--icon-url:var(--lucide-menu-url)}.i-lucide.milestone{--icon-url:var(--lucide-milestone-url)}.i-lucide.moon{--icon-url:var(--lucide-moon-url)}.i-lucide.outdent{--icon-url:var(--lucide-outdent-url)}.i-lucide.rocket{--icon-url:var(--lucide-rocket-url)}.i-lucide.skull{--icon-url:var(--lucide-skull-url)}.i-lucide.star{--icon-url:var(--lucide-star-url)}.i-lucide.sun{--icon-url:var(--lucide-sun-url)}.i-lucide.zap{--icon-url:var(--lucide-zap-url)}:root{--simpleicons-bitbucket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891zM14.52 15.53H9.522L8.17 8.466h7.561z'/%3E%3C/svg%3E");--simpleicons-discord-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z'/%3E%3C/svg%3E");--simpleicons-git-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.546 10.93 13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039 1.837 1.837 0 0 1-2.6 0 1.846 1.846 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.848 1.848 0 0 1 0 2.6 1.844 1.844 0 0 1-2.609 0 1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187'/%3E%3C/svg%3E");--simpleicons-github-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");--simpleicons-gitlab-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 9.593-.033-.086L20.3.98a.851.851 0 0 0-.336-.405.875.875 0 0 0-1 .054.875.875 0 0 0-.29.44L16.47 7.818H7.537L5.332 1.07a.857.857 0 0 0-.29-.441.875.875 0 0 0-1-.054.859.859 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009.03.021 4.977 3.727 2.462 1.863 1.5 1.132a1.008 1.008 0 0 0 1.22 0l1.499-1.132 2.461-1.863 5.006-3.75.013-.01a6.068 6.068 0 0 0 2.01-7.002z'/%3E%3C/svg%3E");--simpleicons-linkedin-url:url("data:image/svg+xml;utf8,%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3ELinkedIn%3C/title%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");--simpleicons-mastodon-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E");--simpleicons-readthedocs-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.732 0a59.316 59.316 0 0 0-4.977.218V24a62.933 62.933 0 0 1 3.619-.687c.17-.028.34-.053.509-.078.215-.033.43-.066.644-.096l.205-.03zm1.18.003V22.96a61.042 61.042 0 0 1 12.333-.213V1.485A60.859 60.859 0 0 0 8.912.003zm1.707 1.81a.59.59 0 0 1 .015 0c3.06.088 6.125.404 9.167.95a.59.59 0 0 1 .476.686.59.59 0 0 1-.569.484.59.59 0 0 1-.116-.009 60.622 60.622 0 0 0-8.992-.931.59.59 0 0 1-.573-.607.59.59 0 0 1 .592-.572zm-4.212.028a.59.59 0 0 1 .578.565.59.59 0 0 1-.564.614 59.74 59.74 0 0 0-2.355.144.59.59 0 0 1-.04.002.59.59 0 0 1-.595-.542.59.59 0 0 1 .54-.635c.8-.065 1.6-.114 2.401-.148a.59.59 0 0 1 .035 0zm4.202 2.834a.59.59 0 0 1 .015 0 61.6 61.6 0 0 1 9.167.8.59.59 0 0 1 .488.677.59.59 0 0 1-.602.494.59.59 0 0 1-.076-.006 60.376 60.376 0 0 0-8.99-.786.59.59 0 0 1-.584-.596.59.59 0 0 1 .582-.583zm-4.211.097a.59.59 0 0 1 .587.555.59.59 0 0 1-.554.622c-.786.046-1.572.107-2.356.184a.59.59 0 0 1-.04.003.59.59 0 0 1-.603-.533.59.59 0 0 1 .53-.644c.8-.078 1.599-.14 2.4-.187a.59.59 0 0 1 .036 0zM10.6 7.535a.59.59 0 0 1 .015 0c3.06-.013 6.125.204 9.167.65a.59.59 0 0 1 .498.67.59.59 0 0 1-.593.504.59.59 0 0 1-.076-.006 60.142 60.142 0 0 0-8.992-.638.59.59 0 0 1-.592-.588.59.59 0 0 1 .573-.592zm1.153 2.846a61.093 61.093 0 0 1 8.02.515.59.59 0 0 1 .509.66.59.59 0 0 1-.586.514.59.59 0 0 1-.076-.005 59.982 59.982 0 0 0-8.99-.492.59.59 0 0 1-.603-.577.59.59 0 0 1 .578-.603c.382-.008.765-.012 1.148-.012zm1.139 2.832a60.92 60.92 0 0 1 6.871.394.59.59 0 0 1 .52.652.59.59 0 0 1-.577.523.59.59 0 0 1-.076-.004 59.936 59.936 0 0 0-8.991-.344.59.59 0 0 1-.61-.568.59.59 0 0 1 .567-.611c.765-.028 1.53-.042 2.296-.042z'/%3E%3C/svg%3E");--simpleicons-reddit-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286A.72.72 0 0 0 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199a1.999 1.999 0 1 1-1.947 2.46v.002a2.368 2.368 0 0 0-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363a2.802 2.802 0 1 1 2.908 4.753c-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87a2.8 2.8 0 0 1 1.189-5.34c.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01a3.229 3.229 0 0 1 2.88-3.207 2 2 0 0 1 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135a.222.222 0 0 0-.183.305 3.199 3.199 0 0 0 2.953 1.964 3.2 3.2 0 0 0 2.953-1.964.222.222 0 0 0-.184-.305 27.75 27.75 0 0 0-2.769-.135Z'/%3E%3C/svg%3E");--simpleicons-slack-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E");--simpleicons-x-twitter-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E");--simpleicons-youtube-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.i-icon.bitbucket,.i-simpleicons.bitbucket{--icon-url:var(--simpleicons-bitbucket-url)}.i-icon.discord,.i-simpleicons.discord{--icon-url:var(--simpleicons-discord-url)}.i-icon.git,.i-simpleicons.git{--icon-url:var(--simpleicons-git-url)}.i-icon.github,.i-simpleicons.github{--icon-url:var(--simpleicons-github-url)}.i-icon.gitlab,.i-simpleicons.gitlab{--icon-url:var(--simpleicons-gitlab-url)}.i-icon.linkedin,.i-simpleicons.linkedin{--icon-url:var(--simpleicons-linkedin-url)}.i-icon.mastodon,.i-simpleicons.mastodon{--icon-url:var(--simpleicons-mastodon-url)}.i-icon.readthedocs,.i-simpleicons.readthedocs{--icon-url:var(--simpleicons-readthedocs-url)}.i-icon.reddit,.i-simpleicons.reddit{--icon-url:var(--simpleicons-reddit-url)}.i-icon.slack,.i-simpleicons.slack{--icon-url:var(--simpleicons-slack-url)}.i-icon.x-twitter,.i-simpleicons.x-twitter{--icon-url:var(--simpleicons-x-twitter-url)}.i-icon.youtube,.i-simpleicons.youtube{--icon-url:var(--simpleicons-youtube-url)}:root{--yue-c-text:var(--sy-c-text);--yue-c-heading:var(--sy-c-heading);--yue-c-bold:var(--sy-c-bold);--yue-c-link-1:var(--sy-c-text);--yue-c-link-2:var(--sy-c-bold);--yue-c-link-border:var(--sy-c-link);--yue-c-ol-marker:var(--gray-9);--yue-c-ul-marker:var(--sage-a5);--yue-c-hr:var(--sy-c-border);--yue-c-quote:var(--sy-c-text);--yue-c-quote-border:var(--accent-a3);--yue-c-quote-symbol:var(--accent-9);--yue-c-caption:var(--sy-c-light);--yue-c-code-text:var(--accent-a11);--yue-c-code-background:var(--accent-a3);--yue-c-table-border:var(--gray-a5);--yue-c-th-background:var(--color-surface-accent);--yue-c-th-border:var(--gray-a5);--yue-c-td-border:var(--gray-a4);--yue-c-row-background:var(--sy-c-surface)}.yue{color:var(--yue-c-text);font-size:1rem;line-height:1.75}.yue p{margin-top:1rem;margin-bottom:1.25rem}.yue a{color:var(--yue-c-link-1);border-bottom:1px solid var(--yue-c-link-border);font-weight:500;text-decoration:none}.yue a:hover{color:var(--yue-c-link-2);border-bottom-width:2px}.yue pre a,.yue pre a:hover{border-bottom:none}.yue strong{color:var(--yue-c-bold);font-weight:600}.yue a strong,.yue blockquote strong,.yue thead th strong{color:inherit}.yue ol{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:decimal}.yue ol[type="1"]{list-style-type:decimal}.yue ol[type=A],.yue ol.upperalpha{list-style-type:upper-alpha}.yue ol[type=a],.yue ol.loweralpha{list-style-type:lower-alpha}.yue ol[type=I],.yue ol.upperroman{list-style-type:upper-roman}.yue ol[type=i],.yue ol.lowerroman{list-style-type:lower-roman}.yue ul{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:disc}.yue ol>li::marker{color:var(--yue-c-ol-marker);font-weight:400}.yue ul>li::marker{color:var(--yue-c-ul-marker)}.yue dl{margin-top:1.5rem;margin-bottom:1.5rem}.yue dt{color:var(--yue-c-bold);font-weight:600}.yue dd{margin-left:1.5rem}.yue hr{border-color:var(--yue-c-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.yue blockquote{color:var(--yue-c-quote);border-left-width:.25rem;border-left-color:var(--yue-c-quote-border);margin-top:1.2rem;margin-bottom:1.2rem;padding-left:1rem}.yue blockquote .attribution{font-size:.85em;font-style:italic}[lang^=zh] .yue blockquote .attribution,[lang=ko] .yue blockquote .attribution,[lang=ja] .yue blockquote .attribution{font-style:normal}.yue h1{color:var(--yue-c-heading);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.yue h1 strong{color:inherit;font-weight:900}.yue h2{color:var(--yue-c-heading);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.yue h2 strong{color:inherit;font-weight:800}.yue h3{color:var(--yue-c-heading);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.yue h3 strong{color:inherit;font-weight:700}.yue h4{color:var(--yue-c-heading);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.yue h4 strong{color:inherit;font-weight:700}.yue h5,.yue h6{color:var(--yue-c-heading);font-weight:600}.yue img{max-width:100%;display:inline}.yue img.rounded{border-radius:.5rem}.yue a>img,.yue figure>*,.yue figure img{margin-top:0;margin-bottom:0}.yue figcaption{color:var(--yue-c-caption);margin-top:.857143em;font-size:.875em;line-height:1.42857}.yue figcaption>p{margin-top:0}.yue code{color:var(--yue-c-code-text);font-size:.875em;font-weight:600}.yue a code,.yue h1 code,.yue h2 code,.yue h3 code,.yue h4 code,.yue blockquote code,.yue th code{color:inherit}.yue h2 code{font-size:.875em}.yue li>code,.yue p>code{background-color:var(--yue-c-code-background);border-radius:3px;padding:2px 4px;font-weight:500}.yue h3 code{font-size:.9em}.yue kbd{font-family:var(--sy-f-mono)}.yue video,.yue figure{margin-top:2em;margin-bottom:2em}.yue li{margin-top:.5em;margin-bottom:.5em}.yue ol>li,.yue ul>li{padding-left:.375em}.yue ul ul,.yue ul ol,.yue ol ul,.yue ol ol{margin-top:.75em;margin-bottom:.75em}.yue hr+*,.yue h2+*,.yue h3+*,.yue h4+*{margin-top:0}.yue table{table-layout:auto;text-align:left;width:100%;margin-top:2em;margin-bottom:2em;font-size:.86em;line-height:1.7}.yue table>caption{color:var(--yue-c-caption);margin-bottom:.4rem}.yue thead tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-th-border)}.yue thead th{color:var(--yue-c-heading);vertical-align:middle;font-weight:600}.yue tbody tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-td-border)}.yue tbody tr:last-child{border-bottom-width:0}.yue tbody td{vertical-align:middle}.yue tfoot{border-top-width:1px;border-top-color:var(--yue-c-th-border)}.yue tfoot td{vertical-align:top}.yue td>p{margin:.25rem 0}.yue thead th>p{margin:0}.yue thead th,.yue tbody td,.yue tfoot td{padding:.5rem}.yue section{clear:both}.yue section>div{margin-bottom:2rem}.yue dd>p:first-child{margin-top:0}.yue p.lead{color:var(--sy-c-light);margin-bottom:0;font-size:1.2rem}.yue p.lead+hr{margin-top:1rem}.yue p.rubric{color:var(--yue-c-heading);margin-top:2rem;font-weight:600}.yue .sidebar{background-color:var(--sy-c-surface);border:1px solid var(--sy-c-border);clear:right;float:right;border-radius:6px;width:30%;margin-bottom:1rem;margin-left:1rem;margin-right:0}@media (max-width:767px){.yue .sidebar{float:none;width:100%;margin-left:0}}.yue .sidebar>*{padding-left:1rem;padding-right:1rem}.yue .sidebar img{margin-top:1rem;margin-bottom:1rem}.yue .sidebar-title{border-bottom:1px solid var(--sy-c-border);margin:0;padding-top:.5rem;padding-bottom:.5rem;font-weight:500}.yue dl.simple>dd>p,.yue ul.simple>li>p,.yue ol.simple>li>p{margin:0}.yue a.headerlink{visibility:hidden;color:var(--sy-c-light);font-size:58%;font-weight:300;font-family:var(--sy-f-mono);--icon-url:var(--lucide-link-url);-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;vertical-align:middle;background-color:currentColor;width:1em;height:1em;margin-left:6px;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.yue .math a.headerlink,h1:hover a.headerlink,h2:hover a.headerlink,h3:hover a.headerlink,h4:hover a.headerlink,h5:hover a.headerlink,h6:hover a.headerlink{visibility:visible}.yue a.image-reference,.yue .toctree-wrapper a{border-bottom:none}.yue .toctree-wrapper p.caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-light);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--sy-c-divider);padding:.8rem 0 .4rem}.yue .align-left{clear:left;float:left;margin:0 1rem 1rem}.yue .align-right{clear:right;float:right;margin:0 1rem 1rem}.yue .align-center{text-align:center;margin-left:auto;margin-right:auto;display:block}.yue figure.align-center img{margin-left:auto;margin-right:auto}a.footnote-reference{vertical-align:top;font-size:.65rem}aside.footnote>span,div.citation>span{float:left;padding-right:.25rem;font-weight:500}aside.footnote>p,div.citation>p{margin-top:.5rem;margin-bottom:.5rem;margin-left:2rem}.yue kbd.kbd:not(.compound){border-radius:3px;margin-right:.25rem;padding:2px 5px;font-size:.86rem}.yue kbd.compound>kbd{margin-left:.25rem}.yue .menuselection{font-size:.86rem;font-weight:500}.light .searchbox kbd,.light .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#e6e6e6,#f8f8f8);border:0;box-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}.dark .searchbox kbd,.dark .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#353434,#141414);border:0;box-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000}.yue p.centered{text-align:center}.yue section>img{margin-bottom:1rem}.hlist td{vertical-align:top}.light .light-hidden,.dark .dark-hidden,.light .dark-only,.dark .light-only{display:none}.yue .genindex-jumpbox,.yue .modindex-jumpbox{border-top:1px solid var(--sy-c-border);border-bottom:1px solid var(--sy-c-border);padding:2px .4rem}.yue table.modindextable td:first-of-type{width:28px}.yue table.modindextable img.toggler{margin:0}.yue table.modindextable tr.cap{background:var(--sy-c-surface);font-size:1.12rem;font-family:var(--sy-f-mono)}.yue h2+table.indextable,.yue table.indextable ul{margin-top:0}:root{--attention-icon:var(--lucide-alert-url);--attention-1:var(--crimson-surface);--attention-2:var(--crimson-a3);--attention-3:var(--crimson-9);--attention-4:var(--crimson-a11);--caution-icon:var(--lucide-zap-url);--caution-1:var(--amber-surface);--caution-2:var(--amber-a3);--caution-3:var(--amber-9);--caution-4:var(--amber-11);--danger-icon:var(--lucide-skull-url);--danger-1:var(--ruby-surface);--danger-2:var(--ruby-a3);--danger-3:var(--ruby-9);--danger-4:var(--ruby-a11);--error-icon:var(--lucide-close-url);--error-1:var(--red-surface);--error-2:var(--red-a3);--error-3:var(--red-9);--error-4:var(--red-a11);--hint-icon:var(--lucide-bell-url);--hint-1:var(--cyan-surface);--hint-2:var(--cyan-a3);--hint-3:var(--cyan-9);--hint-4:var(--cyan-a11);--important-icon:var(--lucide-flame-url);--important-1:var(--violet-surface);--important-2:var(--violet-a3);--important-3:var(--violet-9);--important-4:var(--violet-a11);--note-icon:var(--lucide-calendar-url);--note-1:var(--blue-surface);--note-2:var(--blue-a3);--note-3:var(--blue-9);--note-4:var(--blue-a11);--tip-icon:var(--lucide-rocket-url);--tip-1:var(--green-surface);--tip-2:var(--green-a3);--tip-3:var(--green-9);--tip-4:var(--green-a11);--warning-icon:var(--lucide-zap-url);--warning-1:var(--orange-surface);--warning-2:var(--orange-a3);--warning-3:var(--orange-9);--warning-4:var(--orange-a11);--seealso-icon:var(--lucide-link-url);--seealso-1:var(--gold-surface);--seealso-2:var(--gold-a3);--seealso-3:var(--gold-9);--seealso-4:var(--gold-a11);--todo-icon:var(--lucide-bookmark-url);--todo-1:var(--bronze-surface);--todo-2:var(--bronze-a3);--todo-3:var(--bronze-9);--todo-4:var(--bronze-a11);--versionadded-icon:var(--lucide-flame-url);--versionadded-1:var(--green-surface);--versionadded-2:var(--green-9);--versionchanged-icon:var(--lucide-zap-url);--versionchanged-1:var(--amber-surface);--versionchanged-2:var(--amber-9);--versionremoved-icon:var(--lucide-skull-url);--versionremoved-1:var(--red-surface);--versionremoved-2:var(--red-9);--deprecated-icon:var(--lucide-alert-url);--deprecated-1:var(--orange-surface);--deprecated-2:var(--orange-9)}.admonition{--icon-url:var(--lucide-bell-url);--color-1:var(--color-surface-accent);--color-2:var(--accent-a3);--color-3:var(--accent-9);--color-4:var(--accent-a11);border-left:4px solid var(--color-3);background-color:var(--color-1);flex-direction:column;margin-top:1rem;margin-bottom:1rem;padding:.825rem 1rem;display:flex;position:relative}.admonition:before{content:"";background-color:var(--color-3);border-radius:100%;width:20px;height:20px;position:absolute;top:6px;left:-12px}.admonition:after{content:"";-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;background-color:#fff;width:12px;height:12px;font-style:normal;position:absolute;top:10px;left:-8px;-webkit-mask-size:100% 100%;mask-size:100% 100%}.admonition p.admonition-title{color:var(--color-4);background-color:var(--color-2);--yue-c-code:var(--color-4);--yue-c-bold:var(--color-4);margin:-.825rem -1rem .825rem -19px;padding:4px 18px;font-size:.85rem;font-weight:600;line-height:1.72;position:relative}.admonition p.admonition-title svg{display:inline-block}.admonition.attention{--icon-url:var(--attention-icon);--color-1:var(--attention-1);--color-2:var(--attention-2);--color-3:var(--attention-3);--color-4:var(--attention-4)}.admonition.caution{--icon-url:var(--caution-icon);--color-1:var(--caution-1);--color-2:var(--caution-2);--color-3:var(--caution-3);--color-4:var(--caution-4)}.admonition.danger{--icon-url:var(--danger-icon);--color-1:var(--danger-1);--color-2:var(--danger-2);--color-3:var(--danger-3);--color-4:var(--danger-4)}.admonition.error{--icon-url:var(--error-icon);--color-1:var(--error-1);--color-2:var(--error-2);--color-3:var(--error-3);--color-4:var(--error-4)}.admonition.hint{--icon-url:var(--hint-icon);--color-1:var(--hint-1);--color-2:var(--hint-2);--color-3:var(--hint-3);--color-4:var(--hint-4)}.admonition.important{--icon-url:var(--important-icon);--color-1:var(--important-1);--color-2:var(--important-2);--color-3:var(--important-3);--color-4:var(--important-4)}.admonition.note{--icon-url:var(--note-icon);--color-1:var(--note-1);--color-2:var(--note-2);--color-3:var(--note-3);--color-4:var(--note-4)}.admonition.tip{--icon-url:var(--tip-icon);--color-1:var(--tip-1);--color-2:var(--tip-2);--color-3:var(--tip-3);--color-4:var(--tip-4)}.admonition.warning{--icon-url:var(--warning-icon);--color-1:var(--warning-1);--color-2:var(--warning-2);--color-3:var(--warning-3);--color-4:var(--warning-4)}.admonition.seealso{--icon-url:var(--seealso-icon);--color-1:var(--seealso-1);--color-2:var(--seealso-2);--color-3:var(--seealso-3);--color-4:var(--seealso-4)}.admonition.admonition-todo{--icon-url:var(--todo-icon);--color-1:var(--todo-1);--color-2:var(--todo-2);--color-3:var(--todo-3);--color-4:var(--todo-4)}.yue .admonition>*{margin-top:0;margin-bottom:1rem}.yue .admonition>:last-child{margin-bottom:0!important}span.versionmodified{color:var(--sy-c-bold);font-weight:600}div.versionadded,div.versionchanged,div.versionremoved,div.deprecated{border-left:4px solid var(--color-2);background-color:var(--color-1);margin:1rem 0;padding:6px 1rem;line-height:1.72;position:relative}div.versionadded:before,div.versionchanged:before,div.versionremoved:before,div.deprecated:before{content:"";color:#fff;background-color:var(--color-2);text-align:center;width:20px;height:20px;font:normal bold 14px/20px var(--sy-f-mono);border-radius:100%;position:absolute;top:10px;left:-12px}div.versionadded:after,div.versionchanged:after,div.versionremoved:after,div.deprecated:after{content:"";-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;background-color:#fff;width:12px;height:12px;font-style:normal;position:absolute;top:14px;left:-8px;-webkit-mask-size:100% 100%;mask-size:100% 100%}div.versionadded{--color-1:var(--versionadded-1);--color-2:var(--versionadded-2);--icon-url:var(--versionadded-icon)}div.versionchanged{--color-1:var(--versionchanged-1);--color-2:var(--versionchanged-2);--icon-url:var(--versionchanged-icon)}div.versionremoved{--color-1:var(--versionremoved-1);--color-2:var(--versionremoved-2);--icon-url:var(--versionremoved-icon)}div.deprecated{--color-1:var(--deprecated-1);--color-2:var(--deprecated-2);--icon-url:var(--deprecated-icon)}div.versionadded>p,div.versionchanged>p,div.versionremoved>p,div.deprecated>p{margin:0}.yue blockquote.epigraph{text-align:center;border-left:0;padding:1rem 2.4rem}.yue blockquote.highlights{background-color:var(--sy-c-surface);border-left-width:4px;padding-top:.2rem;padding-bottom:.2rem}.yue blockquote.pull-quote{border-left:0;padding:2.4rem 3.6rem 1.2rem;font-size:1.24rem;position:relative}.yue blockquote.pull-quote:before{content:"“";color:var(--yue-c-quote-symbol);font:700 4rem/1 Times New Roman,Georgia,Palatino,Times,serif;position:absolute;top:0;left:.5rem}.yue blockquote.pull-quote .attribution{text-align:right}pre.literal-block{background-color:var(--syntax-pre-bg);border-radius:6px;padding:1rem;font-size:.96rem;line-height:1.48;overflow:auto}.highlight,.literal-block-wrapper{--margin:1rem;--radius:6px}.literal-block-wrapper div[class^=highlight-]{display:flex}.literal-block-wrapper .highlight{width:100%}.highlight>pre{padding:var(--margin);font-size:.96rem;line-height:1.48;font-family:var(--sy-f-mono);background-color:var(--syntax-pre-bg);border-radius:var(--radius);overflow:auto}.win .highlight>pre{font-family:"Twemoji Country Flags",var(--sy-f-mono)}.highlight .gp,.highlight .linenos{-webkit-user-select:none;user-select:none}.highlight .linenos{box-shadow:-.05rem 0 var(--syntax-linenos-divider)inset;opacity:.6;margin-right:.8rem;padding-right:.8rem;display:inline-block}.highlight .hll{margin-left:calc(0rem - var(--margin));margin-right:calc(0rem - var(--margin));padding:0 var(--margin)}.code-block-caption{color:var(--syntax-text);background-color:var(--syntax-cap-bg);padding:.4rem var(--margin);border-radius:var(--radius)var(--radius)0 0;font-size:.84rem;font-weight:600;display:flex}.code-block-caption+div>.highlight>pre{border-top-left-radius:0;border-top-right-radius:0}div[class^=highlight]>.highlight>pre{display:grid}.yue .table-wrapper{border:1px solid var(--yue-c-table-border);border-radius:6px;width:100%;margin-top:2rem;margin-bottom:2rem;overflow-x:auto}.yue .table-wrapper table{margin:0}.yue .table-wrapper thead tr{border-top:1px solid var(--yue-c-td-border)}.yue .table-wrapper thead tr:first-child{border-top:0}.yue .table-wrapper th{background-color:var(--yue-c-th-background);border-left:1px solid var(--yue-c-td-border);padding:.725rem 1rem}.yue .table-wrapper td{border-left:1px solid var(--yue-c-td-border);padding:.5rem 1rem}.yue .table-wrapper tr>th:first-child,.yue .table-wrapper tr>td:first-child{border-left:0}.yue .table-wrapper caption{border-bottom:1px solid var(--yue-c-th-border);margin:0;padding:.5rem}.yue .table-wrapper tbody tr.row-odd{background-color:var(--yue-c-row-background)}.yue table.hlist td{vertical-align:top}.table-wrapper{scrollbar-gutter:auto;overflow-x:auto}.table-wrapper::-webkit-scrollbar{width:.75rem;height:.75rem}.table-wrapper::-webkit-scrollbar-thumb{border-radius:10px}.table-wrapper::-webkit-scrollbar-track{background-color:#0000}.table-wrapper:hover::-webkit-scrollbar-thumb{background-color:#9b9b9b33;background-clip:content-box;border:3px solid #0000}.yue table.ghost th,.yue table.ghost td{background-color:#0000;border-left:0;border-right:0}.yue table.ghost caption{border-bottom:3px solid var(--yue-c-td-border);margin-bottom:0;padding-bottom:.5rem}.yue table.ghost thead tr:first-child{border-top:0;border-bottom-width:3px}.yue .table-wrapper.ghost{border:0}:root{--sig-property:var(--syntax-keyword);--sig-name:var(--syntax-property);--sig-typehint:var(--syntax-constant);--sig-param:var(--syntax-meta)}dt.sig{text-indent:-2.4rem;border-radius:6px;padding:.25rem .5rem .25rem 3rem;font-size:.92rem;position:relative}dt.sig:after{content:"";clear:both;display:table}dt.sig:hover{background:var(--sy-c-surface)}dt.sig+dd{margin-left:2rem;font-size:.92rem}dt.sig>em.property:first-child{color:var(--sig-property)}dl.field-list{margin-top:0}dl.field-list a{font-weight:400}dt.sig+dd>div{margin-bottom:1rem}dt.sig+dd>dl.field-list>dt{text-transform:uppercase;font-size:.76rem}em.property,em.sig-param{font-style:normal}em.sig-param{color:var(--sy-c-light)}span.sig-prename,span.sig-name{color:var(--sig-name)}span.sig-name{font-weight:600}span.sig-return-icon{color:var(--sy-c-light)}span.sig-return-typehint,span.sig-return-typehint>a{color:var(--sig-typehint)}span.sig-paren,span.pre{font-family:var(--sy-f-mono)}dt.sig>a.internal{color:var(--sy-c-light);border:0;font-size:.82rem}dt.sig>a.internal:before{content:"\a ";white-space:pre}.viewcode-block{position:relative}.viewcode-back{font-size:.8rem;position:absolute;top:-1.5rem}.classifier{font-style:oblique;font-weight:400}.classifier:before{content:":";margin-left:.1rem;margin-right:.5rem;font-style:normal;display:inline-block}.yue .table-wrapper.autosummary{border-left:0;border-right:0;border-radius:0}.yue .table-wrapper table.autosummary td{border:none;padding-top:.25rem;padding-bottom:.25rem}.yue p.rubric+div.autosummary{margin-top:0}.hamburger{cursor:pointer;width:16px;height:14px;display:inline-block;position:relative;overflow:hidden}.hamburger>span{background-color:var(--sy-c-text);width:16px;height:2px;transition:top .25s,transform .25s;position:absolute;left:0}.hamburger_1{top:0}.hamburger_2{top:6px}.hamburger_3{top:12px}button[aria-expanded=true] .hamburger .hamburger_1{top:6px;transform:translate(0)rotate(225deg)}button[aria-expanded=true] .hamburger .hamburger_2{top:6px;transform:translate(18px)}button[aria-expanded=true] .hamburger .hamburger_3{top:6px;transform:translate(0)rotate(135deg)}.searchbox{position:relative}.searchbox input{appearance:none;width:100%;font-size:.92rem;font-family:var(--sy-f-text);background:var(--sy-c-surface);border-radius:6px;outline:0;padding:6px 12px}.searchbox kbd,.searchbox button{font-size:.68rem;font-weight:600;font-family:var(--sy-f-mono);border:1px solid var(--sy-c-border);background-color:var(--sy-c-background);opacity:1;border-radius:3px;margin:6px;padding:2px 6px;transition:opacity .2s;position:absolute;right:0}.searchbox input:focus+kbd{opacity:0}.searchform{align-items:center;display:flex;position:relative}.searchform input[name=q]{appearance:none;width:100%;font-size:.92rem;font-family:var(--sy-f-text);background:var(--sy-c-surface);border-radius:6px;outline:0;padding:6px 12px}.searchform input[name=q]+button{font-size:.68rem;font-weight:600;font-family:var(--sy-f-text);border:1px solid var(--sy-c-divider);background-color:var(--sy-c-background);opacity:1;border-radius:3px;margin:6px;padding:2px 6px;transition:opacity .2s;position:absolute;right:0}.search .highlighted{background-color:var(--accent-a4)}#search-results{border-top:1px solid var(--sy-c-border)}#search-results h2{margin-top:2rem;margin-bottom:.725rem}#search-results .search-summary{color:var(--sy-c-light);font-weight:500}#search-results ul.search{margin-left:0;padding-top:.625rem;padding-bottom:2rem;padding-left:0;list-style-type:none}#search-results ul.search>li{padding-left:0}#search-results ul.search>li+li{border-top:1px solid var(--sy-c-divider);padding-top:1rem}#search-results ul.search li>a{font-weight:600}#search-results ul.search p.context{margin-top:.5rem;font-size:.875rem}.demo{border:1px solid var(--sy-c-border);border-radius:6px}.demo-code .highlight>pre{border-bottom-right-radius:0;border-bottom-left-radius:0}.demo-result{padding:1rem}.container.image-1,.container.video-1{border:.5rem solid var(--accent-a3);border-radius:6px}.container.image-1>img{border-radius:4px;margin:0}.container.video-1 video,.container.video-1 iframe{border-radius:4px;width:100%;margin:0}.container.image-2,.container.video-2{border:1px solid var(--sy-c-border);border-radius:6px;padding:1rem}.container.image-2>img,.container.video-2>video{margin:0}.container.buttons{margin:2rem 0 4.2rem}.container.buttons>p{gap:1rem;display:flex}.container.buttons a{border:2px solid var(--sy-c-border);background-color:var(--sy-c-surface);border-radius:2.6rem;padding:0 2rem;font-weight:600;line-height:2.6rem;transition:all .2s;display:inline-block}.container.buttons a:first-child{color:var(--accent-contrast);background-color:var(--accent-9);border-color:var(--accent-9)}.container.buttons a:hover{color:var(--sy-c-bold);border-color:var(--accent-9);background-color:var(--sy-c-background)}.container.rounded-image img{border-radius:99999px}#ethical-ad-placement .ethical-sidebar{background-color:var(--sy-c-surface);border:none;padding:.8rem;position:relative}#ethical-ad-placement .ethical-text a{color:var(--sy-c-text)!important}#ethical-ad-placement .ethical-text a:hover{color:var(--sy-c-link-hover)!important}.sy-main #ethical-ad-placement .ethical-sidebar{max-width:380px;margin-left:0}.sy-main #ethical-ad-placement .ethical-image-link{flex-shrink:0;margin-right:.4rem}.sy-main #ethical-ad-placement .ethical-content{display:flex}.sy-main #ethical-ad-placement .ethical-text{margin-top:0}.sy-main #ethical-ad-placement .ethical-callout{position:absolute;bottom:.4rem;right:.4rem}#carbonads{background-color:var(--sy-c-surface);border:none;border-radius:8px;margin:1rem 0;padding:.8rem .8rem 1.6rem;display:block;position:relative}#carbonads a{border:0;font-weight:400}#carbonads img{margin:0}.carbon-wrap{flex-direction:column;justify-content:space-between;align-items:center;display:flex}.carbon-text{text-align:center;margin:.5rem 0;font-size:.78rem;line-height:1.42;display:block}.carbon-text:hover{color:var(--sy-c-link-hover)}.carbon-poweredby{opacity:.68;text-transform:uppercase;font-size:.68rem;position:absolute;bottom:.5rem;right:.8rem}.carbon-poweredby:hover{text-decoration:underline}.sy-main #carbonads{max-width:380px;margin-top:1.6rem;padding:1rem}.sy-main .carbon-wrap{flex-direction:row;align-items:flex-start}.sy-main .carbon-text{text-align:left;margin-top:0;margin-left:1rem;font-size:.86rem}.bsa{margin:1rem 0}.bsa a{border-bottom:none;text-decoration:none}.bsa-container{border-radius:6px;flex-flow:row;justify-content:space-between;align-items:center;padding:15px 20px;text-decoration:none;display:flex;box-shadow:inset 0 0 0 1px #0000001a}.bsa-ad-via{text-align:right}.bsa-ad-via a{background:var(--gray-a3);border:none;border-radius:2px;padding:3px 10px;font-size:10px;font-weight:300}.bsa-main{flex-flow:row;flex-grow:1;justify-content:center;align-items:center;margin:0 auto;display:flex}.bsa-img{max-height:40px;margin-right:20px;line-height:0}.yue a.bsa-container .bsa-img{margin-top:0;margin-bottom:0}.bsa-details{flex-flow:column;margin-right:20px;display:flex}.bsa-tagline{letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:600;line-height:1}.bsa-desc{letter-spacing:1px;max-width:600px;font-size:12px;font-weight:400;line-height:1.4}.bsa-cta{letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:10px 16px;font-size:10px;font-weight:600;line-height:1;transition:all .3s ease-in-out;transform:translateY(-1px)}@media (max-width:940px){.bsa-details{margin-right:0;font-size:14px}.bsa-cta{display:none}}@media (min-width:768px) and (max-width:820px){.bsa-img{display:none}}@media (max-width:480px){.bsa-img{display:none}}.repo-stats{border:1px solid var(--sy-c-divider);border-radius:6px;margin-bottom:1rem;padding:.5rem}.repo-stats:hover{background-color:var(--sy-c-surface)}.repo-stats-count{color:var(--sy-c-light)}.repo-stats strong{font-weight:500;font-family:var(--sy-f-mono);color:inherit}.edit-this-page{border-top:1px solid var(--sy-c-divider);margin:1rem 0;padding:.5rem 0;font-size:.8rem;font-weight:600}.repo-stats+.edit-this-page{border-top:0;margin-top:0;padding-top:0}.edit-this-page a{color:var(--sy-c-text)}.edit-this-page a:hover{color:var(--sy-c-link-hover)}.edit-this-page a:after{content:" →"}.back-to-top{z-index:10;background:var(--sy-c-background);border-radius:2rem;align-items:center;gap:.25rem;padding:.4rem .8rem .4rem .6rem;font-size:.8rem;display:none;position:fixed;bottom:68px;left:50%;transform:translate(-50%);box-shadow:0 .2rem .5rem #0000000d,0 0 1px #6b728080}.dark .back-to-top{background:var(--slate-2);box-shadow:0 .2rem .5rem #ffffff0d,0 0 1px #9aa4b880}.back-to-top:hover{color:var(--accent-contrast);background:var(--accent-9)}.back-to-top svg{fill:currentColor;width:1rem;height:1rem;display:inline-block}.back-to-top[data-visible=true]{display:flex}.icon-link{display:inline-block}.icon-link span{vertical-align:middle;display:inline-block}.icon-link .icon{border:1px solid var(--sy-c-border);opacity:.8;border-radius:6px;margin-right:.4rem;padding:.1rem}.icon-link svg{width:1.5rem;height:1.5rem}.icon-link:hover .icon{opacity:1}.announcement{width:100%;color:var(--sy-c-banner,var(--accent-contrast));background-color:var(--sy-c-banner-bg,var(--accent-a11));z-index:20;align-items:center;padding:.8rem 2rem;display:flex;position:sticky;top:0;left:0}.announcement a{text-decoration:underline}.announcement ::selection{color:var(--sy-c-banner,var(--accent-contrast))}.announcement-inner{width:100%}.announcement-close{position:absolute;top:.8rem;right:1rem}.sy-head{top:var(--sy-s-banner-height);height:var(--sy-s-navbar-height);z-index:20;background-color:#0000;position:sticky}.sy-head-blur{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--sand-a1);width:100%;height:100%;box-shadow:0 0 var(--sy-c-background-contrast),0 2px 4px var(--gray-a1),0 1px 0 var(--sy-c-divider);z-index:-1;position:absolute;top:0;left:0}.sy-head-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1rem);height:var(--sy-s-navbar-height);justify-content:space-between;align-items:center;display:flex}.sy-head-brand img{height:28px}.sy-head-brand img+strong,.sy-head-brand .dark-logo{display:none}.dark .sy-head-brand .dark-logo{display:inline}.dark .sy-head-brand .light-logo{display:none}.light .sy-head-brand .light-logo{display:inline}.light .sy-head-brand .dark-logo{display:none}.sy-head-links button,.sy-head-links a{white-space:nowrap;padding:.5rem;font-size:.95rem;font-weight:500}.sy-head-links .link i.external-link{opacity:.6;color:var(--sy-c-light);margin-left:2px;font-size:68%}.sy-head-links .link>ul a{white-space:normal;display:block}.sy-head-links .link>ul a:hover{background:var(--sy-c-surface);border-radius:6px}.sy-head-links .link>ul small{color:var(--sy-c-light);font-weight:400;display:block}.sy-head-socials{align-items:center;display:flex}.sy-head-socials a{align-items:center;padding:.5rem;display:flex}.sy-head-actions button{height:var(--sy-s-navbar-height);padding:0 .5rem}@media (max-width:767px){body[data-expanded*=head-nav]{overflow:hidden}.sy-head-nav{top:var(--sy-s-offset-top);box-sizing:border-box;border-top:1px solid var(--sy-c-divider);background-color:var(--sy-c-background);width:100%;padding:4rem 1.8rem 0;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sy-head-nav[aria-hidden=false]{display:block}.sy-head-links{margin-left:auto;margin-right:auto}.sy-head-links .link{margin:.5rem 0}.sy-head-links .link i.chevron{display:none}.sy-head-links .link>ul{margin:.5rem 0 .5rem 1rem}.sy-head-extra form.searchbox{position:absolute;top:1rem;left:1.8rem;right:1.8rem}.sy-head-extra{flex-direction:column;width:100%;padding:2rem 0 1rem}}@media (min-width:768px){.sy-head-inner{padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-head-nav{flex-grow:1;justify-content:space-between;align-items:center;display:flex}.sy-head-links[data-align=right]{--head-links-justify-content:flex-end}.sy-head-links[data-align=center]{--head-links-justify-content:center}.sy-head-links{white-space:nowrap;justify-content:var(--head-links-justify-content,flex-start);flex-grow:1;padding:0 1rem;display:flex;overflow:auto}.sy-head-links .link{height:var(--sy-s-navbar-height);align-items:center;display:inline-flex}.sy-head-links a:hover{color:var(--sy-c-link-hover)}.sy-head-links .link:hover>a{background-color:var(--sy-c-surface);border-radius:6px}.sy-head-links .link i.chevron-down{color:var(--sy-c-light)}.sy-head-links .link>ul{visibility:hidden;background-color:var(--sy-c-background);height:0;top:var(--sy-s-navbar-height);border:1px solid var(--sy-c-divider);box-shadow:var(--sy-dropdown-shadow);z-index:9;border-radius:6px;max-width:320px;margin-top:-10px;padding:15px;position:absolute}.sy-head-links .link>ul[aria-hidden=false],.sy-head-links .link:hover>ul{visibility:visible;height:auto}.sy-head-links .link>ul>li{padding:.2rem 0}.sy-head-socials{margin-left:.5rem}}.sy-foot{border-top:1px solid var(--sy-c-foot-divider);color:var(--sy-c-foot-text);background-color:var(--sy-c-foot-background);padding-top:1.5rem;padding-bottom:1rem}.sy-foot-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-foot-copyright{font-size:.84rem}.sy-foot-copyright a{font-weight:500}.sy-foot-copyright a:hover{text-decoration:underline}.sy-foot-socials a{color:var(--sy-c-foot-text);font-size:1.4rem}.sy-foot-socials a+a{margin-left:.5rem}.sy-foot-socials a svg{width:1.4rem;height:1.4rem;display:inline-block}.sy-lside .sidebar-links{margin-bottom:2rem}@media (min-width:768px){.sy-lside .sy-lside-inner{top:var(--sy-s-offset-top)}.sy-lside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top));overflow-x:hidden}}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 68px)}.sy-main{min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}.sy-content{max-width:64rem;min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}@media (max-width:767px){#lside{z-index:18;top:var(--sy-s-offset-top);width:300px;max-width:100%;height:calc(100vh - var(---sy-s-offset-top));background:var(--sy-c-background);transition:transform .2s;position:fixed;bottom:0;left:0;overflow:auto;transform:translate(-100%)}#lside[aria-hidden=false]{transform:translate(0)}.lside-overlay{top:var(--sy-s-offset-top);background-color:var(--sy-c-overlay);opacity:0;width:0;height:0;transition:width 0 .25s,height 0 .25s,opacity .25s;position:fixed;left:0}#lside[aria-hidden=false]+.lside-overlay{opacity:1;z-index:16;width:100%;height:100%}}@media (max-width:1279px){.sy-rside{z-index:25;background:var(--sy-c-background);width:20rem;max-width:100%;box-shadow:0 0 var(--sy-c-background-contrast),-12px 0 16px var(--gray-a1);padding-top:2rem;padding-bottom:1rem;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;overflow:auto;transform:translate(110%)}#rside[aria-hidden=false]{transform:translate(0)}.rside-close{justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.4rem;display:flex;position:absolute;top:16px;right:16px}.rside-overlay{background-color:var(--sy-c-overlay);opacity:0;width:0;height:0;transition:width 0 .25s,height 0 .25s,opacity .25s;position:fixed;top:0;left:0}#rside[aria-hidden=false]+.rside-overlay{opacity:1;z-index:22;width:100%;height:100%}}@media (min-width:768px){.sy-main{width:calc(100% - 18rem);max-width:52rem}}@media (min-width:1280px){.sy-main{width:calc(100% - 34rem);max-width:none}.sy-rside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top) - env(safe-area-inset-bottom))}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 24px)}}.nav-languages button,.nav-versions button{cursor:pointer;white-space:nowrap;background:0 0;border:0;margin:0;padding:0}.nav-versions .chevron-down{color:var(--sy-c-light)}@media (max-width:767px){.nav-versions,.nav-languages{background-color:var(--sy-c-surface);border-radius:6px;width:100%;margin-bottom:1rem;padding-bottom:.6rem}.nav-versions button,.nav-languages button{color:var(--sy-c-light);padding:.5rem 1rem;font-size:.76rem;font-weight:500}.nav-versions button>i,.nav-languages button>i{display:none}.nav-versions ul{padding:0 .6rem}.nav-versions li{padding:.2rem .4rem;display:inline-block}.nav-languages li{padding:.32rem 1rem;font-size:.94rem}}@media (min-width:768px){.nav-versions,.nav-languages{width:auto;height:var(--sy-s-navbar-height);color:var(--sy-c-text);background:0 0;align-items:center;display:flex;position:relative}.nav-languages button,.nav-versions button{border-right:1px solid var(--gray-3);padding:0 .5rem}.nav-versions-choices,.nav-languages-choices{visibility:hidden;box-sizing:border-box;background-color:var(--sy-c-background);min-width:120px;max-height:60vh;box-shadow:var(--sy-dropdown-shadow);border-radius:6px;padding:.8rem 1rem;position:absolute;top:3rem;right:-.6rem;overflow:hidden auto}.nav-versions:hover .nav-versions-choices,.nav-languages:hover .nav-languages-choices{visibility:visible}.nav-versions li,.nav-languages li{padding:.1rem 0}.nav-versions a,.nav-languages a{color:var(--sy-c-text);white-space:nowrap;padding:.2rem .6rem;display:block}.nav-versions a:hover,.nav-languages a:hover{color:var(--sy-c-link-hover);background:var(--sy-c-surface);border-radius:6px}}.sy-breadcrumbs{top:var(--sy-s-offset-top);background-color:var(--sy-c-background);z-index:5;padding:0 1.5rem;position:sticky}.sy-breadcrumbs-inner{border-bottom:1px solid var(--sy-c-divider);padding:.8rem 0}.sy-breadcrumbs ol{white-space:nowrap;font-size:.94rem;display:flex;overflow:auto}.sy-breadcrumbs button{align-items:center;display:flex}.sy-breadcrumbs ol a{color:var(--sy-c-light)}.sy-breadcrumbs ol a:hover{color:var(--sy-c-bold)}.sy-breadcrumbs ol a+span{color:var(--sy-c-light);padding:0 .4rem;font-weight:300}@media (min-width:1280px){.sy-breadcrumbs{display:none}}@media (min-width:768px){.sy-breadcrumbs-inner{padding:1.5rem 0 1rem}}.globaltoc{padding-bottom:20px}.globaltoc .caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-light);text-transform:uppercase;letter-spacing:.4px;border-top:1px solid var(--sy-c-divider);padding:.8rem 0 .4rem}.globaltoc>p.caption:first-of-type{border-top:none;padding-top:0}.globaltoc .caption+ul{margin-bottom:1.5rem}.globaltoc ul+.caption{margin-top:2.5rem}.globaltoc li{margin:.6rem 0}.globaltoc li>ul{margin-left:.6rem;font-size:.96rem}.globaltoc li.toctree-l1>ul{border-left:1px solid var(--gray-3);margin-left:.2rem}.globaltoc li.toctree-l2{border-left:1px solid #0000;margin-left:-1px;padding-left:.9rem}.globaltoc li.toctree-l2.current{border-color:var(--sy-c-link)}.globaltoc>ul a.current{color:var(--sy-c-link);font-weight:500}.globaltoc>ul a:hover{color:var(--sy-c-link-hover)}.globaltoc a.external:after{content:"";-webkit-mask:var(--lucide-external-link-url)no-repeat;-webkit-mask:var(--lucide-external-link-url)no-repeat;mask:var(--lucide-external-link-url)no-repeat;vertical-align:middle;background-color:var(--sy-c-light);width:.825rem;height:.825rem;margin-left:.2rem;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.globaltoc li{position:relative}.globaltoc li>button{border-radius:3px;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;display:flex;position:absolute;top:.2rem;right:0}.globaltoc li>button:hover{background-color:var(--sy-c-surface)}.globaltoc li.current>ul,.globaltoc li._expand>ul{display:block}.globaltoc li>ul,.globaltoc li._collapse>ul{display:none}.globaltoc li>button>i{transition:transform .2s;transform:rotate(0)}.globaltoc li.current>button>i,.globaltoc li._expand>button>i{transform:rotate(90deg)}.globaltoc li._collapse>button>i{transform:rotate(0)}.sy-deprecated{background-color:#ffdd001a;border-radius:6px;padding:.8rem;font-size:.85rem}.sy-deprecated a{color:var(--sy-c-link);text-decoration:underline}.sy-deprecated a:hover{color:var(--sy-c-link-hover)}.sy-rside-inner>div{margin-bottom:1rem}.sy-rside-inner>div>h3{letter-spacing:.4px;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem;font-weight:500}html[lang=zh] .sy-rside-inner>div>h3,html[lang=zh-TW] .sy-rside-inner>div>h3,html[lang=ja] .sy-rside-inner>div>h3,html[lang=ko] .sy-rside-inner>div>h3{letter-spacing:0;font-size:.86rem;font-weight:600}.localtoc>ul li{margin-top:.36rem;margin-bottom:.36rem}.localtoc>ul li>a:hover{color:var(--sy-c-link-hover)}.localtoc>ul li.active>a{color:var(--sy-c-link);font-weight:500}.localtoc>ul>li ul{padding-left:.8rem}.sy-rside ul.this-page-menu{margin-top:-.6rem}.sy-rside ul.this-page-menu a{font-size:.96rem}.sy-rside ul.this-page-menu a:hover{color:var(--sy-c-link-hover)}.navigation{border-top:1px solid var(--sy-c-divider);gap:2rem;margin-top:2rem;padding-top:1rem}.navigation>div{width:100%}.navigation a{align-items:center;display:inline-flex}.navigation a:hover{color:var(--sy-c-link-hover)}.navigation-next{text-align:right}.navigation-next a{justify-content:end}.navigation .page-info{padding:0 8px}.navigation .page-info>span{color:var(--sy-c-light);font-size:.8rem}:root{--readthedocs-search-font-family:var(--sy-f-text);--readthedocs-search-color:var(--sy-c-text);--readthedocs-search-input-background-color:var(--gray-3);--readthedocs-search-content-border-color:var(--gray-4);--readthedocs-search-content-background-color:var(--sy-c-background);--readthedocs-search-result-section-color:var(--sy-c-text);--readthedocs-search-result-section-subheading-color:var(--sy-c-heading);--readthedocs-search-result-section-highlight-color:var(--accent-9);--readthedocs-search-result-section-border-color:var(--sy-c-border)}.yue button.copybtn{color:var(--syntax-text);background-color:#0000;border:none;justify-content:center;align-items:center}.yue button.copybtn>svg{width:1.4rem;height:1.4rem}.yue button.copybtn:hover{color:var(--syntax-meta)}.yue .highlight button.copybtn:hover{background-color:#0000}.yue button.copybtn:after{color:var(--syntax-text);background-color:#0000}.yue button.copybtn.success{border-color:var(--green-a10);color:var(--green-a10)}.yue button.copybtn.success:after{color:var(--green-a10)}.code-block-caption+div>.highlight .copybtn{opacity:.5;top:-2em}.yue{--sd-color-primary:var(--accent-a11);--sd-color-secondary:var(--gold-a11);--sd-color-success:var(--green-a11);--sd-color-info:var(--blue-a11);--sd-color-warning:var(--orange-a11);--sd-color-danger:var(--red-a11);--sd-color-light:var(--sand-a2);--sd-color-muted:var(--gray-8);--sd-color-dark:#212122;--sd-color-black:black;--sd-color-white:white;--sd-color-primary-highlight:var(--accent-a8);--sd-color-secondary-highlight:var(--gold-a8);--sd-color-success-highlight:var(--green-a8);--sd-color-info-highlight:var(--blue-a8);--sd-color-warning-highlight:var(--orange-a8);--sd-color-danger-highlight:var(--red-a8);--sd-color-light-highlight:var(--gray-4);--sd-color-muted-highlight:var(--gray-11);--sd-color-dark-highlight:#121211;--sd-color-black-highlight:black;--sd-color-white-highlight:#d9d9d9;--sd-color-primary-text:var(--accent-contrast);--sd-color-secondary-text:var(--gold-contrast);--sd-color-success-text:var(--green-contrast);--sd-color-info-text:var(--blue-contrast);--sd-color-warning-text:var(--orange-contrast);--sd-color-danger-text:var(--red-contrast);--sd-color-light-text:var(--sy-c-text);--sd-color-muted-text:#fff;--sd-color-dark-text:#fff;--sd-color-black-text:#fff;--sd-color-white-text:#212529;--sd-color-shadow:var(--gray-1);--sd-color-card-border:var(--sy-c-border);--sd-color-card-border-hover:var(--accent-a9);--sd-color-tabs-label-inactive:var(--sy-c-bold);--sd-color-tabs-label-active:var(--sd-color-primary);--sd-color-tabs-underline-active:var(--sd-color-primary);--sd-color-tabs-label-hover:var(--accent-9);--sd-color-tabs-underline-hover:var(--accent-9)}.yue .surface{--sd-color-card-text:var(--sy-c-light);--sd-color-card-border:transparent;--sd-color-card-background:var(--sy-c-surface)}.yue a.sd-badge,.yue a.sd-badge:hover{border-bottom:0}.yue .sd-badge{border-radius:3px;font-weight:600}.yue .sd-btn{border-color:var(--sy-c-border)}.yue .sd-tab-set.outline{border:1px solid var(--sy-c-border);border-radius:4px;overflow:auto}.yue .sd-tab-set>label{padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sd-tab-set.outline>label{margin-left:1rem;padding-top:.5rem}.yue .sd-tab-set>label~label{margin-left:1rem}.yue .sd-tab-content{box-shadow:0 -.0625rem var(--sy-c-divider);padding:0}.yue .sd-tab-content .code-block-caption,.yue .sd-tab-content .highlight pre{border-radius:0}.yue .sd-card-title{color:var(--sy-c-text)}.yue .sd-card-title a{border-bottom:0}.yue .sd-card-title>svg,.yue .sd-card-title>iconify-icon{margin-right:.25rem;position:relative;top:-1px}.yue .sd-card-hover:hover{transform:scale(1)}.yue .sd-card-hover:hover .sd-card-title{color:var(--sy-c-link-hover)}.yue .sd-card a.sd-hide-link-text,.yue .sd-card a.sd-hide-link-text:hover{border-bottom:0}.yue .surface .sd-card-header,.yue .surface .sd-card-body,.yue .surface .sd-card-footer{padding-left:1.5rem;padding-right:1.5rem}.yue .surface .sd-card-header,.yue .surface .sd-card-footer{border-color:var(--sy-c-border)}@media (print){.yue .sd-card{page-break-inside:avoid}}.yue a.sd-text-wrap:hover{border-bottom-width:1px}.sphinx-tabs [role=tablist]{border-color:var(--sy-c-divider)}.yue .sphinx-tabs-tab{color:var(--sy-c-text);line-height:inherit;border:none;border-bottom:.125rem solid #0000;padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sphinx-tabs-tab:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.yue .sphinx-tabs-tab[aria-selected=true]{border:none;border-bottom:.125rem solid var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active);background-color:#0000}.yue .sphinx-tabs-tab+.sphinx-tabs-tab{margin-left:1rem}.yue .sphinx-tabs-panel{background-color:#0000;border:none;border-radius:0;margin:0;padding:0}.yue .sphinx-tabs-panel.code-tab{padding:0}.yue .sphinx-tabs-panel.code-tab .code-block-caption,.yue .sphinx-tabs-panel.code-tab .highlight pre{border-radius:0}.yue{--jp-widgets-input-border-color:var(--gray-5);--jp-widgets-input-focus-border-color:var(--gray-8);--jp-widgets-slider-active-handle-color:var(--gray-4);--jp-widgets-slider-handle-border-color:var(--sy-c-border)}.yue .jupyter_container{background-color:var(--sy-c-background);border:3px solid var(--sy-c-border);box-shadow:none;border-radius:6px;overflow:hidden}.sy-main .yue .jupyter_container div[class^=highlight]{padding:0}.yue .jupyter_container div.highlight{background-color:var(--syntax-pre-bg)}.yue .jupyter_container div.cell_input{background-color:var(--syntax-pre-bg);border:0;border-radius:0}.yue .jupyter_container div.code_cell pre{padding:0}.jupyter_container div.cell_output .output,.jupyter_container div.cell_output .stderr,.jupyter_container div.cell_output .widget-subarea{padding:.5rem}.jupyter_container div.cell_output .stderr .stderr{padding:0}.widget-hslider .slider-container,.jupyter-widget-hslider .slider-container{align-items:center;display:flex}.widget-slider .noUi-target,.jupyter-widget-slider .noUi-target{width:100%}.jupyter_container div.code_cell .highlight>pre{padding:1rem}.jupyter_container div.code_cell .highlight .hll{margin-left:-1rem;margin-right:-1rem;padding:0 1rem}.jupyter_container div.code_cell .highlight .linenos{margin-right:.8rem}.yue .jupyter_container .stderr{color:var(--red-a11);background-color:var(--red-a3)}.yue .jupyter_container .stderr .stderr{background-color:#0000}.nbinput .highlight{--radius:1px}.yue div.nblast.container{padding-top:5px}.yue div.nbinput.container div.input_area{border-color:var(--sy-c-border)}.yue div.nboutput.container div.output_area.stderr{color:var(--red-a11);background-color:var(--red-a3)}.yue div.nboutput.container div.output_area>.math-wrapper>div.math{padding-top:0}.yue .jp-RenderedHTMLCommon thead,.yue div.rendered_html thead{border-color:var(--sy-c-border)}.yue .jp-RenderedHTMLCommon tbody tr,.yue div.rendered_html tbody tr{color:var(--sy-c-text)}.yue .jp-RenderedHTMLCommon tbody tr:nth-child(odd),.yue div.rendered_html tbody tr:nth-child(odd){background-color:var(--sy-c-surface)}.yue .jp-RenderedHTMLCommon tbody tr:hover,.yue div.rendered_html tbody tr:hover{background-color:var(--color-surface-accent)}.yue{--sg-text-color:var(--sy-c-text);--sg-background-color:var(--sy-c-background);--sg-code-background-color:var(--syntax-pre-bg);--sg-tr-hover-color:var(--accent-a3);--sg-tr-odd-color:var(--sy-c-surface);--sg-tooltip-foreground:var(--sy-c-background-contrast);--sg-tooltip-background:var(--sy-c-background);--sg-tooltip-border:var(--gray-7)transparent;--sg-thumb-box-shadow-color:var(--gray-a4);--sg-thumb-hover-border:var(--accent-a9);--sg-script-out:var(--sy-c-light);--sg-script-pre:var(--syntax-pre-bg);--sg-pytb-foreground:var(--syntax-text);--sg-pytb-background:var(--red-a2);--sg-pytb-border-color:var(--red-a8);--sg-download-a-background-color:var(--accent-a3);--sg-download-a-background-image:none;--sg-download-a-border-color:1px solid var(--accent-a3);--sg-download-a-color:var(--accent-a11);--sg-download-a-hover-background-color:var(--accent-a4);--sg-download-a-hover-box-shadow-1:transparent;--sg-download-a-hover-box-shadow-2:transparent}.yue .sphx-glr-thumbnails a,.yue .sphx-glr-download a,.yue .sphx-glr-download a:hover{border-bottom:0}.yue p.sphx-glr-signature a{border-bottom:0;border-radius:0;text-decoration:underline}.yue p.sphx-glr-signature a:hover{color:var(--sy-c-link-hover)}.yue .sphx-glr-footer img{margin:0;display:inline}html.light,html.dark{--docsearch-primary-color:var(--accent-9);--docsearch-text-color:var(--sy-c-text);--docsearch-modal-background:var(--sy-c-background);--docsearch-footer-background:var(--sy-c-surface);--docsearch-searchbox-background:var(--sy-c-surface);--docsearch-searchbox-focus-background:var(--sy-c-background);--docsearch-muted-color:var(--sy-c-light);--docsearch-hit-color:var(--sy-c-text);--docsearch-hit-background:var(--sy-c-surface);--docsearch-hit-active-color:var(--accent-contrast);--docsearch-hit-shadow:inset 0 0 1px 0 var(--gray-a11);--docsearch-container-background:var(--sy-c-overlay)}html.light{--docsearch-key-gradient:linear-gradient(-225deg,#e6e6e6,#f8f8f8);--docsearch-key-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}html.dark{--docsearch-key-gradient:linear-gradient(-225deg,#353434,#141414);--docsearch-key-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000;--docsearch-footer-shadow:0 -1px 0 0 #373737,0 -3px 6px 0 #141414;--docsearch-modal-shadow:inset 1px 1px 0 0 #373737,0 3px 8px 0 #141414}#docsearch .DocSearch-Button{border-radius:6px}#docsearch .DocSearch-Button-Key,#docsearch .DocSearch-Button-Placeholder{font-size:.825rem}#docsearch .DocSearch-Button-Placeholder,#docsearch .DocSearch-Button-Keys{display:flex!important}#docsearch .DocSearch-Search-Icon{width:.875rem!important;height:.875rem!important}@media (max-width:767px){#docsearch{position:absolute;top:1rem;left:1.8rem;right:1.8rem}#docsearch .DocSearch-Button{width:100%;margin-left:0}}dl.sqla dt{color:var(--sig-name);margin-bottom:.5rem}dl.sqla dt>em{color:var(--sig-param);font-style:normal;font-weight:400}dl.sqla dd>p.rubric{text-transform:uppercase;margin-top:1.5rem;font-size:.76rem}dl.sqla dd>p.rubric+.table-wrapper{border-left:0;border-right:0;border-radius:0;margin-top:.75rem}dl.sqla p.rubric+.table-wrapper th,dl.sqla p.rubric+.table-wrapper td{background-color:#0000;border-left:0;border-right:0}dl.sqla p.rubric+.table-wrapper td>p{margin:0}dl.sqla p.rubric+.table-wrapper tr.row-odd{background-color:#0000}dl.sqla p.rubric+.table-wrapper tr.row-even{background-color:var(--yue-c-row-background)}.yue details.toggle-details{background-color:var(--slate-a2);border-radius:.2em;padding:0 1rem}.yue details.toggle-details summary{border-left-color:var(--accent-a9);background-color:var(--gray-a2);margin-left:-1rem;margin-right:-1rem}.yue details.toggle-details[open] summary{border-radius:.2em .2em 0 0}.yue .toggle-details__container{margin-top:0;margin-bottom:0;padding-top:1rem;padding-bottom:1rem}.yue .toggle-details__container :first-child{margin-top:0}.yue .toggle-details__container :last-child{margin-bottom:0}.yue .admonition.toggle-hidden .admonition-title~*{margin-bottom:0!important}.sphinx-contributors{container:contributors/inline-size}.sphinx-contributors .sphinx-contributors_list__item{margin:0;padding:0}.sphinx-contributors .sphinx-contributors_contributor__username,.sphinx-contributors .sphinx-contributors_contributor__contributions{margin:0}.sphinx-contributors.sphinx-contributors--avatars .sphinx-contributors_list{justify-content:flex-start;gap:1rem;padding:0}.sphinx-contributors--avatars .sphinx-contributors_contributor__username{margin-top:.5rem}.sphinx-contributors--avatars .sphinx-contributors_contributor__contributions{font-size:.875rem}.sphinx-contributors--avatars .sphinx-contributors_contributor__contributions:before{content:"";padding:0}.sphinx-contributors--avatars .sphinx-contributors_contributor{align-items:center}@container contributors (max-width:800px){.sphinx-contributors.sphinx-contributors--avatars .sphinx-contributors_list{column-gap:0}.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:25%}}@container contributors (max-width:700px){.sphinx-contributors--avatars img.sphinx-contributors_contributor__image{width:120px}}@container contributors (max-width:600px){.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:33.33%}}@container contributors (max-width:500px){.sphinx-contributors--avatars img.sphinx-contributors_contributor__image{width:120px}}@container contributors (max-width:400px){.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:50%}}.yue{--xr-font-color0:var(--sy-c-heading);--xr-font-color2:var(--sy-c-text);--xr-font-color3:var(--sy-c-light);--xr-border-color:var(--sy-c-border);--xr-disabled-color:var(--gray-a6);--xr-background-color:var(--sy-c-background);--xr-background-color-row-even:var(--sy-c-background);--xr-background-color-row-odd:var(--gray-2)}.yue .xr-array-data pre{margin:0}.yue iconify-icon[data-accent-color]{color:var(--accent-9)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/site/html/_static/shibuya.js b/site/html/_static/shibuya.js deleted file mode 100644 index 43fbc13..0000000 --- a/site/html/_static/shibuya.js +++ /dev/null @@ -1,41 +0,0 @@ -(()=>{var Ct=Object.freeze({left:0,top:0,width:16,height:16}),M=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),O=Object.freeze({...Ct,...M}),W=Object.freeze({...O,body:"",hidden:!1}),Xt=Object.freeze({width:null,height:null}),_t=Object.freeze({...Xt,...M});function Zt(t,e=0){let n=t.replace(/^-?[0-9.]*/,"");function s(o){for(;o<0;)o+=4;return o%4}if(n===""){let o=parseInt(t);return isNaN(o)?0:s(o)}else if(n!==t){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let i=parseFloat(t.slice(0,t.length-n.length));return isNaN(i)?0:(i=i/o,i%1===0?s(i):0)}}return e}var te=/[\s,]+/;function ee(t,e){e.split(te).forEach(n=>{switch(n.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}var Lt={..._t,preserveAspectRatio:""};function dt(t){let e={...Lt},n=(s,o)=>t.getAttribute(s)||o;return e.width=n("width",null),e.height=n("height",null),e.rotate=Zt(n("rotate","")),ee(e,n("flip","")),e.preserveAspectRatio=n("preserveAspectRatio",n("preserveaspectratio","")),e}function ne(t,e){for(let n in Lt)if(t[n]!==e[n])return!0;return!1}var Et=/^[a-z0-9]+(-[a-z0-9]+)*$/,j=(t,e,n,s="")=>{let o=t.split(":");if(t.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;s=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){let r=o.pop(),a=o.pop(),l={provider:o.length>0?o[0]:s,prefix:a,name:r};return e&&!N(l)?null:l}let i=o[0],c=i.split("-");if(c.length>1){let r={provider:s,prefix:c.shift(),name:c.join("-")};return e&&!N(r)?null:r}if(n&&s===""){let r={provider:s,prefix:"",name:i};return e&&!N(r,n)?null:r}return null},N=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function oe(t,e){let n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);let s=((t.rotate||0)+(e.rotate||0))%4;return s&&(n.rotate=s),n}function ft(t,e){let n=oe(t,e);for(let s in W)s in M?s in t&&!(s in n)&&(n[s]=M[s]):s in e?n[s]=e[s]:s in t&&(n[s]=t[s]);return n}function se(t,e){let n=t.icons,s=t.aliases||Object.create(null),o=Object.create(null);function i(c){if(n[c])return o[c]=[];if(!(c in o)){o[c]=null;let r=s[c]&&s[c].parent,a=r&&i(r);a&&(o[c]=[r].concat(a))}return o[c]}return Object.keys(n).concat(Object.keys(s)).forEach(i),o}function ie(t,e,n){let s=t.icons,o=t.aliases||Object.create(null),i={};function c(r){i=ft(s[r]||o[r],i)}return c(e),n.forEach(c),ft(t,i)}function Tt(t,e){let n=[];if(typeof t!="object"||typeof t.icons!="object")return n;t.not_found instanceof Array&&t.not_found.forEach(o=>{e(o,null),n.push(o)});let s=se(t);for(let o in s){let i=s[o];i&&(e(o,ie(t,o,i)),n.push(o))}return n}var re={provider:"",aliases:{},not_found:{},...Ct};function J(t,e){for(let n in e)if(n in t&&typeof t[n]!=typeof e[n])return!1;return!0}function Ot(t){if(typeof t!="object"||t===null)return null;let e=t;if(typeof e.prefix!="string"||!t.icons||typeof t.icons!="object"||!J(t,re))return null;let n=e.icons;for(let o in n){let i=n[o];if(!o||typeof i.body!="string"||!J(i,W))return null}let s=e.aliases||Object.create(null);for(let o in s){let i=s[o],c=i.parent;if(!o||typeof c!="string"||!n[c]&&!s[c]||!J(i,W))return null}return e}var q=Object.create(null);function ce(t,e){return{provider:t,prefix:e,icons:Object.create(null),missing:new Set}}function v(t,e){let n=q[t]||(q[t]=Object.create(null));return n[e]||(n[e]=ce(t,e))}function jt(t,e){return Ot(e)?Tt(e,(n,s)=>{s?t.icons[n]=s:t.missing.add(n)}):[]}function ae(t,e,n){try{if(typeof n.body=="string")return t.icons[e]={...n},!0}catch{}return!1}function le(t,e){let n=[];return(typeof t=="string"?[t]:Object.keys(q)).forEach(o=>{(typeof o=="string"&&typeof e=="string"?[e]:Object.keys(q[o]||{})).forEach(c=>{let r=v(o,c);n=n.concat(Object.keys(r.icons).map(a=>(o!==""?"@"+o+":":"")+c+":"+a))})}),n}var E=!1;function Pt(t){return typeof t=="boolean"&&(E=t),E}function T(t){let e=typeof t=="string"?j(t,!0,E):t;if(e){let n=v(e.provider,e.prefix),s=e.name;return n.icons[s]||(n.missing.has(s)?null:void 0)}}function Nt(t,e){let n=j(t,!0,E);if(!n)return!1;let s=v(n.provider,n.prefix);return e?ae(s,n.name,e):(s.missing.add(n.name),!0)}function ht(t,e){if(typeof t!="object")return!1;if(typeof e!="string"&&(e=t.provider||""),E&&!e&&!t.prefix){let o=!1;return Ot(t)&&(t.prefix="",Tt(t,(i,c)=>{Nt(i,c)&&(o=!0)})),o}let n=t.prefix;if(!N({prefix:n,name:"a"}))return!1;let s=v(e,n);return!!jt(s,t)}function ue(t){return!!T(t)}function de(t){let e=T(t);return e&&{...O,...e}}function fe(t){let e={loaded:[],missing:[],pending:[]},n=Object.create(null);t.sort((o,i)=>o.provider!==i.provider?o.provider.localeCompare(i.provider):o.prefix!==i.prefix?o.prefix.localeCompare(i.prefix):o.name.localeCompare(i.name));let s={provider:"",prefix:"",name:""};return t.forEach(o=>{if(s.name===o.name&&s.prefix===o.prefix&&s.provider===o.provider)return;s=o;let i=o.provider,c=o.prefix,r=o.name,a=n[i]||(n[i]=Object.create(null)),l=a[c]||(a[c]=v(i,c)),u;r in l.icons?u=e.loaded:c===""||l.missing.has(r)?u=e.missing:u=e.pending;let d={provider:i,prefix:c,name:r};u.push(d)}),e}function Rt(t,e){t.forEach(n=>{let s=n.loaderCallbacks;s&&(n.loaderCallbacks=s.filter(o=>o.id!==e))})}function he(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;let e=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!e.length)return;let n=!1,s=t.provider,o=t.prefix;e.forEach(i=>{let c=i.icons,r=c.pending.length;c.pending=c.pending.filter(a=>{if(a.prefix!==o)return!0;let l=a.name;if(t.icons[l])c.loaded.push({provider:s,prefix:o,name:l});else if(t.missing.has(l))c.missing.push({provider:s,prefix:o,name:l});else return n=!0,!0;return!1}),c.pending.length!==r&&(n||Rt([t],i.id),i.callback(c.loaded.slice(0),c.missing.slice(0),c.pending.slice(0),i.abort))})}))}var pe=0;function ge(t,e,n){let s=pe++,o=Rt.bind(null,n,s);if(!e.pending.length)return o;let i={id:s,icons:e,callback:t,abort:o};return n.forEach(c=>{(c.loaderCallbacks||(c.loaderCallbacks=[])).push(i)}),o}var X=Object.create(null);function pt(t,e){X[t]=e}function Z(t){return X[t]||X[""]}function me(t,e=!0,n=!1){let s=[];return t.forEach(o=>{let i=typeof o=="string"?j(o,e,n):o;i&&s.push(i)}),s}var be={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ye(t,e,n,s){let o=t.resources.length,i=t.random?Math.floor(Math.random()*o):t.index,c;if(t.random){let h=t.resources.slice(0);for(c=[];h.length>1;){let b=Math.floor(Math.random()*h.length);c.push(h[b]),h=h.slice(0,b).concat(h.slice(b+1))}c=c.concat(h)}else c=t.resources.slice(i).concat(t.resources.slice(0,i));let r=Date.now(),a="pending",l=0,u,d=null,f=[],p=[];typeof s=="function"&&p.push(s);function I(){d&&(clearTimeout(d),d=null)}function x(){a==="pending"&&(a="aborted"),I(),f.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),f=[]}function g(h,b){b&&(p=[]),typeof h=="function"&&p.push(h)}function z(){return{startTime:r,payload:e,status:a,queriesSent:l,queriesPending:f.length,subscribe:g,abort:x}}function w(){a="failed",p.forEach(h=>{h(void 0,u)})}function y(){f.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),f=[]}function m(h,b,k){let P=b!=="success";switch(f=f.filter(A=>A!==h),a){case"pending":break;case"failed":if(P||!t.dataAfterTimeout)return;break;default:return}if(b==="abort"){u=k,w();return}if(P){u=k,f.length||(c.length?G():w());return}if(I(),y(),!t.random){let A=t.resources.indexOf(h.resource);A!==-1&&A!==t.index&&(t.index=A)}a="completed",p.forEach(A=>{A(k)})}function G(){if(a!=="pending")return;I();let h=c.shift();if(h===void 0){if(f.length){d=setTimeout(()=>{I(),a==="pending"&&(y(),w())},t.timeout);return}w();return}let b={status:"pending",resource:h,callback:(k,P)=>{m(b,k,P)}};f.push(b),l++,d=setTimeout(G,t.rotate),n(h,e,b.callback)}return setTimeout(G),z}function Mt(t){let e={...be,...t},n=[];function s(){n=n.filter(r=>r().status==="pending")}function o(r,a,l){let u=ye(e,r,a,(d,f)=>{s(),l&&l(d,f)});return n.push(u),u}function i(r){return n.find(a=>r(a))||null}return{query:o,find:i,setIndex:r=>{e.index=r},getIndex:()=>e.index,cleanup:s}}function ot(t){let e;if(typeof t.resources=="string")e=[t.resources];else if(e=t.resources,!(e instanceof Array)||!e.length)return null;return{resources:e,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}var $=Object.create(null),C=["https://api.simplesvg.com","https://api.unisvg.com"],R=[];for(;C.length>0;)C.length===1||Math.random()>.5?R.push(C.shift()):R.push(C.pop());$[""]=ot({resources:["https://api.iconify.design"].concat(R)});function gt(t,e){let n=ot(e);return n===null?!1:($[t]=n,!0)}function D(t){return $[t]}function ve(){return Object.keys($)}function mt(){}var Y=Object.create(null);function Ie(t){if(!Y[t]){let e=D(t);if(!e)return;let n=Mt(e),s={config:e,redundancy:n};Y[t]=s}return Y[t]}function qt(t,e,n){let s,o;if(typeof t=="string"){let i=Z(t);if(!i)return n(void 0,424),mt;o=i.send;let c=Ie(t);c&&(s=c.redundancy)}else{let i=ot(t);if(i){s=Mt(i);let c=t.resources?t.resources[0]:"",r=Z(c);r&&(o=r.send)}}return!s||!o?(n(void 0,424),mt):s.query(e,o,n)().abort}function bt(){}function xe(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,he(t)}))}function we(t){let e=[],n=[];return t.forEach(s=>{(s.match(Et)?e:n).push(s)}),{valid:e,invalid:n}}function _(t,e,n){function s(){let o=t.pendingIcons;e.forEach(i=>{o&&o.delete(i),t.icons[i]||t.missing.add(i)})}if(n&&typeof n=="object")try{if(!jt(t,n).length){s();return}}catch(o){console.error(o)}s(),xe(t)}function yt(t,e){t instanceof Promise?t.then(n=>{e(n)}).catch(()=>{e(null)}):e(t)}function Ae(t,e){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(e).sort():t.iconsToLoad=e,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;let{provider:n,prefix:s}=t,o=t.iconsToLoad;if(delete t.iconsToLoad,!o||!o.length)return;let i=t.loadIcon;if(t.loadIcons&&(o.length>1||!i)){yt(t.loadIcons(o,s,n),u=>{_(t,o,u)});return}if(i){o.forEach(u=>{let d=i(u,s,n);yt(d,f=>{let p=f?{prefix:s,icons:{[u]:f}}:null;_(t,[u],p)})});return}let{valid:c,invalid:r}=we(o);if(r.length&&_(t,r,null),!c.length)return;let a=s.match(Et)?Z(n):null;if(!a){_(t,c,null);return}a.prepare(n,s,c).forEach(u=>{qt(n,u,d=>{_(t,u.icons,d)})})}))}var st=(t,e)=>{let n=me(t,!0,Pt()),s=fe(n);if(!s.pending.length){let a=!0;return e&&setTimeout(()=>{a&&e(s.loaded,s.missing,s.pending,bt)}),()=>{a=!1}}let o=Object.create(null),i=[],c,r;return s.pending.forEach(a=>{let{provider:l,prefix:u}=a;if(u===r&&l===c)return;c=l,r=u,i.push(v(l,u));let d=o[l]||(o[l]=Object.create(null));d[u]||(d[u]=[])}),s.pending.forEach(a=>{let{provider:l,prefix:u,name:d}=a,f=v(l,u),p=f.pendingIcons||(f.pendingIcons=new Set);p.has(d)||(p.add(d),o[l][u].push(d))}),i.forEach(a=>{let l=o[a.provider][a.prefix];l.length&&Ae(a,l)}),e?ge(e,s,i):bt},Se=t=>new Promise((e,n)=>{let s=typeof t=="string"?j(t,!0):t;if(!s){n(t);return}st([s||t],o=>{if(o.length&&s){let i=T(s);if(i){e({...O,...i});return}}n(t)})});function vt(t){try{let e=typeof t=="string"?JSON.parse(t):t;if(typeof e.body=="string")return{...e}}catch{}}function ke(t,e){if(typeof t=="object")return{data:vt(t),value:t};if(typeof t!="string")return{value:t};if(t.includes("{")){let i=vt(t);if(i)return{data:i,value:t}}let n=j(t,!0,!0);if(!n)return{value:t};let s=T(n);if(s!==void 0||!n.prefix)return{value:t,name:n,data:s};let o=st([n],()=>e(t,n,T(n)));return{value:t,name:n,loading:o}}var Ft=!1;try{Ft=navigator.vendor.indexOf("Apple")===0}catch{}function Ce(t,e){switch(e){case"svg":case"bg":case"mask":return e}return e!=="style"&&(Ft||t.indexOf("=0;){let o=t.indexOf(">",s),i=t.indexOf("",i);if(c===-1)break;n+=t.slice(o+1,i).trim(),t=t.slice(0,s).trim()+t.slice(c+1)}return{defs:n,content:t}}function Te(t,e){return t?""+t+""+e:e}function Oe(t,e,n){let s=Ee(t);return Te(s.defs,e+s.content+n)}var je=t=>t==="unset"||t==="undefined"||t==="none";function $t(t,e){let n={...O,...t},s={..._t,...e},o={left:n.left,top:n.top,width:n.width,height:n.height},i=n.body;[n,s].forEach(x=>{let g=[],z=x.hFlip,w=x.vFlip,y=x.rotate;z?w?y+=2:(g.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),g.push("scale(-1 1)"),o.top=o.left=0):w&&(g.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),g.push("scale(1 -1)"),o.top=o.left=0);let m;switch(y<0&&(y-=Math.floor(y/4)*4),y=y%4,y){case 1:m=o.height/2+o.top,g.unshift("rotate(90 "+m.toString()+" "+m.toString()+")");break;case 2:g.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:m=o.width/2+o.left,g.unshift("rotate(-90 "+m.toString()+" "+m.toString()+")");break}y%2===1&&(o.left!==o.top&&(m=o.left,o.left=o.top,o.top=m),o.width!==o.height&&(m=o.width,o.width=o.height,o.height=m)),g.length&&(i=Oe(i,'',""))});let c=s.width,r=s.height,a=o.width,l=o.height,u,d;c===null?(d=r===null?"1em":r==="auto"?l:r,u=tt(d,a/l)):(u=c==="auto"?a:c,d=r===null?tt(u,l/a):r==="auto"?l:r);let f={},p=(x,g)=>{je(g)||(f[x]=g.toString())};p("width",u),p("height",d);let I=[o.left,o.top,a,l];return f.viewBox=I.join(" "),{attributes:f,viewBox:I,body:i}}function it(t,e){let n=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let s in e)n+=" "+s+'="'+e[s]+'"';return'"+t+""}function Pe(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Ne(t){return"data:image/svg+xml,"+Pe(t)}function Dt(t){return'url("'+Ne(t)+'")'}var Re=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}},F=Re();function Me(t){F=t}function qe(){return F}function Fe(t,e){let n=D(t);if(!n)return 0;let s;if(!n.maxURL)s=0;else{let o=0;n.resources.forEach(c=>{o=Math.max(o,c.length)});let i=e+".json?icons=";s=n.maxURL-o-n.path.length-i.length}return s}function $e(t){return t===404}var De=(t,e,n)=>{let s=[],o=Fe(t,e),i="icons",c={type:i,provider:t,prefix:e,icons:[]},r=0;return n.forEach((a,l)=>{r+=a.length+1,r>=o&&l>0&&(s.push(c),c={type:i,provider:t,prefix:e,icons:[]},r=a.length),c.icons.push(a)}),s.push(c),s};function He(t){if(typeof t=="string"){let e=D(t);if(e)return e.path}return"/"}var Be=(t,e,n)=>{if(!F){n("abort",424);return}let s=He(e.provider);switch(e.type){case"icons":{let i=e.prefix,r=e.icons.join(","),a=new URLSearchParams({icons:r});s+=i+".json?"+a.toString();break}case"custom":{let i=e.uri;s+=i.slice(0,1)==="/"?i.slice(1):i;break}default:n("abort",400);return}let o=503;F(t+s).then(i=>{let c=i.status;if(c!==200){setTimeout(()=>{n($e(c)?"abort":"next",c)});return}return o=501,i.json()}).then(i=>{if(typeof i!="object"||i===null){setTimeout(()=>{i===404?n("abort",i):n("next",o)});return}setTimeout(()=>{n("success",i)})}).catch(()=>{n("next",o)})},Qe={prepare:De,send:Be};function Ue(t,e,n){v(n||"",e).loadIcons=t}function Ve(t,e,n){v(n||"",e).loadIcon=t}var K="data-style",Ht="";function ze(t){Ht=t}function It(t,e){let n=Array.from(t.childNodes).find(s=>s.hasAttribute&&s.hasAttribute(K));n||(n=document.createElement("style"),n.setAttribute(K,K),t.appendChild(n)),n.textContent=":host{display:inline-block;vertical-align:"+(e?"-0.125em":"0")+"}span,svg{display:block;margin:auto}"+Ht}function Bt(){pt("",Qe),Pt(!0);let t;try{t=window}catch{}if(t){if(t.IconifyPreload!==void 0){let n=t.IconifyPreload,s="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!ht(o))&&console.error(s)}catch{console.error(s)}})}if(t.IconifyProviders!==void 0){let n=t.IconifyProviders;if(typeof n=="object"&&n!==null)for(let s in n){let o="IconifyProviders["+s+"] is invalid.";try{let i=n[s];if(typeof i!="object"||!i||i.resources===void 0)continue;gt(s,i)||console.error(o)}catch{console.error(o)}}}}return{iconLoaded:ue,getIcon:de,listIcons:le,addIcon:Nt,addCollection:ht,calculateSize:tt,buildIcon:$t,iconToHTML:it,svgToURL:Dt,loadIcons:st,loadIcon:Se,addAPIProvider:gt,setCustomIconLoader:Ve,setCustomIconsLoader:Ue,appendCustomStyle:ze,_api:{getAPIConfig:D,setAPIModule:pt,sendAPIQuery:qt,setFetch:Me,getFetch:qe,listAPIProviders:ve}}}var et={"background-color":"currentColor"},Qt={"background-color":"transparent"},xt={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},wt={"-webkit-mask":et,mask:et,background:Qt};for(let t in wt){let e=wt[t];for(let n in xt)e[t+"-"+n]=xt[n]}function At(t){return t?t+(t.match(/^[-0-9.]+$/)?"px":""):"inherit"}function Ge(t,e,n){let s=document.createElement("span"),o=t.body;o.indexOf("");let i=t.attributes,c=it(o,{...i,width:e.width+"",height:e.height+""}),r=Dt(c),a=s.style,l={"--svg":r,width:At(i.width),height:At(i.height),...n?et:Qt};for(let u in l)a.setProperty(u,l[u]);return s}var L;function Je(){try{L=window.trustedTypes.createPolicy("iconify",{createHTML:t=>t})}catch{L=null}}function Ye(t){return L===void 0&&Je(),L?L.createHTML(t):t}function Ke(t){let e=document.createElement("span"),n=t.attributes,s="";n.width||(s="width: inherit;"),n.height||(s+="height: inherit;"),s&&(n.style=s);let o=it(t.body,n);return e.innerHTML=Ye(o),e.firstChild}function nt(t){return Array.from(t.childNodes).find(e=>{let n=e.tagName&&e.tagName.toUpperCase();return n==="SPAN"||n==="SVG"})}function St(t,e){let n=e.icon.data,s=e.customisations,o=$t(n,s);s.preserveAspectRatio&&(o.attributes.preserveAspectRatio=s.preserveAspectRatio);let i=e.renderedMode,c;switch(i){case"svg":c=Ke(o);break;default:c=Ge(o,{...O,...n},i==="mask")}let r=nt(t);r?c.tagName==="SPAN"&&r.tagName===c.tagName?r.setAttribute("style",c.getAttribute("style")):t.replaceChild(c,r):t.appendChild(c)}function kt(t,e,n){let s=n&&(n.rendered?n:n.lastRender);return{rendered:!1,inline:e,icon:t,lastRender:s}}function We(t="iconify-icon"){let e,n;try{e=window.customElements,n=window.HTMLElement}catch{return}if(!e||!n)return;let s=e.get(t);if(s)return s;let o=["icon","mode","inline","noobserver","width","height","rotate","flip"],i=class extends n{_shadowRoot;_initialised=!1;_state;_checkQueued=!1;_connected=!1;_observer=null;_visible=!0;constructor(){super();let r=this._shadowRoot=this.attachShadow({mode:"open"}),a=this.hasAttribute("inline");It(r,a),this._state=kt({value:""},a),this._queueCheck()}connectedCallback(){this._connected=!0,this.startObserver()}disconnectedCallback(){this._connected=!1,this.stopObserver()}static get observedAttributes(){return o.slice(0)}attributeChangedCallback(r){switch(r){case"inline":{let a=this.hasAttribute("inline"),l=this._state;a!==l.inline&&(l.inline=a,It(this._shadowRoot,a));break}case"noobserver":{this.hasAttribute("noobserver")?this.startObserver():this.stopObserver();break}default:this._queueCheck()}}get icon(){let r=this.getAttribute("icon");if(r&&r.slice(0,1)==="{")try{return JSON.parse(r)}catch{}return r}set icon(r){typeof r=="object"&&(r=JSON.stringify(r)),this.setAttribute("icon",r)}get inline(){return this.hasAttribute("inline")}set inline(r){r?this.setAttribute("inline","true"):this.removeAttribute("inline")}get observer(){return this.hasAttribute("observer")}set observer(r){r?this.setAttribute("observer","true"):this.removeAttribute("observer")}restartAnimation(){let r=this._state;if(r.rendered){let a=this._shadowRoot;if(r.renderedMode==="svg")try{a.lastChild.setCurrentTime(0);return}catch{}St(a,r)}}get status(){let r=this._state;return r.rendered?"rendered":r.icon.data===null?"failed":"loading"}_queueCheck(){this._checkQueued||(this._checkQueued=!0,setTimeout(()=>{this._check()}))}_check(){if(!this._checkQueued)return;this._checkQueued=!1;let r=this._state,a=this.getAttribute("icon");if(a!==r.icon.value){this._iconChanged(a);return}if(!r.rendered||!this._visible)return;let l=this.getAttribute("mode"),u=dt(this);(r.attrMode!==l||ne(r.customisations,u)||!nt(this._shadowRoot))&&this._renderIcon(r.icon,u,l)}_iconChanged(r){let a=ke(r,(l,u,d)=>{let f=this._state;if(f.rendered||this.getAttribute("icon")!==l)return;let p={value:l,name:u,data:d};p.data?this._gotIconData(p):f.icon=p});a.data?this._gotIconData(a):this._state=kt(a,this._state.inline,this._state)}_forceRender(){if(!this._visible){let r=nt(this._shadowRoot);r&&this._shadowRoot.removeChild(r);return}this._queueCheck()}_gotIconData(r){this._checkQueued=!1,this._renderIcon(r,dt(this),this.getAttribute("mode"))}_renderIcon(r,a,l){let u=Ce(r.data.body,l),d=this._state.inline;St(this._shadowRoot,this._state={rendered:!0,icon:r,inline:d,customisations:a,attrMode:l,renderedMode:u})}startObserver(){if(!this._observer&&!this.hasAttribute("noobserver"))try{this._observer=new IntersectionObserver(r=>{let a=r.some(l=>l.isIntersecting);a!==this._visible&&(this._visible=a,this._forceRender())}),this._observer.observe(this)}catch{if(this._observer){try{this._observer.disconnect()}catch{}this._observer=null}}}stopObserver(){this._observer&&(this._observer.disconnect(),this._observer=null,this._visible=!0,this._connected&&this._forceRender())}};o.forEach(r=>{r in i.prototype||Object.defineProperty(i.prototype,r,{get:function(){return this.getAttribute(r)},set:function(a){a!==null?this.setAttribute(r,a):this.removeAttribute(r)}})});let c=Bt();for(let r in c)i[r]=i.prototype[r]=c[r];return e.define(t,i),i}var Xe=We()||Bt(),{iconLoaded:hn,getIcon:pn,listIcons:gn,addIcon:mn,addCollection:bn,calculateSize:yn,buildIcon:vn,iconToHTML:In,svgToURL:xn,loadIcons:wn,loadIcon:An,setCustomIconLoader:Sn,setCustomIconsLoader:kn,addAPIProvider:Cn,_api:_n}=Xe;function Ze(t){let e=t.getAttribute("aria-controls"),n=document.getElementById(e);n&&(n.addEventListener("click",s=>{s.stopPropagation()}),t.addEventListener("click",s=>{s.stopPropagation();let o=Vt(),i=o.indexOf(e);n.getAttribute("aria-hidden")==="false"?(o.splice(i,1),document.body.setAttribute("data-expanded",o.join(" ")),n.setAttribute("aria-hidden","true"),rt(e,"false")):(o.push(e),document.body.setAttribute("data-expanded",o.join(" ")),n.setAttribute("aria-hidden","false"),rt(e,"true"))}))}function rt(t,e){let n=document.querySelectorAll('[aria-controls="'+t+'"]');for(let s=0;s{let t=Vt();document.body.setAttribute("data-expanded",""),t.forEach(e=>{document.getElementById(e).setAttribute("aria-hidden","true"),rt(e,"false")})});var H=document.querySelector(".announcement"),tn=document.querySelector(".announcement-close");if(H){let e=function(){t.textContent=`:root{--sy-s-banner-height:${H.clientHeight}px}`};en=e;let t=document.createElement("style");document.head.appendChild(t),tn.addEventListener("click",()=>{H.parentNode.removeChild(H),document.head.removeChild(t)}),e(),window.addEventListener("resize",e)}var en;var B=["auto","light","dark"],Q=document.querySelector(".js-theme");function nn(){let t=zt();t+=1,B[t]||(t=0);let e=B[t];setColorMode(e),localStorage._theme=e,Gt(e)}function zt(){return B.indexOf(document.documentElement.getAttribute("data-color-mode")||"auto")}function Gt(t){let e=Q.getAttribute("data-aria-"+t);Q.setAttribute("aria-label",e)}Q&&(Q.addEventListener("click",nn),Gt(B[zt()]||"auto"));function on(){let t=document.querySelector(".globaltoc");if(!t)return;let e=parseInt(t.getAttribute("data-expand-depth"),10),n=o=>{if(!e)return!1;let i=0;for(;o.parentNode&&o.parentNode!==t;)o=o.parentNode,o.nodeName==="UL"&&(i+=1);return e>=i};t.querySelectorAll("li > ul").forEach(o=>{let i=o.parentNode;i.classList.contains("current")||n(i)?i.classList.add("_expand"):i.classList.add("_collapse");let c=sn(o);i.appendChild(c)})}function sn(t){let e=document.createElement("button");e.innerHTML='';let n=t.parentNode,s=t.previousSibling,o=s.textContent,i=()=>{n.classList.contains("_expand")?e.setAttribute("aria-label","Collapse "+o):e.setAttribute("aria-label","Expand "+o)};i();let c=r=>{r.preventDefault(),n.classList.contains("_expand")?(n.classList.remove("_expand"),n.classList.add("_collapse")):(n.classList.remove("_collapse"),n.classList.add("_expand")),i()};return s.getAttribute("href")==="#"&&s.addEventListener("click",c),e.addEventListener("click",c),e}var ct=document.querySelector(".globaltoc a.current");ct&&ct.scrollIntoViewIfNeeded&&ct.scrollIntoViewIfNeeded();on();var Jt=0,at=200,U=document.querySelectorAll(".yue > section section[id]"),S=document.querySelector(".back-to-top");function Yt(){let t=document.querySelector(".yue > section");t&&(at=t.computedStyleMap().get("scroll-margin-top").value)}function rn(t){let e=t.getBoundingClientRect();return e.top<=at&&e.bottom>=at}function Kt(t){document.querySelectorAll(".localtoc li.active").forEach(e=>{e.classList.remove("active")}),document.querySelector(`.localtoc a[href="#${t}"]`).parentNode.classList.add("active")}function Wt(){let t;for(let e=0;e=document.body.offsetHeight){let t=U[U.length-1];t&&Kt(t.id)}else Wt();S&&(window.scrollY&&window.scrollY{window.scrollTo(0,0)});document.querySelector(".localtoc")&&(window.addEventListener("scroll",cn),window.addEventListener("DOMContentLoaded",()=>{Yt(),Wt()}),window.addEventListener("resize",Yt));var V=document.querySelector(".js-repo-stats");async function an(t,e){let n=`https://api.github.com/repos/${t}/${e}`,o=await(await fetch(n)).json(),i={stars:o.watchers,forks:o.forks};lt(i),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(i))}async function ln(t,e){let n="https://gitlab.com/api/v4/projects/"+encodeURIComponent(t+"/"+e),o=await(await fetch(n)).json(),i={stars:o.star_count,forks:o.forks_count};lt(i),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(i))}function lt({stars:t,forks:e}){t&&(document.querySelector(".js-repo-stars").textContent=t),e&&(document.querySelector(".js-repo-forks").textContent=e)}function un(){let t=sessionStorage.getItem("_sy/repo/stats");if(t)lt(JSON.parse(t));else{let e=V.getAttribute("data-user"),n=V.getAttribute("data-repo"),s=V.getAttribute("data-type");s==="github"?an(e,n):s==="gitlab"&&ln(e,n)}}V&&un();function dn(t,e){let n=document.createElement("script");n.id="_carbonads_js",n.src=`//cdn.carbonads.com/carbon.js?serve=${t}&placement=${e}`;let s=document.querySelector(".yue > section"),o=document.querySelector(".yue > section > section");if(o)s.insertBefore(n,o);else{let i=document.querySelector(".yue > section > p");i?s.insertBefore(n,i.nextSibling):s.appendChild(n)}}var ut=document.querySelector(".js-carbon");if(ut){let t=ut.getAttribute("data-carbon-code"),e=ut.getAttribute("data-carbon-placement");t&&e&&dn(t,e)}var fn=` -:host > div .results .hit h2 { - color: var(--sy-c-heading); - margin-bottom: 0; - border-bottom: 0; - font-weight: 600; -} -:host > div .results .hit .hit-block .content { - color: var(--sy-c-text); -} -:host > div .results .hit-block a.hit:hover, :host > div .results .hit-block .hit.active { - background-color: var(--gray-5); - border-radius: 4px; -} - -:host > div div.hit-block a.hit-block-heading:hover { - text-decoration: underline; -} - -:host > div div.hit-block a.hit-block-heading i, -:host > div div.hit-block .hit-block-heading-container .close-icon { - color: var(--sy-c-light); - margin-bottom: 0; - display: flex; -} -`;document.addEventListener("readthedocs-addons-data-ready",function(t){document.querySelector(".searchbox input").addEventListener("focusin",()=>{let e=new CustomEvent("readthedocs-search-show");document.dispatchEvent(e)}),setTimeout(()=>{let e=document.querySelector("readthedocs-search");if(e){let n=document.createElement("style");n.textContent=fn,e.shadowRoot.appendChild(n)}},1e3)});/windows/i.test(navigator.userAgent)&&document.body.classList.add("win");})(); -/*! Bundled license information: - -iconify-icon/dist/iconify-icon.mjs: - (** - * (c) Iconify - * - * For the full copyright and license information, please view the license.txt - * files at https://github.com/iconify/iconify - * - * Licensed under MIT. - * - * @license MIT - * @version 3.0.0 - *) -*/ diff --git a/site/html/_static/sphinx_highlight.js b/site/html/_static/sphinx_highlight.js deleted file mode 100644 index 8a96c69..0000000 --- a/site/html/_static/sphinx_highlight.js +++ /dev/null @@ -1,154 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - const rest = document.createTextNode(val.substr(pos + text.length)); - parent.insertBefore( - span, - parent.insertBefore( - rest, - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - /* There may be more occurrences of search term in this node. So call this - * function recursively on the remaining fragment. - */ - _highlight(rest, addItems, text, className); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(() => { - /* Do not call highlightSearchWords() when we are on the search page. - * It will highlight words from the *previous* search query. - */ - if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); - SphinxHighlight.initEscapeListener(); -}); diff --git a/site/html/genindex.html b/site/html/genindex.html deleted file mode 100644 index f5b1e67..0000000 --- a/site/html/genindex.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - Index - PyAwaitable documentation - - - - - - - -
-
-
- - - - PyAwaitable - -
- -
-
-
-
-
-
-
-
- - -

Index

- -
- -
- - -
- -
-
- - - - - \ No newline at end of file diff --git a/site/html/index.html b/site/html/index.html deleted file mode 100644 index 6f431b0..0000000 --- a/site/html/index.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - PyAwaitable documentation - - - - - - - - - -
-
-
- - - - PyAwaitable - -
- -
-
-
-
-
-
-
- - - - -
-
-
-
-
-

PyAwaitable documentation¶

-

Add your content using reStructuredText syntax. See the -reStructuredText -documentation for details.

-
-
-
- -
-
-
-
- - - - - - \ No newline at end of file diff --git a/site/html/objects.inv b/site/html/objects.inv deleted file mode 100644 index efdd6f9e933601bd00a9bb6a61d22fb4dd92ddb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmY#Z2rkIT%&Sny%qvUHE6FdaR47X=D$dN$Q!wIERtPA{&q_@$u~G=AbSzKIEJ;kt zNd*drL6lf20NEiKsR~7@xrv#1DXB#Y`DqFz8JWcjX_+~x3P3tJKewPLwYWGnMWM7f zGcR4CDkn2ZkE`OAxBuDGXS_Yv259JcZan4b<8?Ohf@z3Hd)KSfDNmkhR5ZLm6kX|U3k=d07a)_-2eap diff --git a/site/html/search.html b/site/html/search.html deleted file mode 100644 index 3398875..0000000 --- a/site/html/search.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - Search - PyAwaitable documentation - - - - - - - - - - - -
-
-
- - - - PyAwaitable - -
- -
-
-
-
-
-
-
-
- -

Search

- - - - -

- Searching for multiple words only shows matches that contain - all words. -

- - -
- - -
-

- - -
- - -
- -
-
- - - - - - - - \ No newline at end of file diff --git a/site/html/searchindex.js b/site/html/searchindex.js deleted file mode 100644 index c292952..0000000 --- a/site/html/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({"alltitles":{"PyAwaitable documentation":[[0,null]]},"docnames":["index"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"add":0,"content":0,"detail":0,"restructuredtext":0,"see":0,"syntax":0,"us":0,"your":0},"titles":["PyAwaitable documentation"],"titleterms":{"document":0,"pyawait":0}}) \ No newline at end of file From f9e12e6686fb73df4b56546f0ee00bf63e6ecf5d Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sat, 16 Aug 2025 11:44:41 -0400 Subject: [PATCH 03/13] Remove more build artifacts. --- docs/outputdir/doctrees/environment.pickle | Bin 13475 -> 0 bytes docs/outputdir/doctrees/index.doctree | Bin 4434 -> 0 bytes docs/outputdir/html/.buildinfo | 4 - docs/outputdir/html/_sources/index.rst.txt | 17 - docs/outputdir/html/_static/basic.css | 906 ------------------ docs/outputdir/html/_static/doctools.js | 149 --- .../html/_static/documentation_options.js | 13 - docs/outputdir/html/_static/file.png | Bin 286 -> 0 bytes docs/outputdir/html/_static/language_data.js | 192 ---- docs/outputdir/html/_static/minus.png | Bin 90 -> 0 bytes docs/outputdir/html/_static/plus.png | Bin 90 -> 0 bytes docs/outputdir/html/_static/print.css | 42 - docs/outputdir/html/_static/pygments.css | 1 - docs/outputdir/html/_static/searchtools.js | 635 ------------ docs/outputdir/html/_static/shibuya.css | 2 - docs/outputdir/html/_static/shibuya.js | 41 - .../html/_static/sphinx_highlight.js | 154 --- docs/outputdir/html/genindex.html | 86 -- docs/outputdir/html/index.html | 135 --- docs/outputdir/html/objects.inv | Bin 248 -> 0 bytes docs/outputdir/html/search.html | 110 --- docs/outputdir/html/searchindex.js | 1 - 22 files changed, 2488 deletions(-) delete mode 100644 docs/outputdir/doctrees/environment.pickle delete mode 100644 docs/outputdir/doctrees/index.doctree delete mode 100644 docs/outputdir/html/.buildinfo delete mode 100644 docs/outputdir/html/_sources/index.rst.txt delete mode 100644 docs/outputdir/html/_static/basic.css delete mode 100644 docs/outputdir/html/_static/doctools.js delete mode 100644 docs/outputdir/html/_static/documentation_options.js delete mode 100644 docs/outputdir/html/_static/file.png delete mode 100644 docs/outputdir/html/_static/language_data.js delete mode 100644 docs/outputdir/html/_static/minus.png delete mode 100644 docs/outputdir/html/_static/plus.png delete mode 100644 docs/outputdir/html/_static/print.css delete mode 100644 docs/outputdir/html/_static/pygments.css delete mode 100644 docs/outputdir/html/_static/searchtools.js delete mode 100644 docs/outputdir/html/_static/shibuya.css delete mode 100644 docs/outputdir/html/_static/shibuya.js delete mode 100644 docs/outputdir/html/_static/sphinx_highlight.js delete mode 100644 docs/outputdir/html/genindex.html delete mode 100644 docs/outputdir/html/index.html delete mode 100644 docs/outputdir/html/objects.inv delete mode 100644 docs/outputdir/html/search.html delete mode 100644 docs/outputdir/html/searchindex.js diff --git a/docs/outputdir/doctrees/environment.pickle b/docs/outputdir/doctrees/environment.pickle deleted file mode 100644 index 416cf9d1f84915ee7ba229ee09515e00982ad3c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13475 zcmbtbd6-^TSx;s%`#zcMU8YOgN!rY`Nm~#BlV)o>$uvz;3bg6%{qA>X&b@QLd%xTz zGm{dbf3%$`hZgKbaY3z$xNkh-f?`E*K?N1W1=r`%=Mh9u6hTDv_r7QO?l);|(fl#r zd)~9$bKdjr=gnKX-ubTEHt;_=o;5`fFHigNg&e+J7W96lC zN_M)~+rM=_$0zXG{5t8Id&nnWmrn z=}g_f;73Vwrn%xSxk2vMB7X)8W;02VH;WvLQj^xt%E!yorR;IC)T3{SK6(AiSxHUn z_L6u$SSaO?-l1uCA66aqTwR%;7j&|Ie>wN#EJ)(4JclzxZoE*q3w|j({J4|@QR2Cg z?_e+7-=o@D>B^BTDN@gO{MbwCL5#2V75V(WSMJMb2ZJ$)l{so3_)bqVO+w!TwFgeE z95PfWWw%@8A^}kcPZ6mm?+pC3;g)htk9WMJxsnD80yD?=-?IPqnBnRiwUSj_u3`ksrGaoPX=1X_DlZ zrXMwZmmUSJE|qd}!OwGmjvGbEk~3diytv}zsT*gJn=>KT<+ziJhwkl;;5ZC=>x-~`7teBqzk6@POShh<1WsMqEXAH>tM{j=_6;rn@Q@Iz8nqW%jU_By?b$^gLQx2Eu!2> zlgKCHxb-@Y7khLnd?$sp2%iqHDo3fWk<<$?2hodg<9XsaNsX=tq6i zQwwI`fqK$#1Kin_nA33PLH0PweJAzjeS8xjcl>4$B@6fp zx4=KDHO}-QRRMl*<|7v$UIh_AH8))WGbu85G*`egN&qY3je`z0+_(wp&YU8RuzYVE zuP?#05ibu#WIS8pY%e z*ju<+kU?8S*sw^VI?aGU`OTt6M`ERU{9v!Pll_c`w38;>L=CWV3+GgXXN1u~9p?__ zp}ldDMZ6d%OW4Q&_hlZhBc7JM+%AH8iH7=ym*DH=9^G0%pO4ls4}?^(LT1yWzSB&I z^P!{}H!Si-{3^<)B5SHL7AEwoi=;}u-x_S6bSd-m}l zD4PT!@A zGm9jZ6Fjnoa`>dO<3sO<{^Y)_83nn%xiyU=hr>~(+OEMjuW+q z&tbszF6o3|w>b0N)Dz^MsP7Wrni+E%S6yXJ&*$&9JfKy%U4549t6CGQG{`z&OZrIM z$8Ioi>XM1?$gKeN6it+4TJi0=*tdfc;Pqj(V3A>Bp@)f(>N1oKASG+g+A%$8R@A#O zDh>Rk?n&b-EU7+WcJIL!K^XQLf|5I0*W#y1t>B#z_#* z=~J+}hl2rKh)-ySzs(_eLmSGG280lHa`8*~%_7g6*{fz|ym~wxW_3RbE~L}3pU=e2 z#*7|&@W70p-97_q?rSuneID%ugCUb4^+FIQV+m~@LpB_ zgVcWx{dPL8k4%=fblC9$_!S0ayj6W?#0LgN&OBRW@PWYxRKASQRR?)?K5jh3E~}%L)Kq z%Pxf^nNv^$&MrhgDjG44yh9=Lq#04XMlKBzheDe+?r5P> z|9nAytMFa+K5+Q4YOe|y;5$~ZdC>5oi^|!ns@SC@T_pcywyTPDV-L2G)Y10VvKm=A zWXHqTz%)(1*bs6D**o4NuV{@)!E;a}4HyHnrQ-+F=T%anGERkrMXW-U;G$2mbX{c~ zznP?Vjm&W~L=?#)LT%VMu(FDb*o9b=I|qHcfY&z_-ucAObTK`1*F!;iU=OFB_^6`DxAE?Aa4!uw~EQ z*X;Y&Yj1i4Q7-q!{t~DH!z?!yF(Mzinb8zgS~J3y#jK^>_cqJYzYOmOPGX*uc^mPZ zpza_VW)BKWgZ;+IFM*0*haUAD<&`Y@D`2L22C>=%v4TrAq}>^c)Kl2$9@3i;h3A90 zNWr=er$7*#P?Usd18!~~Ify|_R#x`FyFdUnZy+}--%-k|JzV7f9;IyanoZ?tTpkpT zao_sGO%V2lj&}`pywvwbX%H-Av49gLi*SMw&9!jM50sJudMb1;xXN99$z}If#=-&w zxa9>tkc-1PtZ`L%W}`K_<{ijy1kFkWS985ZsclilN)bE@X+ekPWWgGvslwneB~Rd-$2Bv@!MKsRkFco zNZ7hoR|D6AqcmFa^43--&x1p!JfM-8B1>m#K|CV@N`98I@(Bvi=}z_7F+0|DAamAQ z7{sL5p2QHzE21N$k3%f-n3#<1J}~>Gj3;esJWTk;=V91DbWTEXnh1`Z#_7PQD@K5D z0S-kKUA2%Z+H4CWdn^4@;#zT?>_pDEe4-TBi``+gal;0HHz4DW2O_syC9onn^(uMk%na9Ye5@Rl{%qa7sr%B^drW4}0{LD@^0O3o!(oVZQg zZbn`$CJp#X@l6JNjd-mA58CY++zmLiW3Gr zDeQn#7P`+)KP}Ffk!S5E?-#E#i#}j?`Fabz!47<*c+kwgW=`w{sU8yN`1fHu+F4`7 zBf{n1n(+9yZnxmiZZwO`ivfR$kgI8yM z27J4@KWC?zRQgH?%7TQevc*DyIZ{Vy@pQW`(`(ok>4+#s~m)EhEBZj>OZJA z`a}BnJ>rKM|6cJUhR=Rf{FniMT>OLvO{#^7DtA`iFeWFBkE~)TGr>mN?C;TCyqsy` zC#_`sl!boULf;|YW%l+n;%5!`bK-pl{CV+y1O9@Y^^0o;_e*$q-&` zAlXOZoyuCOI~u6m5yFkCj=?R8-R|s0eJ$anStY#2Kyq^iR~s%U{1G_PI#X)poue|2 z7uT~!+h<`fc87;MHf)er-y8cBCHs?=RP|&sKWSfbhfW5W=SQ$0h|#ms?Co0YD7+4T z_~h49Yqx3L06@|1M#4`S{2l;`K6~wmn`p$%^hdc{;XZ<=D~K7uMsC7esN>d3@BV7< z0qVG|(tA6>cT^CsAoySfaR{){5aFHFak$cZgy5qU#4&=8R}gmrw)5{sLmluQ3(Zys zoIt~#uGUx+svvfw=PaZZ>}e~JnjNKHV9%MA z!iTW?@ErZo1bmoar-FC{usN(8MMTK4OU1vVw`xY>cJNwlVj(+%p1f@l2_#u*J{QXx zLlf324LPD?9=m|JPMfCCtBeclXoNofQD!@wCwQTSD2kdKQdwnw;DNv+Rkyhfqmn9= zf$v5J70>eJoVZpF>tYnEH+oL#S`b@~(rwFK#4r`WAbPpuaRh95)}!Ze^{`@MK5>Wa z#mQCG!86F*==zDb%TbO!5lT`l#0-xd<1odpDA1WUiJQJtNfs=h0+tGO`q(?P2v=|4!msD5y9_lY@V$UUfc~l=wrPZ=&ubl0a+t(unYHCn6fh^`mxov$X z%7Hiqk3LhJWLHD&(QKbBH!^7D&SLzIb!)XUFSL!#>v|h>;MoqjWgT8+H_F*fmwlgV zPcUKqwz9lV=x()6IeVy(6FO_5ay`hn^O2CFY{TQt2z3Q(vKO?V7ftobJ?btDs_s#rhp0Z|(7}_sf zl<4pi1tq|@a+)N-3t~z{$9E{NQpfQ(R|^Z2h9qy0&5Gz0$B=P0!5`dKye*4eD6pZj z1;^Aa6tWi?ZIT7LE0&F?dhYw!W2Y~@x;vwKA$ndxg$`Bv$N@Y?L@H5DEnRbi*O#2+ zjO!F|>*(qvS$I~Jto7=0qSnUrBl7)Fek+@fDXE2O3m$+y z>$1SU)Ll|aiIiQhCs1>REHhE}Gram)dQHWtcT}wocE@iiO5h(asl-rrt1_rE{2V4` zHCOgmGT5YJIs>Gqk;?8d)nkCWl=1`Ai|U0|gR-Xl)N~GYF+I79dKeUNgrCLIMJ<#4 zQG${f3SsS8)n`#LQn_MvhJjjv>r`*N_T=H`u@r)-FW|=^zL5{F+^r}>)t z`MUbqfI&E72meU$sY+Bru)49CA`O&0;J*0Xi774i7U3pL2zSsQ{?=ANMa}&NzNMF# zuuF{c5@A1nUXVhY(Sh4mLeZj+z9W5Oysg`4&6j^_bpo=8vIpjz3;MuwgIZ?oLuD_L z?z*m~1AOYLsutOIn92&^2D}QdJPT1$gZAncK^+ zUHy=^$_A)uz7ifK>PWH=emOe~v&1DArJQ~_b+a=q>#q)bE3Ni_xvoAUE#J7hF8>># zv%c|RyTri%XBQ;tBj5(Ac(ZkwT6@oK%;YfjRUX+c!DalalNS3 z80V@jnrZP?t|GN$hN;QKM(L z%bcib$8>d{QDdyWAgaS+X904S@xq}RD$4NkV%m42^m+;HF81jGz%oIV;zgHUVo;e3 zwamgh7tVp~D540m(|&af$^{*x;+@(GKQ+*SC)%)P86v0S;>p4G!g#@X?opMoL`Sh_ z7A)I`r%~+~()oLI)Asjz#y3PaO~DL};TswXhotBE> zGDfshFnkjoKfJ_5=woW#o8C)B;=`u=^%Tg~pkl{CgE^GKjhhSK%v0aOf0>HmV}RFW zUyBIPrB46{%Tx`~RmE&6R@kG3*m2sMrl ziVXN>?KtsZYe@KBUQ5xxllWD5mRFQ|4&TQ*74zv05%&CUt^j|stUU>nZi<89L^W6T*%r+1 z2k{x00G=K`kA@sP$u-!M)djj$?Nk|lly~(4vj)y^z1id`l%|yGt8JeOKd#QR`4qpr zPOke%K}HX%*^+|KuZe&}!iO&d|!@=&luaj;T+b8-yIor>=1 zy_2GG6h)sy>Q@&#R0fXlgMLDF;Yw}o!6>}@w=c)f{x7f~mmMhowDs*_^S=a?8b^qK z5S&S(kF@*Uv|A`T6c%J^kF@`B^5iKt#8y+P_(VncaaCyyYx@LlZvZNca_3a-L02*X zvQkB)E{L!`tK8P!L08Tjr%7Ad`x?mW;G@*DtG$PpLnVXl-`?I&F;DB0>n5|rSL`a{ blD56#^r|KR-@UxcZWd;TZUxG-s7?P5L?rE3 diff --git a/docs/outputdir/doctrees/index.doctree b/docs/outputdir/doctrees/index.doctree deleted file mode 100644 index cd8c2687883721624c0933083ca387003164fb96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4434 zcmds5+io1k5v4>e$z9%M(UD^*n1@)R5p!2kE-;9|uwWoJ!bA`m1_D?a_D=V1H`qHp z?hCmKBS7+CKn(gJfG0nYUx)$!Mm{1RlG8mG?yfAs56(*nEHGVDQ(awk>QpuV()q`) z_gCVd-=QjVR!Gy&6=kOM8$mE(xh=mc-~DU(=km~ZHMum(>5P?r1sWL_l4_Qh&&xx; z;@2}ZS@?i={J(!cdwNNPB}2)Q#v-vo<;jE?%XBgllD(H?ni0!rGMx2H!9_kj`rL`^ z+*qP*0_A7KCQscsdHjpy@#Ev4zJL7aN%G{;lb`o{e^f5XNS+W%3Y%CiOf;FmnL;wl zKQD3ETc5CL2+jZD3BN2uy8T)~kXu{wO*16EN37KXkpngY7FGo{$UBlQi7^o3 zxs#Jg^|V1|C=^)agzq^4Jt4U}&Sz%rJeyO6S)t8HX=Q-sJ~;)pyedEhScK z4ea^@t|n|yAhCKt*#(oT7!)(oU~GV|%s}LnP5au|(%+IIXXQ!94Ff_=$fC+yNb?R~ z3kePI?O0(Yn|tNodL?)(6zsiDql)4o4)ch=!&mu(Q+{~rhJ?R~@bS9<(GT&vhu@Fz zOP-gG|Cslo{*y|bKjeoe>(T8lGC{_g6nx&he?6tN!gT;HGL<+3cqeCPnmx1HW!7m% z15D4(5;Fs~r~Tv^V*%g2mvoX}a%&57JQ!SFUiRx6L@@hGj|VItRMk3ghK$(&X=^vI z*q{zLw-fonS=wtdSJnAQ>4Y*=7PuwG?U3*JAH2f(@;YoE&W9}|PYNWR$oUxD`L@G0 z$=O?u!<_No%^QDxPJV-&e26^k`Tdu|IA?L$-7XN%P(T2BL!jWp&;FNz|1Jmr(|0?# zzZHwozZ^rqhJ!gRO8=|x2Qd-&pVdKL@oS*`F}vI0+-ULg_UkI)6+maN<%bXWgUAbkBO^~le%J`TPPv@UA+6#y zzgtyupHN!&_4T@`y`=lfjroD^L`DVMgJ!g-IDSjynRJwe1|F$>V?w5s6_%GLH_;c+ zjsw;D?nf0pnPaf=SgK)p<=42N6obQ+->$8+f{olwhA13Fa>e%|CmWT^8FYJ?Kjs_= z%Vrn;&yb0~*WuYgc>FTg`rZ2EN0*?|f@vgsiGKgqgtf8*y1q__e`~JI94%1X9BSs3 z7Uvx(%@O^(*lBf<=&!eGFxY(1wm<&R-?5tHMn-B)3$4b0aMh7JR#~uPj9RS|gXltJ zZup(d>Cn&9x|N>#tws`C6kr=dEiqb9WvdpnO{@R7S5KZ zynpJuW0r%Rt{Uamrd~fk(%CuHG=prYV?!VGPT&Ko_Te4MWNZXGAyzZP38i{0?zerPm^VQvhq*)J=-C#Ur8`1p;%9 z&WQ{LccUa$LrDF#s4&b?m153>)*hP{%CL0)%LtLorWeA93a`5<6((F!aFE)|^`=fx zb6Yr!L1o0EgVF6;Ep4gq&G3XxFwF+iLt=t8ihOT^q}t`l4Zk0X4Y0|_K%o>9Vat#A z9{Qbv6=~Z=!eO?8WJut9s0)9$X|@oXelfFL<#9GE{Xx)-4nQ-t4EG+CUl^}harDlk zpCO(*dXz1h50Y#14;u5RToUkl&U9ZeJBoXN4F+MjL+y5Pl|u>9!15dZJ^(pM+sbSY zkX94^mEWrd&yE{k5Z4jt8;<{RD)%#v={G~-t71cx zV+ir}xhv2W!p$|diJAk@Qy>xf2pFhI;dWpN;3vh0j$bVMQB%kmE{*Dnup)0s06hOB%+1JTVz@d zII(5!!zm!kf@^^q^wL1({`P{jx<^3_Yom4%rm%1YgM2**tLH=h4gZ>d!Kco5gVfFn zxEU@S-(2x8UO0X?Jb#VZVam1h+w+-=wzf0e)uS`8Ur9oNHhPuQ^OAt7C`G0xLnT`< zMB$w!VXNI;u-I*OjUU}!upj>gfT_wKEZeHzU`haeWSD<|5j2-fNr`kLpy(d!AJy`& z5QQ(xKcEzFnL<(Fq8hF;)rKvLEQmK-aZKQ5J*faN<8a&U(Li)HCxlk+hW-Bn;10jP diff --git a/docs/outputdir/html/.buildinfo b/docs/outputdir/html/.buildinfo deleted file mode 100644 index 6207aee..0000000 --- a/docs/outputdir/html/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 0ce5f42dd35062342027f693d4c571e0 -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/outputdir/html/_sources/index.rst.txt b/docs/outputdir/html/_sources/index.rst.txt deleted file mode 100644 index 615c52d..0000000 --- a/docs/outputdir/html/_sources/index.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -.. PyAwaitable documentation master file, created by - sphinx-quickstart on Sat Aug 16 11:38:02 2025. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -PyAwaitable documentation -========================= - -Add your content using ``reStructuredText`` syntax. See the -`reStructuredText `_ -documentation for details. - - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - diff --git a/docs/outputdir/html/_static/basic.css b/docs/outputdir/html/_static/basic.css deleted file mode 100644 index 4738b2e..0000000 --- a/docs/outputdir/html/_static/basic.css +++ /dev/null @@ -1,906 +0,0 @@ -/* - * Sphinx stylesheet -- basic theme. - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin-top: 10px; -} - -ul.search li { - padding: 5px 0; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: 360px; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -a:visited { - color: #551A8B; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -.sig dd { - margin-top: 0px; - margin-bottom: 0px; -} - -.sig dl { - margin-top: 0px; - margin-bottom: 0px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/docs/outputdir/html/_static/doctools.js b/docs/outputdir/html/_static/doctools.js deleted file mode 100644 index 0398ebb..0000000 --- a/docs/outputdir/html/_static/doctools.js +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Base JavaScript utilities for all Sphinx HTML documentation. - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/docs/outputdir/html/_static/documentation_options.js b/docs/outputdir/html/_static/documentation_options.js deleted file mode 100644 index 7e4c114..0000000 --- a/docs/outputdir/html/_static/documentation_options.js +++ /dev/null @@ -1,13 +0,0 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/docs/outputdir/html/_static/file.png b/docs/outputdir/html/_static/file.png deleted file mode 100644 index a858a410e4faa62ce324d814e4b816fff83a6fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( diff --git a/docs/outputdir/html/_static/language_data.js b/docs/outputdir/html/_static/language_data.js deleted file mode 100644 index c7fe6c6..0000000 --- a/docs/outputdir/html/_static/language_data.js +++ /dev/null @@ -1,192 +0,0 @@ -/* - * This script contains the language-specific data used by searchtools.js, - * namely the list of stopwords, stemmer, scorer and splitter. - */ - -var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; - - -/* Non-minified version is copied as a separate JS file, if available */ - -/** - * Porter Stemmer - */ -var Stemmer = function() { - - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' - }; - - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - diff --git a/docs/outputdir/html/_static/minus.png b/docs/outputdir/html/_static/minus.png deleted file mode 100644 index d96755fdaf8bb2214971e0db9c1fd3077d7c419d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK diff --git a/docs/outputdir/html/_static/plus.png b/docs/outputdir/html/_static/plus.png deleted file mode 100644 index 7107cec93a979b9a5f64843235a16651d563ce2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz diff --git a/docs/outputdir/html/_static/print.css b/docs/outputdir/html/_static/print.css deleted file mode 100644 index bd88769..0000000 --- a/docs/outputdir/html/_static/print.css +++ /dev/null @@ -1,42 +0,0 @@ -.sy-head { - position: static; - border-bottom: 1px solid var(--sy-c-divider); -} - -.sy-head-inner { - padding: 0; -} - -.sy-breadcrumbs { - display: none; -} - -h1, h2, h3, h4, h5, h6 { - page-break-inside: avoid; - page-break-after: avoid; -} - -.code-block-caption, -pre, code { - page-break-inside: avoid; - white-space: pre-wrap; - - -webkit-print-color-adjust: exact; -} - -.yue a.headerlink { - display: none; -} - -.highlight .linenos { - box-shadow: none; -} - -.admonition, -.sd-sphinx-override { - -webkit-print-color-adjust: exact; -} - -.sd-card { - page-break-inside: avoid; -} diff --git a/docs/outputdir/html/_static/pygments.css b/docs/outputdir/html/_static/pygments.css deleted file mode 100644 index 449a846..0000000 --- a/docs/outputdir/html/_static/pygments.css +++ /dev/null @@ -1 +0,0 @@ -:root{--syntax-pre-bg: var(--accent-a2);--syntax-cap-bg: var(--accent-a3);--syntax-highlight-bg: var(--accent-a3);--syntax-linenos-divider: var(--gray-a6);--syntax-light-text: #24292f;--syntax-light-meta: #807c87;--syntax-light-comment: #6e7781;--syntax-light-constant: #0550ae;--syntax-light-entity: #268bd2;--syntax-light-property: #8250df;--syntax-light-definition: #24292f;--syntax-light-tag: #085;--syntax-light-builtin: #b58900;--syntax-light-keyword: #cf222e;--syntax-light-exception: #e6212e;--syntax-light-string: #0a3069;--syntax-light-regexp: #e40;--syntax-light-variable: #a4480f;--syntax-light-invalid-illegal-text: #f6f8fa;--syntax-light-invalid-illegal-bg: #82071e;--syntax-light-markup-heading: #0550ae;--syntax-light-markup-italic: #24292f;--syntax-light-markup-bold: #24292f;--syntax-light-markup-deleted-text: #82071e;--syntax-light-markup-deleted-bg: #FFEBE9;--syntax-light-markup-inserted-text: #116329;--syntax-light-markup-inserted-bg: #dafbe1;--syntax-light-markup-changed-text: #953800;--syntax-light-markup-changed-bg: #ffd8b5;--syntax-light-markup-ignored-text: #eaeef2;--syntax-light-markup-ignored-bg: #0550ae;--syntax-light-meta-diff-range: #8250df;--syntax-light-special-bg: #dccafa;--syntax-dark-text: #c9d1d9;--syntax-dark-meta: #6e7781;--syntax-dark-comment: #8b949e;--syntax-dark-constant: #79c0ff;--syntax-dark-entity: #47b0fa;--syntax-dark-property: #d2a8ff;--syntax-dark-definition: #c9d1d9;--syntax-dark-tag: #7ee787;--syntax-dark-builtin: #ffd34c;--syntax-dark-keyword: #ff7b72;--syntax-dark-exception: #da473c;--syntax-dark-string: #a5d6ff;--syntax-dark-regexp: #ef954e;--syntax-dark-variable: #ffa657;--syntax-dark-invalid-illegal-text: #f0f6fc;--syntax-dark-invalid-illegal-bg: #8e1519;--syntax-dark-markup-heading: #1f6feb;--syntax-dark-markup-italic: #c9d1d9;--syntax-dark-markup-bold: #c9d1d9;--syntax-dark-markup-deleted-text: #ffdcd7;--syntax-dark-markup-deleted-bg: #67060c;--syntax-dark-markup-inserted-text: #aff5b4;--syntax-dark-markup-inserted-bg: #033a16;--syntax-dark-markup-changed-text: #ffdfb6;--syntax-dark-markup-changed-bg: #5a1e02;--syntax-dark-markup-ignored-text: #c9d1d9;--syntax-dark-markup-ignored-bg: #1158c7;--syntax-dark-meta-diff-range: #d2a8ff;--syntax-dark-special-bg: #4f425d}:root,html.light{--syntax-text: var(--syntax-light-text);--syntax-meta: var(--syntax-light-meta);--syntax-comment: var(--syntax-light-comment);--syntax-constant: var(--syntax-light-constant);--syntax-entity: var(--syntax-light-entity);--syntax-property: var(--syntax-light-property);--syntax-definition: var(--syntax-light-definition);--syntax-tag: var(--syntax-light-tag);--syntax-builtin: var(--syntax-light-builtin);--syntax-keyword: var(--syntax-light-keyword);--syntax-exception: var(--syntax-light-exception);--syntax-string: var(--syntax-light-string);--syntax-regexp: var(--syntax-light-regexp);--syntax-variable: var(--syntax-light-variable);--syntax-invalid-illegal-text: var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-light-markup-heading);--syntax-markup-italic: var(--syntax-light-markup-italic);--syntax-markup-bold: var(--syntax-light-markup-bold);--syntax-markup-deleted-text: var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-light-meta-diff-range);--syntax-special-bg: var(--syntax-light-special-bg)}@media (prefers-color-scheme: dark){:root{--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}}html.dark{--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}.light .dark-code{--syntax-pre-bg: var(--black-a12);--syntax-cap-bg: #1C2024;--syntax-highlight-bg: var(--white-a2);--syntax-linenos-divider: var(--white-a4);--syntax-text: var(--syntax-dark-text);--syntax-meta: var(--syntax-dark-meta);--syntax-comment: var(--syntax-dark-comment);--syntax-constant: var(--syntax-dark-constant);--syntax-entity: var(--syntax-dark-entity);--syntax-property: var(--syntax-dark-property);--syntax-definition: var(--syntax-dark-definition);--syntax-tag: var(--syntax-dark-tag);--syntax-builtin: var(--syntax-dark-builtin);--syntax-keyword: var(--syntax-dark-keyword);--syntax-exception: var(--syntax-dark-exception);--syntax-string: var(--syntax-dark-string);--syntax-regexp: var(--syntax-dark-regexp);--syntax-variable: var(--syntax-dark-variable);--syntax-invalid-illegal-text: var(--syntax-dark-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-dark-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-dark-markup-heading);--syntax-markup-italic: var(--syntax-dark-markup-italic);--syntax-markup-bold: var(--syntax-dark-markup-bold);--syntax-markup-deleted-text: var(--syntax-dark-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-dark-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-dark-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-dark-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-dark-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-dark-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-dark-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-dark-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-dark-meta-diff-range);--syntax-special-bg: var(--syntax-dark-special-bg)}html.light .sd-tab-content,html.light .jupyter_container .cell_output{--syntax-pre-bg: var(--color-surface-accent);--syntax-cap-bg: var(--accent-3);--syntax-highlight-bg: var(--accent-a3);--syntax-text: var(--syntax-light-text);--syntax-meta: var(--syntax-light-meta);--syntax-comment: var(--syntax-light-comment);--syntax-constant: var(--syntax-light-constant);--syntax-entity: var(--syntax-light-entity);--syntax-property: var(--syntax-light-property);--syntax-definition: var(--syntax-light-definition);--syntax-tag: var(--syntax-light-tag);--syntax-builtin: var(--syntax-light-builtin);--syntax-keyword: var(--syntax-light-keyword);--syntax-exception: var(--syntax-light-exception);--syntax-string: var(--syntax-light-string);--syntax-regexp: var(--syntax-light-regexp);--syntax-variable: var(--syntax-light-variable);--syntax-invalid-illegal-text: var(--syntax-light-invalid-illegal-text);--syntax-invalid-illegal-bg: var(--syntax-light-invalid-illegal-bg);--syntax-markup-heading: var(--syntax-light-markup-heading);--syntax-markup-italic: var(--syntax-light-markup-italic);--syntax-markup-bold: var(--syntax-light-markup-bold);--syntax-markup-deleted-text: var(--syntax-light-markup-deleted-text);--syntax-markup-deleted-bg: var(--syntax-light-markup-deleted-bg);--syntax-markup-inserted-text: var(--syntax-light-markup-inserted-text);--syntax-markup-inserted-bg: var(--syntax-light-markup-inserted-bg);--syntax-markup-changed-text: var(--syntax-light-markup-changed-text);--syntax-markup-changed-bg: var(--syntax-light-markup-changed-bg);--syntax-markup-ignored-text: var(--syntax-light-markup-ignored-text);--syntax-markup-ignored-bg: var(--syntax-light-markup-ignored-bg);--syntax-meta-diff-range: var(--syntax-light-meta-diff-range);--syntax-highlight-bg: var(--syntax-light-highlight-bg);--syntax-special-bg: var(--syntax-light-special-bg)}.highlight{color:var(--syntax-text);background-color:transparent}.highlight .hll{display:block;background-color:var(--syntax-highlight-bg)}.highlight .c{color:var(--syntax-comment)}.highlight .err{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .g{color:var(--syntax-meta)}.highlight .k{color:var(--syntax-keyword)}.highlight .l{color:var(--syntax-meta)}.highlight .o{color:var(--syntax-constant)}.highlight .x{color:var(--syntax-meta)}.highlight .cm{color:var(--syntax-comment)}.highlight .cp{color:var(--syntax-constant)}.highlight .c1{color:var(--syntax-comment)}.highlight .cs{color:var(--syntax-comment);background-color:var(--syntax-special-bg)}.highlight .gd{color:var(--syntax-markup-deleted-text);background-color:var(--syntax-markup-deleted-bg)}.highlight .ge{color:var(--syntax-markup-italic);font-style:italic}.highlight .gr{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .gh{color:var(--syntax-markup-heading)}.highlight .gi{color:var(--syntax-markup-inserted-text);background-color:var(--syntax-markup-inserted-bg)}.highlight .go,.highlight .gp{color:var(--syntax-meta)}.highlight .gs{color:var(--syntax-markup-bold);font-weight:700}.highlight .gu{color:var(--syntax-markup-heading)}.highlight .gt{color:var(--syntax-meta)}.highlight .kc{color:var(--syntax-constant)}.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:var(--syntax-keyword)}.highlight .kt{color:var(--syntax-entity)}.highlight .ld{color:var(--syntax-meta)}.highlight .m{color:var(--syntax-constant)}.highlight .s{color:var(--syntax-string)}.highlight .il,.highlight .na{color:var(--syntax-constant)}.highlight .nb{color:var(--syntax-builtin)}.highlight .nc{color:var(--syntax-definition)}.highlight .no{color:var(--syntax-constant)}.highlight .nd,.highlight .ni{color:var(--syntax-entity)}.highlight .ne{color:var(--syntax-exception)}.highlight .nf{color:var(--syntax-definition)}.highlight .nt{color:var(--syntax-tag)}.highlight .ow{color:var(--syntax-constant)}.highlight .w{color:var(--syntax-meta)}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--syntax-constant)}.highlight .sb{color:var(--syntax-meta)}.highlight .sc{color:var(--syntax-string)}.highlight .sd{color:var(--syntax-comment)}.highlight .s2,.highlight .se{color:var(--syntax-string)}.highlight .sh{color:var(--syntax-comment)}.highlight .si,.highlight .sx{color:var(--syntax-string)}.highlight .sr{color:var(--syntax-regexp)}.highlight .s1,.highlight .ss{color:var(--syntax-string)}.highlight .bp,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--syntax-variable)} diff --git a/docs/outputdir/html/_static/searchtools.js b/docs/outputdir/html/_static/searchtools.js deleted file mode 100644 index 91f4be5..0000000 --- a/docs/outputdir/html/_static/searchtools.js +++ /dev/null @@ -1,635 +0,0 @@ -/* - * Sphinx JavaScript utilities for the full-text search. - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename, kind] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -// Global search result kind enum, used by themes to style search results. -class SearchResultKind { - static get index() { return "index"; } - static get object() { return "object"; } - static get text() { return "text"; } - static get title() { return "title"; } -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms, highlightTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const contentRoot = document.documentElement.dataset.content_root; - - const [docName, title, anchor, descr, score, _filename, kind] = item; - - let listItem = document.createElement("li"); - // Add a class representing the item's type: - // can be used by a theme's CSS selector for styling - // See SearchResultKind for the class names. - listItem.classList.add(`kind-${kind}`); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = contentRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = contentRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) { - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - // highlight search terms in the description - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - } - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, anchor) - ); - // highlight search terms in the summary - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = Documentation.ngettext( - "Search finished, found one page matching the search query.", - "Search finished, found ${resultCount} pages matching the search query.", - resultCount, - ).replace('${resultCount}', resultCount); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms, - highlightTerms, -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms, highlightTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; -// Helper function used by query() to order search results. -// Each input is an array of [docname, title, anchor, descr, score, filename, kind]. -// Order the results by score (in opposite order of appearance, since the -// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. -const _orderResultsByScoreThenName = (a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString, anchor) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - for (const removalQuery of [".headerlink", "script", "style"]) { - htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); - } - if (anchor) { - const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); - if (anchorContent) return anchorContent.textContent; - - console.warn( - `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` - ); - } - - // if anchor not specified or not found, fall back to main content - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent) return docContent.textContent; - - console.warn( - "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.setAttribute("role", "list"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - _parseQuery: (query) => { - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; - }, - - /** - * execute search (requires search index to be loaded) - */ - _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // Collect multiple result groups to be sorted separately and then ordered. - // Each is an array of [docname, title, anchor, descr, score, filename, kind]. - const normalResults = []; - const nonMainIndexResults = []; - - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase().trim(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - const score = Math.round(Scorer.title * queryLower.length / title.length); - const boost = titles[file] === title ? 1 : 0; // add a boost for document titles - normalResults.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score + boost, - filenames[file], - SearchResultKind.title, - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id, isMain] of foundEntries) { - const score = Math.round(100 * queryLower.length / entry.length); - const result = [ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - SearchResultKind.index, - ]; - if (isMain) { - normalResults.push(result); - } else { - nonMainIndexResults.push(result); - } - } - } - } - - // lookup as object - objectTerms.forEach((term) => - normalResults.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) { - normalResults.forEach((item) => (item[4] = Scorer.score(item))); - nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); - } - - // Sort each group of results by score and then alphabetically by name. - normalResults.sort(_orderResultsByScoreThenName); - nonMainIndexResults.sort(_orderResultsByScoreThenName); - - // Combine the result groups in (reverse) order. - // Non-main index entries are typically arbitrary cross-references, - // so display them after other results. - let results = [...nonMainIndexResults, ...normalResults]; - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - return results.reverse(); - }, - - query: (query) => { - const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); - const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms, highlightTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - SearchResultKind.object, - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - // find documents, if any, containing the query word in their text/title term indices - // use Object.hasOwnProperty to avoid mismatching against prototype properties - const arr = [ - { files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term }, - { files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - if (!terms.hasOwnProperty(word)) { - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord)) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - } - if (!titleTerms.hasOwnProperty(word)) { - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord)) - arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); - }); - } - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, new Map()); - const fileScores = scoreMap.get(file); - fileScores.set(word, record.score); - }); - }); - - // create the mapping - files.forEach((file) => { - if (!fileMap.has(file)) fileMap.set(file, [word]); - else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w))); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - SearchResultKind.text, - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords, anchor) => { - const text = Search.htmlToText(htmlText, anchor); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/docs/outputdir/html/_static/shibuya.css b/docs/outputdir/html/_static/shibuya.css deleted file mode 100644 index 0d3de08..0000000 --- a/docs/outputdir/html/_static/shibuya.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.order-last{order:9999}.mx-auto{margin-inline:auto}.mr-3{margin-right:calc(var(--spacing)*3)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.w-8{width:calc(var(--spacing)*8)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-6{padding-inline:calc(var(--spacing)*6)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-12{padding-top:calc(var(--spacing)*12)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}@media not all and (min-width:40rem){.max-sm\:max-w-full{max-width:100%}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:w-72{width:calc(var(--spacing)*72)}.md\:shrink-0{flex-shrink:0}}@media (min-width:80rem){.xl\:sticky{position:sticky}.xl\:top-16{top:calc(var(--spacing)*16)}.xl\:hidden{display:none}.xl\:px-12{padding-inline:calc(var(--spacing)*12)}.xl\:pl-0{padding-left:calc(var(--spacing)*0)}}@media print{.print\:hidden{display:none}.print\:pt-6{padding-top:calc(var(--spacing)*6)}}}@font-face{font-family:Twemoji Country Flags;unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;src:url(https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2)format("woff2")}::selection{color:var(--accent-a11);background-color:var(--accent-a3)}html{scroll-behavior:smooth}body{font-family:var(--sy-f-text);color:var(--sy-c-text)}.win{font-family:"Twemoji Country Flags",var(--sy-f-text)}h1,h2,h3,h4,h5{color:var(--sy-c-heading);font-family:var(--sy-f-heading)}strong,em{color:var(--sy-c-bold)}.sy-container{max-width:90rem}.sy-scrollbar{scrollbar-gutter:stable;overflow-y:auto}.sy-scrollbar::-webkit-scrollbar{width:.75rem;height:.75rem}.sy-scrollbar::-webkit-scrollbar-thumb{border-radius:10px}.sy-scrollbar::-webkit-scrollbar-track{background-color:#0000}.sy-scrollbar:hover::-webkit-scrollbar-thumb{background-color:var(--gray-a3);background-clip:content-box;border:3px solid #0000}iconify-icon{vertical-align:middle}.i-lucide{-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;vertical-align:middle;background-color:currentColor;width:1em;height:1em;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.theme-switch .theme-icon,[data-color-mode=auto] .theme-switch .theme-icon{--icon-url:var(--lucide-laptop-url)}[data-color-mode=light] .theme-switch .theme-icon{--icon-url:var(--lucide-sun-url)}[data-color-mode=dark] .theme-switch .theme-icon{--icon-url:var(--lucide-moon-url)}:root,.light,.light-theme{--tomato-1:#fffcfc;--tomato-2:#fff8f7;--tomato-3:#feebe7;--tomato-4:#ffdcd3;--tomato-5:#ffcdc2;--tomato-6:#fdbdaf;--tomato-7:#f5a898;--tomato-8:#ec8e7b;--tomato-9:#e54d2e;--tomato-10:#dd4425;--tomato-11:#d13415;--tomato-12:#5c271f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-1:color(display-p3 .998 .989 .988);--tomato-2:color(display-p3 .994 .974 .969);--tomato-3:color(display-p3 .985 .924 .909);--tomato-4:color(display-p3 .996 .868 .835);--tomato-5:color(display-p3 .98 .812 .77);--tomato-6:color(display-p3 .953 .75 .698);--tomato-7:color(display-p3 .917 .673 .611);--tomato-8:color(display-p3 .875 .575 .502);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .802 .313 .2);--tomato-11:color(display-p3 .755 .259 .152);--tomato-12:color(display-p3 .335 .165 .132)}}}.dark,.dark-theme{--tomato-1:#181111;--tomato-2:#1f1513;--tomato-3:#391714;--tomato-4:#4e1511;--tomato-5:#5e1c16;--tomato-6:#6e2920;--tomato-7:#853a2d;--tomato-8:#ac4d39;--tomato-9:#e54d2e;--tomato-10:#ec6142;--tomato-11:#ff977d;--tomato-12:#fbd3cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--tomato-1:color(display-p3 .09 .068 .067);--tomato-2:color(display-p3 .115 .084 .076);--tomato-3:color(display-p3 .205 .097 .083);--tomato-4:color(display-p3 .282 .099 .077);--tomato-5:color(display-p3 .339 .129 .101);--tomato-6:color(display-p3 .398 .179 .141);--tomato-7:color(display-p3 .487 .245 .194);--tomato-8:color(display-p3 .629 .322 .248);--tomato-9:color(display-p3 .831 .345 .231);--tomato-10:color(display-p3 .862 .415 .298);--tomato-11:color(display-p3 1 .585 .455);--tomato-12:color(display-p3 .959 .833 .802)}}}:root,.light,.light-theme{--tomato-a1:#ff000003;--tomato-a2:#ff200008;--tomato-a3:#f52b0018;--tomato-a4:#ff35002c;--tomato-a5:#ff2e003d;--tomato-a6:#f92d0050;--tomato-a7:#e7280067;--tomato-a8:#db250084;--tomato-a9:#df2600d1;--tomato-a10:#d72400da;--tomato-a11:#cd2200ea;--tomato-a12:#460900e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--tomato-a1:color(display-p3 .675 .024 .024/.012);--tomato-a2:color(display-p3 .757 .145 .02/.032);--tomato-a3:color(display-p3 .831 .184 .012/.091);--tomato-a4:color(display-p3 .976 .192 .004/.165);--tomato-a5:color(display-p3 .918 .192 .004/.232);--tomato-a6:color(display-p3 .847 .173 .004/.302);--tomato-a7:color(display-p3 .788 .165 .004/.389);--tomato-a8:color(display-p3 .749 .153 .004/.499);--tomato-a9:color(display-p3 .78 .149 0/.769);--tomato-a10:color(display-p3 .757 .141 0/.8);--tomato-a11:color(display-p3 .755 .259 .152);--tomato-a12:color(display-p3 .335 .165 .132)}}}.dark,.dark-theme{--tomato-a1:#f1121208;--tomato-a2:#ff55330f;--tomato-a3:#ff35232b;--tomato-a4:#fd201142;--tomato-a5:#fe332153;--tomato-a6:#ff4f3864;--tomato-a7:#fd644a7d;--tomato-a8:#fe6d4ea7;--tomato-a9:#fe5431e4;--tomato-a10:#ff6847eb;--tomato-a11:#ff977d;--tomato-a12:#ffd6cefb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--tomato-a1:color(display-p3 .973 .071 .071/.026);--tomato-a2:color(display-p3 .992 .376 .224/.051);--tomato-a3:color(display-p3 .996 .282 .176/.148);--tomato-a4:color(display-p3 1 .204 .118/.232);--tomato-a5:color(display-p3 1 .286 .192/.29);--tomato-a6:color(display-p3 1 .392 .278/.353);--tomato-a7:color(display-p3 1 .459 .349/.45);--tomato-a8:color(display-p3 1 .49 .369/.601);--tomato-a9:color(display-p3 1 .408 .267/.82);--tomato-a10:color(display-p3 1 .478 .341/.853);--tomato-a11:color(display-p3 1 .585 .455);--tomato-a12:color(display-p3 .959 .833 .802)}}}:root,.light,.light-theme{--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-1:color(display-p3 .998 .989 .988);--red-2:color(display-p3 .995 .971 .971);--red-3:color(display-p3 .985 .925 .925);--red-4:color(display-p3 .999 .866 .866);--red-5:color(display-p3 .984 .812 .811);--red-6:color(display-p3 .955 .751 .749);--red-7:color(display-p3 .915 .675 .672);--red-8:color(display-p3 .872 .575 .572);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .798 .294 .285);--red-11:color(display-p3 .744 .234 .222);--red-12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-1:color(display-p3 .093 .068 .067);--red-2:color(display-p3 .118 .077 .079);--red-3:color(display-p3 .211 .081 .099);--red-4:color(display-p3 .287 .079 .113);--red-5:color(display-p3 .348 .11 .142);--red-6:color(display-p3 .414 .16 .183);--red-7:color(display-p3 .508 .224 .236);--red-8:color(display-p3 .659 .298 .297);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .861 .403 .387);--red-11:color(display-p3 1 .57 .55);--red-12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-a1:color(display-p3 .675 .024 .024/.012);--red-a2:color(display-p3 .863 .024 .024/.028);--red-a3:color(display-p3 .792 .008 .008/.075);--red-a4:color(display-p3 1 .008 .008/.134);--red-a5:color(display-p3 .918 .008 .008/.189);--red-a6:color(display-p3 .831 .02 .004/.251);--red-a7:color(display-p3 .741 .016 .004/.33);--red-a8:color(display-p3 .698 .012 .004/.428);--red-a9:color(display-p3 .749 .008 0/.675);--red-a10:color(display-p3 .714 .012 0/.714);--red-a11:color(display-p3 .744 .234 .222);--red-a12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-a1:color(display-p3 .984 .071 .071/.03);--red-a2:color(display-p3 .996 .282 .282/.055);--red-a3:color(display-p3 1 .169 .271/.156);--red-a4:color(display-p3 1 .118 .267/.236);--red-a5:color(display-p3 1 .212 .314/.303);--red-a6:color(display-p3 1 .318 .38/.374);--red-a7:color(display-p3 1 .4 .424/.475);--red-a8:color(display-p3 1 .431 .431/.635);--red-a9:color(display-p3 1 .388 .384/.82);--red-a10:color(display-p3 1 .463 .447/.853);--red-a11:color(display-p3 1 .57 .55);--red-a12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--ruby-1:#fffcfd;--ruby-2:#fff7f8;--ruby-3:#feeaed;--ruby-4:#ffdce1;--ruby-5:#ffced6;--ruby-6:#f8bfc8;--ruby-7:#efacb8;--ruby-8:#e592a3;--ruby-9:#e54666;--ruby-10:#dc3b5d;--ruby-11:#ca244d;--ruby-12:#64172b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--ruby-1:color(display-p3 .998 .989 .992);--ruby-2:color(display-p3 .995 .971 .974);--ruby-3:color(display-p3 .983 .92 .928);--ruby-4:color(display-p3 .987 .869 .885);--ruby-5:color(display-p3 .968 .817 .839);--ruby-6:color(display-p3 .937 .758 .786);--ruby-7:color(display-p3 .897 .685 .721);--ruby-8:color(display-p3 .851 .588 .639);--ruby-9:color(display-p3 .83 .323 .408);--ruby-10:color(display-p3 .795 .286 .375);--ruby-11:color(display-p3 .728 .211 .311);--ruby-12:color(display-p3 .36 .115 .171)}}}.dark,.dark-theme{--ruby-1:#191113;--ruby-2:#1e1517;--ruby-3:#3a141e;--ruby-4:#4e1325;--ruby-5:#5e1a2e;--ruby-6:#6f2539;--ruby-7:#883447;--ruby-8:#b3445a;--ruby-9:#e54666;--ruby-10:#ec5a72;--ruby-11:#ff949d;--ruby-12:#fed2e1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--ruby-1:color(display-p3 .093 .068 .074);--ruby-2:color(display-p3 .113 .083 .089);--ruby-3:color(display-p3 .208 .088 .117);--ruby-4:color(display-p3 .279 .092 .147);--ruby-5:color(display-p3 .337 .12 .18);--ruby-6:color(display-p3 .401 .166 .223);--ruby-7:color(display-p3 .495 .224 .281);--ruby-8:color(display-p3 .652 .295 .359);--ruby-9:color(display-p3 .83 .323 .408);--ruby-10:color(display-p3 .857 .392 .455);--ruby-11:color(display-p3 1 .57 .59);--ruby-12:color(display-p3 .968 .83 .88)}}}:root,.light,.light-theme{--ruby-a1:#ff005503;--ruby-a2:#ff002008;--ruby-a3:#f3002515;--ruby-a4:#ff002523;--ruby-a5:#ff002a31;--ruby-a6:#e4002440;--ruby-a7:#ce002553;--ruby-a8:#c300286d;--ruby-a9:#db002cb9;--ruby-a10:#d2002cc4;--ruby-a11:#c10030db;--ruby-a12:#550016e8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--ruby-a1:color(display-p3 .675 .024 .349/.012);--ruby-a2:color(display-p3 .863 .024 .024/.028);--ruby-a3:color(display-p3 .804 .008 .11/.079);--ruby-a4:color(display-p3 .91 .008 .125/.13);--ruby-a5:color(display-p3 .831 .004 .133/.185);--ruby-a6:color(display-p3 .745 .004 .118/.244);--ruby-a7:color(display-p3 .678 .004 .114/.314);--ruby-a8:color(display-p3 .639 .004 .125/.412);--ruby-a9:color(display-p3 .753 0 .129/.679);--ruby-a10:color(display-p3 .714 0 .125/.714);--ruby-a11:color(display-p3 .728 .211 .311);--ruby-a12:color(display-p3 .36 .115 .171)}}}.dark,.dark-theme{--ruby-a1:#f4124a09;--ruby-a2:#fe5a7f0e;--ruby-a3:#ff235d2c;--ruby-a4:#fd195e42;--ruby-a5:#fe2d6b53;--ruby-a6:#ff447665;--ruby-a7:#ff577d80;--ruby-a8:#ff5c7cae;--ruby-a9:#fe4c70e4;--ruby-a10:#ff617beb;--ruby-a11:#ff949d;--ruby-a12:#ffd3e2fe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--ruby-a1:color(display-p3 .984 .071 .329/.03);--ruby-a2:color(display-p3 .992 .376 .529/.051);--ruby-a3:color(display-p3 .996 .196 .404/.152);--ruby-a4:color(display-p3 1 .173 .416/.227);--ruby-a5:color(display-p3 1 .259 .459/.29);--ruby-a6:color(display-p3 1 .341 .506/.358);--ruby-a7:color(display-p3 1 .412 .541/.458);--ruby-a8:color(display-p3 1 .431 .537/.627);--ruby-a9:color(display-p3 1 .376 .482/.82);--ruby-a10:color(display-p3 1 .447 .522/.849);--ruby-a11:color(display-p3 1 .57 .59);--ruby-a12:color(display-p3 .968 .83 .88)}}}:root,.light,.light-theme{--crimson-1:#fffcfd;--crimson-2:#fef7f9;--crimson-3:#ffe9f0;--crimson-4:#fedce7;--crimson-5:#facedd;--crimson-6:#f3bed1;--crimson-7:#eaacc3;--crimson-8:#e093b2;--crimson-9:#e93d82;--crimson-10:#df3478;--crimson-11:#cb1d63;--crimson-12:#621639}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--crimson-1:color(display-p3 .998 .989 .992);--crimson-2:color(display-p3 .991 .969 .976);--crimson-3:color(display-p3 .987 .917 .941);--crimson-4:color(display-p3 .975 .866 .904);--crimson-5:color(display-p3 .953 .813 .864);--crimson-6:color(display-p3 .921 .755 .817);--crimson-7:color(display-p3 .88 .683 .761);--crimson-8:color(display-p3 .834 .592 .694);--crimson-9:color(display-p3 .843 .298 .507);--crimson-10:color(display-p3 .807 .266 .468);--crimson-11:color(display-p3 .731 .195 .388);--crimson-12:color(display-p3 .352 .111 .221)}}}.dark,.dark-theme{--crimson-1:#191114;--crimson-2:#201318;--crimson-3:#381525;--crimson-4:#4d122f;--crimson-5:#5c1839;--crimson-6:#6d2545;--crimson-7:#873356;--crimson-8:#b0436e;--crimson-9:#e93d82;--crimson-10:#ee518a;--crimson-11:#ff92ad;--crimson-12:#fdd3e8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--crimson-1:color(display-p3 .093 .068 .078);--crimson-2:color(display-p3 .117 .078 .095);--crimson-3:color(display-p3 .203 .091 .143);--crimson-4:color(display-p3 .277 .087 .182);--crimson-5:color(display-p3 .332 .115 .22);--crimson-6:color(display-p3 .394 .162 .268);--crimson-7:color(display-p3 .489 .222 .336);--crimson-8:color(display-p3 .638 .289 .429);--crimson-9:color(display-p3 .843 .298 .507);--crimson-10:color(display-p3 .864 .364 .539);--crimson-11:color(display-p3 1 .56 .66);--crimson-12:color(display-p3 .966 .834 .906)}}}:root,.light,.light-theme{--crimson-a1:#ff005503;--crimson-a2:#e0004008;--crimson-a3:#ff005216;--crimson-a4:#f8005123;--crimson-a5:#e5004f31;--crimson-a6:#d0004b41;--crimson-a7:#bf004753;--crimson-a8:#b6004a6c;--crimson-a9:#e2005bc2;--crimson-a10:#d70056cb;--crimson-a11:#c4004fe2;--crimson-a12:#530026e9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--crimson-a1:color(display-p3 .675 .024 .349/.012);--crimson-a2:color(display-p3 .757 .02 .267/.032);--crimson-a3:color(display-p3 .859 .008 .294/.083);--crimson-a4:color(display-p3 .827 .008 .298/.134);--crimson-a5:color(display-p3 .753 .008 .275/.189);--crimson-a6:color(display-p3 .682 .004 .247/.244);--crimson-a7:color(display-p3 .62 .004 .251/.318);--crimson-a8:color(display-p3 .6 .004 .251/.408);--crimson-a9:color(display-p3 .776 0 .298/.702);--crimson-a10:color(display-p3 .737 0 .275/.734);--crimson-a11:color(display-p3 .731 .195 .388);--crimson-a12:color(display-p3 .352 .111 .221)}}}.dark,.dark-theme{--crimson-a1:#f4126709;--crimson-a2:#f22f7a11;--crimson-a3:#fe2a8b2a;--crimson-a4:#fd158741;--crimson-a5:#fd278f51;--crimson-a6:#fe459763;--crimson-a7:#fd559b7f;--crimson-a8:#fe5b9bab;--crimson-a9:#fe418de8;--crimson-a10:#ff5693ed;--crimson-a11:#ff92ad;--crimson-a12:#ffd5eafd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--crimson-a1:color(display-p3 .984 .071 .463/.03);--crimson-a2:color(display-p3 .996 .282 .569/.055);--crimson-a3:color(display-p3 .996 .227 .573/.148);--crimson-a4:color(display-p3 1 .157 .569/.227);--crimson-a5:color(display-p3 1 .231 .604/.286);--crimson-a6:color(display-p3 1 .337 .643/.349);--crimson-a7:color(display-p3 1 .416 .663/.454);--crimson-a8:color(display-p3 .996 .427 .651/.614);--crimson-a9:color(display-p3 1 .345 .596/.832);--crimson-a10:color(display-p3 1 .42 .62/.853);--crimson-a11:color(display-p3 1 .56 .66);--crimson-a12:color(display-p3 .966 .834 .906)}}}:root,.light,.light-theme{--pink-1:#fffcfe;--pink-2:#fef7fb;--pink-3:#fee9f5;--pink-4:#fbdcef;--pink-5:#f6cee7;--pink-6:#efbfdd;--pink-7:#e7acd0;--pink-8:#dd93c2;--pink-9:#d6409f;--pink-10:#cf3897;--pink-11:#c2298a;--pink-12:#651249}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--pink-1:color(display-p3 .998 .989 .996);--pink-2:color(display-p3 .992 .97 .985);--pink-3:color(display-p3 .981 .917 .96);--pink-4:color(display-p3 .963 .867 .932);--pink-5:color(display-p3 .939 .815 .899);--pink-6:color(display-p3 .907 .756 .859);--pink-7:color(display-p3 .869 .683 .81);--pink-8:color(display-p3 .825 .59 .751);--pink-9:color(display-p3 .775 .297 .61);--pink-10:color(display-p3 .748 .27 .581);--pink-11:color(display-p3 .698 .219 .528);--pink-12:color(display-p3 .363 .101 .279)}}}.dark,.dark-theme{--pink-1:#191117;--pink-2:#21121d;--pink-3:#37172f;--pink-4:#4b143d;--pink-5:#591c47;--pink-6:#692955;--pink-7:#833869;--pink-8:#a84885;--pink-9:#d6409f;--pink-10:#de51a8;--pink-11:#ff8dcc;--pink-12:#fdd1ea}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--pink-1:color(display-p3 .093 .068 .089);--pink-2:color(display-p3 .121 .073 .11);--pink-3:color(display-p3 .198 .098 .179);--pink-4:color(display-p3 .271 .095 .231);--pink-5:color(display-p3 .32 .127 .273);--pink-6:color(display-p3 .382 .177 .326);--pink-7:color(display-p3 .477 .238 .405);--pink-8:color(display-p3 .612 .304 .51);--pink-9:color(display-p3 .775 .297 .61);--pink-10:color(display-p3 .808 .356 .645);--pink-11:color(display-p3 1 .535 .78);--pink-12:color(display-p3 .964 .826 .912)}}}:root,.light,.light-theme{--pink-a1:#ff00aa03;--pink-a2:#e0008008;--pink-a3:#f4008c16;--pink-a4:#e2008b23;--pink-a5:#d1008331;--pink-a6:#c0007840;--pink-a7:#b6006f53;--pink-a8:#af006f6c;--pink-a9:#c8007fbf;--pink-a10:#c2007ac7;--pink-a11:#b60074d6;--pink-a12:#59003bed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--pink-a1:color(display-p3 .675 .024 .675/.012);--pink-a2:color(display-p3 .757 .02 .51/.032);--pink-a3:color(display-p3 .765 .008 .529/.083);--pink-a4:color(display-p3 .737 .008 .506/.134);--pink-a5:color(display-p3 .663 .004 .451/.185);--pink-a6:color(display-p3 .616 .004 .424/.244);--pink-a7:color(display-p3 .596 .004 .412/.318);--pink-a8:color(display-p3 .573 .004 .404/.412);--pink-a9:color(display-p3 .682 0 .447/.702);--pink-a10:color(display-p3 .655 0 .424/.73);--pink-a11:color(display-p3 .698 .219 .528);--pink-a12:color(display-p3 .363 .101 .279)}}}.dark,.dark-theme{--pink-a1:#f412bc09;--pink-a2:#f420bb12;--pink-a3:#fe37cc29;--pink-a4:#fc1ec43f;--pink-a5:#fd35c24e;--pink-a6:#fd51c75f;--pink-a7:#fd62c87b;--pink-a8:#ff68c8a2;--pink-a9:#fe49bcd4;--pink-a10:#ff5cc0dc;--pink-a11:#ff8dcc;--pink-a12:#ffd3ecfd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--pink-a1:color(display-p3 .984 .071 .855/.03);--pink-a2:color(display-p3 1 .2 .8/.059);--pink-a3:color(display-p3 1 .294 .886/.139);--pink-a4:color(display-p3 1 .192 .82/.219);--pink-a5:color(display-p3 1 .282 .827/.274);--pink-a6:color(display-p3 1 .396 .835/.337);--pink-a7:color(display-p3 1 .459 .831/.442);--pink-a8:color(display-p3 1 .478 .827/.585);--pink-a9:color(display-p3 1 .373 .784/.761);--pink-a10:color(display-p3 1 .435 .792/.795);--pink-a11:color(display-p3 1 .535 .78);--pink-a12:color(display-p3 .964 .826 .912)}}}:root,.light,.light-theme{--plum-1:#fefcff;--plum-2:#fdf7fd;--plum-3:#fbebfb;--plum-4:#f7def8;--plum-5:#f2d1f3;--plum-6:#e9c2ec;--plum-7:#deade3;--plum-8:#cf91d8;--plum-9:#ab4aba;--plum-10:#a144af;--plum-11:#953ea3;--plum-12:#53195d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--plum-1:color(display-p3 .995 .988 .999);--plum-2:color(display-p3 .988 .971 .99);--plum-3:color(display-p3 .973 .923 .98);--plum-4:color(display-p3 .953 .875 .966);--plum-5:color(display-p3 .926 .825 .945);--plum-6:color(display-p3 .89 .765 .916);--plum-7:color(display-p3 .84 .686 .877);--plum-8:color(display-p3 .775 .58 .832);--plum-9:color(display-p3 .624 .313 .708);--plum-10:color(display-p3 .587 .29 .667);--plum-11:color(display-p3 .543 .263 .619);--plum-12:color(display-p3 .299 .114 .352)}}}.dark,.dark-theme{--plum-1:#181118;--plum-2:#201320;--plum-3:#351a35;--plum-4:#451d47;--plum-5:#512454;--plum-6:#5e3061;--plum-7:#734079;--plum-8:#92549c;--plum-9:#ab4aba;--plum-10:#b658c4;--plum-11:#e796f3;--plum-12:#f4d4f4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--plum-1:color(display-p3 .09 .068 .092);--plum-2:color(display-p3 .118 .077 .121);--plum-3:color(display-p3 .192 .105 .202);--plum-4:color(display-p3 .25 .121 .271);--plum-5:color(display-p3 .293 .152 .319);--plum-6:color(display-p3 .343 .198 .372);--plum-7:color(display-p3 .424 .262 .461);--plum-8:color(display-p3 .54 .341 .595);--plum-9:color(display-p3 .624 .313 .708);--plum-10:color(display-p3 .666 .365 .748);--plum-11:color(display-p3 .86 .602 .933);--plum-12:color(display-p3 .936 .836 .949)}}}:root,.light,.light-theme{--plum-a1:#aa00ff03;--plum-a2:#c000c008;--plum-a3:#cc00cc14;--plum-a4:#c200c921;--plum-a5:#b700bd2e;--plum-a6:#a400b03d;--plum-a7:#9900a852;--plum-a8:#9000a56e;--plum-a9:#89009eb5;--plum-a10:#7f0092bb;--plum-a11:#730086c1;--plum-a12:#40004be6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--plum-a1:color(display-p3 .675 .024 1/.012);--plum-a2:color(display-p3 .58 .024 .58/.028);--plum-a3:color(display-p3 .655 .008 .753/.079);--plum-a4:color(display-p3 .627 .008 .722/.126);--plum-a5:color(display-p3 .58 .004 .69/.177);--plum-a6:color(display-p3 .537 .004 .655/.236);--plum-a7:color(display-p3 .49 .004 .616/.314);--plum-a8:color(display-p3 .471 .004 .6/.42);--plum-a9:color(display-p3 .451 0 .576/.687);--plum-a10:color(display-p3 .42 0 .529/.71);--plum-a11:color(display-p3 .543 .263 .619);--plum-a12:color(display-p3 .299 .114 .352)}}}.dark,.dark-theme{--plum-a1:#f112f108;--plum-a2:#f22ff211;--plum-a3:#fd4cfd27;--plum-a4:#f646ff3a;--plum-a5:#f455ff48;--plum-a6:#f66dff56;--plum-a7:#f07cfd70;--plum-a8:#ee84ff95;--plum-a9:#e961feb6;--plum-a10:#ed70ffc0;--plum-a11:#f19cfef3;--plum-a12:#feddfef4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--plum-a1:color(display-p3 .973 .071 .973/.026);--plum-a2:color(display-p3 .933 .267 1/.059);--plum-a3:color(display-p3 .918 .333 .996/.148);--plum-a4:color(display-p3 .91 .318 1/.219);--plum-a5:color(display-p3 .914 .388 1/.269);--plum-a6:color(display-p3 .906 .463 1/.328);--plum-a7:color(display-p3 .906 .529 1/.425);--plum-a8:color(display-p3 .906 .553 1/.568);--plum-a9:color(display-p3 .875 .427 1/.69);--plum-a10:color(display-p3 .886 .471 .996/.732);--plum-a11:color(display-p3 .86 .602 .933);--plum-a12:color(display-p3 .936 .836 .949)}}}:root,.light,.light-theme{--purple-1:#fefcfe;--purple-2:#fbf7fe;--purple-3:#f7edfe;--purple-4:#f2e2fc;--purple-5:#ead5f9;--purple-6:#e0c4f4;--purple-7:#d1afec;--purple-8:#be93e4;--purple-9:#8e4ec6;--purple-10:#8347b9;--purple-11:#8145b5;--purple-12:#402060}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--purple-1:color(display-p3 .995 .988 .996);--purple-2:color(display-p3 .983 .971 .993);--purple-3:color(display-p3 .963 .931 .989);--purple-4:color(display-p3 .937 .888 .981);--purple-5:color(display-p3 .904 .837 .966);--purple-6:color(display-p3 .86 .774 .942);--purple-7:color(display-p3 .799 .69 .91);--purple-8:color(display-p3 .719 .583 .874);--purple-9:color(display-p3 .523 .318 .751);--purple-10:color(display-p3 .483 .289 .7);--purple-11:color(display-p3 .473 .281 .687);--purple-12:color(display-p3 .234 .132 .363)}}}.dark,.dark-theme{--purple-1:#18111b;--purple-2:#1e1523;--purple-3:#301c3b;--purple-4:#3d224e;--purple-5:#48295c;--purple-6:#54346b;--purple-7:#664282;--purple-8:#8457aa;--purple-9:#8e4ec6;--purple-10:#9a5cd0;--purple-11:#d19dff;--purple-12:#ecd9fa}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--purple-1:color(display-p3 .09 .068 .103);--purple-2:color(display-p3 .113 .082 .134);--purple-3:color(display-p3 .175 .112 .224);--purple-4:color(display-p3 .224 .137 .297);--purple-5:color(display-p3 .264 .167 .349);--purple-6:color(display-p3 .311 .208 .406);--purple-7:color(display-p3 .381 .266 .496);--purple-8:color(display-p3 .49 .349 .649);--purple-9:color(display-p3 .523 .318 .751);--purple-10:color(display-p3 .57 .373 .791);--purple-11:color(display-p3 .8 .62 1);--purple-12:color(display-p3 .913 .854 .971)}}}:root,.light,.light-theme{--purple-a1:#aa00aa03;--purple-a2:#8000e008;--purple-a3:#8e00f112;--purple-a4:#8d00e51d;--purple-a5:#8000db2a;--purple-a6:#7a01d03b;--purple-a7:#6d00c350;--purple-a8:#6600c06c;--purple-a9:#5c00adb1;--purple-a10:#53009eb8;--purple-a11:#52009aba;--purple-a12:#250049df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--purple-a1:color(display-p3 .675 .024 .675/.012);--purple-a2:color(display-p3 .443 .024 .722/.028);--purple-a3:color(display-p3 .506 .008 .835/.071);--purple-a4:color(display-p3 .451 .004 .831/.114);--purple-a5:color(display-p3 .431 .004 .788/.165);--purple-a6:color(display-p3 .384 .004 .745/.228);--purple-a7:color(display-p3 .357 .004 .71/.31);--purple-a8:color(display-p3 .322 .004 .702/.416);--purple-a9:color(display-p3 .298 0 .639/.683);--purple-a10:color(display-p3 .271 0 .58/.71);--purple-a11:color(display-p3 .473 .281 .687);--purple-a12:color(display-p3 .234 .132 .363)}}}.dark,.dark-theme{--purple-a1:#b412f90b;--purple-a2:#b744f714;--purple-a3:#c150ff2d;--purple-a4:#bb53fd42;--purple-a5:#be5cfd51;--purple-a6:#c16dfd61;--purple-a7:#c378fd7a;--purple-a8:#c47effa4;--purple-a9:#b661ffc2;--purple-a10:#bc6fffcd;--purple-a11:#d19dff;--purple-a12:#f1ddfffa}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--purple-a1:color(display-p3 .686 .071 .996/.038);--purple-a2:color(display-p3 .722 .286 .996/.072);--purple-a3:color(display-p3 .718 .349 .996/.169);--purple-a4:color(display-p3 .702 .353 1/.248);--purple-a5:color(display-p3 .718 .404 1/.303);--purple-a6:color(display-p3 .733 .455 1/.366);--purple-a7:color(display-p3 .753 .506 1/.458);--purple-a8:color(display-p3 .749 .522 1/.622);--purple-a9:color(display-p3 .686 .408 1/.736);--purple-a10:color(display-p3 .71 .459 1/.778);--purple-a11:color(display-p3 .8 .62 1);--purple-a12:color(display-p3 .913 .854 .971)}}}:root,.light,.light-theme{--violet-1:#fdfcfe;--violet-2:#faf8ff;--violet-3:#f4f0fe;--violet-4:#ebe4ff;--violet-5:#e1d9ff;--violet-6:#d4cafe;--violet-7:#c2b5f5;--violet-8:#aa99ec;--violet-9:#6e56cf;--violet-10:#654dc4;--violet-11:#6550b9;--violet-12:#2f265f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--violet-1:color(display-p3 .991 .988 .995);--violet-2:color(display-p3 .978 .974 .998);--violet-3:color(display-p3 .953 .943 .993);--violet-4:color(display-p3 .916 .897 1);--violet-5:color(display-p3 .876 .851 1);--violet-6:color(display-p3 .825 .793 .981);--violet-7:color(display-p3 .752 .712 .943);--violet-8:color(display-p3 .654 .602 .902);--violet-9:color(display-p3 .417 .341 .784);--violet-10:color(display-p3 .381 .306 .741);--violet-11:color(display-p3 .383 .317 .702);--violet-12:color(display-p3 .179 .15 .359)}}}.dark,.dark-theme{--violet-1:#14121f;--violet-2:#1b1525;--violet-3:#291f43;--violet-4:#33255b;--violet-5:#3c2e69;--violet-6:#473876;--violet-7:#56468b;--violet-8:#6958ad;--violet-9:#6e56cf;--violet-10:#7d66d9;--violet-11:#baa7ff;--violet-12:#e2ddfe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--violet-1:color(display-p3 .077 .071 .118);--violet-2:color(display-p3 .101 .084 .141);--violet-3:color(display-p3 .154 .123 .256);--violet-4:color(display-p3 .191 .148 .345);--violet-5:color(display-p3 .226 .182 .396);--violet-6:color(display-p3 .269 .223 .449);--violet-7:color(display-p3 .326 .277 .53);--violet-8:color(display-p3 .399 .346 .656);--violet-9:color(display-p3 .417 .341 .784);--violet-10:color(display-p3 .477 .402 .823);--violet-11:color(display-p3 .72 .65 1);--violet-12:color(display-p3 .883 .867 .986)}}}:root,.light,.light-theme{--violet-a1:#5500aa03;--violet-a2:#4900ff07;--violet-a3:#4400ee0f;--violet-a4:#4300ff1b;--violet-a5:#3600ff26;--violet-a6:#3100fb35;--violet-a7:#2d01dd4a;--violet-a8:#2b00d066;--violet-a9:#2400b7a9;--violet-a10:#2300abb2;--violet-a11:#1f0099af;--violet-a12:#0b0043d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--violet-a1:color(display-p3 .349 .024 .675/.012);--violet-a2:color(display-p3 .161 .024 .863/.028);--violet-a3:color(display-p3 .204 .004 .871/.059);--violet-a4:color(display-p3 .196 .004 1/.102);--violet-a5:color(display-p3 .165 .008 1/.15);--violet-a6:color(display-p3 .153 .004 .906/.208);--violet-a7:color(display-p3 .141 .004 .796/.287);--violet-a8:color(display-p3 .133 .004 .753/.397);--violet-a9:color(display-p3 .114 0 .675/.659);--violet-a10:color(display-p3 .11 0 .627/.695);--violet-a11:color(display-p3 .383 .317 .702);--violet-a12:color(display-p3 .179 .15 .359)}}}.dark,.dark-theme{--violet-a1:#4422ff0f;--violet-a2:#853ff916;--violet-a3:#8354fe36;--violet-a4:#7d51fd50;--violet-a5:#845ffd5f;--violet-a6:#8f6cfd6d;--violet-a7:#9879ff83;--violet-a8:#977dfea8;--violet-a9:#8668ffcc;--violet-a10:#9176fed7;--violet-a11:#baa7ff;--violet-a12:#e3defffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--violet-a1:color(display-p3 .282 .141 .996/.055);--violet-a2:color(display-p3 .51 .263 1/.08);--violet-a3:color(display-p3 .494 .337 .996/.202);--violet-a4:color(display-p3 .49 .345 1/.299);--violet-a5:color(display-p3 .525 .392 1/.353);--violet-a6:color(display-p3 .569 .455 1/.408);--violet-a7:color(display-p3 .588 .494 1/.496);--violet-a8:color(display-p3 .596 .51 1/.631);--violet-a9:color(display-p3 .522 .424 1/.769);--violet-a10:color(display-p3 .576 .482 1/.811);--violet-a11:color(display-p3 .72 .65 1);--violet-a12:color(display-p3 .883 .867 .986)}}}:root,.light,.light-theme{--iris-1:#fdfdff;--iris-2:#f8f8ff;--iris-3:#f0f1fe;--iris-4:#e6e7ff;--iris-5:#dadcff;--iris-6:#cbcdff;--iris-7:#b8baf8;--iris-8:#9b9ef0;--iris-9:#5b5bd6;--iris-10:#5151cd;--iris-11:#5753c6;--iris-12:#272962}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--iris-1:color(display-p3 .992 .992 .999);--iris-2:color(display-p3 .972 .973 .998);--iris-3:color(display-p3 .943 .945 .992);--iris-4:color(display-p3 .902 .906 1);--iris-5:color(display-p3 .857 .861 1);--iris-6:color(display-p3 .799 .805 .987);--iris-7:color(display-p3 .721 .727 .955);--iris-8:color(display-p3 .61 .619 .918);--iris-9:color(display-p3 .357 .357 .81);--iris-10:color(display-p3 .318 .318 .774);--iris-11:color(display-p3 .337 .326 .748);--iris-12:color(display-p3 .154 .161 .371)}}}.dark,.dark-theme{--iris-1:#13131e;--iris-2:#171625;--iris-3:#202248;--iris-4:#262a65;--iris-5:#303374;--iris-6:#3d3e82;--iris-7:#4a4a95;--iris-8:#5958b1;--iris-9:#5b5bd6;--iris-10:#6e6ade;--iris-11:#b1a9ff;--iris-12:#e0dffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--iris-1:color(display-p3 .075 .075 .114);--iris-2:color(display-p3 .089 .086 .14);--iris-3:color(display-p3 .128 .134 .272);--iris-4:color(display-p3 .153 .165 .382);--iris-5:color(display-p3 .192 .201 .44);--iris-6:color(display-p3 .239 .241 .491);--iris-7:color(display-p3 .291 .289 .565);--iris-8:color(display-p3 .35 .345 .673);--iris-9:color(display-p3 .357 .357 .81);--iris-10:color(display-p3 .428 .416 .843);--iris-11:color(display-p3 .685 .662 1);--iris-12:color(display-p3 .878 .875 .986)}}}:root,.light,.light-theme{--iris-a1:#0000ff02;--iris-a2:#0000ff07;--iris-a3:#0011ee0f;--iris-a4:#000bff19;--iris-a5:#000eff25;--iris-a6:#000aff34;--iris-a7:#0008e647;--iris-a8:#0008d964;--iris-a9:#0000c0a4;--iris-a10:#0000b6ae;--iris-a11:#0600abac;--iris-a12:#000246d8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--iris-a1:color(display-p3 .02 .02 1/.008);--iris-a2:color(display-p3 .024 .024 .863/.028);--iris-a3:color(display-p3 .004 .071 .871/.059);--iris-a4:color(display-p3 .012 .051 1/.099);--iris-a5:color(display-p3 .008 .035 1/.142);--iris-a6:color(display-p3 0 .02 .941/.2);--iris-a7:color(display-p3 .004 .02 .847/.279);--iris-a8:color(display-p3 .004 .024 .788/.389);--iris-a9:color(display-p3 0 0 .706/.644);--iris-a10:color(display-p3 0 0 .667/.683);--iris-a11:color(display-p3 .337 .326 .748);--iris-a12:color(display-p3 .154 .161 .371)}}}.dark,.dark-theme{--iris-a1:#3636fe0e;--iris-a2:#564bf916;--iris-a3:#525bff3b;--iris-a4:#4d58ff5a;--iris-a5:#5b62fd6b;--iris-a6:#6d6ffd7a;--iris-a7:#7777fe8e;--iris-a8:#7b7afeac;--iris-a9:#6a6afed4;--iris-a10:#7d79ffdc;--iris-a11:#b1a9ff;--iris-a12:#e1e0fffe}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--iris-a1:color(display-p3 .224 .224 .992/.051);--iris-a2:color(display-p3 .361 .314 1/.08);--iris-a3:color(display-p3 .357 .373 1/.219);--iris-a4:color(display-p3 .325 .361 1/.337);--iris-a5:color(display-p3 .38 .4 1/.4);--iris-a6:color(display-p3 .447 .447 1/.454);--iris-a7:color(display-p3 .486 .486 1/.534);--iris-a8:color(display-p3 .502 .494 1/.652);--iris-a9:color(display-p3 .431 .431 1/.799);--iris-a10:color(display-p3 .502 .486 1/.832);--iris-a11:color(display-p3 .685 .662 1);--iris-a12:color(display-p3 .878 .875 .986)}}}:root,.light,.light-theme{--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-1:color(display-p3 .992 .992 .996);--indigo-2:color(display-p3 .971 .977 .998);--indigo-3:color(display-p3 .933 .948 .992);--indigo-4:color(display-p3 .885 .914 1);--indigo-5:color(display-p3 .831 .87 1);--indigo-6:color(display-p3 .767 .814 .995);--indigo-7:color(display-p3 .685 .74 .957);--indigo-8:color(display-p3 .569 .639 .916);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .234 .343 .801);--indigo-11:color(display-p3 .256 .354 .755);--indigo-12:color(display-p3 .133 .175 .348)}}}.dark,.dark-theme{--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-1:color(display-p3 .068 .074 .118);--indigo-2:color(display-p3 .081 .089 .144);--indigo-3:color(display-p3 .105 .141 .275);--indigo-4:color(display-p3 .129 .18 .369);--indigo-5:color(display-p3 .163 .22 .439);--indigo-6:color(display-p3 .203 .262 .5);--indigo-7:color(display-p3 .245 .309 .575);--indigo-8:color(display-p3 .285 .362 .674);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .354 .445 .866);--indigo-11:color(display-p3 .63 .69 1);--indigo-12:color(display-p3 .848 .881 .99)}}}:root,.light,.light-theme{--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:#0031d2c1;--indigo-a10:#002ec9cc;--indigo-a11:#002bb7c5;--indigo-a12:#001046e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-a1:color(display-p3 .02 .02 .51/.008);--indigo-a2:color(display-p3 .024 .161 .863/.028);--indigo-a3:color(display-p3 .008 .239 .886/.067);--indigo-a4:color(display-p3 .004 .247 1/.114);--indigo-a5:color(display-p3 .004 .235 1/.169);--indigo-a6:color(display-p3 .004 .208 .984/.232);--indigo-a7:color(display-p3 .004 .176 .863/.314);--indigo-a8:color(display-p3 .004 .165 .812/.432);--indigo-a9:color(display-p3 0 .153 .773/.726);--indigo-a10:color(display-p3 0 .137 .737/.765);--indigo-a11:color(display-p3 .256 .354 .755);--indigo-a12:color(display-p3 .133 .175 .348)}}}.dark,.dark-theme{--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-a1:color(display-p3 .071 .212 .996/.055);--indigo-a2:color(display-p3 .251 .345 .988/.085);--indigo-a3:color(display-p3 .243 .404 1/.223);--indigo-a4:color(display-p3 .263 .42 1/.324);--indigo-a5:color(display-p3 .314 .451 1/.4);--indigo-a6:color(display-p3 .361 .49 1/.467);--indigo-a7:color(display-p3 .388 .51 1/.547);--indigo-a8:color(display-p3 .404 .518 1/.652);--indigo-a9:color(display-p3 .318 .451 1/.824);--indigo-a10:color(display-p3 .404 .506 1/.858);--indigo-a11:color(display-p3 .63 .69 1);--indigo-a12:color(display-p3 .848 .881 .99)}}}:root,.light,.light-theme{--blue-1:#fbfdff;--blue-2:#f4faff;--blue-3:#e6f4fe;--blue-4:#d5efff;--blue-5:#c2e5ff;--blue-6:#acd8fc;--blue-7:#8ec8f6;--blue-8:#5eb1ef;--blue-9:#0090ff;--blue-10:#0588f0;--blue-11:#0d74ce;--blue-12:#113264}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--blue-1:color(display-p3 .986 .992 .999);--blue-2:color(display-p3 .96 .979 .998);--blue-3:color(display-p3 .912 .956 .991);--blue-4:color(display-p3 .853 .932 1);--blue-5:color(display-p3 .788 .894 .998);--blue-6:color(display-p3 .709 .843 .976);--blue-7:color(display-p3 .606 .777 .947);--blue-8:color(display-p3 .451 .688 .917);--blue-9:color(display-p3 .247 .556 .969);--blue-10:color(display-p3 .234 .523 .912);--blue-11:color(display-p3 .15 .44 .84);--blue-12:color(display-p3 .102 .193 .379)}}}.dark,.dark-theme{--blue-1:#0d1520;--blue-2:#111927;--blue-3:#0d2847;--blue-4:#003362;--blue-5:#004074;--blue-6:#104d87;--blue-7:#205d9e;--blue-8:#2870bd;--blue-9:#0090ff;--blue-10:#3b9eff;--blue-11:#70b8ff;--blue-12:#c2e6ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--blue-1:color(display-p3 .057 .081 .122);--blue-2:color(display-p3 .072 .098 .147);--blue-3:color(display-p3 .078 .154 .27);--blue-4:color(display-p3 .033 .197 .37);--blue-5:color(display-p3 .08 .245 .441);--blue-6:color(display-p3 .14 .298 .511);--blue-7:color(display-p3 .195 .361 .6);--blue-8:color(display-p3 .239 .434 .72);--blue-9:color(display-p3 .247 .556 .969);--blue-10:color(display-p3 .344 .612 .973);--blue-11:color(display-p3 .49 .72 1);--blue-12:color(display-p3 .788 .898 .99)}}}:root,.light,.light-theme{--blue-a1:#0080ff04;--blue-a2:#008cff0b;--blue-a3:#008ff519;--blue-a4:#009eff2a;--blue-a5:#0093ff3d;--blue-a6:#0088f653;--blue-a7:#0083eb71;--blue-a8:#0084e6a1;--blue-a9:#0090ff;--blue-a10:#0086f0fa;--blue-a11:#006dcbf2;--blue-a12:#002359ee}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--blue-a1:color(display-p3 .024 .514 1/.016);--blue-a2:color(display-p3 .024 .514 .906/.04);--blue-a3:color(display-p3 .012 .506 .914/.087);--blue-a4:color(display-p3 .008 .545 1/.146);--blue-a5:color(display-p3 .004 .502 .984/.212);--blue-a6:color(display-p3 .004 .463 .922/.291);--blue-a7:color(display-p3 .004 .431 .863/.393);--blue-a8:color(display-p3 0 .427 .851/.55);--blue-a9:color(display-p3 0 .412 .961/.753);--blue-a10:color(display-p3 0 .376 .886/.765);--blue-a11:color(display-p3 .15 .44 .84);--blue-a12:color(display-p3 .102 .193 .379)}}}.dark,.dark-theme{--blue-a1:#004df211;--blue-a2:#1166fb18;--blue-a3:#0077ff3a;--blue-a4:#0075ff57;--blue-a5:#0081fd6b;--blue-a6:#0f89fd7f;--blue-a7:#2a91fe98;--blue-a8:#3094feb9;--blue-a9:#0090ff;--blue-a10:#3b9eff;--blue-a11:#70b8ff;--blue-a12:#c2e6ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--blue-a1:color(display-p3 0 .333 1/.059);--blue-a2:color(display-p3 .114 .435 .988/.085);--blue-a3:color(display-p3 .122 .463 1/.219);--blue-a4:color(display-p3 0 .467 1/.324);--blue-a5:color(display-p3 .098 .51 1/.4);--blue-a6:color(display-p3 .224 .557 1/.475);--blue-a7:color(display-p3 .294 .584 1/.572);--blue-a8:color(display-p3 .314 .592 1/.702);--blue-a9:color(display-p3 .251 .573 .996/.967);--blue-a10:color(display-p3 .357 .631 1/.971);--blue-a11:color(display-p3 .49 .72 1);--blue-a12:color(display-p3 .788 .898 .99)}}}:root,.light,.light-theme{--cyan-1:#fafdfe;--cyan-2:#f2fafb;--cyan-3:#def7f9;--cyan-4:#caf1f6;--cyan-5:#b5e9f0;--cyan-6:#9ddde7;--cyan-7:#7dcedc;--cyan-8:#3db9cf;--cyan-9:#00a2c7;--cyan-10:#0797b9;--cyan-11:#107d98;--cyan-12:#0d3c48}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--cyan-1:color(display-p3 .982 .992 .996);--cyan-2:color(display-p3 .955 .981 .984);--cyan-3:color(display-p3 .888 .965 .975);--cyan-4:color(display-p3 .821 .941 .959);--cyan-5:color(display-p3 .751 .907 .935);--cyan-6:color(display-p3 .671 .862 .9);--cyan-7:color(display-p3 .564 .8 .854);--cyan-8:color(display-p3 .388 .715 .798);--cyan-9:color(display-p3 .282 .627 .765);--cyan-10:color(display-p3 .264 .583 .71);--cyan-11:color(display-p3 .08 .48 .63);--cyan-12:color(display-p3 .108 .232 .277)}}}.dark,.dark-theme{--cyan-1:#0b161a;--cyan-2:#101b20;--cyan-3:#082c36;--cyan-4:#003848;--cyan-5:#004558;--cyan-6:#045468;--cyan-7:#12677e;--cyan-8:#11809c;--cyan-9:#00a2c7;--cyan-10:#23afd0;--cyan-11:#4ccce6;--cyan-12:#b6ecf7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--cyan-1:color(display-p3 .053 .085 .098);--cyan-2:color(display-p3 .072 .105 .122);--cyan-3:color(display-p3 .073 .168 .209);--cyan-4:color(display-p3 .063 .216 .277);--cyan-5:color(display-p3 .091 .267 .336);--cyan-6:color(display-p3 .137 .324 .4);--cyan-7:color(display-p3 .186 .398 .484);--cyan-8:color(display-p3 .23 .496 .6);--cyan-9:color(display-p3 .282 .627 .765);--cyan-10:color(display-p3 .331 .675 .801);--cyan-11:color(display-p3 .446 .79 .887);--cyan-12:color(display-p3 .757 .919 .962)}}}:root,.light,.light-theme{--cyan-a1:#0099cc05;--cyan-a2:#009db10d;--cyan-a3:#00c2d121;--cyan-a4:#00bcd435;--cyan-a5:#01b4cc4a;--cyan-a6:#00a7c162;--cyan-a7:#009fbb82;--cyan-a8:#00a3c0c2;--cyan-a9:#00a2c7;--cyan-a10:#0094b7f8;--cyan-a11:#007491ef;--cyan-a12:#00323ef2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--cyan-a1:color(display-p3 .02 .608 .804/.02);--cyan-a2:color(display-p3 .02 .557 .647/.044);--cyan-a3:color(display-p3 .004 .694 .796/.114);--cyan-a4:color(display-p3 .004 .678 .784/.181);--cyan-a5:color(display-p3 .004 .624 .733/.248);--cyan-a6:color(display-p3 .004 .584 .706/.33);--cyan-a7:color(display-p3 .004 .541 .667/.436);--cyan-a8:color(display-p3 0 .533 .667/.612);--cyan-a9:color(display-p3 0 .482 .675/.718);--cyan-a10:color(display-p3 0 .435 .608/.738);--cyan-a11:color(display-p3 .08 .48 .63);--cyan-a12:color(display-p3 .108 .232 .277)}}}.dark,.dark-theme{--cyan-a1:#0091f70a;--cyan-a2:#02a7f211;--cyan-a3:#00befd28;--cyan-a4:#00baff3b;--cyan-a5:#00befd4d;--cyan-a6:#00c7fd5e;--cyan-a7:#14cdff75;--cyan-a8:#11cfff95;--cyan-a9:#00cfffc3;--cyan-a10:#28d6ffcd;--cyan-a11:#52e1fee5;--cyan-a12:#bbf3fef7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--cyan-a1:color(display-p3 0 .647 .992/.034);--cyan-a2:color(display-p3 .133 .733 1/.059);--cyan-a3:color(display-p3 .122 .741 .996/.152);--cyan-a4:color(display-p3 .051 .725 1/.227);--cyan-a5:color(display-p3 .149 .757 1/.29);--cyan-a6:color(display-p3 .267 .792 1/.358);--cyan-a7:color(display-p3 .333 .808 1/.446);--cyan-a8:color(display-p3 .357 .816 1/.572);--cyan-a9:color(display-p3 .357 .82 1/.748);--cyan-a10:color(display-p3 .4 .839 1/.786);--cyan-a11:color(display-p3 .446 .79 .887);--cyan-a12:color(display-p3 .757 .919 .962)}}}:root,.light,.light-theme{--teal-1:#fafefd;--teal-2:#f3fbf9;--teal-3:#e0f8f3;--teal-4:#ccf3ea;--teal-5:#b8eae0;--teal-6:#a1ded2;--teal-7:#83cdc1;--teal-8:#53b9ab;--teal-9:#12a594;--teal-10:#0d9b8a;--teal-11:#008573;--teal-12:#0d3d38}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--teal-1:color(display-p3 .983 .996 .992);--teal-2:color(display-p3 .958 .983 .976);--teal-3:color(display-p3 .895 .971 .952);--teal-4:color(display-p3 .831 .949 .92);--teal-5:color(display-p3 .761 .914 .878);--teal-6:color(display-p3 .682 .864 .825);--teal-7:color(display-p3 .581 .798 .756);--teal-8:color(display-p3 .433 .716 .671);--teal-9:color(display-p3 .297 .637 .581);--teal-10:color(display-p3 .275 .599 .542);--teal-11:color(display-p3 .08 .5 .43);--teal-12:color(display-p3 .11 .235 .219)}}}.dark,.dark-theme{--teal-1:#0d1514;--teal-2:#111c1b;--teal-3:#0d2d2a;--teal-4:#023b37;--teal-5:#084843;--teal-6:#145750;--teal-7:#1c6961;--teal-8:#207e73;--teal-9:#12a594;--teal-10:#0eb39e;--teal-11:#0bd8b6;--teal-12:#adf0dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--teal-1:color(display-p3 .059 .083 .079);--teal-2:color(display-p3 .075 .11 .107);--teal-3:color(display-p3 .087 .175 .165);--teal-4:color(display-p3 .087 .227 .214);--teal-5:color(display-p3 .12 .277 .261);--teal-6:color(display-p3 .162 .335 .314);--teal-7:color(display-p3 .205 .406 .379);--teal-8:color(display-p3 .245 .489 .453);--teal-9:color(display-p3 .297 .637 .581);--teal-10:color(display-p3 .319 .69 .62);--teal-11:color(display-p3 .388 .835 .719);--teal-12:color(display-p3 .734 .934 .87)}}}:root,.light,.light-theme{--teal-a1:#00cc9905;--teal-a2:#00aa800c;--teal-a3:#00c69d1f;--teal-a4:#00c39633;--teal-a5:#00b49047;--teal-a6:#00a6855e;--teal-a7:#0099807c;--teal-a8:#009783ac;--teal-a9:#009e8ced;--teal-a10:#009684f2;--teal-a11:#008573;--teal-a12:#00332df2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--teal-a1:color(display-p3 .024 .757 .514/.016);--teal-a2:color(display-p3 .02 .647 .467/.044);--teal-a3:color(display-p3 .004 .741 .557/.106);--teal-a4:color(display-p3 .004 .702 .537/.169);--teal-a5:color(display-p3 .004 .643 .494/.24);--teal-a6:color(display-p3 .004 .569 .447/.318);--teal-a7:color(display-p3 .004 .518 .424/.42);--teal-a8:color(display-p3 0 .506 .424/.569);--teal-a9:color(display-p3 0 .482 .404/.702);--teal-a10:color(display-p3 0 .451 .369/.726);--teal-a11:color(display-p3 .08 .5 .43);--teal-a12:color(display-p3 .11 .235 .219)}}}.dark,.dark-theme{--teal-a1:#00deab05;--teal-a2:#12fbe60c;--teal-a3:#00ffe61e;--teal-a4:#00ffe92d;--teal-a5:#00ffea3b;--teal-a6:#1cffe84b;--teal-a7:#2efde85f;--teal-a8:#32ffe775;--teal-a9:#13ffe49f;--teal-a10:#0dffe0ae;--teal-a11:#0afed5d6;--teal-a12:#b8ffebef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--teal-a1:color(display-p3 0 .992 .761/.017);--teal-a2:color(display-p3 .235 .988 .902/.047);--teal-a3:color(display-p3 .235 1 .898/.118);--teal-a4:color(display-p3 .18 .996 .929/.173);--teal-a5:color(display-p3 .31 1 .933/.227);--teal-a6:color(display-p3 .396 1 .933/.286);--teal-a7:color(display-p3 .443 1 .925/.366);--teal-a8:color(display-p3 .459 1 .925/.454);--teal-a9:color(display-p3 .443 .996 .906/.61);--teal-a10:color(display-p3 .439 .996 .89/.669);--teal-a11:color(display-p3 .388 .835 .719);--teal-a12:color(display-p3 .734 .934 .87)}}}:root,.light,.light-theme{--jade-1:#fbfefd;--jade-2:#f4fbf7;--jade-3:#e6f7ed;--jade-4:#d6f1e3;--jade-5:#c3e9d7;--jade-6:#acdec8;--jade-7:#8bceb6;--jade-8:#56ba9f;--jade-9:#29a383;--jade-10:#26997b;--jade-11:#208368;--jade-12:#1d3b31}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--jade-1:color(display-p3 .986 .996 .992);--jade-2:color(display-p3 .962 .983 .969);--jade-3:color(display-p3 .912 .965 .932);--jade-4:color(display-p3 .858 .941 .893);--jade-5:color(display-p3 .795 .909 .847);--jade-6:color(display-p3 .715 .864 .791);--jade-7:color(display-p3 .603 .802 .718);--jade-8:color(display-p3 .44 .72 .629);--jade-9:color(display-p3 .319 .63 .521);--jade-10:color(display-p3 .299 .592 .488);--jade-11:color(display-p3 .15 .5 .37);--jade-12:color(display-p3 .142 .229 .194)}}}.dark,.dark-theme{--jade-1:#0d1512;--jade-2:#121c18;--jade-3:#0f2e22;--jade-4:#0b3b2c;--jade-5:#114837;--jade-6:#1b5745;--jade-7:#246854;--jade-8:#2a7e68;--jade-9:#29a383;--jade-10:#27b08b;--jade-11:#1fd8a4;--jade-12:#adf0d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--jade-1:color(display-p3 .059 .083 .071);--jade-2:color(display-p3 .078 .11 .094);--jade-3:color(display-p3 .091 .176 .138);--jade-4:color(display-p3 .102 .228 .177);--jade-5:color(display-p3 .133 .279 .221);--jade-6:color(display-p3 .174 .334 .273);--jade-7:color(display-p3 .219 .402 .335);--jade-8:color(display-p3 .263 .488 .411);--jade-9:color(display-p3 .319 .63 .521);--jade-10:color(display-p3 .338 .68 .555);--jade-11:color(display-p3 .4 .835 .656);--jade-12:color(display-p3 .734 .934 .838)}}}:root,.light,.light-theme{--jade-a1:#00c08004;--jade-a2:#00a3460b;--jade-a3:#00ae4819;--jade-a4:#00a85129;--jade-a5:#00a2553c;--jade-a6:#009a5753;--jade-a7:#00945f74;--jade-a8:#00976ea9;--jade-a9:#00916bd6;--jade-a10:#008764d9;--jade-a11:#007152df;--jade-a12:#002217e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--jade-a1:color(display-p3 .024 .757 .514/.016);--jade-a2:color(display-p3 .024 .612 .22/.04);--jade-a3:color(display-p3 .012 .596 .235/.087);--jade-a4:color(display-p3 .008 .588 .255/.142);--jade-a5:color(display-p3 .004 .561 .251/.204);--jade-a6:color(display-p3 .004 .525 .278/.287);--jade-a7:color(display-p3 .004 .506 .29/.397);--jade-a8:color(display-p3 0 .506 .337/.561);--jade-a9:color(display-p3 0 .459 .298/.683);--jade-a10:color(display-p3 0 .42 .271/.702);--jade-a11:color(display-p3 .15 .5 .37);--jade-a12:color(display-p3 .142 .229 .194)}}}.dark,.dark-theme{--jade-a1:#00de4505;--jade-a2:#27fba60c;--jade-a3:#02f99920;--jade-a4:#00ffaa2d;--jade-a5:#11ffb63b;--jade-a6:#34ffc24b;--jade-a7:#45fdc75e;--jade-a8:#48ffcf75;--jade-a9:#38feca9d;--jade-a10:#31fec7ab;--jade-a11:#21fec0d6;--jade-a12:#b8ffe1ef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--jade-a1:color(display-p3 0 .992 .298/.017);--jade-a2:color(display-p3 .318 .988 .651/.047);--jade-a3:color(display-p3 .267 1 .667/.118);--jade-a4:color(display-p3 .275 .996 .702/.173);--jade-a5:color(display-p3 .361 1 .741/.227);--jade-a6:color(display-p3 .439 1 .796/.286);--jade-a7:color(display-p3 .49 1 .804/.362);--jade-a8:color(display-p3 .506 1 .835/.45);--jade-a9:color(display-p3 .478 .996 .816/.606);--jade-a10:color(display-p3 .478 1 .816/.656);--jade-a11:color(display-p3 .4 .835 .656);--jade-a12:color(display-p3 .734 .934 .838)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-1:color(display-p3 .062 .083 .071);--green-2:color(display-p3 .079 .106 .09);--green-3:color(display-p3 .1 .173 .133);--green-4:color(display-p3 .115 .229 .166);--green-5:color(display-p3 .147 .282 .206);--green-6:color(display-p3 .185 .338 .25);--green-7:color(display-p3 .227 .403 .298);--green-8:color(display-p3 .27 .479 .351);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .357 .682 .474);--green-11:color(display-p3 .434 .828 .573);--green-12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-a1:color(display-p3 0 .992 .298/.017);--green-a2:color(display-p3 .341 .98 .616/.043);--green-a3:color(display-p3 .376 .996 .655/.114);--green-a4:color(display-p3 .341 .996 .635/.173);--green-a5:color(display-p3 .408 1 .678/.232);--green-a6:color(display-p3 .475 1 .706/.29);--green-a7:color(display-p3 .514 1 .706/.362);--green-a8:color(display-p3 .529 1 .718/.442);--green-a9:color(display-p3 .502 .996 .682/.61);--green-a10:color(display-p3 .506 1 .682/.66);--green-a11:color(display-p3 .434 .828 .573);--green-a12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--grass-1:#fbfefb;--grass-2:#f5fbf5;--grass-3:#e9f6e9;--grass-4:#daf1db;--grass-5:#c9e8ca;--grass-6:#b2ddb5;--grass-7:#94ce9a;--grass-8:#65ba74;--grass-9:#46a758;--grass-10:#3e9b4f;--grass-11:#2a7e3b;--grass-12:#203c25}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--grass-1:color(display-p3 .986 .996 .985);--grass-2:color(display-p3 .966 .983 .964);--grass-3:color(display-p3 .923 .965 .917);--grass-4:color(display-p3 .872 .94 .865);--grass-5:color(display-p3 .811 .908 .802);--grass-6:color(display-p3 .733 .864 .724);--grass-7:color(display-p3 .628 .803 .622);--grass-8:color(display-p3 .477 .72 .482);--grass-9:color(display-p3 .38 .647 .378);--grass-10:color(display-p3 .344 .598 .342);--grass-11:color(display-p3 .263 .488 .261);--grass-12:color(display-p3 .151 .233 .153)}}}.dark,.dark-theme{--grass-1:#0e1511;--grass-2:#141a15;--grass-3:#1b2a1e;--grass-4:#1d3a24;--grass-5:#25482d;--grass-6:#2d5736;--grass-7:#366740;--grass-8:#3e7949;--grass-9:#46a758;--grass-10:#53b365;--grass-11:#71d083;--grass-12:#c2f0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--grass-1:color(display-p3 .062 .083 .067);--grass-2:color(display-p3 .083 .103 .085);--grass-3:color(display-p3 .118 .163 .122);--grass-4:color(display-p3 .142 .225 .15);--grass-5:color(display-p3 .178 .279 .186);--grass-6:color(display-p3 .217 .337 .224);--grass-7:color(display-p3 .258 .4 .264);--grass-8:color(display-p3 .302 .47 .305);--grass-9:color(display-p3 .38 .647 .378);--grass-10:color(display-p3 .426 .694 .426);--grass-11:color(display-p3 .535 .807 .542);--grass-12:color(display-p3 .797 .936 .776)}}}:root,.light,.light-theme{--grass-a1:#00c00004;--grass-a2:#0099000a;--grass-a3:#00970016;--grass-a4:#009f0725;--grass-a5:#00930536;--grass-a6:#008f0a4d;--grass-a7:#018b0f6b;--grass-a8:#008d199a;--grass-a9:#008619b9;--grass-a10:#007b17c1;--grass-a11:#006514d5;--grass-a12:#002006df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--grass-a1:color(display-p3 .024 .757 .024/.016);--grass-a2:color(display-p3 .024 .565 .024/.036);--grass-a3:color(display-p3 .059 .576 .008/.083);--grass-a4:color(display-p3 .035 .565 .008/.134);--grass-a5:color(display-p3 .047 .545 .008/.197);--grass-a6:color(display-p3 .031 .502 .004/.275);--grass-a7:color(display-p3 .012 .482 .004/.377);--grass-a8:color(display-p3 0 .467 .008/.522);--grass-a9:color(display-p3 .008 .435 0/.624);--grass-a10:color(display-p3 .008 .388 0/.659);--grass-a11:color(display-p3 .263 .488 .261);--grass-a12:color(display-p3 .151 .233 .153)}}}.dark,.dark-theme{--grass-a1:#00de1205;--grass-a2:#5ef7780a;--grass-a3:#70fe8c1b;--grass-a4:#57ff802c;--grass-a5:#68ff8b3b;--grass-a6:#71ff8f4b;--grass-a7:#77fd925d;--grass-a8:#77fd9070;--grass-a9:#65ff82a1;--grass-a10:#72ff8dae;--grass-a11:#89ff9fcd;--grass-a12:#ceffceef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--grass-a1:color(display-p3 0 .992 .071/.017);--grass-a2:color(display-p3 .482 .996 .584/.038);--grass-a3:color(display-p3 .549 .992 .588/.106);--grass-a4:color(display-p3 .51 .996 .557/.169);--grass-a5:color(display-p3 .553 1 .588/.227);--grass-a6:color(display-p3 .584 1 .608/.29);--grass-a7:color(display-p3 .604 1 .616/.358);--grass-a8:color(display-p3 .608 1 .62/.433);--grass-a9:color(display-p3 .573 1 .569/.622);--grass-a10:color(display-p3 .6 .996 .6/.673);--grass-a11:color(display-p3 .535 .807 .542);--grass-a12:color(display-p3 .797 .936 .776)}}}:root,.light,.light-theme{--orange-1:#fefcfb;--orange-2:#fff7ed;--orange-3:#ffefd6;--orange-4:#ffdfb5;--orange-5:#ffd19a;--orange-6:#ffc182;--orange-7:#f5ae73;--orange-8:#ec9455;--orange-9:#f76b15;--orange-10:#ef5f00;--orange-11:#cc4e00;--orange-12:#582d1d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-1:color(display-p3 .995 .988 .985);--orange-2:color(display-p3 .994 .968 .934);--orange-3:color(display-p3 .989 .938 .85);--orange-4:color(display-p3 1 .874 .687);--orange-5:color(display-p3 1 .821 .583);--orange-6:color(display-p3 .975 .767 .545);--orange-7:color(display-p3 .919 .693 .486);--orange-8:color(display-p3 .877 .597 .379);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .87 .409 .164);--orange-11:color(display-p3 .76 .34 0);--orange-12:color(display-p3 .323 .185 .127)}}}.dark,.dark-theme{--orange-1:#17120e;--orange-2:#1e160f;--orange-3:#331e0b;--orange-4:#462100;--orange-5:#562800;--orange-6:#66350c;--orange-7:#7e451d;--orange-8:#a35829;--orange-9:#f76b15;--orange-10:#ff801f;--orange-11:#ffa057;--orange-12:#ffe0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--orange-1:color(display-p3 .088 .07 .057);--orange-2:color(display-p3 .113 .089 .061);--orange-3:color(display-p3 .189 .12 .056);--orange-4:color(display-p3 .262 .132 0);--orange-5:color(display-p3 .315 .168 .016);--orange-6:color(display-p3 .376 .219 .088);--orange-7:color(display-p3 .465 .283 .147);--orange-8:color(display-p3 .601 .359 .201);--orange-9:color(display-p3 .9 .45 .2);--orange-10:color(display-p3 .98 .51 .23);--orange-11:color(display-p3 1 .63 .38);--orange-12:color(display-p3 .98 .883 .775)}}}:root,.light,.light-theme{--orange-a1:#c0400004;--orange-a2:#ff8e0012;--orange-a3:#ff9c0029;--orange-a4:#ff91014a;--orange-a5:#ff8b0065;--orange-a6:#ff81007d;--orange-a7:#ed6c008c;--orange-a8:#e35f00aa;--orange-a9:#f65e00ea;--orange-a10:#ef5f00;--orange-a11:#cc4e00;--orange-a12:#431200e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--orange-a1:color(display-p3 .757 .267 .024/.016);--orange-a2:color(display-p3 .886 .533 .008/.067);--orange-a3:color(display-p3 .922 .584 .008/.15);--orange-a4:color(display-p3 1 .604 .004/.314);--orange-a5:color(display-p3 1 .569 .004/.416);--orange-a6:color(display-p3 .949 .494 .004/.455);--orange-a7:color(display-p3 .839 .408 0/.514);--orange-a8:color(display-p3 .804 .349 0/.62);--orange-a9:color(display-p3 .878 .314 0/.8);--orange-a10:color(display-p3 .843 .29 0/.836);--orange-a11:color(display-p3 .76 .34 0);--orange-a12:color(display-p3 .323 .185 .127)}}}.dark,.dark-theme{--orange-a1:#ec360007;--orange-a2:#fe6d000e;--orange-a3:#fb6a0025;--orange-a4:#ff590039;--orange-a5:#ff61004a;--orange-a6:#fd75045c;--orange-a7:#ff832c75;--orange-a8:#fe84389d;--orange-a9:#fe6d15f7;--orange-a10:#ff801f;--orange-a11:#ffa057;--orange-a12:#ffe0c2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--orange-a1:color(display-p3 .961 .247 0/.022);--orange-a2:color(display-p3 .992 .529 0/.051);--orange-a3:color(display-p3 .996 .486 0/.131);--orange-a4:color(display-p3 .996 .384 0/.211);--orange-a5:color(display-p3 1 .455 0/.265);--orange-a6:color(display-p3 1 .529 .129/.332);--orange-a7:color(display-p3 1 .569 .251/.429);--orange-a8:color(display-p3 1 .584 .302/.572);--orange-a9:color(display-p3 1 .494 .216/.895);--orange-a10:color(display-p3 1 .522 .235/.979);--orange-a11:color(display-p3 1 .63 .38);--orange-a12:color(display-p3 .98 .883 .775)}}}:root,.light,.light-theme{--brown-1:#fefdfc;--brown-2:#fcf9f6;--brown-3:#f6eee7;--brown-4:#f0e4d9;--brown-5:#ebdaca;--brown-6:#e4cdb7;--brown-7:#dcbc9f;--brown-8:#cea37e;--brown-9:#ad7f58;--brown-10:#a07553;--brown-11:#815e46;--brown-12:#3e332e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-1:color(display-p3 .995 .992 .989);--brown-2:color(display-p3 .987 .976 .964);--brown-3:color(display-p3 .959 .936 .909);--brown-4:color(display-p3 .934 .897 .855);--brown-5:color(display-p3 .909 .856 .798);--brown-6:color(display-p3 .88 .808 .73);--brown-7:color(display-p3 .841 .742 .639);--brown-8:color(display-p3 .782 .647 .514);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .601 .465 .344);--brown-11:color(display-p3 .485 .374 .288);--brown-12:color(display-p3 .236 .202 .183)}}}.dark,.dark-theme{--brown-1:#12110f;--brown-2:#1c1816;--brown-3:#28211d;--brown-4:#322922;--brown-5:#3e3128;--brown-6:#4d3c2f;--brown-7:#614a39;--brown-8:#7c5f46;--brown-9:#ad7f58;--brown-10:#b88c67;--brown-11:#dbb594;--brown-12:#f2e1ca}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--brown-1:color(display-p3 .071 .067 .059);--brown-2:color(display-p3 .107 .095 .087);--brown-3:color(display-p3 .151 .13 .115);--brown-4:color(display-p3 .191 .161 .138);--brown-5:color(display-p3 .235 .194 .162);--brown-6:color(display-p3 .291 .237 .192);--brown-7:color(display-p3 .365 .295 .232);--brown-8:color(display-p3 .469 .377 .287);--brown-9:color(display-p3 .651 .505 .368);--brown-10:color(display-p3 .697 .557 .423);--brown-11:color(display-p3 .835 .715 .597);--brown-12:color(display-p3 .938 .885 .802)}}}:root,.light,.light-theme{--brown-a1:#aa550003;--brown-a2:#aa550009;--brown-a3:#a04b0018;--brown-a4:#9b4a0026;--brown-a5:#9f4d0035;--brown-a6:#a04e0048;--brown-a7:#a34e0060;--brown-a8:#9f4a0081;--brown-a9:#823c00a7;--brown-a10:#723300ac;--brown-a11:#522100b9;--brown-a12:#140600d1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--brown-a1:color(display-p3 .675 .349 .024/.012);--brown-a2:color(display-p3 .675 .349 .024/.036);--brown-a3:color(display-p3 .573 .314 .012/.091);--brown-a4:color(display-p3 .545 .302 .008/.146);--brown-a5:color(display-p3 .561 .29 .004/.204);--brown-a6:color(display-p3 .553 .294 .004/.271);--brown-a7:color(display-p3 .557 .286 .004/.361);--brown-a8:color(display-p3 .549 .275 .004/.487);--brown-a9:color(display-p3 .447 .22 0/.632);--brown-a10:color(display-p3 .388 .188 0/.655);--brown-a11:color(display-p3 .485 .374 .288);--brown-a12:color(display-p3 .236 .202 .183)}}}.dark,.dark-theme{--brown-a1:#91110002;--brown-a2:#fba67c0c;--brown-a3:#fcb58c19;--brown-a4:#fbbb8a24;--brown-a5:#fcb88931;--brown-a6:#fdba8741;--brown-a7:#ffbb8856;--brown-a8:#ffbe8773;--brown-a9:#feb87da8;--brown-a10:#ffc18cb3;--brown-a11:#fed1aad9;--brown-a12:#feecd4f2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--brown-a1:color(display-p3 .855 .071 0/.005);--brown-a2:color(display-p3 .98 .706 .525/.043);--brown-a3:color(display-p3 .996 .745 .576/.093);--brown-a4:color(display-p3 1 .765 .592/.135);--brown-a5:color(display-p3 1 .761 .588/.181);--brown-a6:color(display-p3 1 .773 .592/.24);--brown-a7:color(display-p3 .996 .776 .58/.32);--brown-a8:color(display-p3 1 .78 .573/.433);--brown-a9:color(display-p3 1 .769 .549/.627);--brown-a10:color(display-p3 1 .792 .596/.677);--brown-a11:color(display-p3 .835 .715 .597);--brown-a12:color(display-p3 .938 .885 .802)}}}:root,.light,.light-theme{--sky-1:#f9feff;--sky-2:#f1fafd;--sky-3:#e1f6fd;--sky-4:#d1f0fa;--sky-5:#bee7f5;--sky-6:#a9daed;--sky-7:#8dcae3;--sky-8:#60b3d7;--sky-9:#7ce2fe;--sky-10:#74daf8;--sky-11:#00749e;--sky-12:#1d3e56}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sky-1:color(display-p3 .98 .995 .999);--sky-2:color(display-p3 .953 .98 .99);--sky-3:color(display-p3 .899 .963 .989);--sky-4:color(display-p3 .842 .937 .977);--sky-5:color(display-p3 .777 .9 .954);--sky-6:color(display-p3 .701 .851 .921);--sky-7:color(display-p3 .604 .785 .879);--sky-8:color(display-p3 .457 .696 .829);--sky-9:color(display-p3 .585 .877 .983);--sky-10:color(display-p3 .555 .845 .959);--sky-11:color(display-p3 .193 .448 .605);--sky-12:color(display-p3 .145 .241 .329)}}}.dark,.dark-theme{--sky-1:#0d141f;--sky-2:#111a27;--sky-3:#112840;--sky-4:#113555;--sky-5:#154467;--sky-6:#1b537b;--sky-7:#1f6692;--sky-8:#197cae;--sky-9:#7ce2fe;--sky-10:#a8eeff;--sky-11:#75c7f0;--sky-12:#c2f3ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sky-1:color(display-p3 .056 .078 .116);--sky-2:color(display-p3 .075 .101 .149);--sky-3:color(display-p3 .089 .154 .244);--sky-4:color(display-p3 .106 .207 .323);--sky-5:color(display-p3 .135 .261 .394);--sky-6:color(display-p3 .17 .322 .469);--sky-7:color(display-p3 .205 .394 .557);--sky-8:color(display-p3 .232 .48 .665);--sky-9:color(display-p3 .585 .877 .983);--sky-10:color(display-p3 .718 .925 .991);--sky-11:color(display-p3 .536 .772 .924);--sky-12:color(display-p3 .799 .947 .993)}}}:root,.light,.light-theme{--sky-a1:#00d5ff06;--sky-a2:#00a4db0e;--sky-a3:#00b3ee1e;--sky-a4:#00ace42e;--sky-a5:#00a1d841;--sky-a6:#0092ca56;--sky-a7:#0089c172;--sky-a8:#0085bf9f;--sky-a9:#00c7fe83;--sky-a10:#00bcf38b;--sky-a11:#00749e;--sky-a12:#002540e2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sky-a1:color(display-p3 .02 .804 1/.02);--sky-a2:color(display-p3 .024 .592 .757/.048);--sky-a3:color(display-p3 .004 .655 .886/.102);--sky-a4:color(display-p3 .004 .604 .851/.157);--sky-a5:color(display-p3 .004 .565 .792/.224);--sky-a6:color(display-p3 .004 .502 .737/.299);--sky-a7:color(display-p3 .004 .459 .694/.397);--sky-a8:color(display-p3 0 .435 .682/.542);--sky-a9:color(display-p3 .004 .71 .965/.416);--sky-a10:color(display-p3 .004 .647 .914/.444);--sky-a11:color(display-p3 .193 .448 .605);--sky-a12:color(display-p3 .145 .241 .329)}}}.dark,.dark-theme{--sky-a1:#0044ff0f;--sky-a2:#1171fb18;--sky-a3:#1184fc33;--sky-a4:#128fff49;--sky-a5:#1c9dfd5d;--sky-a6:#28a5ff72;--sky-a7:#2badfe8b;--sky-a8:#1db2fea9;--sky-a9:#7ce3fffe;--sky-a10:#a8eeff;--sky-a11:#7cd3ffef;--sky-a12:#c2f3ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sky-a1:color(display-p3 0 .282 .996/.055);--sky-a2:color(display-p3 .157 .467 .992/.089);--sky-a3:color(display-p3 .192 .522 .996/.19);--sky-a4:color(display-p3 .212 .584 1/.274);--sky-a5:color(display-p3 .259 .631 1/.349);--sky-a6:color(display-p3 .302 .655 1/.433);--sky-a7:color(display-p3 .329 .686 1/.526);--sky-a8:color(display-p3 .325 .71 1/.643);--sky-a9:color(display-p3 .592 .894 1/.984);--sky-a10:color(display-p3 .722 .933 1/.992);--sky-a11:color(display-p3 .536 .772 .924);--sky-a12:color(display-p3 .799 .947 .993)}}}:root,.light,.light-theme{--mint-1:#f9fefd;--mint-2:#f2fbf9;--mint-3:#ddf9f2;--mint-4:#c8f4e9;--mint-5:#b3ecde;--mint-6:#9ce0d0;--mint-7:#7ecfbd;--mint-8:#4cbba5;--mint-9:#86ead4;--mint-10:#7de0cb;--mint-11:#027864;--mint-12:#16433c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mint-1:color(display-p3 .98 .995 .992);--mint-2:color(display-p3 .957 .985 .977);--mint-3:color(display-p3 .888 .972 .95);--mint-4:color(display-p3 .819 .951 .916);--mint-5:color(display-p3 .747 .918 .873);--mint-6:color(display-p3 .668 .87 .818);--mint-7:color(display-p3 .567 .805 .744);--mint-8:color(display-p3 .42 .724 .649);--mint-9:color(display-p3 .62 .908 .834);--mint-10:color(display-p3 .585 .871 .797);--mint-11:color(display-p3 .203 .463 .397);--mint-12:color(display-p3 .136 .259 .236)}}}.dark,.dark-theme{--mint-1:#0e1515;--mint-2:#0f1b1b;--mint-3:#092c2b;--mint-4:#003a38;--mint-5:#004744;--mint-6:#105650;--mint-7:#1e685f;--mint-8:#277f70;--mint-9:#86ead4;--mint-10:#a8f5e5;--mint-11:#58d5ba;--mint-12:#c4f5e1}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mint-1:color(display-p3 .059 .082 .081);--mint-2:color(display-p3 .068 .104 .105);--mint-3:color(display-p3 .077 .17 .168);--mint-4:color(display-p3 .068 .224 .22);--mint-5:color(display-p3 .104 .275 .264);--mint-6:color(display-p3 .154 .332 .313);--mint-7:color(display-p3 .207 .403 .373);--mint-8:color(display-p3 .258 .49 .441);--mint-9:color(display-p3 .62 .908 .834);--mint-10:color(display-p3 .725 .954 .898);--mint-11:color(display-p3 .482 .825 .733);--mint-12:color(display-p3 .807 .955 .887)}}}:root,.light,.light-theme{--mint-a1:#00d5aa06;--mint-a2:#00b18a0d;--mint-a3:#00d29e22;--mint-a4:#00cc9937;--mint-a5:#00c0914c;--mint-a6:#00b08663;--mint-a7:#00a17d81;--mint-a8:#009e7fb3;--mint-a9:#00d3a579;--mint-a10:#00c39982;--mint-a11:#007763fd;--mint-a12:#00312ae9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mint-a1:color(display-p3 .02 .804 .608/.02);--mint-a2:color(display-p3 .02 .647 .467/.044);--mint-a3:color(display-p3 .004 .761 .553/.114);--mint-a4:color(display-p3 .004 .741 .545/.181);--mint-a5:color(display-p3 .004 .678 .51/.255);--mint-a6:color(display-p3 .004 .616 .463/.334);--mint-a7:color(display-p3 .004 .549 .412/.432);--mint-a8:color(display-p3 0 .529 .392/.581);--mint-a9:color(display-p3 .004 .765 .569/.381);--mint-a10:color(display-p3 .004 .69 .51/.416);--mint-a11:color(display-p3 .203 .463 .397);--mint-a12:color(display-p3 .136 .259 .236)}}}.dark,.dark-theme{--mint-a1:#00dede05;--mint-a2:#00f9f90b;--mint-a3:#00fff61d;--mint-a4:#00fff42c;--mint-a5:#00fff23a;--mint-a6:#0effeb4a;--mint-a7:#34fde55e;--mint-a8:#41ffdf76;--mint-a9:#92ffe7e9;--mint-a10:#aefeedf5;--mint-a11:#67ffded2;--mint-a12:#cbfee9f5}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mint-a1:color(display-p3 0 .992 .992/.017);--mint-a2:color(display-p3 .071 .98 .98/.043);--mint-a3:color(display-p3 .176 .996 .996/.11);--mint-a4:color(display-p3 .071 .996 .973/.169);--mint-a5:color(display-p3 .243 1 .949/.223);--mint-a6:color(display-p3 .369 1 .933/.286);--mint-a7:color(display-p3 .459 1 .914/.362);--mint-a8:color(display-p3 .49 1 .89/.454);--mint-a9:color(display-p3 .678 .996 .914/.904);--mint-a10:color(display-p3 .761 1 .941/.95);--mint-a11:color(display-p3 .482 .825 .733);--mint-a12:color(display-p3 .807 .955 .887)}}}:root,.light,.light-theme{--lime-1:#fcfdfa;--lime-2:#f8faf3;--lime-3:#eef6d6;--lime-4:#e2f0bd;--lime-5:#d3e7a6;--lime-6:#c2da91;--lime-7:#abc978;--lime-8:#8db654;--lime-9:#bdee63;--lime-10:#b0e64c;--lime-11:#5c7c2f;--lime-12:#37401c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--lime-1:color(display-p3 .989 .992 .981);--lime-2:color(display-p3 .975 .98 .954);--lime-3:color(display-p3 .939 .965 .851);--lime-4:color(display-p3 .896 .94 .76);--lime-5:color(display-p3 .843 .903 .678);--lime-6:color(display-p3 .778 .852 .599);--lime-7:color(display-p3 .694 .784 .508);--lime-8:color(display-p3 .585 .707 .378);--lime-9:color(display-p3 .78 .928 .466);--lime-10:color(display-p3 .734 .896 .397);--lime-11:color(display-p3 .386 .482 .227);--lime-12:color(display-p3 .222 .25 .128)}}}.dark,.dark-theme{--lime-1:#11130c;--lime-2:#151a10;--lime-3:#1f2917;--lime-4:#29371d;--lime-5:#334423;--lime-6:#3d522a;--lime-7:#496231;--lime-8:#577538;--lime-9:#bdee63;--lime-10:#d4ff70;--lime-11:#bde56c;--lime-12:#e3f7ba}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--lime-1:color(display-p3 .067 .073 .048);--lime-2:color(display-p3 .086 .1 .067);--lime-3:color(display-p3 .13 .16 .099);--lime-4:color(display-p3 .172 .214 .126);--lime-5:color(display-p3 .213 .266 .153);--lime-6:color(display-p3 .257 .321 .182);--lime-7:color(display-p3 .307 .383 .215);--lime-8:color(display-p3 .365 .456 .25);--lime-9:color(display-p3 .78 .928 .466);--lime-10:color(display-p3 .865 .995 .519);--lime-11:color(display-p3 .771 .893 .485);--lime-12:color(display-p3 .905 .966 .753)}}}:root,.light,.light-theme{--lime-a1:#66990005;--lime-a2:#6b95000c;--lime-a3:#96c80029;--lime-a4:#8fc60042;--lime-a5:#81bb0059;--lime-a6:#72aa006e;--lime-a7:#61990087;--lime-a8:#559200ab;--lime-a9:#93e4009c;--lime-a10:#8fdc00b3;--lime-a11:#375f00d0;--lime-a12:#1e2900e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--lime-a1:color(display-p3 .412 .608 .02/.02);--lime-a2:color(display-p3 .514 .592 .024/.048);--lime-a3:color(display-p3 .584 .765 .008/.15);--lime-a4:color(display-p3 .561 .757 .004/.24);--lime-a5:color(display-p3 .514 .698 .004/.322);--lime-a6:color(display-p3 .443 .627 0/.4);--lime-a7:color(display-p3 .376 .561 .004/.491);--lime-a8:color(display-p3 .333 .529 0/.624);--lime-a9:color(display-p3 .588 .867 0/.534);--lime-a10:color(display-p3 .561 .827 0/.604);--lime-a11:color(display-p3 .386 .482 .227);--lime-a12:color(display-p3 .222 .25 .128)}}}.dark,.dark-theme{--lime-a1:#11bb0003;--lime-a2:#78f7000a;--lime-a3:#9bfd4c1a;--lime-a4:#a7fe5c29;--lime-a5:#affe6537;--lime-a6:#b2fe6d46;--lime-a7:#b6ff6f57;--lime-a8:#b6fd6d6c;--lime-a9:#caff69ed;--lime-a10:#d4ff70;--lime-a11:#d1fe77e4;--lime-a12:#e9febff7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--lime-a1:color(display-p3 .067 .941 0/.009);--lime-a2:color(display-p3 .584 .996 .071/.038);--lime-a3:color(display-p3 .69 1 .38/.101);--lime-a4:color(display-p3 .729 1 .435/.16);--lime-a5:color(display-p3 .745 1 .471/.215);--lime-a6:color(display-p3 .769 1 .482/.274);--lime-a7:color(display-p3 .769 1 .506/.341);--lime-a8:color(display-p3 .784 1 .51/.416);--lime-a9:color(display-p3 .839 1 .502/.925);--lime-a10:color(display-p3 .871 1 .522/.996);--lime-a11:color(display-p3 .771 .893 .485);--lime-a12:color(display-p3 .905 .966 .753)}}}:root,.light,.light-theme{--yellow-1:#fdfdf9;--yellow-2:#fefce9;--yellow-3:#fffab8;--yellow-4:#fff394;--yellow-5:#ffe770;--yellow-6:#f3d768;--yellow-7:#e4c767;--yellow-8:#d5ae39;--yellow-9:#ffe629;--yellow-10:#ffdc00;--yellow-11:#9e6c00;--yellow-12:#473b1f}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--yellow-1:color(display-p3 .992 .992 .978);--yellow-2:color(display-p3 .995 .99 .922);--yellow-3:color(display-p3 .997 .982 .749);--yellow-4:color(display-p3 .992 .953 .627);--yellow-5:color(display-p3 .984 .91 .51);--yellow-6:color(display-p3 .934 .847 .474);--yellow-7:color(display-p3 .876 .785 .46);--yellow-8:color(display-p3 .811 .689 .313);--yellow-9:color(display-p3 1 .92 .22);--yellow-10:color(display-p3 .977 .868 .291);--yellow-11:color(display-p3 .6 .44 0);--yellow-12:color(display-p3 .271 .233 .137)}}}.dark,.dark-theme{--yellow-1:#14120b;--yellow-2:#1b180f;--yellow-3:#2d2305;--yellow-4:#362b00;--yellow-5:#433500;--yellow-6:#524202;--yellow-7:#665417;--yellow-8:#836a21;--yellow-9:#ffe629;--yellow-10:#ffff57;--yellow-11:#f5e147;--yellow-12:#f6eeb4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--yellow-1:color(display-p3 .078 .069 .047);--yellow-2:color(display-p3 .103 .094 .063);--yellow-3:color(display-p3 .168 .137 .039);--yellow-4:color(display-p3 .209 .169 0);--yellow-5:color(display-p3 .255 .209 0);--yellow-6:color(display-p3 .31 .261 .07);--yellow-7:color(display-p3 .389 .331 .135);--yellow-8:color(display-p3 .497 .42 .182);--yellow-9:color(display-p3 1 .92 .22);--yellow-10:color(display-p3 1 1 .456);--yellow-11:color(display-p3 .948 .885 .392);--yellow-12:color(display-p3 .959 .934 .731)}}}:root,.light,.light-theme{--yellow-a1:#aaaa0006;--yellow-a2:#f4dd0016;--yellow-a3:#ffee0047;--yellow-a4:#ffe3016b;--yellow-a5:#ffd5008f;--yellow-a6:#ebbc0097;--yellow-a7:#d2a10098;--yellow-a8:#c99700c6;--yellow-a9:#ffe100d6;--yellow-a10:#ffdc00;--yellow-a11:#9e6c00;--yellow-a12:#2e2000e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--yellow-a1:color(display-p3 .675 .675 .024/.024);--yellow-a2:color(display-p3 .953 .855 .008/.079);--yellow-a3:color(display-p3 .988 .925 .004/.251);--yellow-a4:color(display-p3 .98 .875 .004/.373);--yellow-a5:color(display-p3 .969 .816 .004/.491);--yellow-a6:color(display-p3 .875 .71 0/.526);--yellow-a7:color(display-p3 .769 .604 0/.542);--yellow-a8:color(display-p3 .725 .549 0/.687);--yellow-a9:color(display-p3 1 .898 0/.781);--yellow-a10:color(display-p3 .969 .812 0/.71);--yellow-a11:color(display-p3 .6 .44 0);--yellow-a12:color(display-p3 .271 .233 .137)}}}.dark,.dark-theme{--yellow-a1:#d1510004;--yellow-a2:#f9b4000b;--yellow-a3:#ffaa001e;--yellow-a4:#fdb70028;--yellow-a5:#febb0036;--yellow-a6:#fec40046;--yellow-a7:#fdcb225c;--yellow-a8:#fdca327b;--yellow-a9:#ffe629;--yellow-a10:#ffff57;--yellow-a11:#fee949f5;--yellow-a12:#fef6baf6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--yellow-a1:color(display-p3 .973 .369 0/.013);--yellow-a2:color(display-p3 .996 .792 0/.038);--yellow-a3:color(display-p3 .996 .71 0/.11);--yellow-a4:color(display-p3 .996 .741 0/.152);--yellow-a5:color(display-p3 .996 .765 0/.202);--yellow-a6:color(display-p3 .996 .816 .082/.261);--yellow-a7:color(display-p3 1 .831 .263/.345);--yellow-a8:color(display-p3 1 .831 .314/.463);--yellow-a9:color(display-p3 1 .922 .22);--yellow-a10:color(display-p3 1 1 .455);--yellow-a11:color(display-p3 .948 .885 .392);--yellow-a12:color(display-p3 .959 .934 .731)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-1:color(display-p3 .082 .07 .05);--amber-2:color(display-p3 .111 .094 .064);--amber-3:color(display-p3 .178 .128 .049);--amber-4:color(display-p3 .239 .156 0);--amber-5:color(display-p3 .29 .193 0);--amber-6:color(display-p3 .344 .245 .076);--amber-7:color(display-p3 .422 .314 .141);--amber-8:color(display-p3 .535 .399 .189);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 1 .87 .15);--amber-11:color(display-p3 1 .8 .29);--amber-12:color(display-p3 .984 .909 .726)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-a1:color(display-p3 .992 .298 0/.017);--amber-a2:color(display-p3 .988 .651 0/.047);--amber-a3:color(display-p3 1 .6 0/.118);--amber-a4:color(display-p3 1 .557 0/.185);--amber-a5:color(display-p3 1 .592 0/.24);--amber-a6:color(display-p3 1 .659 .094/.299);--amber-a7:color(display-p3 1 .714 .263/.383);--amber-a8:color(display-p3 .996 .729 .306/.5);--amber-a9:color(display-p3 1 .769 .259);--amber-a10:color(display-p3 1 .871 .149);--amber-a11:color(display-p3 1 .8 .29);--amber-a12:color(display-p3 .984 .909 .726)}}}:root,.light,.light-theme{--gold-1:#fdfdfc;--gold-2:#faf9f2;--gold-3:#f2f0e7;--gold-4:#eae6db;--gold-5:#e1dccf;--gold-6:#d8d0bf;--gold-7:#cbc0aa;--gold-8:#b9a88d;--gold-9:#978365;--gold-10:#8c7a5e;--gold-11:#71624b;--gold-12:#3b352b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gold-1:color(display-p3 .992 .992 .989);--gold-2:color(display-p3 .98 .976 .953);--gold-3:color(display-p3 .947 .94 .909);--gold-4:color(display-p3 .914 .904 .865);--gold-5:color(display-p3 .88 .865 .816);--gold-6:color(display-p3 .84 .818 .756);--gold-7:color(display-p3 .788 .753 .677);--gold-8:color(display-p3 .715 .66 .565);--gold-9:color(display-p3 .579 .517 .41);--gold-10:color(display-p3 .538 .479 .38);--gold-11:color(display-p3 .433 .386 .305);--gold-12:color(display-p3 .227 .209 .173)}}}.dark,.dark-theme{--gold-1:#121211;--gold-2:#1b1a17;--gold-3:#24231f;--gold-4:#2d2b26;--gold-5:#38352e;--gold-6:#444039;--gold-7:#544f46;--gold-8:#696256;--gold-9:#978365;--gold-10:#a39073;--gold-11:#cbb99f;--gold-12:#e8e2d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gold-1:color(display-p3 .071 .071 .067);--gold-2:color(display-p3 .104 .101 .09);--gold-3:color(display-p3 .141 .136 .122);--gold-4:color(display-p3 .177 .17 .152);--gold-5:color(display-p3 .217 .207 .185);--gold-6:color(display-p3 .265 .252 .225);--gold-7:color(display-p3 .327 .31 .277);--gold-8:color(display-p3 .407 .384 .342);--gold-9:color(display-p3 .579 .517 .41);--gold-10:color(display-p3 .628 .566 .463);--gold-11:color(display-p3 .784 .728 .635);--gold-12:color(display-p3 .906 .887 .855)}}}:root,.light,.light-theme{--gold-a1:#55550003;--gold-a2:#9d8a000d;--gold-a3:#75600018;--gold-a4:#6b4e0024;--gold-a5:#60460030;--gold-a6:#64440040;--gold-a7:#63420055;--gold-a8:#633d0072;--gold-a9:#5332009a;--gold-a10:#492d00a1;--gold-a11:#362100b4;--gold-a12:#130c00d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gold-a1:color(display-p3 .349 .349 .024/.012);--gold-a2:color(display-p3 .592 .514 .024/.048);--gold-a3:color(display-p3 .4 .357 .012/.091);--gold-a4:color(display-p3 .357 .298 .008/.134);--gold-a5:color(display-p3 .345 .282 .004/.185);--gold-a6:color(display-p3 .341 .263 .004/.244);--gold-a7:color(display-p3 .345 .235 .004/.322);--gold-a8:color(display-p3 .345 .22 .004/.436);--gold-a9:color(display-p3 .286 .18 0/.589);--gold-a10:color(display-p3 .255 .161 0/.62);--gold-a11:color(display-p3 .433 .386 .305);--gold-a12:color(display-p3 .227 .209 .173)}}}.dark,.dark-theme{--gold-a1:#91911102;--gold-a2:#f9e29d0b;--gold-a3:#f8ecbb15;--gold-a4:#ffeec41e;--gold-a5:#feecc22a;--gold-a6:#feebcb37;--gold-a7:#ffedcd48;--gold-a8:#fdeaca5f;--gold-a9:#ffdba690;--gold-a10:#fedfb09d;--gold-a11:#fee7c6c8;--gold-a12:#fef7ede7}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gold-a1:color(display-p3 .855 .855 .071/.005);--gold-a2:color(display-p3 .98 .89 .616/.043);--gold-a3:color(display-p3 1 .949 .753/.08);--gold-a4:color(display-p3 1 .933 .8/.118);--gold-a5:color(display-p3 1 .949 .804/.16);--gold-a6:color(display-p3 1 .925 .8/.215);--gold-a7:color(display-p3 1 .945 .831/.278);--gold-a8:color(display-p3 1 .937 .82/.366);--gold-a9:color(display-p3 .996 .882 .69/.551);--gold-a10:color(display-p3 1 .894 .725/.601);--gold-a11:color(display-p3 .784 .728 .635);--gold-a12:color(display-p3 .906 .887 .855)}}}:root,.light,.light-theme{--bronze-1:#fdfcfc;--bronze-2:#fdf7f5;--bronze-3:#f6edea;--bronze-4:#efe4df;--bronze-5:#e7d9d3;--bronze-6:#dfcdc5;--bronze-7:#d3bcb3;--bronze-8:#c2a499;--bronze-9:#a18072;--bronze-10:#957468;--bronze-11:#7d5e54;--bronze-12:#43302b}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--bronze-1:color(display-p3 .991 .988 .988);--bronze-2:color(display-p3 .989 .97 .961);--bronze-3:color(display-p3 .958 .932 .919);--bronze-4:color(display-p3 .929 .894 .877);--bronze-5:color(display-p3 .898 .853 .832);--bronze-6:color(display-p3 .861 .805 .778);--bronze-7:color(display-p3 .812 .739 .706);--bronze-8:color(display-p3 .741 .647 .606);--bronze-9:color(display-p3 .611 .507 .455);--bronze-10:color(display-p3 .563 .461 .414);--bronze-11:color(display-p3 .471 .373 .336);--bronze-12:color(display-p3 .251 .191 .172)}}}.dark,.dark-theme{--bronze-1:#141110;--bronze-2:#1c1917;--bronze-3:#262220;--bronze-4:#302a27;--bronze-5:#3b3330;--bronze-6:#493e3a;--bronze-7:#5a4c47;--bronze-8:#6f5f58;--bronze-9:#a18072;--bronze-10:#ae8c7e;--bronze-11:#d4b3a5;--bronze-12:#ede0d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--bronze-1:color(display-p3 .076 .067 .063);--bronze-2:color(display-p3 .106 .097 .093);--bronze-3:color(display-p3 .147 .132 .125);--bronze-4:color(display-p3 .185 .166 .156);--bronze-5:color(display-p3 .227 .202 .19);--bronze-6:color(display-p3 .278 .246 .23);--bronze-7:color(display-p3 .343 .302 .281);--bronze-8:color(display-p3 .426 .374 .347);--bronze-9:color(display-p3 .611 .507 .455);--bronze-10:color(display-p3 .66 .556 .504);--bronze-11:color(display-p3 .81 .707 .655);--bronze-12:color(display-p3 .921 .88 .854)}}}:root,.light,.light-theme{--bronze-a1:#55000003;--bronze-a2:#cc33000a;--bronze-a3:#92250015;--bronze-a4:#80280020;--bronze-a5:#7423002c;--bronze-a6:#7324003a;--bronze-a7:#6c1f004c;--bronze-a8:#671c0066;--bronze-a9:#551a008d;--bronze-a10:#4c150097;--bronze-a11:#3d0f00ab;--bronze-a12:#1d0600d4}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--bronze-a1:color(display-p3 .349 .024 .024/.012);--bronze-a2:color(display-p3 .71 .22 .024/.04);--bronze-a3:color(display-p3 .482 .2 .008/.083);--bronze-a4:color(display-p3 .424 .133 .004/.122);--bronze-a5:color(display-p3 .4 .145 .004/.169);--bronze-a6:color(display-p3 .388 .125 .004/.224);--bronze-a7:color(display-p3 .365 .11 .004/.295);--bronze-a8:color(display-p3 .341 .102 .004/.393);--bronze-a9:color(display-p3 .29 .094 0/.546);--bronze-a10:color(display-p3 .255 .082 0/.585);--bronze-a11:color(display-p3 .471 .373 .336);--bronze-a12:color(display-p3 .251 .191 .172)}}}.dark,.dark-theme{--bronze-a1:#d1110004;--bronze-a2:#fbbc910c;--bronze-a3:#faceb817;--bronze-a4:#facdb622;--bronze-a5:#ffd2c12d;--bronze-a6:#ffd1c03c;--bronze-a7:#fdd0c04f;--bronze-a8:#ffd6c565;--bronze-a9:#fec7b09b;--bronze-a10:#fecab5a9;--bronze-a11:#ffd7c6d1;--bronze-a12:#fff1e9ec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--bronze-a1:color(display-p3 .941 .067 0/.009);--bronze-a2:color(display-p3 .98 .8 .706/.043);--bronze-a3:color(display-p3 .988 .851 .761/.085);--bronze-a4:color(display-p3 .996 .839 .78/.127);--bronze-a5:color(display-p3 .996 .863 .773/.173);--bronze-a6:color(display-p3 1 .863 .796/.227);--bronze-a7:color(display-p3 1 .867 .8/.295);--bronze-a8:color(display-p3 1 .859 .788/.387);--bronze-a9:color(display-p3 1 .82 .733/.585);--bronze-a10:color(display-p3 1 .839 .761/.635);--bronze-a11:color(display-p3 .81 .707 .655);--bronze-a12:color(display-p3 .921 .88 .854)}}}:root,.light,.light-theme{--gray-1:#fcfcfc;--gray-2:#f9f9f9;--gray-3:#f0f0f0;--gray-4:#e8e8e8;--gray-5:#e0e0e0;--gray-6:#d9d9d9;--gray-7:#cecece;--gray-8:#bbb;--gray-9:#8d8d8d;--gray-10:#838383;--gray-11:#646464;--gray-12:#202020}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-1:color(display-p3 .988 .988 .988);--gray-2:color(display-p3 .975 .975 .975);--gray-3:color(display-p3 .939 .939 .939);--gray-4:color(display-p3 .908 .908 .908);--gray-5:color(display-p3 .88 .88 .88);--gray-6:color(display-p3 .849 .849 .849);--gray-7:color(display-p3 .807 .807 .807);--gray-8:color(display-p3 .732 .732 .732);--gray-9:color(display-p3 .553 .553 .553);--gray-10:color(display-p3 .512 .512 .512);--gray-11:color(display-p3 .392 .392 .392);--gray-12:color(display-p3 .125 .125 .125)}}}.dark,.dark-theme{--gray-1:#111;--gray-2:#191919;--gray-3:#222;--gray-4:#2a2a2a;--gray-5:#313131;--gray-6:#3a3a3a;--gray-7:#484848;--gray-8:#606060;--gray-9:#6e6e6e;--gray-10:#7b7b7b;--gray-11:#b4b4b4;--gray-12:#eee}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-1:color(display-p3 .067 .067 .067);--gray-2:color(display-p3 .098 .098 .098);--gray-3:color(display-p3 .135 .135 .135);--gray-4:color(display-p3 .163 .163 .163);--gray-5:color(display-p3 .192 .192 .192);--gray-6:color(display-p3 .228 .228 .228);--gray-7:color(display-p3 .283 .283 .283);--gray-8:color(display-p3 .375 .375 .375);--gray-9:color(display-p3 .431 .431 .431);--gray-10:color(display-p3 .484 .484 .484);--gray-11:color(display-p3 .706 .706 .706);--gray-12:color(display-p3 .933 .933 .933)}}}:root,.light,.light-theme{--gray-a1:#00000003;--gray-a2:#00000006;--gray-a3:#0000000f;--gray-a4:#00000017;--gray-a5:#0000001f;--gray-a6:#00000026;--gray-a7:#00000031;--gray-a8:#0004;--gray-a9:#00000072;--gray-a10:#0000007c;--gray-a11:#0000009b;--gray-a12:#000000df}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-a1:color(display-p3 0 0 0/.012);--gray-a2:color(display-p3 0 0 0/.024);--gray-a3:color(display-p3 0 0 0/.063);--gray-a4:color(display-p3 0 0 0/.09);--gray-a5:color(display-p3 0 0 0/.122);--gray-a6:color(display-p3 0 0 0/.153);--gray-a7:color(display-p3 0 0 0/.192);--gray-a8:color(display-p3 0 0 0/.267);--gray-a9:color(display-p3 0 0 0/.447);--gray-a10:color(display-p3 0 0 0/.486);--gray-a11:color(display-p3 0 0 0/.608);--gray-a12:color(display-p3 0 0 0/.875)}}}.dark,.dark-theme{--gray-a1:#0000;--gray-a2:#ffffff09;--gray-a3:#ffffff12;--gray-a4:#ffffff1b;--gray-a5:#fff2;--gray-a6:#ffffff2c;--gray-a7:#ffffff3b;--gray-a8:#fff5;--gray-a9:#ffffff64;--gray-a10:#ffffff72;--gray-a11:#ffffffaf;--gray-a12:#ffffffed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-a1:color(display-p3 0 0 0/0);--gray-a2:color(display-p3 1 1 1/.034);--gray-a3:color(display-p3 1 1 1/.071);--gray-a4:color(display-p3 1 1 1/.105);--gray-a5:color(display-p3 1 1 1/.134);--gray-a6:color(display-p3 1 1 1/.172);--gray-a7:color(display-p3 1 1 1/.231);--gray-a8:color(display-p3 1 1 1/.332);--gray-a9:color(display-p3 1 1 1/.391);--gray-a10:color(display-p3 1 1 1/.445);--gray-a11:color(display-p3 1 1 1/.685);--gray-a12:color(display-p3 1 1 1/.929)}}}:root,.light,.light-theme{--mauve-1:#fdfcfd;--mauve-2:#faf9fb;--mauve-3:#f2eff3;--mauve-4:#eae7ec;--mauve-5:#e3dfe6;--mauve-6:#dbd8e0;--mauve-7:#d0cdd7;--mauve-8:#bcbac7;--mauve-9:#8e8c99;--mauve-10:#84828e;--mauve-11:#65636d;--mauve-12:#211f26}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mauve-1:color(display-p3 .991 .988 .992);--mauve-2:color(display-p3 .98 .976 .984);--mauve-3:color(display-p3 .946 .938 .952);--mauve-4:color(display-p3 .915 .906 .925);--mauve-5:color(display-p3 .886 .876 .901);--mauve-6:color(display-p3 .856 .846 .875);--mauve-7:color(display-p3 .814 .804 .84);--mauve-8:color(display-p3 .735 .728 .777);--mauve-9:color(display-p3 .555 .549 .596);--mauve-10:color(display-p3 .514 .508 .552);--mauve-11:color(display-p3 .395 .388 .424);--mauve-12:color(display-p3 .128 .122 .147)}}}.dark,.dark-theme{--mauve-1:#121113;--mauve-2:#1a191b;--mauve-3:#232225;--mauve-4:#2b292d;--mauve-5:#323035;--mauve-6:#3c393f;--mauve-7:#49474e;--mauve-8:#625f69;--mauve-9:#6f6d78;--mauve-10:#7c7a85;--mauve-11:#b5b2bc;--mauve-12:#eeeef0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mauve-1:color(display-p3 .07 .067 .074);--mauve-2:color(display-p3 .101 .098 .105);--mauve-3:color(display-p3 .138 .134 .144);--mauve-4:color(display-p3 .167 .161 .175);--mauve-5:color(display-p3 .196 .189 .206);--mauve-6:color(display-p3 .232 .225 .245);--mauve-7:color(display-p3 .286 .277 .302);--mauve-8:color(display-p3 .383 .373 .408);--mauve-9:color(display-p3 .434 .428 .467);--mauve-10:color(display-p3 .487 .48 .519);--mauve-11:color(display-p3 .707 .7 .735);--mauve-12:color(display-p3 .933 .933 .94)}}}:root,.light,.light-theme{--mauve-a1:#55005503;--mauve-a2:#2b005506;--mauve-a3:#30004010;--mauve-a4:#20003618;--mauve-a5:#20003820;--mauve-a6:#14003527;--mauve-a7:#10003332;--mauve-a8:#08003145;--mauve-a9:#05001d73;--mauve-a10:#0500197d;--mauve-a11:#0400119c;--mauve-a12:#020008e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--mauve-a1:color(display-p3 .349 .024 .349/.012);--mauve-a2:color(display-p3 .184 .024 .349/.024);--mauve-a3:color(display-p3 .129 .008 .255/.063);--mauve-a4:color(display-p3 .094 .012 .216/.095);--mauve-a5:color(display-p3 .098 .008 .224/.126);--mauve-a6:color(display-p3 .055 .004 .18/.153);--mauve-a7:color(display-p3 .067 .008 .184/.197);--mauve-a8:color(display-p3 .02 .004 .176/.271);--mauve-a9:color(display-p3 .02 .004 .106/.451);--mauve-a10:color(display-p3 .012 .004 .09/.491);--mauve-a11:color(display-p3 .016 0 .059/.612);--mauve-a12:color(display-p3 .008 0 .027/.879)}}}.dark,.dark-theme{--mauve-a1:#0000;--mauve-a2:#f5f4f609;--mauve-a3:#ebeaf814;--mauve-a4:#eee5f81d;--mauve-a5:#efe6fe25;--mauve-a6:#f1e6fd30;--mauve-a7:#eee9ff40;--mauve-a8:#eee7ff5d;--mauve-a9:#eae6fd6e;--mauve-a10:#ece9fd7c;--mauve-a11:#f5f1ffb7;--mauve-a12:#fdfdffef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--mauve-a1:color(display-p3 0 0 0/0);--mauve-a2:color(display-p3 .996 .992 1/.034);--mauve-a3:color(display-p3 .937 .933 .992/.077);--mauve-a4:color(display-p3 .957 .918 .996/.111);--mauve-a5:color(display-p3 .937 .906 .996/.145);--mauve-a6:color(display-p3 .953 .925 .996/.183);--mauve-a7:color(display-p3 .945 .929 1/.246);--mauve-a8:color(display-p3 .937 .918 1/.361);--mauve-a9:color(display-p3 .933 .918 1/.424);--mauve-a10:color(display-p3 .941 .925 1/.479);--mauve-a11:color(display-p3 .965 .961 1/.712);--mauve-a12:color(display-p3 .992 .992 1/.937)}}}:root,.light,.light-theme{--slate-1:#fcfcfd;--slate-2:#f9f9fb;--slate-3:#f0f0f3;--slate-4:#e8e8ec;--slate-5:#e0e1e6;--slate-6:#d9d9e0;--slate-7:#cdced6;--slate-8:#b9bbc6;--slate-9:#8b8d98;--slate-10:#80838d;--slate-11:#60646c;--slate-12:#1c2024}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--slate-1:color(display-p3 .988 .988 .992);--slate-2:color(display-p3 .976 .976 .984);--slate-3:color(display-p3 .94 .941 .953);--slate-4:color(display-p3 .908 .909 .925);--slate-5:color(display-p3 .88 .881 .901);--slate-6:color(display-p3 .85 .852 .876);--slate-7:color(display-p3 .805 .808 .838);--slate-8:color(display-p3 .727 .733 .773);--slate-9:color(display-p3 .547 .553 .592);--slate-10:color(display-p3 .503 .512 .549);--slate-11:color(display-p3 .379 .392 .421);--slate-12:color(display-p3 .113 .125 .14)}}}.dark,.dark-theme{--slate-1:#111113;--slate-2:#18191b;--slate-3:#212225;--slate-4:#272a2d;--slate-5:#2e3135;--slate-6:#363a3f;--slate-7:#43484e;--slate-8:#5a6169;--slate-9:#696e77;--slate-10:#777b84;--slate-11:#b0b4ba;--slate-12:#edeef0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--slate-1:color(display-p3 .067 .067 .074);--slate-2:color(display-p3 .095 .098 .105);--slate-3:color(display-p3 .13 .135 .145);--slate-4:color(display-p3 .156 .163 .176);--slate-5:color(display-p3 .183 .191 .206);--slate-6:color(display-p3 .215 .226 .244);--slate-7:color(display-p3 .265 .28 .302);--slate-8:color(display-p3 .357 .381 .409);--slate-9:color(display-p3 .415 .431 .463);--slate-10:color(display-p3 .469 .483 .514);--slate-11:color(display-p3 .692 .704 .728);--slate-12:color(display-p3 .93 .933 .94)}}}:root,.light,.light-theme{--slate-a1:#00005503;--slate-a2:#00005506;--slate-a3:#0000330f;--slate-a4:#00002d17;--slate-a5:#0009321f;--slate-a6:#00002f26;--slate-a7:#00062e32;--slate-a8:#00083046;--slate-a9:#00051d74;--slate-a10:#00071b7f;--slate-a11:#0007149f;--slate-a12:#000509e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--slate-a1:color(display-p3 .024 .024 .349/.012);--slate-a2:color(display-p3 .024 .024 .349/.024);--slate-a3:color(display-p3 .004 .004 .204/.059);--slate-a4:color(display-p3 .012 .012 .184/.091);--slate-a5:color(display-p3 .004 .039 .2/.122);--slate-a6:color(display-p3 .008 .008 .165/.15);--slate-a7:color(display-p3 .008 .027 .184/.197);--slate-a8:color(display-p3 .004 .031 .176/.275);--slate-a9:color(display-p3 .004 .02 .106/.455);--slate-a10:color(display-p3 .004 .027 .098/.499);--slate-a11:color(display-p3 0 .02 .063/.62);--slate-a12:color(display-p3 0 .012 .031/.887)}}}.dark,.dark-theme{--slate-a1:#0000;--slate-a2:#d8f4f609;--slate-a3:#ddeaf814;--slate-a4:#d3edf81d;--slate-a5:#d9edfe25;--slate-a6:#d6ebfd30;--slate-a7:#d9edff40;--slate-a8:#d9edff5d;--slate-a9:#dfebfd6d;--slate-a10:#e5edfd7b;--slate-a11:#f1f7feb5;--slate-a12:#fcfdffef}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--slate-a1:color(display-p3 0 0 0/0);--slate-a2:color(display-p3 .875 .992 1/.034);--slate-a3:color(display-p3 .882 .933 .992/.077);--slate-a4:color(display-p3 .882 .953 .996/.111);--slate-a5:color(display-p3 .878 .929 .996/.145);--slate-a6:color(display-p3 .882 .949 .996/.183);--slate-a7:color(display-p3 .882 .929 1/.246);--slate-a8:color(display-p3 .871 .937 1/.361);--slate-a9:color(display-p3 .898 .937 1/.42);--slate-a10:color(display-p3 .918 .945 1/.475);--slate-a11:color(display-p3 .949 .969 .996/.708);--slate-a12:color(display-p3 .988 .992 1/.937)}}}:root,.light,.light-theme{--sage-1:#fbfdfc;--sage-2:#f7f9f8;--sage-3:#eef1f0;--sage-4:#e6e9e8;--sage-5:#dfe2e0;--sage-6:#d7dad9;--sage-7:#cbcfcd;--sage-8:#b8bcba;--sage-9:#868e8b;--sage-10:#7c8481;--sage-11:#5f6563;--sage-12:#1a211e}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sage-1:color(display-p3 .986 .992 .988);--sage-2:color(display-p3 .97 .977 .974);--sage-3:color(display-p3 .935 .944 .94);--sage-4:color(display-p3 .904 .913 .909);--sage-5:color(display-p3 .875 .885 .88);--sage-6:color(display-p3 .844 .854 .849);--sage-7:color(display-p3 .8 .811 .806);--sage-8:color(display-p3 .725 .738 .732);--sage-9:color(display-p3 .531 .556 .546);--sage-10:color(display-p3 .492 .515 .506);--sage-11:color(display-p3 .377 .395 .389);--sage-12:color(display-p3 .107 .129 .118)}}}.dark,.dark-theme{--sage-1:#101211;--sage-2:#171918;--sage-3:#202221;--sage-4:#272a29;--sage-5:#2e3130;--sage-6:#373b39;--sage-7:#444947;--sage-8:#5b625f;--sage-9:#63706b;--sage-10:#717d79;--sage-11:#adb5b2;--sage-12:#eceeed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sage-1:color(display-p3 .064 .07 .067);--sage-2:color(display-p3 .092 .098 .094);--sage-3:color(display-p3 .128 .135 .131);--sage-4:color(display-p3 .155 .164 .159);--sage-5:color(display-p3 .183 .193 .188);--sage-6:color(display-p3 .218 .23 .224);--sage-7:color(display-p3 .269 .285 .277);--sage-8:color(display-p3 .362 .382 .373);--sage-9:color(display-p3 .398 .438 .421);--sage-10:color(display-p3 .453 .49 .474);--sage-11:color(display-p3 .685 .709 .697);--sage-12:color(display-p3 .927 .933 .93)}}}:root,.light,.light-theme{--sage-a1:#00804004;--sage-a2:#00402008;--sage-a3:#002d1e11;--sage-a4:#001f1519;--sage-a5:#00180820;--sage-a6:#00140d28;--sage-a7:#00140a34;--sage-a8:#000f0847;--sage-a9:#00110b79;--sage-a10:#00100a83;--sage-a11:#000a07a0;--sage-a12:#000805e5}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sage-a1:color(display-p3 .024 .514 .267/.016);--sage-a2:color(display-p3 .02 .267 .145/.032);--sage-a3:color(display-p3 .008 .184 .125/.067);--sage-a4:color(display-p3 .012 .094 .051/.095);--sage-a5:color(display-p3 .008 .098 .035/.126);--sage-a6:color(display-p3 .004 .078 .027/.157);--sage-a7:color(display-p3 0 .059 .039/.2);--sage-a8:color(display-p3 .004 .047 .031/.275);--sage-a9:color(display-p3 .004 .059 .035/.471);--sage-a10:color(display-p3 0 .047 .031/.51);--sage-a11:color(display-p3 0 .031 .02/.624);--sage-a12:color(display-p3 0 .027 .012/.895)}}}.dark,.dark-theme{--sage-a1:#0000;--sage-a2:#f0f2f108;--sage-a3:#f3f5f412;--sage-a4:#f2fefd1a;--sage-a5:#f1fbfa22;--sage-a6:#edfbf42d;--sage-a7:#edfcf73c;--sage-a8:#ebfdf657;--sage-a9:#dffdf266;--sage-a10:#e5fdf674;--sage-a11:#f4fefbb0;--sage-a12:#fdfffeed}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sage-a1:color(display-p3 0 0 0/0);--sage-a2:color(display-p3 .976 .988 .984/.03);--sage-a3:color(display-p3 .992 .945 .941/.072);--sage-a4:color(display-p3 .988 .996 .992/.102);--sage-a5:color(display-p3 .992 1 .996/.131);--sage-a6:color(display-p3 .973 1 .976/.173);--sage-a7:color(display-p3 .957 1 .976/.233);--sage-a8:color(display-p3 .957 1 .984/.334);--sage-a9:color(display-p3 .902 1 .957/.397);--sage-a10:color(display-p3 .929 1 .973/.452);--sage-a11:color(display-p3 .969 1 .988/.688);--sage-a12:color(display-p3 .992 1 .996/.929)}}}:root,.light,.light-theme{--olive-1:#fcfdfc;--olive-2:#f8faf8;--olive-3:#eff1ef;--olive-4:#e7e9e7;--olive-5:#dfe2df;--olive-6:#d7dad7;--olive-7:#cccfcc;--olive-8:#b9bcb8;--olive-9:#898e87;--olive-10:#7f847d;--olive-11:#60655f;--olive-12:#1d211c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-1:color(display-p3 .989 .992 .989);--olive-2:color(display-p3 .974 .98 .973);--olive-3:color(display-p3 .939 .945 .937);--olive-4:color(display-p3 .907 .914 .905);--olive-5:color(display-p3 .878 .885 .875);--olive-6:color(display-p3 .846 .855 .843);--olive-7:color(display-p3 .803 .812 .8);--olive-8:color(display-p3 .727 .738 .723);--olive-9:color(display-p3 .541 .556 .532);--olive-10:color(display-p3 .5 .515 .491);--olive-11:color(display-p3 .38 .395 .374);--olive-12:color(display-p3 .117 .129 .111)}}}.dark,.dark-theme{--olive-1:#111210;--olive-2:#181917;--olive-3:#212220;--olive-4:#282a27;--olive-5:#2f312e;--olive-6:#383a36;--olive-7:#454843;--olive-8:#5c625b;--olive-9:#687066;--olive-10:#767d74;--olive-11:#afb5ad;--olive-12:#eceeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-1:color(display-p3 .067 .07 .063);--olive-2:color(display-p3 .095 .098 .091);--olive-3:color(display-p3 .131 .135 .126);--olive-4:color(display-p3 .158 .163 .153);--olive-5:color(display-p3 .186 .192 .18);--olive-6:color(display-p3 .221 .229 .215);--olive-7:color(display-p3 .273 .284 .266);--olive-8:color(display-p3 .365 .382 .359);--olive-9:color(display-p3 .414 .438 .404);--olive-10:color(display-p3 .467 .49 .458);--olive-11:color(display-p3 .69 .709 .682);--olive-12:color(display-p3 .927 .933 .926)}}}:root,.light,.light-theme{--olive-a1:#00550003;--olive-a2:#00490007;--olive-a3:#00200010;--olive-a4:#00160018;--olive-a5:#00180020;--olive-a6:#00140028;--olive-a7:#000f0033;--olive-a8:#040f0047;--olive-a9:#050f0078;--olive-a10:#040e0082;--olive-a11:#020a00a0;--olive-a12:#010600e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-a1:color(display-p3 .024 .349 .024/.012);--olive-a2:color(display-p3 .024 .302 .024/.028);--olive-a3:color(display-p3 .008 .129 .008/.063);--olive-a4:color(display-p3 .012 .094 .012/.095);--olive-a5:color(display-p3 .035 .098 .008/.126);--olive-a6:color(display-p3 .027 .078 .004/.157);--olive-a7:color(display-p3 .02 .059 0/.2);--olive-a8:color(display-p3 .02 .059 .004/.279);--olive-a9:color(display-p3 .02 .051 .004/.467);--olive-a10:color(display-p3 .024 .047 0/.51);--olive-a11:color(display-p3 .012 .039 0/.628);--olive-a12:color(display-p3 .008 .024 0/.891)}}}.dark,.dark-theme{--olive-a1:#0000;--olive-a2:#f1f2f008;--olive-a3:#f4f5f312;--olive-a4:#f3fef21a;--olive-a5:#f2fbf122;--olive-a6:#f4faed2c;--olive-a7:#f2fced3b;--olive-a8:#edfdeb57;--olive-a9:#ebfde766;--olive-a10:#f0fdec74;--olive-a11:#f6fef4b0;--olive-a12:#fdfffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-a1:color(display-p3 0 0 0/0);--olive-a2:color(display-p3 .984 .988 .976/.03);--olive-a3:color(display-p3 .992 .996 .988/.068);--olive-a4:color(display-p3 .953 .996 .949/.102);--olive-a5:color(display-p3 .969 1 .965/.131);--olive-a6:color(display-p3 .973 1 .969/.169);--olive-a7:color(display-p3 .98 1 .961/.228);--olive-a8:color(display-p3 .961 1 .957/.334);--olive-a9:color(display-p3 .949 1 .922/.397);--olive-a10:color(display-p3 .953 1 .941/.452);--olive-a11:color(display-p3 .976 1 .965/.688);--olive-a12:color(display-p3 .992 1 .992/.929)}}}:root,.light,.light-theme{--sand-1:#fdfdfc;--sand-2:#f9f9f8;--sand-3:#f1f0ef;--sand-4:#e9e8e6;--sand-5:#e2e1de;--sand-6:#dad9d6;--sand-7:#cfceca;--sand-8:#bcbbb5;--sand-9:#8d8d86;--sand-10:#82827c;--sand-11:#63635e;--sand-12:#21201c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-1:color(display-p3 .992 .992 .989);--sand-2:color(display-p3 .977 .977 .973);--sand-3:color(display-p3 .943 .942 .936);--sand-4:color(display-p3 .913 .912 .903);--sand-5:color(display-p3 .885 .883 .873);--sand-6:color(display-p3 .854 .852 .839);--sand-7:color(display-p3 .813 .81 .794);--sand-8:color(display-p3 .738 .734 .713);--sand-9:color(display-p3 .553 .553 .528);--sand-10:color(display-p3 .511 .511 .488);--sand-11:color(display-p3 .388 .388 .37);--sand-12:color(display-p3 .129 .126 .111)}}}.dark,.dark-theme{--sand-1:#111110;--sand-2:#191918;--sand-3:#222221;--sand-4:#2a2a28;--sand-5:#31312e;--sand-6:#3b3a37;--sand-7:#494844;--sand-8:#62605b;--sand-9:#6f6d66;--sand-10:#7c7b74;--sand-11:#b5b3ad;--sand-12:#eeeeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sand-1:color(display-p3 .067 .067 .063);--sand-2:color(display-p3 .098 .098 .094);--sand-3:color(display-p3 .135 .135 .129);--sand-4:color(display-p3 .164 .163 .156);--sand-5:color(display-p3 .193 .192 .183);--sand-6:color(display-p3 .23 .229 .217);--sand-7:color(display-p3 .285 .282 .267);--sand-8:color(display-p3 .384 .378 .357);--sand-9:color(display-p3 .434 .428 .403);--sand-10:color(display-p3 .487 .481 .456);--sand-11:color(display-p3 .707 .703 .68);--sand-12:color(display-p3 .933 .933 .926)}}}:root,.light,.light-theme{--sand-a1:#55550003;--sand-a2:#25250007;--sand-a3:#20100010;--sand-a4:#1f150019;--sand-a5:#1f180021;--sand-a6:#19130029;--sand-a7:#19140035;--sand-a8:#1915014a;--sand-a9:#0f0f0079;--sand-a10:#0c0c0083;--sand-a11:#080800a1;--sand-a12:#060500e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--sand-a1:color(display-p3 .349 .349 .024/.012);--sand-a2:color(display-p3 .161 .161 .024/.028);--sand-a3:color(display-p3 .067 .067 .008/.063);--sand-a4:color(display-p3 .129 .129 .012/.099);--sand-a5:color(display-p3 .098 .067 .008/.126);--sand-a6:color(display-p3 .102 .075 .004/.161);--sand-a7:color(display-p3 .098 .098 .004/.208);--sand-a8:color(display-p3 .086 .075 .004/.287);--sand-a9:color(display-p3 .051 .051 .004/.471);--sand-a10:color(display-p3 .047 .047 0/.514);--sand-a11:color(display-p3 .031 .031 0/.632);--sand-a12:color(display-p3 .024 .02 0/.891)}}}.dark,.dark-theme{--sand-a1:#0000;--sand-a2:#f4f4f309;--sand-a3:#f6f6f513;--sand-a4:#fefef31b;--sand-a5:#fbfbeb23;--sand-a6:#fffaed2d;--sand-a7:#fffbed3c;--sand-a8:#fff9eb57;--sand-a9:#fffae965;--sand-a10:#fffdee73;--sand-a11:#fffcf4b0;--sand-a12:#fffffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--sand-a1:color(display-p3 0 0 0/0);--sand-a2:color(display-p3 .992 .992 .988/.034);--sand-a3:color(display-p3 .996 .996 .992/.072);--sand-a4:color(display-p3 .992 .992 .953/.106);--sand-a5:color(display-p3 1 1 .965/.135);--sand-a6:color(display-p3 1 .976 .929/.177);--sand-a7:color(display-p3 1 .984 .929/.236);--sand-a8:color(display-p3 1 .976 .925/.341);--sand-a9:color(display-p3 1 .98 .925/.395);--sand-a10:color(display-p3 1 .992 .933/.45);--sand-a11:color(display-p3 1 .996 .961/.685);--sand-a12:color(display-p3 1 1 .992/.929)}}}:root{--black-a1:#0000000d;--black-a2:#0000001a;--black-a3:#00000026;--black-a4:#0003;--black-a5:#0000004d;--black-a6:#0006;--black-a7:#00000080;--black-a8:#0009;--black-a9:#000000b3;--black-a10:#000c;--black-a11:#000000e6;--black-a12:#000000f2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--black-a1:color(display-p3 0 0 0/.05);--black-a2:color(display-p3 0 0 0/.1);--black-a3:color(display-p3 0 0 0/.15);--black-a4:color(display-p3 0 0 0/.2);--black-a5:color(display-p3 0 0 0/.3);--black-a6:color(display-p3 0 0 0/.4);--black-a7:color(display-p3 0 0 0/.5);--black-a8:color(display-p3 0 0 0/.6);--black-a9:color(display-p3 0 0 0/.7);--black-a10:color(display-p3 0 0 0/.8);--black-a11:color(display-p3 0 0 0/.9);--black-a12:color(display-p3 0 0 0/.95)}}}:root{--white-a1:#ffffff0d;--white-a2:#ffffff1a;--white-a3:#ffffff26;--white-a4:#fff3;--white-a5:#ffffff4d;--white-a6:#fff6;--white-a7:#ffffff80;--white-a8:#fff9;--white-a9:#ffffffb3;--white-a10:#fffc;--white-a11:#ffffffe6;--white-a12:#fffffff2}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root{--white-a1:color(display-p3 1 1 1/.05);--white-a2:color(display-p3 1 1 1/.1);--white-a3:color(display-p3 1 1 1/.15);--white-a4:color(display-p3 1 1 1/.2);--white-a5:color(display-p3 1 1 1/.3);--white-a6:color(display-p3 1 1 1/.4);--white-a7:color(display-p3 1 1 1/.5);--white-a8:color(display-p3 1 1 1/.6);--white-a9:color(display-p3 1 1 1/.7);--white-a10:color(display-p3 1 1 1/.8);--white-a11:color(display-p3 1 1 1/.9);--white-a12:color(display-p3 1 1 1/.95)}}}:root{--tomato-contrast:white;--red-contrast:white;--ruby-contrast:white;--crimson-contrast:white;--pink-contrast:white;--plum-contrast:white;--purple-contrast:white;--violet-contrast:white;--iris-contrast:white;--indigo-contrast:white;--blue-contrast:white;--cyan-contrast:white;--teal-contrast:white;--jade-contrast:white;--green-contrast:white;--grass-contrast:white;--orange-contrast:white;--brown-contrast:white;--sky-contrast:#1c2024;--mint-contrast:#1a211e;--lime-contrast:#1d211c;--yellow-contrast:#21201c;--amber-contrast:#21201c;--gold-contrast:white;--bronze-contrast:white;--gray-contrast:white}:root,.light,.light-theme{--gray-surface:#fffc;--mauve-surface:#fffc;--slate-surface:#fffc;--sage-surface:#fffc;--olive-surface:#fffc;--sand-surface:#fffc;--tomato-surface:#fff6f5cc;--red-surface:#fff5f5cc;--ruby-surface:#fff5f6cc;--crimson-surface:#fef5f8cc;--pink-surface:#fef5facc;--plum-surface:#fdf5fdcc;--purple-surface:#faf5fecc;--violet-surface:#f9f6ffcc;--iris-surface:#f6f6ffcc;--indigo-surface:#f5f8ffcc;--blue-surface:#f1f9ffcc;--cyan-surface:#eff9facc;--teal-surface:#f0faf8cc;--jade-surface:#f1faf5cc;--green-surface:#f1faf4cc;--grass-surface:#f3faf3cc;--brown-surface:#fbf8f4cc;--bronze-surface:#fdf5f3cc;--gold-surface:#f9f8efcc;--sky-surface:#eef9fdcc;--mint-surface:#effaf8cc;--lime-surface:#f6f9f0cc;--yellow-surface:#fefbe4cc;--amber-surface:#fefae4cc;--orange-surface:#fff5e9cc}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--gray-surface:color(display-p3 1 1 1/.8);--mauve-surface:color(display-p3 1 1 1/.8);--slate-surface:color(display-p3 1 1 1/.8);--sage-surface:color(display-p3 1 1 1/.8);--olive-surface:color(display-p3 1 1 1/.8);--sand-surface:color(display-p3 1 1 1/.8);--tomato-surface:color(display-p3 .9922 .9647 .9608/.8);--red-surface:color(display-p3 .9961 .9647 .9647/.8);--ruby-surface:color(display-p3 .9961 .9647 .9647/.8);--crimson-surface:color(display-p3 .9922 .9608 .9725/.8);--pink-surface:color(display-p3 .9922 .9608 .9804/.8);--plum-surface:color(display-p3 .9843 .9647 .9843/.8);--purple-surface:color(display-p3 .9804 .9647 .9922/.8);--violet-surface:color(display-p3 .9725 .9647 .9961/.8);--iris-surface:color(display-p3 .9647 .9647 .9961/.8);--indigo-surface:color(display-p3 .9647 .9725 .9961/.8);--blue-surface:color(display-p3 .9529 .9765 .9961/.8);--cyan-surface:color(display-p3 .9412 .9765 .9804/.8);--teal-surface:color(display-p3 .9451 .9804 .9725/.8);--jade-surface:color(display-p3 .9529 .9804 .9608/.8);--green-surface:color(display-p3 .9569 .9804 .9608/.8);--grass-surface:color(display-p3 .9569 .9804 .9569/.8);--brown-surface:color(display-p3 .9843 .9725 .9569/.8);--bronze-surface:color(display-p3 .9843 .9608 .9529/.8);--gold-surface:color(display-p3 .9765 .9725 .9412/.8);--sky-surface:color(display-p3 .9412 .9765 .9843/.8);--mint-surface:color(display-p3 .9451 .9804 .9725/.8);--lime-surface:color(display-p3 .9725 .9765 .9412/.8);--yellow-surface:color(display-p3 .9961 .9922 .902/.8);--amber-surface:color(display-p3 .9922 .9843 .902/.8);--orange-surface:color(display-p3 .9961 .9608 .9176/.8)}}}.dark,.dark-theme{--gray-surface:#21212180;--mauve-surface:#22212380;--slate-surface:#1f212380;--sage-surface:#1e201f80;--olive-surface:#1f201e80;--sand-surface:#21212080;--tomato-surface:#2d191580;--red-surface:#2f151780;--ruby-surface:#2b191d80;--crimson-surface:#2f151f80;--pink-surface:#31132980;--plum-surface:#2f152f80;--purple-surface:#2b173580;--violet-surface:#25193980;--iris-surface:#1d1b3980;--indigo-surface:#171d3b80;--blue-surface:#11213d80;--cyan-surface:#11252d80;--teal-surface:#13272580;--jade-surface:#13271f80;--green-surface:#15251d80;--grass-surface:#19231b80;--brown-surface:#271f1b80;--bronze-surface:#27211d80;--gold-surface:#25231d80;--sky-surface:#13233b80;--mint-surface:#15272780;--lime-surface:#1b211580;--yellow-surface:#231f1380;--amber-surface:#271f1380;--orange-surface:#271d1380}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--gray-surface:color(display-p3 .1255 .1255 .1255/.5);--mauve-surface:color(display-p3 .1333 .1255 .1333/.5);--slate-surface:color(display-p3 .1176 .1255 .1333/.5);--sage-surface:color(display-p3 .1176 .1255 .1176/.5);--olive-surface:color(display-p3 .1176 .1255 .1176/.5);--sand-surface:color(display-p3 .1255 .1255 .1255/.5);--tomato-surface:color(display-p3 .1569 .0941 .0784/.5);--red-surface:color(display-p3 .1647 .0863 .0863/.5);--ruby-surface:color(display-p3 .1569 .0941 .1098/.5);--crimson-surface:color(display-p3 .1647 .0863 .1176/.5);--pink-surface:color(display-p3 .1725 .0784 .149/.5);--plum-surface:color(display-p3 .1647 .0863 .1725/.5);--purple-surface:color(display-p3 .149 .0941 .1961/.5);--violet-surface:color(display-p3 .1333 .102 .2118/.5);--iris-surface:color(display-p3 .1098 .102 .2118/.5);--indigo-surface:color(display-p3 .0941 .1098 .2196/.5);--blue-surface:color(display-p3 .0706 .1255 .2196/.5);--cyan-surface:color(display-p3 .0784 .1412 .1725/.5);--teal-surface:color(display-p3 .0863 .149 .1412/.5);--jade-surface:color(display-p3 .0863 .149 .1176/.5);--green-surface:color(display-p3 .0941 .1412 .1098/.5);--grass-surface:color(display-p3 .102 .1333 .102/.5);--brown-surface:color(display-p3 .1412 .1176 .102/.5);--bronze-surface:color(display-p3 .1412 .1255 .1176/.5);--gold-surface:color(display-p3 .1412 .1333 .1098/.5);--sky-surface:color(display-p3 .0863 .1333 .2196/.5);--mint-surface:color(display-p3 .0941 .149 .1412/.5);--lime-surface:color(display-p3 .1098 .1255 .0784/.5);--yellow-surface:color(display-p3 .1333 .1176 .0706/.5);--amber-surface:color(display-p3 .1412 .1176 .0784/.5);--orange-surface:color(display-p3 .1412 .1098 .0706/.5)}}}[data-accent-color=tomato]{--color-surface-accent:var(--tomato-surface);--accent-1:var(--tomato-1);--accent-2:var(--tomato-2);--accent-3:var(--tomato-3);--accent-4:var(--tomato-4);--accent-5:var(--tomato-5);--accent-6:var(--tomato-6);--accent-7:var(--tomato-7);--accent-8:var(--tomato-8);--accent-9:var(--tomato-9);--accent-contrast:var(--tomato-contrast);--accent-10:var(--tomato-10);--accent-11:var(--tomato-11);--accent-12:var(--tomato-12);--accent-a1:var(--tomato-a1);--accent-a2:var(--tomato-a2);--accent-a3:var(--tomato-a3);--accent-a4:var(--tomato-a4);--accent-a5:var(--tomato-a5);--accent-a6:var(--tomato-a6);--accent-a7:var(--tomato-a7);--accent-a8:var(--tomato-a8);--accent-a9:var(--tomato-a9);--accent-a10:var(--tomato-a10);--accent-a11:var(--tomato-a11);--accent-a12:var(--tomato-a12)}[data-accent-color=red]{--color-surface-accent:var(--red-surface);--accent-1:var(--red-1);--accent-2:var(--red-2);--accent-3:var(--red-3);--accent-4:var(--red-4);--accent-5:var(--red-5);--accent-6:var(--red-6);--accent-7:var(--red-7);--accent-8:var(--red-8);--accent-9:var(--red-9);--accent-contrast:var(--red-contrast);--accent-10:var(--red-10);--accent-11:var(--red-11);--accent-12:var(--red-12);--accent-a1:var(--red-a1);--accent-a2:var(--red-a2);--accent-a3:var(--red-a3);--accent-a4:var(--red-a4);--accent-a5:var(--red-a5);--accent-a6:var(--red-a6);--accent-a7:var(--red-a7);--accent-a8:var(--red-a8);--accent-a9:var(--red-a9);--accent-a10:var(--red-a10);--accent-a11:var(--red-a11);--accent-a12:var(--red-a12)}[data-accent-color=ruby]{--color-surface-accent:var(--ruby-surface);--accent-1:var(--ruby-1);--accent-2:var(--ruby-2);--accent-3:var(--ruby-3);--accent-4:var(--ruby-4);--accent-5:var(--ruby-5);--accent-6:var(--ruby-6);--accent-7:var(--ruby-7);--accent-8:var(--ruby-8);--accent-9:var(--ruby-9);--accent-contrast:var(--ruby-contrast);--accent-10:var(--ruby-10);--accent-11:var(--ruby-11);--accent-12:var(--ruby-12);--accent-a1:var(--ruby-a1);--accent-a2:var(--ruby-a2);--accent-a3:var(--ruby-a3);--accent-a4:var(--ruby-a4);--accent-a5:var(--ruby-a5);--accent-a6:var(--ruby-a6);--accent-a7:var(--ruby-a7);--accent-a8:var(--ruby-a8);--accent-a9:var(--ruby-a9);--accent-a10:var(--ruby-a10);--accent-a11:var(--ruby-a11);--accent-a12:var(--ruby-a12)}[data-accent-color=crimson]{--color-surface-accent:var(--crimson-surface);--accent-1:var(--crimson-1);--accent-2:var(--crimson-2);--accent-3:var(--crimson-3);--accent-4:var(--crimson-4);--accent-5:var(--crimson-5);--accent-6:var(--crimson-6);--accent-7:var(--crimson-7);--accent-8:var(--crimson-8);--accent-9:var(--crimson-9);--accent-contrast:var(--crimson-contrast);--accent-10:var(--crimson-10);--accent-11:var(--crimson-11);--accent-12:var(--crimson-12);--accent-a1:var(--crimson-a1);--accent-a2:var(--crimson-a2);--accent-a3:var(--crimson-a3);--accent-a4:var(--crimson-a4);--accent-a5:var(--crimson-a5);--accent-a6:var(--crimson-a6);--accent-a7:var(--crimson-a7);--accent-a8:var(--crimson-a8);--accent-a9:var(--crimson-a9);--accent-a10:var(--crimson-a10);--accent-a11:var(--crimson-a11);--accent-a12:var(--crimson-a12)}[data-accent-color=pink]{--color-surface-accent:var(--pink-surface);--accent-1:var(--pink-1);--accent-2:var(--pink-2);--accent-3:var(--pink-3);--accent-4:var(--pink-4);--accent-5:var(--pink-5);--accent-6:var(--pink-6);--accent-7:var(--pink-7);--accent-8:var(--pink-8);--accent-9:var(--pink-9);--accent-contrast:var(--pink-contrast);--accent-10:var(--pink-10);--accent-11:var(--pink-11);--accent-12:var(--pink-12);--accent-a1:var(--pink-a1);--accent-a2:var(--pink-a2);--accent-a3:var(--pink-a3);--accent-a4:var(--pink-a4);--accent-a5:var(--pink-a5);--accent-a6:var(--pink-a6);--accent-a7:var(--pink-a7);--accent-a8:var(--pink-a8);--accent-a9:var(--pink-a9);--accent-a10:var(--pink-a10);--accent-a11:var(--pink-a11);--accent-a12:var(--pink-a12)}[data-accent-color=plum]{--color-surface-accent:var(--plum-surface);--accent-1:var(--plum-1);--accent-2:var(--plum-2);--accent-3:var(--plum-3);--accent-4:var(--plum-4);--accent-5:var(--plum-5);--accent-6:var(--plum-6);--accent-7:var(--plum-7);--accent-8:var(--plum-8);--accent-9:var(--plum-9);--accent-contrast:var(--plum-contrast);--accent-10:var(--plum-10);--accent-11:var(--plum-11);--accent-12:var(--plum-12);--accent-a1:var(--plum-a1);--accent-a2:var(--plum-a2);--accent-a3:var(--plum-a3);--accent-a4:var(--plum-a4);--accent-a5:var(--plum-a5);--accent-a6:var(--plum-a6);--accent-a7:var(--plum-a7);--accent-a8:var(--plum-a8);--accent-a9:var(--plum-a9);--accent-a10:var(--plum-a10);--accent-a11:var(--plum-a11);--accent-a12:var(--plum-a12)}[data-accent-color=purple]{--color-surface-accent:var(--purple-surface);--accent-1:var(--purple-1);--accent-2:var(--purple-2);--accent-3:var(--purple-3);--accent-4:var(--purple-4);--accent-5:var(--purple-5);--accent-6:var(--purple-6);--accent-7:var(--purple-7);--accent-8:var(--purple-8);--accent-9:var(--purple-9);--accent-contrast:var(--purple-contrast);--accent-10:var(--purple-10);--accent-11:var(--purple-11);--accent-12:var(--purple-12);--accent-a1:var(--purple-a1);--accent-a2:var(--purple-a2);--accent-a3:var(--purple-a3);--accent-a4:var(--purple-a4);--accent-a5:var(--purple-a5);--accent-a6:var(--purple-a6);--accent-a7:var(--purple-a7);--accent-a8:var(--purple-a8);--accent-a9:var(--purple-a9);--accent-a10:var(--purple-a10);--accent-a11:var(--purple-a11);--accent-a12:var(--purple-a12)}[data-accent-color=violet]{--color-surface-accent:var(--violet-surface);--accent-1:var(--violet-1);--accent-2:var(--violet-2);--accent-3:var(--violet-3);--accent-4:var(--violet-4);--accent-5:var(--violet-5);--accent-6:var(--violet-6);--accent-7:var(--violet-7);--accent-8:var(--violet-8);--accent-9:var(--violet-9);--accent-contrast:var(--violet-contrast);--accent-10:var(--violet-10);--accent-11:var(--violet-11);--accent-12:var(--violet-12);--accent-a1:var(--violet-a1);--accent-a2:var(--violet-a2);--accent-a3:var(--violet-a3);--accent-a4:var(--violet-a4);--accent-a5:var(--violet-a5);--accent-a6:var(--violet-a6);--accent-a7:var(--violet-a7);--accent-a8:var(--violet-a8);--accent-a9:var(--violet-a9);--accent-a10:var(--violet-a10);--accent-a11:var(--violet-a11);--accent-a12:var(--violet-a12)}[data-accent-color=iris]{--color-surface-accent:var(--iris-surface);--accent-1:var(--iris-1);--accent-2:var(--iris-2);--accent-3:var(--iris-3);--accent-4:var(--iris-4);--accent-5:var(--iris-5);--accent-6:var(--iris-6);--accent-7:var(--iris-7);--accent-8:var(--iris-8);--accent-9:var(--iris-9);--accent-contrast:var(--iris-contrast);--accent-10:var(--iris-10);--accent-11:var(--iris-11);--accent-12:var(--iris-12);--accent-a1:var(--iris-a1);--accent-a2:var(--iris-a2);--accent-a3:var(--iris-a3);--accent-a4:var(--iris-a4);--accent-a5:var(--iris-a5);--accent-a6:var(--iris-a6);--accent-a7:var(--iris-a7);--accent-a8:var(--iris-a8);--accent-a9:var(--iris-a9);--accent-a10:var(--iris-a10);--accent-a11:var(--iris-a11);--accent-a12:var(--iris-a12)}[data-accent-color=indigo]{--color-surface-accent:var(--indigo-surface);--accent-1:var(--indigo-1);--accent-2:var(--indigo-2);--accent-3:var(--indigo-3);--accent-4:var(--indigo-4);--accent-5:var(--indigo-5);--accent-6:var(--indigo-6);--accent-7:var(--indigo-7);--accent-8:var(--indigo-8);--accent-9:var(--indigo-9);--accent-contrast:var(--indigo-contrast);--accent-10:var(--indigo-10);--accent-11:var(--indigo-11);--accent-12:var(--indigo-12);--accent-a1:var(--indigo-a1);--accent-a2:var(--indigo-a2);--accent-a3:var(--indigo-a3);--accent-a4:var(--indigo-a4);--accent-a5:var(--indigo-a5);--accent-a6:var(--indigo-a6);--accent-a7:var(--indigo-a7);--accent-a8:var(--indigo-a8);--accent-a9:var(--indigo-a9);--accent-a10:var(--indigo-a10);--accent-a11:var(--indigo-a11);--accent-a12:var(--indigo-a12)}[data-accent-color=blue]{--color-surface-accent:var(--blue-surface);--accent-1:var(--blue-1);--accent-2:var(--blue-2);--accent-3:var(--blue-3);--accent-4:var(--blue-4);--accent-5:var(--blue-5);--accent-6:var(--blue-6);--accent-7:var(--blue-7);--accent-8:var(--blue-8);--accent-9:var(--blue-9);--accent-contrast:var(--blue-contrast);--accent-10:var(--blue-10);--accent-11:var(--blue-11);--accent-12:var(--blue-12);--accent-a1:var(--blue-a1);--accent-a2:var(--blue-a2);--accent-a3:var(--blue-a3);--accent-a4:var(--blue-a4);--accent-a5:var(--blue-a5);--accent-a6:var(--blue-a6);--accent-a7:var(--blue-a7);--accent-a8:var(--blue-a8);--accent-a9:var(--blue-a9);--accent-a10:var(--blue-a10);--accent-a11:var(--blue-a11);--accent-a12:var(--blue-a12)}[data-accent-color=cyan]{--color-surface-accent:var(--cyan-surface);--accent-1:var(--cyan-1);--accent-2:var(--cyan-2);--accent-3:var(--cyan-3);--accent-4:var(--cyan-4);--accent-5:var(--cyan-5);--accent-6:var(--cyan-6);--accent-7:var(--cyan-7);--accent-8:var(--cyan-8);--accent-9:var(--cyan-9);--accent-contrast:var(--cyan-contrast);--accent-10:var(--cyan-10);--accent-11:var(--cyan-11);--accent-12:var(--cyan-12);--accent-a1:var(--cyan-a1);--accent-a2:var(--cyan-a2);--accent-a3:var(--cyan-a3);--accent-a4:var(--cyan-a4);--accent-a5:var(--cyan-a5);--accent-a6:var(--cyan-a6);--accent-a7:var(--cyan-a7);--accent-a8:var(--cyan-a8);--accent-a9:var(--cyan-a9);--accent-a10:var(--cyan-a10);--accent-a11:var(--cyan-a11);--accent-a12:var(--cyan-a12)}[data-accent-color=teal]{--color-surface-accent:var(--teal-surface);--accent-1:var(--teal-1);--accent-2:var(--teal-2);--accent-3:var(--teal-3);--accent-4:var(--teal-4);--accent-5:var(--teal-5);--accent-6:var(--teal-6);--accent-7:var(--teal-7);--accent-8:var(--teal-8);--accent-9:var(--teal-9);--accent-contrast:var(--teal-contrast);--accent-10:var(--teal-10);--accent-11:var(--teal-11);--accent-12:var(--teal-12);--accent-a1:var(--teal-a1);--accent-a2:var(--teal-a2);--accent-a3:var(--teal-a3);--accent-a4:var(--teal-a4);--accent-a5:var(--teal-a5);--accent-a6:var(--teal-a6);--accent-a7:var(--teal-a7);--accent-a8:var(--teal-a8);--accent-a9:var(--teal-a9);--accent-a10:var(--teal-a10);--accent-a11:var(--teal-a11);--accent-a12:var(--teal-a12)}[data-accent-color=jade]{--color-surface-accent:var(--jade-surface);--accent-1:var(--jade-1);--accent-2:var(--jade-2);--accent-3:var(--jade-3);--accent-4:var(--jade-4);--accent-5:var(--jade-5);--accent-6:var(--jade-6);--accent-7:var(--jade-7);--accent-8:var(--jade-8);--accent-9:var(--jade-9);--accent-contrast:var(--jade-contrast);--accent-10:var(--jade-10);--accent-11:var(--jade-11);--accent-12:var(--jade-12);--accent-a1:var(--jade-a1);--accent-a2:var(--jade-a2);--accent-a3:var(--jade-a3);--accent-a4:var(--jade-a4);--accent-a5:var(--jade-a5);--accent-a6:var(--jade-a6);--accent-a7:var(--jade-a7);--accent-a8:var(--jade-a8);--accent-a9:var(--jade-a9);--accent-a10:var(--jade-a10);--accent-a11:var(--jade-a11);--accent-a12:var(--jade-a12)}[data-accent-color=green]{--color-surface-accent:var(--green-surface);--accent-1:var(--green-1);--accent-2:var(--green-2);--accent-3:var(--green-3);--accent-4:var(--green-4);--accent-5:var(--green-5);--accent-6:var(--green-6);--accent-7:var(--green-7);--accent-8:var(--green-8);--accent-9:var(--green-9);--accent-contrast:var(--green-contrast);--accent-10:var(--green-10);--accent-11:var(--green-11);--accent-12:var(--green-12);--accent-a1:var(--green-a1);--accent-a2:var(--green-a2);--accent-a3:var(--green-a3);--accent-a4:var(--green-a4);--accent-a5:var(--green-a5);--accent-a6:var(--green-a6);--accent-a7:var(--green-a7);--accent-a8:var(--green-a8);--accent-a9:var(--green-a9);--accent-a10:var(--green-a10);--accent-a11:var(--green-a11);--accent-a12:var(--green-a12)}[data-accent-color=grass]{--color-surface-accent:var(--grass-surface);--accent-1:var(--grass-1);--accent-2:var(--grass-2);--accent-3:var(--grass-3);--accent-4:var(--grass-4);--accent-5:var(--grass-5);--accent-6:var(--grass-6);--accent-7:var(--grass-7);--accent-8:var(--grass-8);--accent-9:var(--grass-9);--accent-contrast:var(--grass-contrast);--accent-10:var(--grass-10);--accent-11:var(--grass-11);--accent-12:var(--grass-12);--accent-a1:var(--grass-a1);--accent-a2:var(--grass-a2);--accent-a3:var(--grass-a3);--accent-a4:var(--grass-a4);--accent-a5:var(--grass-a5);--accent-a6:var(--grass-a6);--accent-a7:var(--grass-a7);--accent-a8:var(--grass-a8);--accent-a9:var(--grass-a9);--accent-a10:var(--grass-a10);--accent-a11:var(--grass-a11);--accent-a12:var(--grass-a12)}[data-accent-color=orange]{--color-surface-accent:var(--orange-surface);--accent-1:var(--orange-1);--accent-2:var(--orange-2);--accent-3:var(--orange-3);--accent-4:var(--orange-4);--accent-5:var(--orange-5);--accent-6:var(--orange-6);--accent-7:var(--orange-7);--accent-8:var(--orange-8);--accent-9:var(--orange-9);--accent-contrast:var(--orange-contrast);--accent-10:var(--orange-10);--accent-11:var(--orange-11);--accent-12:var(--orange-12);--accent-a1:var(--orange-a1);--accent-a2:var(--orange-a2);--accent-a3:var(--orange-a3);--accent-a4:var(--orange-a4);--accent-a5:var(--orange-a5);--accent-a6:var(--orange-a6);--accent-a7:var(--orange-a7);--accent-a8:var(--orange-a8);--accent-a9:var(--orange-a9);--accent-a10:var(--orange-a10);--accent-a11:var(--orange-a11);--accent-a12:var(--orange-a12)}[data-accent-color=brown]{--color-surface-accent:var(--brown-surface);--accent-1:var(--brown-1);--accent-2:var(--brown-2);--accent-3:var(--brown-3);--accent-4:var(--brown-4);--accent-5:var(--brown-5);--accent-6:var(--brown-6);--accent-7:var(--brown-7);--accent-8:var(--brown-8);--accent-9:var(--brown-9);--accent-contrast:var(--brown-contrast);--accent-10:var(--brown-10);--accent-11:var(--brown-11);--accent-12:var(--brown-12);--accent-a1:var(--brown-a1);--accent-a2:var(--brown-a2);--accent-a3:var(--brown-a3);--accent-a4:var(--brown-a4);--accent-a5:var(--brown-a5);--accent-a6:var(--brown-a6);--accent-a7:var(--brown-a7);--accent-a8:var(--brown-a8);--accent-a9:var(--brown-a9);--accent-a10:var(--brown-a10);--accent-a11:var(--brown-a11);--accent-a12:var(--brown-a12)}[data-accent-color=sky]{--color-surface-accent:var(--sky-surface);--accent-1:var(--sky-1);--accent-2:var(--sky-2);--accent-3:var(--sky-3);--accent-4:var(--sky-4);--accent-5:var(--sky-5);--accent-6:var(--sky-6);--accent-7:var(--sky-7);--accent-8:var(--sky-8);--accent-9:var(--sky-9);--accent-contrast:var(--sky-contrast);--accent-10:var(--sky-10);--accent-11:var(--sky-11);--accent-12:var(--sky-12);--accent-a1:var(--sky-a1);--accent-a2:var(--sky-a2);--accent-a3:var(--sky-a3);--accent-a4:var(--sky-a4);--accent-a5:var(--sky-a5);--accent-a6:var(--sky-a6);--accent-a7:var(--sky-a7);--accent-a8:var(--sky-a8);--accent-a9:var(--sky-a9);--accent-a10:var(--sky-a10);--accent-a11:var(--sky-a11);--accent-a12:var(--sky-a12)}[data-accent-color=mint]{--color-surface-accent:var(--mint-surface);--accent-1:var(--mint-1);--accent-2:var(--mint-2);--accent-3:var(--mint-3);--accent-4:var(--mint-4);--accent-5:var(--mint-5);--accent-6:var(--mint-6);--accent-7:var(--mint-7);--accent-8:var(--mint-8);--accent-9:var(--mint-9);--accent-contrast:var(--mint-contrast);--accent-10:var(--mint-10);--accent-11:var(--mint-11);--accent-12:var(--mint-12);--accent-a1:var(--mint-a1);--accent-a2:var(--mint-a2);--accent-a3:var(--mint-a3);--accent-a4:var(--mint-a4);--accent-a5:var(--mint-a5);--accent-a6:var(--mint-a6);--accent-a7:var(--mint-a7);--accent-a8:var(--mint-a8);--accent-a9:var(--mint-a9);--accent-a10:var(--mint-a10);--accent-a11:var(--mint-a11);--accent-a12:var(--mint-a12)}[data-accent-color=lime]{--color-surface-accent:var(--lime-surface);--accent-1:var(--lime-1);--accent-2:var(--lime-2);--accent-3:var(--lime-3);--accent-4:var(--lime-4);--accent-5:var(--lime-5);--accent-6:var(--lime-6);--accent-7:var(--lime-7);--accent-8:var(--lime-8);--accent-9:var(--lime-9);--accent-contrast:var(--lime-contrast);--accent-10:var(--lime-10);--accent-11:var(--lime-11);--accent-12:var(--lime-12);--accent-a1:var(--lime-a1);--accent-a2:var(--lime-a2);--accent-a3:var(--lime-a3);--accent-a4:var(--lime-a4);--accent-a5:var(--lime-a5);--accent-a6:var(--lime-a6);--accent-a7:var(--lime-a7);--accent-a8:var(--lime-a8);--accent-a9:var(--lime-a9);--accent-a10:var(--lime-a10);--accent-a11:var(--lime-a11);--accent-a12:var(--lime-a12)}[data-accent-color=yellow]{--color-surface-accent:var(--yellow-surface);--accent-1:var(--yellow-1);--accent-2:var(--yellow-2);--accent-3:var(--yellow-3);--accent-4:var(--yellow-4);--accent-5:var(--yellow-5);--accent-6:var(--yellow-6);--accent-7:var(--yellow-7);--accent-8:var(--yellow-8);--accent-9:var(--yellow-9);--accent-contrast:var(--yellow-contrast);--accent-10:var(--yellow-10);--accent-11:var(--yellow-11);--accent-12:var(--yellow-12);--accent-a1:var(--yellow-a1);--accent-a2:var(--yellow-a2);--accent-a3:var(--yellow-a3);--accent-a4:var(--yellow-a4);--accent-a5:var(--yellow-a5);--accent-a6:var(--yellow-a6);--accent-a7:var(--yellow-a7);--accent-a8:var(--yellow-a8);--accent-a9:var(--yellow-a9);--accent-a10:var(--yellow-a10);--accent-a11:var(--yellow-a11);--accent-a12:var(--yellow-a12)}[data-accent-color=amber]{--color-surface-accent:var(--amber-surface);--accent-1:var(--amber-1);--accent-2:var(--amber-2);--accent-3:var(--amber-3);--accent-4:var(--amber-4);--accent-5:var(--amber-5);--accent-6:var(--amber-6);--accent-7:var(--amber-7);--accent-8:var(--amber-8);--accent-9:var(--amber-9);--accent-contrast:var(--amber-contrast);--accent-10:var(--amber-10);--accent-11:var(--amber-11);--accent-12:var(--amber-12);--accent-a1:var(--amber-a1);--accent-a2:var(--amber-a2);--accent-a3:var(--amber-a3);--accent-a4:var(--amber-a4);--accent-a5:var(--amber-a5);--accent-a6:var(--amber-a6);--accent-a7:var(--amber-a7);--accent-a8:var(--amber-a8);--accent-a9:var(--amber-a9);--accent-a10:var(--amber-a10);--accent-a11:var(--amber-a11);--accent-a12:var(--amber-a12)}[data-accent-color=gold]{--color-surface-accent:var(--gold-surface);--accent-1:var(--gold-1);--accent-2:var(--gold-2);--accent-3:var(--gold-3);--accent-4:var(--gold-4);--accent-5:var(--gold-5);--accent-6:var(--gold-6);--accent-7:var(--gold-7);--accent-8:var(--gold-8);--accent-9:var(--gold-9);--accent-contrast:var(--gold-contrast);--accent-10:var(--gold-10);--accent-11:var(--gold-11);--accent-12:var(--gold-12);--accent-a1:var(--gold-a1);--accent-a2:var(--gold-a2);--accent-a3:var(--gold-a3);--accent-a4:var(--gold-a4);--accent-a5:var(--gold-a5);--accent-a6:var(--gold-a6);--accent-a7:var(--gold-a7);--accent-a8:var(--gold-a8);--accent-a9:var(--gold-a9);--accent-a10:var(--gold-a10);--accent-a11:var(--gold-a11);--accent-a12:var(--gold-a12)}[data-accent-color=bronze]{--color-surface-accent:var(--bronze-surface);--accent-1:var(--bronze-1);--accent-2:var(--bronze-2);--accent-3:var(--bronze-3);--accent-4:var(--bronze-4);--accent-5:var(--bronze-5);--accent-6:var(--bronze-6);--accent-7:var(--bronze-7);--accent-8:var(--bronze-8);--accent-9:var(--bronze-9);--accent-contrast:var(--bronze-contrast);--accent-10:var(--bronze-10);--accent-11:var(--bronze-11);--accent-12:var(--bronze-12);--accent-a1:var(--bronze-a1);--accent-a2:var(--bronze-a2);--accent-a3:var(--bronze-a3);--accent-a4:var(--bronze-a4);--accent-a5:var(--bronze-a5);--accent-a6:var(--bronze-a6);--accent-a7:var(--bronze-a7);--accent-a8:var(--bronze-a8);--accent-a9:var(--bronze-a9);--accent-a10:var(--bronze-a10);--accent-a11:var(--bronze-a11);--accent-a12:var(--bronze-a12)}[data-accent-color=gray]{--color-surface-accent:var(--gray-surface);--accent-1:var(--gray-1);--accent-2:var(--gray-2);--accent-3:var(--gray-3);--accent-4:var(--gray-4);--accent-5:var(--gray-5);--accent-6:var(--gray-6);--accent-7:var(--gray-7);--accent-8:var(--gray-8);--accent-9:var(--gray-9);--accent-contrast:var(--gray-contrast);--accent-10:var(--gray-10);--accent-11:var(--gray-11);--accent-12:var(--gray-12);--accent-a1:var(--gray-a1);--accent-a2:var(--gray-a2);--accent-a3:var(--gray-a3);--accent-a4:var(--gray-a4);--accent-a5:var(--gray-a5);--accent-a6:var(--gray-a6);--accent-a7:var(--gray-a7);--accent-a8:var(--gray-a8);--accent-a9:var(--gray-a9);--accent-a10:var(--gray-a10);--accent-a11:var(--gray-a11);--accent-a12:var(--gray-a12)}:root{--sy-f-sys:-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Droid Sans,Helvetica Neue;--sy-f-cjk:Noto Sans;--sy-f-heading:var(--sy-f-sys),var(--sy-f-cjk),sans-serif;--sy-f-text:var(--sy-f-sys),var(--sy-f-cjk),sans-serif;--sy-f-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sy-s-banner-height:0rem;--sy-s-navbar-height:56px;--sy-s-offset-top:calc(var(--sy-s-navbar-height) + var(--sy-s-banner-height));--sy-c-divider:var(--gray-4);--sy-c-border:var(--gray-5);--sy-c-text:var(--gray-12);--sy-c-light:var(--gray-11);--sy-c-bold:var(--slate-12);--sy-c-heading:var(--sage-12);--sy-c-link:var(--accent-9);--sy-c-link-hover:var(--accent-a11);--sy-c-background:white;--sy-c-surface:var(--gray-a2);--sy-c-overlay:var(--black-a5);--sy-c-background-contrast:black;--sy-c-foot-text:var(--sy-c-text);--sy-c-foot-background:var(--slate-2);--sy-c-foot-divider:var(--sy-c-divider);--sy-dropdown-shadow:0 12px 32px var(--gray-a6),0 2px 6px var(--gray-a4)}[lang^=zh-Hans],[lang=zh],[lang=zh-CN]{--sy-f-cjk:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei}[lang^=zh-Hant],[lang=zh-TW]{--sy-f-cjk:PingFang TC,Noto Sans TC,Microsoft JhengHei}[lang=zh-HK],[lang=zh-Hant-HK]{--sy-f-cjk:PingFang HK,Noto Sans HK,Microsoft JhengHei}[lang=ja]{--sy-f-cjk:Hiragino Sans,Noto Sans JP,Yu Gothic}[data-accent-color=sky],[data-accent-color=mint],[data-accent-color=lime],[data-accent-color=yellow],[data-accent-color=amber]{--sy-c-link:var(--accent-a10)}html.light{color-scheme:light;--sy-c-background:white;--sy-c-background-contrast:black}html.dark{color-scheme:dark;--sy-c-background:var(--slate-1);--sy-c-overlay:var(--white-a2);--sy-c-background-contrast:var(--white-a10);--sy-c-foot-background:var(--black-a11);--sy-c-foot-divider:var(--black-a12)}html{color:var(--sy-c-text);background-color:var(--sy-c-background)}:root{--lucide-alert-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3zM12 9v4m0 4h.01'/%3E%3C/svg%3E");--lucide-arrows-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m7 15 5 5 5-5M7 9l5-5 5 5'/%3E%3C/svg%3E");--lucide-award-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");--lucide-bell-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9m-4.27 13a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");--lucide-bookmark-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");--lucide-calendar-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4m-5 4h18'/%3E%3C/svg%3E");--lucide-check-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--lucide-chevron-down-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-down'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lucide-chevron-left-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-left'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");--lucide-chevron-right-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-right'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");--lucide-chevron-up-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-chevron-up'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");--lucide-close-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");--lucide-external-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 5h6v6m0-6L5 19'/%3E%3C/svg%3E");--lucide-flame-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E");--lucide-git-fork-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='18' r='3'/%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='18' cy='6' r='3'/%3E%3Cpath d='M18 9v1a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V9m6 3v3'/%3E%3C/svg%3E");--lucide-help-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01'/%3E%3C/svg%3E");--lucide-languages-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-languages'%3E%3Cpath d='m5 8 6 6m-7 0 6-6 2-3M2 5h12M7 2h1m14 20-5-10-5 10m2-4h6'/%3E%3C/svg%3E");--lucide-laptop-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='12' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M2 20h20'/%3E%3C/svg%3E");--lucide-link-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");--lucide-menu-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='lucide lucide-menu'%3E%3Cpath d='M4 12h16M4 6h16M4 18h16'/%3E%3C/svg%3E");--lucide-milestone-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 6H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h13l4-3.5L18 6zm-6 7v8m0-18v3'/%3E%3C/svg%3E");--lucide-moon-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 3a6.364 6.364 0 0 0 9 9 9 9 0 1 1-9-9z'/%3E%3C/svg%3E");--lucide-outdent-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m7 8-4 4 4 4m14-4H11m10-6H11m10 12H11'/%3E%3C/svg%3E");--lucide-rocket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0m1 7v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E");--lucide-skull-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='9' cy='12' r='1'/%3E%3Ccircle cx='15' cy='12' r='1'/%3E%3Cpath d='M8 20v2h8v-2m-3.5-3-.5-1-.5 1h1z'/%3E%3Cpath d='M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20'/%3E%3C/svg%3E");--lucide-star-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");--lucide-sun-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32 1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");--lucide-zap-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E")}.i-lucide.alert{--icon-url:var(--lucide-alert-url)}.i-lucide.arrows{--icon-url:var(--lucide-arrows-url)}.i-lucide.award{--icon-url:var(--lucide-award-url)}.i-lucide.bell{--icon-url:var(--lucide-bell-url)}.i-lucide.bookmark{--icon-url:var(--lucide-bookmark-url)}.i-lucide.calendar{--icon-url:var(--lucide-calendar-url)}.i-lucide.check{--icon-url:var(--lucide-check-url)}.i-lucide.chevron-down{--icon-url:var(--lucide-chevron-down-url)}.i-lucide.chevron-left{--icon-url:var(--lucide-chevron-left-url)}.i-lucide.chevron-right{--icon-url:var(--lucide-chevron-right-url)}.i-lucide.chevron-up{--icon-url:var(--lucide-chevron-up-url)}.i-lucide.close{--icon-url:var(--lucide-close-url)}.i-lucide.external-link{--icon-url:var(--lucide-external-link-url)}.i-lucide.flame{--icon-url:var(--lucide-flame-url)}.i-lucide.git-fork{--icon-url:var(--lucide-git-fork-url)}.i-lucide.help{--icon-url:var(--lucide-help-url)}.i-lucide.languages{--icon-url:var(--lucide-languages-url)}.i-lucide.laptop{--icon-url:var(--lucide-laptop-url)}.i-lucide.link{--icon-url:var(--lucide-link-url)}.i-lucide.menu{--icon-url:var(--lucide-menu-url)}.i-lucide.milestone{--icon-url:var(--lucide-milestone-url)}.i-lucide.moon{--icon-url:var(--lucide-moon-url)}.i-lucide.outdent{--icon-url:var(--lucide-outdent-url)}.i-lucide.rocket{--icon-url:var(--lucide-rocket-url)}.i-lucide.skull{--icon-url:var(--lucide-skull-url)}.i-lucide.star{--icon-url:var(--lucide-star-url)}.i-lucide.sun{--icon-url:var(--lucide-sun-url)}.i-lucide.zap{--icon-url:var(--lucide-zap-url)}:root{--simpleicons-bitbucket-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891zM14.52 15.53H9.522L8.17 8.466h7.561z'/%3E%3C/svg%3E");--simpleicons-discord-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z'/%3E%3C/svg%3E");--simpleicons-git-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.546 10.93 13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039 1.837 1.837 0 0 1-2.6 0 1.846 1.846 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.848 1.848 0 0 1 0 2.6 1.844 1.844 0 0 1-2.609 0 1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187'/%3E%3C/svg%3E");--simpleicons-github-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");--simpleicons-gitlab-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m23.6 9.593-.033-.086L20.3.98a.851.851 0 0 0-.336-.405.875.875 0 0 0-1 .054.875.875 0 0 0-.29.44L16.47 7.818H7.537L5.332 1.07a.857.857 0 0 0-.29-.441.875.875 0 0 0-1-.054.859.859 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009.03.021 4.977 3.727 2.462 1.863 1.5 1.132a1.008 1.008 0 0 0 1.22 0l1.499-1.132 2.461-1.863 5.006-3.75.013-.01a6.068 6.068 0 0 0 2.01-7.002z'/%3E%3C/svg%3E");--simpleicons-linkedin-url:url("data:image/svg+xml;utf8,%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3ELinkedIn%3C/title%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");--simpleicons-mastodon-url:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E");--simpleicons-readthedocs-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.732 0a59.316 59.316 0 0 0-4.977.218V24a62.933 62.933 0 0 1 3.619-.687c.17-.028.34-.053.509-.078.215-.033.43-.066.644-.096l.205-.03zm1.18.003V22.96a61.042 61.042 0 0 1 12.333-.213V1.485A60.859 60.859 0 0 0 8.912.003zm1.707 1.81a.59.59 0 0 1 .015 0c3.06.088 6.125.404 9.167.95a.59.59 0 0 1 .476.686.59.59 0 0 1-.569.484.59.59 0 0 1-.116-.009 60.622 60.622 0 0 0-8.992-.931.59.59 0 0 1-.573-.607.59.59 0 0 1 .592-.572zm-4.212.028a.59.59 0 0 1 .578.565.59.59 0 0 1-.564.614 59.74 59.74 0 0 0-2.355.144.59.59 0 0 1-.04.002.59.59 0 0 1-.595-.542.59.59 0 0 1 .54-.635c.8-.065 1.6-.114 2.401-.148a.59.59 0 0 1 .035 0zm4.202 2.834a.59.59 0 0 1 .015 0 61.6 61.6 0 0 1 9.167.8.59.59 0 0 1 .488.677.59.59 0 0 1-.602.494.59.59 0 0 1-.076-.006 60.376 60.376 0 0 0-8.99-.786.59.59 0 0 1-.584-.596.59.59 0 0 1 .582-.583zm-4.211.097a.59.59 0 0 1 .587.555.59.59 0 0 1-.554.622c-.786.046-1.572.107-2.356.184a.59.59 0 0 1-.04.003.59.59 0 0 1-.603-.533.59.59 0 0 1 .53-.644c.8-.078 1.599-.14 2.4-.187a.59.59 0 0 1 .036 0zM10.6 7.535a.59.59 0 0 1 .015 0c3.06-.013 6.125.204 9.167.65a.59.59 0 0 1 .498.67.59.59 0 0 1-.593.504.59.59 0 0 1-.076-.006 60.142 60.142 0 0 0-8.992-.638.59.59 0 0 1-.592-.588.59.59 0 0 1 .573-.592zm1.153 2.846a61.093 61.093 0 0 1 8.02.515.59.59 0 0 1 .509.66.59.59 0 0 1-.586.514.59.59 0 0 1-.076-.005 59.982 59.982 0 0 0-8.99-.492.59.59 0 0 1-.603-.577.59.59 0 0 1 .578-.603c.382-.008.765-.012 1.148-.012zm1.139 2.832a60.92 60.92 0 0 1 6.871.394.59.59 0 0 1 .52.652.59.59 0 0 1-.577.523.59.59 0 0 1-.076-.004 59.936 59.936 0 0 0-8.991-.344.59.59 0 0 1-.61-.568.59.59 0 0 1 .567-.611c.765-.028 1.53-.042 2.296-.042z'/%3E%3C/svg%3E");--simpleicons-reddit-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286A.72.72 0 0 0 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199a1.999 1.999 0 1 1-1.947 2.46v.002a2.368 2.368 0 0 0-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363a2.802 2.802 0 1 1 2.908 4.753c-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87a2.8 2.8 0 0 1 1.189-5.34c.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01a3.229 3.229 0 0 1 2.88-3.207 2 2 0 0 1 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135a.222.222 0 0 0-.183.305 3.199 3.199 0 0 0 2.953 1.964 3.2 3.2 0 0 0 2.953-1.964.222.222 0 0 0-.184-.305 27.75 27.75 0 0 0-2.769-.135Z'/%3E%3C/svg%3E");--simpleicons-slack-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E");--simpleicons-x-twitter-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E");--simpleicons-youtube-url:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.i-icon.bitbucket,.i-simpleicons.bitbucket{--icon-url:var(--simpleicons-bitbucket-url)}.i-icon.discord,.i-simpleicons.discord{--icon-url:var(--simpleicons-discord-url)}.i-icon.git,.i-simpleicons.git{--icon-url:var(--simpleicons-git-url)}.i-icon.github,.i-simpleicons.github{--icon-url:var(--simpleicons-github-url)}.i-icon.gitlab,.i-simpleicons.gitlab{--icon-url:var(--simpleicons-gitlab-url)}.i-icon.linkedin,.i-simpleicons.linkedin{--icon-url:var(--simpleicons-linkedin-url)}.i-icon.mastodon,.i-simpleicons.mastodon{--icon-url:var(--simpleicons-mastodon-url)}.i-icon.readthedocs,.i-simpleicons.readthedocs{--icon-url:var(--simpleicons-readthedocs-url)}.i-icon.reddit,.i-simpleicons.reddit{--icon-url:var(--simpleicons-reddit-url)}.i-icon.slack,.i-simpleicons.slack{--icon-url:var(--simpleicons-slack-url)}.i-icon.x-twitter,.i-simpleicons.x-twitter{--icon-url:var(--simpleicons-x-twitter-url)}.i-icon.youtube,.i-simpleicons.youtube{--icon-url:var(--simpleicons-youtube-url)}:root{--yue-c-text:var(--sy-c-text);--yue-c-heading:var(--sy-c-heading);--yue-c-bold:var(--sy-c-bold);--yue-c-link-1:var(--sy-c-text);--yue-c-link-2:var(--sy-c-bold);--yue-c-link-border:var(--sy-c-link);--yue-c-ol-marker:var(--gray-9);--yue-c-ul-marker:var(--sage-a5);--yue-c-hr:var(--sy-c-border);--yue-c-quote:var(--sy-c-text);--yue-c-quote-border:var(--accent-a3);--yue-c-quote-symbol:var(--accent-9);--yue-c-caption:var(--sy-c-light);--yue-c-code-text:var(--accent-a11);--yue-c-code-background:var(--accent-a3);--yue-c-table-border:var(--gray-a5);--yue-c-th-background:var(--color-surface-accent);--yue-c-th-border:var(--gray-a5);--yue-c-td-border:var(--gray-a4);--yue-c-row-background:var(--sy-c-surface)}.yue{color:var(--yue-c-text);font-size:1rem;line-height:1.75}.yue p{margin-top:1rem;margin-bottom:1.25rem}.yue a{color:var(--yue-c-link-1);border-bottom:1px solid var(--yue-c-link-border);font-weight:500;text-decoration:none}.yue a:hover{color:var(--yue-c-link-2);border-bottom-width:2px}.yue pre a,.yue pre a:hover{border-bottom:none}.yue strong{color:var(--yue-c-bold);font-weight:600}.yue a strong,.yue blockquote strong,.yue thead th strong{color:inherit}.yue ol{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:decimal}.yue ol[type="1"]{list-style-type:decimal}.yue ol[type=A],.yue ol.upperalpha{list-style-type:upper-alpha}.yue ol[type=a],.yue ol.loweralpha{list-style-type:lower-alpha}.yue ol[type=I],.yue ol.upperroman{list-style-type:upper-roman}.yue ol[type=i],.yue ol.lowerroman{list-style-type:lower-roman}.yue ul{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:disc}.yue ol>li::marker{color:var(--yue-c-ol-marker);font-weight:400}.yue ul>li::marker{color:var(--yue-c-ul-marker)}.yue dl{margin-top:1.5rem;margin-bottom:1.5rem}.yue dt{color:var(--yue-c-bold);font-weight:600}.yue dd{margin-left:1.5rem}.yue hr{border-color:var(--yue-c-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.yue blockquote{color:var(--yue-c-quote);border-left-width:.25rem;border-left-color:var(--yue-c-quote-border);margin-top:1.2rem;margin-bottom:1.2rem;padding-left:1rem}.yue blockquote .attribution{font-size:.85em;font-style:italic}[lang^=zh] .yue blockquote .attribution,[lang=ko] .yue blockquote .attribution,[lang=ja] .yue blockquote .attribution{font-style:normal}.yue h1{color:var(--yue-c-heading);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.yue h1 strong{color:inherit;font-weight:900}.yue h2{color:var(--yue-c-heading);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.yue h2 strong{color:inherit;font-weight:800}.yue h3{color:var(--yue-c-heading);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.yue h3 strong{color:inherit;font-weight:700}.yue h4{color:var(--yue-c-heading);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.yue h4 strong{color:inherit;font-weight:700}.yue h5,.yue h6{color:var(--yue-c-heading);font-weight:600}.yue img{max-width:100%;display:inline}.yue img.rounded{border-radius:.5rem}.yue a>img,.yue figure>*,.yue figure img{margin-top:0;margin-bottom:0}.yue figcaption{color:var(--yue-c-caption);margin-top:.857143em;font-size:.875em;line-height:1.42857}.yue figcaption>p{margin-top:0}.yue code{color:var(--yue-c-code-text);font-size:.875em;font-weight:600}.yue a code,.yue h1 code,.yue h2 code,.yue h3 code,.yue h4 code,.yue blockquote code,.yue th code{color:inherit}.yue h2 code{font-size:.875em}.yue li>code,.yue p>code{background-color:var(--yue-c-code-background);border-radius:3px;padding:2px 4px;font-weight:500}.yue h3 code{font-size:.9em}.yue kbd{font-family:var(--sy-f-mono)}.yue video,.yue figure{margin-top:2em;margin-bottom:2em}.yue li{margin-top:.5em;margin-bottom:.5em}.yue ol>li,.yue ul>li{padding-left:.375em}.yue ul ul,.yue ul ol,.yue ol ul,.yue ol ol{margin-top:.75em;margin-bottom:.75em}.yue hr+*,.yue h2+*,.yue h3+*,.yue h4+*{margin-top:0}.yue table{table-layout:auto;text-align:left;width:100%;margin-top:2em;margin-bottom:2em;font-size:.86em;line-height:1.7}.yue table>caption{color:var(--yue-c-caption);margin-bottom:.4rem}.yue thead tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-th-border)}.yue thead th{color:var(--yue-c-heading);vertical-align:middle;font-weight:600}.yue tbody tr{border-bottom-width:1px;border-bottom-color:var(--yue-c-td-border)}.yue tbody tr:last-child{border-bottom-width:0}.yue tbody td{vertical-align:middle}.yue tfoot{border-top-width:1px;border-top-color:var(--yue-c-th-border)}.yue tfoot td{vertical-align:top}.yue td>p{margin:.25rem 0}.yue thead th>p{margin:0}.yue thead th,.yue tbody td,.yue tfoot td{padding:.5rem}.yue section{clear:both}.yue section>div{margin-bottom:2rem}.yue dd>p:first-child{margin-top:0}.yue p.lead{color:var(--sy-c-light);margin-bottom:0;font-size:1.2rem}.yue p.lead+hr{margin-top:1rem}.yue p.rubric{color:var(--yue-c-heading);margin-top:2rem;font-weight:600}.yue .sidebar{background-color:var(--sy-c-surface);border:1px solid var(--sy-c-border);clear:right;float:right;border-radius:6px;width:30%;margin-bottom:1rem;margin-left:1rem;margin-right:0}@media (max-width:767px){.yue .sidebar{float:none;width:100%;margin-left:0}}.yue .sidebar>*{padding-left:1rem;padding-right:1rem}.yue .sidebar img{margin-top:1rem;margin-bottom:1rem}.yue .sidebar-title{border-bottom:1px solid var(--sy-c-border);margin:0;padding-top:.5rem;padding-bottom:.5rem;font-weight:500}.yue dl.simple>dd>p,.yue ul.simple>li>p,.yue ol.simple>li>p{margin:0}.yue a.headerlink{visibility:hidden;color:var(--sy-c-light);font-size:58%;font-weight:300;font-family:var(--sy-f-mono);--icon-url:var(--lucide-link-url);-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;vertical-align:middle;background-color:currentColor;width:1em;height:1em;margin-left:6px;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.yue .math a.headerlink,h1:hover a.headerlink,h2:hover a.headerlink,h3:hover a.headerlink,h4:hover a.headerlink,h5:hover a.headerlink,h6:hover a.headerlink{visibility:visible}.yue a.image-reference,.yue .toctree-wrapper a{border-bottom:none}.yue .toctree-wrapper p.caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-light);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--sy-c-divider);padding:.8rem 0 .4rem}.yue .align-left{clear:left;float:left;margin:0 1rem 1rem}.yue .align-right{clear:right;float:right;margin:0 1rem 1rem}.yue .align-center{text-align:center;margin-left:auto;margin-right:auto;display:block}.yue figure.align-center img{margin-left:auto;margin-right:auto}a.footnote-reference{vertical-align:top;font-size:.65rem}aside.footnote>span,div.citation>span{float:left;padding-right:.25rem;font-weight:500}aside.footnote>p,div.citation>p{margin-top:.5rem;margin-bottom:.5rem;margin-left:2rem}.yue kbd.kbd:not(.compound){border-radius:3px;margin-right:.25rem;padding:2px 5px;font-size:.86rem}.yue kbd.compound>kbd{margin-left:.25rem}.yue .menuselection{font-size:.86rem;font-weight:500}.light .searchbox kbd,.light .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#e6e6e6,#f8f8f8);border:0;box-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}.dark .searchbox kbd,.dark .yue kbd.kbd:not(.compound){background:linear-gradient(-225deg,#353434,#141414);border:0;box-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000}.yue p.centered{text-align:center}.yue section>img{margin-bottom:1rem}.hlist td{vertical-align:top}.light .light-hidden,.dark .dark-hidden,.light .dark-only,.dark .light-only{display:none}.yue .genindex-jumpbox,.yue .modindex-jumpbox{border-top:1px solid var(--sy-c-border);border-bottom:1px solid var(--sy-c-border);padding:2px .4rem}.yue table.modindextable td:first-of-type{width:28px}.yue table.modindextable img.toggler{margin:0}.yue table.modindextable tr.cap{background:var(--sy-c-surface);font-size:1.12rem;font-family:var(--sy-f-mono)}.yue h2+table.indextable,.yue table.indextable ul{margin-top:0}:root{--attention-icon:var(--lucide-alert-url);--attention-1:var(--crimson-surface);--attention-2:var(--crimson-a3);--attention-3:var(--crimson-9);--attention-4:var(--crimson-a11);--caution-icon:var(--lucide-zap-url);--caution-1:var(--amber-surface);--caution-2:var(--amber-a3);--caution-3:var(--amber-9);--caution-4:var(--amber-11);--danger-icon:var(--lucide-skull-url);--danger-1:var(--ruby-surface);--danger-2:var(--ruby-a3);--danger-3:var(--ruby-9);--danger-4:var(--ruby-a11);--error-icon:var(--lucide-close-url);--error-1:var(--red-surface);--error-2:var(--red-a3);--error-3:var(--red-9);--error-4:var(--red-a11);--hint-icon:var(--lucide-bell-url);--hint-1:var(--cyan-surface);--hint-2:var(--cyan-a3);--hint-3:var(--cyan-9);--hint-4:var(--cyan-a11);--important-icon:var(--lucide-flame-url);--important-1:var(--violet-surface);--important-2:var(--violet-a3);--important-3:var(--violet-9);--important-4:var(--violet-a11);--note-icon:var(--lucide-calendar-url);--note-1:var(--blue-surface);--note-2:var(--blue-a3);--note-3:var(--blue-9);--note-4:var(--blue-a11);--tip-icon:var(--lucide-rocket-url);--tip-1:var(--green-surface);--tip-2:var(--green-a3);--tip-3:var(--green-9);--tip-4:var(--green-a11);--warning-icon:var(--lucide-zap-url);--warning-1:var(--orange-surface);--warning-2:var(--orange-a3);--warning-3:var(--orange-9);--warning-4:var(--orange-a11);--seealso-icon:var(--lucide-link-url);--seealso-1:var(--gold-surface);--seealso-2:var(--gold-a3);--seealso-3:var(--gold-9);--seealso-4:var(--gold-a11);--todo-icon:var(--lucide-bookmark-url);--todo-1:var(--bronze-surface);--todo-2:var(--bronze-a3);--todo-3:var(--bronze-9);--todo-4:var(--bronze-a11);--versionadded-icon:var(--lucide-flame-url);--versionadded-1:var(--green-surface);--versionadded-2:var(--green-9);--versionchanged-icon:var(--lucide-zap-url);--versionchanged-1:var(--amber-surface);--versionchanged-2:var(--amber-9);--versionremoved-icon:var(--lucide-skull-url);--versionremoved-1:var(--red-surface);--versionremoved-2:var(--red-9);--deprecated-icon:var(--lucide-alert-url);--deprecated-1:var(--orange-surface);--deprecated-2:var(--orange-9)}.admonition{--icon-url:var(--lucide-bell-url);--color-1:var(--color-surface-accent);--color-2:var(--accent-a3);--color-3:var(--accent-9);--color-4:var(--accent-a11);border-left:4px solid var(--color-3);background-color:var(--color-1);flex-direction:column;margin-top:1rem;margin-bottom:1rem;padding:.825rem 1rem;display:flex;position:relative}.admonition:before{content:"";background-color:var(--color-3);border-radius:100%;width:20px;height:20px;position:absolute;top:6px;left:-12px}.admonition:after{content:"";-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;background-color:#fff;width:12px;height:12px;font-style:normal;position:absolute;top:10px;left:-8px;-webkit-mask-size:100% 100%;mask-size:100% 100%}.admonition p.admonition-title{color:var(--color-4);background-color:var(--color-2);--yue-c-code:var(--color-4);--yue-c-bold:var(--color-4);margin:-.825rem -1rem .825rem -19px;padding:4px 18px;font-size:.85rem;font-weight:600;line-height:1.72;position:relative}.admonition p.admonition-title svg{display:inline-block}.admonition.attention{--icon-url:var(--attention-icon);--color-1:var(--attention-1);--color-2:var(--attention-2);--color-3:var(--attention-3);--color-4:var(--attention-4)}.admonition.caution{--icon-url:var(--caution-icon);--color-1:var(--caution-1);--color-2:var(--caution-2);--color-3:var(--caution-3);--color-4:var(--caution-4)}.admonition.danger{--icon-url:var(--danger-icon);--color-1:var(--danger-1);--color-2:var(--danger-2);--color-3:var(--danger-3);--color-4:var(--danger-4)}.admonition.error{--icon-url:var(--error-icon);--color-1:var(--error-1);--color-2:var(--error-2);--color-3:var(--error-3);--color-4:var(--error-4)}.admonition.hint{--icon-url:var(--hint-icon);--color-1:var(--hint-1);--color-2:var(--hint-2);--color-3:var(--hint-3);--color-4:var(--hint-4)}.admonition.important{--icon-url:var(--important-icon);--color-1:var(--important-1);--color-2:var(--important-2);--color-3:var(--important-3);--color-4:var(--important-4)}.admonition.note{--icon-url:var(--note-icon);--color-1:var(--note-1);--color-2:var(--note-2);--color-3:var(--note-3);--color-4:var(--note-4)}.admonition.tip{--icon-url:var(--tip-icon);--color-1:var(--tip-1);--color-2:var(--tip-2);--color-3:var(--tip-3);--color-4:var(--tip-4)}.admonition.warning{--icon-url:var(--warning-icon);--color-1:var(--warning-1);--color-2:var(--warning-2);--color-3:var(--warning-3);--color-4:var(--warning-4)}.admonition.seealso{--icon-url:var(--seealso-icon);--color-1:var(--seealso-1);--color-2:var(--seealso-2);--color-3:var(--seealso-3);--color-4:var(--seealso-4)}.admonition.admonition-todo{--icon-url:var(--todo-icon);--color-1:var(--todo-1);--color-2:var(--todo-2);--color-3:var(--todo-3);--color-4:var(--todo-4)}.yue .admonition>*{margin-top:0;margin-bottom:1rem}.yue .admonition>:last-child{margin-bottom:0!important}span.versionmodified{color:var(--sy-c-bold);font-weight:600}div.versionadded,div.versionchanged,div.versionremoved,div.deprecated{border-left:4px solid var(--color-2);background-color:var(--color-1);margin:1rem 0;padding:6px 1rem;line-height:1.72;position:relative}div.versionadded:before,div.versionchanged:before,div.versionremoved:before,div.deprecated:before{content:"";color:#fff;background-color:var(--color-2);text-align:center;width:20px;height:20px;font:normal bold 14px/20px var(--sy-f-mono);border-radius:100%;position:absolute;top:10px;left:-12px}div.versionadded:after,div.versionchanged:after,div.versionremoved:after,div.deprecated:after{content:"";-webkit-mask:var(--icon-url)no-repeat;-webkit-mask:var(--icon-url)no-repeat;mask:var(--icon-url)no-repeat;background-color:#fff;width:12px;height:12px;font-style:normal;position:absolute;top:14px;left:-8px;-webkit-mask-size:100% 100%;mask-size:100% 100%}div.versionadded{--color-1:var(--versionadded-1);--color-2:var(--versionadded-2);--icon-url:var(--versionadded-icon)}div.versionchanged{--color-1:var(--versionchanged-1);--color-2:var(--versionchanged-2);--icon-url:var(--versionchanged-icon)}div.versionremoved{--color-1:var(--versionremoved-1);--color-2:var(--versionremoved-2);--icon-url:var(--versionremoved-icon)}div.deprecated{--color-1:var(--deprecated-1);--color-2:var(--deprecated-2);--icon-url:var(--deprecated-icon)}div.versionadded>p,div.versionchanged>p,div.versionremoved>p,div.deprecated>p{margin:0}.yue blockquote.epigraph{text-align:center;border-left:0;padding:1rem 2.4rem}.yue blockquote.highlights{background-color:var(--sy-c-surface);border-left-width:4px;padding-top:.2rem;padding-bottom:.2rem}.yue blockquote.pull-quote{border-left:0;padding:2.4rem 3.6rem 1.2rem;font-size:1.24rem;position:relative}.yue blockquote.pull-quote:before{content:"“";color:var(--yue-c-quote-symbol);font:700 4rem/1 Times New Roman,Georgia,Palatino,Times,serif;position:absolute;top:0;left:.5rem}.yue blockquote.pull-quote .attribution{text-align:right}pre.literal-block{background-color:var(--syntax-pre-bg);border-radius:6px;padding:1rem;font-size:.96rem;line-height:1.48;overflow:auto}.highlight,.literal-block-wrapper{--margin:1rem;--radius:6px}.literal-block-wrapper div[class^=highlight-]{display:flex}.literal-block-wrapper .highlight{width:100%}.highlight>pre{padding:var(--margin);font-size:.96rem;line-height:1.48;font-family:var(--sy-f-mono);background-color:var(--syntax-pre-bg);border-radius:var(--radius);overflow:auto}.win .highlight>pre{font-family:"Twemoji Country Flags",var(--sy-f-mono)}.highlight .gp,.highlight .linenos{-webkit-user-select:none;user-select:none}.highlight .linenos{box-shadow:-.05rem 0 var(--syntax-linenos-divider)inset;opacity:.6;margin-right:.8rem;padding-right:.8rem;display:inline-block}.highlight .hll{margin-left:calc(0rem - var(--margin));margin-right:calc(0rem - var(--margin));padding:0 var(--margin)}.code-block-caption{color:var(--syntax-text);background-color:var(--syntax-cap-bg);padding:.4rem var(--margin);border-radius:var(--radius)var(--radius)0 0;font-size:.84rem;font-weight:600;display:flex}.code-block-caption+div>.highlight>pre{border-top-left-radius:0;border-top-right-radius:0}div[class^=highlight]>.highlight>pre{display:grid}.yue .table-wrapper{border:1px solid var(--yue-c-table-border);border-radius:6px;width:100%;margin-top:2rem;margin-bottom:2rem;overflow-x:auto}.yue .table-wrapper table{margin:0}.yue .table-wrapper thead tr{border-top:1px solid var(--yue-c-td-border)}.yue .table-wrapper thead tr:first-child{border-top:0}.yue .table-wrapper th{background-color:var(--yue-c-th-background);border-left:1px solid var(--yue-c-td-border);padding:.725rem 1rem}.yue .table-wrapper td{border-left:1px solid var(--yue-c-td-border);padding:.5rem 1rem}.yue .table-wrapper tr>th:first-child,.yue .table-wrapper tr>td:first-child{border-left:0}.yue .table-wrapper caption{border-bottom:1px solid var(--yue-c-th-border);margin:0;padding:.5rem}.yue .table-wrapper tbody tr.row-odd{background-color:var(--yue-c-row-background)}.yue table.hlist td{vertical-align:top}.table-wrapper{scrollbar-gutter:auto;overflow-x:auto}.table-wrapper::-webkit-scrollbar{width:.75rem;height:.75rem}.table-wrapper::-webkit-scrollbar-thumb{border-radius:10px}.table-wrapper::-webkit-scrollbar-track{background-color:#0000}.table-wrapper:hover::-webkit-scrollbar-thumb{background-color:#9b9b9b33;background-clip:content-box;border:3px solid #0000}.yue table.ghost th,.yue table.ghost td{background-color:#0000;border-left:0;border-right:0}.yue table.ghost caption{border-bottom:3px solid var(--yue-c-td-border);margin-bottom:0;padding-bottom:.5rem}.yue table.ghost thead tr:first-child{border-top:0;border-bottom-width:3px}.yue .table-wrapper.ghost{border:0}:root{--sig-property:var(--syntax-keyword);--sig-name:var(--syntax-property);--sig-typehint:var(--syntax-constant);--sig-param:var(--syntax-meta)}dt.sig{text-indent:-2.4rem;border-radius:6px;padding:.25rem .5rem .25rem 3rem;font-size:.92rem;position:relative}dt.sig:after{content:"";clear:both;display:table}dt.sig:hover{background:var(--sy-c-surface)}dt.sig+dd{margin-left:2rem;font-size:.92rem}dt.sig>em.property:first-child{color:var(--sig-property)}dl.field-list{margin-top:0}dl.field-list a{font-weight:400}dt.sig+dd>div{margin-bottom:1rem}dt.sig+dd>dl.field-list>dt{text-transform:uppercase;font-size:.76rem}em.property,em.sig-param{font-style:normal}em.sig-param{color:var(--sy-c-light)}span.sig-prename,span.sig-name{color:var(--sig-name)}span.sig-name{font-weight:600}span.sig-return-icon{color:var(--sy-c-light)}span.sig-return-typehint,span.sig-return-typehint>a{color:var(--sig-typehint)}span.sig-paren,span.pre{font-family:var(--sy-f-mono)}dt.sig>a.internal{color:var(--sy-c-light);border:0;font-size:.82rem}dt.sig>a.internal:before{content:"\a ";white-space:pre}.viewcode-block{position:relative}.viewcode-back{font-size:.8rem;position:absolute;top:-1.5rem}.classifier{font-style:oblique;font-weight:400}.classifier:before{content:":";margin-left:.1rem;margin-right:.5rem;font-style:normal;display:inline-block}.yue .table-wrapper.autosummary{border-left:0;border-right:0;border-radius:0}.yue .table-wrapper table.autosummary td{border:none;padding-top:.25rem;padding-bottom:.25rem}.yue p.rubric+div.autosummary{margin-top:0}.hamburger{cursor:pointer;width:16px;height:14px;display:inline-block;position:relative;overflow:hidden}.hamburger>span{background-color:var(--sy-c-text);width:16px;height:2px;transition:top .25s,transform .25s;position:absolute;left:0}.hamburger_1{top:0}.hamburger_2{top:6px}.hamburger_3{top:12px}button[aria-expanded=true] .hamburger .hamburger_1{top:6px;transform:translate(0)rotate(225deg)}button[aria-expanded=true] .hamburger .hamburger_2{top:6px;transform:translate(18px)}button[aria-expanded=true] .hamburger .hamburger_3{top:6px;transform:translate(0)rotate(135deg)}.searchbox{position:relative}.searchbox input{appearance:none;width:100%;font-size:.92rem;font-family:var(--sy-f-text);background:var(--sy-c-surface);border-radius:6px;outline:0;padding:6px 12px}.searchbox kbd,.searchbox button{font-size:.68rem;font-weight:600;font-family:var(--sy-f-mono);border:1px solid var(--sy-c-border);background-color:var(--sy-c-background);opacity:1;border-radius:3px;margin:6px;padding:2px 6px;transition:opacity .2s;position:absolute;right:0}.searchbox input:focus+kbd{opacity:0}.searchform{align-items:center;display:flex;position:relative}.searchform input[name=q]{appearance:none;width:100%;font-size:.92rem;font-family:var(--sy-f-text);background:var(--sy-c-surface);border-radius:6px;outline:0;padding:6px 12px}.searchform input[name=q]+button{font-size:.68rem;font-weight:600;font-family:var(--sy-f-text);border:1px solid var(--sy-c-divider);background-color:var(--sy-c-background);opacity:1;border-radius:3px;margin:6px;padding:2px 6px;transition:opacity .2s;position:absolute;right:0}.search .highlighted{background-color:var(--accent-a4)}#search-results{border-top:1px solid var(--sy-c-border)}#search-results h2{margin-top:2rem;margin-bottom:.725rem}#search-results .search-summary{color:var(--sy-c-light);font-weight:500}#search-results ul.search{margin-left:0;padding-top:.625rem;padding-bottom:2rem;padding-left:0;list-style-type:none}#search-results ul.search>li{padding-left:0}#search-results ul.search>li+li{border-top:1px solid var(--sy-c-divider);padding-top:1rem}#search-results ul.search li>a{font-weight:600}#search-results ul.search p.context{margin-top:.5rem;font-size:.875rem}.demo{border:1px solid var(--sy-c-border);border-radius:6px}.demo-code .highlight>pre{border-bottom-right-radius:0;border-bottom-left-radius:0}.demo-result{padding:1rem}.container.image-1,.container.video-1{border:.5rem solid var(--accent-a3);border-radius:6px}.container.image-1>img{border-radius:4px;margin:0}.container.video-1 video,.container.video-1 iframe{border-radius:4px;width:100%;margin:0}.container.image-2,.container.video-2{border:1px solid var(--sy-c-border);border-radius:6px;padding:1rem}.container.image-2>img,.container.video-2>video{margin:0}.container.buttons{margin:2rem 0 4.2rem}.container.buttons>p{gap:1rem;display:flex}.container.buttons a{border:2px solid var(--sy-c-border);background-color:var(--sy-c-surface);border-radius:2.6rem;padding:0 2rem;font-weight:600;line-height:2.6rem;transition:all .2s;display:inline-block}.container.buttons a:first-child{color:var(--accent-contrast);background-color:var(--accent-9);border-color:var(--accent-9)}.container.buttons a:hover{color:var(--sy-c-bold);border-color:var(--accent-9);background-color:var(--sy-c-background)}.container.rounded-image img{border-radius:99999px}#ethical-ad-placement .ethical-sidebar{background-color:var(--sy-c-surface);border:none;padding:.8rem;position:relative}#ethical-ad-placement .ethical-text a{color:var(--sy-c-text)!important}#ethical-ad-placement .ethical-text a:hover{color:var(--sy-c-link-hover)!important}.sy-main #ethical-ad-placement .ethical-sidebar{max-width:380px;margin-left:0}.sy-main #ethical-ad-placement .ethical-image-link{flex-shrink:0;margin-right:.4rem}.sy-main #ethical-ad-placement .ethical-content{display:flex}.sy-main #ethical-ad-placement .ethical-text{margin-top:0}.sy-main #ethical-ad-placement .ethical-callout{position:absolute;bottom:.4rem;right:.4rem}#carbonads{background-color:var(--sy-c-surface);border:none;border-radius:8px;margin:1rem 0;padding:.8rem .8rem 1.6rem;display:block;position:relative}#carbonads a{border:0;font-weight:400}#carbonads img{margin:0}.carbon-wrap{flex-direction:column;justify-content:space-between;align-items:center;display:flex}.carbon-text{text-align:center;margin:.5rem 0;font-size:.78rem;line-height:1.42;display:block}.carbon-text:hover{color:var(--sy-c-link-hover)}.carbon-poweredby{opacity:.68;text-transform:uppercase;font-size:.68rem;position:absolute;bottom:.5rem;right:.8rem}.carbon-poweredby:hover{text-decoration:underline}.sy-main #carbonads{max-width:380px;margin-top:1.6rem;padding:1rem}.sy-main .carbon-wrap{flex-direction:row;align-items:flex-start}.sy-main .carbon-text{text-align:left;margin-top:0;margin-left:1rem;font-size:.86rem}.bsa{margin:1rem 0}.bsa a{border-bottom:none;text-decoration:none}.bsa-container{border-radius:6px;flex-flow:row;justify-content:space-between;align-items:center;padding:15px 20px;text-decoration:none;display:flex;box-shadow:inset 0 0 0 1px #0000001a}.bsa-ad-via{text-align:right}.bsa-ad-via a{background:var(--gray-a3);border:none;border-radius:2px;padding:3px 10px;font-size:10px;font-weight:300}.bsa-main{flex-flow:row;flex-grow:1;justify-content:center;align-items:center;margin:0 auto;display:flex}.bsa-img{max-height:40px;margin-right:20px;line-height:0}.yue a.bsa-container .bsa-img{margin-top:0;margin-bottom:0}.bsa-details{flex-flow:column;margin-right:20px;display:flex}.bsa-tagline{letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:600;line-height:1}.bsa-desc{letter-spacing:1px;max-width:600px;font-size:12px;font-weight:400;line-height:1.4}.bsa-cta{letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:10px 16px;font-size:10px;font-weight:600;line-height:1;transition:all .3s ease-in-out;transform:translateY(-1px)}@media (max-width:940px){.bsa-details{margin-right:0;font-size:14px}.bsa-cta{display:none}}@media (min-width:768px) and (max-width:820px){.bsa-img{display:none}}@media (max-width:480px){.bsa-img{display:none}}.repo-stats{border:1px solid var(--sy-c-divider);border-radius:6px;margin-bottom:1rem;padding:.5rem}.repo-stats:hover{background-color:var(--sy-c-surface)}.repo-stats-count{color:var(--sy-c-light)}.repo-stats strong{font-weight:500;font-family:var(--sy-f-mono);color:inherit}.edit-this-page{border-top:1px solid var(--sy-c-divider);margin:1rem 0;padding:.5rem 0;font-size:.8rem;font-weight:600}.repo-stats+.edit-this-page{border-top:0;margin-top:0;padding-top:0}.edit-this-page a{color:var(--sy-c-text)}.edit-this-page a:hover{color:var(--sy-c-link-hover)}.edit-this-page a:after{content:" →"}.back-to-top{z-index:10;background:var(--sy-c-background);border-radius:2rem;align-items:center;gap:.25rem;padding:.4rem .8rem .4rem .6rem;font-size:.8rem;display:none;position:fixed;bottom:68px;left:50%;transform:translate(-50%);box-shadow:0 .2rem .5rem #0000000d,0 0 1px #6b728080}.dark .back-to-top{background:var(--slate-2);box-shadow:0 .2rem .5rem #ffffff0d,0 0 1px #9aa4b880}.back-to-top:hover{color:var(--accent-contrast);background:var(--accent-9)}.back-to-top svg{fill:currentColor;width:1rem;height:1rem;display:inline-block}.back-to-top[data-visible=true]{display:flex}.icon-link{display:inline-block}.icon-link span{vertical-align:middle;display:inline-block}.icon-link .icon{border:1px solid var(--sy-c-border);opacity:.8;border-radius:6px;margin-right:.4rem;padding:.1rem}.icon-link svg{width:1.5rem;height:1.5rem}.icon-link:hover .icon{opacity:1}.announcement{width:100%;color:var(--sy-c-banner,var(--accent-contrast));background-color:var(--sy-c-banner-bg,var(--accent-a11));z-index:20;align-items:center;padding:.8rem 2rem;display:flex;position:sticky;top:0;left:0}.announcement a{text-decoration:underline}.announcement ::selection{color:var(--sy-c-banner,var(--accent-contrast))}.announcement-inner{width:100%}.announcement-close{position:absolute;top:.8rem;right:1rem}.sy-head{top:var(--sy-s-banner-height);height:var(--sy-s-navbar-height);z-index:20;background-color:#0000;position:sticky}.sy-head-blur{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--sand-a1);width:100%;height:100%;box-shadow:0 0 var(--sy-c-background-contrast),0 2px 4px var(--gray-a1),0 1px 0 var(--sy-c-divider);z-index:-1;position:absolute;top:0;left:0}.sy-head-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1rem);height:var(--sy-s-navbar-height);justify-content:space-between;align-items:center;display:flex}.sy-head-brand img{height:28px}.sy-head-brand img+strong,.sy-head-brand .dark-logo{display:none}.dark .sy-head-brand .dark-logo{display:inline}.dark .sy-head-brand .light-logo{display:none}.light .sy-head-brand .light-logo{display:inline}.light .sy-head-brand .dark-logo{display:none}.sy-head-links button,.sy-head-links a{white-space:nowrap;padding:.5rem;font-size:.95rem;font-weight:500}.sy-head-links .link i.external-link{opacity:.6;color:var(--sy-c-light);margin-left:2px;font-size:68%}.sy-head-links .link>ul a{white-space:normal;display:block}.sy-head-links .link>ul a:hover{background:var(--sy-c-surface);border-radius:6px}.sy-head-links .link>ul small{color:var(--sy-c-light);font-weight:400;display:block}.sy-head-socials{align-items:center;display:flex}.sy-head-socials a{align-items:center;padding:.5rem;display:flex}.sy-head-actions button{height:var(--sy-s-navbar-height);padding:0 .5rem}@media (max-width:767px){body[data-expanded*=head-nav]{overflow:hidden}.sy-head-nav{top:var(--sy-s-offset-top);box-sizing:border-box;border-top:1px solid var(--sy-c-divider);background-color:var(--sy-c-background);width:100%;padding:4rem 1.8rem 0;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sy-head-nav[aria-hidden=false]{display:block}.sy-head-links{margin-left:auto;margin-right:auto}.sy-head-links .link{margin:.5rem 0}.sy-head-links .link i.chevron{display:none}.sy-head-links .link>ul{margin:.5rem 0 .5rem 1rem}.sy-head-extra form.searchbox{position:absolute;top:1rem;left:1.8rem;right:1.8rem}.sy-head-extra{flex-direction:column;width:100%;padding:2rem 0 1rem}}@media (min-width:768px){.sy-head-inner{padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-head-nav{flex-grow:1;justify-content:space-between;align-items:center;display:flex}.sy-head-links[data-align=right]{--head-links-justify-content:flex-end}.sy-head-links[data-align=center]{--head-links-justify-content:center}.sy-head-links{white-space:nowrap;justify-content:var(--head-links-justify-content,flex-start);flex-grow:1;padding:0 1rem;display:flex;overflow:auto}.sy-head-links .link{height:var(--sy-s-navbar-height);align-items:center;display:inline-flex}.sy-head-links a:hover{color:var(--sy-c-link-hover)}.sy-head-links .link:hover>a{background-color:var(--sy-c-surface);border-radius:6px}.sy-head-links .link i.chevron-down{color:var(--sy-c-light)}.sy-head-links .link>ul{visibility:hidden;background-color:var(--sy-c-background);height:0;top:var(--sy-s-navbar-height);border:1px solid var(--sy-c-divider);box-shadow:var(--sy-dropdown-shadow);z-index:9;border-radius:6px;max-width:320px;margin-top:-10px;padding:15px;position:absolute}.sy-head-links .link>ul[aria-hidden=false],.sy-head-links .link:hover>ul{visibility:visible;height:auto}.sy-head-links .link>ul>li{padding:.2rem 0}.sy-head-socials{margin-left:.5rem}}.sy-foot{border-top:1px solid var(--sy-c-foot-divider);color:var(--sy-c-foot-text);background-color:var(--sy-c-foot-background);padding-top:1.5rem;padding-bottom:1rem}.sy-foot-inner{padding-left:max(env(safe-area-inset-right),1.5rem);padding-right:max(env(safe-area-inset-right),1.5rem)}.sy-foot-copyright{font-size:.84rem}.sy-foot-copyright a{font-weight:500}.sy-foot-copyright a:hover{text-decoration:underline}.sy-foot-socials a{color:var(--sy-c-foot-text);font-size:1.4rem}.sy-foot-socials a+a{margin-left:.5rem}.sy-foot-socials a svg{width:1.4rem;height:1.4rem;display:inline-block}.sy-lside .sidebar-links{margin-bottom:2rem}@media (min-width:768px){.sy-lside .sy-lside-inner{top:var(--sy-s-offset-top)}.sy-lside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top));overflow-x:hidden}}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 68px)}.sy-main{min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}.sy-content{max-width:64rem;min-height:calc(100vh - var(--sy-s-offset-top) - 80px)}@media (max-width:767px){#lside{z-index:18;top:var(--sy-s-offset-top);width:300px;max-width:100%;height:calc(100vh - var(---sy-s-offset-top));background:var(--sy-c-background);transition:transform .2s;position:fixed;bottom:0;left:0;overflow:auto;transform:translate(-100%)}#lside[aria-hidden=false]{transform:translate(0)}.lside-overlay{top:var(--sy-s-offset-top);background-color:var(--sy-c-overlay);opacity:0;width:0;height:0;transition:width 0 .25s,height 0 .25s,opacity .25s;position:fixed;left:0}#lside[aria-hidden=false]+.lside-overlay{opacity:1;z-index:16;width:100%;height:100%}}@media (max-width:1279px){.sy-rside{z-index:25;background:var(--sy-c-background);width:20rem;max-width:100%;box-shadow:0 0 var(--sy-c-background-contrast),-12px 0 16px var(--gray-a1);padding-top:2rem;padding-bottom:1rem;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;overflow:auto;transform:translate(110%)}#rside[aria-hidden=false]{transform:translate(0)}.rside-close{justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.4rem;display:flex;position:absolute;top:16px;right:16px}.rside-overlay{background-color:var(--sy-c-overlay);opacity:0;width:0;height:0;transition:width 0 .25s,height 0 .25s,opacity .25s;position:fixed;top:0;left:0}#rside[aria-hidden=false]+.rside-overlay{opacity:1;z-index:22;width:100%;height:100%}}@media (min-width:768px){.sy-main{width:calc(100% - 18rem);max-width:52rem}}@media (min-width:1280px){.sy-main{width:calc(100% - 34rem);max-width:none}.sy-rside .sy-scrollbar{max-height:calc(100vh - var(--sy-s-offset-top) - env(safe-area-inset-bottom))}.yue *{scroll-margin-top:calc(var(--sy-s-offset-top) + 24px)}}.nav-languages button,.nav-versions button{cursor:pointer;white-space:nowrap;background:0 0;border:0;margin:0;padding:0}.nav-versions .chevron-down{color:var(--sy-c-light)}@media (max-width:767px){.nav-versions,.nav-languages{background-color:var(--sy-c-surface);border-radius:6px;width:100%;margin-bottom:1rem;padding-bottom:.6rem}.nav-versions button,.nav-languages button{color:var(--sy-c-light);padding:.5rem 1rem;font-size:.76rem;font-weight:500}.nav-versions button>i,.nav-languages button>i{display:none}.nav-versions ul{padding:0 .6rem}.nav-versions li{padding:.2rem .4rem;display:inline-block}.nav-languages li{padding:.32rem 1rem;font-size:.94rem}}@media (min-width:768px){.nav-versions,.nav-languages{width:auto;height:var(--sy-s-navbar-height);color:var(--sy-c-text);background:0 0;align-items:center;display:flex;position:relative}.nav-languages button,.nav-versions button{border-right:1px solid var(--gray-3);padding:0 .5rem}.nav-versions-choices,.nav-languages-choices{visibility:hidden;box-sizing:border-box;background-color:var(--sy-c-background);min-width:120px;max-height:60vh;box-shadow:var(--sy-dropdown-shadow);border-radius:6px;padding:.8rem 1rem;position:absolute;top:3rem;right:-.6rem;overflow:hidden auto}.nav-versions:hover .nav-versions-choices,.nav-languages:hover .nav-languages-choices{visibility:visible}.nav-versions li,.nav-languages li{padding:.1rem 0}.nav-versions a,.nav-languages a{color:var(--sy-c-text);white-space:nowrap;padding:.2rem .6rem;display:block}.nav-versions a:hover,.nav-languages a:hover{color:var(--sy-c-link-hover);background:var(--sy-c-surface);border-radius:6px}}.sy-breadcrumbs{top:var(--sy-s-offset-top);background-color:var(--sy-c-background);z-index:5;padding:0 1.5rem;position:sticky}.sy-breadcrumbs-inner{border-bottom:1px solid var(--sy-c-divider);padding:.8rem 0}.sy-breadcrumbs ol{white-space:nowrap;font-size:.94rem;display:flex;overflow:auto}.sy-breadcrumbs button{align-items:center;display:flex}.sy-breadcrumbs ol a{color:var(--sy-c-light)}.sy-breadcrumbs ol a:hover{color:var(--sy-c-bold)}.sy-breadcrumbs ol a+span{color:var(--sy-c-light);padding:0 .4rem;font-weight:300}@media (min-width:1280px){.sy-breadcrumbs{display:none}}@media (min-width:768px){.sy-breadcrumbs-inner{padding:1.5rem 0 1rem}}.globaltoc{padding-bottom:20px}.globaltoc .caption{font-size:.86rem;font-weight:500;font-family:var(--sy-f-heading);color:var(--sy-c-light);text-transform:uppercase;letter-spacing:.4px;border-top:1px solid var(--sy-c-divider);padding:.8rem 0 .4rem}.globaltoc>p.caption:first-of-type{border-top:none;padding-top:0}.globaltoc .caption+ul{margin-bottom:1.5rem}.globaltoc ul+.caption{margin-top:2.5rem}.globaltoc li{margin:.6rem 0}.globaltoc li>ul{margin-left:.6rem;font-size:.96rem}.globaltoc li.toctree-l1>ul{border-left:1px solid var(--gray-3);margin-left:.2rem}.globaltoc li.toctree-l2{border-left:1px solid #0000;margin-left:-1px;padding-left:.9rem}.globaltoc li.toctree-l2.current{border-color:var(--sy-c-link)}.globaltoc>ul a.current{color:var(--sy-c-link);font-weight:500}.globaltoc>ul a:hover{color:var(--sy-c-link-hover)}.globaltoc a.external:after{content:"";-webkit-mask:var(--lucide-external-link-url)no-repeat;-webkit-mask:var(--lucide-external-link-url)no-repeat;mask:var(--lucide-external-link-url)no-repeat;vertical-align:middle;background-color:var(--sy-c-light);width:.825rem;height:.825rem;margin-left:.2rem;font-style:normal;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.globaltoc li{position:relative}.globaltoc li>button{border-radius:3px;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;display:flex;position:absolute;top:.2rem;right:0}.globaltoc li>button:hover{background-color:var(--sy-c-surface)}.globaltoc li.current>ul,.globaltoc li._expand>ul{display:block}.globaltoc li>ul,.globaltoc li._collapse>ul{display:none}.globaltoc li>button>i{transition:transform .2s;transform:rotate(0)}.globaltoc li.current>button>i,.globaltoc li._expand>button>i{transform:rotate(90deg)}.globaltoc li._collapse>button>i{transform:rotate(0)}.sy-deprecated{background-color:#ffdd001a;border-radius:6px;padding:.8rem;font-size:.85rem}.sy-deprecated a{color:var(--sy-c-link);text-decoration:underline}.sy-deprecated a:hover{color:var(--sy-c-link-hover)}.sy-rside-inner>div{margin-bottom:1rem}.sy-rside-inner>div>h3{letter-spacing:.4px;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem;font-weight:500}html[lang=zh] .sy-rside-inner>div>h3,html[lang=zh-TW] .sy-rside-inner>div>h3,html[lang=ja] .sy-rside-inner>div>h3,html[lang=ko] .sy-rside-inner>div>h3{letter-spacing:0;font-size:.86rem;font-weight:600}.localtoc>ul li{margin-top:.36rem;margin-bottom:.36rem}.localtoc>ul li>a:hover{color:var(--sy-c-link-hover)}.localtoc>ul li.active>a{color:var(--sy-c-link);font-weight:500}.localtoc>ul>li ul{padding-left:.8rem}.sy-rside ul.this-page-menu{margin-top:-.6rem}.sy-rside ul.this-page-menu a{font-size:.96rem}.sy-rside ul.this-page-menu a:hover{color:var(--sy-c-link-hover)}.navigation{border-top:1px solid var(--sy-c-divider);gap:2rem;margin-top:2rem;padding-top:1rem}.navigation>div{width:100%}.navigation a{align-items:center;display:inline-flex}.navigation a:hover{color:var(--sy-c-link-hover)}.navigation-next{text-align:right}.navigation-next a{justify-content:end}.navigation .page-info{padding:0 8px}.navigation .page-info>span{color:var(--sy-c-light);font-size:.8rem}:root{--readthedocs-search-font-family:var(--sy-f-text);--readthedocs-search-color:var(--sy-c-text);--readthedocs-search-input-background-color:var(--gray-3);--readthedocs-search-content-border-color:var(--gray-4);--readthedocs-search-content-background-color:var(--sy-c-background);--readthedocs-search-result-section-color:var(--sy-c-text);--readthedocs-search-result-section-subheading-color:var(--sy-c-heading);--readthedocs-search-result-section-highlight-color:var(--accent-9);--readthedocs-search-result-section-border-color:var(--sy-c-border)}.yue button.copybtn{color:var(--syntax-text);background-color:#0000;border:none;justify-content:center;align-items:center}.yue button.copybtn>svg{width:1.4rem;height:1.4rem}.yue button.copybtn:hover{color:var(--syntax-meta)}.yue .highlight button.copybtn:hover{background-color:#0000}.yue button.copybtn:after{color:var(--syntax-text);background-color:#0000}.yue button.copybtn.success{border-color:var(--green-a10);color:var(--green-a10)}.yue button.copybtn.success:after{color:var(--green-a10)}.code-block-caption+div>.highlight .copybtn{opacity:.5;top:-2em}.yue{--sd-color-primary:var(--accent-a11);--sd-color-secondary:var(--gold-a11);--sd-color-success:var(--green-a11);--sd-color-info:var(--blue-a11);--sd-color-warning:var(--orange-a11);--sd-color-danger:var(--red-a11);--sd-color-light:var(--sand-a2);--sd-color-muted:var(--gray-8);--sd-color-dark:#212122;--sd-color-black:black;--sd-color-white:white;--sd-color-primary-highlight:var(--accent-a8);--sd-color-secondary-highlight:var(--gold-a8);--sd-color-success-highlight:var(--green-a8);--sd-color-info-highlight:var(--blue-a8);--sd-color-warning-highlight:var(--orange-a8);--sd-color-danger-highlight:var(--red-a8);--sd-color-light-highlight:var(--gray-4);--sd-color-muted-highlight:var(--gray-11);--sd-color-dark-highlight:#121211;--sd-color-black-highlight:black;--sd-color-white-highlight:#d9d9d9;--sd-color-primary-text:var(--accent-contrast);--sd-color-secondary-text:var(--gold-contrast);--sd-color-success-text:var(--green-contrast);--sd-color-info-text:var(--blue-contrast);--sd-color-warning-text:var(--orange-contrast);--sd-color-danger-text:var(--red-contrast);--sd-color-light-text:var(--sy-c-text);--sd-color-muted-text:#fff;--sd-color-dark-text:#fff;--sd-color-black-text:#fff;--sd-color-white-text:#212529;--sd-color-shadow:var(--gray-1);--sd-color-card-border:var(--sy-c-border);--sd-color-card-border-hover:var(--accent-a9);--sd-color-tabs-label-inactive:var(--sy-c-bold);--sd-color-tabs-label-active:var(--sd-color-primary);--sd-color-tabs-underline-active:var(--sd-color-primary);--sd-color-tabs-label-hover:var(--accent-9);--sd-color-tabs-underline-hover:var(--accent-9)}.yue .surface{--sd-color-card-text:var(--sy-c-light);--sd-color-card-border:transparent;--sd-color-card-background:var(--sy-c-surface)}.yue a.sd-badge,.yue a.sd-badge:hover{border-bottom:0}.yue .sd-badge{border-radius:3px;font-weight:600}.yue .sd-btn{border-color:var(--sy-c-border)}.yue .sd-tab-set.outline{border:1px solid var(--sy-c-border);border-radius:4px;overflow:auto}.yue .sd-tab-set>label{padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sd-tab-set.outline>label{margin-left:1rem;padding-top:.5rem}.yue .sd-tab-set>label~label{margin-left:1rem}.yue .sd-tab-content{box-shadow:0 -.0625rem var(--sy-c-divider);padding:0}.yue .sd-tab-content .code-block-caption,.yue .sd-tab-content .highlight pre{border-radius:0}.yue .sd-card-title{color:var(--sy-c-text)}.yue .sd-card-title a{border-bottom:0}.yue .sd-card-title>svg,.yue .sd-card-title>iconify-icon{margin-right:.25rem;position:relative;top:-1px}.yue .sd-card-hover:hover{transform:scale(1)}.yue .sd-card-hover:hover .sd-card-title{color:var(--sy-c-link-hover)}.yue .sd-card a.sd-hide-link-text,.yue .sd-card a.sd-hide-link-text:hover{border-bottom:0}.yue .surface .sd-card-header,.yue .surface .sd-card-body,.yue .surface .sd-card-footer{padding-left:1.5rem;padding-right:1.5rem}.yue .surface .sd-card-header,.yue .surface .sd-card-footer{border-color:var(--sy-c-border)}@media (print){.yue .sd-card{page-break-inside:avoid}}.yue a.sd-text-wrap:hover{border-bottom-width:1px}.sphinx-tabs [role=tablist]{border-color:var(--sy-c-divider)}.yue .sphinx-tabs-tab{color:var(--sy-c-text);line-height:inherit;border:none;border-bottom:.125rem solid #0000;padding:1rem .25rem .5rem;font-size:.84rem;font-weight:500}.yue .sphinx-tabs-tab:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.yue .sphinx-tabs-tab[aria-selected=true]{border:none;border-bottom:.125rem solid var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active);background-color:#0000}.yue .sphinx-tabs-tab+.sphinx-tabs-tab{margin-left:1rem}.yue .sphinx-tabs-panel{background-color:#0000;border:none;border-radius:0;margin:0;padding:0}.yue .sphinx-tabs-panel.code-tab{padding:0}.yue .sphinx-tabs-panel.code-tab .code-block-caption,.yue .sphinx-tabs-panel.code-tab .highlight pre{border-radius:0}.yue{--jp-widgets-input-border-color:var(--gray-5);--jp-widgets-input-focus-border-color:var(--gray-8);--jp-widgets-slider-active-handle-color:var(--gray-4);--jp-widgets-slider-handle-border-color:var(--sy-c-border)}.yue .jupyter_container{background-color:var(--sy-c-background);border:3px solid var(--sy-c-border);box-shadow:none;border-radius:6px;overflow:hidden}.sy-main .yue .jupyter_container div[class^=highlight]{padding:0}.yue .jupyter_container div.highlight{background-color:var(--syntax-pre-bg)}.yue .jupyter_container div.cell_input{background-color:var(--syntax-pre-bg);border:0;border-radius:0}.yue .jupyter_container div.code_cell pre{padding:0}.jupyter_container div.cell_output .output,.jupyter_container div.cell_output .stderr,.jupyter_container div.cell_output .widget-subarea{padding:.5rem}.jupyter_container div.cell_output .stderr .stderr{padding:0}.widget-hslider .slider-container,.jupyter-widget-hslider .slider-container{align-items:center;display:flex}.widget-slider .noUi-target,.jupyter-widget-slider .noUi-target{width:100%}.jupyter_container div.code_cell .highlight>pre{padding:1rem}.jupyter_container div.code_cell .highlight .hll{margin-left:-1rem;margin-right:-1rem;padding:0 1rem}.jupyter_container div.code_cell .highlight .linenos{margin-right:.8rem}.yue .jupyter_container .stderr{color:var(--red-a11);background-color:var(--red-a3)}.yue .jupyter_container .stderr .stderr{background-color:#0000}.nbinput .highlight{--radius:1px}.yue div.nblast.container{padding-top:5px}.yue div.nbinput.container div.input_area{border-color:var(--sy-c-border)}.yue div.nboutput.container div.output_area.stderr{color:var(--red-a11);background-color:var(--red-a3)}.yue div.nboutput.container div.output_area>.math-wrapper>div.math{padding-top:0}.yue .jp-RenderedHTMLCommon thead,.yue div.rendered_html thead{border-color:var(--sy-c-border)}.yue .jp-RenderedHTMLCommon tbody tr,.yue div.rendered_html tbody tr{color:var(--sy-c-text)}.yue .jp-RenderedHTMLCommon tbody tr:nth-child(odd),.yue div.rendered_html tbody tr:nth-child(odd){background-color:var(--sy-c-surface)}.yue .jp-RenderedHTMLCommon tbody tr:hover,.yue div.rendered_html tbody tr:hover{background-color:var(--color-surface-accent)}.yue{--sg-text-color:var(--sy-c-text);--sg-background-color:var(--sy-c-background);--sg-code-background-color:var(--syntax-pre-bg);--sg-tr-hover-color:var(--accent-a3);--sg-tr-odd-color:var(--sy-c-surface);--sg-tooltip-foreground:var(--sy-c-background-contrast);--sg-tooltip-background:var(--sy-c-background);--sg-tooltip-border:var(--gray-7)transparent;--sg-thumb-box-shadow-color:var(--gray-a4);--sg-thumb-hover-border:var(--accent-a9);--sg-script-out:var(--sy-c-light);--sg-script-pre:var(--syntax-pre-bg);--sg-pytb-foreground:var(--syntax-text);--sg-pytb-background:var(--red-a2);--sg-pytb-border-color:var(--red-a8);--sg-download-a-background-color:var(--accent-a3);--sg-download-a-background-image:none;--sg-download-a-border-color:1px solid var(--accent-a3);--sg-download-a-color:var(--accent-a11);--sg-download-a-hover-background-color:var(--accent-a4);--sg-download-a-hover-box-shadow-1:transparent;--sg-download-a-hover-box-shadow-2:transparent}.yue .sphx-glr-thumbnails a,.yue .sphx-glr-download a,.yue .sphx-glr-download a:hover{border-bottom:0}.yue p.sphx-glr-signature a{border-bottom:0;border-radius:0;text-decoration:underline}.yue p.sphx-glr-signature a:hover{color:var(--sy-c-link-hover)}.yue .sphx-glr-footer img{margin:0;display:inline}html.light,html.dark{--docsearch-primary-color:var(--accent-9);--docsearch-text-color:var(--sy-c-text);--docsearch-modal-background:var(--sy-c-background);--docsearch-footer-background:var(--sy-c-surface);--docsearch-searchbox-background:var(--sy-c-surface);--docsearch-searchbox-focus-background:var(--sy-c-background);--docsearch-muted-color:var(--sy-c-light);--docsearch-hit-color:var(--sy-c-text);--docsearch-hit-background:var(--sy-c-surface);--docsearch-hit-active-color:var(--accent-contrast);--docsearch-hit-shadow:inset 0 0 1px 0 var(--gray-a11);--docsearch-container-background:var(--sy-c-overlay)}html.light{--docsearch-key-gradient:linear-gradient(-225deg,#e6e6e6,#f8f8f8);--docsearch-key-shadow:inset 0 -2px #dbdbdb,inset 0 0 1px 1px #fff,0 1px 2px 1px #50505066}html.dark{--docsearch-key-gradient:linear-gradient(-225deg,#353434,#141414);--docsearch-key-shadow:inset 0 -2px #373737,inset 0 0 1px 1px #222,0 1px 2px 1px #000;--docsearch-footer-shadow:0 -1px 0 0 #373737,0 -3px 6px 0 #141414;--docsearch-modal-shadow:inset 1px 1px 0 0 #373737,0 3px 8px 0 #141414}#docsearch .DocSearch-Button{border-radius:6px}#docsearch .DocSearch-Button-Key,#docsearch .DocSearch-Button-Placeholder{font-size:.825rem}#docsearch .DocSearch-Button-Placeholder,#docsearch .DocSearch-Button-Keys{display:flex!important}#docsearch .DocSearch-Search-Icon{width:.875rem!important;height:.875rem!important}@media (max-width:767px){#docsearch{position:absolute;top:1rem;left:1.8rem;right:1.8rem}#docsearch .DocSearch-Button{width:100%;margin-left:0}}dl.sqla dt{color:var(--sig-name);margin-bottom:.5rem}dl.sqla dt>em{color:var(--sig-param);font-style:normal;font-weight:400}dl.sqla dd>p.rubric{text-transform:uppercase;margin-top:1.5rem;font-size:.76rem}dl.sqla dd>p.rubric+.table-wrapper{border-left:0;border-right:0;border-radius:0;margin-top:.75rem}dl.sqla p.rubric+.table-wrapper th,dl.sqla p.rubric+.table-wrapper td{background-color:#0000;border-left:0;border-right:0}dl.sqla p.rubric+.table-wrapper td>p{margin:0}dl.sqla p.rubric+.table-wrapper tr.row-odd{background-color:#0000}dl.sqla p.rubric+.table-wrapper tr.row-even{background-color:var(--yue-c-row-background)}.yue details.toggle-details{background-color:var(--slate-a2);border-radius:.2em;padding:0 1rem}.yue details.toggle-details summary{border-left-color:var(--accent-a9);background-color:var(--gray-a2);margin-left:-1rem;margin-right:-1rem}.yue details.toggle-details[open] summary{border-radius:.2em .2em 0 0}.yue .toggle-details__container{margin-top:0;margin-bottom:0;padding-top:1rem;padding-bottom:1rem}.yue .toggle-details__container :first-child{margin-top:0}.yue .toggle-details__container :last-child{margin-bottom:0}.yue .admonition.toggle-hidden .admonition-title~*{margin-bottom:0!important}.sphinx-contributors{container:contributors/inline-size}.sphinx-contributors .sphinx-contributors_list__item{margin:0;padding:0}.sphinx-contributors .sphinx-contributors_contributor__username,.sphinx-contributors .sphinx-contributors_contributor__contributions{margin:0}.sphinx-contributors.sphinx-contributors--avatars .sphinx-contributors_list{justify-content:flex-start;gap:1rem;padding:0}.sphinx-contributors--avatars .sphinx-contributors_contributor__username{margin-top:.5rem}.sphinx-contributors--avatars .sphinx-contributors_contributor__contributions{font-size:.875rem}.sphinx-contributors--avatars .sphinx-contributors_contributor__contributions:before{content:"";padding:0}.sphinx-contributors--avatars .sphinx-contributors_contributor{align-items:center}@container contributors (max-width:800px){.sphinx-contributors.sphinx-contributors--avatars .sphinx-contributors_list{column-gap:0}.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:25%}}@container contributors (max-width:700px){.sphinx-contributors--avatars img.sphinx-contributors_contributor__image{width:120px}}@container contributors (max-width:600px){.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:33.33%}}@container contributors (max-width:500px){.sphinx-contributors--avatars img.sphinx-contributors_contributor__image{width:120px}}@container contributors (max-width:400px){.sphinx-contributors--avatars .sphinx-contributors_list__item{flex-basis:50%}}.yue{--xr-font-color0:var(--sy-c-heading);--xr-font-color2:var(--sy-c-text);--xr-font-color3:var(--sy-c-light);--xr-border-color:var(--sy-c-border);--xr-disabled-color:var(--gray-a6);--xr-background-color:var(--sy-c-background);--xr-background-color-row-even:var(--sy-c-background);--xr-background-color-row-odd:var(--gray-2)}.yue .xr-array-data pre{margin:0}.yue iconify-icon[data-accent-color]{color:var(--accent-9)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/docs/outputdir/html/_static/shibuya.js b/docs/outputdir/html/_static/shibuya.js deleted file mode 100644 index 43fbc13..0000000 --- a/docs/outputdir/html/_static/shibuya.js +++ /dev/null @@ -1,41 +0,0 @@ -(()=>{var Ct=Object.freeze({left:0,top:0,width:16,height:16}),M=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),O=Object.freeze({...Ct,...M}),W=Object.freeze({...O,body:"",hidden:!1}),Xt=Object.freeze({width:null,height:null}),_t=Object.freeze({...Xt,...M});function Zt(t,e=0){let n=t.replace(/^-?[0-9.]*/,"");function s(o){for(;o<0;)o+=4;return o%4}if(n===""){let o=parseInt(t);return isNaN(o)?0:s(o)}else if(n!==t){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let i=parseFloat(t.slice(0,t.length-n.length));return isNaN(i)?0:(i=i/o,i%1===0?s(i):0)}}return e}var te=/[\s,]+/;function ee(t,e){e.split(te).forEach(n=>{switch(n.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}var Lt={..._t,preserveAspectRatio:""};function dt(t){let e={...Lt},n=(s,o)=>t.getAttribute(s)||o;return e.width=n("width",null),e.height=n("height",null),e.rotate=Zt(n("rotate","")),ee(e,n("flip","")),e.preserveAspectRatio=n("preserveAspectRatio",n("preserveaspectratio","")),e}function ne(t,e){for(let n in Lt)if(t[n]!==e[n])return!0;return!1}var Et=/^[a-z0-9]+(-[a-z0-9]+)*$/,j=(t,e,n,s="")=>{let o=t.split(":");if(t.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;s=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){let r=o.pop(),a=o.pop(),l={provider:o.length>0?o[0]:s,prefix:a,name:r};return e&&!N(l)?null:l}let i=o[0],c=i.split("-");if(c.length>1){let r={provider:s,prefix:c.shift(),name:c.join("-")};return e&&!N(r)?null:r}if(n&&s===""){let r={provider:s,prefix:"",name:i};return e&&!N(r,n)?null:r}return null},N=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function oe(t,e){let n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);let s=((t.rotate||0)+(e.rotate||0))%4;return s&&(n.rotate=s),n}function ft(t,e){let n=oe(t,e);for(let s in W)s in M?s in t&&!(s in n)&&(n[s]=M[s]):s in e?n[s]=e[s]:s in t&&(n[s]=t[s]);return n}function se(t,e){let n=t.icons,s=t.aliases||Object.create(null),o=Object.create(null);function i(c){if(n[c])return o[c]=[];if(!(c in o)){o[c]=null;let r=s[c]&&s[c].parent,a=r&&i(r);a&&(o[c]=[r].concat(a))}return o[c]}return Object.keys(n).concat(Object.keys(s)).forEach(i),o}function ie(t,e,n){let s=t.icons,o=t.aliases||Object.create(null),i={};function c(r){i=ft(s[r]||o[r],i)}return c(e),n.forEach(c),ft(t,i)}function Tt(t,e){let n=[];if(typeof t!="object"||typeof t.icons!="object")return n;t.not_found instanceof Array&&t.not_found.forEach(o=>{e(o,null),n.push(o)});let s=se(t);for(let o in s){let i=s[o];i&&(e(o,ie(t,o,i)),n.push(o))}return n}var re={provider:"",aliases:{},not_found:{},...Ct};function J(t,e){for(let n in e)if(n in t&&typeof t[n]!=typeof e[n])return!1;return!0}function Ot(t){if(typeof t!="object"||t===null)return null;let e=t;if(typeof e.prefix!="string"||!t.icons||typeof t.icons!="object"||!J(t,re))return null;let n=e.icons;for(let o in n){let i=n[o];if(!o||typeof i.body!="string"||!J(i,W))return null}let s=e.aliases||Object.create(null);for(let o in s){let i=s[o],c=i.parent;if(!o||typeof c!="string"||!n[c]&&!s[c]||!J(i,W))return null}return e}var q=Object.create(null);function ce(t,e){return{provider:t,prefix:e,icons:Object.create(null),missing:new Set}}function v(t,e){let n=q[t]||(q[t]=Object.create(null));return n[e]||(n[e]=ce(t,e))}function jt(t,e){return Ot(e)?Tt(e,(n,s)=>{s?t.icons[n]=s:t.missing.add(n)}):[]}function ae(t,e,n){try{if(typeof n.body=="string")return t.icons[e]={...n},!0}catch{}return!1}function le(t,e){let n=[];return(typeof t=="string"?[t]:Object.keys(q)).forEach(o=>{(typeof o=="string"&&typeof e=="string"?[e]:Object.keys(q[o]||{})).forEach(c=>{let r=v(o,c);n=n.concat(Object.keys(r.icons).map(a=>(o!==""?"@"+o+":":"")+c+":"+a))})}),n}var E=!1;function Pt(t){return typeof t=="boolean"&&(E=t),E}function T(t){let e=typeof t=="string"?j(t,!0,E):t;if(e){let n=v(e.provider,e.prefix),s=e.name;return n.icons[s]||(n.missing.has(s)?null:void 0)}}function Nt(t,e){let n=j(t,!0,E);if(!n)return!1;let s=v(n.provider,n.prefix);return e?ae(s,n.name,e):(s.missing.add(n.name),!0)}function ht(t,e){if(typeof t!="object")return!1;if(typeof e!="string"&&(e=t.provider||""),E&&!e&&!t.prefix){let o=!1;return Ot(t)&&(t.prefix="",Tt(t,(i,c)=>{Nt(i,c)&&(o=!0)})),o}let n=t.prefix;if(!N({prefix:n,name:"a"}))return!1;let s=v(e,n);return!!jt(s,t)}function ue(t){return!!T(t)}function de(t){let e=T(t);return e&&{...O,...e}}function fe(t){let e={loaded:[],missing:[],pending:[]},n=Object.create(null);t.sort((o,i)=>o.provider!==i.provider?o.provider.localeCompare(i.provider):o.prefix!==i.prefix?o.prefix.localeCompare(i.prefix):o.name.localeCompare(i.name));let s={provider:"",prefix:"",name:""};return t.forEach(o=>{if(s.name===o.name&&s.prefix===o.prefix&&s.provider===o.provider)return;s=o;let i=o.provider,c=o.prefix,r=o.name,a=n[i]||(n[i]=Object.create(null)),l=a[c]||(a[c]=v(i,c)),u;r in l.icons?u=e.loaded:c===""||l.missing.has(r)?u=e.missing:u=e.pending;let d={provider:i,prefix:c,name:r};u.push(d)}),e}function Rt(t,e){t.forEach(n=>{let s=n.loaderCallbacks;s&&(n.loaderCallbacks=s.filter(o=>o.id!==e))})}function he(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;let e=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!e.length)return;let n=!1,s=t.provider,o=t.prefix;e.forEach(i=>{let c=i.icons,r=c.pending.length;c.pending=c.pending.filter(a=>{if(a.prefix!==o)return!0;let l=a.name;if(t.icons[l])c.loaded.push({provider:s,prefix:o,name:l});else if(t.missing.has(l))c.missing.push({provider:s,prefix:o,name:l});else return n=!0,!0;return!1}),c.pending.length!==r&&(n||Rt([t],i.id),i.callback(c.loaded.slice(0),c.missing.slice(0),c.pending.slice(0),i.abort))})}))}var pe=0;function ge(t,e,n){let s=pe++,o=Rt.bind(null,n,s);if(!e.pending.length)return o;let i={id:s,icons:e,callback:t,abort:o};return n.forEach(c=>{(c.loaderCallbacks||(c.loaderCallbacks=[])).push(i)}),o}var X=Object.create(null);function pt(t,e){X[t]=e}function Z(t){return X[t]||X[""]}function me(t,e=!0,n=!1){let s=[];return t.forEach(o=>{let i=typeof o=="string"?j(o,e,n):o;i&&s.push(i)}),s}var be={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ye(t,e,n,s){let o=t.resources.length,i=t.random?Math.floor(Math.random()*o):t.index,c;if(t.random){let h=t.resources.slice(0);for(c=[];h.length>1;){let b=Math.floor(Math.random()*h.length);c.push(h[b]),h=h.slice(0,b).concat(h.slice(b+1))}c=c.concat(h)}else c=t.resources.slice(i).concat(t.resources.slice(0,i));let r=Date.now(),a="pending",l=0,u,d=null,f=[],p=[];typeof s=="function"&&p.push(s);function I(){d&&(clearTimeout(d),d=null)}function x(){a==="pending"&&(a="aborted"),I(),f.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),f=[]}function g(h,b){b&&(p=[]),typeof h=="function"&&p.push(h)}function z(){return{startTime:r,payload:e,status:a,queriesSent:l,queriesPending:f.length,subscribe:g,abort:x}}function w(){a="failed",p.forEach(h=>{h(void 0,u)})}function y(){f.forEach(h=>{h.status==="pending"&&(h.status="aborted")}),f=[]}function m(h,b,k){let P=b!=="success";switch(f=f.filter(A=>A!==h),a){case"pending":break;case"failed":if(P||!t.dataAfterTimeout)return;break;default:return}if(b==="abort"){u=k,w();return}if(P){u=k,f.length||(c.length?G():w());return}if(I(),y(),!t.random){let A=t.resources.indexOf(h.resource);A!==-1&&A!==t.index&&(t.index=A)}a="completed",p.forEach(A=>{A(k)})}function G(){if(a!=="pending")return;I();let h=c.shift();if(h===void 0){if(f.length){d=setTimeout(()=>{I(),a==="pending"&&(y(),w())},t.timeout);return}w();return}let b={status:"pending",resource:h,callback:(k,P)=>{m(b,k,P)}};f.push(b),l++,d=setTimeout(G,t.rotate),n(h,e,b.callback)}return setTimeout(G),z}function Mt(t){let e={...be,...t},n=[];function s(){n=n.filter(r=>r().status==="pending")}function o(r,a,l){let u=ye(e,r,a,(d,f)=>{s(),l&&l(d,f)});return n.push(u),u}function i(r){return n.find(a=>r(a))||null}return{query:o,find:i,setIndex:r=>{e.index=r},getIndex:()=>e.index,cleanup:s}}function ot(t){let e;if(typeof t.resources=="string")e=[t.resources];else if(e=t.resources,!(e instanceof Array)||!e.length)return null;return{resources:e,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}var $=Object.create(null),C=["https://api.simplesvg.com","https://api.unisvg.com"],R=[];for(;C.length>0;)C.length===1||Math.random()>.5?R.push(C.shift()):R.push(C.pop());$[""]=ot({resources:["https://api.iconify.design"].concat(R)});function gt(t,e){let n=ot(e);return n===null?!1:($[t]=n,!0)}function D(t){return $[t]}function ve(){return Object.keys($)}function mt(){}var Y=Object.create(null);function Ie(t){if(!Y[t]){let e=D(t);if(!e)return;let n=Mt(e),s={config:e,redundancy:n};Y[t]=s}return Y[t]}function qt(t,e,n){let s,o;if(typeof t=="string"){let i=Z(t);if(!i)return n(void 0,424),mt;o=i.send;let c=Ie(t);c&&(s=c.redundancy)}else{let i=ot(t);if(i){s=Mt(i);let c=t.resources?t.resources[0]:"",r=Z(c);r&&(o=r.send)}}return!s||!o?(n(void 0,424),mt):s.query(e,o,n)().abort}function bt(){}function xe(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,he(t)}))}function we(t){let e=[],n=[];return t.forEach(s=>{(s.match(Et)?e:n).push(s)}),{valid:e,invalid:n}}function _(t,e,n){function s(){let o=t.pendingIcons;e.forEach(i=>{o&&o.delete(i),t.icons[i]||t.missing.add(i)})}if(n&&typeof n=="object")try{if(!jt(t,n).length){s();return}}catch(o){console.error(o)}s(),xe(t)}function yt(t,e){t instanceof Promise?t.then(n=>{e(n)}).catch(()=>{e(null)}):e(t)}function Ae(t,e){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(e).sort():t.iconsToLoad=e,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;let{provider:n,prefix:s}=t,o=t.iconsToLoad;if(delete t.iconsToLoad,!o||!o.length)return;let i=t.loadIcon;if(t.loadIcons&&(o.length>1||!i)){yt(t.loadIcons(o,s,n),u=>{_(t,o,u)});return}if(i){o.forEach(u=>{let d=i(u,s,n);yt(d,f=>{let p=f?{prefix:s,icons:{[u]:f}}:null;_(t,[u],p)})});return}let{valid:c,invalid:r}=we(o);if(r.length&&_(t,r,null),!c.length)return;let a=s.match(Et)?Z(n):null;if(!a){_(t,c,null);return}a.prepare(n,s,c).forEach(u=>{qt(n,u,d=>{_(t,u.icons,d)})})}))}var st=(t,e)=>{let n=me(t,!0,Pt()),s=fe(n);if(!s.pending.length){let a=!0;return e&&setTimeout(()=>{a&&e(s.loaded,s.missing,s.pending,bt)}),()=>{a=!1}}let o=Object.create(null),i=[],c,r;return s.pending.forEach(a=>{let{provider:l,prefix:u}=a;if(u===r&&l===c)return;c=l,r=u,i.push(v(l,u));let d=o[l]||(o[l]=Object.create(null));d[u]||(d[u]=[])}),s.pending.forEach(a=>{let{provider:l,prefix:u,name:d}=a,f=v(l,u),p=f.pendingIcons||(f.pendingIcons=new Set);p.has(d)||(p.add(d),o[l][u].push(d))}),i.forEach(a=>{let l=o[a.provider][a.prefix];l.length&&Ae(a,l)}),e?ge(e,s,i):bt},Se=t=>new Promise((e,n)=>{let s=typeof t=="string"?j(t,!0):t;if(!s){n(t);return}st([s||t],o=>{if(o.length&&s){let i=T(s);if(i){e({...O,...i});return}}n(t)})});function vt(t){try{let e=typeof t=="string"?JSON.parse(t):t;if(typeof e.body=="string")return{...e}}catch{}}function ke(t,e){if(typeof t=="object")return{data:vt(t),value:t};if(typeof t!="string")return{value:t};if(t.includes("{")){let i=vt(t);if(i)return{data:i,value:t}}let n=j(t,!0,!0);if(!n)return{value:t};let s=T(n);if(s!==void 0||!n.prefix)return{value:t,name:n,data:s};let o=st([n],()=>e(t,n,T(n)));return{value:t,name:n,loading:o}}var Ft=!1;try{Ft=navigator.vendor.indexOf("Apple")===0}catch{}function Ce(t,e){switch(e){case"svg":case"bg":case"mask":return e}return e!=="style"&&(Ft||t.indexOf("=0;){let o=t.indexOf(">",s),i=t.indexOf("",i);if(c===-1)break;n+=t.slice(o+1,i).trim(),t=t.slice(0,s).trim()+t.slice(c+1)}return{defs:n,content:t}}function Te(t,e){return t?""+t+""+e:e}function Oe(t,e,n){let s=Ee(t);return Te(s.defs,e+s.content+n)}var je=t=>t==="unset"||t==="undefined"||t==="none";function $t(t,e){let n={...O,...t},s={..._t,...e},o={left:n.left,top:n.top,width:n.width,height:n.height},i=n.body;[n,s].forEach(x=>{let g=[],z=x.hFlip,w=x.vFlip,y=x.rotate;z?w?y+=2:(g.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),g.push("scale(-1 1)"),o.top=o.left=0):w&&(g.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),g.push("scale(1 -1)"),o.top=o.left=0);let m;switch(y<0&&(y-=Math.floor(y/4)*4),y=y%4,y){case 1:m=o.height/2+o.top,g.unshift("rotate(90 "+m.toString()+" "+m.toString()+")");break;case 2:g.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:m=o.width/2+o.left,g.unshift("rotate(-90 "+m.toString()+" "+m.toString()+")");break}y%2===1&&(o.left!==o.top&&(m=o.left,o.left=o.top,o.top=m),o.width!==o.height&&(m=o.width,o.width=o.height,o.height=m)),g.length&&(i=Oe(i,'',""))});let c=s.width,r=s.height,a=o.width,l=o.height,u,d;c===null?(d=r===null?"1em":r==="auto"?l:r,u=tt(d,a/l)):(u=c==="auto"?a:c,d=r===null?tt(u,l/a):r==="auto"?l:r);let f={},p=(x,g)=>{je(g)||(f[x]=g.toString())};p("width",u),p("height",d);let I=[o.left,o.top,a,l];return f.viewBox=I.join(" "),{attributes:f,viewBox:I,body:i}}function it(t,e){let n=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let s in e)n+=" "+s+'="'+e[s]+'"';return'"+t+""}function Pe(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Ne(t){return"data:image/svg+xml,"+Pe(t)}function Dt(t){return'url("'+Ne(t)+'")'}var Re=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}},F=Re();function Me(t){F=t}function qe(){return F}function Fe(t,e){let n=D(t);if(!n)return 0;let s;if(!n.maxURL)s=0;else{let o=0;n.resources.forEach(c=>{o=Math.max(o,c.length)});let i=e+".json?icons=";s=n.maxURL-o-n.path.length-i.length}return s}function $e(t){return t===404}var De=(t,e,n)=>{let s=[],o=Fe(t,e),i="icons",c={type:i,provider:t,prefix:e,icons:[]},r=0;return n.forEach((a,l)=>{r+=a.length+1,r>=o&&l>0&&(s.push(c),c={type:i,provider:t,prefix:e,icons:[]},r=a.length),c.icons.push(a)}),s.push(c),s};function He(t){if(typeof t=="string"){let e=D(t);if(e)return e.path}return"/"}var Be=(t,e,n)=>{if(!F){n("abort",424);return}let s=He(e.provider);switch(e.type){case"icons":{let i=e.prefix,r=e.icons.join(","),a=new URLSearchParams({icons:r});s+=i+".json?"+a.toString();break}case"custom":{let i=e.uri;s+=i.slice(0,1)==="/"?i.slice(1):i;break}default:n("abort",400);return}let o=503;F(t+s).then(i=>{let c=i.status;if(c!==200){setTimeout(()=>{n($e(c)?"abort":"next",c)});return}return o=501,i.json()}).then(i=>{if(typeof i!="object"||i===null){setTimeout(()=>{i===404?n("abort",i):n("next",o)});return}setTimeout(()=>{n("success",i)})}).catch(()=>{n("next",o)})},Qe={prepare:De,send:Be};function Ue(t,e,n){v(n||"",e).loadIcons=t}function Ve(t,e,n){v(n||"",e).loadIcon=t}var K="data-style",Ht="";function ze(t){Ht=t}function It(t,e){let n=Array.from(t.childNodes).find(s=>s.hasAttribute&&s.hasAttribute(K));n||(n=document.createElement("style"),n.setAttribute(K,K),t.appendChild(n)),n.textContent=":host{display:inline-block;vertical-align:"+(e?"-0.125em":"0")+"}span,svg{display:block;margin:auto}"+Ht}function Bt(){pt("",Qe),Pt(!0);let t;try{t=window}catch{}if(t){if(t.IconifyPreload!==void 0){let n=t.IconifyPreload,s="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!ht(o))&&console.error(s)}catch{console.error(s)}})}if(t.IconifyProviders!==void 0){let n=t.IconifyProviders;if(typeof n=="object"&&n!==null)for(let s in n){let o="IconifyProviders["+s+"] is invalid.";try{let i=n[s];if(typeof i!="object"||!i||i.resources===void 0)continue;gt(s,i)||console.error(o)}catch{console.error(o)}}}}return{iconLoaded:ue,getIcon:de,listIcons:le,addIcon:Nt,addCollection:ht,calculateSize:tt,buildIcon:$t,iconToHTML:it,svgToURL:Dt,loadIcons:st,loadIcon:Se,addAPIProvider:gt,setCustomIconLoader:Ve,setCustomIconsLoader:Ue,appendCustomStyle:ze,_api:{getAPIConfig:D,setAPIModule:pt,sendAPIQuery:qt,setFetch:Me,getFetch:qe,listAPIProviders:ve}}}var et={"background-color":"currentColor"},Qt={"background-color":"transparent"},xt={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},wt={"-webkit-mask":et,mask:et,background:Qt};for(let t in wt){let e=wt[t];for(let n in xt)e[t+"-"+n]=xt[n]}function At(t){return t?t+(t.match(/^[-0-9.]+$/)?"px":""):"inherit"}function Ge(t,e,n){let s=document.createElement("span"),o=t.body;o.indexOf("");let i=t.attributes,c=it(o,{...i,width:e.width+"",height:e.height+""}),r=Dt(c),a=s.style,l={"--svg":r,width:At(i.width),height:At(i.height),...n?et:Qt};for(let u in l)a.setProperty(u,l[u]);return s}var L;function Je(){try{L=window.trustedTypes.createPolicy("iconify",{createHTML:t=>t})}catch{L=null}}function Ye(t){return L===void 0&&Je(),L?L.createHTML(t):t}function Ke(t){let e=document.createElement("span"),n=t.attributes,s="";n.width||(s="width: inherit;"),n.height||(s+="height: inherit;"),s&&(n.style=s);let o=it(t.body,n);return e.innerHTML=Ye(o),e.firstChild}function nt(t){return Array.from(t.childNodes).find(e=>{let n=e.tagName&&e.tagName.toUpperCase();return n==="SPAN"||n==="SVG"})}function St(t,e){let n=e.icon.data,s=e.customisations,o=$t(n,s);s.preserveAspectRatio&&(o.attributes.preserveAspectRatio=s.preserveAspectRatio);let i=e.renderedMode,c;switch(i){case"svg":c=Ke(o);break;default:c=Ge(o,{...O,...n},i==="mask")}let r=nt(t);r?c.tagName==="SPAN"&&r.tagName===c.tagName?r.setAttribute("style",c.getAttribute("style")):t.replaceChild(c,r):t.appendChild(c)}function kt(t,e,n){let s=n&&(n.rendered?n:n.lastRender);return{rendered:!1,inline:e,icon:t,lastRender:s}}function We(t="iconify-icon"){let e,n;try{e=window.customElements,n=window.HTMLElement}catch{return}if(!e||!n)return;let s=e.get(t);if(s)return s;let o=["icon","mode","inline","noobserver","width","height","rotate","flip"],i=class extends n{_shadowRoot;_initialised=!1;_state;_checkQueued=!1;_connected=!1;_observer=null;_visible=!0;constructor(){super();let r=this._shadowRoot=this.attachShadow({mode:"open"}),a=this.hasAttribute("inline");It(r,a),this._state=kt({value:""},a),this._queueCheck()}connectedCallback(){this._connected=!0,this.startObserver()}disconnectedCallback(){this._connected=!1,this.stopObserver()}static get observedAttributes(){return o.slice(0)}attributeChangedCallback(r){switch(r){case"inline":{let a=this.hasAttribute("inline"),l=this._state;a!==l.inline&&(l.inline=a,It(this._shadowRoot,a));break}case"noobserver":{this.hasAttribute("noobserver")?this.startObserver():this.stopObserver();break}default:this._queueCheck()}}get icon(){let r=this.getAttribute("icon");if(r&&r.slice(0,1)==="{")try{return JSON.parse(r)}catch{}return r}set icon(r){typeof r=="object"&&(r=JSON.stringify(r)),this.setAttribute("icon",r)}get inline(){return this.hasAttribute("inline")}set inline(r){r?this.setAttribute("inline","true"):this.removeAttribute("inline")}get observer(){return this.hasAttribute("observer")}set observer(r){r?this.setAttribute("observer","true"):this.removeAttribute("observer")}restartAnimation(){let r=this._state;if(r.rendered){let a=this._shadowRoot;if(r.renderedMode==="svg")try{a.lastChild.setCurrentTime(0);return}catch{}St(a,r)}}get status(){let r=this._state;return r.rendered?"rendered":r.icon.data===null?"failed":"loading"}_queueCheck(){this._checkQueued||(this._checkQueued=!0,setTimeout(()=>{this._check()}))}_check(){if(!this._checkQueued)return;this._checkQueued=!1;let r=this._state,a=this.getAttribute("icon");if(a!==r.icon.value){this._iconChanged(a);return}if(!r.rendered||!this._visible)return;let l=this.getAttribute("mode"),u=dt(this);(r.attrMode!==l||ne(r.customisations,u)||!nt(this._shadowRoot))&&this._renderIcon(r.icon,u,l)}_iconChanged(r){let a=ke(r,(l,u,d)=>{let f=this._state;if(f.rendered||this.getAttribute("icon")!==l)return;let p={value:l,name:u,data:d};p.data?this._gotIconData(p):f.icon=p});a.data?this._gotIconData(a):this._state=kt(a,this._state.inline,this._state)}_forceRender(){if(!this._visible){let r=nt(this._shadowRoot);r&&this._shadowRoot.removeChild(r);return}this._queueCheck()}_gotIconData(r){this._checkQueued=!1,this._renderIcon(r,dt(this),this.getAttribute("mode"))}_renderIcon(r,a,l){let u=Ce(r.data.body,l),d=this._state.inline;St(this._shadowRoot,this._state={rendered:!0,icon:r,inline:d,customisations:a,attrMode:l,renderedMode:u})}startObserver(){if(!this._observer&&!this.hasAttribute("noobserver"))try{this._observer=new IntersectionObserver(r=>{let a=r.some(l=>l.isIntersecting);a!==this._visible&&(this._visible=a,this._forceRender())}),this._observer.observe(this)}catch{if(this._observer){try{this._observer.disconnect()}catch{}this._observer=null}}}stopObserver(){this._observer&&(this._observer.disconnect(),this._observer=null,this._visible=!0,this._connected&&this._forceRender())}};o.forEach(r=>{r in i.prototype||Object.defineProperty(i.prototype,r,{get:function(){return this.getAttribute(r)},set:function(a){a!==null?this.setAttribute(r,a):this.removeAttribute(r)}})});let c=Bt();for(let r in c)i[r]=i.prototype[r]=c[r];return e.define(t,i),i}var Xe=We()||Bt(),{iconLoaded:hn,getIcon:pn,listIcons:gn,addIcon:mn,addCollection:bn,calculateSize:yn,buildIcon:vn,iconToHTML:In,svgToURL:xn,loadIcons:wn,loadIcon:An,setCustomIconLoader:Sn,setCustomIconsLoader:kn,addAPIProvider:Cn,_api:_n}=Xe;function Ze(t){let e=t.getAttribute("aria-controls"),n=document.getElementById(e);n&&(n.addEventListener("click",s=>{s.stopPropagation()}),t.addEventListener("click",s=>{s.stopPropagation();let o=Vt(),i=o.indexOf(e);n.getAttribute("aria-hidden")==="false"?(o.splice(i,1),document.body.setAttribute("data-expanded",o.join(" ")),n.setAttribute("aria-hidden","true"),rt(e,"false")):(o.push(e),document.body.setAttribute("data-expanded",o.join(" ")),n.setAttribute("aria-hidden","false"),rt(e,"true"))}))}function rt(t,e){let n=document.querySelectorAll('[aria-controls="'+t+'"]');for(let s=0;s{let t=Vt();document.body.setAttribute("data-expanded",""),t.forEach(e=>{document.getElementById(e).setAttribute("aria-hidden","true"),rt(e,"false")})});var H=document.querySelector(".announcement"),tn=document.querySelector(".announcement-close");if(H){let e=function(){t.textContent=`:root{--sy-s-banner-height:${H.clientHeight}px}`};en=e;let t=document.createElement("style");document.head.appendChild(t),tn.addEventListener("click",()=>{H.parentNode.removeChild(H),document.head.removeChild(t)}),e(),window.addEventListener("resize",e)}var en;var B=["auto","light","dark"],Q=document.querySelector(".js-theme");function nn(){let t=zt();t+=1,B[t]||(t=0);let e=B[t];setColorMode(e),localStorage._theme=e,Gt(e)}function zt(){return B.indexOf(document.documentElement.getAttribute("data-color-mode")||"auto")}function Gt(t){let e=Q.getAttribute("data-aria-"+t);Q.setAttribute("aria-label",e)}Q&&(Q.addEventListener("click",nn),Gt(B[zt()]||"auto"));function on(){let t=document.querySelector(".globaltoc");if(!t)return;let e=parseInt(t.getAttribute("data-expand-depth"),10),n=o=>{if(!e)return!1;let i=0;for(;o.parentNode&&o.parentNode!==t;)o=o.parentNode,o.nodeName==="UL"&&(i+=1);return e>=i};t.querySelectorAll("li > ul").forEach(o=>{let i=o.parentNode;i.classList.contains("current")||n(i)?i.classList.add("_expand"):i.classList.add("_collapse");let c=sn(o);i.appendChild(c)})}function sn(t){let e=document.createElement("button");e.innerHTML='';let n=t.parentNode,s=t.previousSibling,o=s.textContent,i=()=>{n.classList.contains("_expand")?e.setAttribute("aria-label","Collapse "+o):e.setAttribute("aria-label","Expand "+o)};i();let c=r=>{r.preventDefault(),n.classList.contains("_expand")?(n.classList.remove("_expand"),n.classList.add("_collapse")):(n.classList.remove("_collapse"),n.classList.add("_expand")),i()};return s.getAttribute("href")==="#"&&s.addEventListener("click",c),e.addEventListener("click",c),e}var ct=document.querySelector(".globaltoc a.current");ct&&ct.scrollIntoViewIfNeeded&&ct.scrollIntoViewIfNeeded();on();var Jt=0,at=200,U=document.querySelectorAll(".yue > section section[id]"),S=document.querySelector(".back-to-top");function Yt(){let t=document.querySelector(".yue > section");t&&(at=t.computedStyleMap().get("scroll-margin-top").value)}function rn(t){let e=t.getBoundingClientRect();return e.top<=at&&e.bottom>=at}function Kt(t){document.querySelectorAll(".localtoc li.active").forEach(e=>{e.classList.remove("active")}),document.querySelector(`.localtoc a[href="#${t}"]`).parentNode.classList.add("active")}function Wt(){let t;for(let e=0;e=document.body.offsetHeight){let t=U[U.length-1];t&&Kt(t.id)}else Wt();S&&(window.scrollY&&window.scrollY{window.scrollTo(0,0)});document.querySelector(".localtoc")&&(window.addEventListener("scroll",cn),window.addEventListener("DOMContentLoaded",()=>{Yt(),Wt()}),window.addEventListener("resize",Yt));var V=document.querySelector(".js-repo-stats");async function an(t,e){let n=`https://api.github.com/repos/${t}/${e}`,o=await(await fetch(n)).json(),i={stars:o.watchers,forks:o.forks};lt(i),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(i))}async function ln(t,e){let n="https://gitlab.com/api/v4/projects/"+encodeURIComponent(t+"/"+e),o=await(await fetch(n)).json(),i={stars:o.star_count,forks:o.forks_count};lt(i),sessionStorage.setItem("_sy/repo/stats",JSON.stringify(i))}function lt({stars:t,forks:e}){t&&(document.querySelector(".js-repo-stars").textContent=t),e&&(document.querySelector(".js-repo-forks").textContent=e)}function un(){let t=sessionStorage.getItem("_sy/repo/stats");if(t)lt(JSON.parse(t));else{let e=V.getAttribute("data-user"),n=V.getAttribute("data-repo"),s=V.getAttribute("data-type");s==="github"?an(e,n):s==="gitlab"&&ln(e,n)}}V&&un();function dn(t,e){let n=document.createElement("script");n.id="_carbonads_js",n.src=`//cdn.carbonads.com/carbon.js?serve=${t}&placement=${e}`;let s=document.querySelector(".yue > section"),o=document.querySelector(".yue > section > section");if(o)s.insertBefore(n,o);else{let i=document.querySelector(".yue > section > p");i?s.insertBefore(n,i.nextSibling):s.appendChild(n)}}var ut=document.querySelector(".js-carbon");if(ut){let t=ut.getAttribute("data-carbon-code"),e=ut.getAttribute("data-carbon-placement");t&&e&&dn(t,e)}var fn=` -:host > div .results .hit h2 { - color: var(--sy-c-heading); - margin-bottom: 0; - border-bottom: 0; - font-weight: 600; -} -:host > div .results .hit .hit-block .content { - color: var(--sy-c-text); -} -:host > div .results .hit-block a.hit:hover, :host > div .results .hit-block .hit.active { - background-color: var(--gray-5); - border-radius: 4px; -} - -:host > div div.hit-block a.hit-block-heading:hover { - text-decoration: underline; -} - -:host > div div.hit-block a.hit-block-heading i, -:host > div div.hit-block .hit-block-heading-container .close-icon { - color: var(--sy-c-light); - margin-bottom: 0; - display: flex; -} -`;document.addEventListener("readthedocs-addons-data-ready",function(t){document.querySelector(".searchbox input").addEventListener("focusin",()=>{let e=new CustomEvent("readthedocs-search-show");document.dispatchEvent(e)}),setTimeout(()=>{let e=document.querySelector("readthedocs-search");if(e){let n=document.createElement("style");n.textContent=fn,e.shadowRoot.appendChild(n)}},1e3)});/windows/i.test(navigator.userAgent)&&document.body.classList.add("win");})(); -/*! Bundled license information: - -iconify-icon/dist/iconify-icon.mjs: - (** - * (c) Iconify - * - * For the full copyright and license information, please view the license.txt - * files at https://github.com/iconify/iconify - * - * Licensed under MIT. - * - * @license MIT - * @version 3.0.0 - *) -*/ diff --git a/docs/outputdir/html/_static/sphinx_highlight.js b/docs/outputdir/html/_static/sphinx_highlight.js deleted file mode 100644 index 8a96c69..0000000 --- a/docs/outputdir/html/_static/sphinx_highlight.js +++ /dev/null @@ -1,154 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - const rest = document.createTextNode(val.substr(pos + text.length)); - parent.insertBefore( - span, - parent.insertBefore( - rest, - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - /* There may be more occurrences of search term in this node. So call this - * function recursively on the remaining fragment. - */ - _highlight(rest, addItems, text, className); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(() => { - /* Do not call highlightSearchWords() when we are on the search page. - * It will highlight words from the *previous* search query. - */ - if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); - SphinxHighlight.initEscapeListener(); -}); diff --git a/docs/outputdir/html/genindex.html b/docs/outputdir/html/genindex.html deleted file mode 100644 index f5b1e67..0000000 --- a/docs/outputdir/html/genindex.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - Index - PyAwaitable documentation - - - - - - - -
-
-
- - - - PyAwaitable - -
- -
-
-
-
-
-
-
-
- - -

Index

- -
- -
- - -
- -
-
- - - - - \ No newline at end of file diff --git a/docs/outputdir/html/index.html b/docs/outputdir/html/index.html deleted file mode 100644 index 6f431b0..0000000 --- a/docs/outputdir/html/index.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - PyAwaitable documentation - - - - - - - - - -
-
-
- - - - PyAwaitable - -
- -
-
-
-
-
-
-
- - - - -
-
-
-
-
-

PyAwaitable documentation¶

-

Add your content using reStructuredText syntax. See the -reStructuredText -documentation for details.

-
-
-
- -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/outputdir/html/objects.inv b/docs/outputdir/html/objects.inv deleted file mode 100644 index efdd6f9e933601bd00a9bb6a61d22fb4dd92ddb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmY#Z2rkIT%&Sny%qvUHE6FdaR47X=D$dN$Q!wIERtPA{&q_@$u~G=AbSzKIEJ;kt zNd*drL6lf20NEiKsR~7@xrv#1DXB#Y`DqFz8JWcjX_+~x3P3tJKewPLwYWGnMWM7f zGcR4CDkn2ZkE`OAxBuDGXS_Yv259JcZan4b<8?Ohf@z3Hd)KSfDNmkhR5ZLm6kX|U3k=d07a)_-2eap diff --git a/docs/outputdir/html/search.html b/docs/outputdir/html/search.html deleted file mode 100644 index 3398875..0000000 --- a/docs/outputdir/html/search.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - Search - PyAwaitable documentation - - - - - - - - - - - -
-
-
- - - - PyAwaitable - -
- -
-
-
-
-
-
-
-
- -

Search

- - - - -

- Searching for multiple words only shows matches that contain - all words. -

- - -
- - -
-

- - -
- - -
- -
-
- - - - - - - - \ No newline at end of file diff --git a/docs/outputdir/html/searchindex.js b/docs/outputdir/html/searchindex.js deleted file mode 100644 index c292952..0000000 --- a/docs/outputdir/html/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({"alltitles":{"PyAwaitable documentation":[[0,null]]},"docnames":["index"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"add":0,"content":0,"detail":0,"restructuredtext":0,"see":0,"syntax":0,"us":0,"your":0},"titles":["PyAwaitable documentation"],"titleterms":{"document":0,"pyawait":0}}) \ No newline at end of file From 1d986e41cb35b5ba6df65b3e9b0d6116f25727aa Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sat, 16 Aug 2025 11:46:35 -0400 Subject: [PATCH 04/13] More Sphinx configuration. --- docs/index.rst | 5 +++++ docs/reference.rst | 0 docs/{ => usage}/adding_awaits.rst | 0 docs/{ => usage}/c_async.rst | 0 docs/{ => usage}/value_storage.rst | 0 5 files changed, 5 insertions(+) create mode 100644 docs/reference.rst rename docs/{ => usage}/adding_awaits.rst (100%) rename docs/{ => usage}/c_async.rst (100%) rename docs/{ => usage}/value_storage.rst (100%) diff --git a/docs/index.rst b/docs/index.rst index 615c52d..21c170d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,3 +15,8 @@ documentation for details. :maxdepth: 2 :caption: Contents: + installation + usage/c_async + usage/adding_awaits + usage/value_storage + reference diff --git a/docs/reference.rst b/docs/reference.rst new file mode 100644 index 0000000..e69de29 diff --git a/docs/adding_awaits.rst b/docs/usage/adding_awaits.rst similarity index 100% rename from docs/adding_awaits.rst rename to docs/usage/adding_awaits.rst diff --git a/docs/c_async.rst b/docs/usage/c_async.rst similarity index 100% rename from docs/c_async.rst rename to docs/usage/c_async.rst diff --git a/docs/value_storage.rst b/docs/usage/value_storage.rst similarity index 100% rename from docs/value_storage.rst rename to docs/usage/value_storage.rst From 657591b627b199766170fc6b45709555ab7a4bd0 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sat, 16 Aug 2025 12:12:50 -0400 Subject: [PATCH 05/13] Convert a page to reST. --- .gitignore | 1 + docs/conf.py | 3 +- docs/index.rst | 3 - docs/reference.rst | 4 + docs/usage/adding_awaits.rst | 451 ++++++++++++++++++++--------------- 5 files changed, 263 insertions(+), 199 deletions(-) diff --git a/.gitignore b/.gitignore index a23cbf9..1c15be0 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ src/pyawaitable/pyawaitable.h pcbuild/ *.o site/ +_build/ # LSP compile_flags.txt diff --git a/docs/conf.py b/docs/conf.py index b8ac351..86abf39 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,10 +13,11 @@ # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration -extensions = [] +extensions = ["sphinx.ext.intersphinx"] templates_path = ['_templates'] exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +intersphinx_mapping = {'python': ('https://docs.python.org/3', None)} diff --git a/docs/index.rst b/docs/index.rst index 21c170d..36acc94 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,8 +15,5 @@ documentation for details. :maxdepth: 2 :caption: Contents: - installation - usage/c_async usage/adding_awaits - usage/value_storage reference diff --git a/docs/reference.rst b/docs/reference.rst index e69de29..fc5361e 100644 --- a/docs/reference.rst +++ b/docs/reference.rst @@ -0,0 +1,4 @@ +Reference +========= + +Hello, Sphinx! diff --git a/docs/usage/adding_awaits.rst b/docs/usage/adding_awaits.rst index 2c361cd..68e2dfc 100644 --- a/docs/usage/adding_awaits.rst +++ b/docs/usage/adding_awaits.rst @@ -1,280 +1,341 @@ -# Executing Asynchronous Calls from C +Executing Asynchronous Calls from C +=================================== Let's say we wanted to replicate the following in C: -```py -async def trampoline(coro: collections.abc.Coroutine) -> int: - return await coro -``` +.. code-block:: py -This is simply a function that we pass a coroutine to, and it will await it for us. It's not particularly useful, but it's just for learning purposes. + async def trampoline(coro: collections.abc.Coroutine) -> int: + return await coro -We already know that `trampoline()` will evaluate to a magic coroutine object that supports `await`, via the `__await__` dunder, and needs to `yield from` its coroutines. So, if we wanted to break `trampoline` down into a synchronous Python function, it would look something like this: +This is simply a function that we pass a coroutine to, and it will await it for +us. It's not particularly useful, but it's just for learning purposes. -```py -class _trampoline_coroutine: - def __init__(self, coro: collections.abc.Coroutine) -> None: - self.coro = coro +We already know that ``trampoline()`` will evaluate to a magic coroutine object +that supports :py:keyword:`await`, via the :py:attr:`~object.__await__` dunder, +and needs to :py:ref:`yield from ` its coroutines. So, if we wanted +to break ``trampoline()`` down into a synchronous Python function, it would look +something like this: - def __await__(self) -> collections.abc.Generator: - yield - yield from self.coro.__await__() +.. code-block:: py -def trampoline(coro: collections.abc.Coroutine) -> collections.abc.Coroutine: - return _trampoline_coroutine(coro) -``` + class _trampoline_coroutine: + def __init__(self, coro: collections.abc.Coroutine) -> None: + self.coro = coro -But, this is using `yield from`; there's no `yield from` in C, so how do we actually await things, or more importantly, use their return value? This is where things get tricky. + def __await__(self) -> collections.abc.Generator: + yield + yield from self.coro.__await__() -## Adding Awaits to a PyAwaitable Object + def trampoline(coro: collections.abc.Coroutine) -> collections.abc.Coroutine: + return _trampoline_coroutine(coro) -There's one big function for "adding" coroutines to a PyAwaitable object: `PyAwaitable_AddAwait`. By "add," we mean that the asynchronous call won't happen right then and there. Instead, the PyAwaitable will store it, and then when something comes to call the `__await__` on the PyAwaitable object, it will mimick a `yield from` on that coroutine. +But, this is using ``yield from``; there's no ``yield from`` in C, so how do we +actually await things, or more importantly, use their return value? This is +where things get tricky. -`PyAwaitable_AddAwait` takes four arguments: +Adding Awaits to a PyAwaitable Object +------------------------------------- + +There's one big function for "adding" coroutines to a PyAwaitable object: +:c:func:`PyAwaitable_AddAwait`. By "add", we mean that the asynchronous +call won't happen right then and there. Instead, the PyAwaitable will +store it, and then when something comes to call the :py:attr:`~object.__await__` +on the PyAwaitable object, it will mimick a :py:ref:`yield from ` +on that coroutine. + +:c:func:`PyAwaitable_AddAwait` takes four arguments: - The PyAwaitable object. -- The _coroutine_ to store. (Not an `async def` function, but the result of calling one without `await`.) +- The coroutine to store. (Not an `async def` function, but the result of + calling one without :py:keyword:`await`.) - A callback. - An error callback. -Let's focus on the first two for now, and just pass `NULL` for the other two in the meantime. We can implement `trampoline` from our earlier example pretty easily: +Let's focus on the first two for now, and just pass ``NULL`` for the other +two in the meantime. We can implement ``trampoline()`` from our earlier +example pretty easily: -```c -static PyObject * -trampoline(PyObject *self, PyObject *coro) // METH_O -{ - PyObject *awaitable = PyAwaitable_New(); - if (awaitable == NULL) { - return NULL; - } +.. code-block:: c - if (PyAwaitable_AddAwait(awaitable, coro, NULL, NULL) < 0) { - Py_DECREF(awaitable); - return NULL; + static PyObject * + trampoline(PyObject *self, PyObject *coro) // METH_O + { + PyObject *awaitable = PyAwaitable_New(); + if (awaitable == NULL) { + return NULL; + } + + if (PyAwaitable_AddAwait(awaitable, coro, NULL, NULL) < 0) { + Py_DECREF(awaitable); + return NULL; + } + + return awaitable; } - return awaitable; -} -``` +To your eyes, the ``yield from`` and all of that mess is completely +hidden; you give PyAwaitable your coroutine, and it handles the rest! +``trampoline()`` now acts like our pure-Python function from earlier: -To your eyes, the `yield from` and all of that mess is completely hidden; you give PyAwaitable your coroutine, and it handles the rest! `trampoline` now acts like our pure-Python function from earlier: +.. code-block:: pycon -```py ->>> from _yourmod import trampoline ->>> import asyncio ->>> await trampoline(asyncio.sleep(2)) # Sleeps for 2 seconds -``` + >>> from _yourmod import trampoline + >>> import asyncio + >>> await trampoline(asyncio.sleep(2)) # Sleeps for 2 seconds Yay! We called an asynchronous function from C! -## Getting the Return Value in a Callback +Getting the Return Value in a Callback +-------------------------------------- -In many cases, it's desirable to use the return value of a coroutine. For example, let's say we wanted to get the result of the following asynchronous function: +In many cases, it's desirable to use the return value of a coroutine. +For example, let's say we wanted to get the result of the following +asynchronous function: -```py -async def silly() -> int: - await asyncio.sleep(2) # Simulate doing some I/O work - return 42 -``` +.. code-block:: py -The details of how coroutines return values aren't relevant, but we do know that a coroutine isn't actually "awaited" until _after_ we've already returned our PyAwaitable object from C. That means we have to use a callback to get the return value of the coroutine. + async def silly() -> int: + await asyncio.sleep(2) # Simulate doing some I/O work + return 42 -Specifically, we can pass a function pointer to the third parameter of `PyAwaitable_AddAwait`. A callback function takes two `PyObject *` parameters: +The details of how coroutines return values aren't relevant, but we do know +that a coroutine isn't actually "awaited" until after we've already returned +our PyAwaitable object from C. That means we have to use a callback to get the +return value of the coroutine. -- A _borrowed_ reference to the PyAwaitable object that called it. -- A _borrowed_ reference to the return value of the coroutine. +Specifically, we can pass a function pointer to the third parameter of +:c:func:`PyAwaitable_AddAwait`. A callback function takes two +:c:type:`PyObject * ` parameters: -A callback must return `0` to indicate success, or `-1` with an exception set to indicate failure. +- A reference to the PyAwaitable object that called it. +- A reference to the return value of the coroutine. -Now, we can use the result of `silly` in C: +A callback must return ``0`` to indicate success, or ``-1`` with an exception set to indicate failure. -```c -static int -callback(PyObject *awaitable, PyObject *value) -{ - if (PyAwaitable_SetResult(awaitable, value) < 0) { - return -1; - } +Now, we can use the result of ``silly()`` in C: - return 0; -} +.. code-block:: c -static PyObject * -call_silly(PyObject *self, PyObject *silly) -{ - PyObject *awaitable = PyAwaitable_New(); - if (awaitable == NULL) { - return NULL; - } + static int + callback(PyObject *awaitable, PyObject *value) + { + if (PyAwaitable_SetResult(awaitable, value) < 0) { + return -1; + } - // Get the coroutine by calling silly() - PyObject *coro = PyObject_CallNoArgs(silly); - if (coro == NULL) { - Py_DECREF(awaitable); - return NULL; + return 0; } - if (PyAwaitable_AddAwait(awaitable, coro, callback, NULL) < 0) { - Py_DECREF(awaitable); + static PyObject * + call_silly(PyObject *self, PyObject *silly) + { + PyObject *awaitable = PyAwaitable_New(); + if (awaitable == NULL) { + return NULL; + } + + // Get the coroutine by calling silly() + PyObject *coro = PyObject_CallNoArgs(silly); + if (coro == NULL) { + Py_DECREF(awaitable); + return NULL; + } + + if (PyAwaitable_AddAwait(awaitable, coro, callback, NULL) < 0) { + Py_DECREF(awaitable); + Py_DECREF(coro); + return NULL; + } + Py_DECREF(coro); - return NULL; + return awaitable; } - Py_DECREF(coro); - return awaitable; -} -``` - This can be used from Python as such: -```py ->>> from _yourmod import call_silly ->>> await call_silly(silly) # Sleeps for 2 seconds -silly() returned: 42 -``` +.. code-block:: pycon + + >>> from _yourmod import call_silly + >>> await call_silly(silly) # Sleeps for 2 seconds + silly() returned: 42 + -## Handling Errors with Callbacks +Handling Errors with Callbacks +------------------------------ -Coroutines can raise exceptions, during execution. For example, imagine we wanted to use a function that makes a network request: +Coroutines can raise exceptions, during execution. For example, imagine we +wanted to use a function that makes a network request: -```py -import asyncio +.. code-block:: py + import asyncio -async def make_request() -> str: - async with asyncio.timeout(5): - await asyncio.sleep(10) # Simulate some I/O - return "..." -``` -The above will raise `TimeoutError`, but not on simply calling `make_request()`; it will only raise once it's actually started executing in an `await`, and as we already know that coroutines don't execute at the `PyAwaitable_AddAwait` callsite, we can't simply check for errors there. So, similar to return value callbacks, PyAwaitable provides error callbacks, which--you guessed it--is the fourth argument to `PyAwaitable_AddAwait`. + async def make_request() -> str: + async with asyncio.timeout(5): + await asyncio.sleep(10) # Simulate some I/O + return "..." -An error callback has the same signature as a return value callback, but instead of taking a reference to a return value, it takes a borrowed reference to an exception object that was caught and raised by either the coroutine or the coroutine's callback. +The above will raise :py:exc:`TimeoutError`, but not on simply calling +``make_request()``; it will only raise once it's actually started executing +in an :py:keyword:`await`, and as we already know that coroutines don't execute +at the :c:func:`PyAwaitable_AddAwait` callsite, we can't simply check for +errors there. So, similar to return value callbacks, PyAwaitable provides error +callbacks, which--you guessed it--is the fourth argument to ``PyAwaitable_AddAwait``. -!!! note +An error callback has the same signature as a return value callback, but instead +of taking a reference to a return value, it takes a reference to an exception +object that was caught and raised by either the coroutine or the coroutine's +callback. - Error callbacks are *not* called with an exception "set" (*i.e.*, `PyErr_Occurred()` returns `NULL`), so it's safe to call most of Python's C API without worrying about those kinds of failures. +.. note:: -An error callback's return value can do a number of different things to the state of the PyAwaitable object's exception. Namely: + Error callbacks are *not* called with an exception "set" + (so :c:func:`PyErr_Occurred()` returns ``NULL``), so it's safe to call + most of Python's C API without worrying about those kinds of failures. -- Returning `0` will consider the error successfully caught, so PyAwaitable object will clear the exception and continue executing the rest of its coroutine. -- Returning `-1` indicates that the error should be repropagated. The PyAwaitable object will officially "set" the Python exception (via `PyErr_SetRaisedException`), raise the error to the event loop and stop itself from executing any future coroutines. -- Returning `-2` indicates that a new error occurred while handling the other one; the original exception is _not_ restored, and an exception set by the error callback is used instead and propagated to the event loop. +An error callback's return value can do a number of different things to the +state of the PyAwaitable object's exception. Namely: -!!! note +- Returning ``0`` will consider the error successfully caught, so + the PyAwaitable object will clear the exception and continue + executing the rest of its coroutine. +- Returning ``-1`` indicates that the error should be repropagated. + The PyAwaitable object will officially "set" the Python exception + (via :c:func:`PyErr_SetRaisedException`), raise the error to the + event loop and stop itself from executing any future coroutines. +- Returning ``-2`` indicates that a new error occurred while handling + the other one; the original exception is _not_ restored, and an exception + set by the error callback is used instead and propagated to the event loop. + +.. note:: Return value callbacks are not called if an exception occurred while executing the coroutine. -To try and give a real-world example of all three of these, let's implement the following function in C: +To try and give a real-world example of all three of these, let's implement +the following function in C: + +.. code-block:: py -```py -async def is_api_reachable(make_request: Callable[[], collections.abc.Coroutine]) -> bool: - try: - await make_request() - return True - except TimeoutError: - return False -``` + async def is_api_reachable(make_request: Callable[[], collections.abc.Coroutine]) -> bool: + try: + await make_request() + return True + except TimeoutError: + return False -!!! note +.. note:: - `asyncio.TimeoutError` is an alias of the `TimeoutError` builtin. + :py:exc:`asyncio.TimeoutError` is an alias of the built-in + :py:exc:`TimeoutError` exception. We have to do several things here: -- Call `make_request` to get the coroutine object to `await`. +- Call ``make_request()`` to get the coroutine object to :py:keyword:`await`. - Add an error callback for that coroutine. -- In a return value callback, set the return value to `True`, because that means the operation didn't time out. -- In an error callback, check if the exception is an instance of `TimeoutError`, and set the return value to `False` if it is. -- If its something other than `TimeoutError`, let it propagate. +- In a return value callback, set the return value to ``True`` (or really, + :c:data:`Py_True`), because that means the operation didn't time out. +- In an error callback, check if the exception is an instance of + :py:exc:`TimeoutError`, and set the return value to ``False`` if it is. +- If it's something other than ``TimeoutError``, let it propagate. In C, all that would be implemented like this: -```c -static int -return_true(PyObject *awaitable, PyObject *unused) -{ - return PyAwaitable_SetResult(awaitable, Py_True); -} - -static int -return_false(PyObject *awaitable, PyObject *exc) -{ - if (PyErr_GivenExceptionMatches(exc, PyExc_TimeoutError)) { - if (PyAwaitable_SetResult(exc, Py_False) < 0) { - // New exception occurred; give it to the event loop. - return -2; - } +.. code-block:: c - return 0; - } else { - // This isn't a TimeoutError! - return -1; - } -} - -static PyObject * -is_api_reachable(PyObject *self, PyObject *make_request) -{ - PyObject *awaitable = PyAwaitable_New(); - if (awaitable == NULL) { - return NULL; + static int + return_true(PyObject *awaitable, PyObject *unused) + { + return PyAwaitable_SetResult(awaitable, Py_True); } - // Remember, this isn't the same as executing the coroutine, so - // the timeout doesn't show up here. But, we still need to handle - // an exception case, because something might have gone wrong - // in getting the coroutine object, e.g., the object isn't callable - // or we're out of memory. - PyObject *coro = PyObject_CallNoArgs(make_request); - if (coro == NULL) { - Py_DECREF(awaitable); - return NULL; + static int + return_false(PyObject *awaitable, PyObject *exc) + { + if (PyErr_GivenExceptionMatches(exc, PyExc_TimeoutError)) { + if (PyAwaitable_SetResult(exc, Py_False) < 0) { + // New exception occurred; give it to the event loop. + return -2; + } + + return 0; + } else { + // This isn't a TimeoutError! + return -1; + } } - if (PyAwaitable_AddAwait(awaitable, coro, return_true, return_false)) { - Py_DECREF(awaitable); + static PyObject * + is_api_reachable(PyObject *self, PyObject *make_request) + { + PyObject *awaitable = PyAwaitable_New(); + if (awaitable == NULL) { + return NULL; + } + + // Remember, this isn't the same as executing the coroutine, so + // the timeout doesn't show up here. But, we still need to handle + // an exception case, because something might have gone wrong + // in getting the coroutine object, e.g., the object isn't callable + // or we're out of memory. + PyObject *coro = PyObject_CallNoArgs(make_request); + if (coro == NULL) { + Py_DECREF(awaitable); + return NULL; + } + + if (PyAwaitable_AddAwait(awaitable, coro, return_true, return_false)) { + Py_DECREF(awaitable); + Py_DECREF(coro); + return NULL; + } + Py_DECREF(coro); - return NULL; + return awaitable; } - Py_DECREF(coro); - return awaitable; -} -``` +Propagation of Errors in Return Value Callbacks +----------------------------------------------- -### Propagation of Errors in Return Value Callbacks +By default, returning ``-1`` from a return value callback will implicitly +call the error callback if one is set. But, this isn't always desirable; +sometimes, you want to let errors in callbacks bubble up instead of +getting handled by some default error handling mechanism you've installed. -By default, returning `-1` from a return value callback will implicitly call the error callback if one is set. But, this isn't always desirable; sometimes, you want to let errors in callbacks bubble up instead of getting handled by some default error handling mechanism you've installed. +You can force the PyAwaitable object to propagate the exception by returning +``-2`` from a return value callback. If ``-2`` is returned, the exception set +by the callback will always be raised back to whoever awaited the PyAwaitable +object. -You can force the PyAwaitable object to propagate the exception by returning `-2` from a return value callback. If `-2` is returned, the exception set by the callback will always be raised back to whoever `await`ed the PyAwaitable object. +For example, if we installed some global exception logger inside of the error +callback, but don't want that to grab things like a :py:exc:`MemoryError` inside +of the return callback, we would return ``-2``: -For example, if we installed some global exception logger inside of the error callback, but don't want that to grab things like a `MemoryError` inside of the return callback, we would return `-2`: +.. code-block:: c -```c -static int -error_handler(PyObject *awaitable, PyObject *error) -{ - // Simply print the error and continue execution - PyErr_SetRaisedException(Py_NewRef(error)); - PyErr_Print(); - return 0; -} - -static int -handle_value(PyObject *awaitable, PyObject *something) -{ - PyObject *message = PyUnicode_FromString("LOG: Got value"); - if (message == NULL) { - // Skip the error callback - return -2; + static int + error_handler(PyObject *awaitable, PyObject *error) + { + // Simply print the error and continue execution + PyErr_SetRaisedException(Py_NewRef(error)); + PyErr_Print(); + return 0; } - if (magically_log_value(message, something) < 0) { - // Skip the error callback - return -2; - } + static int + handle_value(PyObject *awaitable, PyObject *something) + { + PyObject *message = PyUnicode_FromString("LOG: Got value"); + if (message == NULL) { + // Skip the error callback + return -2; + } - return 0; -} -``` + if (magically_log_value(message, something) < 0) { + // Skip the error callback + return -2; + } + + return 0; + } From 3c93b5655ef2ece657475cbece629e199c64d65b Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sat, 16 Aug 2025 12:31:21 -0400 Subject: [PATCH 06/13] Document PyAwaitable_AddAwait() in the reference documentation. --- docs/reference.rst | 45 +++++++++++++++++++++++++++++++++++- docs/usage/adding_awaits.rst | 5 ++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/docs/reference.rst b/docs/reference.rst index fc5361e..690623c 100644 --- a/docs/reference.rst +++ b/docs/reference.rst @@ -1,4 +1,47 @@ Reference ========= -Hello, Sphinx! +.. c:type:: int (*PyAwaitable_Callback)(PyObject *awaitable, PyObject *result) + + The type of a result callback, as submitted in :c:func:`PyAwaitable_AddAwait`. + + This takes two :c:type:`PyObject * ` references: an instance of + a PyAwaitable object, and the return value of the awaited coroutine. + + There are three possible return values: + + 1. ``0``: OK. + 2. ``-1``: Error, fall to the error callback registered alongside this one, + if it exists. There must be an exception set. + 3. ``-2``: Error, but skip the error callback if provided. There must be an + exception set. + + +.. c:type:: int (*PyAwaitable_Error)(PyObject *awaitable, PyObject *result) + + The type of an error callback. + + +.. c:type:: int (*PyAwaitable_Defer)(PyObject *awaitable) + + The type of a "defer" callback. + + +.. c:function:: int PyAwaitable_AddAwait(PyObject *awaitable, PyObject *coroutine, PyAwaitable_Callback result_callback, PyAwaitable_Error error_callback) + + Mark an :term:`awaitable` object, *coroutine*, for execution by the event + loop when the PyAwaitable object is awaited. + + *result_callback* is a :ref:`return value callback `. + It will be called with the result of *coroutine* when it has finished + execution. This may be ``NULL``, in which case the return value is simply + discarded. + + *error_callback* is an :ref:`error callback `. It is + called if *coroutine* raises an exception during execution, or when + *result_callback* returns ``-1``. This may be ``NULL``, which will cause + any exceptions to be propagated to the caller (the one who awaited the + PyAwaitable object). + + This function will return ``0`` on success, and ``-1`` with an exception + set on failure. diff --git a/docs/usage/adding_awaits.rst b/docs/usage/adding_awaits.rst index 68e2dfc..3dda75f 100644 --- a/docs/usage/adding_awaits.rst +++ b/docs/usage/adding_awaits.rst @@ -86,6 +86,9 @@ hidden; you give PyAwaitable your coroutine, and it handles the rest! Yay! We called an asynchronous function from C! + +.. _return-value-callbacks: + Getting the Return Value in a Callback -------------------------------------- @@ -161,6 +164,8 @@ This can be used from Python as such: silly() returned: 42 +.. _error-callbacks: + Handling Errors with Callbacks ------------------------------ From 93890bc209aa1d018b59936d51b978e430a16b7e Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sun, 17 Aug 2025 10:35:09 -0400 Subject: [PATCH 07/13] Document value storage (and some other things). --- docs/reference.rst | 151 +++++++++++++++++++++ docs/usage/value_storage.rst | 256 +++++++++++++++++++++-------------- 2 files changed, 305 insertions(+), 102 deletions(-) diff --git a/docs/reference.rst b/docs/reference.rst index 690623c..02c63c8 100644 --- a/docs/reference.rst +++ b/docs/reference.rst @@ -1,6 +1,31 @@ Reference ========= +General +------- + +.. c:function:: int PyAwaitable_Init(void) + + Initialize PyAwaitable. This should typically be done in the :c:data:`Py_mod_exec` + slot of a module. + + This can safely be called multiple times. + + Return ``0`` on success, and ``-1`` with an exception set on failure. + + +.. c:function:: PyObject *PyAwaitable_New(void) + + Create a new empty PyAwaitable object. + + This returns a new :term:`strong reference` to a PyAwaitable object on + success, and returns ``NULL`` with an exception set on failure. + + +Coroutines +---------- + + .. c:type:: int (*PyAwaitable_Callback)(PyObject *awaitable, PyObject *result) The type of a result callback, as submitted in :c:func:`PyAwaitable_AddAwait`. @@ -45,3 +70,129 @@ Reference This function will return ``0`` on success, and ``-1`` with an exception set on failure. + + +Value Storage +------------- + +.. c:function:: int PyAwaitable_SaveValues(PyObject *awaitable, Py_ssize_t nargs, ...) + + Store *nargs* amount of :ref:`object values ` in the + PyAwaitable object. + + The number of arguments passed to ``...`` must match *nargs*. The objects + passed will be stored in the PyAwaitable object internally to be unpacked + by :c:func:`PyAwaitable_UnpackValues` later. + + Return ``0`` with the values stored on success, and ``-1`` with an + exception set on failure. + + +.. c:function:: int PyAwaitable_UnpackValues(PyObject *awaitable, ...) + + Unpack :ref:`object values ` stored in the PyAwaitable + object. + + This function expects ``PyObject **`` pointers passed to the ``...``. + These will then be set to :term:`borrowed references`. The number of + arguments passed to the ``...`` must match the sum of all *nargs* to prior + :c:func:`PyAwaitable_SaveValues` calls. For example, if one call stored + two values, and then another call stored three values, this function would + expect five pointers to be passed. + + Pointers passed to the ``...`` may be ``NULL``, in which case the object at + that position is skipped. + + Return ``0`` will all references set on success, and ``-1`` with an + exception set on failure. + + +.. c:function:: int PyAwaitable_SetValue(PyObject *awaitable, Py_ssize_t index, PyObject *value) + + Replace a single :ref:`object value ` at the position *index* + with *value*. The old reference to the object stored at the position *index* + is released, so *value* must not be ``NULL``. + + If *index* is below zero or out of bounds for the number of stored object + values, this function will fail. As such, this function cannot be used to + append new object values -- use :c:func:`PyAwaitable_SaveValues` for that. + + Return ``0`` with the object replaced on success, and ``-1`` with an exception + set on failure. + + +.. c:function:: PyObject *PyAwaitable_GetValue(PyObject *awaitable, Py_ssize_t index) + + Unpack a single :ref:`object value ` at the position *index*. + + If *index* is below zero or out of bounds for the number of stored object + values, this function will sanely fail. + + This is a low-level routine meant for complete-ness; always prefer using + :c:func:`PyAwaitable_UnpackValues` over this function. + + Return a :term:`borrowed reference` to the value on success, and ``NULL`` + with an exception set on failure. + + +.. c:function:: int PyAwaitable_SaveArbValues(PyObject *awaitable, Py_ssize_t nargs, ...) + + Similar to :c:func:`PyAwaitable_SaveValues`, but saves + :ref:`arbitrary values ` (``void *`` pointers) instead + of :c:type:`PyObject * ` references. + + Arbitrary values are separate from object values, so the number of Python + objects stored through :c:func:`PyAwaitable_SaveValues` has no effect + on this function. + + Return ``0`` with all pointers stored on success, and ``-1`` with an + exception set on failure. + + +.. c:function:: int PyAwaitable_UnpackArbValues(PyObject *awaitable, ...) + + Similar to :c:func:`PyAwaitable_UnpackValues`, but unpacks + :ref:`arbitrary values ` (``void *`` pointers) instead + of :c:type:`PyObject * ` references. + + Arbitrary values are separate from object values, so the number of Python + objects stored through :c:func:`PyAwaitable_SaveValues` has no effect + on this function. + + This function expects ``void **`` pointers passed to the ``...``. + The number of arguments passed to the ``...`` must match the sum of + all *nargs* to prior :c:func:`PyAwaitable_SaveArbValues` calls. For + example, if one call stored two values, and then another call stored + three values, this function would expect five pointers to be passed. + + Return ``0`` with all pointers set on success, and ``-1`` with an + exception set on failure. + + +.. c:function:: int PyAwaitable_SetArbValue(PyObject *awaitable, Py_ssize_t index, void *value) + + Similar to :c:func:`PyAwaitable_SetValue`, but replaces a single + :ref:`arbitrary value ` instead. + + If *index* is below zero or out of bounds for the number of stored object + values, this function will fail. As such, this function cannot be used to + append new object values -- use :c:func:`PyAwaitable_SaveArbValues` for that. + + Return ``0`` with the object replaced on success, and ``-1`` with an exception + set on failure. + + +.. c:function:: void *PyAwaitable_GetArbValue(PyObject *awaitable, Py_ssize_t index) + + Similar to :c:func:`PyAwaitable_GetValue`, but unpacks a single + :ref:`arbitrary value ` at the position *index*. + + If *index* is below zero or out of bounds for the number of stored object + values, this function will sanely fail. + + This is a low-level routine meant for complete-ness; always prefer using + :c:func:`PyAwaitable_UnpackArbValues` over this function. + + Return the ``void *`` pointer stored at *index* on success, and ``NULL`` + with an exception set on failure. If ``NULL`` is a valid value for the + arbitrary value, use :c:func:`PyErr_Occurred` to differentiate. diff --git a/docs/usage/value_storage.rst b/docs/usage/value_storage.rst index b5c86ce..26fa4be 100644 --- a/docs/usage/value_storage.rst +++ b/docs/usage/value_storage.rst @@ -1,114 +1,166 @@ -# Managing State Between Callbacks +Managing State Between Callbacks +================================ + +So far, all of our examples haven't needed any transfer of state between the +:c:func:`PyAwaitable_AddAwait` callsite and the time the coroutine is executed +(in a callback). You might have noticed that the callbacks don't take a +``void *arg`` parameter to make up for C's lack of closures, so how do we +manage state? + +First, let's get an example of what we might want state for. Our goal is to +implement a function that takes a paremeter and does something with it against +the result of a coroutine. For example: + +.. code-block:: python + + async def multiply_async( + number: int, + get_number_io: Callable[[], collections.abc.Awaitable[int]] + ) -> str: + value = await get_number_io() + return value * number + +Introducing Value Storage +------------------------- + +Instead of ``void *arg`` parameters, PyAwaitable provides APIs for storing +state directly on the PyAwaitable object. There are two types of value +storage: + +- Object value storage; :c:type:`PyObject * ` pointers that + PyAwaitable keeps references to. +- Arbitrary value storage; ``void *`` pointers that PyAwaitable never + dereferences -- it's your job to manage it. + +Value storage is generally a lot more convenient than something like a +``void *arg``, because you don't have to define any ``struct`` or make +extra allocations. It's especially convenient in the ``PyObject *`` case, +because you don't have to worry about dealing with their reference counts +or traversing reference cycles. And, even if a single state ``struct`` is +more convenient for your case, it's easy to implement it through the arbitrary +values API. + +There are four parts to the value APIs, each with a variant for object and +arbitrary values: + +- Saving values: :c:func:`PyAwaitable_SaveValues` and :c:func:`PyAwaitable_SaveArbValues`. +- Unpacking values: :c:func:`PyAwaitable_UnpackValues` and :c:func:`PyAwaitable_UnpackArbValues`. +- Getting values: :c:func:`PyAwaitable_GetValue` and :c:func:`PyAwaitable_GetArbValue`. +- Setting values: :c:func:`PyAwaitable_SetValue` and :c:func:`PyAwaitable_SetArbValue`. + +.. _object-values: + +Object Value Storage +-------------------- + +In most cases, you want to store Python objects on your PyAwaitable object. +This can be anything you want, such as arguments passed into your function. +The two main APIs you want when using value storage are +:c:func:`PyAwaitable_SaveValues` and :c:func:`PyAwaitable_UnpackValues`. + +These are variadic C functions; for ``Save``, pass the PyAwaitable object +and the number of objects you want to store, and then pass ``PyObject *`` +pointers matching that number. These references will not be stolen by +PyAwaitable. + +``Unpack``, on the other hand, does not require you to pass the number of +objects that you want -- it remembers how many you stored in ``Save``. +In ``Unpack``, you just pass the PyAwaitable object and pointers to local +``PyObject *`` variables, which will then be unpacked by the PyAwaitable +object (these may be ``NULL``, in which case the value is skipped). + +.. note:: + + Both :c:func:`PyAwaitable_SaveValues` and + :c:func:`PyAwaitable_UnpackValues` can fail. They return ``-1`` with an + exception set on failure, and `0` on success. + +For example, if you called ``PyAwaitable_SaveValues(awaitable, 3, /* ... */)``, +you must pass three non-``NULL`` ``PyObject *`` references, and then pass +three pointers-to-pointers to ``PyAwaitable_UnpackValues`` (but these may be +``NULL``). + +So, with all that in mind, we can implement ``multiply_async()`` from above +as such: + +.. code-block:: c + + static int + multiply_callback(PyObject *awaitable, PyObject *value) + { + PyObject *number; + if (PyAwaitable_UnpackValues(awaitable, &number) < 0) { + return -1; + } + + PyObject *result = PyNumber_Multiply(number, value); + if (result == NULL) { + return -1; + } + + if (PyAwaitable_SetResult(awaitable, result) < 0) { + Py_DECREF(result); + return -1; + } -So far, all of our examples haven't needed any transfer of state between the `PyAwaitable_AddAwait` callsite and the time the coroutine is executed (_i.e._, in a callback). You might have noticed that the callbacks don't take a `void *arg` parameter to make up for C's lack of closures, so how do we manage state? - -First, let's get an example of what we might want state for. Our goal is to implement a function that takes a paremeter and does something wiith it against the result of a coroutine. For example: - -```py -async def multiply_async( - number: int, - get_number_io: Callable[[], collections.abc.Awaitable[int]] -) -> str: - value = await get_number_io() - return value * number -``` - -## Introducing Value Storage - -Instead of `void *arg` parameters, PyAwaitable provides APIs for storing state directly on the PyAwaitable object. There are two types of value storage: - -- Object value storage; `PyObject *` pointers that PyAwaitable correctly stores references to. -- Arbitrary value storage; `void *` pointers that PyAwaitable never dereferences--it's your job to manage it. - -Value storage is generally a lot more convenient than something like a `void *arg`, because you don't have to define any `struct` or make an extra allocations. It's especially convenient in the `PyObject *` case, because you don't have to worry about dealing with their reference counts or traversing reference cycles. And, even if a single state `struct` is more convenient for your case, it's easy to implement it with the arbitrary values API. - -There are four parts to the value APIs, each with a variant for object and arbitrary values: - -- Saving values; `PyAwaitable_SaveValues`/`PyAwaitable_SaveArbValues`. -- Unpacking values; `PyAwaitable_UnpackValues`/`PyAwaitable_UnpackArbValues`. -- Getting values; `PyAwaitable_GetValue`/`PyAwaitable_GetArbValue`. -- Setting values; `PyAwaitable_SetValue`/`PyAwaitable_SetArbValue`. - -## Object Value Storage - -In most cases, you want to store Python objects on your PyAwaitable object. This can be anything you want, such as arguments passed into your function. The two main APIs you want when using value storage are `PyAwaitable_SaveValues` and `PyAwaitable_UnpackValues`. - -These are variadic C functions; for `Save`, pass the PyAwaitable object and the number of objects you want to store, and then pass `PyObject *` pointers matching that number. These references will _not_ be stolen by PyAwaitable. - -`Unpack`, on the other hand, does not require you to pass the number of objects that you want--it remembers how many you stored in `Save`. In `Unpack`, you just pass the PyAwaitable object and pointers to local `PyObject *` variables, which will then be unpacked by the PyAwaitable object (these may be `NULL`, in which case the value is skipped). - -!!! note - - Both `PyAwaitable_SaveValues` and `PyAwaitable_UnpackValues` can fail. They return `-1` with an exception set on failure, and `0` on success. - -For example, if you called `PyAwaitable_SaveValues(awaitable, 3, /* ... */)`, you must pass three non-`NULL` `PyObject *` references, and then pass three pointers-to-pointers to `PyAwaitable_UnpackValues` (but these may be `NULL`). - -So, with all that in mind, we can implement `multiply_async` above as such: - -```c -static int -multiply_callback(PyObject *awaitable, PyObject *value) -{ - PyObject *number; - if (PyAwaitable_UnpackValues(awaitable, &number) < 0) { - return -1; - } - - PyObject *result = PyNumber_Multiply(number, value); - if (result == NULL) { - return -1; - } - - if (PyAwaitable_SetResult(awaitable, result) < 0) { Py_DECREF(result); - return -1; + return 0; } - Py_DECREF(result); - return 0; -} - -static PyObject * -multiply_async(PyObject *self, PyObject *args) // METH_VARARGS -{ - PyObject *number; - PyObject *get_number_io; - - if (!PyArg_ParseTuple(args, "OO", &number, &get_number_io)) { - return NULL; - } - - PyObject *awaitable = PyAwaitable_New(); - if (awaitable == NULL) { - return NULL; - } - - if (PyAwaitable_SaveValues(awaitable, 1, number) < 0) { - Py_DECREF(awaitable); - return NULL; - } - - PyObject *coro = PyObject_CallNoArgs(get_number_io); - if (coro == NULL) { - Py_DECREF(awaitable); - return NULL; - } + static PyObject * + multiply_async(PyObject *self, PyObject *args) // METH_VARARGS + { + PyObject *number; + PyObject *get_number_io; + + if (!PyArg_ParseTuple(args, "OO", &number, &get_number_io)) { + return NULL; + } + + PyObject *awaitable = PyAwaitable_New(); + if (awaitable == NULL) { + return NULL; + } + + if (PyAwaitable_SaveValues(awaitable, 1, number) < 0) { + Py_DECREF(awaitable); + return NULL; + } + + PyObject *coro = PyObject_CallNoArgs(get_number_io); + if (coro == NULL) { + Py_DECREF(awaitable); + return NULL; + } + + if (PyAwaitable_AddAwait(awaitable, coro, multiply_callback, NULL) < 0) { + Py_DECREF(awaitable); + Py_DECREF(coro); + return NULL; + } - if (PyAwaitable_AddAwait(awaitable, coro, multiply_callback, NULL) < 0) { - Py_DECREF(awaitable); Py_DECREF(coro); - return NULL; + return awaitable; } - Py_DECREF(coro); - return awaitable; -} -``` +Getting and Setting Values +-------------------------- -## Getting and Setting Values +In rare cases, it might be desirable to get or set a specific value at an +index. :c:func:`PyAwaitable_SetValue` (or :c:func:`PyAwaitable_SetArbValue`) +is useful if you intend to completely overwrite an object at a value index, +but :c:func:`PyAwaitable_GetValue` should basically never be preferred over +:c:func:`PyAwaitable_UnpackValues`; it's only there for complete-ness. -In rare cases, it might be desirable to get or set a specific value at an index. `PyAwaitable_SetValue` is useful if you intend to completely overwrite an object at a value index, but `PyAwaitable_GetValue` should basically never be preferred over `PyAwaitable_UnpackValues`; it's, more or less, there for completion. +.. _arbitrary-values: -## Arbitrary Value Storage +Arbitrary Value Storage +----------------------- -Arbitrary value storage works exactly the same as object value storage, with the exception of taking `void *` pointers instead of `PyObject *` pointers. PyAwaitable will never attempt to read or write the pointers that you pass, so managing their lifetime is up to you. In most cases, if your PyAwaitable object is supposed to own the state of the arbitrary value, you deallocate it in the last callback. +Arbitrary value storage works exactly the same as +:ref:`object value storage `, with the exception of taking +``void *`` pointers instead of ``PyObject *`` pointers. PyAwaitable will +never attempt to read or write the pointers that you pass, so managing their +lifetime is up to you. In most cases, if your PyAwaitable object is supposed +to own the state of the arbitrary value, you deallocate it in the last +callback. From 6cc6754a648e51583076d485c8fbde0d75e9c9e6 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sun, 17 Aug 2025 10:48:47 -0400 Subject: [PATCH 08/13] Convert the first page to reST and document PyAwaitable_SetResult(). --- docs/index.rst | 2 + docs/reference.rst | 13 +++ docs/usage/c_async.rst | 186 ++++++++++++++++++++++++----------------- 3 files changed, 125 insertions(+), 76 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 36acc94..c5b34f8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,5 +15,7 @@ documentation for details. :maxdepth: 2 :caption: Contents: + usage/c_async usage/adding_awaits + usage/value_storage reference diff --git a/docs/reference.rst b/docs/reference.rst index 02c63c8..62f43c8 100644 --- a/docs/reference.rst +++ b/docs/reference.rst @@ -22,6 +22,19 @@ General success, and returns ``NULL`` with an exception set on failure. +.. c:function:: int PyAwaitable_SetResult(PyObject *awaitable, PyObject *result) + + Set *result* to the :ref:`result ` of the PyAwaitable object. + The result will be returned to the :keyword:`await` expression on this + PyAwaitable object. + + *result* will not be stolen; this function will create its own reference to + *result* internally. + + Return ``0`` with the return value set on success, and ``-1`` with an + exception set on failure. + + Coroutines ---------- diff --git a/docs/usage/c_async.rst b/docs/usage/c_async.rst index c37e2d1..21b5317 100644 --- a/docs/usage/c_async.rst +++ b/docs/usage/c_async.rst @@ -1,109 +1,143 @@ -# Making a C Function Asynchronous +Making a C Function Asynchronous +-------------------------------- Let's make a C function that replicates the following Python code: -```py -async def hello() -> None: - print("Hello, PyAwaitable") -``` +.. code-block:: -If you've tried to implement an asynchronous C function in the past, this is likely where you got stuck. How do we make a C function `async`? + async def hello() -> None: + print("Hello, PyAwaitable") -## Breaking Down Awaitable Functions +If you've tried to implement an asynchronous C function in the past, this is +likely where you got stuck. How do we make a C function ``async def``? -In Python, you have to _call_ an `async def` function to use it with `await`. In our example above, the following would be invalid: +Breaking Down Awaitable Functions +--------------------------------- -```py ->>> await hello -``` +In Python, you have to call an ``async def`` function to use it with +:py:keyword:`await`. In our example above, the following would be invalid: -Of course, you need to do `await hello()` instead. `hello()` is returning a _coroutine_, and coroutine objects are usable with the `await` keyword. So, `hello` as a synchronous function would really be like: +.. code-block:: pycon -```py -class _hello_coroutine: - def __await__(self) -> collections.abc.Generator: - print("Hello, PyAwaitable") - yield + >>> await hello + +Of course, you need to do ``await hello()`` instead. Why? + +``hello()`` is returning a :term:`coroutine`, and coroutine objects are +usable with the :py:keyword:`await` keyword (but not ``async def`` functions +themselves). So, ``hello()`` as a synchronous function would really be like: + +.. code-block:: python + + class _hello_coroutine: + def __await__(self) -> collections.abc.Generator: + print("Hello, PyAwaitable") + yield + + def hello() -> collections.abc.Coroutine: + return _hello_coroutine() + +If there were to be :keyword:`await` expressions inside ``hello()``, the +returned coroutine object would handle those by yielding inside of +the :py:attr:`~object.__await__` dunder method. We can do the same kind of +thing in C. -def hello() -> collections.abc.Coroutine: - return _hello_coroutine() -``` +Creating PyAwaitable Objects +---------------------------- -If there were to be `await` expressions inside `hello`, the returned coroutine object would handle those by yielding inside of the `__await__` dunder method. We can do the same kind of thing in C. +You can create a new PyAwaitable object with :c:func:`PyAwaitable_New`. +This returns a :term:`strong reference` to a PyAwaitable object, and +``NULL`` with an exception set on failure. -## Creating PyAwaitable Objects +Think of a PyAwaitable object sort of like the ``_hello_coroutine`` example +from above, but it's generic instead of being specially built for the +``hello()`` function. So, like our Python example, we need to return the +coroutine to allow it to be used in :keyword:`await` expressions: -You can create a new PyAwaitable object with `PyAwaitable_New`. This returns a _strong reference_ to a PyAwaitable object, and `NULL` with an exception set on failure. +.. code-block:: c -Think of a PyAwaitable object sort of like the `_hello_coroutine` example from above, but it's _generic_ instead of being special for `hello`. So, like our Python example, we need to return the coroutine to allow it to be used in `await` expressions: + static PyObject * + hello(PyObject *self, PyObject *unused) // METH_NOARGS + { + PyObject *awaitable = PyAwaitable_New(); + if (awaitable == NULL) { + return NULL; + } -```c -static PyObject * -hello(PyObject *self, PyObject *nothing) // METH_NOARGS -{ - PyObject *awaitable = PyAwaitable_New(); - if (awaitable == NULL) { - return NULL; + puts("Hello, PyAwaitable"); + return awaitable; } - puts("Hello, PyAwaitable"); - return awaitable; -} -``` +.. note:: -!!! note "There's a difference between native coroutines and implemented coroutines" + "Coroutine" is a bit of an ambigious term in Python. There are two types + of coroutines: native ones (instances of :py:class:`types.CoroutineType`), + and objects that implement the coroutine protocol + (:py:class:`collections.abc.Coroutine`). Only the interpreter itself can + create native coroutines, so a PyAwaitable object is an object that + implements the coroutine protocol. - "Coroutine" is a bit of an ambigious term in Python. There are two types of coroutines: native ones ([`types.CoroutineType`](https://docs.python.org/3/library/types.html#types.CoroutineType)), and objects that implement the *coroutine protocol* ([`collections.abc.Coroutine`](https://docs.python.org/3/library/types.html#types.CoroutineType)). Only the interpreter itself can create native coroutines, so a PyAwaitable object is an object that implements the coroutine protocol. +Yay! We can now use ``hello()`` in :keyword:`await` expressions: -Yay! We can now use `hello` in `await` expressions: +.. code-block:: pycon -```py ->>> from _yourmod import hello ->>> await hello() -Hello, PyAwaitable -``` + >>> from _yourmod import hello + >>> await hello() + Hello, PyAwaitable -## Changing the Return Value +.. _return-values: -Note that in all code-paths, we should return the PyAwaitable object, or `NULL` with an exception set to indicate a failure. But that means you can't simply `return` your own value; how can the `await` expression evaluate to something useful? +Changing the Return Value +------------------------- -By default, the "return value" (_i.e._, what `await` will evaluate to) is `None`. That can be changed with `PyAwaitable_SetResult`, which takes a reference to the object you want to return. +Note that in all code-paths, we should return the PyAwaitable object, or +``NULL`` with an exception set to indicate a failure. But that means you can't +simply ``return`` your own :c:type:`PyObject * `; how can the +:keyword:`await` expression of our C coroutine evaluate to something useful? -For example, if you wanted to return the Python integer `42` from `hello`, you would simply pass that to `PyAwaitable_SetResult`: +By default, the "return value" (_i.e._, what :keyword:`await` will evaluate to) +is :const:`None` (or really, :c:data:`Py_None` in C). That can be changed with +:c:func:`PyAwaitable_SetResult`, which takes a reference to the object you +want to return. PyAwaitable will store a :term:`strong reference` to this +object internally. -```c -static PyObject * -hello(PyObject *self, PyObject *nothing) // METH_NOARGS -{ - PyObject *awaitable = PyAwaitable_New(); - if (awiatable == NULL) { - return NULL; - } +For example, if you wanted to return the Python integer ``42`` from ``hello()``, +you would simply pass a :c:type:`PyObject * ` for ``42`` to +:c:func:`PyAwaitable_SetResult`: - PyObject *my_number = PyLong_FromLong(42); - if (my_number == NULL) { - Py_DECREF(awaitable); - return NULL; - } +.. code-block:: c + + static PyObject * + hello(PyObject *self, PyObject *nothing) // METH_NOARGS + { + PyObject *awaitable = PyAwaitable_New(); + if (awiatable == NULL) { + return NULL; + } + + PyObject *my_number = PyLong_FromLong(42); + if (my_number == NULL) { + Py_DECREF(awaitable); + return NULL; + } + + if (PyAwaitable_SetResult(awaitable, my_number) < 0) { + Py_DECREF(awaitable); + Py_DECREF(my_number); + return NULL; + } - if (PyAwaitable_SetResult(awaitable, my_number) < 0) { - Py_DECREF(awaitable); Py_DECREF(my_number); - return NULL; - } - Py_DECREF(my_number); + puts("Hello, PyAwaitable"); + return awaitable; + } - puts("Hello, PyAwaitable"); - return awaitable; -} -``` +Now, the :keyword:`await` expression evalutes to ``42``: -Now, the `await` expression evalutes to `42`: +.. code-block:: pycon -```py ->>> from _yourmod import hello ->>> await hello() -Hello, PyAwaitable -42 -``` + >>> from _yourmod import hello + >>> await hello() + Hello, PyAwaitable + 42 From 2a9bf0518ce086e31b02dcf6509fa8109f1a52d1 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sun, 17 Aug 2025 10:58:35 -0400 Subject: [PATCH 09/13] Convert the installation page to reST. --- docs/index.rst | 1 + docs/installation.rst | 292 +++++++++++++++++++++++------------------- 2 files changed, 163 insertions(+), 130 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index c5b34f8..21c170d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,6 +15,7 @@ documentation for details. :maxdepth: 2 :caption: Contents: + installation usage/c_async usage/adding_awaits usage/value_storage diff --git a/docs/installation.rst b/docs/installation.rst index 89974c5..a9a4953 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,171 +1,203 @@ -# Installation +Installation +============ -## Build Dependency +PyAwaitable needs to be installed as a build dependency, not a runtime +dependency. For the ``project.dependencies`` portion of your ``pyproject.toml`` +file, you can completely omit PyAwaitable as a dependency. -PyAwaitable needs to be installed as a build dependency, not a runtime dependency. For the `project.dependencies` portion of your `pyproject.toml`, you can completely omit PyAwaitable as a dependency! +For example, in a ``setuptools``-based project, your ``build-system`` section would look like: -For example, in a `setuptools` based project, your `build-system` section would look like: +.. code-block:: toml -```toml -# pyproject.toml -[build-system] -requires = ["setuptools~=78.1", "pyawaitable>=2.0.0"] -build-backend = "setuptools.build_meta" -``` + # pyproject.toml + [build-system] + requires = ["setuptools~=78.1", "pyawaitable>=2.0.0"] + build-backend = "setuptools.build_meta" -## Including the `pyawaitable.h` File -PyAwaitable provides a number of APIs to access the include path for a number of different build systems. Namely: +Including the ``pyawaitable.h`` File +------------------------------------ -- `pyawaitable.include()` is available in Python code (typically for `setup.py`-based extensions). -- `PYAWAITABLE_INCLUDE` is accessible as an environment variable, but only if Python has been started without `-S` (this is useful for `scikit-build-core` projects). -- `pyawaitable --include` returns the path of the include directory (useful for everything else, such as `meson-python`). +PyAwaitable provides a number of APIs to access the include path for a +number of different build systems. Namely: -!!! note +- :func:`pyawaitable.include` is available in Python code (typically for + ``setup.py``-based extensions). +- :envvar:`PYAWAITABLE_INCLUDE` is accessible as an environment variable, + but only if Python has been started without :py:option:`-S` (this is + useful for ``scikit-build-core`` projects). +- ``pyawaitable --include`` on the command line returns the path of the + include directory (useful for ``meson-python`` projects). - PyAwaitable uses a nifty trick for building itself into your project. Python's packaging ecosystem isn't exactly great at distributing C libraries, so the `pyawaitable.h` actually contains the entire PyAwaitable source code (but with mangled names to prevent collisions with your own project). +.. note:: + + PyAwaitable uses a nifty trick for building itself into your project. + Python's packaging ecosystem isn't exactly great at distributing C + libraries, so the ``pyawaitable.h`` actually contains the entire + PyAwaitable source code (but with mangled names to prevent collisions + with your own project). This has some pros and cons: - - PyAwaitable doesn't need to be installed at runtime, as it's embedded directly into your extension. This means it's *extremely* portable; completely different PyAwaitable versions can peacefully coexist in the same process. - - Enabling debug flags in your extension also means enabling debug flags in PyAwaitable, thus enabling assertions and whatnot. This is useful for debugging. - - However, PyAwaitable can't use the limited API, so it prevents your extension from using the limited API (see the note below). + - PyAwaitable doesn't need to be installed at runtime, as it's embedded + directly into your extension. This means it's extremely portable; + completely different PyAwaitable versions can peacefully coexist in the + same process. + - Enabling debug flags in your extension also means enabling debug flags + in PyAwaitable, thus enabling assertions and whatnot. + - However, PyAwaitable can't use the limited API, so it prevents your + extension from using the limited API (see the note below). + +Initializing PyAwaitable in Your Extension +------------------------------------------ + +PyAwaitable has to do a one-time initialization to get its types and other +state initialized in the Python process. This is done with +:c:func:`PyAwaitable_Init`, which can be called basically anywhere, +as long as it's called before any other PyAwaitable functions are used. + +Typically, you'll want to call this in your extension's `PyInit_` function, or +in the :c:data`Py_mod_exec` function in multi-phase extensions. For example: + +.. code-block:: c + + // Single-phase + PyMODINIT_FUNC + PyInit_mymodule() + { + if (PyAwaitable_Init() < 0) { + return NULL; + } + + return PyModule_Create(/* ... */); + } -## Initializing PyAwaitable in Your Extension +.. code-block:: c -PyAwaitable has to do a one-time initialization to get its types and other state initialized in the Python process. This is done with `PyAwaitable_Init`, which can be called basically anywhere, as long as its called before any other PyAwaitable functions are used. + // Multi-phase + static int + module_exec(PyObject *mod) + { + return PyAwaitable_Init(); + } -Typically, you'll want to call this in your extension's `PyInit_` function, or in the module-exec function in multi-phase extensions. For example: +.. warning:: -```c -// Single-phase -PyMODINIT_FUNC -PyInit_mymodule() -{ - if (PyAwaitable_Init() < 0) { - return NULL; - } + Unfortunately, PyAwaitable cannot be used with the + :ref:`limited C API `. This is due to PyAwaitable needing + :c:member:`~PyAsyncMethods.am_send` to implement the coroutine protocol + on 3.10+, but the corresponding :ref:`heap type ` slot + ``Py_am_send`` was not added until 3.11. Therefore, PyAwaitable + annot support the limited API without dropping support for <3.11. - return PyModule_Create(/* ... */); -} -``` +Examples +-------- -```c -// Multi-phase -static int -module_exec(PyObject *mod) -{ - return PyAwaitable_Init(); -} -``` +``setuptools`` +************** -!!! warning "No Limited API Support" +.. code-block:: python - Unfortunately, PyAwaitable cannot be used with the [limited C API](https://docs.python.org/3/c-api/stable.html#limited-c-api). This is due to PyAwaitable needing [am_send](https://docs.python.org/3/c-api/typeobj.html#c.PyAsyncMethods.am_send) to implement the coroutine protocol on 3.10+, but the corresponding heap-type slot `Py_am_send` was not added until 3.11. Therefore, PyAwaitable cannot support the limited API without dropping support for <3.11. + # setup.py + from setuptools import setup, Extension + import pyawaitable -## Examples + if __name__ == "__main__": + setup( + ext_modules=[ + Extension("_module", ["src/module.c"], include_dirs=[pyawaitable.include()]) + ] + ) -### `setuptools` +``scikit-build-core`` +********************* -```py -# setup.py -from setuptools import setup, Extension -import pyawaitable +.. code-block:: cmake -if __name__ == "__main__": - setup( - ext_modules=[ - Extension("_module", ["src/module.c"], include_dirs=[pyawaitable.include()]) - ] - ) -``` + # CMakeLists.txt + cmake_minimum_required(VERSION 3.15...3.30) + project(${SKBUILD_PROJECT_NAME} LANGUAGES C) -### `scikit-build-core` + find_package(Python COMPONENTS Interpreter Development.Module REQUIRED) -```t -# CMakeLists.txt -cmake_minimum_required(VERSION 3.15...3.30) -project(${SKBUILD_PROJECT_NAME} LANGUAGES C) + Python_add_library(_module MODULE src/module.c WITH_SOABI) + target_include_directories(_module PRIVATE $ENV{PYAWAITABLE_INCLUDE}) + install(TARGETS _module DESTINATION .) -find_package(Python COMPONENTS Interpreter Development.Module REQUIRED) +``meson-python`` +**************** -Python_add_library(_module MODULE src/module.c WITH_SOABI) -target_include_directories(_module PRIVATE $ENV{PYAWAITABLE_INCLUDE}) -install(TARGETS _module DESTINATION .) -``` +.. code-block:: meson -### `meson-python` + # meson.build + project('_module', 'c') -```py -# meson.build -project('_module', 'c') + py = import('python').find_installation(pure: false) + pyawaitable_include = run_command('pyawaitable --include', check: true).stdout().strip() -py = import('python').find_installation(pure: false) -pyawaitable_include = run_command('pyawaitable --include', check: true).stdout().strip() + py.extension_module( + '_module', + 'src/module.c', + install: true, + include_directories: [pyawaitable_include], + ) -py.extension_module( - '_module', - 'src/module.c', - install: true, - include_directories: [pyawaitable_include], -) -``` +Simple Extension Example +------------------------ -## Simple Extension Example +.. code-block:: c -```c -#include -#include + #include + #include -static int -module_exec(PyObject *mod) -{ - return PyAwaitable_Init(); -} + static int + module_exec(PyObject *mod) + { + return PyAwaitable_Init(); + } -/* - Equivalent to the following Python function: + /* + Equivalent to the following Python function: - async def async_function(coro: collections.abc.Awaitable) -> None: - await coro + async def async_function(coro: collections.abc.Awaitable) -> None: + await coro - */ -static PyObject * -async_function(PyObject *self, PyObject *coro) -{ - PyObject *awaitable = PyAwaitable_New(); - if (awaitable == NULL) { - return NULL; - } + */ + static PyObject * + async_function(PyObject *self, PyObject *coro) + { + PyObject *awaitable = PyAwaitable_New(); + if (awaitable == NULL) { + return NULL; + } - if (PyAwaitable_AddAwait(awaitable, coro, NULL, NULL) < 0) { - Py_DECREF(awaitable); - return NULL; + if (PyAwaitable_AddAwait(awaitable, coro, NULL, NULL) < 0) { + Py_DECREF(awaitable); + return NULL; + } + + return awaitable; } - return awaitable; -} - -static PyModuleDef_Slot module_slots[] = { - {Py_mod_exec, module_exec}, - {0, NULL} -}; - -static PyMethodDef module_methods[] = { - {"async_function", async_function, METH_O, NULL}, - {NULL, NULL, 0, NULL}, -}; - -static PyModuleDef module = { - .m_base = PyModuleDef_HEAD_INIT, - .m_size = 0, - .m_slots = module_slots, - .m_methods = module_methods -}; - -PyMODINIT_FUNC -PyInit__module() -{ - return PyModuleDef_Init(&module); -} -``` + static PyModuleDef_Slot module_slots[] = { + {Py_mod_exec, module_exec}, + {0, NULL} + }; + + static PyMethodDef module_methods[] = { + {"async_function", async_function, METH_O, NULL}, + {NULL, NULL, 0, NULL}, + }; + + static PyModuleDef module = { + .m_base = PyModuleDef_HEAD_INIT, + .m_size = 0, + .m_slots = module_slots, + .m_methods = module_methods + }; + + PyMODINIT_FUNC + PyInit__module() + { + return PyModuleDef_Init(&module); + } From 04552375b3c6f854af13bc4c3a469e22c3b54889 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sun, 17 Aug 2025 11:02:59 -0400 Subject: [PATCH 10/13] Some fixups with Sphinx warnings. --- docs/installation.rst | 2 +- docs/reference.rst | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index a9a4953..9da46c6 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -27,7 +27,7 @@ number of different build systems. Namely: but only if Python has been started without :py:option:`-S` (this is useful for ``scikit-build-core`` projects). - ``pyawaitable --include`` on the command line returns the path of the - include directory (useful for ``meson-python`` projects). + include directory (useful for ``meson-python`` projects). .. note:: diff --git a/docs/reference.rst b/docs/reference.rst index 62f43c8..190ee94 100644 --- a/docs/reference.rst +++ b/docs/reference.rst @@ -4,6 +4,18 @@ Reference General ------- +.. function:: pyawaitable.include() + + Return the include path of ``pyawaitable.h``. + + +.. envvar:: PYAWAITABLE_INCLUDE + + Result of :func:`pyawaitable.include`, stored as an environment variable + through a ``.pth`` file (only available when Python isn't run through + :py:option:`-S`). + + .. c:function:: int PyAwaitable_Init(void) Initialize PyAwaitable. This should typically be done in the :c:data:`Py_mod_exec` @@ -107,11 +119,11 @@ Value Storage object. This function expects ``PyObject **`` pointers passed to the ``...``. - These will then be set to :term:`borrowed references`. The number of - arguments passed to the ``...`` must match the sum of all *nargs* to prior - :c:func:`PyAwaitable_SaveValues` calls. For example, if one call stored - two values, and then another call stored three values, this function would - expect five pointers to be passed. + These will then be set to :term:`borrowed reference `. + The number of arguments passed to the ``...`` must match the sum of all + *nargs* to prior :c:func:`PyAwaitable_SaveValues` calls. For example, if + one call stored two values, and then another call stored three values, this + function would expect five pointers to be passed. Pointers passed to the ``...`` may be ``NULL``, in which case the object at that position is skipped. From 28987bc1ec674bacbbbef9a93f8fa4c1edbef41e Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sun, 17 Aug 2025 11:09:51 -0400 Subject: [PATCH 11/13] Finish up the documentation. --- docs/index.md | 2 +- docs/index.rst | 88 +++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 84 insertions(+), 6 deletions(-) diff --git a/docs/index.md b/docs/index.md index dc27039..b33065e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,6 @@ # PyAwaitable -!!! note +.. note:: This project originates from a scrapped PEP. For the original text, see [here](https://gist.github.com/ZeroIntensity/8d32e94b243529c7e1c27349e972d926). diff --git a/docs/index.rst b/docs/index.rst index 21c170d..3c67259 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,11 +6,6 @@ PyAwaitable documentation ========================= -Add your content using ``reStructuredText`` syntax. See the -`reStructuredText `_ -documentation for details. - - .. toctree:: :maxdepth: 2 :caption: Contents: @@ -20,3 +15,86 @@ documentation for details. usage/adding_awaits usage/value_storage reference + +.. note:: + + This project originates from a scrapped PEP. For the original text, + see `here `_. + +Introduction +------------ + +CPython currently has no existing C interface for writing asynchronous functions +or doing any sort of :keyword:`await` operations, other than defining +extension types and manually implementing methods like +:attr:`~object.__await__` from scratch. This lack of an API can be seen in +some Python-to-C transpilers (such as ``mypyc``) having limited support for +asynchronous code. + +In the C API, developers are forced to do one of three things when it comes +to asynchronous code: + +- Manually implementing coroutines using extension types. +- Use an external tool to compile their asynchronous code to C. +- Defer their asynchronous logic to a synchronous Python function, and then + call that natively. + +Since there are other event loop implementations, PyAwaitable aims to be a +generic interface for working with asynchronous operations from C (as in, +we'll only be implementing features like ``async def`` and :keyword:`await`, +but not things like :func:`asyncio.create_task`). + +This documentation assumes that you're familiar with the C API already, +and understand some essential concepts like reference counting (as well as +borrowed and strong references). If you don't know what any of that means, it's +highly advised that you read through the +:ref:`Python documentation ` before trying to use +PyAwaitable. + +Quickstart +---------- + +Add PyAwaitable as a build dependency: + +.. code-block:: toml + + # pyproject.toml + [build-system] + requires = ["your_preferred_build_system", "pyawaitable>=2.0.0"] + build-backend = "your_preferred_build_system.build" + +Use it in your extension: + +.. code-block:: c + + /* + Equivalent to the following Python function: + + async def async_function(coro: collections.abc.Awaitable) -> None: + await coro + */ + static PyObject * + async_function(PyObject *self, PyObject *coro) + { + PyObject *awaitable = PyAwaitable_New(); + if (awaitable == NULL) { + return NULL; + } + + if (PyAwaitable_AddAwait(awaitable, coro, NULL, NULL) < 0) { + Py_DECREF(awaitable); + return NULL; + } + + return awaitable; + } + + +Acknowledgements +---------------- + +Special thanks to: + +- `Petr Viktorin `_, for his feedback on the + initial API design and PEP. +- `Sean Hunt `_, for beta testing. From 6e4cd619e45ca75725e7bf9e399d84b63fcc7162 Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sun, 17 Aug 2025 11:15:10 -0400 Subject: [PATCH 12/13] Change the theme and fix a typo. --- docs/conf.py | 5 +-- docs/index.md | 68 ------------------------------------ docs/usage/value_storage.rst | 2 +- 3 files changed, 4 insertions(+), 71 deletions(-) delete mode 100644 docs/index.md diff --git a/docs/conf.py b/docs/conf.py index 86abf39..161e20e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -15,7 +15,6 @@ extensions = ["sphinx.ext.intersphinx"] -templates_path = ['_templates'] exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] intersphinx_mapping = {'python': ('https://docs.python.org/3', None)} @@ -25,4 +24,6 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output html_theme = 'shibuya' -html_static_path = ['_static'] +html_theme_options = { + "accent_color": "sky", +} diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index b33065e..0000000 --- a/docs/index.md +++ /dev/null @@ -1,68 +0,0 @@ -# PyAwaitable - -.. note:: - - This project originates from a scrapped PEP. For the original text, see [here](https://gist.github.com/ZeroIntensity/8d32e94b243529c7e1c27349e972d926). - -## Introduction - -CPython currently has no existing C interface for writing asynchronous functions or doing any sort of `await` operations, other than defining extension types and manually implementing methods like `__await__` from scratch. This lack of an API can be seen in some Python-to-C transpilers (such as `mypyc`) having limited support for asynchronous code. - -In the C API, developers are forced to do one of three things when it comes to asynchronous code: - -- Manually implementing coroutines using extension types. -- Use an external tool to compile their asynchronous code to C. -- Defer their asynchronous logic to a synchronous Python function, and then call that natively. - -Since there are other event loop implementations, PyAwaitable aims to be a _generic_ interface for working with asynchronous operations from C (as in, we'll only be implementing features like `async def` and `await`, but not things like `asyncio.create_task`.) - -This documentation assumes that you're familiar with the C API already, and understand some essential concepts like reference counting (as well as borrowed and strong references). If you don't know what any of that means, it's highly advised that you read through the [Python docs](https://docs.python.org/3/extending/extending.html) before trying to use PyAwaitable. - -## Quickstart - -Add PyAwaitable as a build dependency: - -```toml -# pyproject.toml -[build-system] -requires = ["your_preferred_build_system", "pyawaitable>=2.0.0"] -build-backend = "your_preferred_build_system.build" -``` - -Use it in your extension: - -```c -/* - Equivalent to the following Python function: - - async def async_function(coro: collections.abc.Awaitable) -> None: - await coro - - */ -static PyObject * -async_function(PyObject *self, PyObject *coro) -{ - PyObject *awaitable = PyAwaitable_New(); - if (awaitable == NULL) { - return NULL; - } - - if (PyAwaitable_AddAwait(awaitable, coro, NULL, NULL) < 0) { - Py_DECREF(awaitable); - return NULL; - } - - return awaitable; -} -``` - -!!! note - - You need to call `PyAwaitable_Init` upon initializing your extension! This can be done in the `PyInit_` function, or a module-exec function if using [multi-phase initialization](https://docs.python.org/3/c-api/module.html#initializing-c-modules). - -## Acknowledgements - -Special thanks to: - -- [Petr Viktorin](https://github.com/encukou), for his feedback on the initial API design and PEP. -- [Sean Hunt](https://github.com/AraHaan), for beta testing. diff --git a/docs/usage/value_storage.rst b/docs/usage/value_storage.rst index 26fa4be..a77e343 100644 --- a/docs/usage/value_storage.rst +++ b/docs/usage/value_storage.rst @@ -73,7 +73,7 @@ object (these may be ``NULL``, in which case the value is skipped). Both :c:func:`PyAwaitable_SaveValues` and :c:func:`PyAwaitable_UnpackValues` can fail. They return ``-1`` with an - exception set on failure, and `0` on success. + exception set on failure, and ``0`` on success. For example, if you called ``PyAwaitable_SaveValues(awaitable, 3, /* ... */)``, you must pass three non-``NULL`` ``PyObject *`` references, and then pass From db52c23c893567ef371cd6c871c414d64af07fed Mon Sep 17 00:00:00 2001 From: Peter Bierma Date: Sun, 17 Aug 2025 11:18:41 -0400 Subject: [PATCH 13/13] Yucky Netlify config. --- requirements.txt | 2 +- runtime.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index bc11b7b..781e4d4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ # Requirements for Netlify -sphinx~=8.2 +sphinx>=7.0 shibuya~=2025.8 diff --git a/runtime.txt b/runtime.txt index bd28b9c..c8cfe39 100644 --- a/runtime.txt +++ b/runtime.txt @@ -1 +1 @@ -3.9 +3.10