From a89a6f259fc125c485355c6902377d34226b84a6 Mon Sep 17 00:00:00 2001 From: elijahbenizzy Date: Mon, 8 Apr 2024 22:39:52 +0000 Subject: [PATCH] deploy: 20b22e049b75fba6b8900f0431b712db5532f4b2 --- .buildinfo | 4 + .doctrees/concepts/actions.doctree | Bin 0 -> 24076 bytes .../concepts/additional-visibility.doctree | Bin 0 -> 16264 bytes .doctrees/concepts/hooks.doctree | Bin 0 -> 14336 bytes .doctrees/concepts/index.doctree | Bin 0 -> 4048 bytes .../concepts/planned-capabilities.doctree | Bin 0 -> 17943 bytes .doctrees/concepts/state-machine.doctree | Bin 0 -> 26321 bytes .doctrees/concepts/state-persistence.doctree | Bin 0 -> 20961 bytes .doctrees/concepts/state.doctree | Bin 0 -> 9083 bytes .doctrees/concepts/streaming-actions.doctree | Bin 0 -> 14115 bytes .doctrees/concepts/tracking.doctree | Bin 0 -> 16651 bytes .doctrees/concepts/transitions.doctree | Bin 0 -> 9219 bytes .doctrees/contributing/architecture.doctree | Bin 0 -> 9368 bytes .doctrees/contributing/contributing.doctree | Bin 0 -> 15041 bytes .doctrees/contributing/index.doctree | Bin 0 -> 4770 bytes .doctrees/contributing/iterating.doctree | Bin 0 -> 10274 bytes .doctrees/contributing/setup.doctree | Bin 0 -> 7890 bytes .doctrees/environment.pickle | Bin 0 -> 1720679 bytes .doctrees/examples/agents.doctree | Bin 0 -> 3779 bytes .doctrees/examples/chatbot.doctree | Bin 0 -> 5802 bytes .doctrees/examples/creating_tests.doctree | Bin 0 -> 11630 bytes .doctrees/examples/index.doctree | Bin 0 -> 4760 bytes .doctrees/examples/ml_training.doctree | Bin 0 -> 4571 bytes .doctrees/examples/simple.doctree | Bin 0 -> 4426 bytes .doctrees/examples/simulation.doctree | Bin 0 -> 3728 bytes .doctrees/examples/web-server.doctree | Bin 0 -> 3884 bytes .doctrees/getting_started/index.doctree | Bin 0 -> 3696 bytes .doctrees/getting_started/install.doctree | Bin 0 -> 4226 bytes .../getting_started/simple-example.doctree | Bin 0 -> 22073 bytes .doctrees/getting_started/up-next.doctree | Bin 0 -> 12503 bytes .doctrees/getting_started/why-burr.doctree | Bin 0 -> 14000 bytes .doctrees/index.doctree | Bin 0 -> 13295 bytes .doctrees/main.doctree | Bin 0 -> 11156 bytes .doctrees/reference/actions.doctree | Bin 0 -> 164519 bytes .doctrees/reference/application.doctree | Bin 0 -> 314564 bytes .doctrees/reference/conditions.doctree | Bin 0 -> 37683 bytes .doctrees/reference/index.doctree | Bin 0 -> 4326 bytes .../reference/integrations/hamilton.doctree | Bin 0 -> 2738 bytes .../reference/integrations/index.doctree | Bin 0 -> 3046 bytes .../reference/integrations/streamlit.doctree | Bin 0 -> 3249 bytes .doctrees/reference/lifecycle.doctree | Bin 0 -> 93312 bytes .doctrees/reference/persister.doctree | Bin 0 -> 196075 bytes .doctrees/reference/state.doctree | Bin 0 -> 35688 bytes .doctrees/reference/telemetry.doctree | Bin 0 -> 9305 bytes .doctrees/reference/tracking.doctree | Bin 0 -> 3311 bytes .doctrees/reference/visibility.doctree | Bin 0 -> 31547 bytes .nojekyll | 0 CNAME | 1 + _images/counter.png | Bin 0 -> 7727 bytes _images/demo_graph.png | Bin 0 -> 45104 bytes _images/test-case-creation-burr.png | Bin 0 -> 83265 bytes _sources/concepts/actions.rst.txt | 182 +++ .../concepts/additional-visibility.rst.txt | 93 ++ _sources/concepts/hooks.rst.txt | 65 + _sources/concepts/index.rst.txt | 21 + .../concepts/planned-capabilities.rst.txt | 129 ++ _sources/concepts/state-machine.rst.txt | 141 ++ _sources/concepts/state-persistence.rst.txt | 92 ++ _sources/concepts/state.rst.txt | 46 + _sources/concepts/streaming-actions.rst.txt | 91 ++ _sources/concepts/tracking.rst.txt | 80 ++ _sources/concepts/transitions.rst.txt | 40 + _sources/contributing/architecture.rst.txt | 38 + _sources/contributing/contributing.rst.txt | 83 ++ _sources/contributing/index.rst.txt | 18 + _sources/contributing/iterating.rst.txt | 77 ++ _sources/contributing/setup.rst.txt | 55 + _sources/examples/agents.rst.txt | 10 + _sources/examples/chatbot.rst.txt | 24 + _sources/examples/creating_tests.rst.txt | 62 + _sources/examples/index.rst.txt | 18 + _sources/examples/ml_training.rst.txt | 10 + _sources/examples/simple.rst.txt | 7 + _sources/examples/simulation.rst.txt | 8 + _sources/examples/web-server.rst.txt | 6 + _sources/getting_started/index.rst.txt | 15 + _sources/getting_started/install.rst.txt | 14 + .../getting_started/simple-example.rst.txt | 165 +++ _sources/getting_started/up-next.rst.txt | 75 ++ _sources/getting_started/why-burr.rst.txt | 50 + _sources/index.rst.txt | 45 + _sources/main.rst.txt | 27 + _sources/reference/actions.rst.txt | 42 + _sources/reference/application.rst.txt | 20 + _sources/reference/conditions.rst.txt | 13 + _sources/reference/index.rst.txt | 23 + .../reference/integrations/hamilton.rst.txt | 15 + _sources/reference/integrations/index.rst.txt | 11 + .../reference/integrations/streamlit.rst.txt | 31 + _sources/reference/lifecycle.rst.txt | 46 + _sources/reference/persister.rst.txt | 59 + _sources/reference/state.rst.txt | 10 + _sources/reference/telemetry.rst.txt | 47 + _sources/reference/tracking.rst.txt | 12 + _sources/reference/visibility.rst.txt | 18 + _static/basic.css | 925 +++++++++++++ _static/counter.png | Bin 0 -> 7727 bytes _static/debug.css | 69 + _static/demo_graph.png | Bin 0 -> 45104 bytes _static/doctools.js | 156 +++ _static/documentation_options.js | 13 + _static/file.png | Bin 0 -> 286 bytes _static/language_data.js | 199 +++ _static/minus.png | Bin 0 -> 90 bytes _static/plus.png | Bin 0 -> 90 bytes _static/pygments.css | 258 ++++ _static/scripts/furo-extensions.js | 0 _static/scripts/furo.js | 3 + _static/scripts/furo.js.LICENSE.txt | 7 + _static/scripts/furo.js.map | 1 + _static/searchtools.js | 574 +++++++++ _static/skeleton.css | 296 +++++ _static/sphinx_highlight.js | 154 +++ _static/styles/furo-extensions.css | 2 + _static/styles/furo-extensions.css.map | 1 + _static/styles/furo.css | 2 + _static/styles/furo.css.map | 1 + concepts/actions/index.html | 511 ++++++++ concepts/additional-visibility/index.html | 442 +++++++ concepts/hooks/index.html | 402 ++++++ concepts/index.html | 401 ++++++ concepts/planned-capabilities/index.html | 475 +++++++ concepts/state-machine/index.html | 480 +++++++ concepts/state-persistence/index.html | 450 +++++++ concepts/state/index.html | 400 ++++++ concepts/streaming-actions/index.html | 425 ++++++ concepts/tracking/index.html | 439 +++++++ concepts/transitions/index.html | 394 ++++++ contributing/architecture/index.html | 409 ++++++ contributing/contributing/index.html | 432 +++++++ contributing/index.html | 378 ++++++ contributing/iterating/index.html | 423 ++++++ contributing/setup/index.html | 405 ++++++ examples/agents/index.html | 372 ++++++ examples/chatbot/index.html | 381 ++++++ examples/creating_tests/index.html | 417 ++++++ examples/index.html | 372 ++++++ examples/ml_training/index.html | 353 +++++ examples/simple/index.html | 353 +++++ examples/simulation/index.html | 351 +++++ examples/web-server/index.html | 332 +++++ genindex/index.html | 821 ++++++++++++ getting_started/index.html | 357 ++++++ getting_started/install/index.html | 355 +++++ getting_started/simple-example/index.html | 500 ++++++++ getting_started/up-next/index.html | 428 +++++++ getting_started/why-burr/index.html | 420 ++++++ index.html | 384 ++++++ main/index.html | 346 +++++ objects.inv | Bin 0 -> 2192 bytes reference/actions/index.html | 972 ++++++++++++++ reference/application/index.html | 1139 +++++++++++++++++ reference/conditions/index.html | 487 +++++++ reference/index.html | 416 ++++++ reference/integrations/hamilton/index.html | 349 +++++ reference/integrations/index.html | 355 +++++ reference/integrations/streamlit/index.html | 354 +++++ reference/lifecycle/index.html | 650 ++++++++++ reference/persister/index.html | 981 ++++++++++++++ reference/state/index.html | 452 +++++++ reference/telemetry/index.html | 387 ++++++ reference/tracking/index.html | 350 +++++ reference/visibility/index.html | 470 +++++++ robots.txt | 3 + search/index.html | 329 +++++ searchindex.js | 1 + sitemap.xml | 2 + 167 files changed, 25905 insertions(+) create mode 100644 .buildinfo create mode 100644 .doctrees/concepts/actions.doctree create mode 100644 .doctrees/concepts/additional-visibility.doctree create mode 100644 .doctrees/concepts/hooks.doctree create mode 100644 .doctrees/concepts/index.doctree create mode 100644 .doctrees/concepts/planned-capabilities.doctree create mode 100644 .doctrees/concepts/state-machine.doctree create mode 100644 .doctrees/concepts/state-persistence.doctree create mode 100644 .doctrees/concepts/state.doctree create mode 100644 .doctrees/concepts/streaming-actions.doctree create mode 100644 .doctrees/concepts/tracking.doctree create mode 100644 .doctrees/concepts/transitions.doctree create mode 100644 .doctrees/contributing/architecture.doctree create mode 100644 .doctrees/contributing/contributing.doctree create mode 100644 .doctrees/contributing/index.doctree create mode 100644 .doctrees/contributing/iterating.doctree create mode 100644 .doctrees/contributing/setup.doctree create mode 100644 .doctrees/environment.pickle create mode 100644 .doctrees/examples/agents.doctree create mode 100644 .doctrees/examples/chatbot.doctree create mode 100644 .doctrees/examples/creating_tests.doctree create mode 100644 .doctrees/examples/index.doctree create mode 100644 .doctrees/examples/ml_training.doctree create mode 100644 .doctrees/examples/simple.doctree create mode 100644 .doctrees/examples/simulation.doctree create mode 100644 .doctrees/examples/web-server.doctree create mode 100644 .doctrees/getting_started/index.doctree create mode 100644 .doctrees/getting_started/install.doctree create mode 100644 .doctrees/getting_started/simple-example.doctree create mode 100644 .doctrees/getting_started/up-next.doctree create mode 100644 .doctrees/getting_started/why-burr.doctree create mode 100644 .doctrees/index.doctree create mode 100644 .doctrees/main.doctree create mode 100644 .doctrees/reference/actions.doctree create mode 100644 .doctrees/reference/application.doctree create mode 100644 .doctrees/reference/conditions.doctree create mode 100644 .doctrees/reference/index.doctree create mode 100644 .doctrees/reference/integrations/hamilton.doctree create mode 100644 .doctrees/reference/integrations/index.doctree create mode 100644 .doctrees/reference/integrations/streamlit.doctree create mode 100644 .doctrees/reference/lifecycle.doctree create mode 100644 .doctrees/reference/persister.doctree create mode 100644 .doctrees/reference/state.doctree create mode 100644 .doctrees/reference/telemetry.doctree create mode 100644 .doctrees/reference/tracking.doctree create mode 100644 .doctrees/reference/visibility.doctree create mode 100644 .nojekyll create mode 100644 CNAME create mode 100644 _images/counter.png create mode 100644 _images/demo_graph.png create mode 100644 _images/test-case-creation-burr.png create mode 100644 _sources/concepts/actions.rst.txt create mode 100644 _sources/concepts/additional-visibility.rst.txt create mode 100644 _sources/concepts/hooks.rst.txt create mode 100644 _sources/concepts/index.rst.txt create mode 100644 _sources/concepts/planned-capabilities.rst.txt create mode 100644 _sources/concepts/state-machine.rst.txt create mode 100644 _sources/concepts/state-persistence.rst.txt create mode 100644 _sources/concepts/state.rst.txt create mode 100644 _sources/concepts/streaming-actions.rst.txt create mode 100644 _sources/concepts/tracking.rst.txt create mode 100644 _sources/concepts/transitions.rst.txt create mode 100644 _sources/contributing/architecture.rst.txt create mode 100644 _sources/contributing/contributing.rst.txt create mode 100644 _sources/contributing/index.rst.txt create mode 100644 _sources/contributing/iterating.rst.txt create mode 100644 _sources/contributing/setup.rst.txt create mode 100644 _sources/examples/agents.rst.txt create mode 100644 _sources/examples/chatbot.rst.txt create mode 100644 _sources/examples/creating_tests.rst.txt create mode 100644 _sources/examples/index.rst.txt create mode 100644 _sources/examples/ml_training.rst.txt create mode 100644 _sources/examples/simple.rst.txt create mode 100644 _sources/examples/simulation.rst.txt create mode 100644 _sources/examples/web-server.rst.txt create mode 100644 _sources/getting_started/index.rst.txt create mode 100644 _sources/getting_started/install.rst.txt create mode 100644 _sources/getting_started/simple-example.rst.txt create mode 100644 _sources/getting_started/up-next.rst.txt create mode 100644 _sources/getting_started/why-burr.rst.txt create mode 100644 _sources/index.rst.txt create mode 100644 _sources/main.rst.txt create mode 100644 _sources/reference/actions.rst.txt create mode 100644 _sources/reference/application.rst.txt create mode 100644 _sources/reference/conditions.rst.txt create mode 100644 _sources/reference/index.rst.txt create mode 100644 _sources/reference/integrations/hamilton.rst.txt create mode 100644 _sources/reference/integrations/index.rst.txt create mode 100644 _sources/reference/integrations/streamlit.rst.txt create mode 100644 _sources/reference/lifecycle.rst.txt create mode 100644 _sources/reference/persister.rst.txt create mode 100644 _sources/reference/state.rst.txt create mode 100644 _sources/reference/telemetry.rst.txt create mode 100644 _sources/reference/tracking.rst.txt create mode 100644 _sources/reference/visibility.rst.txt create mode 100644 _static/basic.css create mode 100644 _static/counter.png create mode 100644 _static/debug.css create mode 100644 _static/demo_graph.png create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/file.png create mode 100644 _static/language_data.js create mode 100644 _static/minus.png create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/scripts/furo-extensions.js create mode 100644 _static/scripts/furo.js create mode 100644 _static/scripts/furo.js.LICENSE.txt create mode 100644 _static/scripts/furo.js.map create mode 100644 _static/searchtools.js create mode 100644 _static/skeleton.css create mode 100644 _static/sphinx_highlight.js create mode 100644 _static/styles/furo-extensions.css create mode 100644 _static/styles/furo-extensions.css.map create mode 100644 _static/styles/furo.css create mode 100644 _static/styles/furo.css.map create mode 100644 concepts/actions/index.html create mode 100644 concepts/additional-visibility/index.html create mode 100644 concepts/hooks/index.html create mode 100644 concepts/index.html create mode 100644 concepts/planned-capabilities/index.html create mode 100644 concepts/state-machine/index.html create mode 100644 concepts/state-persistence/index.html create mode 100644 concepts/state/index.html create mode 100644 concepts/streaming-actions/index.html create mode 100644 concepts/tracking/index.html create mode 100644 concepts/transitions/index.html create mode 100644 contributing/architecture/index.html create mode 100644 contributing/contributing/index.html create mode 100644 contributing/index.html create mode 100644 contributing/iterating/index.html create mode 100644 contributing/setup/index.html create mode 100644 examples/agents/index.html create mode 100644 examples/chatbot/index.html create mode 100644 examples/creating_tests/index.html create mode 100644 examples/index.html create mode 100644 examples/ml_training/index.html create mode 100644 examples/simple/index.html create mode 100644 examples/simulation/index.html create mode 100644 examples/web-server/index.html create mode 100644 genindex/index.html create mode 100644 getting_started/index.html create mode 100644 getting_started/install/index.html create mode 100644 getting_started/simple-example/index.html create mode 100644 getting_started/up-next/index.html create mode 100644 getting_started/why-burr/index.html create mode 100644 index.html create mode 100644 main/index.html create mode 100644 objects.inv create mode 100644 reference/actions/index.html create mode 100644 reference/application/index.html create mode 100644 reference/conditions/index.html create mode 100644 reference/index.html create mode 100644 reference/integrations/hamilton/index.html create mode 100644 reference/integrations/index.html create mode 100644 reference/integrations/streamlit/index.html create mode 100644 reference/lifecycle/index.html create mode 100644 reference/persister/index.html create mode 100644 reference/state/index.html create mode 100644 reference/telemetry/index.html create mode 100644 reference/tracking/index.html create mode 100644 reference/visibility/index.html create mode 100644 robots.txt create mode 100644 search/index.html create mode 100644 searchindex.js create mode 100644 sitemap.xml diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 000000000..e7e07d9b1 --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 8a1100ee3fd8a3a485e4cdcbcf429e7a +tags: d77d1c0d9ca2f4c8421862c7c5a0d620 diff --git a/.doctrees/concepts/actions.doctree b/.doctrees/concepts/actions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ef60faa2bd847f195b5431832bb088cbdee66926 GIT binary patch literal 24076 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 F`u~BS22%h4 literal 0 HcmV?d00001 diff --git a/.doctrees/concepts/additional-visibility.doctree b/.doctrees/concepts/additional-visibility.doctree new file mode 100644 index 0000000000000000000000000000000000000000..29c9d2b529571663d0d6403738661618ab8fcb47 GIT binary patch literal 16264 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 literal 0 HcmV?d00001 diff --git a/.doctrees/concepts/hooks.doctree b/.doctrees/concepts/hooks.doctree new file mode 100644 index 0000000000000000000000000000000000000000..87f98aa915d7da8179ad820690122a8ade24fd90 GIT binary patch literal 14336 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 literal 0 HcmV?d00001 diff --git a/.doctrees/concepts/state-machine.doctree b/.doctrees/concepts/state-machine.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ac9d8b1ddf8e9d6b0073489462eb430f56362091 GIT binary patch literal 26321 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 eKR2(Fu8$+sHktD#y;oSVDGp^Wo06-fQTrcaZa{

N}!HJc7jUJ7;dYZCn>x3DhE-?wmQ7 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 P^~qb7j)g>)5BvWHNG=uU literal 0 HcmV?d00001 diff --git a/.doctrees/concepts/streaming-actions.doctree b/.doctrees/concepts/streaming-actions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ae185789eee261c6c3568009fb1134a04c0335ee GIT binary patch literal 14115 zcmeHO+ix6K8Bdz59dB$W4y{|1rkn;9+r_&ZlyZ^5Z9}TIR)o1U&{US0ot-(mGwa!z z>6{r~1ffNuQX`$W4k|nWe*u31Z-|FVJb+Xo@mO*B4}d4&_nkAh-T1P0%T=iwYv;^4 z-}%mWzWevho3$T4_W4ulKY2lfj_dC>P22VZn~PMQvjZy`a6eApNteE#-c1+fRAlam zAc-uV%2SwOIj(0%+)p=CIZM-H*AvZb{iNVl>;`_Z+^IPe&g5pg=uF94?8Y9iypnUT z#1S_KuHR!f)H;#UWXwH#o9_}5`%QT()tF6$Ch&+;XHHHT1>(*bIg#PJF3)=rzYo{O=c9!jBMG8Ce|l#8s|w+?UVTT6#gyX-x8e$D7$t_C;d#C zIG=VJ*rQhB>@2JOra(rs7nz|`xtcpSPoFxK-3hZypLIBM2cgG_Ik?SC!3um>#6{x8 zqRDPMu3+3ZJ02IzWL~htBNn>@-iU)n*TpgMV~hLD^Z|kmf(TFnFQOA|^Sb)oH7y!t zvBR;m;4J8}8*9uAL(jEL;x560sIoogV#P zmg_NLi~mg)2Z4t_8S3oy#I?47c_Q$qz%TF#wioz4jM6tQmt2ScxO4bzO*t zXzDAPe?ZQUh@6@1gNawQ;H^7Pka#nA~jM7vWxDVqLnNUE6=R#-ZMyhIMrs$2~#(YqDEjMlx zwR%u8TA&Bqb^#|>T_pUZZ&jGR5Q$}4tqdK!dpLTXAR+$b1J-t6R@s-FI1a^1tF^PU(+u}wC-9p=)N9#%yA|?K z(4WS&>tDFmdbVve>tG+|xIL%g!SH#^wYf=dn__rC-4`R80A&tk5-@my@FGpjdnFFS zHR3U{laL<1OCC9X>!X=$+w>ByAp?MBG!29{vP_6mq!H>y2m#2=r)>xs%+FQ_nTXMm zHI2w%(1Z2?lq>?TOghz@Zbjc|r;#M*34IYCy!qpOucE?-?^Q*>`Dvl2$C97lRu>;F zKkq5|xqgD{KM>(5gqgX^RTcm1Ct#RdPn;!QtL*rv@lGkvDtAxn<)m%8N#v$-X>6ud zLiPs;84;>kT*dNn_+B3(cWN_aO3zj!S2(i;md;;QoG0rAHSP4)=?s;5dG%;vsu1kM z@KnDJH8LK-31d>rnysEF*=j!-9s|9(`{X?5h?ybzFG2MmKOwR|`mfa>rIj7J#efLR;yv|5yhv`DP;97JjUwg^P_V*S8SKi%8~|!3g3~@Gto%&4<^mNRjbtK$ z2}mS@Ad2G^Yh(hV@KmBw-cW|4nwAqh-(ppR+PInzT-{vC%)kR_e<1CdaFx9DK-wdp z{eMZjb{?F|{TJXnh-!*>BsiB-y8~}Ugs3~9zJ<6MMr#{CYp@U)x+l+hrr%3o>?o{O z;VMdB6p?!5@)%^Yk^O}S)&DZNDLSeAXvOy^a)Wnzm~b1BpcnL9iyT~mszzMo#oBFc z$jD7-x0l(D<5~_)%hXtrWy^x?Jjr%YF0D?6Bbzj!jGIn#R-?^j6^?2(e8`4*Dk;nA zRUr_7x&n}+qg67>K?eorK7#S;Nrzm0mD{>6D$Y~1Mc}<$FQ^kz1y9BL?Y2HiyIn@n zmk%L$B?x$J#Ko*c(X+$Y=J7%FrkBBLc8BZP>OCBCa4#j~7#E?hFk6Du9zTj#IdJ$JWVD7^cD-W0(I$H()6m9*l zFn19~`~r&nurQ+k4NU02LVs@K&%ORP@wW&V`mf^Yz98X7X(%dPBR{wyiVB+GC>wQx zZRGxTI923qc=WomE>MAjn~X=iqtcwoI*27uYZ7~YObJYjiKK_ZohmjBI_QN{ZguGm zDBpkIieBkHn+IW|%TgZ!J{9NT*Pv3hY*2B+$8uucA6b92^G!P{=ewqeF*Yt*d$!w! zL!}2Q>;HUmT&7F!6+L97J2Fb1@qDY-_T{o)-9)k*66x(B7`p+Mu~a|7a8@7Paark6 zBq623x!q*1a`2nyQBNQ>9f2K%gI565Xb|FiEKYoGKgnK1|3R>$dCnCArB#$#dtlY1 zQx?PYGo_?kFWh+PRg_dkW6ig8=cHOCTAzCcm0;CglJyM2&<<1;x8&1$d7cWz{xNb1 z6^5EBj-B6OO_8CpdJ_Ixl^u^}C)!W3(*`K*_3VH^! zgps@t@%t;V{Uwk?6=C}|umTlda~$X8`~fUn3i#-Cjwj$7rGS?UD(#PXqjBXZWp8BO zS~%PrSqI27n)Owa2zrwbX8xk%+F6zlqwCfey64M4<)Mc#KzCf%;vhzM&#hCkp3mVZ zPoGMNT&Lx%rS*|fbZ<}RBf5)Qo)bKdp>EKqK38;}qi#o481y+$e2cm_L{Zq26X-h$ zlQ>;>F09L`qCX|Y1GPXwQw>5qoYxzorO@BPV?BFJA`ee9abOwL|4nbPaSa+X+Dql7 zZV<%ij^UM;w@%9$YJf*Kj8*!k-7&r5u_ovEt{bC09ECBFPpZk9%{xgC+s&e;NIAf)fgB@K zAiu@wQ0d!p*7ZRn1I?}hsq$1#C2_a$g@$nP`|;tI29Kg3GIW<&1d0=?R-DQUn$i_0 zH3cP=S4Q59fat#tagnncZiz#_`tjixBa7ulIsdSj9C}aK^zEfR97l4LF4hZE8IAU2$o^Hf;#DOkPOSo zTr?nN(>RQPFeoF4=`-0hqwAspkUnOZr(f6v*=#EG;%*3C#+OWz_XgbU^jZpdDAmNaYseFWHDg-dopr9HWL8aHx z+V#}6XF$){sB4XYr;!r;r*iNRR+Cs3J^4+S$6ehl7FaDO9(XNqY;1NQMRx3@x6a8c z;K_keh-c9WW9SV3J$X^N$Gb+6!B6p>2-^BnIV}bz1nu<%axFlpkEv( zE6AtNHw!${@&+m^5@PjM5~5;2AI7M!T{1mz58M-2uHOX@?<5FtJl?P?Vdct z{cZXZMxN8^gcFlpbbT9NEP(O!MMZg*9iTf0|sgzxS`x;5Gb7Myv^j=1zPt|lUeWSU*rReV}>m6F-iCt66Forf&&eSQ!04vU&~-_hm%@96Rl zb1`a}`8zGo>Q>jYYwIt5m28myI1M^cf9-XvMwPhtH9UE~IKN`}^R91siA@65Bk~|m O3d@iwQF3>ZPV=8fs(SAL literal 0 HcmV?d00001 diff --git a/.doctrees/concepts/tracking.doctree b/.doctrees/concepts/tracking.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f2084b6a89d10b4d00358b2c24ce8b08996eea26 GIT binary patch literal 16651 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 literal 0 HcmV?d00001 diff --git a/.doctrees/contributing/architecture.doctree b/.doctrees/contributing/architecture.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8e79b9538819ce9b7fc704bbf1473880b212e148 GIT binary patch literal 9368 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 literal 0 HcmV?d00001 diff --git a/.doctrees/contributing/contributing.doctree b/.doctrees/contributing/contributing.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2bf1bf3ec5de3307dc21499d1a37649de1144359 GIT binary patch literal 15041 zcmd5@+mGDVd6z8hZM0WeUfY!vQ<3aQmS(0-oJ(a#jl7auSG6oivQnT3I2`iKkh2_; z;YGU(w1ADkh&MTJo&ZH|1&SiCMIRazed|BaCXJI8MO&Z-`j(^!j21=v(%*Lu4|&Md zj%KtrS^+znAghN7h-EG3A5N{BYp@YY}fOhm<6M+jQBDQPdz_r<@4tfW~W{l6w}=qch;Tz%ILhi zz-Lk~^_ljHFK&cE8hc%=5%fni4#SS#W!toW?d>}w3D0a~VfS?8uJHx40M|XjXLBfT z@}s^Nu+hz|Yw?Da$_;=WVROWD5`uir_N^qrLwuhJtfBli?_^Q=qifllG3(KojL)T3 zpI(jJ75AjO=$>+qxTpD*wi^yvJI;cD#qF&y-fVZXIF=s(E@|5uhLsw5UHlo-IV8AS$aD&hUJsH>sVNwF- z&hUF54_Z>7*7-_}Xc~OKp~Gjn&p<@nGmyfw_^BTFH_7h9{KheF%^9Rm6W zZxnoWMmG-UIIQ!}KAL3hBR_0k{tysN_q2Nn`ZS}|Q&4e*1+Ztal`_ZlJ!o7hcBNrj zpf{$MvZ3~x8yir&lo=LOAl@XUBMppM6eeC8#yc%Z$(FQ}Fm!=1VCxf1ED?+*6F?oo zc_8S+wvDC60E7B+ZK4Wk-=+eTuU`+6ECy!2Z=@_q6C;8#+=I_MIX?RhFR}Rg^jIta zz^@$$i!-lVo5Y=4x5;u5Z^*)pW6*bVgeI6-;`aUNaccm#ZyyM^_ANL>BMgMCSE!{x zkHraL8?*Z!+cI|Gmw|t)Q4>Ypnr^NDOeXexE@WI9Ja<6}zd@p4>*VLZatEcc*gec9& z(>EB4r0gNw7<#ZD!_dimE3S#5`(L@jjhRsb{NK|9{5Syq&q+k+!;+F!Q~1nP$1xE4 z+OZd<-hGA$h%hn`5GGb1QK7(~ApBtE@S#IFQV*S4pf*^eSt4STkU8CDeeo^5pzl-JOFu0(Uf1xjSkKN7M}0NHZ~MfQ`L zV+&v(dvM@zbcx|wV6AX3010{t7RzA_`;q*2XYP(p*{*(8%12LV=zK zz%DmlXcWx0#PA{IDE=savoLa1%s_zac`0B&w) zNKjkRj#_EU4Uth&%ti^NfgC!4l}bF~fpH(8kX+|cw?gKk(PxN(5SGjBuU-8ughP!N zCCo{R7eiP(tk;TyzS>Dp2l#K5lO6=B(Fwwob;EG8R#aX1vla<9B!GTG^noaK zOqa`2$LsJ-rsHQTI$q8}2}K3LWgS?5mKVgyUQm@w53do~Y70GC9wmf9vphG@>dTcO zdO@YAGplX%Dh(Av##CumuCe>f40q9~;}D?!yd>eZY4}3NKZC2q3=z|x9}m)z zjo*DuNrw1dZvAGl&?JQc+WK}eLu`GqVxeDp1&2>m!hogR!hsM>W5@Qr4$LL;1DMJ# zf_wvRBW^ndnR=ED8!M~7Wb2OaT|^UNyVzesJa``_s0iI=#C8R;*jt;rS(`fE!sU*S z_7fKF+(bx}q^$#5%BDKtP^THX^J{7(u8{Ui&p$8HC=fA^Kpk=-VJw^oIhrnlM)#88 zgu+STza%t7PPOGF?D^*eRA+M zLF=(>DUMm%`w{BxyOeEidB|$JsJUcuz=%@t#Slg+*;6XpxgYY-f*#tY;~`(IQ%=FZT&1YC;13Uk#Tluh`?2PO zw|<~)Rfl~t{d{3RvAcK|ry^MZ2$(UTA_{$hp+g}-)FpCzNA--NYChGR(z5)`G(;*C z=EW-H3w$Y0^3ARv+MAj^;8)H;J7CD0O+ej5ZJpt35H{h}0^_XIErn~2B1$D90RQ}_ zUwlEa`Jl^4i~;t)0O4fJfg@ko9{QJ)$f6#Rc^tS1pwL(W{l=qRKJQyWKSMnoC+S@) zanU*AdVSZ&Uuxo*n|d=~g$Mscl$FQ0pR1CqsKE1Yg3-Cc7qu;EZ89{b2)4g^-MCnc zAvt*EI^_cNtwTEDA;^bGA+v-G6wL@N<0fK-GV{P-Q86w?+mx~dsb~490)=Gb$xfF& z5LYyyit5PZP-$xMVNJNInZ>+`FNy7*9*&MK6z23}-J|5_XQz>w!u)=z zLYXQ@pQ&(EkqO3k7&eJSimMMDS8#UYBj@ZZ75FvIei5b%rF;}$@>)5v4deU{OE1Wn zf_l^F1fg(>Z@xyEfUL6@ygT43C3o&T5_ev$U{~eNsdI+y2#46tyv8{rh=#(`!*s{! zpp$X)_(268zg>a6v@ZMzB|l{no&T)n&-Fx-vbiz2?cyzTB*Kddy;Yc3AC`>x zgQ*xnspU>FL!_2;P+q#-dv}m9;z$A|KIpxTx*bAw)ZP$=qs`FI91-OU(-Q5ZF2y4` zutDyA)oi@`+YO z6xy~k#32{Ti?TM_>4+}TVlZ+Vq(`F9l2W3aa?K>&!BLnjt?ubW_#WW{;eSwh@{en{ z)-#%7VCv}M|WIJhEsRoxZ`9teDCOm|19cAjm}g9qrnRQNoY79}T9&2UuV9__4oe+}9( zi{L#krzDil>pslthWA;$DRJ-*M2>yL{vQicJ*YM{52X`?QW7*Pe`})iueAlnaz`cc zwCi*tzX#5W$Ul{f{2pE@xK9Yluf5i=_;4yLas?=`_>=!bktkB9hsZ>!e|1t$rhj*! zS3eVM8_VGb>)-xcJfH!k?o@AAisXyR(u*jw3>MUL>FDd_@Osn$n^3~USBlCmN(NK_ zFPAM}<+btp%9VCVRJFBb7t4A+ikIb@_2<<92bUy7+nWd|aMNLbau?S(+)MlfWIITF z(b;4ot?HwqAg^!C;Fu3>5jPI;h8n}raegSH8t!4fY@=*~Jl!m=f-I^h@=6GwN7O=> zO>oy`t+>2`^U5Ga8w=!qZV$pV=lMo5j`<;z|G8ky(<3LT6Z z@r5kyHNVhIJbXV@eQB~d4r3EZrsK016em#abi`LArL|RN#400xy7s2F#Nf+Ekrgk? zbxRo3>{HbjwaI*yaDc2OE=c5y3f7XUR)OLUN>-2IvJ-zCXTm7* zj9RB}*aU8$nzz6kTFn8=kKtBW@e?AtM*0QG3HlI3-$M)S==If4@#Tm`W#a@Pvq(=+ z17s#C2Y*Uko5AA*&0&-|w8FUG9`Pq=qyPXTO*D3aJ*g-#vZ(p&ufGU-F2_B)wmdy4 zmw!$zPX?Amc9X>|kEK1a2Mj>lO@}@LjNVbiBm9ln?hk(QcY&4lfJmp?9k%bz9+y%seXg0!bmX8}B5ywo>PS&$I3 zH?s&eQ@UFx8&9Mi*oE|jIH~JF29#kqPNpKsy0vlM5J@67v!piCb-2wDWMN<5x#;u;_sTEO=%U&}A@L0J8sG;6#32n+7hwK_g8%?b1uqUZ&( zVZxLbmIQWd01Bd&;$k1f2HhTHzWMRWQ+d%2kFi>>_(3;|=#Czq&(TBq{run(lzeaj zAMQQ(&fp5w#9pG0&(X(c=;IuXI71)z;o1iYeVn47Pvaxw3$z;bhzL(2*4uUOy(^a5 z70c|3C3eO1T`_exbI;&PnA~^Kz2m+vHg(^ZJ5p<>+>s81<&JbdD|Qr~KjTZf6bZDJ zY>!fC&;_WuL88+QUBdB6egY;Gfe{vMe2&geGO66Gi;c+o=-(2o}ut@8L- c@mR>xvAmQ3+3k~(G#oOzxqYHY0yiB07iZ+pbpQYW literal 0 HcmV?d00001 diff --git a/.doctrees/contributing/index.doctree b/.doctrees/contributing/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..33b54252121e99b8a4b2973b5befcaee6415a854 GIT binary patch literal 4770 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 ZvKKmj<`M?S#3LP-$g|`b$_TPy?>_~;ZeIWZ literal 0 HcmV?d00001 diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..7ac2e877277d6dd30b2f3f866d7c64f14300e072 GIT binary patch literal 1720679 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 kE*3m&;(to`kAfZ~i<$yEUR-;9}Y9BfB*mh literal 0 HcmV?d00001 diff --git a/_images/test-case-creation-burr.png b/_images/test-case-creation-burr.png new file mode 100644 index 0000000000000000000000000000000000000000..4fe992f751a8092251afec622058e9b9137e6394 GIT binary patch literal 83265 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

{NmH_aSnrf{Q@2 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 W4&5|(`Sc9)qetJeTFyy literal 0 HcmV?d00001 diff --git a/_sources/concepts/actions.rst.txt b/_sources/concepts/actions.rst.txt new file mode 100644 index 000000000..3f1e9a2d2 --- /dev/null +++ b/_sources/concepts/actions.rst.txt @@ -0,0 +1,182 @@ +======= +Actions +======= + +.. _actions: + + +Actions do the heavy-lifting in a workflow. They should contain all complex compute. You can define actions +either through a class-based or function-based API. If actions implement ``async def run`` then will be run in an +asynchronous context (and thus require one of the async application functions). + +Actions have two primary responsibilities: + +1. ``run`` -- compute a result +2. ``update`` -- modify the state + +The ``run`` method should return a dictionary of the result and the ``update`` method should return +the updated state. They declare their dependencies so the framework knows *which* state variables they read and write. This allows the +framework to optimize the execution of the workflow. We call (1) a ``Function`` and (2) a ``Reducer`` (similar to `Redux `_, if you're familiar with frontend UI technology). + +.. _inputref: + +-------------- +Runtime Inputs +-------------- + +Actions can declare inputs that are not part of the state. This is for the case that you want to pause workflow execution for human input. + +For instance, say you have a chatbot. The first step will declare the ``input`` parameter ``prompt`` -- it will take that, process it, and put +it in the state. The subsequent steps will read the result of that from state. + +There are two APIs for defining actions: class-based and function-based. They are largely equivalent, but differ in use. + +- use the function-based API when you want to write something quick and terse that reads from a fixed set of state variables +- use the class-based API when you want to leverage inheritance or parameterize the action in more powerful ways + +------------------- +Class-Based Actions +------------------- + +You can define an action by implementing the :py:class:`Action ` class: + +.. code-block:: python + + from burr.core import Action, State + + class CustomAction(Action): + @property + def reads(self) -> list[str]: + return ["var_from_state"] + + def run(self, state: State) -> dict: + return {"var_to_update": state["var_from_state"] + 1} + + @property + def writes(self) -> list[str]: + return ["var_to_update"] + + def update(self, result: dict, state: State) -> State: + return state.update(**result) + +You then pass the action to the :py:class:`ApplicationBuilder `: + +.. code-block:: python + + from burr.core import ApplicationBuilder + + app = ApplicationBuilder().with_actions( + custom_action=CustomAction() + )... + + +Note that if the action has inputs, you have to define the optional ``inputs`` property: + +.. code-block:: python + + from burr.core import Action, State + + class CustomAction(Action): + @property + def reads(self) -> list[str]: + return ["var_from_state"] + + def run(self, state: State, increment_by: int) -> dict: + return {"var_to_update": state["var_from_state"] + increment_by} + + @property + def writes(self) -> list[str]: + return ["var_to_update"] + + def update(self, result: dict, state: State) -> State: + return state.update(**result) + + @property + def inputs(self) -> list[str]: + return ["increment_by"] + + +---------------------- +Function-based actions +---------------------- + +You can also define actions by decorating a function with the :py:func:`@action ` decorator: + +.. code-block:: python + + from burr.core import action, State + + @action(reads=["var_from_state"], writes=["var_to_update"]) + def custom_action(state: State) -> Tuple[dict, State]: + result = {"var_to_update": state["var_from_state"] + 1} + return result, state.update(**result) + + app = ApplicationBuilder().with_actions( + custom_action=custom_action + )... + +Function-based actions can take in parameters which are akin to passing in constructor parameters. This is done through the :py:meth:`bind ` method: + +.. code-block:: python + + @action(reads=["var_from_state"], writes=["var_to_update"]) + def custom_action(state: State, increment_by: int) -> Tuple[dict, State]: + result = {"var_to_update": state["var_from_state"] + increment_by} + return result, state.update(**result) + + app = ApplicationBuilder().with_actions( + custom_action=custom_action.bind(increment_by=2) + )... + +This is the same as ``functools.partial``, but it is more explicit and easier to read. If an action has parameters that are not +bound, they will be referred to as inputs. For example: + + +.. code-block:: python + + @action(reads=["var_from_state"], writes=["var_to_update"]) + def custom_action(state: State, increment_by: int) -> Tuple[dict, State]: + result = {"var_to_update": state["var_from_state"] + increment_by} + return result, state.update(**result) + + app = ApplicationBuilder().with_actions( + custom_action=custom_action + )... + +Will require the inputs to be passed in at runtime. + +Note that these combine the ``update`` and ``run`` methods into a single function, and they're both executed at the same time. + +----------- +``Inputs`` +----------- + +If you simply want a node to take in inputs and pass them to the state, you can use the `Input` action: + +.. code-block:: python + + app = ApplicationBuilder().with_actions( + get_input=Input("var_from_state") + )... + +This will look for the `var_from_state` in the inputs and pass it to the state. Note this is just syntactic sugar +for declaring inputs through one of the other APIs and adding it to state -- if you want to do anything more complex +with the input, you should use other APIs. + +----------- +``Results`` +----------- + +If you just want to fill a result from the state, you can use the `Result` action: + +.. code-block:: python + + app = ApplicationBuilder().with_actions( + get_result=Result("var_from_state") + )... + + +This simply grabs the value from the state and returns it as the result. It is purely a placeholder +for an action that should just use the result, although you do not need it. + +Refer to :ref:`actions ` for documentation. diff --git a/_sources/concepts/additional-visibility.rst.txt b/_sources/concepts/additional-visibility.rst.txt new file mode 100644 index 000000000..9a6fa14d2 --- /dev/null +++ b/_sources/concepts/additional-visibility.rst.txt @@ -0,0 +1,93 @@ +===================== +Additional Visibility +===================== + +Burr comes with the ability to see inside your actions. This is a very pluggable framework +that comes with the default tracking client. + + +------- +Tracing +------- + +Burr comes with a tracing capability to see recursive spans inside an action. This is similar to +the `OpenTelemetry `_ sdk, although it is simplified significantly. + +To add the tracing capability, the action first has to declare a ``__tracer`` input. This is a +an object that instantiates spans and tracks state. + +Then, using the `__tracer` as a callable, you can instantiate spans and track state. + +For the function-based API, this would look as follows: + +.. code-block:: python + + from burr.visibility import TracingFactory + from burr.core import action + + @action(reads=['input_var'], writes=['output_var']) + def my_action(state: State, __tracer: TracingFactory) -> Tuple[dict, State]: + with __tracer('process_data'): + initial_data = _process_data(state['input_var']) + with __tracer('validate_data'): + _validate(initial_data) + with __tracer('transform_data', dependencies=['process_data']): + transformed_data = _transform(initial_data) + return {'output_var': transformed_data}, state.update({'output_var': transformed_data}) + + +This would create the following traces: + +#. ``process_data`` +#. ``validate_data`` as a child of ``process_data`` +#. ``transform_data`` as a causal dependent of ``process_data`` + +Dependencies are used to express [dag](-style structures of spans within actions. This is useful for gaining visibility into the internal structure +of an action, but is likely best used with integrations with micro-orchestration systems for implementating actions, such as Hamilton or Lanchain. +This maps to the `span link `_ concept in OpenTelemetry. + +Note that, on the surface, this doesn't actually *do* anything. It has to be paired with the appropriate hooks. +These just function as callbacks (on enter/exit). The :py:class:`LocalTrackingClient `, used by the +:ref:`tracking ` feature forms one of these hooks, but we will be adding more, including: + +1. An OpenTelemetry client +2. A DataDog client + +.. note:: + + The class-based API can leverage this by declaring ``inputs`` as ``__tracer`` and then using the ``__tracer`` inside the ``run`` method. + +------------ +Observations +------------ + +(This is a work in progress, and is not complete) + +You can make observations on the state by calling out to the `log_artifact` method on the `__tracer` context manager. +For instance: + +.. code-block:: python + + from burr.visibility import TracingFactory, ArtifactLogger + from burr.core import action + + @action(reads=['input_var'], writes=['output_var']) + def my_action( + state: State, + __tracer: TracingFactory, + __logger: ArtifactLogger + ) -> Tuple[dict, State]: + with __tracer('process_data'): + initial_data = _process_data(state['input_var']) + with __tracer('validate_data'): + validation_results = _validate(initial_data) + t.log_artifact(validation_results=validation_results) + with __tracer('transform_data', dependencies=['process_data']) + transformed_data = _transform(initial_data) + __logger.log_artifact(transformed_data_size=len(transformed_data)) + + return {'output_var': transformed_data}, state.update({'output_var': transformed_data}) + +The output can be any "json-dumpable" object (or pydantic model). This will be stored along with the span and can be used for debugging or analysis. + +You can read more in the :ref:`reference documentation `. diff --git a/_sources/concepts/hooks.rst.txt b/_sources/concepts/hooks.rst.txt new file mode 100644 index 000000000..3708573b2 --- /dev/null +++ b/_sources/concepts/hooks.rst.txt @@ -0,0 +1,65 @@ +===== +Hooks +===== + +.. _hooks: + +Burr has a system of lifecycle adapters (adapted from the similar `Hamilton `_ concept), which allow you to run tooling before and after +various places in a node's execution. For instance, you could: + +1. Log every step as a trace in datadog +2. Add a time-delay to your steps to allow for rendering +3. Add a print statement to every step to see what happened (E.G. implement the printline in cowsay above) +4. Synchronize state/updates to an external database +5. Put results on a queue to feed to some monitoring system + +Note some of the above are yet to be implemented. + +To implement hooks, you subclass any number of the :ref:`available lifecycle hooks `. +These have synchronous and asynchronous versions, and your hook can subclass as many as you want +(as long as it doesn't do both the synchronous and asynchronous versions of the same hook). + +To use them, you pass them into the :py:class:`ApplicationBuilder ` as a ``*args`` list of hooks. For instance, +a hook that prints out the nodes name during execution looks like this. +We implement the pre/post run step hooks. + +.. code-block:: python + + class PrintLnHook(PostRunStepHook, PreRunStepHook): + def pre_run_step(self, *, state: "State", action: "Action", **future_kwargs: Any): + print(f"Starting action: {action.node.name}") + + def post_run_step( + self, + *, + state: "State", + action: "Action", + result: Optional[dict], + sequence_id: int, + exception: Exception, + **future_kwargs: Any, + ): + print(f"Finishing action: {action.node.name}") + +To include this in the application, you pass it into the :py:meth:`with_hooks ` method. + +.. code-block:: python + + app = ( + ApplicationBuilder() + .with_hooks(PrintLnHook()) + ... + .build()) + +.. note:: + + There are synchronous and asynchronous hooks. Synchronous hooks will be called with both synchronous and asynchronous run methods + (all of ``step``, ``astep``, ``iterate``, ``aiterate``, ``run``, and ``arun``), whereas synchronous hooks will only be called with + the asynchronous methods (``astep``, ``aiterate``, ``arun``). + +.. warning:: + Hook order is currently undefined -- they happen to be called now in the order in which they are defined. We will likely + alter them to be called in the order they are defined (for `pre...`) hooks and in reverse order for `post...` hooks, + but this is not yet implemented. + +Read more about the hook API in the :ref:`hooks section `. diff --git a/_sources/concepts/index.rst.txt b/_sources/concepts/index.rst.txt new file mode 100644 index 000000000..1458d5ef3 --- /dev/null +++ b/_sources/concepts/index.rst.txt @@ -0,0 +1,21 @@ +==================== +Concepts +==================== + +Overview of the concepts -- read these to get a mental model for how Burr works. + +.. _concepts: + +.. toctree:: + :maxdepth: 2 + + state-machine + state + actions + transitions + hooks + tracking + state-persistence + streaming-actions + additional-visibility + planned-capabilities diff --git a/_sources/concepts/planned-capabilities.rst.txt b/_sources/concepts/planned-capabilities.rst.txt new file mode 100644 index 000000000..664c958d3 --- /dev/null +++ b/_sources/concepts/planned-capabilities.rst.txt @@ -0,0 +1,129 @@ +==================== +Planned Capabilities +==================== + +These are on the roadmap (and will be part of Burr in the imminent future), but have not been built yet. + +We build fast though, so let us know which ones you need and they'll be in there before you know it! + +----------- +Typed State +----------- + +We plan to add the ability to type-check state with some (or all) of the following: + +- Pydantic +- dataclasses +- TypedDict +- Custom state schemas (through the ``reads``/``writes`` parameters) + +The idea is you would define state at the function level, parameterized by the state type, and Burr would be able to validate +against that state. + +.. code-block:: python + + class InputState(TypedDict): + foo: int + bar: str + + class OutputState(TypedDict): + baz: int + qux: str + + @action(reads=["foo", "bar"], writes=["baz"]) + def my_action(state: State[InputState]) -> Tuple[dict, State[OutputState]]: + result = {"baz": state["foo"] + 1, "qux": state["bar"] + "!"} + return result, state.update(**result) + +The above could also be dataclasses/pydantic models. We could also add something as simple as: + +.. code-block:: python + + @action(reads={"foo": int, "bar": str}, writes={"baz": int, "qux": str}) + ... + +----------------------------- +State Management/Immutability +----------------------------- + +We plan the ability to manage state in a few ways: + +1. ``commit`` -- an internal tool to commit/compile a series of changes so that we have the latest state evaluated +2. ``persist`` -- a user-facing API to persist state to a database. This will be pluggable by the user, and we will have a few built-in options (e.g. a simple in-memory store, a file store, a database store, etc...) +3. ``hydrate`` -- a static method to hydrate state from a database. This will be pluggable by the user, and we will have a few built-in options that mirror those in ``persist`` options. + +Currently state is immutable, but it utilizes an inefficient copy mechanism. This is out of expedience -- we don't anticipate this will +be painful for the time being, but plan to build a more efficient functional paradigm. We will likely have: + +1. Each state object be a node in a linked list, with a pointer to the previous state. It carries a diff of the changes from the previous state. +2. An ability to ``checkpoint`` (allowing for state garbage collection), and store state in memory/kill out the pointers. + +We will also consider having the ability to have a state solely backed by redis (and not memory), but we are still thinking through the API. + +---------------------- +Compilation/Validation +---------------------- + +We currently do not validate that the chain of actions provide a valid state, although we plan to walk the graph to ensure that no "impossible" +situation is reached. E.G. if an action reads from a state that is not written to (or not initialized), we will raise an error, likely upon calling `validate`. +We may be changing the behavior with defaults over time. + +-------------------- +Exception Management +-------------------- + +Currently, exceptions will break the control flow of an action, stopping the program early. Thus, +if an exception is expected, the program will stop early. We will be adding the ability to conditionally transition based +on exceptions, which will allow you to transition to an error-handling (or retry) action that does not +need the full outputs of the prior action. + +Here is what it would look liek in the current API: + +.. code-block:: python + + @action(reads=["attempts"], writes=["output", "attempts"]) + def some_flaky_action(state: State, max_retries: int=3) -> Tuple[dict, State]: + result = {"output": None, "attempts": state["attempts"] + 1} + try: + result["output"] = call_some_api(...) + excecpt APIException as e: + if state["attempts"] >= max_retries: + raise e + return result, state.update(**result) + +One could imagine adding it as a condition (a few possibilities) + +.. code-block:: python + + @action(reads=[], writes=["output"]) + def some_flaky_action(state: State) -> Tuple[dict, State]: + result = {"output": call_some_api(...)} + return result, state.update(**result) + + builder.with_actions( + some_flaky_action=some_flaky_action + ).with_transitions( + ( + "some_flaky_action", + "some_flaky_action", + error(APIException) # infinite retries + error(APIException, max=3) # 3 visits to this edge then it gets reset if this is not chosen + # That's stored in state + ) + ) + +Will have to come up with ergonomic APIs -- the above are just some ideas. + +----------------- +Streaming results +----------------- + +Results should be able to stream in, but we'll want to store the final output in state. + +Still thinking through the UX. + +------------ +Integrations +------------ + +Langchain is next up (using LCEL). Please request any other integrations you'd like to see. diff --git a/_sources/concepts/state-machine.rst.txt b/_sources/concepts/state-machine.rst.txt new file mode 100644 index 000000000..4101dcd07 --- /dev/null +++ b/_sources/concepts/state-machine.rst.txt @@ -0,0 +1,141 @@ +==================== +Applications +==================== + +.. _applications: + +Applications form the core representation of the state machine. You build them with the ``ApplicationBuilder``. +Here is the minimum that is required: + +1. A ``**kwargs`` of actions passed to ``with_actions(...)`` +2. Any relevant transitions (with conditions) +3. An entry point -- this is the first action to execute + +This is shown in the example from :ref:`getting started ` + +.. code-block:: python + + from burr.core import ApplicationBuilder, default, expr + app = ( + ApplicationBuilder() + .with_state(counter=0) # initialize the count to zero + .with_actions( + count=count, # add the counter action with the name "counter" + done=done # add the printer action with the name "printer" + ).with_transitions( + ("count", "count", expr("counter < 10")), # Keep counting if the counter is less than 10 + ("count", "done", default) # Otherwise, we're done + ).with_entrypoint("counter") # we have to start somewhere + .build() + ) + + +------- +Running +------- + +There are three APIs for executing an application. + +``step``/``astep`` +------------------ + +Returns the tuple of the action, the result of that action, and the new state. Call this if you want to run the application step-by-step. + +.. code-block:: python + + action, result, state = application.step() + +If you're in an async context, you can run `astep` instead: + +.. code-block:: python + + action, result, state = await application.astep() + + +Step can also take in ``inputs`` as a dictionary, which will be passed to the action's run function as keyword arguments. +This is specifically meant for a "human in the loop" scenario, where the action needs to ask for input from a user. In this case, +the control flow is meant to be interrupted to allow for the user to provide input. See :ref:`inputs ` for more information. + +.. code-block:: python + + action, result, state = application.step(inputs={"prompt": input()}) + +``iterate``/``aiterate`` +------------------------ + +Iterate just runs ``step`` in a row, functioning as a generator: + +.. code-block:: python + + for action, result, state in application.iterate(halt_after=["final_action_1", "final_action_2"]): + print(action.name, result) + +You can also run ``aiterate`` in an async context: + +.. code-block:: python + + async for action, result, state in application.aiterate(): + print(action.name, result) + + +In the synchronous context this also has a return value of a tuple of: + + +#. the action that was specified in ``halt_after`` or ``halt_before``. In the `after` case the action will have already run. In the ``before`` case the action will not have run. + +#. The result of that action, in the ``halt_after`` case, else None in the ``halt_before`` case. + +#. The state of the application at the time of halting. + +You can access this by looking at the ``value`` variable of the ``StopIteration`` exception that is thrown +at the end of the loop, as is standard for python generators. +See the function implementation of ``run`` to show how this is done. + +In the async context, this does not return anything (asynchronous generators are not allowed a return value). + +If you want it to (attempt to) run forever, you can pass empty lists to ``halt_after`` and ``halt_before``. + +.. note:: + You can add inputs to ``iterate``/``aiterate`` by passing in a dictionary of inputs through the ``inputs`` parameter. + This will only apply to the first action. Actions that are not the first but require inputs are considered undefined behavior. + +.. warning:: + The state machine has the capability of halting even if it does not reach one of the specified conditions -- if there are + no more transitions to take. This, however, is not a supported feature (and will log a warning). This is considered undefined behavior + -- use at your own risk, and consider adding a halting condition, or a default transition to a terminal. + +``run``/``arun`` +---------------- + +Run just calls out to ``iterate`` and returns the final state. + +The ``halt_after`` and ``halt_before`` keyword arguments specify when to break out of running the state machine +and return control back. ``halt_after`` will stop after the specified action(s) has run, and ``halt_before`` will stop before the specified action(s) has run. +If multiple are specified, it will stop after the first one encountered, and the return values will be for that action. + +.. code-block:: python + + final_state, results = application.run(halt_after=["final_action_1", "final_action_2"]) + + +In the async context, you can run ``arun``: + +.. code-block:: python + + final_state = await application.arun(halt_after=["final_action_1", "final_action_2"]) + +.. note:: + You can add inputs to ``run``/``arun`` in the same way as you can with ``iterate`` -- it will only apply to the first action. + +``run`` and ``arun`` largely have the same behavior as ``iterate`` and ``aiterate``. + +---------- +Inspection +---------- + +You can ask various questions of the state machine using publicly-supported APIs: + +- ``application.graph`` will give you a static representation of the state machine with enough information to visualize +- ``application.state`` will give you the current state of the state machine. Note that if you modify it the results will not show up -- state is immutable! Modify the state through actions. + +See the :ref:`application docs ` diff --git a/_sources/concepts/state-persistence.rst.txt b/_sources/concepts/state-persistence.rst.txt new file mode 100644 index 000000000..f31b708b3 --- /dev/null +++ b/_sources/concepts/state-persistence.rst.txt @@ -0,0 +1,92 @@ +================= +State Persistence +================= + +.. _state-persistence: + +The key to writing a real life ``burr`` application is state persistence. For example, say you're building a chat bot and you +want to store the conversation history and then reload it when you restart. Or, you have a long running process/series of agents, +and you want to store the state of the process after each action, and then reload it if it fails, etc.... + +``Burr`` provides a few simple interfaces to do this with minimal changes. Let's walk through a simple chatbot example as we're explaining concepts: + +State Keys +---------- +Burr `applications` are, by defult, keyed on two entities: + +1. ``app_uid`` - A unique identifier for the application. This is used to identify the application in the persistence layer. +2. ``partition_key`` - An identifier for grouping (partitioning) applications + +In the case of a chatbot, the ``app_uid`` could be a uuid, and the ``partition_key`` could be the user's name. +Note that ``partition_key`` can be `None` if this is not relevant. A UUID is always generated for the ``app_uid`` if not provided. + +Initializing state +------------------ + +To initialize state from a database, you can employ the :py:meth:`initialize_from ` method +in the :py:class:`ApplicationBuilder `. + +This action takes in an initializer (an implementation of :py:class:`StateInitializer `) a well as: + +- ``resume_at_next_action`` -- a boolean that says whether to start where you left off, or go back to the ``default_entrypoint``. +- ``default_entrypoint`` -- the entry point to start at if ``resume_at_next_action`` is False, or no state is found +- ``default_state`` -- the default state to use if no state is found + +Note that you cannot use this in conjunction with :py:meth:`with_state ` +or :py:meth:`with_entrypoint ` -- these are mutually exclusive. +Either you load from state or you start from scratch. + +Writing state +_____________ + +To write state to a database, you can use the :py:meth:`with_state_persister ` method in the +:py:class:`ApplicationBuilder `. This takes in a persister (an implementation of +:py:class:`StatePersister `). It writes state to the database after each action. + + +An example +__________ + +To make the above more concrete, let's look at a basic chatbot: + +.. code-block:: python + + state_persister = SQLLitePersister(db_path=".sqllite.db", table_name="table") + app = ( + ApplicationBuilder() + .with_actions( + ai_converse=ai_converse, + human_converse=human_converse, + terminal=burr.core.Result("chat_history"), + ) + .with_transitions( + ("ai_converse", "human_converse", default), + ("human_converse", "terminal", expr("'exit' in question")), + ("human_converse", "ai_converse", default), + ) + .initialize( + initializer=state_persister, + resume_at_next_action=True, + default_state={"chat_history" : []}, + default_entrypoint="human_converse + ) + .with_state_persister(state_persister) + .with_identifiers(app_id=app_id) + .build() + ) + +In this case, we both read and write using the ``SQLLitePersistor``. Note that this is the most common case. +However, if you want to just read (E.G. for debugging), or you want to just write (if you're always creating a new app), +you can leave out ``initialize`` or ``with_state_persister`` respectively. + +Supported Persistence Backends +______________________________ +See :ref:`available persisters here `. +Note that the tracker also allows reloading from a file, but this is not recommended for production use. + + +Customizing State Persistence +----------------------------- + +Burr exposes the :py:class:`BaseStatePersister ` API for custom state persistence. Implement, +pass into the above functions, and you can write to whatever database you want! Please contribute back to the community if you do so. diff --git a/_sources/concepts/state.rst.txt b/_sources/concepts/state.rst.txt new file mode 100644 index 000000000..cbd1bc692 --- /dev/null +++ b/_sources/concepts/state.rst.txt @@ -0,0 +1,46 @@ +===== +State +===== + +.. _state: + +The ``State`` class provides the ability to manipulate state for a given action. It is entirely immutable, +meaning that you can only create new states from old ones, not modify them in place. + +State manipulation is done through calling methods on the ``State`` class. The most common write are: + +.. code-block:: python + + state.update(foo=bar) # update the state with the key "foo" set to "bar" + state.append(foo=bar) # append "bar" to the list at "foo" + state.wipe(keep=["foo", "bar"]) # remove all keys except "foo" and "bar" + state.wipe(delete=["foo", "bar"]) # remove "foo" and "bar" from the state + +The read operations extend from those in the `Mapping `_ +interface, but there are a few extra: + +.. code-block:: python + + state.subset(["foo", "bar"]) # return a new state with only the keys "foo" and "bar" + state.get_all() # return a dictionary with every key/value of the state + +When an update action is run, the state is first subsetted to get just the keys that are being read from, +then the action is run, and a new state is written to. This state is merged back into the original state +after the action is complete. Pseudocode: + +.. code-block:: python + + current_state = ... + read_state = current_state.subset(action.reads) + result = action.run(new_state) + write_state = current_state.subset(action.writes) + new_state = action.update(result, new_state) + current_state = current_state.merge(new_state) + +If you're used to thinking about version control, this is a bit like a commit/checkout/merge mechanism. + +Reloading Prior State +--------------------- +Note, if state is serializable, it means that if stored, it can be reloaded. This is useful for +reloading state from a previous invocation (for debugging or as part of the application), or for storing state in a database. +We have capabilities here, see the :ref:`state-persistence ` section. diff --git a/_sources/concepts/streaming-actions.rst.txt b/_sources/concepts/streaming-actions.rst.txt new file mode 100644 index 000000000..e8de5d88f --- /dev/null +++ b/_sources/concepts/streaming-actions.rst.txt @@ -0,0 +1,91 @@ +================= +Streaming Actions +================= + +.. _streaming_actions: + +Actions can be implemented as streaming results. This enables a lower time-to-first-token and a more interactive +interface in the case of AI applications or streaming in of metrics in a model-training application. Broadly, +this is a tool to enable quicker user interaction in longer running actions that require user focus. + +Streaming actions can be implemented as a class or a function, just like actions. However, they have a few additional rules: + +#. They give intermediate results to the user as they are generated in the form of a generator +#. They are responsible for determining the relationship between the intermediate results and the final result +#. They have a ``return`` statement that handles result collection and state update + +If you're not familiar with ``return`` statements in generators, you can read about them `here `_. +The high-level idea is that the ``return`` statement is used to raise a ``StopIteration`` exception with a value that is returned to the caller. +The framework uses this value to update the state of the action and to collect the final result. + +A class-based streaming action might look like this: + +.. code-block:: python + + from burr.core.action import StreamingAction + + class StreamingChatCall(StreamingAction): + def stream_run(self, state: State, **run_kwargs) -> Generator[dict, None, dict]: + client = openai.Client() + response = client.chat.completions.create( + model='gpt-3.5-turbo', + messages=[{ + 'role': 'user', + 'content': state["prompt"] + }], + temperature=0, + stream=True, + ) + buffer = [] + for chunk in response: + delta = chunk.choices[0].delta.content + buffer.append(delta) + yield {'response': delta} + full_response = ''.join(buffer) + return {'response': full_response} + + @property + def reads(self) -> list[str]: + return ["prompt"] + + @property + def writes(self) -> list[str]: + return ["response"] + + def update(self, result: dict, state: State) -> State: + return state.append(response=result["response"]) + +The logic is split between ``stream_run``, which is responsible for generating the intermediate results and +joining them into the final result, and update, which is responsible for collecting the final result and +updating the state. The ``return`` statement in ``stream_run`` is used to return the final result to the framework, +which is passed to ``update``. + +The function-based equivalent would look very similar: + +.. code-block:: python + + from burr.core.action import streaming_action + + @streaming_action(reads=["prompt"], writes=["prompt"]) + def streaming_chat_call(state: State, **run_kwargs) -> Generator[dict, None, Tuple[dict, State]]: + client = openai.Client() + response = client.chat.completions.create( + model='gpt-3.5-turbo', + messages=[{ + 'role': 'user', + 'content': state["prompt"] + }], + temperature=0, + stream=True, + ) + buffer = [] + for chunk in response: + delta = chunk.choices[0].delta.content + buffer.append(delta) + yield {'response': delta} + full_response = ''.join(buffer) + return {'response': full_response}, state.append(response=full_response) + +As you can see above, we're doing the same thing, with a bit of syntactic sugar to combine the ``update`` and ``return`` statements. + +Currently ``Async`` streaming actions are not supported. We will be adding shortly -- stay tuned! Follow the `issue on github `_ for more information. diff --git a/_sources/concepts/tracking.rst.txt b/_sources/concepts/tracking.rst.txt new file mode 100644 index 000000000..ca1dcff59 --- /dev/null +++ b/_sources/concepts/tracking.rst.txt @@ -0,0 +1,80 @@ +.. _tracking: + +============= +Tracking Burr +============= + +Burr comes with a telemetry system that allows tracking a variety of information for debugging, +both in development and production. + +The data model for tracking is simple: + +1. **Projects** are the top-level grouping of data (the first page). This is specified in the constructor for the + :py:meth:`with_tracker `, as the only required argument. +2. **Applications** get logged to projects. An application would be considered similar to a "trace" in distributed + tracing systems. This is (optionally) specified as the ``app_id`` argument for the :py:meth:`with_tracker ` + method. A single ``application`` has shared state path across all its steps. +3. **Steps** are the individual steps that are executed in the state machine. The Burr UI will show the state of the + state machine at the time of the step execution, as well as the input to and results of the step. + +.. _trackingclientref: + +--------------- +Tracking Client +--------------- + +When you use :py:meth:`with_tracker `, you add a tracker to Burr. +This is a lifecycle hook that does the following: + +#. Logs the static representation of the state machine +#. Logs any information before/after step execution, including + - The step name + - The step input + - The state at time of execution + - The timestamps + +This currently defaults to (and only supports) the :py:class:`LocalTrackingClient ` class, which +writes to a local file system, although we will be making it pluggable in the future. It will, by default, write to the directory +``~/.burr``. + +Debugging via Reloading Prior State +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Because the tracking client writes to the file system, you can reload the state of the state machine at any time. This is +useful for debugging, because you can quickly recreate the issue by running the state machine with the same point in time. + +To do so, you'd use the classmethod _load_state()_ on the :py:class:`LocalTrackingClient `. + +For example, as you initialize the Burr Application, you'd have some control flow like this: + +.. code-block:: python + + from burr.tracking import client + + project_name = "demo:hamilton-multi-agent" + if app_instance_id: + initial_state, entry_point = client.LocalTrackingClient.load_state( + project_name, app_instance_id + ) + # TODO: any custom logic for re-creating the state if it's some object that needs to be re-instantiated + else: + initial_state, entry_point = default_state_and_entry_point() + + app = ( + ApplicationBuilder() + .with_state(**initial_state) + .with_entry_point(entry_point) + # ... etc fill in the rest here + ) + +--------------- +Tracking Server +--------------- + +The tracking server (now) is meant for visualizing the state machine and the steps that have been executed. You can +run it with the following command: + +.. code-block:: bash + + burr + +This will start a server on port 7241, and open up a browser window with the UI for you to explore. diff --git a/_sources/concepts/transitions.rst.txt b/_sources/concepts/transitions.rst.txt new file mode 100644 index 000000000..4f304729c --- /dev/null +++ b/_sources/concepts/transitions.rst.txt @@ -0,0 +1,40 @@ +==================== +Transitions +==================== + +.. _transitions: + +Transitions define explicitly how actions are connected and which action is available next for any given state. +You can think of them as edges in a graph. + +They have three main components: +- The ``from`` state +- The ``to`` state +- The ``condition`` that must be met to move from the ``from`` state to the ``to`` + +---------- +Conditions +---------- + +Conditions have a few APIs, but the most common are the three convenience functions: + +.. code-block:: python + + from burr.core import when, expr, default + with_transitions( + ("from", "to", when(foo="bar"), # will evaluate when the state has the variable "foo" set to the value "bar" + ("from", "to", expr('epochs>100')) # will evaluate to True when the state has the variable "foo" set to the value "bar" + ("from", "to", default) # will always evaluate to True + ) + + +Conditions are evaluated in the order they are specified, and the first one that evaluates to True will be the transition that is selected +when determining which action to run next. If no condition evaluates to ``True``, the application execution will stop early. + +.. note:: + + The ``default`` condition is a special case, and will always evaluate to ``True``. It is useful for defining a "catch-all" transition + that will be selected if no other condition is met. If you pass a tuple of length 2 to :py:meth:`with_transitions `, the + default condition will be used. + +See the :ref:`transition docs ` for more information on the transition API. diff --git a/_sources/contributing/architecture.rst.txt b/_sources/contributing/architecture.rst.txt new file mode 100644 index 000000000..4af63fec3 --- /dev/null +++ b/_sources/contributing/architecture.rst.txt @@ -0,0 +1,38 @@ +============ +Architecture +============ + +Some notes on the design/implementation of Burr: + +-------------- +Python Package +-------------- + +Dependencies +------------ +A note on dependencies: + +- The core Burr library will have zero dependencies. Currently its only dependency in hamilton, but that will be removed in the future. +- Any other extensions (the server, the CLI, etc...) are allowed dependencies -- specify these as install targets in ``pyproject.toml`` +- The dependencies/plugins will live alongside the core library, and contain guards to ensure that the right libraries are installed. You can do this with ``burr.integrations.base.require_plugins`` + +Coding style +------------ +We use type hints for function parameters (and in rare cases inline) to aid development but it is not enforced -- use your best judgement + +Versioning +---------- + +We adhere to `sem-var `_ for versioning. We ensure that: + +- Every public facing function/class/variable should: + - have a docstring + - have type-hints + - be exposed through the documentation + +If it is not exposed through the documentation it is assumed to be private, and thus will +not be subject to sem-var rules. + +We currently are not versioning the server or CLI, but are versioning the core library. Note +that it starts at ``0.x``, which means that we are allowed to make a backwards-incompatible change. +We will make every effort not to do so -- and will provide a migration guide/script if we do. diff --git a/_sources/contributing/contributing.rst.txt b/_sources/contributing/contributing.rst.txt new file mode 100644 index 000000000..450a6439e --- /dev/null +++ b/_sources/contributing/contributing.rst.txt @@ -0,0 +1,83 @@ +============ +Contributing +============ + +Please read the `code of conduct `_ +prior to contributing. Then follow these guidelines: + +#. Create a fork of the repository. +#. Ensure all tests pass. +#. Make a PR to the main repository. +#. Ping one of the maintainers to review your PR. + +----------------------- +Contribution guidelines +----------------------- + +Please: + +#. Keep your commits modular +#. Add descriptive commit messages +#. Attach a PR to an issue if applicable +#. Ensure all new features have tests +#. Add documentation for new features + +Examples +-------- + +All examples must have the following files: +1. A ``README.md`` file that describes the example -- this should follow the pattern of the others +2. A ``requirements.txt`` file that lists the dependencies for the example +3. An ``application.py`` file whose mainline runs a simple version of the example + generates the DAG to +4. A ``statemachine.png`` file that shows the DAG for the example +3. A `notebook.ipynb` file that uses the example in a + +The ``notebook.ipynb`` can import stuff from the ``application.py``, or redefine it as an example. If you have something +that does not fit this, or is a prototype but you want to push it in, you can fit in under the ``half-baked`` directory. + +--------------- +Developer notes +--------------- + +CLI +--- + +Burr comes with a `cli` that is both user/developer facing. + +**this is required in order to publish, do not do so otherwise** + +This will be turned into a `Makefile`, but for now we have a set of commands in `pyproject.toml` that are used to +publish, etc... + +To run the just the server for development: + +.. code-block:: bash + + $ burr --dev-mode --no-open # will run the server on port 7241 + +To publish -- this will build the FE + publish the BE to the ``pypi`` prod instance. Note you have to have ``pypi`` credentials to do this: + +.. code-block:: bash + + $ burr-admin-publish --prod + +To generate the demo data (if you make a change to the schema, ideally forward-compatible): + +.. code-block:: bash + + $ burr-admin-generate-demo-data + +Not part of the CLI (yet), but running just the UI is simple: + +.. code-block:: bash + + $ cd burr/ui + $ npm run start + +Package data +------------ + +Several static assets are included in the python package so we can run the UI. Namely: + +1. The `examples` directory is symlinked from ``burr/examples`` to allow for package-style imports +2. The `build/` directory is symlinked from ``burr/tracking/server`` to allow for static assets referred to by the server to be included in the package. Note that this does not get committed -- this requires use of the CLI above. diff --git a/_sources/contributing/index.rst.txt b/_sources/contributing/index.rst.txt new file mode 100644 index 000000000..932fab6e0 --- /dev/null +++ b/_sources/contributing/index.rst.txt @@ -0,0 +1,18 @@ +========================= +Developing / Contributing +========================= + +.. _examples: + +Instructions to develop/get started with `Burr`! If you don't know where +to start, you can always reach out to us: +- Start an issue or discussion on our `GitHub `_. +- Reach out to us by `email `_ + +.. toctree:: + :maxdepth: 2 + + setup + iterating + architecture + contributing diff --git a/_sources/contributing/iterating.rst.txt b/_sources/contributing/iterating.rst.txt new file mode 100644 index 000000000..883a8df8d --- /dev/null +++ b/_sources/contributing/iterating.rst.txt @@ -0,0 +1,77 @@ +========== +Developing +========== + +------------- +Python Module +------------- + +The python module is located in the ``burr/`` directory. Tests are located in the +``tests/`` directory. To run the tests, use the following command: + +.. code-block:: bash + + python -m pytest tests/ + + +--------------- +Tracking server +--------------- + +The tracking server is located inside the python package. To run the server, you can use the utility cli: + +.. code-block:: bash + + BURR_SERVE_STATIC=false burr-admin-server --no-open --dev-mode + +This will start the server on port 7241. Note that this is just a python wrapper -- this also captures stdout. +We will be fixing this, but ff you want to run it directly (which is best for debugging), you'll want to +run it with uvicorn: + +.. code-block:: bash + + BURR_SERVE_STATIC=false uvicorn burr.tracking.server.run:app --port 7241 --reload + +We disable serving static files as we want to be able to develop simultaneously with the UI and +npm's reloading capabilities do not work with the static python server. + +----------- +Tracking UI +----------- + +The tracking UI lives within ``telemetry/ui`` To run the tracking UI, you will need to have npm installed. +Then, you can run the following commands: + +.. code-block:: bash + + $ cd telemetry/ui + $ npm install + $ npm run start + +This will start the UI on port 3000. You can then navigate to ``http://localhost:3000`` to see the UI. +It currently assumes that the tracking server is running on port 7241. The proxy is set up in the +``package.json`` file. + +Note that if you want to just develop off the server you'll first have to build the UI and symlink the +``tracking/server/build`` directory to the ``telemetry/ui/build`` directory. We have this structure to +enable easy inclusion of package data in ``pyproject.toml``. + +You can do this with the following command: + +.. code-block:: bash + + $ burr-admin-build-ui + +------------- +Documentation +------------- + +The documentation is located in the ``docs/`` directory. To build and serve the documentation, +you can use the following sphinx command: + +.. code-block:: bash + + $ sphinx-autobuild -b dirhtml -W -E -T --watch docs/ -a docs /tmp/mydocs + +This will start the server on port 8000. You can then navigate to ``http://localhost:8000`` to see the documentation. +Heed any warnings and fix them! diff --git a/_sources/contributing/setup.rst.txt b/_sources/contributing/setup.rst.txt new file mode 100644 index 000000000..81d4b48fc --- /dev/null +++ b/_sources/contributing/setup.rst.txt @@ -0,0 +1,55 @@ +===== +Setup +===== + +These instructions will be assuming use of `pip `_ and `virtualenv `_. +Replace with your package manager of choice if you prefer. + +---------- +Clone/fork +---------- + +To get started, create a fork of Burr on the github UI, and clone it to your local machine. + +.. code-block:: bash + + git clone https://github.com//burr.git + + +---------- +Installing +---------- + +Next you'll want to ``cd`` into the directory and install +``burr`` in developer mode: + +.. code-block:: bash + + cd burr + pip install -e ".[developer]" + +This will install all potential dependencies. Burr will work with ``python >=3.9``. + +------------------ +Linting/Pre-Commit +------------------ + +Burr has pre-commit hooks enabled. This comes with the ``developer`` extras. +You can always run the pre-commit hooks manually (on all files). Do this +if it somehow wasn't configured and its in a bad state. + +.. code-block:: bash + + pre-commit run --all + +For the UI, we leverage husky and lint-staged to run the pre-commit hooks on the client side. +This actually runs pre-commits for the whole repository, so you can run through husky if you want. + +You can also run the pre-commit hooks for the UI manually: + +.. code-block:: bash + + npm run lint:fix + npm run format:fix + +from within the ``telemetry/ui`` directory. diff --git a/_sources/examples/agents.rst.txt b/_sources/examples/agents.rst.txt new file mode 100644 index 000000000..47e16bcbc --- /dev/null +++ b/_sources/examples/agents.rst.txt @@ -0,0 +1,10 @@ +==================== +Agents +==================== + +Burr allows you to create agents that can interact with each other via State. + +Multi-Agent Example +-------------------- + +See `github repository example `_. diff --git a/_sources/examples/chatbot.rst.txt b/_sources/examples/chatbot.rst.txt new file mode 100644 index 000000000..3b758f45b --- /dev/null +++ b/_sources/examples/chatbot.rst.txt @@ -0,0 +1,24 @@ +================ +Chatbots +================ + +Chat bots are a simple example where state influences the conversation. This is a +perfect use case for using Burr. + +GPT-like chatbot +---------------- + +See `github repository example `_. + + +Conversational RAG chatbot +-------------------------- +See `github example `_. + +Accompanying video walkthrough: + +.. raw:: html + +

diff --git a/_sources/examples/creating_tests.rst.txt b/_sources/examples/creating_tests.rst.txt new file mode 100644 index 000000000..a818304cb --- /dev/null +++ b/_sources/examples/creating_tests.rst.txt @@ -0,0 +1,62 @@ +==================== +Creating Test Cases +==================== + +With Burr tracking state is part of the framework. This means creating a realistic test case +for an action involves turning a persister or tracker on and then pulling that state out +for a test case. The following example demonstrates how to create a test case +using the `burr-test-case` command. + +Note: writing test cases for GenAI projects can be tricky. The same LLM API calls +can result in different outputs. This means that 'exact' equality tests may not work, +and you'll need to resort to more fuzzy tests like checking for the presence of certain +words or phrases, or using LLMs to grade the output, etc. We aren't opinionated on how you +do this, but in any case, you'll need to write a test case to exercise things, and this +is what we're showing you how to do here. + +Test Case Creation Example +-------------------------- +Video walkthrough: + +.. raw:: html + +
+ +
+ + +Steps: + +1. You have built some part of your Burr application. +2. You have found some state you want to test / iterate on. +3. Note the project name, partition key, app id, and sequence id for the state you want to test. + See orange lines indicating what to pull from the UI in the image below. + + .. image:: test-case-creation-burr.png + :alt: What you need to pull from the UI for running the command. + :align: center + +4. Run the following command & cut and paste the test to a test file. This will create a `pytest` test. +5. Adjust the test as needed, e.g. what you're validating or asserting and how. + +.. code-block:: bash + + burr-test-case create \ + --project-name "SOME_NAME" \ + --partition-key "SOME_KEY" \ + --app-id "SOME_ID" \ + --sequence-id 0 \ + --target-file-name /tmp/test-case.json + +See `github repository example `_ +for an example. + + +Future Work +----------- +We see many more improvements here: + +1. Annotating data in the UI to make it easier to pull out. +2. Automatically suggesting tests cases for you to add. +3. Data export / integration with evaluation tools. +4. etc. Please let us know what you need! diff --git a/_sources/examples/index.rst.txt b/_sources/examples/index.rst.txt new file mode 100644 index 000000000..65b33df3d --- /dev/null +++ b/_sources/examples/index.rst.txt @@ -0,0 +1,18 @@ +======== +Examples +======== + +.. _examples: + +These are still under progress -- see the github `examples directory `_ +for the latest. + +Examples of more complex/powerful use-cases of Burr. Download/copy these to adapt to your use-cases. + +.. toctree:: + simple + chatbot + agents + ml_training + simulation + creating_tests diff --git a/_sources/examples/ml_training.rst.txt b/_sources/examples/ml_training.rst.txt new file mode 100644 index 000000000..c018a190b --- /dev/null +++ b/_sources/examples/ml_training.rst.txt @@ -0,0 +1,10 @@ +==================== +ML Model Training +==================== + +Hyperparameter Optimization is a key part of training machine learning models. For use-cases ranging from grid-search +to gaussian processes, `burr` is a simple way to implement robust, failure-resistant hyperparameter optimization. This involves keeping +track of hyperparameters and metrics and feeding these into a decision function to determine where to look next. +``burr``'s state machine can help you write and manage that process. + +For more information/contribution options, see the placeholder/example sketch in the `repository `_. diff --git a/_sources/examples/simple.rst.txt b/_sources/examples/simple.rst.txt new file mode 100644 index 000000000..f97dfbbcb --- /dev/null +++ b/_sources/examples/simple.rst.txt @@ -0,0 +1,7 @@ +==================== +Simple examples +==================== + +- `cowsay `_ +- `counter `_ +- `[corgi] adventure game `_ diff --git a/_sources/examples/simulation.rst.txt b/_sources/examples/simulation.rst.txt new file mode 100644 index 000000000..1063313f3 --- /dev/null +++ b/_sources/examples/simulation.rst.txt @@ -0,0 +1,8 @@ +========== +Simulation +========== + +Simulations require state to be maintained across time steps. Burr provides a simple way for you to construct, +manage, and introspect the state of your simulation. + +For more information/contribution options, see the placeholder/example sketch in the `repository `_. diff --git a/_sources/examples/web-server.rst.txt b/_sources/examples/web-server.rst.txt new file mode 100644 index 000000000..268fb844a --- /dev/null +++ b/_sources/examples/web-server.rst.txt @@ -0,0 +1,6 @@ +======================== +Exposing in a Web Server +======================== + +Burr makes it natural to integrate with a web-server such as FastAPI. See the [example in the repository](https://github.com/DAGWorks-Inc/burr/tree/main/examples/web-server) +for the high-level concepts + some implementation tricks. Run `burr` after `pip install "burr[start]"` and click `examples/email-assistant` to see example in action. diff --git a/_sources/getting_started/index.rst.txt b/_sources/getting_started/index.rst.txt new file mode 100644 index 000000000..3a78e084f --- /dev/null +++ b/_sources/getting_started/index.rst.txt @@ -0,0 +1,15 @@ +.. _gettingstarted: + +==================== +Getting Started +==================== + +The following section of the docs will walk you through Burr and how to integrate into your project: + +.. toctree:: + :maxdepth: 1 + + why-burr + install + simple-example + up-next diff --git a/_sources/getting_started/install.rst.txt b/_sources/getting_started/install.rst.txt new file mode 100644 index 000000000..5095ddadd --- /dev/null +++ b/_sources/getting_started/install.rst.txt @@ -0,0 +1,14 @@ +========== +Installing +========== + +Burr itself requires almost no dependencies. Every "extra"/"plugin" is an additional install target. + +We recommend you start with installing the ``learn`` target -- this has dependencies necessary to track burr through the UI, +along with a fully built server. + +.. code-block:: bash + + pip install burr[start] + +This will give you tools to visualize, track, and interact with the UI. Note, if you're using ``zsh``, you'll need to add quotes around the install target, (``pip install "burr[start]"``). diff --git a/_sources/getting_started/simple-example.rst.txt b/_sources/getting_started/simple-example.rst.txt new file mode 100644 index 000000000..f6ae9ba3b --- /dev/null +++ b/_sources/getting_started/simple-example.rst.txt @@ -0,0 +1,165 @@ +.. _simpleexample: + +================= +Simple Example +================= +This simple example is just to learn the basics of the library. The application we're building is not particularly interesting, +but it will get you powerful. If you want to skip ahead to the cool stuff (chatbots, +ML training, simulations, etc...) feel free to jump into the deep end and start with the :ref:`examples `. + +We will go over enough of the concepts to help you understand the code, but there is a much more in-depth set of +explanations in the :ref:`concepts ` section. + +🤔 For an alternative example to get started with, you can also check out +`this video walkthrough `_ +using `this notebook `_. + +------------------ +Build a Counter +------------------ +We're going to build a counter application. This counter will count to 10 and then stop. + +Let's start by defining some actions, the building-block of Burr. You can think of actions as a function that +computes a result and modifies state. They declare what they read and write. + +Let's define two actions: +1. A counter action that increments the counter +2. A printer action that prints the counter + + +.. code-block:: python + + @action(reads=["counter"], writes=["counter"]) + def count(state: State) -> Tuple[dict, State]: + current = state["counter"] + 1 + result = {"counter": current} + print("counted to ", current) + return result, state.update(**result) # return both the intermediate + + @action(reads=["counter"], writes=[]) + def done(state: State) -> Tuple[dict, State]: + print("Bob's your uncle") + return {}, state + +This is an action that reads the "counter" from the state, increments it by 1, and then writes the new value back to the state. +It returns both the intermediate result (``result``) and the updated state. + +Next, let's put together our application. To do this, we'll use an ``ApplicationBuilder`` + +.. code-block:: python + + from burr.core import ApplicationBuilder, default, expr + app = ( + ApplicationBuilder() + .with_state(counter=0) # initialize the count to zero + .with_actions( + count=count, # add the counter action with the name "counter" + done=done # add the printer action with the name "printer" + ).with_transitions( + ("count", "count", expr("counter < 10")), # Keep counting if the counter is less than 10 + ("count", "done", default) # Otherwise, we're done + ).with_entrypoint("count") # we have to start somewhere + .with_tracker(project="my_first_app") + .build() + ) + + +We can visualize the application (note you need ``burr[graphviz]`` installed): + +.. code-block:: python + + app.visualize("./graph", format="png", include_conditions=True, include_state=True) + +.. image:: ../_static/counter.png + :align: center + +As you can see, we have: + +1. The action ``count`` that reads and writes the ``counter`` state field +2. The action ``done`` that reads the ``counter`` state field +3. A transition from ``count`` to ``count`` if ``counter < 10`` +4. A transition from ``count`` to ``done`` otherwise + +Finally, we can run the application: + +.. code-block:: python + + app.run(halt_after=["printer"]) + +If you want to copy/paste, you can open up the following code block and add to a file called ``run.py``: + +.. collapse:: run.py + + .. code-block:: python + + from typing import Tuple + + from burr.core import ( + action, + State, + ApplicationBuilder, + default, + expr + ) + + + @action(reads=["counter"], writes=["counter"]) + def count(state: State) -> Tuple[dict, State]: + current = state["counter"] + 1 + result = {"counter": current} + print("counted to ", current) + return result, state.update(**result) # return both the intermediate + + + @action(reads=["counter"], writes=[]) + def done(state: State) -> Tuple[dict, State]: + print("Bob's your uncle") + return {}, state + + + if __name__ == '__main__': + app = ( + ApplicationBuilder() + .with_state(counter=0) # initialize the count to zero + .with_actions( + count=count, # add the counter action with the name "counter" + done=done # add the printer action with the name "printer" + ).with_transitions( + ("count", "count", expr("counter < 10")), # Keep counting if the counter is less than 10 + ("count", "done", default) # Otherwise, we're done + ).with_entrypoint("count") # we have to start somewhere + .with_tracker(project="my_first_app") + .build() + ) + app.visualize("./graph", format="png", include_conditions=True, include_state=True) + app.run(halt_after=["done"]) + + +And the output looks exactly as we expect! + +.. code-block:: text + + $ python run.py + + counted to 1 + counted to 2 + counted to 3 + counted to 4 + counted to 5 + counted to 6 + counted to 7 + counted to 8 + counted to 9 + counted to 10 + Bob's your uncle + +Finally, let's open up the UI and see what it looks like (note, that if you have not installed ``burr[learn]`` now is a good time...). + +.. code-block:: bash + + burr + +You'll see the UI pop up with projects. Navigate to `the UI `_ and explore! + +All this to increment? Well, if all you want to do is count to 10, this might not be for you. But we imagine most of you want to do more exciting things +than count to 10... diff --git a/_sources/getting_started/up-next.rst.txt b/_sources/getting_started/up-next.rst.txt new file mode 100644 index 000000000..45fbe2263 --- /dev/null +++ b/_sources/getting_started/up-next.rst.txt @@ -0,0 +1,75 @@ +================= +Next Steps +================= + +You've written your own burr application in a few lines of code. Nice work! Let's look at some less trivial examples. +All of the following are pre-populated in the UI under ``projects/``. You can start the UI by running: + +.. code-block:: bash + + burr + +Telemetry UI chatbot demo ``demo:chatbot`` +------------------------------------------ + +You'll need the env variable ``OPENAI_API_KEY`` set to your api key for this to work. If you don't +have one, you'll still be able to run it and explore, you just won't be able to chat. + +If you haven't already: + +.. code-block:: bash + + pip install burr[start] + +Then: + +.. code-block:: bash + + burr-demo + +If you've run ``burr`` and have it open on port 7241, just navigate to `demos/chatbot `_. + +Repository Examples +------------------- + +For the next examples you'll need the repository cloned: + +.. code-block:: bash + + git clone https://github.com/dagworks-inc/burr && cd burr + +------------------------------- +Simple Counter ``demo:counter`` +------------------------------- + +.. code-block:: bash + + cd examples/hello-world-counter + python application.py + +------------------------------------------- +Interactive RAG ``demo:conversational-rag`` +------------------------------------------- + +This is a toy interactive RAG example. You'll ask questions in the terminal about information it already has... + +.. code-block:: bash + + cd examples/conversational-rag + pip install -r requirements.txt + python application.py + + +Understanding Concepts +---------------------- + +If you're more comfortable learning through concepts start here. + +Once you're comfortable with the UI, you may want to get a sense of a few of the capabilities +of the Burr library and where you can go to learn more about them: + +- :ref:`Creating custom actions ` and calling out to integrated frameworks +- :ref:`Running applications `, managing their lifeycyle, and inspecting the results +- :ref:`Managing state ` -- persisting, inspecting, and updating +- :ref:`Handling transition between nodes ` and managing the flow of your application +- :ref:`Adding hooks to customize execution ` and integrate with other systems diff --git a/_sources/getting_started/why-burr.rst.txt b/_sources/getting_started/why-burr.rst.txt new file mode 100644 index 000000000..be48ae7c1 --- /dev/null +++ b/_sources/getting_started/why-burr.rst.txt @@ -0,0 +1,50 @@ +================= +Why Burr +================= + +--------------------------------------- +An abstraction to make your life easier +--------------------------------------- + +Why do you need a state machine for your applications? Won't the normal programming constructs suffice? + +Yes, until a point. Let's look at a chatbot as an example. Here's a simple design of something gpt-like: + +#. Accept a prompt from the user +#. Perform some simple checks/validations on that prompt (is it safe/within the terms of service) +#. If (2) then decide the mode to which to respond to that prompt from a set of capabilities. Else responds accordingly: + * Generate an image + * Answer a question + * Write some code + * ... +#. Query the appropriate model with the prompt, formatted as expected + * On failure, present an error message + * On success, present the response to the user +#. Await a new prompt, GOTO (1) + +Visually, we might have an implementation/spec that looks like this: + +.. image:: ../_static/demo_graph.png + :align: center + + +While this involves multiple API calls, error-handling, etc... it is definitely possible to get a prototype +that looks slick out without too much abstraction. + +Now, let's get this to production. We need to: + +#. Add monitoring to figure out if/why any of our API calls return strange results +#. Understand the decisions made by the application -- E.G. why it chose certain modes, why it formatted a response correctly. This involves: + * Tracking all the prompts/responses + * Going back in time to examine the state of the application at a given point +#. Debug it in a local mode, step-by-step, using the state we observed in production +#. Add new capabilities to the application +#. Monitor the performance of the application -- which steps/decisions are taking the longest? +#. Monitor the cost of running the application -- how many tokens are we accepting from/delivering to the user. +#. Save the state out to some external store so you can restart the conversation from where you left off + +And this is the tip of the iceberg -- chatbots (and all stateful applications) get really complicated, really quickly. + +Burr is designed to unlock the capabilities above and more -- decomposing your application into functions that manipulate state +and transition, with hooks that allow you to customize any part of the application. It is a platform on top of which you can build any of the +production requirements above, and comes with many of them out of the box! diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 000000000..aee4f31a4 --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,45 @@ +.. include:: main.rst + +.. toctree:: + :maxdepth: 2 + :hidden: + :caption: User guide: + + getting_started/index + concepts/index + +.. toctree:: + :hidden: + :maxdepth: 2 + :caption: Examples: + + examples/index + +.. toctree:: + :hidden: + :caption: Community + + Discord Server + +.. toctree:: + :hidden: + :maxdepth: 2 + :caption: Reference: + + reference/index + +.. toctree:: + :hidden: + :maxdepth: 2 + :caption: Contributing: + + contributing/index + +.. toctree:: + :hidden: + :caption: EXTERNAL RESOURCES + + GitHub + Burr Cloud + Blog + Twitter diff --git a/_sources/main.rst.txt b/_sources/main.rst.txt new file mode 100644 index 000000000..82ae8dce8 --- /dev/null +++ b/_sources/main.rst.txt @@ -0,0 +1,27 @@ +============== +Burr +============== + +Welcome to Burr's documentation. + +For a quick overview of Burr, watch `this walkthrough `_ +or read `our blog post `_. The following video is +a longer demo of building a simple chatbot application with Burr using `this notebook `_: + +.. raw:: html + +
+ +For more details about how Burr works, what problems it solves, and how to use it, read on! + +You'll find this documentation separated into three sections. + +- If you don't know where to start, go to :ref:`getting started `. +- If you're looking to build a mental model/read more, go to :ref:`concepts `. +- If you're looking for a specific piece of information, go to :ref:`reference `. + +We also ask that you: + +- Report any bugs, issues, or feature requests via `GitHub Issues `_ or \ + `GitHub Discussions `_. +- Give us a star on `GitHub `_ if you like the project! diff --git a/_sources/reference/actions.rst.txt b/_sources/reference/actions.rst.txt new file mode 100644 index 000000000..8afeea465 --- /dev/null +++ b/_sources/reference/actions.rst.txt @@ -0,0 +1,42 @@ +================= +Actions +================= + +.. _actionref: + +.. autoclass:: burr.core.action.Action + :members: + :inherited-members: + :show-inheritance: + + .. automethod:: __init__ + +.. autoclass:: burr.core.action.Result + :members: + + .. automethod:: __init__ + + +.. autoclass:: burr.core.action.Input + :members: + + .. automethod:: __init__ + +.. autodecorator:: burr.core.action.action +.. autofunction:: burr.core.action.bind + + +.. autoclass:: burr.core.action.Function + :members: + +.. autoclass:: burr.core.action.Reducer + :members: + +.. autoclass:: burr.core.action.StreamingResultContainer + :members: + +.. autoclass:: burr.core.action.streaming_action + :members: + +.. autoclass:: burr.core.action.StreamingAction + :members: diff --git a/_sources/reference/application.rst.txt b/_sources/reference/application.rst.txt new file mode 100644 index 000000000..21aa7399a --- /dev/null +++ b/_sources/reference/application.rst.txt @@ -0,0 +1,20 @@ +================= +Applications +================= + +Use this to build and manage a state Machine. You should only ever instantiate the ``ApplicationBuilder`` class, +and not the ``Application`` class directly. + + +.. autoclass:: burr.core.application.ApplicationBuilder + :members: + +.. _applicationref: + +.. autoclass:: burr.core.application.Application + :members: + + .. automethod:: __init__ + +.. autoclass:: burr.core.application.ApplicationGraph + :members: diff --git a/_sources/reference/conditions.rst.txt b/_sources/reference/conditions.rst.txt new file mode 100644 index 000000000..2f8b797fe --- /dev/null +++ b/_sources/reference/conditions.rst.txt @@ -0,0 +1,13 @@ +======================= +Conditions/Transitions +======================= + +.. _transitionref: + +Conditions represent choices to move between actions -- these are read by the application builder when executing the graph. +Note that these will always be specified in order -- the first condition that evaluates to ``True`` will be the selected action. + +.. autoclass:: burr.core.action.Condition + :members: + + .. automethod:: __init__ diff --git a/_sources/reference/index.rst.txt b/_sources/reference/index.rst.txt new file mode 100644 index 000000000..b1e20464a --- /dev/null +++ b/_sources/reference/index.rst.txt @@ -0,0 +1,23 @@ +.. _reference: + +======================== +Reference Documentation +======================== + +Reference documentation. Anything in here is part of the public (semantically versioned) API, unless marked otherwise. +That means that if you find something not in here, it's not part of the public API and may change without notice. If you +need functionality that is not publicly exposed, please open an issue and we can discuss adding it! + +.. toctree:: + :maxdepth: 2 + + application + actions + state + persister + conditions + tracking + visibility + lifecycle + integrations/index + telemetry diff --git a/_sources/reference/integrations/hamilton.rst.txt b/_sources/reference/integrations/hamilton.rst.txt new file mode 100644 index 000000000..5bf84a082 --- /dev/null +++ b/_sources/reference/integrations/hamilton.rst.txt @@ -0,0 +1,15 @@ +======================= +Hamilton +======================= + +Full Hamilton integration. Touch-points are custom Hamilton actions. This is installed by default. + +.. autofunction:: burr.integrations.hamilton.Hamilton + +.. autofunction:: burr.integrations.hamilton.from_state + +.. autofunction:: burr.integrations.hamilton.from_value + +.. autofunction:: burr.integrations.hamilton.update_state + +.. autofunction:: burr.integrations.hamilton.append_state diff --git a/_sources/reference/integrations/index.rst.txt b/_sources/reference/integrations/index.rst.txt new file mode 100644 index 000000000..d84e9b8fd --- /dev/null +++ b/_sources/reference/integrations/index.rst.txt @@ -0,0 +1,11 @@ +================ +Integrations +================ + +Integrations -- we will be adding more + +.. toctree:: + :maxdepth: 2 + + hamilton + streamlit diff --git a/_sources/reference/integrations/streamlit.rst.txt b/_sources/reference/integrations/streamlit.rst.txt new file mode 100644 index 000000000..d24e64171 --- /dev/null +++ b/_sources/reference/integrations/streamlit.rst.txt @@ -0,0 +1,31 @@ +======================= +Streamlit +======================= + +Full Streamlit integration. Tough-points are utility functions. +It is likely this will adapt/change over time, so it is only recommended to use this for debugging/developing. + +Install with pypi: + +.. code-block:: bash + + pip install burr[streamlit] + +.. autoclass:: burr.integrations.streamlit.AppState + :members: + +.. autofunction:: burr.integrations.streamlit.load_state_from_log_file + +.. autofunction:: burr.integrations.streamlit.get_state + +.. autofunction:: burr.integrations.streamlit.update_state + +.. autofunction:: burr.integrations.streamlit.render_state_machine + +.. autofunction:: burr.integrations.streamlit.render_action + +.. autofunction:: burr.integrations.streamlit.render_state_results + +.. autofunction:: burr.integrations.streamlit.set_slider_to_current + +.. autofunction:: burr.integrations.streamlit.render_explorer diff --git a/_sources/reference/lifecycle.rst.txt b/_sources/reference/lifecycle.rst.txt new file mode 100644 index 000000000..6d6c9dfe7 --- /dev/null +++ b/_sources/reference/lifecycle.rst.txt @@ -0,0 +1,46 @@ +================= +Lifecycle API +================= + + +These are the available lifecycle hooks for Burr. Implement these classes +and add instances to the application builder to customize your state machines's execution. + +.. _hooksref: +.. autoclass:: burr.lifecycle.base.PreRunStepHook + :members: + +.. autoclass:: burr.lifecycle.base.PreRunStepHookAsync + :members: + +.. autoclass:: burr.lifecycle.base.PostRunStepHook + :members: + +.. autoclass:: burr.lifecycle.base.PostRunStepHookAsync + :members: + +.. autoclass:: burr.lifecycle.base.PostApplicationCreateHook + :members: + +.. autoclass:: burr.lifecycle.base.PreStartSpanHook + :members: + +.. autoclass:: burr.lifecycle.base.PreStartSpanHookAsync + :members: + +.. autoclass:: burr.lifecycle.base.PostEndSpanHook + :members: + +.. autoclass:: burr.lifecycle.base.PostEndSpanHookAsync + :members: + + +These hooks are available for you to use: + +.. autoclass:: burr.lifecycle.default.StateAndResultsFullLogger + + .. automethod:: __init__ + +.. autoclass:: burr.lifecycle.default.SlowDownHook + + .. automethod:: __init__ diff --git a/_sources/reference/persister.rst.txt b/_sources/reference/persister.rst.txt new file mode 100644 index 000000000..14d1c6eb4 --- /dev/null +++ b/_sources/reference/persister.rst.txt @@ -0,0 +1,59 @@ +================= +State Persistence +================= + +Burr provides a set of tools to make loading and saving state easy. These are functions +that will be used by lifecycle hooks to save and load state. + +If you want to implement your own state persister (to bridge it with a database), you should implement +the ``BaseStatePersister`` interface. + +.. autoclass:: burr.core.persistence.BaseStatePersister + :members: + :show-inheritance: + :inherited-members: + + .. automethod:: __init__ + +Internally, this interface combines the following two interfaces: + +.. autoclass:: burr.core.persistence.BaseStateLoader + :members: + + .. automethod:: __init__ + +.. autoclass:: burr.core.persistence.BaseStateSaver + :members: + :show-inheritance: + :inherited-members: + + .. automethod:: __init__ + + +Supported Implementations +========================= + +.. _persistersref: + +Currently we support the following, although we highly recommend you contribute your own! We will be adding more shortly. + +.. autoclass:: burr.core.persistence.SQLLitePersister + :members: + + .. automethod:: __init__ + + +.. autoclass:: burr.integrations.persisters.postgresql.PostgreSQLPersister + :members: + + .. automethod:: __init__ + + +.. autoclass:: burr.integrations.persisters.b_redis.RedisPersister + :members: + + .. automethod:: __init__ + + +Note that the :py:class:`LocalTrackingClient ` leverages the :py:class:`BaseStateLoader ` to allow loading state, +although it uses different mechanisms to save state (as it tracks more than just state). diff --git a/_sources/reference/state.rst.txt b/_sources/reference/state.rst.txt new file mode 100644 index 000000000..a262a7816 --- /dev/null +++ b/_sources/reference/state.rst.txt @@ -0,0 +1,10 @@ +================= +State +================= + +Use the state API to manipulate the state of the application. + +.. autoclass:: burr.core.state.State + :members: + + .. automethod:: __init__ diff --git a/_sources/reference/telemetry.rst.txt b/_sources/reference/telemetry.rst.txt new file mode 100644 index 000000000..7d7ed8003 --- /dev/null +++ b/_sources/reference/telemetry.rst.txt @@ -0,0 +1,47 @@ +============================== +Usage analytics + data privacy +============================== + +By default, when using Burr, it collects anonymous usage data to help improve Burr and know where to apply development efforts. + +We capture events on the following occasions: + +1. When an application is built +2. When one of the ``execution`` functions is run in ``Application`` +3. When a CLI command is run + +The captured data is limited to: + +- Operating System and Python version +- A persistent UUID to indentify the session, stored in ~/.burr.conf. +- The name of the function/CLI command that was run + +If you're worried, see ``telemetry.py`` for details. + +If you do not wish to participate, one can opt-out with one of the following methods: + +1. Set it to false programmatically in your code before creating a Burr application builder: + +.. code-block:: python + + from burr import telemetry + telemetry.disable_telemetry() + +2. Set the key telemetry_enabled to false in ``~/.burr.conf`` under the DEFAULT section: + +.. code-block:: ini + + [DEFAULT] + telemetry_enabled = False + +3. Set BURR_TELEMETRY_ENABLED=false as an environment variable. Either setting it for your shell session: + +.. code-block:: bash + + export BURR_TELEMETRY_ENABLED=false + +or passing it as part of the run command: + +.. code-block:: bash + + BURR_TELEMETRY_ENABLED=false python NAME_OF_MY_DRIVER.py diff --git a/_sources/reference/tracking.rst.txt b/_sources/reference/tracking.rst.txt new file mode 100644 index 000000000..73c9c4fa7 --- /dev/null +++ b/_sources/reference/tracking.rst.txt @@ -0,0 +1,12 @@ +======== +Tracking +======== + +Reference on the Tracking/Telemetry API. +Rather, you should use this throug/in conjunction with :py:meth:`burr.core.application.ApplicationBuilder.with_tracker`. + + +.. autoclass:: burr.tracking.LocalTrackingClient + :members: + + .. automethod:: __init__ diff --git a/_sources/reference/visibility.rst.txt b/_sources/reference/visibility.rst.txt new file mode 100644 index 000000000..e707ebc2e --- /dev/null +++ b/_sources/reference/visibility.rst.txt @@ -0,0 +1,18 @@ +.. _visibility: + + +====================== +Tracing Inside Actions +====================== + +Tooling for gaining visibility inside actions. You will never instantiate these directly, +they are all injected by the framework. This is purely for reference. + +.. autoclass:: burr.visibility.TracerFactory + :members: + +.. autoclass:: burr.visibility.ActionSpanTracer + :members: + +.. autoclass:: burr.visibility.ActionSpan + :members: diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 000000000..30fee9d0f --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- 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: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +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; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- 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/_static/counter.png b/_static/counter.png new file mode 100644 index 0000000000000000000000000000000000000000..db6bc637fb201655cd47fe5b74c68871f5fec4c7 GIT binary patch literal 7727 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 literal 0 HcmV?d00001 diff --git a/_static/debug.css b/_static/debug.css new file mode 100644 index 000000000..74d4aec33 --- /dev/null +++ b/_static/debug.css @@ -0,0 +1,69 @@ +/* + This CSS file should be overridden by the theme authors. It's + meant for debugging and developing the skeleton that this theme provides. +*/ +body { + font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji"; + background: lavender; +} +.sb-announcement { + background: rgb(131, 131, 131); +} +.sb-announcement__inner { + background: black; + color: white; +} +.sb-header { + background: lightskyblue; +} +.sb-header__inner { + background: royalblue; + color: white; +} +.sb-header-secondary { + background: lightcyan; +} +.sb-header-secondary__inner { + background: cornflowerblue; + color: white; +} +.sb-sidebar-primary { + background: lightgreen; +} +.sb-main { + background: blanchedalmond; +} +.sb-main__inner { + background: antiquewhite; +} +.sb-header-article { + background: lightsteelblue; +} +.sb-article-container { + background: snow; +} +.sb-article-main { + background: white; +} +.sb-footer-article { + background: lightpink; +} +.sb-sidebar-secondary { + background: lightgoldenrodyellow; +} +.sb-footer-content { + background: plum; +} +.sb-footer-content__inner { + background: palevioletred; +} +.sb-footer { + background: pink; +} +.sb-footer__inner { + background: salmon; +} +.sb-article { + background: white; +} diff --git a/_static/demo_graph.png b/_static/demo_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e4987edef7979743c716aa5dc6d49eed1b6dbf GIT binary patch literal 45104 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 kE*3m&;(to`kAfZ~i<$yEUR-;9}Y9BfB*mh literal 0 HcmV?d00001 diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 000000000..d06a71d75 --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"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/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 000000000..87fc516a4 --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'dirhtml', + 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/_static/file.png b/_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/_static/language_data.js b/_static/language_data.js new file mode 100644 index 000000000..250f5665f --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +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, is 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/_static/minus.png b/_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/_static/plus.png b/_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/_static/pygments.css b/_static/pygments.css new file mode 100644 index 000000000..c2e07c71e --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,258 @@ +.highlight pre { line-height: 125%; } +.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #8f5902; font-style: italic } /* Comment */ +.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ +.highlight .g { color: #000000 } /* Generic */ +.highlight .k { color: #204a87; font-weight: bold } /* Keyword */ +.highlight .l { color: #000000 } /* Literal */ +.highlight .n { color: #000000 } /* Name */ +.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */ +.highlight .x { color: #000000 } /* Other */ +.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ +.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */ +.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #a40000 } /* Generic.Deleted */ +.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ +.highlight .ges { color: #000000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #ef2929 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #000000; font-style: italic } /* Generic.Output */ +.highlight .gp { color: #8f5902 } /* Generic.Prompt */ +.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ +.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */ +.highlight .ld { color: #000000 } /* Literal.Date */ +.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */ +.highlight .s { color: #4e9a06 } /* Literal.String */ +.highlight .na { color: #c4a000 } /* Name.Attribute */ +.highlight .nb { color: #204a87 } /* Name.Builtin */ +.highlight .nc { color: #000000 } /* Name.Class */ +.highlight .no { color: #000000 } /* Name.Constant */ +.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #ce5c00 } /* Name.Entity */ +.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #000000 } /* Name.Function */ +.highlight .nl { color: #f57900 } /* Name.Label */ +.highlight .nn { color: #000000 } /* Name.Namespace */ +.highlight .nx { color: #000000 } /* Name.Other */ +.highlight .py { color: #000000 } /* Name.Property */ +.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #000000 } /* Name.Variable */ +.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */ +.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ +.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ +.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */ +.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */ +.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */ +.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */ +.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */ +.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ +.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ +.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ +.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ +.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ +.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ +.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ +.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ +.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ +.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ +.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ +.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ +.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #000000 } /* Name.Function.Magic */ +.highlight .vc { color: #000000 } /* Name.Variable.Class */ +.highlight .vg { color: #000000 } /* Name.Variable.Global */ +.highlight .vi { color: #000000 } /* Name.Variable.Instance */ +.highlight .vm { color: #000000 } /* Name.Variable.Magic */ +.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */ +@media not print { +body[data-theme="dark"] .highlight pre { line-height: 125%; } +body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight .hll { background-color: #404040 } +body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 } +body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */ +body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */ +body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */ +body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */ +body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */ +body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */ +body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */ +body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body[data-theme="dark"] .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body[data-theme="dark"] .highlight .gd { color: #d22323 } /* Generic.Deleted */ +body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body[data-theme="dark"] .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body[data-theme="dark"] .highlight .gr { color: #d22323 } /* Generic.Error */ +body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */ +body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */ +body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body[data-theme="dark"] .highlight .gt { color: #d22323 } /* Generic.Traceback */ +body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */ +body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */ +body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */ +body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */ +body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */ +body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */ +body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */ +body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +@media (prefers-color-scheme: dark) { +body:not([data-theme="light"]) .highlight pre { line-height: 125%; } +body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight .hll { background-color: #404040 } +body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 } +body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */ +body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */ +body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */ +body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */ +body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */ +body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */ +body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */ +body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body:not([data-theme="light"]) .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body:not([data-theme="light"]) .highlight .gd { color: #d22323 } /* Generic.Deleted */ +body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body:not([data-theme="light"]) .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body:not([data-theme="light"]) .highlight .gr { color: #d22323 } /* Generic.Error */ +body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */ +body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */ +body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body:not([data-theme="light"]) .highlight .gt { color: #d22323 } /* Generic.Traceback */ +body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */ +body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */ +body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */ +body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */ +body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */ +body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */ +body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */ +body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +} +} \ No newline at end of file diff --git a/_static/scripts/furo-extensions.js b/_static/scripts/furo-extensions.js new file mode 100644 index 000000000..e69de29bb diff --git a/_static/scripts/furo.js b/_static/scripts/furo.js new file mode 100644 index 000000000..32e7c05be --- /dev/null +++ b/_static/scripts/furo.js @@ -0,0 +1,3 @@ +/*! For license information please see furo.js.LICENSE.txt */ +(()=>{var t={212:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(212),e=n.n(t),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;const s=64;function l(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function a(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",l)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;n=t,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(t){tc&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),a()}))})()})(); +//# sourceMappingURL=furo.js.map \ No newline at end of file diff --git a/_static/scripts/furo.js.LICENSE.txt b/_static/scripts/furo.js.LICENSE.txt new file mode 100644 index 000000000..1632189c7 --- /dev/null +++ b/_static/scripts/furo.js.LICENSE.txt @@ -0,0 +1,7 @@ +/*! + * gumshoejs v5.1.2 (patched by @pradyunsg) + * A simple, framework-agnostic scrollspy script. + * (c) 2019 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/gumshoe + */ diff --git a/_static/scripts/furo.js.map b/_static/scripts/furo.js.map new file mode 100644 index 000000000..470530223 --- /dev/null +++ b/_static/scripts/furo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/furo.js","mappings":"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","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 0.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js new file mode 100644 index 000000000..7918c3fab --- /dev/null +++ b/_static/searchtools.js @@ -0,0 +1,574 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"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] = 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, + }; +} + +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] = item; + + let listItem = document.createElement("li"); + 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) + ); + // 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 = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +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); +}; + +/** + * 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) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you 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.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); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + 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; + + // 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]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // 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] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((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; + }); + + // 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; + }, []); + + results = results.reverse(); + + // 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]], + ]); + }; + 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 = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], 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, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [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)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + 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) => { + const text = Search.htmlToText(htmlText); + 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/_static/skeleton.css b/_static/skeleton.css new file mode 100644 index 000000000..467c878c6 --- /dev/null +++ b/_static/skeleton.css @@ -0,0 +1,296 @@ +/* Some sane resets. */ +html { + height: 100%; +} + +body { + margin: 0; + min-height: 100%; +} + +/* All the flexbox magic! */ +body, +.sb-announcement, +.sb-content, +.sb-main, +.sb-container, +.sb-container__inner, +.sb-article-container, +.sb-footer-content, +.sb-header, +.sb-header-secondary, +.sb-footer { + display: flex; +} + +/* These order things vertically */ +body, +.sb-main, +.sb-article-container { + flex-direction: column; +} + +/* Put elements in the center */ +.sb-header, +.sb-header-secondary, +.sb-container, +.sb-content, +.sb-footer, +.sb-footer-content { + justify-content: center; +} +/* Put elements at the ends */ +.sb-article-container { + justify-content: space-between; +} + +/* These elements grow. */ +.sb-main, +.sb-content, +.sb-container, +article { + flex-grow: 1; +} + +/* Because padding making this wider is not fun */ +article { + box-sizing: border-box; +} + +/* The announcements element should never be wider than the page. */ +.sb-announcement { + max-width: 100%; +} + +.sb-sidebar-primary, +.sb-sidebar-secondary { + flex-shrink: 0; + width: 17rem; +} + +.sb-announcement__inner { + justify-content: center; + + box-sizing: border-box; + height: 3rem; + + overflow-x: auto; + white-space: nowrap; +} + +/* Sidebars, with checkbox-based toggle */ +.sb-sidebar-primary, +.sb-sidebar-secondary { + position: fixed; + height: 100%; + top: 0; +} + +.sb-sidebar-primary { + left: -17rem; + transition: left 250ms ease-in-out; +} +.sb-sidebar-secondary { + right: -17rem; + transition: right 250ms ease-in-out; +} + +.sb-sidebar-toggle { + display: none; +} +.sb-sidebar-overlay { + position: fixed; + top: 0; + width: 0; + height: 0; + + transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease; + + opacity: 0; + background-color: rgba(0, 0, 0, 0.54); +} + +#sb-sidebar-toggle--primary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"], +#sb-sidebar-toggle--secondary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] { + width: 100%; + height: 100%; + opacity: 1; + transition: width 0ms ease, height 0ms ease, opacity 250ms ease; +} + +#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary { + left: 0; +} +#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary { + right: 0; +} + +/* Full-width mode */ +.drop-secondary-sidebar-for-full-width-content + .hide-when-secondary-sidebar-shown { + display: none !important; +} +.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary { + display: none !important; +} + +/* Mobile views */ +.sb-page-width { + width: 100%; +} + +.sb-article-container, +.sb-footer-content__inner, +.drop-secondary-sidebar-for-full-width-content .sb-article, +.drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 100vw; +} + +.sb-article, +.match-content-width { + padding: 0 1rem; + box-sizing: border-box; +} + +@media (min-width: 32rem) { + .sb-article, + .match-content-width { + padding: 0 2rem; + } +} + +/* Tablet views */ +@media (min-width: 42rem) { + .sb-article-container { + width: auto; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 42rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 46rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 46rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 50rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 50rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Tablet views */ +@media (min-width: 59rem) { + .sb-sidebar-secondary { + position: static; + } + .hide-when-secondary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 63rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 67rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Desktop views */ +@media (min-width: 76rem) { + .sb-sidebar-primary { + position: static; + } + .hide-when-primary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} + +/* Full desktop views */ +@media (min-width: 80rem) { + .sb-article, + .match-content-width { + width: 46rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } +} + +@media (min-width: 84rem) { + .sb-article, + .match-content-width { + width: 50rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } +} + +@media (min-width: 88rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-page-width { + width: 88rem; + } +} diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js new file mode 100644 index 000000000..8a96c69a1 --- /dev/null +++ b/_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/_static/styles/furo-extensions.css b/_static/styles/furo-extensions.css new file mode 100644 index 000000000..bc447f228 --- /dev/null +++ b/_static/styles/furo-extensions.css @@ -0,0 +1,2 @@ +#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} +/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo-extensions.css.map b/_static/styles/furo-extensions.css.map new file mode 100644 index 000000000..9ba5637f9 --- /dev/null +++ b/_static/styles/furo-extensions.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAKE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cALA,UASA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UC5CN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/styles/furo.css b/_static/styles/furo.css new file mode 100644 index 000000000..3d29a218f --- /dev/null +++ b/_static/styles/furo.css @@ -0,0 +1,2 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}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}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo.css.map b/_static/styles/furo.css.map new file mode 100644 index 000000000..1924b3334 --- /dev/null +++ b/_static/styles/furo.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo.css","mappings":"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F,kBACA,CACE,wEACA,CARA,YACA,CAKF,mBAFF,MACE,CAIE,gBAJF,iCAJE,cAGJ,CANI,oBAEA,CAKF,SAIE,2BADA,UACA,kBAGF,sCACA,CAFF,WACE,WACA,mBACE,kDACA,0EACA,uDAKJ,aACE,mDAII,CAJJ,6CAII,4BACA,sCACE,kEACA,+CACE,aACA,WADA,+BACA,uEANN,YACE,mDAEE,mBADF,0CACE,CADF,qBACE,0DACA,YACE,4DACA,sEANN,YACE,8CACA,kBADA,UACA,2CACE,2EACA,cACE,kEACA,mEANN,yBACE,4DACA,sBACE,+EAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAKA,oCAEA,yDAEE,gEAKF,+CC5FA,0EAGE,CACA,qDCLJ,+DAIE,sCAIA,kEACE,yBACA,2FAMA,gBACA,yGCbF,mBAOA,2MAIA,4HAYA,0DACE,8GAYF,8HAQE,mBAEA,6HAOF,YAGA,mIAME,eACA,CAFF,YAEE,4FAMJ,8BAEE,uBAYA,sCAEE,CAJF,oBAEA,CARA,wCAEA,CAHA,8BACA,CAFA,eACA,CAGA,wCAEA,CAEA,mDAIE,kCACE,6BACA,4CAKJ,kDAIA,eACE,aAGF,8BACE,uDACA,sCACA,cAEA,+BACA,CA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","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto\n display: block\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #646776; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2962ff;\n --color-brand-content: #2a5adf;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link-underline--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #ffffffcc; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2b8cee;\n --color-brand-content: #368ce2;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: 1rem\n width: 1rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1rem\n width: 1rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page svg\n color: inherit\n height: 1rem\n width: 1rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: var(--header-height)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 3.5rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\n.versionmodified\n font-style: italic\ndiv.versionadded, div.versionchanged, div.deprecated\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > p,\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 0.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(0.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(0.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the

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 J_Le*1{~vA>H|PKW literal 0 HcmV?d00001 diff --git a/.doctrees/examples/agents.doctree b/.doctrees/examples/agents.doctree new file mode 100644 index 0000000000000000000000000000000000000000..604ab89ed2b001c610edf46857e7e1cd78236d18 GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/.doctrees/examples/creating_tests.doctree b/.doctrees/examples/creating_tests.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f373ba857d65ce6b9f436ea1b91334b40a378950 GIT binary patch literal 11630 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 literal 0 HcmV?d00001 diff --git a/.doctrees/examples/index.doctree b/.doctrees/examples/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7791fc4b1a5c9c036c431f5d679f9543b1177ed1 GIT binary patch literal 4760 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 HlJVeQH9sz> literal 0 HcmV?d00001 diff --git a/.doctrees/examples/ml_training.doctree b/.doctrees/examples/ml_training.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a7917e3b36ca13a031ba46363c45b7684bdc4248 GIT binary patch literal 4571 zcmds5ON%7O5uVwZ?wOwF&PqENv?G@=@~-esw+{we#t4jzY%|_5*z3nd)MQshcP5=x zSV>w6wHwaTeFFUKP62=A>LmmYSqT^lNO zY{OQfg>xX{yO)cs`Pxp)VzC&DWM*l?JZ0GOV#-^UJe04=J^4s($dmB)NScgBw#;*~ zqbp-)qj70%^Bt`F~7)B3ZkeFIg$R#KJ{_pE+Yd^aw z$ntJRo^15X!mCXEQLw8cfGwruq*?9S5& z9A&cpBg`^8`X8wkGyEA)jA zd@4`mQ{=Q>n;r4k!={)3NPpwplNp4Z$|uHVbq*UPCU256$0?@-lOxeM;+UeS&>|se zbc)P6&!Ul=kxwLq)EpO<3geVF_9ps~^uBOE9F3;R%W^zSOg8$-kAM0*q-1yc^E_!% zvbRK|3`M7v$a(p+O`Y#t#ESs_&DWyx5wX;8hf5A#dH63ERXdBQS{w*Rz;0dKI|Nq?eX-e8{;o5? z=2AvxksHlZ*MW;>>xU;pu#k=MqxM8hi z->ip&1my#5LfkcKdo87D*uu6W?@`LplOAUu;%m-hc;j&3ki?1@35Rq&-aGwnT(42&SxENGnU!!X+(RIPyDc1Kek%U()CB~+4N(Eqo zYZNeY9{MOR6W9oMs1!h@iMp<2KOBhCn|MJA_Y|cld)>YXZ7SvboSK@UW)T z$mX|SkP1g-YU1mR@pPZAQIsfNK3PK~@$n^E(gvT0ajKjcYc^!AaU zu#@DDc&04Gf4dcrNEM9N8QGyCKdJ9P^pB*^G%g!>F-8cbURGz@;RJxp;x0D3bQ`;Z z5po;uyPMpL>sYF()c66so7yn$_gscqDgHx=pmuQ7EA_fr#@Zxe?%IzhuCosRwNGETkAs)R^%hoTFt^(({zW^_aq{>b3)`pt!18d)LlcI5g2cU7L~GG)L_Ip}vV)f$vIT!fm3KS7|; F{SR>o>Hq)$ literal 0 HcmV?d00001 diff --git a/.doctrees/examples/simple.doctree b/.doctrees/examples/simple.doctree new file mode 100644 index 0000000000000000000000000000000000000000..19b6705269e13272da86ce64e387b21908ec97fc GIT binary patch literal 4426 zcmb_gTZO?SI1aQqY@pPQt(12Uc)y{*KOr z3Qscp)km$mC4mmcvjf*p8l~BW>n?O1yG_9h>c@6M+%_>r@rgCKBG|OSGadBrrGjV; zBECBX$>Y~nX3OPbLedjOr-8@1o*}ca<=H-amF=<{Y=a%T+ao4(I#RYMs2ZJ0buyY* zrQ%;uPLFB>N4hfjNNK44+VO^+z}lUO6@r>Xa8PT%w;k6HI|(;5Z*9BZKS<@NCTBN) z%8V)Xd!x~e8)hd*smw>e{Q0jwgC2VL>mrSM7)9wQC%jlHBMqZ!*yt9;z5gJo!_bG5 z$xM-wweDp-y8V7 ziQij@#AfB;Mu6+$9;>)_cV4QY-m)LCpFywpswi{~Q8U^Ofcx-eyEZzuHoUQr)GlaI zYG>5Ov)=}FKXluT(=&g(9<`^>^kq2nE<0pz18f~I-~J}Y2j(AvX%yoW4k1wNomdE1 z$K3_uY+ihs|H94m!M#+f8NYv% zWDilbt)e$)sG=|K8zJ&xBWoCBJq1PoTt!hu0E(_ZU7Z%F{{4KQdX_+7>^Copu_sMz zAoi~d5WDkI-ME6Vt5x7ueC?NTdzR&-spd@q`%fEvFyY&wuLtz~EK=xx=|BULYU^GddCUu-SAm&WK|={6MKSXR>T)_=pBSGO(fZFkiuQfNU! zAC;6!&J@+LZRr?ki15d2ZoB58cm>vMxNqGJQZyY%ucT>#c56y(h1`~=#_(c>PVb;; z-KI*SrWcua-A{?I=z;3j+;ycjr8R!c_Q$S2qiAo4k;-F{5j0ZIhZ`3M7QNlr?J8PIg$9d0q;TIQx6O!XmK}FM=Nw)$#8_Q3 zbzCQ-6Fb9ogHxgkcnutik{pyi+@I25lz;37ynv4q^g%KMmv?<@ro(rKn&bP%#m$5& zB~`*mkqN5c@t|sI(C9`_x1@9`Dc&8f?5v3R!{++hnj1v9OC9RdH!g0h9Cnw34Zxaa zaFKvb-t7re%q*Evcs#@U5?X!tilQh4S(4EbNWnE6Fd2t-rI^A@c!X!bDxLDVXI(cS z*2rW@a+f&ZwU^nvOd1Hnu@!-bj-ntU2;8qI6}UtAm!wito5^IJ2S{C}^HOS>v`V3-9vJ?@6?Y2$oi-} zGfWmocqvETT??F*0^m&0`Xf9B;n)Iw_{I-!!=D2+O;^MR%2NFIYw<`{5+Hj*)e)y= zTHS#HFk&VbxU6r;1X+|B=8w1BAuyRIO?oy4B)SX;Id_-!Sz*XLVSL5}e!%ahkOBI; zIwwf9&n@y=!%?qP>$psWOv%EvhbhBoks|Oh-{9rSg*bg;OI#5q%W7O))PZxLN2a`( z0t0nnxDrZ*wv!b;o(J#>Nn$pJG4R9#Gx>yONZ~W6z$hC1b9XHT*GWP#6^R5xa458u z+6Rj<7GM?ASk}(n1}z?janfzYa)SH?6nT+xB!@}j_)r1o07?N`2BR@bcov4oM<{p~ zsBypq8PcZBB0QF1HU+&Gi1GUt`dZ2uT>GUr982o=>U$FmLx7QA6b;DlD0gIp_ZjF?Xw>4ihrA>)^$P54=pGeVQ zq+-3gLTtGE7bN!UTdPA?F33j-RwmT^Ypb#rJ9zm}Rq7$Y?W7WubM-$Ccv*VCh|>w) zuSe+RK1POMfJLrhuGhdsys#-Q7sxvexeDtJFH&K%0Hawb1>0Gue~VHP9(9b_{{u~U Bu@V3P literal 0 HcmV?d00001 diff --git a/.doctrees/examples/simulation.doctree b/.doctrees/examples/simulation.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3733dbde132b6b69dee0ac575de20efb77b7400f GIT binary patch literal 3728 zcmdT{OK%)S5KiLk+Pk*bab7|qhCwJK2z!?U2ZR8L@Dj4{fj2_Y&^yz+-SW)z(2sb1 zK!QUgEcGqTFW|z@aKO@9(>2xA)m7hDRr6Et*QcW^)t}!prI5v9%+j<_ zDL27yr7CebFKl=gUi~@z7#{k8W@kn@o$%nVKqC<{OEoXTa?!^!8tSG3znA|HxtucbF2;A zf8lt;O>x-)?!)Gqm0~q2zb&I;BF%qrQuD}IW_e^)H04pwWMT2+X~Yt(jEStwNrjhY z96f>)QK{7viIhex!r^ctI%DV2OzG%cIWm)|!dUGRdpOKl!RGuhVnrIkFbtN+Vq`^o zs+!R*O_rK$jYE~LyZ(RSYXcwTZc^v&M7%%<5ibH3;w9kjW&G~r_W-|Fk#g~xI1&fq z5Si+=DM!Y}H77*R|Nap|nJXkl7KmzIVR(X|)`$ZIB2^Nu&0%CX5{F=x8B4fOSqiu` z(1^?_w~2s}O5=OYOJ$^0`aF7DSX-L6CX>0e!cE7C$|oPZ_wm=jnK}BTNNSu}&H04z z&{|vt+q>V#b)p`MyZ+1n#N)7x?K`WnC2)g39CStDXp0E~_u0RH#}PHC*E4okI z^_rblQuiFcWw^Dnn4^*Icb##jQ51NQ2H*dRWe&}zWrOc4XG>?piP$^wgE>bZVc>qi zB1N@F$j5>vOLw>Y>55A}KQH)l%OLRr4@^7yLXr3PKN zJYG=MLRS3<1C!6!5}xr&5}%;}#cj{TiOq(liJtf!;+?i}#-DJ6@0uS9 zmUYXX-{%X7sG)&5(<=3RFXdA=$8n=GrVB(38k(~lk^#b>aJp3Z#gAlx7{#a~Duq_? z17~MPZyp(m=X>ifW3IK*u|OxwxJJau)x-wBS4VoqO0TjK{K2I+mrRJ?{HQj%bfDdO zZ~euko&E-006;SW@uAWm{BFjIxkIx>xKpgJVT|&(G*6UHAR^4BD=wVS%Uj63`xs+9okoa=&RWN@#NRLG{>FGZ!{E>-a& zCp_KY3$!2}ukNfMlGyl(ta=mKic@LWG^2|&UT(I$0LON483QKNlN}(_sKqmhafs%w zyYz%Z4A;~pkr=X;BH!DXH@hY9xliN*Y>GKhn8{q)@ac^QepK=@?&=d=W``tG2H%Mp z{<*efLu|(7xfQAyD?OhCe}^a3L7~)&aJ=OY0LVP6c6ybiyt&p&gf*c(NCc+J1c|T7hA3Ad#O_m9;s~1Bt5Liu z0vAA!N@$K*R)w2XCybk3(vvxXH&d*pA`RQ80hr0BJOzKx;ez1kY8U=a0ZcR zd|*(Ot=!&kJ`n)cY*yE_3%|jOCp5JCt-6+gynv!CQjER;UfnAz;OxUGK+EE@1F%VH zME?=hZcSQ`@esq>tXohsr!N4=H%VAOKNJh$L@Jo`1CrYF5^mC5xVRAMFHXEf&kj>R z6W=+%yPCSn)@~vJ0CEQQYY8#5)vKLemDGCR08*V#Ro0=QQoVgi*l7>eEDqXJt4%l8 z?4#0ZOQrqJWn0Y~G&t0cL^-Ms!EYxj%MfPV0S#pH{YL%_QFt0Y0~hd>0#@NW$sqgn jfn6C{6K{9oDuLUwNHUiaVCF>nVM>**DGJoPG1mS80|l~w literal 0 HcmV?d00001 diff --git a/.doctrees/examples/web-server.doctree b/.doctrees/examples/web-server.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d9ce38e9f55921a722395ec059a2887b379a18a6 GIT binary patch literal 3884 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 KBF6#+5&s3lzm)_4 literal 0 HcmV?d00001 diff --git a/.doctrees/getting_started/why-burr.doctree b/.doctrees/getting_started/why-burr.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a3fcb03b7caa83d068df83d73553c8a1fe1f16ed GIT binary patch literal 14000 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 X!s5mq`XCGC#n_#4Lr%=3t>*s#H%G`T literal 0 HcmV?d00001 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d2e3428f05f003d8b25e4a9693d5743600f4a10a GIT binary patch literal 13295 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 P4AQ%)ejRT2laj${}14Q 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 z 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 Wd#a=I4+(>@5~)t5W#o1{|Nj9*7~+Tk literal 0 HcmV?d00001 diff --git a/.doctrees/reference/conditions.doctree b/.doctrees/reference/conditions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0da12bf6a5b170470da2a7d8f8c2e391cbe9757c GIT binary patch literal 37683 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 F=)a~uj8Xsq literal 0 HcmV?d00001 diff --git a/.doctrees/reference/integrations/hamilton.doctree b/.doctrees/reference/integrations/hamilton.doctree new file mode 100644 index 0000000000000000000000000000000000000000..36b55a78e55c723a5bbba4a0fc3bd5ed636b3fe9 GIT binary patch literal 2738 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 literal 0 HcmV?d00001 diff --git a/.doctrees/reference/integrations/streamlit.doctree b/.doctrees/reference/integrations/streamlit.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3a3ac6ccf00c6134885b053c458ee23eeeb527c9 GIT binary patch literal 3249 zcmdT`O^+Kj7;d{wHrY+GAN>$gyJZk6ZACZXzyVd_gg~lR-2+ryP-Qt|XKckY9{jPJ z94f(~5-a&chrhs)-^k;cWH!5kN*t+_?)dfV_w#ul`+B&#m?*=zMeQUDZU=Eh+p$^&s>~8>rX{ z-Bo<2;kJ?muTK4xh8^mhkyG!GSIlEeG8<#wP8GElLVR}$nm1oP=F7{)l%{jTXHmz8 zZAY`XRf#?EKn%n~u_cbew-cdrJ~6&1xS5=5GoMVoG0lGn&Q4%}Bi@uxWZ`&bXe^AK z*mcTdW0A|FlPy0*;(a7Xp;U^^0{!)!S1M_%lx$cUC$F{7#Br%1v*qwBi8X4S?(Oh2E2RF66wrnutmYD(EX7r4|ZyqxU0P@y{k^e-f8G( z9K=JNHWe0(g615}ODuL9hXh{cSnjNr-YBewPNyW&Tik`?4k9$mDjd$Vc7=9)WAo%@ z7)CxXd`=eVU0y*lLe*tS8e(u3CLc5su6VpSEQx?8Ym$Y>)qxf3o`!+pr8bVJ$Q#wk zt*|4gYL}gGz!wr#bJTgeR_cUKO*n8jI;W;U)u0jY4oLbaf68N0)o)=W3)F~!cQu0+ zE)wr%$6p;=iSLJ3HwiaJ8v+(&iW^ishMKx6>@}6%u+pimRN?5_&NUO__b_UVUIwr} z`ta(;wUc2#CIFyWf%>R=c82RYLAe=*h|PD;s?75hg92Dvm@}QEsp20y8#1G8U6i4;hROS88M?RdYSxk6&;C zCW*Hw8WXKC^m`Z2lXeMw9>n1SY>EshR5HiY;?@3>Fe-UT+8a40Gl&wf4<~Ul!bifn z(!Q8XAhzRj>4YxE+GLX|+>4rZ0MI0k=V*_ssg0M%kH7d5^&FX5dd+;4T$=xEZ61?K zBVOm+j3sxo+6Sh8B3!QEtncU)BgCAjPI}=8fXqodn{5K5Vb_bWZ(CUwNU|a0!MNP?QCe7!F4q?hp=c!VB*JK>=D0Pb0vF#W&qs zu-z4D^X`Kf)@JRZ8%GFFM##6Lu=y65U^eulz%5He__h++g%zLRFB1bBhMUc*PY+Xx zmPhxn*hu0`uJxKQHzkc8f=6@nsa9?OYt_5ggspb}ipBogYklbOihXdaagogLUAMK` z!IcKaNVSiAP=(!8D}}-$2V5E3->l^Ck^H;rd!Qe0SIiNf(iZ)09Ja)9MZDXJ>z3`x YB2}J6h-9%_J1lbBiU#6s?Wg0v0T^Td8~^|S literal 0 HcmV?d00001 diff --git a/.doctrees/reference/lifecycle.doctree b/.doctrees/reference/lifecycle.doctree new file mode 100644 index 0000000000000000000000000000000000000000..583067274835e219072c18249655fa2edc6bd7bb GIT binary patch literal 93312 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 PFDqkY5>A}g0ZjaVm9j(* literal 0 HcmV?d00001 diff --git a/.doctrees/reference/persister.doctree b/.doctrees/reference/persister.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ff45865299336be78c2fd3a28a618cfe24abe338 GIT binary patch literal 196075 zcmeFa3!Gdx~reMx;{~|zCPcAxW1KLc6D_XcmLVW^IdkPqXBocUuGL#3vi+h~WxQQ$ zOeW2%3#tpNi>{m*svg`~(5|)X72~JQVO!g!b|t!`(rndQ?aCy;z?b3O`Il9$#X+RK z^3oX^*}|z3jH5kMJ*;!^STgYHyv{;7-YuQ^_1a`*X3O-pQfHvlZZ~V&rrUrg;x(^U zZXphf#_Oe43m(Gf1(T&6^l5Q zfb+qCPicFzG*vZeG;=m|6HPT6J8QtAs1&s-?Wi#kwHu9k3;sqsN>^8+dZSdXO>U1$ zljW#Y+KC@qg0_`XYxhWWS+&xtL_n@+VtP_=s5Q{8mfF#-TD=}^t3=bSN;%rLJF3?v zD&xDy>y@b5Xk0D&hwh*$^oua4*AZgViq3&KI4K~&o%O_>E!AUD2CBya#D1&!@!FLimAYp5z>L`f=*}iM6|mx9qlSjwvp(y9aHrRDhfVr zMvYyQlHLh#qak>0TeDW)UWsZ*=ynyDS1z?n+e)pNOZzscwqxigYZL;2hqK zq5 zY!T=pSiR0^-55th!uG(pBeWGGFS7bmoKY81KSi2!2_Hzl^nNVAI;uP0Kt#rW?%A8o@zqxLh{LfB=CB2Qwee|6?zl3wki8vy}J(b2?5^Y90q0wj#YR zMKRycnv8GrlX0lC1Vm^ZP(ncM9D;)oj1=E1CWWhSs=gWJ^eviF)w{s*((n%!!*|D? zW-o-Ru%eUplOFTmaARJKW2ONwMzH>|ez<$AhICApa7F>20{WZj3}CN~Z85k)GZx~V zg*zJMX*32$rm_MY5R(1s!p`D}>3Us^r+RN^V65F39|QNG-I}R>xq9y{GvM*yBl!YS za~kF^K}8s86OlHAVY~rzhvC#|uT0NybyW7&Xfz5EC`K`Q)s3m6)W+u`a0n{RtA_Km z*$Uo7^QuJI7fGmwvVP0t7|QchWfFaxv1`GDGUfTy{6i&KKTl2T)gMb4TAo-s!pRuU zPt4)iwqvL>UyP}9(9~`;1H0D|`z)p-Z*Y?O5$Aw(76NXd_cNU%Qrtw~w)lBRsWv%N z{nySS_}1P%1#%?irLzQET{~5;jn~>Ud&CR7O3g|5crdV2N?rBKI7VXb3`iAr+AcM> zSK2e3lY&?+4BP|Y?e1&C2K4)unB)%{Hto7CDi12Qc23D58HPYs6TyfNfe=Z`#l= zJ7J6>3|x;FVoR{o#0|s#rMuJS``?fjN!y!uJR1VXT6?$l+M=Z$Mxx!wz`56gsVhfqY#`Jzsu`|(X)?ly z2>kfnwi`b_-D)>>NZ{}hA~ES`gKPOeVywxW7oUQB^2((-6(eUM@Yx^wtR&(prL}q7 z>T12SVQdV!KQ=bBCJOeFqaBrYwNVDg`jiaGPa>}o1;_EQ#rP8s`x+aIq3TZcptCBm zAKiT>?(|ote`=6Xd3uKn zPY;tGz?Dj~4k;jWdOt`K#~Wx#q~bCnWa1T%;}Zc!8>#prcu0O)^>fwF+vK^==aE&v zQoXl&e`h7b!WCWLyLG1e)huC_*FQ}=J(0QI*OFR|Cns3kIU5Kbr==z z29IQ^{84>B4Bn6qYAbnZ`D8;qQ}1C<2oLgKZEy!?_8^*5!p^O%ek0MuqV{B?o=b{Z zl+%JOiiVVKQ##kox?YNjeZ(9HX2`0H89OdT1$6rqLpGp)RUxMNNE@@erGzUMI!-og z%-)-{-9JRbpf#?*Ae3r$@|rD;LHsd9#x+~-fQLoRR@&5Ka%FG)W#~QKaGAUkrYlnb zl<`t%fCYLNVw7&Yv?qA+X2Xla1ZZh$O89~;k;onv8Sm*SaQJp7`P0^LRB4Zoj95w8 zD&*Ib)O4SF)#Cb1iBr0`rg&HJJF$iEo8zw~1hJ*uZHDGs5f99_BB`5`8lngz)qKad z0j&7f_~(`Q=QsH0RmrDU!>2v*YsBBziodTDe`mzs+r{6%#J`T2mDr%QC~9h-j#K>@ zaCr>YV2T;r(}Rtz3Cm+{+p}(NDXTDIk0s0EJ|o5Anmr6*LI~oY#^l)5mEEHdyEKQR zwQH}2$bWllO|)(!tmd@ZSHNSHT)jTAQm5+#ZD||4Q5tXO$L> z;5^lI*vQhMGk3BpgCB3eCM)AJ;2)6(eT;}Ta4b`}06N{ZVlj7A4Ff)D(9g^OJ=G2R zVhePp61;$gP)%0?!Ye)#+9pc25NNN+Uwu$LR?F{mIxEaP>KJ&}Wnnu^hR#dcuYg=O zuu>CZnjfaInA$m5_uW|xOCyc?&Po|mhjEKYGX?*E+tfBk&wzeuG0=0@cEi-+pt}TY zrq*auO|q=juUM&4F;bCnZB13iYZJ9`HqDCD=K~;$b%C^P;^NKl(6w^5?D|Kn!rvz$ zc~-`!ivHs#!#|4moyBT4NObbBL=PH}NGm~}%jEw-Yu73*z>k{y_aY2$MyWHm(X9r5 zL&N$Y4a=5PnxYh_h4QNg_m3<%mTCkqC)N1ZJ4fx9uD5GrSWAM7FqE!Uds;D|4vPtBKUiGQ{-$!69Aikb&b`v$@H1JA z132tQQyJ|CKuRnJ)$r1E>-f(QfE5k?)8cj8``jDX0MqpF-}XsG0^s>0$6`3Sw|7EVA%tv05+e~l1oC{Ydb5GPy<)nQEKjvAlOlgnY*1<<0i{w zQU|Kj@b%7WZ+Ec2=OJlKHAcltYG5lnrW=qggnJ4 zu2ae%qBG_1%Doc7wx?P`E&7y2LEkx0|0jD9GCWkB)tLMpj*w@^8nmkqCjSIu@Ug@~bQfebMIOQ^_#%$KD#n_>iozPqQn9fs8od3rXhxO0D22H{FupO=R*!!P(D4e53P_m`{-&hbHX_qM2 zAq^LN2m5!6=F?oMQfQ9yd4g=$iJuR>Zy z=pV6i)nt5qKMAfCUms;m8Xy4Du;bhz)zOv_dRtkXh4QObtFu{7u*hsAo`P ztq4lCTD^b;;ZZAzf<>~!NUgdETRenn@k0w#u_+?A6(=)s+lz|O;2f3=g!1%y;7FB*BkNK``P~4_$(BKzh^;sBv^Kyk;O^O1B9LP#TRV> z?&HA*O6M1#7k2_6NGf^cfcIbn&>QpvjYOv}ci1)OuhqBswl20C3w@=&>-ffu3IssH1%Z)Gx+4W(OQ< ze#JXQV4cnWaUR|D*?~F_njNlT`)6l|P!#@x1>uok*?AAM!>f6)fzo*!^pb0KcuO&` zj(if>Lh>0u0`rr#23K@)ARgF*2(X;lLj4asjnai$+O&JDMTaw$X_|YcVVL%^{l}k5 zTXc{sa0DeAg&(jWJVGryKe)57HYxU68>{@R%kdi)8txyPD8Z`R*v?XYx?-;`c8+LG zPfazN?Xec*gWK0kH*in4Sc&@;_6l_$@J~QKiks4%rPJ7Al6ReS(L#2PX4wQyK`pHb zPOXeew@rQ3^VN|&JZ^b;o`7eoLZ;ipzaIY(#PDUtifDQw>_JoBpHMJu%A3){yR)uJ zt%eIMV8eGZOw4d~l&Mh`1$NbWe{QL`d4?LSKQYfC^hgdHN zmu;&`JWbNgEp;B`Lp0d_Ssx-4g&SB99&;-@=Y^lOyRYQI2Ko@MfL?O>5N|F9))8U? zTS$oe=R*(={DV+=L%GD8Y6Era_zuV`7G2_ftY?7>x1@X)D4xEwOG_PMN%tsE2T;zB z%a^#6t5z^zT78qumP19IvlV5?I4WZ`7Q4d9AyCLoTlr{PAFbiqDbSEtwIRGeScc?^ z?S5Eb0xI1nhY3_VxHB+OtJKR>E2Lc`Rg?#3;)vgkq9FZ~Y$~>R>!zK7OH>6C>;?&f+I zz#eNwELyitNKo<+SN%s|*%gipqOG0c;1oEy1`{m9a7;oQPFWdjMX*l*&Rs#_gZef+ zRS5Q!!h>B^*!Wjz(xEr7Gqe4dB}=b;iDD@rzlG2k%@bP*w%u zLDYKarZ@J7UK&pvvNQ>|y3a4&FJ!4pJs_IX~;;x7(oYx|BA8ZCDm+469CUU^`UM`={7~f# z`dVyc&YzJuVOVr_m7~{bQR?(3f8~>6X@VoL17;4&9#_tH=tmFYAmWv0x z5c~kBVt7lcgkjhs)-DHFzsg9^>ljy8LFrIC;TMp>BOg^^>nft?J8U5ynENJ zL&D%RgEL^SV`a8$=@3TITDreWi4??`6AvxfgeF((hjFSEm2==eSz;|}>4w3qljO?+ zJR$z0k&zD)Pe!&%wSa%7;e4VSVGlS=5hEATnR8bRjyLcuzILTNI2;X5lxlVObfvKo zPAJhV*V+97gvc`OncIFIaauUGB|U?IU|d-@9SpP1?k5R=&egMCXSWqkbs8c0>MFCN z$8y_(_@XV=!o@b>Y%=f%S!fL71=vkWncZ6tbm=7Fw9EFQ?m=f47dfFvRzPwLOLulj z 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 literal 0 HcmV?d00001 diff --git a/.doctrees/reference/state.doctree b/.doctrees/reference/state.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d0a2b861a05eaf187d21a03c234456188c494bec GIT binary patch literal 35688 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 R1Clfho?@IKM9^8Q{2xStFNgpD literal 0 HcmV?d00001 diff --git a/.doctrees/reference/telemetry.doctree b/.doctrees/reference/telemetry.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a0b71fcd10509ca872e71cb818750286faf17148 GIT binary patch literal 9305 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 HKN|c6z9t$z literal 0 HcmV?d00001 diff --git a/.doctrees/reference/visibility.doctree b/.doctrees/reference/visibility.doctree new file mode 100644 index 0000000000000000000000000000000000000000..cafca005d19a109d6bd77f6d7385e5a2c85eb67f GIT binary patch literal 31547 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 O5rD9mBJllpwf_V1l2rWw literal 0 HcmV?d00001 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..159cff2d3 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +burr.dagworks.io diff --git a/_images/counter.png b/_images/counter.png new file mode 100644 index 0000000000000000000000000000000000000000..db6bc637fb201655cd47fe5b74c68871f5fec4c7 GIT binary patch literal 7727 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 literal 0 HcmV?d00001 diff --git a/_images/demo_graph.png b/_images/demo_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e4987edef7979743c716aa5dc6d49eed1b6dbf GIT binary patch literal 45104 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