From 5c20b2dea1d6f700a14b91bc4fe5ce33ae228432 Mon Sep 17 00:00:00 2001 From: gilesknap Date: Wed, 15 May 2024 11:13:07 +0000 Subject: [PATCH] deploy: 794e4bfef607dcbfce120d5d5e4307526186c3d4 --- motor-demo/.buildinfo | 4 + .../developer/explanations/decisions.doctree | Bin 0 -> 6708 bytes ...0001-record-architecture-decisions.doctree | Bin 0 -> 7160 bytes .../0002-switched-to-pip-skeleton.doctree | Bin 0 -> 8243 bytes .../developer/explanations/entities.doctree | Bin 0 -> 124657 bytes .../developer/how-to/build-docs.doctree | Bin 0 -> 8623 bytes .../developer/how-to/contribute.doctree | Bin 0 -> 9313 bytes .../.doctrees/developer/how-to/lint.doctree | Bin 0 -> 9068 bytes .../developer/how-to/make-release.doctree | Bin 0 -> 7939 bytes .../developer/how-to/pin-requirements.doctree | Bin 0 -> 14359 bytes .../developer/how-to/run-tests.doctree | Bin 0 -> 6172 bytes .../developer/how-to/static-analysis.doctree | Bin 0 -> 5059 bytes .../developer/how-to/test-container.doctree | Bin 0 -> 7257 bytes .../developer/how-to/update-tools.doctree | Bin 0 -> 6936 bytes motor-demo/.doctrees/developer/index.doctree | Bin 0 -> 15613 bytes .../developer/reference/standards.doctree | Bin 0 -> 10670 bytes .../developer/tutorials/dev-install.doctree | Bin 0 -> 13113 bytes motor-demo/.doctrees/environment.pickle | Bin 0 -> 2696375 bytes motor-demo/.doctrees/genindex.doctree | Bin 0 -> 4584 bytes motor-demo/.doctrees/index.doctree | Bin 0 -> 32056 bytes .../user/explanations/docs-structure.doctree | Bin 0 -> 8089 bytes .../.doctrees/user/how-to/edit-yaml.doctree | Bin 0 -> 5150 bytes .../user/how-to/run-container.doctree | Bin 0 -> 6390 bytes motor-demo/.doctrees/user/index.doctree | Bin 0 -> 17328 bytes .../.doctrees/user/reference/api.doctree | Bin 0 -> 93425 bytes .../.doctrees/user/reference/naming.doctree | Bin 0 -> 12605 bytes .../user/tutorials/installation.doctree | Bin 0 -> 8692 bytes motor-demo/_modules/ibek/globals.html | 658 ++++++ motor-demo/_modules/ibek/ioc.html | 611 +++++ motor-demo/_modules/ibek/render.html | 643 ++++++ motor-demo/_modules/ibek/support.html | 535 +++++ motor-demo/_modules/ibek/utils.html | 651 ++++++ motor-demo/_modules/index.html | 507 +++++ .../developer/explanations/decisions.rst.txt | 17 + ...0001-record-architecture-decisions.rst.txt | 26 + .../0002-switched-to-pip-skeleton.rst.txt | 35 + .../developer/explanations/entities.rst.txt | 267 +++ .../developer/how-to/build-docs.rst.txt | 38 + .../developer/how-to/contribute.rst.txt | 1 + .../_sources/developer/how-to/lint.rst.txt | 39 + .../developer/how-to/make-release.rst.txt | 16 + .../developer/how-to/pin-requirements.rst.txt | 74 + .../developer/how-to/run-tests.rst.txt | 12 + .../developer/how-to/static-analysis.rst.txt | 8 + .../developer/how-to/test-container.rst.txt | 25 + .../developer/how-to/update-tools.rst.txt | 16 + motor-demo/_sources/developer/index.rst.txt | 65 + .../developer/reference/standards.rst.txt | 63 + .../developer/tutorials/dev-install.rst.txt | 68 + motor-demo/_sources/genindex.rst.txt | 5 + motor-demo/_sources/index.rst.txt | 29 + .../user/explanations/docs-structure.rst.txt | 18 + .../_sources/user/how-to/edit-yaml.rst.txt | 7 + .../user/how-to/run-container.rst.txt | 15 + motor-demo/_sources/user/index.rst.txt | 59 + .../_sources/user/reference/api.rst.txt | 50 + .../_sources/user/reference/naming.rst.txt | 90 + .../user/tutorials/installation.rst.txt | 44 + ...e.1e8bd061cd6da7fc9cf755528e8ffc24.min.css | 1 + .../_sphinx_design_static/design-tabs.js | 27 + motor-demo/_static/basic.css | 903 ++++++++ motor-demo/_static/check-solid.svg | 4 + motor-demo/_static/clipboard.min.js | 7 + motor-demo/_static/copy-button.svg | 5 + motor-demo/_static/copybutton.css | 94 + motor-demo/_static/copybutton.js | 248 ++ motor-demo/_static/copybutton_funcs.js | 73 + ...e.1e8bd061cd6da7fc9cf755528e8ffc24.min.css | 1 + motor-demo/_static/design-tabs.js | 27 + motor-demo/_static/doctools.js | 156 ++ motor-demo/_static/documentation_options.js | 14 + motor-demo/_static/file.png | Bin 0 -> 286 bytes motor-demo/_static/graphviz.css | 19 + motor-demo/_static/ibek-favicon.ico | Bin 0 -> 14318 bytes motor-demo/_static/ibek-logo.svg | 177 ++ motor-demo/_static/language_data.js | 199 ++ motor-demo/_static/minus.png | Bin 0 -> 90 bytes motor-demo/_static/plus.png | Bin 0 -> 90 bytes motor-demo/_static/pygments.css | 152 ++ motor-demo/_static/scripts/bootstrap.js | 3 + .../_static/scripts/bootstrap.js.LICENSE.txt | 5 + motor-demo/_static/scripts/bootstrap.js.map | 1 + .../_static/scripts/pydata-sphinx-theme.js | 2 + .../scripts/pydata-sphinx-theme.js.map | 1 + motor-demo/_static/searchtools.js | 566 +++++ motor-demo/_static/sphinx_highlight.js | 144 ++ motor-demo/_static/styles/bootstrap.css | 6 + motor-demo/_static/styles/bootstrap.css.map | 1 + .../_static/styles/pydata-sphinx-theme.css | 2 + .../styles/pydata-sphinx-theme.css.map | 1 + motor-demo/_static/styles/theme.css | 2 + .../vendor/fontawesome/6.5.1/LICENSE.txt | 165 ++ .../vendor/fontawesome/6.5.1/css/all.min.css | 5 + .../vendor/fontawesome/6.5.1/js/all.min.js | 2 + .../6.5.1/js/all.min.js.LICENSE.txt | 5 + .../6.5.1/webfonts/fa-brands-400.ttf | Bin 0 -> 207972 bytes .../6.5.1/webfonts/fa-brands-400.woff2 | Bin 0 -> 117372 bytes .../6.5.1/webfonts/fa-regular-400.ttf | Bin 0 -> 68004 bytes .../6.5.1/webfonts/fa-regular-400.woff2 | Bin 0 -> 25452 bytes .../6.5.1/webfonts/fa-solid-900.ttf | Bin 0 -> 419720 bytes .../6.5.1/webfonts/fa-solid-900.woff2 | Bin 0 -> 156496 bytes .../6.5.1/webfonts/fa-v4compatibility.ttf | Bin 0 -> 10832 bytes .../6.5.1/webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4792 bytes motor-demo/_static/webpack-macros.html | 31 + .../developer/explanations/decisions.html | 605 +++++ .../0001-record-architecture-decisions.html | 632 ++++++ .../0002-switched-to-pip-skeleton.html | 642 ++++++ .../developer/explanations/entities.html | 2016 +++++++++++++++++ motor-demo/developer/how-to/build-docs.html | 641 ++++++ motor-demo/developer/how-to/contribute.html | 633 ++++++ motor-demo/developer/how-to/lint.html | 643 ++++++ motor-demo/developer/how-to/make-release.html | 607 +++++ .../developer/how-to/pin-requirements.html | 668 ++++++ motor-demo/developer/how-to/run-tests.html | 602 +++++ .../developer/how-to/static-analysis.html | 602 +++++ .../developer/how-to/test-container.html | 615 +++++ motor-demo/developer/how-to/update-tools.html | 606 +++++ motor-demo/developer/index.html | 676 ++++++ motor-demo/developer/reference/standards.html | 652 ++++++ .../developer/tutorials/dev-install.html | 672 ++++++ motor-demo/genindex.html | 697 ++++++ motor-demo/index.html | 630 ++++++ motor-demo/objects.inv | Bin 0 -> 1192 bytes motor-demo/py-modindex.html | 521 +++++ motor-demo/search.html | 505 +++++ motor-demo/searchindex.js | 1 + .../user/explanations/docs-structure.html | 598 +++++ motor-demo/user/how-to/edit-yaml.html | 589 +++++ motor-demo/user/how-to/run-container.html | 608 +++++ motor-demo/user/index.html | 660 ++++++ motor-demo/user/reference/api.html | 870 +++++++ motor-demo/user/reference/naming.html | 673 ++++++ motor-demo/user/tutorials/installation.html | 642 ++++++ switcher.json | 4 + 134 files changed, 26255 insertions(+) create mode 100644 motor-demo/.buildinfo create mode 100644 motor-demo/.doctrees/developer/explanations/decisions.doctree create mode 100644 motor-demo/.doctrees/developer/explanations/decisions/0001-record-architecture-decisions.doctree create mode 100644 motor-demo/.doctrees/developer/explanations/decisions/0002-switched-to-pip-skeleton.doctree create mode 100644 motor-demo/.doctrees/developer/explanations/entities.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/build-docs.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/contribute.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/lint.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/make-release.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/pin-requirements.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/run-tests.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/static-analysis.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/test-container.doctree create mode 100644 motor-demo/.doctrees/developer/how-to/update-tools.doctree create mode 100644 motor-demo/.doctrees/developer/index.doctree create mode 100644 motor-demo/.doctrees/developer/reference/standards.doctree create mode 100644 motor-demo/.doctrees/developer/tutorials/dev-install.doctree create mode 100644 motor-demo/.doctrees/environment.pickle create mode 100644 motor-demo/.doctrees/genindex.doctree create mode 100644 motor-demo/.doctrees/index.doctree create mode 100644 motor-demo/.doctrees/user/explanations/docs-structure.doctree create mode 100644 motor-demo/.doctrees/user/how-to/edit-yaml.doctree create mode 100644 motor-demo/.doctrees/user/how-to/run-container.doctree create mode 100644 motor-demo/.doctrees/user/index.doctree create mode 100644 motor-demo/.doctrees/user/reference/api.doctree create mode 100644 motor-demo/.doctrees/user/reference/naming.doctree create mode 100644 motor-demo/.doctrees/user/tutorials/installation.doctree create mode 100644 motor-demo/_modules/ibek/globals.html create mode 100644 motor-demo/_modules/ibek/ioc.html create mode 100644 motor-demo/_modules/ibek/render.html create mode 100644 motor-demo/_modules/ibek/support.html create mode 100644 motor-demo/_modules/ibek/utils.html create mode 100644 motor-demo/_modules/index.html create mode 100644 motor-demo/_sources/developer/explanations/decisions.rst.txt create mode 100644 motor-demo/_sources/developer/explanations/decisions/0001-record-architecture-decisions.rst.txt create mode 100644 motor-demo/_sources/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst.txt create mode 100644 motor-demo/_sources/developer/explanations/entities.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/build-docs.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/contribute.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/lint.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/make-release.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/pin-requirements.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/run-tests.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/static-analysis.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/test-container.rst.txt create mode 100644 motor-demo/_sources/developer/how-to/update-tools.rst.txt create mode 100644 motor-demo/_sources/developer/index.rst.txt create mode 100644 motor-demo/_sources/developer/reference/standards.rst.txt create mode 100644 motor-demo/_sources/developer/tutorials/dev-install.rst.txt create mode 100644 motor-demo/_sources/genindex.rst.txt create mode 100644 motor-demo/_sources/index.rst.txt create mode 100644 motor-demo/_sources/user/explanations/docs-structure.rst.txt create mode 100644 motor-demo/_sources/user/how-to/edit-yaml.rst.txt create mode 100644 motor-demo/_sources/user/how-to/run-container.rst.txt create mode 100644 motor-demo/_sources/user/index.rst.txt create mode 100644 motor-demo/_sources/user/reference/api.rst.txt create mode 100644 motor-demo/_sources/user/reference/naming.rst.txt create mode 100644 motor-demo/_sources/user/tutorials/installation.rst.txt create mode 100644 motor-demo/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css create mode 100644 motor-demo/_sphinx_design_static/design-tabs.js create mode 100644 motor-demo/_static/basic.css create mode 100644 motor-demo/_static/check-solid.svg create mode 100644 motor-demo/_static/clipboard.min.js create mode 100644 motor-demo/_static/copy-button.svg create mode 100644 motor-demo/_static/copybutton.css create mode 100644 motor-demo/_static/copybutton.js create mode 100644 motor-demo/_static/copybutton_funcs.js create mode 100644 motor-demo/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css create mode 100644 motor-demo/_static/design-tabs.js create mode 100644 motor-demo/_static/doctools.js create mode 100644 motor-demo/_static/documentation_options.js create mode 100644 motor-demo/_static/file.png create mode 100644 motor-demo/_static/graphviz.css create mode 100644 motor-demo/_static/ibek-favicon.ico create mode 100644 motor-demo/_static/ibek-logo.svg create mode 100644 motor-demo/_static/language_data.js create mode 100644 motor-demo/_static/minus.png create mode 100644 motor-demo/_static/plus.png create mode 100644 motor-demo/_static/pygments.css create mode 100644 motor-demo/_static/scripts/bootstrap.js create mode 100644 motor-demo/_static/scripts/bootstrap.js.LICENSE.txt create mode 100644 motor-demo/_static/scripts/bootstrap.js.map create mode 100644 motor-demo/_static/scripts/pydata-sphinx-theme.js create mode 100644 motor-demo/_static/scripts/pydata-sphinx-theme.js.map create mode 100644 motor-demo/_static/searchtools.js create mode 100644 motor-demo/_static/sphinx_highlight.js create mode 100644 motor-demo/_static/styles/bootstrap.css create mode 100644 motor-demo/_static/styles/bootstrap.css.map create mode 100644 motor-demo/_static/styles/pydata-sphinx-theme.css create mode 100644 motor-demo/_static/styles/pydata-sphinx-theme.css.map create mode 100644 motor-demo/_static/styles/theme.css create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/LICENSE.txt create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/css/all.min.css create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/js/all.min.js create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/js/all.min.js.LICENSE.txt create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.ttf create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.woff2 create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.ttf create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.woff2 create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.ttf create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.woff2 create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/webfonts/fa-v4compatibility.ttf create mode 100644 motor-demo/_static/vendor/fontawesome/6.5.1/webfonts/fa-v4compatibility.woff2 create mode 100644 motor-demo/_static/webpack-macros.html create mode 100644 motor-demo/developer/explanations/decisions.html create mode 100644 motor-demo/developer/explanations/decisions/0001-record-architecture-decisions.html create mode 100644 motor-demo/developer/explanations/decisions/0002-switched-to-pip-skeleton.html create mode 100644 motor-demo/developer/explanations/entities.html create mode 100644 motor-demo/developer/how-to/build-docs.html create mode 100644 motor-demo/developer/how-to/contribute.html create mode 100644 motor-demo/developer/how-to/lint.html create mode 100644 motor-demo/developer/how-to/make-release.html create mode 100644 motor-demo/developer/how-to/pin-requirements.html create mode 100644 motor-demo/developer/how-to/run-tests.html create mode 100644 motor-demo/developer/how-to/static-analysis.html create mode 100644 motor-demo/developer/how-to/test-container.html create mode 100644 motor-demo/developer/how-to/update-tools.html create mode 100644 motor-demo/developer/index.html create mode 100644 motor-demo/developer/reference/standards.html create mode 100644 motor-demo/developer/tutorials/dev-install.html create mode 100644 motor-demo/genindex.html create mode 100644 motor-demo/index.html create mode 100644 motor-demo/objects.inv create mode 100644 motor-demo/py-modindex.html create mode 100644 motor-demo/search.html create mode 100644 motor-demo/searchindex.js create mode 100644 motor-demo/user/explanations/docs-structure.html create mode 100644 motor-demo/user/how-to/edit-yaml.html create mode 100644 motor-demo/user/how-to/run-container.html create mode 100644 motor-demo/user/index.html create mode 100644 motor-demo/user/reference/api.html create mode 100644 motor-demo/user/reference/naming.html create mode 100644 motor-demo/user/tutorials/installation.html diff --git a/motor-demo/.buildinfo b/motor-demo/.buildinfo new file mode 100644 index 000000000..e880f52cf --- /dev/null +++ b/motor-demo/.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: e37b3ccd8de05414b4af7be248141462 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/motor-demo/.doctrees/developer/explanations/decisions.doctree b/motor-demo/.doctrees/developer/explanations/decisions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..9878b3fe7c50685d03c571829b118b24f6c4c8a0 GIT binary patch literal 6708 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 K^)VEm^ZpADgRK+* literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/developer/explanations/entities.doctree b/motor-demo/.doctrees/developer/explanations/entities.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7bf4178c2934ae697942980b333eb5d6bc1688f8 GIT binary patch literal 124657 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 literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/developer/how-to/build-docs.doctree b/motor-demo/.doctrees/developer/how-to/build-docs.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e160b7631f61bad3f0c4312d2b579008afe3cf7e GIT binary patch literal 8623 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 U*a3y8rGPTSDv6?k1$Fy>0fL}L$N&HU literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/developer/how-to/contribute.doctree b/motor-demo/.doctrees/developer/how-to/contribute.doctree new file mode 100644 index 0000000000000000000000000000000000000000..fd937bf83de747405f58f1286818d5ba9517d145 GIT binary patch literal 9313 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 literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/developer/how-to/make-release.doctree b/motor-demo/.doctrees/developer/how-to/make-release.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2a69a6e53f68c9dd996164e39402d28393bb509a GIT binary patch literal 7939 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 F{{zKg9`XPH literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/developer/how-to/run-tests.doctree b/motor-demo/.doctrees/developer/how-to/run-tests.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e935febb0cb35ee5e3be85b02172722e0e23ec56 GIT binary patch literal 6172 zcmb_gU5F(|72etTxpU`#X0vP9pQQ8WZp_|$g9zCSq7PAV9UVgqfRz3lm)Wp}b0x*fCq zM5eLBGkp#-9O3zH%){)BOs~*%<@rgsSl>#xqdXZ_%f+mi6RkJ08=|dem8X2(7}A$t zOG8TuZYiFq#7Yw{99q#KePy%?i)LQu2V~8ebMI!kt#c8BWmvne+ja#-OzXJ7mfu*G72=0umfs8F4$1+a3){kUrIV?1@ zJlaf&%}o=w8{(3_cwg(XB2sWuFL%?ncmly7kZ>nQ^uV){dtz3%ayHmG9WLp)f*rM< zmz#Q+coLiyPk}nm;O{y7UB}<^h~$ikP^Cc6VZSu?GJQcP6(yU!Uaq<;<6$pL#S7vk zvQp2-Jdyq$ceAZ27=fpC3d%3mIi{Zz!c3#SHXuc+wRr@Sh=yc3dxU?$d;Kh`wXF$eNXY2`F7uz&ZtSM)n~!z1FOTwYRx5mLY}h>T7#s22DRD; zfxnqVj7sEu1itWij~lm)3d>pz%eqzIUnz5x`H8e*9?4i)#;I(GRFtMPIx+~5j8wKv zQbN45gGpU%y0g=*67HqXsjT7hJ55R-wRz2f=H)oE-@vrg-UtJI{;7O>HDUS7?qhaU0t0$X*y;wG(~(ko6H zQ;%#{9r02r$va~`pKwKeC9VVOAXeVr4`LZA9=e&H`yumFw8T}Dwz{p`LyjJoDH&(@ za2YiSEQs*2m~Uf4_XwX0#b+A(_*z!dv8j`$QEWF0yUjuLPYsv>%uWlHW8y$L+-;`=;qf%-zs9T~f}%Omgu+jts|#B*&V&A>az#GGDXsgiar(&s&pYS~SL$gYS7#~OhL&cz|RBdA$55_mUEDEzf3 zN_gr@8|@Hgt)X?53AdXo4NDwl?|F%rQ*_lv_saS{0V%9(l?j2PdkJ9ZYGoQ=C|xe5 z*#pndFN2rp7dAnsM@=#!Oxj$8d=b~>>Jt=Qr>p{V!Xb$0d#F#@_tviKm54`n)gcg= zC6e?RY^UVNk2P~E;gRXhg$(n$sxQ(^V*qB_iU$afGOZ_%I?uiM75H-{9yk-~Nm8r- zVp-0Rtc)l-;&IpGYGC$2+V`l_?}4$3^^rxc64}w(B79dA`BR#)VitN~7%9 zJUW<{grW`{gFVvm!T~r?7KRNf6-nBknCAsVUSG028|f`zlz}rrpSwumLzo~qTE=62 z(ZQ^d%>(B7Hr_|j)YFT=kzOxeI6zi^ke9V%JCdQ+gwA~o^IUr-SjZx6|#?7R^* z?+NQL3e-}ls-TTaF9>%~@W!P1D+9#PHYh)CRJ|wevoAA!qJ4w-RhF7-Exlu4d5hNO zzi;eLp%#eG#9QJ`@s9YDcvt*Id?5ZNJ{12DAB%s9PsJyxZqovF7y&45(Pqi9c_Ur zPUy<)&4=%f#y@u4oV-1oRuSN;TmTy>9t)`fs z#8#5S1PNS<>qE78HWSrlF@HwG^TX!15uliuYvsJMo-TUmu^#zpdKSVNifd)@tm2lp zD{*D_9@uc!m6m#i4(9y|^UiE9W{ZP!O3x5+knOj(zx91Oz49kR@m}%bwzUeKyT35{ zc7KU~%G*!@>?F_^P69Qp_SwkZen4b@cvxh+zsHLE;97fFTwgkgi(2)wVZHx=u>Sg} zV68s_Sk%d%4eO%^g!Ruy1#9DBVZC@VTJ;U!Y;ga5Kyd$gRNyYu;J99_ijFyr7QN8% XQyD literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/developer/how-to/static-analysis.doctree b/motor-demo/.doctrees/developer/how-to/static-analysis.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3792890f771c7ffa84886f670c359265cd89eb81 GIT binary patch literal 5059 zcmd5=+iM-i8J8>_Nk^9>%Z}AjTh7K!YNzozCzL`Pkp@aH)K#lOQcMF4%beXgXGYrH z+3w8h^3YO07$iCkq1i$q4}A*cDUi4PC;4~!`(|%P$B|+~9%?xD&dfL8e3##M^WQuF z{_^IW`(rnCDr9mpU}2c3kn6&(geu5mo|xj};`JxRUyBE}o3Uf9@+{zmodZQ6WE5sR zDLyD{kI0RT^q{)Gta)IhN}B7UBbLPS2gL)?wH+f(#HWtz-FNfE(}o!tcr0Pjsg~Ny zwM-^ne43sXbQ2dB|Hw~BqHm;sT9h&`r3@09LTuTt->4)O>{6x4zFmxD!i)WU#Ox|F zCX=JwzyhT4f($ijw;V)FYi#1Xld!n_S_$*CU5r?8nDH^u{~mEu&Wr0?u~bZ(^2_&1Gn&(sx3+{iLzQsvSQ_C>>JPj}#tQ@w4z=fKLq3*?B&T^2&TyVy z9m|MocT45QBhkqxM)3F{n1`N_6A|HOw3jLaQ%e?kQtO;<37&Dsn;!QPWmaQm0x|I3 zSGgCkg!p;VIQF}{&dCqNw!Qbw8Wfd-VclVA-FVWJS_I+A>_9G=>N_7ml>2_Y7Ek@FLuO3;Bm1=x%0qABn{74 zLgvI%eV89?!)!NBu>DOs$51C3M0=Dt>O!T^v z(>S`!7*pc73^L_N@!R^%-t?PxwMj=+@XvS*$nC>Fu{5o5+CAsG8OyA;$5ZyXxZ7Ik zJGGVCTP4$4+^GshZfgVH-bH%u&s3nkE6V*!``S4~c~$vt>_m^Q!afUS!ga|5#q5eO zuM4$!NO$LLFUT`0>3$V!`*ywFDGRw>(cBnRDRePgOPMh_##5CU zKcdc|*t=#|1&f+x$8PZx30t8h$aPJGY8diSKEZRnW0p}x2SvtNjGeB@kWxvh;>`AB zlIF-aNuWYd6}Fq3asQ`%E%ANl;-Sy8Ol7`6R}k?Gb|z5+Q`k*(4i~v}9GAlG%$&@y z5MS9|$+Q)qzIx~4!OTs2ofOcpl7M}X6Hy~Js4(Yj!eQucy-?ahn_DhvIPrvL|@ zkwC`2T?$k(hK?|Y41Gk-Se_JO$@W-ol;3XIYZ8ds2=h4g8`Qz7ZbJfa8G2b_xaoFa z+C-D@+pSddJXAhv8K|!FlT>N$Pv3M9354#FYQACPVQZCogARgLvD5HUY z^wMa*0hx--cdZNk0flv$^p5rga$8D&wUf`M&4NKcJWN!b(GTSVyu0Htqu4EGpU!g<<%?ad#X_Xc8qC`=p;0awFD2%*r3VsFLn0FbfY#Ac&_Uv?4a z_PRbz3_J0grWPGvqzL!xI%bHnzvKvN4MW{@>vHL%%VFq}$+SCxKu;dP@nx{V%Fcwi zeVC`kxf_(+^iw5)bD&2BG8qE{bym1Rc|zx-89Esgcq7HiP^7u#umEP_5f2f+rw~DK zG&tw>RsgC)pT|r_K4v;JM>M^h*{y0S16ZSRnbXeg0#A-;{-G|FatVSLP?Sk15gf)Z z+a{;o7K8${3?@Cm2J-@qN%qEt-EtzrHn@$OMOi-4MZd+g>ziq^0?{&2l;01;7vgiF zMJk?%zljgUKg1{EKjJg-X>PkjMKg*U%fuJwLZ68zXX3*%@yVI^>?{|rP{;l`CaqK) z;Pwe_KgI2TiBH9UbGtF^bNB8>AZbd17Lc;sq0p}BN^PfiN;-HL7>P$JYGC9@Uz*u$ zsJj<9cI#K&r5hLcBSmM1YQn8qUe(E*T}9#vR8DE7uxo*eBKQY7pzqh;YQLssWqw!6yGqZ__~D)2AAtSZ}wru^QUNpl&nEAs!RV?r-3aj4F#MKwEkj2mC0*ZPa< z^}}cNqL%w=wT_-sE&Xk&weg~Az4@$KZRdNnavwdXa{v6cl-q2T<94lyPM3h!WD-Pq VNC|&Jm1Q-gPNgd9)IDRa`yUJ+fnWdt literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/developer/how-to/test-container.doctree b/motor-demo/.doctrees/developer/how-to/test-container.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ed2ddc2908c131b475f21bcf03800b361f0f8570 GIT binary patch literal 7257 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

?8x5`sjRY%nH#*>WSIDTF$3^FjlXZg|!29k_Ov) z=BCFHI-J0NVT!tGgmXwcE1%80Z5d3#v?L~oFdJ7-*xp3I8(Ph#a99SlUimV9I)jnR z4I<1?MNju|X-eP7p0BV^*vCw<1NIL4CA-gl&E8|bWAC#+vJco_*+=ZdM9t{aaxVfl zJ$fT?}<&OW=p&)(Z-@9(n@_Sr}K342QKevH}Q0sAp%{Q|Up1zNuatv`U)U)YE2 zZ;6_(TZZ9g-r=w>jTKn36&(PIbD2!)E7>_rkzh%FH}pzlGe=iO7R%E!LlkF1xn|=qbhRG$I7E@FK zh4x5_j+MtDVKft*|%ZWywD37ZNZ8h-jo10(#md;jL70%wxC(s+G zL33-*(A)Yx{wbQB9N2?EuRRFVl+lMH`}q-({p?YZZQa9-F}PM971!q;#HGvd!(sjA zh_LQIE?BFN0hX@P4~O;VBf|RAk{*91+~#9~ZbY6*#J9%b;Vj c&nyodFL8CY>+ApMX}Y>h%PSh)Jz%{4FRDC0bN~PV literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/developer/index.doctree b/motor-demo/.doctrees/developer/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5687f31ef4b8c976e64a3b9f8e908804d0d9f80e GIT binary patch literal 15613 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%0DwIDVaPfL%)PtUIeLr7 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

c-#?bK3#MR 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

Ww#2v#3q{QwS;0iVb^wNQD`14t!v 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Ƚ$rm7 z^RNI5u^3CR49l?+tFQ)Zu^t<+37fGM+pq&Wu^W4^5BqTthj0W(aU3Ub3a4=v=WqcR zaT!-|4cBoKw{Qn{aUT!x2#@g;&+q~-@fvUN4)5_1pYR1=@f|<#3%?O)X8?f_6v6Np zLLd}EBP_z=i}c8VOvsF^$c7xq ziQLG8e~}LbP!NSt1jSGsB~c1xP!{D;0so;As-P;WqXufBHtM1t8lWK>qY0X!Ia;C> z+Mq4kqXRmjGrFQ1dY~tIqYwI_KL%nDhF~a$V+2NFG{#~aCSW2aV+y8WI%Z-P=3p-7 zV*wUnF_vN(R$wJoV-40}JvL$!wqPr^V+VF&H}+y54&WdT;|Px7I8Nde&fqN0;{q<> zGOpqpZr~SWg5xiQ zL@0zoScJ#lh=@ptf~bg&7>I?~h>LhgfP_elBuIwjNQr-t8flOY>5&nckOf(h9XXH- zxsezDB0mbC5DKFxilGEbqBP2&9Ll32{zGL{K{ZrIP1Hgi)J1(XKqE9pQ#3;hv_xyP zK|8cZM|46LbVYacKri%0U-ZKO48&jz!7vQRNQ}Z5jKz3Nz$8q@R7}GR%*1TW!92{z zLM*}(EX8uHz$&c9TCBqcY{X`4!8UBiPVB-S?8SZ@z#$yQQ5?ewoWyCI!8x4AMO?xa zT*Y!81I^OT5Axyv2Kbz$bjhSA4?{{KRkkLEzm11VJzaM+k&O zXoNvHghvEKL}WxkG(<;C#6ldzMSLVcA|ysqBtr_ML@K04TBJh;WJG3UK{jMZPUJ!! zOR7O=)Lk-kKZPY!w&4kZtTH6?8iYI!Vw(Bah$*@oW@z4!v$Q#Wn95E zT*pn^!X4bjeLTP;JjPQz!wbB`YrMfbyvIj;!WVqScl^LF{6?TX0R%=+1jAnlflvsI zun3305do198Bq}pF%T265eM-Q9|@5NNstuDkpll971AIr(jx;hAv3Zf8*(5gaw8A^ zMLrZjK@>(26hm>8L@AU(S(HZw{D(@Yf~u&F8mNWZsEc}NfQD#{CTND{Xo*&6gSKdo z4(No==!$OWfu87%KIn)37>Gd_f}t3W5g3Kh7>jY3fQgulDVT=on2A}KgSnWG1z3c| zSc+v>ft6T|HCTuB*oaNog00w&9oU84*o%EQfP*-UBRGcRIEhm@gR?k~3%G>KxQc7I zft$FEJGh7Yc!)=Mf~Rgh7u@=(kO#+D36Nx50y~`)leNZQ44iY7xmEqjnEiP(F`rn60Ok&?a&?_ z(FtA972VMTz0ezd(GLSK5Q8xU!!R5pF$!Za7UMAilQ0=mF%2^?6SFY~^DrL^u?S1B z6w9#!tFRhtu?`!s5u33E+prxwu?u^!7yEGlhj182aSSJL5~pzn=WreuaS2y&71wbC zw{RPGaSsph5RdT$&+r^C@d|J77Vq%^pYR!9@eM!l6Tk5Xf%gRv1i=s-ArKOw5eDH9 z9uW``kr4&a5FIfQ3vmz^@sR+DkQhmk3@MNjsgN3Jkq#M<5t)$%*^nJMkqdc{7x|DM z1yKk^P!z>c0;NzIWl;_lP!W|-8C6jYHBb|^Q3v%<9}Uq6P0$q0(E_c|8g0=I9ncY- z(FNVm9X-(teb5*EF#v-w7(+1(BQO%9F$Uu>9uqMMQ!o|NF$1$O8*?!a3$PH2u>{Mo z94oO3Yp@pUu>qT~8C$UpJFpYGu?PFG9|v&=M{pF!aRR4s8fS417jO}maRt|K9XD|c zcW@W?@c@tT7*FvGFYpqt@doek9v|@uU+@**@dLl`8-ex*5Ewxb41Xa6LLoH5A{_ok z1Vln)L`5{jKup9&9K=I>Bt#-4K~f|~3jBjqNQ1OUj||9!%*cvt$bp>5jXd}l`A`4_ zQ5Z!~48>6rrBDWCQ63fWA1a{=s-ik-pcZPQF6yBH8lo|ppc$H@C0d~k+M+!=pc6Wy zE4rZvdZIV_pdb2UAO>LwhGIBIU=&7UEXH91CSo$CU>c@lCT3v{=3+h;U=bE$DVAXc zR$?{QU>(+DBQ{|Rwqkn#0o@Hd)Vr`7d$A7(a1e)a1jle3CvggAa2Drr0he$YS8)wD za1*z22lsFv5Ag_3@D$JS0f);Kk*BH5a>VvK@b$d@fSiO6v7}Z z!sBm5L?lE(R76J%#6oPuMLZ-xLL^2KBtvqf#6L)lG)RZ^$cRkHf~?4n9LR;-$culG z9|cedg;5m6Py!`U8f8!pYyI#qahlh37VogTA&qLqb=H@13IEJ zx}Y1nqbGWy5Bj1%24D~dVgu~y6 zfJlgpsECFbh>6&UgLsIKgh+%WNQ&f0fq#$+X^I8Cj7HIgk^%kq7@G9}1u# z3Zn>$p*TvS6w071%A*4QLnTx}Ra8d})Ix34MLje?Lo`McG(&T=L@TsGTeL?9bV6rz zMK|<7PxM9~^h19P#2^g8Pz=WijKXM)#W+mBL`=pMOv7}{#4OCgT+GJ;EW%r9K&&(#3`J?S)9iOT*75s#Wmc(P29#E z+{1l5#3MYxQ#{8Dyuxd|#XEe!M|{Q?e8YGA#4r3opu+(KK~Mz8UkHg%2!pT)kG~NS zkq`w@5gjoQ3$YOw@sI!skr+vk49Sra{~$HeARW>pBQhZivLZWjAQy5YFaAY-6hI*q zMo|<)36w->ltDR^M@9UH%BX^BsE(Sbg*vE<`e=YgXpE+4h8Adv)@XxvXpfHQgf8fc z?&yJD=#9SUhXELf!5D&J7>&Der%*p8jpg+17d{WyR_IEh7&l6(>Q~3IFF0Cge$m;>$rhixQ)BG zhX;6w$9RHgc#fBNg*SMM_xONM_>8akh9CHe-}r;TM*;|fUK)Xo}`&fmUdZwrGbA=!nkff^O)J zp6G=>=!^asfI%3Hp%{h{7>UssgK-#-iI{{bn2PC`fmxW1xtNCqSct_~f@N5al~{!} zSc~=8fKAwpt=NVg*oocPgMHYKgE)jEIEv#qfm1k*vp9zfxQNTRf@`>ro4AELxQqLE zfJb3ZpR=<1hge|EK64mcYQGAb`fUZQHhO+qOB$Boo`VZQHhO z+fF8DbE>Pq;4b>r!(>dsG)%`#%)%VZ#e6KlA}q#IEW-+{#A>X;I;_V=Y{C|7#dhq# zF6_o$?85;Z#917bJi-$^#dEyCE4;>A zyu$~4#AkfLH+;uW{K6juIQEx72#lZzh7bse&h>f_2hXhE7 z#7KfBA#vcSc{+B=qf}jYF5D10P2#autfQX2UD2RsWh>2K;gSd!~1W1I$ zNQz`gfs{y%G)RZ^$cRkHf~?4n9LR;-$cua^fPyHDA}EI9D2Y-igR&@(3aEt2sETT+ zftsj|I;e;GXoyB=f~IJW7HEamXp45}fR5;lF6f5t=!stFgTCm8{uqFP7=*zXieVUm zkr<6J7>Dtgh)I}&shEx#n1$Jxi+Napg;5u^#kr`Q#4cU48VUFgdrG;;TVBY z7>%(QhY6U7$(Vv^n2wp4g*lju`B;EOSd67uh80+e)mVddSdWd^ge};L?bv}`*p0o| zhXXi>!#ILtIF6Gzg)=yd^SFRZxQwf~h8wtv+qi>!xQ~Z;geQ24=Xilvc#XGshY$FO z&-j9G_>Q0Wg+B;z@-Kl97(o#XArKOw5eDH99uW}I8Cj7HIgk^%kq7yZ9|cheMNkyQQ39n<8f8%q6;KhCQ3cgd9W_x4 zbx;@e(EyFm7){X(EzlCJ(FX0%9v#sMUCQ9B zgRvNo37CY*n2Kqbfti?%Ihcp}ScpYff~8oF6bR zDUlj!kPhjQ5t)z$S&C1yLA9Pz=RU5~WZEWlJIJR%?xA|ooIAqHY1HsT;2;v*pvAqkQqIZ_}M zQX?(WAp6nRGn1i{Pj|EtS#aN1ESb>#TjWt+@_1K6_*n+Ltjvd&A-PntL zIDmsVj3YRP<2Z>^ID@k|j|;ej%eabbxPhCvjXSu9`*?^)c!H;Rju&`^*LaI}_<)c2 zj4$|x@A!#d_=5mv{t^g*5fs4?0wEC^VGs`C5fPCP1yK&4bTXU(G<n_kfJvB)shEZtn2Fh#gL#;bg;<0oSc>IXfmK+IwOEG@*oe*8f^FE2o!Esv*o*x* zfI~Qpqd0~WIEm9ZgL62Ki@1a5v{7kqKFl71@ykxsV%qkq-q>5QR|$#ZVk2Q3_>H7UfX^l~5T~Q4KXv6SYwX z^-v!T(Fje@6wT2Btz2~#i?(=h|HFdK6*4-2pmi?IaDupBF~3Tv#+fwuo+vi4Lh(CyRirRupb9; z2uE-f$8iFua2jWE4i|6{mvIHxa2+>s3wLlA_wfLa@EA|=3@`8!uki-&@E#xW319FP z-|+*#@EZZn{Usm*BM5>aI6@*6!XPZdBLX5JGNK|HVjw1BBM#yrJ`y4kk{~IPBLz|+ zHPRv-G9V)|BMY)2J8~iy@*pqrqW}t_Fp8oWN}wc4qYTQSJSw6Rs-P;WqXufBHtM1t z8lWK>qY0X!Ia;C>+Mq4kqXRmjGrFQ1dY~tIqYwT;Km3aU_z#0H1Vb?#BQOf1F&5)6 z0TVG9Q!owFF%z>e2XiqW3$O@_u@uX&0xPi^Yp@RMu@RfF1zWKlJFpA8u^0Pr00(gx zM{o?saT2F+24`^|7jOxeaTV8a12=IScW@8)@eq&j1W)lCFYpSl@fPp!0Uz-hU+@jz z@e{xB2LaCiB@hB5D1spbLLxN6ARNLYA|fFQq9QtCAQoaHF5)2p5+X5@AQ_S)B~l>` z(jq-FAQLhpE3zR6aw0eKARqFhAPS)filR75pcG1@EXtt*Dxxx~pc<;9CTgJ$>Y_dx zpb;9QDVm`LTB0@DpdH$yBRZiAx}rOJpci_hFaAM){ELD34}&oT!!R5pF$!Za7UMAi zlQ0=mF%2^?6SFY~^DrL^u?S1B6w9#!tFRhtu?`!s5u33E+prxwu?u^!7yEGlhj182 zaSSJL5~pzn=WreuaS2y&71wbCw{RPGaSsph5RdT$&+r^C@d|J77Vq%^pYR!9@eM!l z6Tk5X0WbU|5P~2mf+GY%AvD4w93mhhA|nc-Av$6r7UCc-;v)ePAu*C78B!o6QX>u0 zAw4o86S5#HvLgp_Avf|O9}1u#3Zn>$p*TvS6w071%A*1*p)#tX8fu^>YNHP7p*|X- z5t^VWnxh3;p*7l~9Xg;RI-?7^p*wn_7y6(t`k_AtU?2uzFot3nMqngHV+_V&JSJii zreG?jV+LknHs)d;7GNP3V+odFIaXp7)?h8xV*@r}Gqz$Ic3>xVV-NOWKMvv$j^HSc z;{;COG|u82F5n_A;|i|fI&R_??%*!&;{hJwF`nWXUf?BO;|<>7JwD zHv(MzOF#rh5ClVTghVKWL0E)G1Vln)L`5{jKup9&9K=I>Bt#-4K~f|~3Zz16q(wSp zKt^On7Gy(qo4b(zy)I~isKtnV} z6Es6}v_vbkL0hy(2XsPbbVWDxKu`2WAN+%U_!k549|mCvhGIBIU=&7UEXH91CSo$C zU>c@lCT3v{=3+h;U=bE$DVAXcR$?{QU>(+DBQ{|RwqiSWU>9~{FZSU84&pG5;24hM zBu?QB&f+{S;1Vw5Dz4!MZsIoX;2!SdAs*ogp5i%P;1youE#Bb+KH@XJ;2XZwbU;URMi+ELcl1Or^g&vVsOvEHi!BkAg z49vo8%*8w`z(Op>5-h`Vti&p;!CI`x25iD+Y{fS0z)tMO9_+(@9K<0U!BHH?37o=d zoW(g@z(rif6385B$P!1i12- zfC!8r2!`MYiBJfGun3O`h=j<9ifD*|n23!yh==${h(t(&q)3hwNQKl$i*(3QbD2MW>h)Sq}s;G_{sD;|7i+X5)hG>i?Xolu! ziB@QXwrGzI=!DMbif-tEp6HD}_y_&)F9zU048jl$#c+(kD2&EfjKc&>#AHmtG)%`# z%)%VZ#e6KlA}q#IEW-+{#A>X;I;_V=Y{C|7#dhq#F6_o$?85;Z#917bJi-$^#dEyCE4;>Ayu$~4#AkfLH+;uW{K6juxcZks z2#lZzh7bse&h>f_2hXhE7#7KfBA#vcT{_Lo2i zf}jYF5D10P2#autfQX2UD2RsWh>2K;gSd!~1W1I$NQz`gfs{y%G)RZ^$cRkHf~?4n z9LR;-$cua^fPyHDA}EI9D2Y-igR&@(3aEt2sETT+ftsj|I;e;GXoyB=f~IJW7HEam zXp45}fR5;lF6f5t=!stFgTCm8{uqFP7=*zXieVUmkr<6J7>Dtgh)I}&shEx#n1$Jx zi+Napg;Mws6ajE6BNQVr_h|I`> zY{-tB$b~$}i~J~nLMV))D25U!iP9*8aww0AsDvu0it4C=TBwb>sD}n=h=Qnyju?oA*ocdGNPvV$j3h{g5jXcPQ{3wV*D1xFWjuI$^(kP2^sDO&7j4G&x>ZplYsDrwwj|OOj#%PLWXn~e! zjW%e9_UMRC=z^~3jvnZR-sp>e&>#O|ApXN(48brA$4HFA7>vbuOu!^e##Bth49vuA z%)va&$3iT^5-i1XtiUR)##*ey25iJ;Y{52c$4>0R9_+<_9KazQ#!(!@37o`foWVJq z$3Q40fJ8`)q)3JoNQu-)gLFubjL3v6$cpU9 zfn3OqyvT2TD2wu_fJ&&0s;GtK)Xo}`&fmUdZ zwrGbA=!nkff^O)Jp6G=>=!<^nj{$$_+G^lmeTP0sH3UO393wCaqcIlaFaZ-W8B;I~ z(=ijXFb8un9}BPui?I~TumUTw8f&l)>#-4=umxMO9XqfKyRjGhZ~zB!7)Njn$8i#; za0X{_9v5&4mvI%>a054S8+ULI_wf*q@B~ls953(+ukjY|@Btt38DH=X-|-W_@CN~I z{Us0rBPfC)1VSP-!XO;NBO)Rp3Zf!9Vjvb`BQD}00TLoHk{}t9BPCKH4bmb#G9VK& zBP+5Y2XZ1e@*p4bqaX^Q2#TUON}v=3M4JFyFUuowGr0EciGM{x`%a1y6+ z2Ip`d7jX$!a23~a1GjJ+cX1C7@DPvj1kdmsFYyX*@D}g!0iW<0U-1n;@DsoB2LW&Y zB@lujD1svdLLoH5A{-(hA|fLSq9HnBA{OExF5)8r5+N~?A{kO3B~l{|(jh%EA``M8 zE3zX8av?YJA|DE%APS=hilI14q7=%YEXtz-Dxor}q8e(TCTgP&>Y+Xwq7j;)DVn1N zTA?-Cq8&P*BRZoCx}iIIq8Iw0FZ!WB24EltVK9bb7)D?uMq>=dVLT>c5~g4(reg+X zVK(Ms9u{CB7GnvPVL4V}71m%a)?))UVKcU38+KqPc4H6rVLuMy5RTv|j^hMQ;WWO7Vh9K?&AR-;W3`#8D8KeUgHhk;XOX$6TaXpzT*de;Wq-@`Aa|q zMi2x;aD+rCgh5z@M+8JdWJE)fMqm_1V=TsD0w!WIreGSTVBFV=wmM01o0Xj^G%M<0MYu49?;_ zF5nU_<0`J<25#au?%*Eo;~^g537+CPUf>m8<1OCd13uz2zTg|a<0pRM4+7l%OCSVB zPy|B=ghXhBK{$j*L_|UqL`8JOKrF;YT*N~HBt&8)K{6yqN~A&>q(ypUKqh2HR%AmC zs}6h(2AKq-_)S(HNsR77P|K{ZrIP1Hgi)J1(XKqE9pQ#3;hv_xyP zK|8cZM|46LbVYacKri%0U;Kmq_!k559|mIxhG95HVid+;EXHF3CSfwBVj5;(CT3#} z=3zb-ViA^LDVAdeR$(>PVjVVMBQ|3TwqZMVVi)#cFZSaA4&gA4;uucgBu?WD&fz>R z;u5alDz4)OZs9iW;vOF0As*uip5ZxO;uYTDE#Bh;KH)RI;v0V8Cw}7(0^a*eAOt~B z1V;#jLTH3VI7C21L`D=uLv+MMEW|-v#76=oLSiIEGNeFCq(&N~LwaOHCS*ZYWJeC< zLT=&)J7fDLwz(vBQ!x%G)D`xLTj`| zJ9I!tbVe6+LwEE#|fOmX`ID5T);(K z#uZ${b=<@)+`(Pk#{)dVV?4z(yueGm#v8oDdwj$ve8E?I#}E9%Zv?pimw*V2AP9!w z2#HV#gRlsX2#AEph>B>4ftZMmIEaV%NQgv8f}}`}6i9{CNQ-pHfQ-nDEXaoJ$cbFY zgS^O(0w{#SD2iezfs!bVGAM`gsEA6af~u&F8mNWZsEc}NfQD#{CTND{Xo*&6gSKdo z4(No==!$OWfu87%KKKXy@Gl17KMcYU48?Gaz$lEySd7C2OvGeN!8AN9!7&`iNu0tNoW*%uz$IM9 zRb0aj+{A6%!9Co^Lp;J0JjHXoz$?7QTfD;ue8gvb!8d%zPyE6k1bFb5KnRSW2!;>{ ziO>jxa0rixh=eGJis*=eScr|dh=&A7h{Q;OWJr#bNQE>=i}c8VOvsF^$c7xqiQLG8 ze8`W2D1;&?isC4NQYekGD2EEDh{~vfYN(EysD(PHi~4AQMre$tXoePOiPmU?c4&`| z=!7olitgxvUg(X!_y_&*F9za248{-)!*GnmD2%~ajK>5_!emUvG|a$E%*Gtd!+b2n zA}qmDEXNA0!fLF=I&8p3Y{nLB!*=Y%F6_Zx?8gBd!eJc6F`U3joW>cP!+Bi9C0xN( zT*nRE!fo8eJv_ieJjN3|!*jgEE4;y5yvGN8!e@NNH~hd){Kg*yeE63@2!fypjt~fi z&Z#Sfsq)EF&KyOn21T3f~lB}8JLCHn2UK>fQ49$ zC0K^#Scz3wgSA+X4cLUu*otk~ft}cmJ=ll+IEX_yf}=Q&6F7y_IE!<*fQz_{E4YU1 zxQSc1gS)to2Y7_Xc#3CuftPrVH+YBl_=r#Vg0J|FANYme2=M4H0TCEM5DdW)5}^iB~cn>P!8o$5tUE{RZ$%^Pz$wD7xmBp4bd1)&5a%h{>3OX_$_gn1wl*i}_f9MOcib zScVl?iPczxby$y$*n}phJIE6Dfi}SdEOSp`yxP}|J ziQBk?d$^B>c!Vc-isyKNS9p!Lc!v-8h|l5&1MkQrH#4LOh#xseC?kRJt6 z2t`m7#ZdyKP#R@X4i!)ll~D!NP#rZ<3w2Nz_0a&0&=^h83@y+StkJp30=?? z-O&TR&>Ma65BlR@48(sJj3F3?;TVZg7=y7Gj|rHB$(V|1n1Pv?jX9Wy`B;cWSc0Wk zjulvi)mV#l*no}Lj4jxP?bwN3*n_>;j{`V_!#Ij#IDwNmjWalh^SFphxPq&=jvKgz z+qjE+cz}m^j3;=8=Xi-%c!Rfij}Q2S&-jXO_<^7JjXwzZ z5+Wliq9F!iA~xb69^xY*5+MnaA~{kZ6;dND(jfyfA~Uie8?qxOav{%O{!ZQV%K1?M zg-{qpQ4A$e5~WcF*Gbh0z#`ahQOKn2afyhUu7zS(t;ln2!ZmgvD5j zWmtigSdBGUhxOQqP1u61*p408h27YTeK>%FIE*7WhT}MiQ#gaOIFAdsgv+>!Yq)`% zxQ#owhx>SlM|gs#c#ao%h1YnCcldyh_>3?3hVS@^U-*Ln&;Ak!fe{qJ5CS0)8etF) z;Smv$5Cu^Y9Wf9Ku@M*XkN^ph7)g)}$&nJNkOpay9vP4cnUNLQkOMi98+niq`B4ys zPy|I$93@Z+rBN2;PyrQD8C6gX)ln0*PzQBU9}Un5jnNd%&;l*d8g0-H?a>jP&;?!5 z9X-$sz0nu{pg;b_K>UZn7=mFKj*%FJF&K;Sn1D%`jH#H08JLOLn1gwkkA+x-C0L5( zSbZ4cLgy*n(}?j-A+rJ=lx=IDkVqjH5V)6F7;}ID>OIkBhj3E4Yg5xPe=^ zjk~yq2Y86bc!Fnmj+c0aH+YNp_<&FNjIa2HANYyi_=AAY{}Kp65EQ`?0-+EZVG#}y z5D}3P14F%b)K5Et>00Ev(oNs$aGkP@kp2I-I<8IcKDkQLdH1G$hJd65qVP!NSt z1jSGsB~c1xP!{D;0hLf0RZ$H!P!qLL2lY@N4bccq&=k$l0Mjc zJ<$t&&=>vC9|JHDgD@CFF$^Ox5~DE&<1ii*F$q&J71J>TvoITTF%Ju{5R0({%di|P zu?lOj7VEJAo3I&Mu?;)06T7ho`>-DeaR^6n6vuG_r*Il)aSj)75tnfV*Ki#-aSL~F z7x(c1kMI~z@eD8U60h+F@9-WU@d;n>72oj#zwjFYUi>8>0wV~5Avi)J6v7}Z!XpAA zAu^&O8e$+OVj~XXAwCi!5t1M&k|PCDAvMw>9Wo#zG9wGJAvp)iV~ z7)qcdN}~+Qp*$+05~`pos-p&Kp*HHG9vYw_8lwrCp*dQj722RJ+M@$Hp)#-4=umxMO9XqfKyRjGhZ~zB!7)Njn$8i#;a0X{_9v5&4mvI%>a054S8+ULI z_wf*q@B~ls953(+ukjY|@Btt38DH=X-|-W_@CN~2{v{9sBPfC)1VSP-!XO;NBO)Rp z3Zf!9Vjvb`BQD}00TLoHk{}t9BPCKH4bmb#G9VK&BP+5Y2XZ1e@*p4bqaX^Q2#TUO zN}v=3M4JFyFUuowGr0EciGM{x`%a1y6+2Ip`d7jX$!a23~a1GjJ+cX1C7 z@DPvj1kdmsFYyX*@D}g!0iW<0U-1n;@DsoB2LWIGB@lujD1svdLLoH5A{-(hA|fLS zq9HnBA{OExF5)8r5+N~?A{kO3B~l{|(jh%EA``M8E3zX8av?YJA|DE%APS=hilI14 zq7=%YEXtz-Dxor}q8e(TCTgP&>Y+Xwq7j;)DVn1NTA?-Cq8&P*BRZoCx}iIIq8Iw0 zFZ!WB24EltVK9bb7)D?uMq>=dVLT>c5~g4(reg+XVK(Ms9u{CB7GnvPVL4V}71m%a z)?))UVKcU38+KqPc4H6rVLuMy5RTv|j^hMQ;WWO7Vh9K?&AR- z;W3`#8D8KeUgHhk;XOX$6TaXpzT*de;Wq-j{!2gvMi2x;aD+rCgh5z@M+8JdWJE)fMqm_1V=TsD0w!WIreGSTVBFV=wmM01o0Xj^G%M<0MYu49?;_F5nU_<0`J<25#au?%*Eo;~^g5 z37+CPUf>m8<1OCd13uz2zTg|a<0pRM4+6aTOCSVBPy|B=ghXhBK{$j*L_|UqL`8JO zKrF;YT*N~HBt&8)K{6yqN~A&>q(ypUKqh2HR%AmCs}6h(2AKq-_) zS(HNsR77P|K{ZrI&A)VQRqL-FwAWG9Lwz(vBQ!x%G)D`xLTj`|J9I!tbVe6+LwEE< zFZ4lQ^h19Pz(5SbU<}1DjKD~Y#u$vlcud43Ou#|fOmX`ID5T);(K#uZ${b=<@)+`(Pk z#{)dVV?4z(yueGm#v8oDdwj$ve8E?I#}E9%Zv=Szmw*V2AP9!w2#HV#gRlsX2#AEp zh>B>4ftZMmIEaV%NQgv8f}}`}6i9{CNQ-pHfQ-nDEXaoJ$cbFYgS^O(0w{#SD2iez zfs!bVGAM`gsEA6af~u&F8mNWZsEc}NfQD#{CTND{Xo*&6gSKdo4(No==!$OWfu87% zKKKXy@Gl17KMcYU48?Gaz$lEySd7C2OvGeN!8AN9!7&`iNu0tNoW*%uz$IM9Rb0aj+{A6%!9Co^ zLp;J0JjHXoz$?7QTfD;ue8gvb!8d%zPyE6k1bFwCKnRSW2!;>{iO>jxa0rixh=eGJ zis*=eScr|dh=&A7h{Q;OWJr#bNQE>=i}c8VOvsF^$c7xqiQLG8e8`W2D1;&?isC4N zQYekGD2EEDh{~vfYN(EysD(PHi~4AQMre$tXoePOiPmU?c4&`|=!7olitgxvUg(X! z_y_&*F9za248{-)!*GnmD2%~ajK>5_!emUvG|a$E%*Gtd!+b2nA}qmDEXNA0!fLF= zI&8p3Y{nLB!*=Y%F6_Zx?8gBd!eJc6F`U3joW>cP!+Bi9C0xN(T*nRE!fo8eJv_ie zJjN3|!*jgEE4;y5yvGN8!e@NNH~hd){Kg*yeE*j~2!fypjt~fi&Z#Sfsq)EF&KyOn21T3f~lB}8JLCHn2UK>fQ49$C0K^#Scz3wgSA+X z4cLUu*otk~ft}cmJ=ll+IEX_yf}=Q&6F7y_IE!<*fQz_{E4YU1xQSc1gS)to2Y7_X zc>0&Ft)BhWdH+K73a{}N@9+U1@flz64d3w-zwieEKKvyR0wXAbAp}AqG{PVp!XqLg zAqt`*I$|IeVk0i%ApsI1F_It|k|QNjAq~np$odAJ9?lO zdZRD?L4W*8B;M0GcXggF$eQ79}BSvORyBnu>z~G z8f&o*8?X_Zu?5?(9XqiLd$1S#aR7&K7)NmoCvXy{aR%pb9v5*5S8x^AaRaw-8+UOJ z5AYC=@dVHC953+-Z}1lH@d2Ok8DH@YKkyU3@dp7v{v{BCASi+(1VSM+!Xg|ZAR;0o z3Zfx8Vj>peATHt~0TLlGk|G&WASF^G4bmY!G9nYQAS<#X2XY}d@**D!pdbpP2#TRN zN}?3Xpe)Lx0xF?0s-hZdpeAag4(g#k8ln-JpedT81zMps+M*pgpd&h?3%a2@dZHKl zpfCENKL%hR24OIUVi-nXBt~Nl#$h}rViKlcDyCxwW??qwVjdP?Ar@l^mSH(oVine4 zE!JZLHeoZiVjFf~Cw5~G_F+E`;t-DDD30R+ghvEKLS#fm zG{itm#6}#%LwqDeA|ydlBu5IQLTaQ%I%GgbWJVTbLw4juF62R8>MqI>00whFYBtbGHM@pnZ8l**fWI!flMpk4)4&+2`%eMq(7kU@XRC0w!THreYdqU?yf`4(4G#7Ge>WU@4Yk1y*4-)?ytt zU?VnT3$|f9c48OyU@!LL01n|Wj^Y?j;3Q7t49?*^F5(id;3}@;25#Xt?&2OE;2|F4 z37+9OUg8zr;4R+c13uw1zTz8x;3t0L4+4JqOCSV6Py|N^ghFV9ML0x2L_|guL_>7M zL@dNXT*OBLBtl{&MKYv7N~A^_q(gdSL?&cGR%AyG(26hm>8L@AU( zS(HZwR6=D`MK#nwP1Hsm)I)tVL?bjoQ#3~lv_fmNMLTprM|4IPbVGOaL@)F~U-UzN z48TAP!e9)=FpR)RjK&y@!+1=@Buv3nOven&!fedNJS@OMEXEQn!*Z;|Dy+d;tj7jy z!e(s6HtfJo?8YAK!+spZAsoR`9LEWq!fBkvIb6U+T*eh#!*$%mE!@Ff+{Xhv!ecze zGrYh{yv7^6!+U(hCw#$Ie8&&`!fyol`j>zRj35Yx;0TFO2!pT)j|hl_$cTz)h=G`h zjW~#h_(+IENP?tDjuc3R)JThT$bgKuY=#4(;hyECdK^TIe7>*Gb zh0z#`ahQOKn2afyhUu7zS(t;ln2!ZmgvD5jWmtigSdBGUhxPau8?hN%unpU>6T9#q z_Fy0O;~);<2#(@7PT&+y<1EhM0xse*uHYK3<0fw54({SU9^erk<0+ou1zzGc-rybH z<0C%d3%=qze&82=<1Yez4N8lod6Vj&LVB0drz5fURQ zk|70BA~n(=9nvEsG9e4HB0F**7jh#n@}U3c7LN}&wOqC6^~5-OuAs-XsI zqBiQF9_phZ8lefAqB&Zi6vbuOu!^e##Bth49vuA%)va&$3iT^5-i1XtiUR)##*ey2K{%h8@_6-S`iC zu@47u5QlLD$8a1caSCT}7UyvRmv9+ZaSbQd7)4PGB~TKjQ3mBu9u-juRZtbxQ3JJ5 z8+B0+4bTvc(FD!V94*lb|3e$JMLTprM|4IPbVGOaL@)F~U-ZWS48mXx#W0M(NQ}l9 zjKg?L#3W3?R7}SV%))HU#XKy)LM+A-EW>iF#44=8TCB$gY{VvP!B%X?4(!5i?7?2_ z#{nF|VI0LVoWMz(#u=Q$d0fOLT)|ab#|_-VZQR8@JitRd#uGflbG*bWyun+%#|M1E zXMDvs{J>BA#vcUw89-nJMKFXwNQ6chghO~lL?lE(R76J%#6oPuMLZ-xLL^2KBtvqf zL@J~~TBJt?WI|?SMKPUJ=&ro4AELxQqLEfJb$cTbyh>nw!YG1bD2|dSg)%6M@~D7HsEn$ph8n1e+Ngti zsE>wdgeGW;=4gRdXpJ`b2kp=v9nlG0&=uX$1HI52ebEmCFc5<=1j8^KBQXkNFc#x6 z0h2HpQ!x!QFcY&e2lFr=3$X}GuoTO&0;{kZYq1U+@GmxDGqz$Ic3>xV<3H@hJ{-V7 z9L5nG!*QI%DV)JsoW})R!ev~=HQc~W+{PW;!+ku&BRs)VJjV;X!fU+6JAA-Le8v}i z!*~3|FZ{t@1pXaB5ClVTghVKWL0E)G1Vln)L`5{jKup9&9K=I>Bt#-4K~f|~3Zz16 zq(wSpKt^On7Gy(qo4b(zy)I~is zKtnV}6Es6}v_vcX4{gvE?a%=o(HULP4c*Zbz0e1J(H{da2!k;c!!QCPF&bkq4&yNq zlQ0ESFȽ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 literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/user/how-to/run-container.doctree b/motor-demo/.doctrees/user/how-to/run-container.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c485382269bd6068bceec63eeb90613a289853fb GIT binary patch literal 6390 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 K=z{~F#s3eb>Z~;Y literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/user/reference/api.doctree b/motor-demo/.doctrees/user/reference/api.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3e5619b0ef8401f7cbf209695dca51f31df581ee GIT binary patch literal 93425 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 literal 0 HcmV?d00001 diff --git a/motor-demo/.doctrees/user/reference/naming.doctree b/motor-demo/.doctrees/user/reference/naming.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2e6bdb3a2697039365660c842aec5ebf4ee6a86e GIT binary patch literal 12605 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 Iei8Zq7qxGUHtPK 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 literal 0 HcmV?d00001 diff --git a/motor-demo/_modules/ibek/globals.html b/motor-demo/_modules/ibek/globals.html new file mode 100644 index 000000000..e3c166ea7 --- /dev/null +++ b/motor-demo/_modules/ibek/globals.html @@ -0,0 +1,658 @@ + + + + + + + + + + + ibek.globals — ibek 3.5.0b2.dev1+g794e4bfe documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + +
+
+
+
+
+ + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +

Source code for ibek.globals

+"""
+A few global definitions
+"""
+
+import os
+from pathlib import Path
+
+from pydantic import BaseModel, ConfigDict
+from typer.core import TyperGroup
+
+DEFAULT_ARCH = "linux-x86_64"
+
+
+class _Globals:
+    """
+    Helper class for accessing global constants.
+
+    These constants define the paths to the various directories used by the
+    ibek commands.
+    """
+
+    def __init__(self) -> None:
+        """Initialize the global constants."""
+
+        # Can be overridden by defining an environment variable "EPICS_ROOT"
+        self._EPICS_ROOT = Path(os.getenv("EPICS_ROOT", "/epics/"))
+
+        self._DEFAULT_ARCH = "linux-x86_64"
+
+    @property
+    def EPICS_ROOT(self):
+        """Root of epics directory tree"""
+        return self._EPICS_ROOT
+
+    @property
+    def SUPPORT(self):
+        """Directory containing support module clones"""
+        return self._EPICS_ROOT / "support"
+
+    @property
+    def RELEASE(self):
+        """The global RELEASE file which lists all support modules"""
+        return self._EPICS_ROOT / "support" / "configure" / "RELEASE"
+
+    @property
+    def RUNTIME_OUTPUT(self):
+        """Directory containing runtime generated assets for IOC boot."""
+        return self._EPICS_ROOT / "runtime"
+
+    @property
+    def EPICS_TARGET_ARCH(self):
+        """The target architecture for the current container."""
+        return os.getenv("EPICS_TARGET_ARCH", self._DEFAULT_ARCH)
+
+    @property
+    def EPICS_HOST_ARCH(self):
+        """The host architecture for the current container."""
+        return os.getenv("EPICS_HOST_ARCH", self._DEFAULT_ARCH)
+
+    @property
+    def NATIVE(self):
+        """True if the target architecture is the same as the host architecture."""
+        return self.EPICS_TARGET_ARCH == self.EPICS_HOST_ARCH
+
+    @property
+    def STATIC_BUILD(self):
+        """True if the target architecture is not the default architecture."""
+        return os.getenv("STATIC_BUILD", self._EPICS_TARGET_ARCH != self._DEFAULT_ARCH)
+
+    @property
+    def IBEK_DEFS(self):
+        """Directory containing ibek support yaml definitions."""
+        return self._EPICS_ROOT / "ibek-defs"
+
+    @property
+    def PVI_DEFS(self):
+        """Directory containing pvi device yaml definitions."""
+        return self._EPICS_ROOT / "pvi-defs"
+        return self._EPICS_ROOT / "pvi-defs"
+
+    @property
+    def OPI_OUTPUT(self):
+        """Directory containing runtime generated opis to serve over http."""
+        return self._EPICS_ROOT / "opi"
+
+    @property
+    def EPICS_BASE(self):
+        """xx"""
+        return self._EPICS_ROOT / "epics-base"
+
+    @property
+    def IOC_FOLDER(self):
+        """root folder of a generic IOC source inside the container"""
+        return self._EPICS_ROOT / "ioc"
+
+    @property
+    def CONFIG_DIR_NAME(self):
+        """configuration directory name for the IOC"""
+        return "config"
+
+    @property
+    def IOC_DIR_NAME(self):
+        """folder of the IOC source"""
+        return "ioc"
+
+    @property
+    def RELEASE_SH(self):
+        """a bash script to export the macros defined in RELEASE as environment vars"""
+        return self.SUPPORT / "configure" / "RELEASE.shell"
+
+    @property
+    def MODULES(self):
+        """global MODULES file used to determine order of build"""
+        return self.SUPPORT / "configure" / "MODULES"
+
+    @property
+    def IOC_DBDS(self):
+        """ibek-support list of declared dbds"""
+        return self.SUPPORT / "configure" / "dbd_list"
+
+    @property
+    def IOC_LIBS(self):
+        """ibek-support list of declared libs"""
+        return self.SUPPORT / "configure" / "lib_list"
+
+    @property
+    def RUNTIME_DEBS(self):
+        """ibek-support list of declared libs"""
+        return self.SUPPORT / "configure" / "runtime_debs"
+
+
+# Folder containing templates for IOC src etc.
+TEMPLATES = Path(__file__).parent / "templates"
+
+# Path suffixes for ibek-support
+IBEK_GLOBALS = Path("_global")
+SUPPORT_YAML_PATTERN = "*ibek.support.yaml"
+PVI_YAML_PATTERN = "*pvi.device.yaml"
+
+GLOBALS = _Globals()
+
+
+
[docs]class BaseSettings(BaseModel): + """A Base class for setting consistent Pydantic model configuration""" + + model_config = ConfigDict( + extra="forbid", + )
+ + +class NaturalOrderGroup(TyperGroup): + def list_commands(self, ctx): + return self.commands.keys() +
+ +
+ + + + + +
+ +
+
+
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/motor-demo/_modules/ibek/ioc.html b/motor-demo/_modules/ibek/ioc.html new file mode 100644 index 000000000..4d3721249 --- /dev/null +++ b/motor-demo/_modules/ibek/ioc.html @@ -0,0 +1,611 @@ + + + + + + + + + + + ibek.ioc — ibek 3.5.0b2.dev1+g794e4bfe documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +

Source code for ibek.ioc

+"""
+Classes for generating an IocInstance derived class from a
+support module definition YAML file
+"""
+
+from __future__ import annotations
+
+from enum import Enum
+from typing import Dict, List
+
+from pydantic import (
+    Field,
+    model_validator,
+)
+
+from .args import IdArg
+from .definition import EntityDefinition
+from .globals import BaseSettings
+from .utils import UTILS
+
+# a global dict of all entity instances indexed by their ID
+id_to_entity: Dict[str, Entity] = {}
+
+
+def get_entity_by_id(id: str) -> Entity:
+    try:
+        return id_to_entity[id]
+    except KeyError:
+        raise ValueError(f"object {id} not found in {list(id_to_entity)}")
+
+
+
[docs]def clear_entity_model_ids(): + """Resets the global id_to_entity dict""" + + id_to_entity.clear()
+ + +
[docs]class EnumVal(Enum): + """ + An enum that is printed as its name only + """ + + def __str__(self): + return self.name
+ + +
[docs]class Entity(BaseSettings): + """ + A baseclass for all generated Entity classes. + """ + + type: str = Field(description="The type of this entity") + entity_enabled: bool = Field( + description="enable or disable this entity instance", default=True + ) + __definition__: EntityDefinition + +
[docs] @model_validator(mode="after") + def add_ibek_attributes(self): + """ + Whole Entity model validation + """ + + # find the id field in this Entity if it has one + ids = {a.name for a in self.__definition__.args if isinstance(a, IdArg)} + + entity_dict = self.model_dump() + for arg, value in entity_dict.items(): + model_field = self.model_fields[arg] + + if isinstance(value, str): + # Jinja expansion of any of the Entity's string args/values + value = UTILS.render(entity_dict, value) + setattr(self, arg, str(value)) + + if model_field.annotation == object: + # if the field is an object but the type is str then look up + # the actual object (this covers default values with obj ref) + if isinstance(value, str): + setattr(self, arg, get_entity_by_id(value)) + + if arg in ids: + # add this entity to the global id index + if value in id_to_entity: + raise ValueError(f"Duplicate id {value} in {list(id_to_entity)}") + id_to_entity[value] = self + + return self
+ + def __str__(self): + # if this entity has an id then its string representation is the value of id + id_name = self.__definition__._get_id_arg() + return getattr(self, id_name) if id_name else super().__str__() + + def __repr__(self): + return str(self)
+ + +
[docs]class IOC(BaseSettings): + """ + Used to load an IOC instance entities yaml file into a Pydantic Model. + """ + + ioc_name: str = Field(description="Name of IOC instance") + description: str = Field(description="Description of what the IOC does") + entities: List[Entity]
+
+ +
+ + + + + +
+ +
+
+
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/motor-demo/_modules/ibek/render.html b/motor-demo/_modules/ibek/render.html new file mode 100644 index 000000000..1073a1a1c --- /dev/null +++ b/motor-demo/_modules/ibek/render.html @@ -0,0 +1,643 @@ + + + + + + + + + + + ibek.render — ibek 3.5.0b2.dev1+g794e4bfe documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +

Source code for ibek.render

+"""
+Functions for rendering lines in the boot script using Jinja2
+"""
+
+from typing import Callable, List, Optional, Sequence, Union
+
+from .definition import Comment, Script, Text, When
+from .ioc import Entity
+from .utils import UTILS
+
+
+
[docs]class Render: + """ + A class for generating snippets of startup script / EPICS DB + by using Jinja to combine snippet templates from support module + definition yaml with substitution values supplied in ioc entity yaml + """ + + def __init__(self: "Render"): + self.once_done: List[str] = [] + +
[docs] def render_text( + self, instance: Entity, text: str, when=When.every, suffix="" + ) -> str: + """ + Add in the next line of text, honouring the once flag which will + only add the line once per IOC. + + Jinja rendering of values/args has already been done in Entity.__post_init__ + but we pass all strings though jinja again to render any other jinja + in the IOC (e.g. database and function entries) + + once uses the name of the definition + suffix to track which lines + have been rendered already. The suffix can be used where a given + Entity has more than one element to render once (e.g. functions) + """ + + if when == When.first.value: + name = instance.__definition__.name + suffix + if name not in self.once_done: + self.once_done.append(name) + else: + return "" + elif when == When.last.value: + raise NotImplementedError("When.last not yet implemented") + + # Render Jinja entries in the text + result = UTILS.render(instance, text) # type: ignore + + if result == "": + return "" + + return result + "\n"
+ + def render_script(self, instance: Entity, script_items: Script) -> Optional[str]: + script = "" + + for item in script_items: + if isinstance(item, Comment): + comments = "\n".join(["# " + line for line in item.value.split("\n")]) + script += self.render_text( + instance, comments, item.when, suffix="comment" + ) + elif isinstance(item, Text): + script += self.render_text( + instance, item.value, item.when, suffix="text" + ) + + return script + +
[docs] def render_pre_ioc_init(self, instance: Entity) -> Optional[str]: + """ + render the startup script by combining the jinja template from + an entity with the arguments from an Entity + """ + pre_init = instance.__definition__.pre_init + return self.render_script(instance, pre_init)
+ +
[docs] def render_post_ioc_init(self, instance: Entity) -> Optional[str]: + """ + render the post-iocInit entries by combining the jinja template + from an entity with the arguments from an Entity + """ + post_init = instance.__definition__.post_init + return self.render_script(instance, post_init)
+ +
[docs] def render_environment_variables(self, instance: Entity) -> Optional[str]: + """ + render the environment variable elements by combining the jinja template + from an entity with the arguments from an Entity + """ + variables = getattr(instance.__definition__, "env_vars") + if not variables: + return None + + env_var_txt = "" + for variable in variables: + # Substitute the name and value of the environment variable from args + env_template = f"epicsEnvSet {variable.name} {variable.value}" + env_var_txt += UTILS.render( + instance, + env_template, + ) # type: ignore + return env_var_txt + "\n"
+ +
[docs] def render_elements( + self, + entities: Sequence[Entity], + render_element: Callable[[Entity], Union[str, None]], + ) -> str: + """ + Render elements of a given IOC instance based on calling the correct method + """ + elements = "" + for entity in entities: + if entity.entity_enabled: + element = render_element(entity) + if element: + elements += element + return elements
+ +
[docs] def render_pre_ioc_init_elements(self, entities: Sequence[Entity]) -> str: + """ + Render all of the startup script entries for a given IOC instance + """ + return self.render_elements(entities, self.render_pre_ioc_init)
+ +
[docs] def render_post_ioc_init_elements(self, entities: Sequence[Entity]) -> str: + """ + Render all of the post-iocInit elements for a given IOC instance + """ + return self.render_elements(entities, self.render_post_ioc_init)
+ +
[docs] def render_environment_variable_elements(self, entities: Sequence[Entity]) -> str: + """ + Render all of the environment variable entries for a given IOC instance + """ + return self.render_elements(entities, self.render_environment_variables)
+
+ +
+ + + + + +
+ +
+
+
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/motor-demo/_modules/ibek/support.html b/motor-demo/_modules/ibek/support.html new file mode 100644 index 000000000..20073038c --- /dev/null +++ b/motor-demo/_modules/ibek/support.html @@ -0,0 +1,535 @@ + + + + + + + + + + + ibek.support — ibek 3.5.0b2.dev1+g794e4bfe documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +

Source code for ibek.support

+"""
+Support Class to represent a deserialized <MODULE_NAME>.ibek.support.yaml file.
+"""
+
+from __future__ import annotations
+
+import json
+from typing import Sequence
+
+from pydantic import Field
+
+from .definition import EntityDefinition
+from .globals import BaseSettings
+
+
+
[docs]class Support(BaseSettings): + """ + Lists the definitions for a support module, this defines what Entities it supports + + Provides the deserialize entry point. + """ + + module: str = Field(description="Support module name, normally the repo name") + defs: Sequence[EntityDefinition] = Field( + description="The definitions an IOC can create using this module" + ) + + @classmethod + def get_schema(cls): + return json.dumps(cls.model_json_schema(), indent=2)
+
+ +
+ + + + + +
+ +
+
+
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/motor-demo/_modules/ibek/utils.html b/motor-demo/_modules/ibek/utils.html new file mode 100644 index 000000000..46c924bdf --- /dev/null +++ b/motor-demo/_modules/ibek/utils.html @@ -0,0 +1,651 @@ + + + + + + + + + + + ibek.utils — ibek 3.5.0b2.dev1+g794e4bfe documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +

Source code for ibek.utils

+"""
+A class containing utility functions for passing into the Jinja context.
+
+This allows us to provide simple functions that can be called inside
+Jinja templates with {{ __utils__.function_name() }}. It also allows
+us to maintain state between calls to the Jinja templates because
+we pass a single instance of this class into all Jinja contexts.
+"""
+
+import os
+from dataclasses import dataclass
+from pathlib import Path
+from typing import Any, Dict, Mapping
+
+from jinja2 import Template
+
+
+
[docs]@dataclass +class Counter: + """ + Provides the ability to supply unique numbers to Jinja templates + """ + + start: int + current: int + stop: int + + def increment(self, count: int): + self.current += count + if self.current > self.stop: + raise ValueError( + f"Counter {self.current} exceeded stop value of {self.stop}" + )
+ + +
[docs]class Utils: + """ + A Utility class for adding functions to the Jinja context + """ + + def __init__(self: "Utils"): + self.file_name: str = "" + self.ioc_name: str = "" + self.__reset__() + + def __reset__(self: "Utils"): + """ + Reset all saved state. For use in testing where more than one + IOC is rendered in a single session + """ + self.variables: Dict[str, Any] = {} + self.counters: Dict[str, Counter] = {} + +
[docs] def set_file_name(self: "Utils", file: Path): + """ + Set the ioc name based on the file name of the instance definition + """ + self.file_name = file.stem
+ +
[docs] def set_ioc_name(self: "Utils", name: str): + """ + Set the ioc name based on the file name of the instance definition + """ + self.ioc_name = name
+ +
[docs] def get_env(self, key: str) -> str: + """ + Get an environment variable + """ + return os.environ.get(key, "")
+ +
[docs] def set_var(self, key: str, value: Any): + """create a global variable for our jinja context""" + self.variables[key] = value
+ +
[docs] def get_var(self, key: str) -> Any: + """get the value a global variable for our jinja context""" + # Intentionally raises a KeyError if the key doesn't exist + return self.variables[key]
+ +
[docs] def counter( + self, name: str, start: int = 0, stop: int = 65535, inc: int = 1 + ) -> int: + """ + get a named counter that increments by inc each time it is called + + creates a new counter if it does not yet exist + """ + counter = self.counters.get(name) + if counter is None: + counter = Counter(start, start, stop) + self.counters[name] = counter + else: + if counter.start != start or counter.stop != stop: + raise ValueError( + f"Redefining counter {name} with different start/stop values" + ) + result = counter.current + counter.increment(inc) + self.counters[name] = counter + + return result
+ +
[docs] def render(self, context: Any, template_text: Any) -> str: + """ + Render a Jinja template with the global __utils__ object in the context + """ + if not isinstance(template_text, str): + # because this function is used to template arguments, it may + # be passed a non string which will always render to itself + return template_text + + try: + jinja_template = Template(template_text) + return jinja_template.render( + context, + __utils__=self, + ioc_yaml_file_name=self.file_name, + ioc_name=self.ioc_name, + ) + except Exception: + print(f"ERROR RENDERING TEMPLATE:\n{template_text}") + raise
+ +
[docs] def render_map(self, context: Any, map: Mapping[str, str | None]) -> dict[str, str]: + """ + Render a map of jinja templates with values from the given context. + + If given a key with a value of `None`, the key itself will be used as a template + value, so ``{"P": None}`` is equivalent to ``{"P": "{{ P }}"}``. + + Args: + context: Context to extract template variables from + map: Map of macro to jinja template to render + + """ + return { + key: self.render( + context, template if template is not None else "{{ %s }}" % key + ) + for key, template in map.items() + }
+ + +# a singleton Utility object for sharing state across all Entity renders +UTILS: Utils = Utils() +
+ +
+ + + + + +
+ +
+
+
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/motor-demo/_modules/index.html b/motor-demo/_modules/index.html new file mode 100644 index 000000000..e8228ec1d --- /dev/null +++ b/motor-demo/_modules/index.html @@ -0,0 +1,507 @@ + + + + + + + + + + + Overview: module code — ibek 3.5.0b2.dev1+g794e4bfe documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + + + + + + + +
+ +
+
+
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/motor-demo/_sources/developer/explanations/decisions.rst.txt b/motor-demo/_sources/developer/explanations/decisions.rst.txt new file mode 100644 index 000000000..5841e6ea0 --- /dev/null +++ b/motor-demo/_sources/developer/explanations/decisions.rst.txt @@ -0,0 +1,17 @@ +.. This Source Code Form is subject to the terms of the Mozilla Public +.. License, v. 2.0. If a copy of the MPL was not distributed with this +.. file, You can obtain one at http://mozilla.org/MPL/2.0/. + +Architectural Decision Records +============================== + +We record major architectural decisions in Architecture Decision Records (ADRs), +as `described by Michael Nygard +`_. +Below is the list of our current ADRs. + +.. toctree:: + :maxdepth: 1 + :glob: + + decisions/* \ No newline at end of file diff --git a/motor-demo/_sources/developer/explanations/decisions/0001-record-architecture-decisions.rst.txt b/motor-demo/_sources/developer/explanations/decisions/0001-record-architecture-decisions.rst.txt new file mode 100644 index 000000000..b2d3d0fe8 --- /dev/null +++ b/motor-demo/_sources/developer/explanations/decisions/0001-record-architecture-decisions.rst.txt @@ -0,0 +1,26 @@ +1. Record architecture decisions +================================ + +Date: 2022-02-18 + +Status +------ + +Accepted + +Context +------- + +We need to record the architectural decisions made on this project. + +Decision +-------- + +We will use Architecture Decision Records, as `described by Michael Nygard +`_. + +Consequences +------------ + +See Michael Nygard's article, linked above. To create new ADRs we will copy and +paste from existing ones. diff --git a/motor-demo/_sources/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst.txt b/motor-demo/_sources/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst.txt new file mode 100644 index 000000000..823c68369 --- /dev/null +++ b/motor-demo/_sources/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst.txt @@ -0,0 +1,35 @@ +2. Adopt ibek for project structure +=================================================== + +Date: 2022-02-18 + +Status +------ + +Accepted + +Context +------- + +We should use the following `pip-skeleton `_. +The skeleton will ensure consistency in developer +environments and package management. + +Decision +-------- + +We have switched to using the skeleton. + +Consequences +------------ + +This module will use a fixed set of tools as developed in ibek +and can pull from this skeleton to update the packaging to the latest techniques. + +As such, the developer environment may have changed, the following could be +different: + +- linting +- formatting +- pip venv setup +- CI/CD diff --git a/motor-demo/_sources/developer/explanations/entities.rst.txt b/motor-demo/_sources/developer/explanations/entities.rst.txt new file mode 100644 index 000000000..2f748f4c3 --- /dev/null +++ b/motor-demo/_sources/developer/explanations/entities.rst.txt @@ -0,0 +1,267 @@ +.. _entities: + +Modules, Definitions and Entities +================================= + +This page is a top down explanation of the above key terms by referencing the +example IOC instance bl45p-mo-ioc-02 used in the system tests for this +project. + +The explanations rely on an understanding of the difference between +generic IOCs and IOC instances. See +`Generic IOCs and instances `_. + +Modules +------- + +Every generic IOC image will include a number of EPICS support modules. + +The bl45p-mo-ioc-02 ioc instance example uses the generic IOC container image +`ioc-pmac `_ . This image +contains the support modules pmac and motor plus the common support modules +from `epics-modules `_ + +Each IOC instance will mount a generic IOC image and therefore be able to make +use of the libraries and DB templates in any of those support modules. + +The goal of ibek is to allow a developer to define an instance of an IOC and +make use of functions of its support modules. + +ibek uses a **support module definition file** to determine what +features of a support module may be instantiated. + +Hence there is a collection of **support module definition files** +inside of each generic IOC. + +In the code the class GenericIoc is used to represent a generic IOC and an +instance of that class represent an IOC instance. + +Definition +---------- + +Each support module has its own **support module definition file** . This +is a YAML file whose name is by convention ``.ibek.support.yaml`` + +These will all reside in a folder called /ibek in the container +image. + +The **support module definition file** contains **Definitions** which +determine what **Entities** an IOC instance may instantiate. + +For example the pmac support module declares the following **Definitions** +in ``pmac.ibek.support.yaml`` +(currently this is limited to 3 - the full implementation would have more): + + - Geobrick + + - DlsPmacAsynIPPort + + - DlsPmacAsynMotor + +Each Definition describes a class of Entity by providing: + + - Entity class name + + - a list of arguments to supply when declaring an Entity + + - boot script entries to add for the Entity in the form of a jinja + template that may refer to the above arguments + + - database templates to instantiate for the Entity with macro values from + the above arguments + + +Expand below for the example **support module definition file**: + + .. raw:: html + +
+ objects.ibek.support.yaml + + .. include:: ../../../tests/samples/support/motorSim.ibek.support.yaml + :literal: + + .. raw:: html + +
+ +Definition is implemented in the code using a class of the same name. + + +Entity +------ + +ibek can generate an IOC instance using an +**IOC instance entity file**. This is +a YAML file with name of the form ``..yaml``. + +The **IOC instance entity file** declares the Entities that the IOC +instance requires. + +An Entity represents any piece of functionality of an IOC that is +configured through EPICS database and/or startup script. + +The classes of Entity that can be instantiated for a given generic IOC are +declared in the Definitions files described above. + +Declaring an Entity +for an IOC instance will cause ibek to generate lines in the startup script. +The generated startup script will also supply the EPICS database +entries using dbLoadRecords and database templates. + +The example motion IOC instance bl45p-mo-ioc-02 has the following entities: + + - DlsPmacAsynIPPort (one instance) + + - represents a connection to a motion controller + + - configured via + + - pmacAsynIPConfigure in the boot script + + - Geobrick (one instance) + + - represents the motion controller itself + + - configured via + + - pmacCreateController in boot script + + - pmacCreateAxes in the boot script + + - dbLoadRecords of pmacController.template and pmacStatus.template + + - DlsPmacAsynMotor (two instances) + + - represents a single motor connected to the controller + + - configured via: + + - dbLoadRecords of dls_pmac_asyn_motor.template + +The example **IOC instance entity file** is shown below along with the st.cmd +file that ibek will generate from it. + +Click the arrows to reveal the files. + + .. raw:: html + +
+ all.ibek.ioc.yaml + + .. include:: ../../../tests/samples/iocs/ibek-mo-ioc-01.yaml + :literal: + + .. raw:: html + +
+
+ st.cmd + + .. include:: ../../../tests/samples/outputs/motorSim/st.cmd + :literal: + + .. raw:: html + +
+ +Entity is implemented in the code using a class of the same name. + +Schemas +------- + +The YAML files described above are constrained by schemas. These schemas are +available to the developer and may be used to assist in generating the YAML. + +Note that the author of an IOC instance needs access to .schema.json +in order to correctly craft a correct ..yaml. For this +reason the container schema file is published as a github artifact along with +the release of the container image. All other ibek operations happen within +the container or during container development. + +Thus, the sequence of files is as follows: + +.. list-table:: Summary of ibek files sequence + :widths: 5 40 70 + :header-rows: 1 + + * - num + - Name + - Description + * - 1 + - ibek.defs.schema.json + - Global Schema for **2** + * - 2 + - .ibek.support.yaml + - Definition file for a support module. Generates part of **3** + * - 3 + - .entities.schema.json + - Schema for **4**. Generated by combining all of **2** from a container + * - 4 + - .ibek.ioc.yaml + - Description of Entities for an IOC instance. + * - 5 + - IOC Startup Script st.cmd + - Startup script for booting the IOC + +The Global Schema and example IOC instance schema are below: + + .. raw:: html + +
+ ibek.support.schema.json + + .. include:: ../../../tests/samples/schemas/ibek.support.schema.json + :literal: + + .. raw:: html + +
+
+ multiple.ibek.ioc.schema.json + + .. include:: ../../../tests/samples/schemas/single.ibek.ioc.schema.json + :literal: + + .. raw:: html + +
+ +This results in the overall generated file structure: + +.. raw:: html + :file: ../../images/ibek-arch.svg + +Commands +-------- + +The ibek commands to progress through the file sequence above are as follows + + +.. list-table:: Summary of ibek stages + :widths: 5 40 70 + :header-rows: 1 + + * - num + - Name + - Command + * - 1 + - ``ibek.defs.schema.json`` + - ``ibek ibek-schema`` + * - 2 + - ``.ibek.support.yaml`` + - Hand crafted by the container developer. Held in the container. + * - 3 + - ``.ibek.entities.schema.json`` + - ``ibek ioc-schema ...`` run at container build time. ``...`` + == all ``.ibek.support.yaml`` within the container. + * - 4 + - ``.ibek.ioc.yaml`` + - Hand crafted at IOC instance design time + * - 5 + - IOC startup script + - ``ibek build-startup .ibek.ioc.yaml ...``. Run at IOC startup time in the + container. ``...`` == all ``.ibek.support.yaml`` within the container. + + + diff --git a/motor-demo/_sources/developer/how-to/build-docs.rst.txt b/motor-demo/_sources/developer/how-to/build-docs.rst.txt new file mode 100644 index 000000000..11a5e6386 --- /dev/null +++ b/motor-demo/_sources/developer/how-to/build-docs.rst.txt @@ -0,0 +1,38 @@ +Build the docs using sphinx +=========================== + +You can build the `sphinx`_ based docs from the project directory by running:: + + $ tox -e docs + +This will build the static docs on the ``docs`` directory, which includes API +docs that pull in docstrings from the code. + +.. seealso:: + + `documentation_standards` + +The docs will be built into the ``build/html`` directory, and can be opened +locally with a web browser:: + + $ firefox build/html/index.html + +Autobuild +--------- + +You can also run an autobuild process, which will watch your ``docs`` +directory for changes and rebuild whenever it sees changes, reloading any +browsers watching the pages:: + + $ tox -e docs autobuild + +You can view the pages at localhost:: + + $ firefox http://localhost:8000 + +If you are making changes to source code too, you can tell it to watch +changes in this directory too:: + + $ tox -e docs autobuild -- --watch src + +.. _sphinx: https://www.sphinx-doc.org/ diff --git a/motor-demo/_sources/developer/how-to/contribute.rst.txt b/motor-demo/_sources/developer/how-to/contribute.rst.txt new file mode 100644 index 000000000..65b992f08 --- /dev/null +++ b/motor-demo/_sources/developer/how-to/contribute.rst.txt @@ -0,0 +1 @@ +.. include:: ../../../.github/CONTRIBUTING.rst diff --git a/motor-demo/_sources/developer/how-to/lint.rst.txt b/motor-demo/_sources/developer/how-to/lint.rst.txt new file mode 100644 index 000000000..2df258d8f --- /dev/null +++ b/motor-demo/_sources/developer/how-to/lint.rst.txt @@ -0,0 +1,39 @@ +Run linting using pre-commit +============================ + +Code linting is handled by black_ and ruff_ run under pre-commit_. + +Running pre-commit +------------------ + +You can run the above checks on all files with this command:: + + $ tox -e pre-commit + +Or you can install a pre-commit hook that will run each time you do a ``git +commit`` on just the files that have changed:: + + $ pre-commit install + +It is also possible to `automatically enable pre-commit on cloned repositories `_. +This will result in pre-commits being enabled on every repo your user clones from now on. + +Fixing issues +------------- + +If black reports an issue you can tell it to reformat all the files in the +repository:: + + $ black . + +Likewise with ruff:: + + $ ruff --fix . + +Ruff may not be able to automatically fix all issues; in this case, you will have to fix those manually. + +VSCode support +-------------- + +The ``.vscode/settings.json`` will run black formatting as well as +ruff checking on save. Issues will be highlighted in the editor window. diff --git a/motor-demo/_sources/developer/how-to/make-release.rst.txt b/motor-demo/_sources/developer/how-to/make-release.rst.txt new file mode 100644 index 000000000..1449a6143 --- /dev/null +++ b/motor-demo/_sources/developer/how-to/make-release.rst.txt @@ -0,0 +1,16 @@ +Make a release +============== + +To make a new release, please follow this checklist: + +- Choose a new PEP440 compliant release number (see https://peps.python.org/pep-0440/) +- Go to the GitHub release_ page +- Choose ``Draft New Release`` +- Click ``Choose Tag`` and supply the new tag you chose (click create new tag) +- Click ``Generate release notes``, review and edit these notes +- Choose a title and click ``Publish Release`` + +Note that tagging and pushing to the change_linter_to_ruff branch has the same effect except that +you will not get the option to edit the release notes. + +.. _release: https://github.com/epics-containers/ibek/releases diff --git a/motor-demo/_sources/developer/how-to/pin-requirements.rst.txt b/motor-demo/_sources/developer/how-to/pin-requirements.rst.txt new file mode 100644 index 000000000..91ed5535d --- /dev/null +++ b/motor-demo/_sources/developer/how-to/pin-requirements.rst.txt @@ -0,0 +1,74 @@ +Pinning Requirements +==================== + +Introduction +------------ + +By design this project only defines dependencies in one place, i.e. in +the ``requires`` table in ``pyproject.toml``. + +In the ``requires`` table it is possible to pin versions of some dependencies +as needed. For library projects it is best to leave pinning to a minimum so +that your library can be used by the widest range of applications. + +When CI builds the project it will use the latest compatible set of +dependencies available (after applying your pins and any dependencies' pins). + +This approach means that there is a possibility that a future build may +break because an updated release of a dependency has made a breaking change. + +The correct way to fix such an issue is to work out the minimum pinning in +``requires`` that will resolve the problem. However this can be quite hard to +do and may be time consuming when simply trying to release a minor update. + +For this reason we provide a mechanism for locking all dependencies to +the same version as a previous successful release. This is a quick fix that +should guarantee a successful CI build. + +Finding the lock files +---------------------- + +Every release of the project will have a set of requirements files published +as release assets. + +For example take a look at the release page for python3-pip-skeleton-cli here: +https://github.com/DiamondLightSource/python3-pip-skeleton-cli/releases/tag/3.3.0 + +There is a list of requirements*.txt files showing as assets on the release. + +There is one file for each time the CI installed the project into a virtual +environment. There are multiple of these as the CI creates a number of +different environments. + +The files are created using ``pip freeze`` and will contain a full list +of the dependencies and sub-dependencies with pinned versions. + +You can download any of these files by clicking on them. It is best to use +the one that ran with the lowest Python version as this is more likely to +be compatible with all the versions of Python in the test matrix. +i.e. ``requirements-test-ubuntu-latest-3.10.txt`` in this example. + +Applying the lock file +---------------------- + +To apply a lockfile: + +- copy the requirements file you have downloaded to the root of your + repository +- rename it to requirements.txt +- commit it into the repo +- push the changes + +The CI looks for a requirements.txt in the root and will pass it to pip +when installing each of the test environments. pip will then install exactly +the same set of packages as the previous release. + +Removing dependency locking from CI +----------------------------------- + +Once the reasons for locking the build have been resolved it is a good idea +to go back to an unlocked build. This is because you get an early indication +of any incoming problems. + +To restore unlocked builds in CI simply remove requirements.txt from the root +of the repo and push. diff --git a/motor-demo/_sources/developer/how-to/run-tests.rst.txt b/motor-demo/_sources/developer/how-to/run-tests.rst.txt new file mode 100644 index 000000000..d2e03644c --- /dev/null +++ b/motor-demo/_sources/developer/how-to/run-tests.rst.txt @@ -0,0 +1,12 @@ +Run the tests using pytest +========================== + +Testing is done with pytest_. It will find functions in the project that `look +like tests`_, and run them to check for errors. You can run it with:: + + $ tox -e pytest + +It will also report coverage to the commandline and to ``cov.xml``. + +.. _pytest: https://pytest.org/ +.. _look like tests: https://docs.pytest.org/explanation/goodpractices.html#test-discovery diff --git a/motor-demo/_sources/developer/how-to/static-analysis.rst.txt b/motor-demo/_sources/developer/how-to/static-analysis.rst.txt new file mode 100644 index 000000000..065920e1c --- /dev/null +++ b/motor-demo/_sources/developer/how-to/static-analysis.rst.txt @@ -0,0 +1,8 @@ +Run static analysis using mypy +============================== + +Static type analysis is done with mypy_. It checks type definition in source +files without running them, and highlights potential issues where types do not +match. You can run it with:: + + $ tox -e mypy diff --git a/motor-demo/_sources/developer/how-to/test-container.rst.txt b/motor-demo/_sources/developer/how-to/test-container.rst.txt new file mode 100644 index 000000000..a4a43a6ff --- /dev/null +++ b/motor-demo/_sources/developer/how-to/test-container.rst.txt @@ -0,0 +1,25 @@ +Container Local Build and Test +============================== + +CI builds a runtime container for the project. The local tests +checks available via ``tox -p`` do not verify this because not +all developers will have docker installed locally. + +If CI is failing to build the container, then it is best to fix and +test the problem locally. This would require that you have docker +or podman installed on your local workstation. + +In the following examples the command ``docker`` is interchangeable with +``podman`` depending on which container cli you have installed. + +To build the container and call it ``test``:: + + cd + docker build -t test . + +To verify that the container runs:: + + docker run -it test --help + +You can pass any other command line parameters to your application +instead of --help. diff --git a/motor-demo/_sources/developer/how-to/update-tools.rst.txt b/motor-demo/_sources/developer/how-to/update-tools.rst.txt new file mode 100644 index 000000000..c1075ee8c --- /dev/null +++ b/motor-demo/_sources/developer/how-to/update-tools.rst.txt @@ -0,0 +1,16 @@ +Update the tools +================ + +This module is merged with the python3-pip-skeleton_. This is a generic +Python project structure which provides a means to keep tools and +techniques in sync between multiple Python projects. To update to the +latest version of the skeleton, run:: + + $ git pull --rebase=false https://github.com/DiamondLightSource/python3-pip-skeleton + +Any merge conflicts will indicate an area where something has changed that +conflicts with the setup of the current module. Check the `closed pull requests +`_ +of the skeleton module for more details. + +.. _python3-pip-skeleton: https://DiamondLightSource.github.io/python3-pip-skeleton diff --git a/motor-demo/_sources/developer/index.rst.txt b/motor-demo/_sources/developer/index.rst.txt new file mode 100644 index 000000000..2a8ff249f --- /dev/null +++ b/motor-demo/_sources/developer/index.rst.txt @@ -0,0 +1,65 @@ +Developer Guide +=============== + +Documentation is split into four categories, also accessible from links in the +side-bar. + +.. grid:: 2 + :gutter: 4 + + .. grid-item-card:: :material-regular:`directions_run;3em` + + .. toctree:: + :caption: Tutorials + :maxdepth: 1 + + tutorials/dev-install + + +++ + + Tutorials for getting up and running as a developer. + + .. grid-item-card:: :material-regular:`task;3em` + + .. toctree:: + :caption: How-to Guides + :maxdepth: 1 + + how-to/contribute + how-to/build-docs + how-to/run-tests + how-to/static-analysis + how-to/lint + how-to/update-tools + how-to/make-release + how-to/pin-requirements + how-to/test-container + + +++ + + Practical step-by-step guides for day-to-day dev tasks. + + .. grid-item-card:: :material-regular:`apartment;3em` + + .. toctree:: + :caption: Explanations + :maxdepth: 1 + + explanations/decisions + explanations/entities + + +++ + + Explanations of how and why the architecture is why it is. + + .. grid-item-card:: :material-regular:`description;3em` + + .. toctree:: + :caption: Reference + :maxdepth: 1 + + reference/standards + + +++ + + Technical reference material on standards in use. diff --git a/motor-demo/_sources/developer/reference/standards.rst.txt b/motor-demo/_sources/developer/reference/standards.rst.txt new file mode 100644 index 000000000..5a1fd4782 --- /dev/null +++ b/motor-demo/_sources/developer/reference/standards.rst.txt @@ -0,0 +1,63 @@ +Standards +========= + +This document defines the code and documentation standards used in this +repository. + +Code Standards +-------------- + +The code in this repository conforms to standards set by the following tools: + +- black_ for code formatting +- ruff_ for style checks +- mypy_ for static type checking + +.. seealso:: + + How-to guides `../how-to/lint` and `../how-to/static-analysis` + +.. _documentation_standards: + +Documentation Standards +----------------------- + +Docstrings are pre-processed using the Sphinx Napoleon extension. As such, +google-style_ is considered as standard for this repository. Please use type +hints in the function signature for types. For example: + +.. code:: python + + def func(arg1: str, arg2: int) -> bool: + """Summary line. + + Extended description of function. + + Args: + arg1: Description of arg1 + arg2: Description of arg2 + + Returns: + Description of return value + """ + return True + +.. _google-style: https://sphinxcontrib-napoleon.readthedocs.io/en/latest/index.html#google-vs-numpy + +Documentation is contained in the ``docs`` directory and extracted from +docstrings of the API. + +Docs follow the underlining convention:: + + Headling 1 (page title) + ======================= + + Heading 2 + --------- + + Heading 3 + ~~~~~~~~~ + +.. seealso:: + + How-to guide `../how-to/build-docs` diff --git a/motor-demo/_sources/developer/tutorials/dev-install.rst.txt b/motor-demo/_sources/developer/tutorials/dev-install.rst.txt new file mode 100644 index 000000000..68598036f --- /dev/null +++ b/motor-demo/_sources/developer/tutorials/dev-install.rst.txt @@ -0,0 +1,68 @@ +Developer install +================= + +These instructions will take you through the minimal steps required to get a dev +environment setup, so you can run the tests locally. + +Clone the repository +-------------------- + +First clone the repository locally using `Git +`_:: + + $ git clone git://github.com/epics-containers/ibek.git + +Install dependencies +-------------------- + +You can choose to either develop on the host machine using a `venv` (which +requires python 3.10 or later) or to run in a container under `VSCode +`_ + +.. tab-set:: + + .. tab-item:: Local virtualenv + + .. code:: + + $ cd ibek + $ python3 -m venv venv + $ source venv/bin/activate + $ pip install -e '.[dev]' + + .. tab-item:: VSCode devcontainer + + .. code:: + + $ code ibek + # Click on 'Reopen in Container' when prompted + # Open a new terminal + + .. note:: + + See the epics-containers_ documentation for more complex + use cases, such as integration with podman. + +See what was installed +---------------------- + +To see a graph of the python package dependency tree type:: + + $ pipdeptree + +Build and test +-------------- + +Now you have a development environment you can run the tests in a terminal:: + + $ tox -p + +This will run in parallel the following checks: + +- `../how-to/build-docs` +- `../how-to/run-tests` +- `../how-to/static-analysis` +- `../how-to/lint` + + +.. _epics-containers: https://epics-containers.github.io/change_linter_to_ruff/user/tutorials/devcontainer.html diff --git a/motor-demo/_sources/genindex.rst.txt b/motor-demo/_sources/genindex.rst.txt new file mode 100644 index 000000000..93eb8b294 --- /dev/null +++ b/motor-demo/_sources/genindex.rst.txt @@ -0,0 +1,5 @@ +API Index +========= + +.. + https://stackoverflow.com/a/42310803 diff --git a/motor-demo/_sources/index.rst.txt b/motor-demo/_sources/index.rst.txt new file mode 100644 index 000000000..f23dd4fa1 --- /dev/null +++ b/motor-demo/_sources/index.rst.txt @@ -0,0 +1,29 @@ +:html_theme.sidebar_secondary.remove: + +.. include:: ../README.rst + :end-before: when included in index.rst + +How the documentation is structured +----------------------------------- + +The documentation is split into 2 sections: + +.. grid:: 2 + + .. grid-item-card:: :material-regular:`person;4em` + :link: user/index + :link-type: doc + + The User Guide contains documentation on how to install and use ibek. + + .. grid-item-card:: :material-regular:`code;4em` + :link: developer/index + :link-type: doc + + The Developer Guide contains documentation on how to develop and contribute changes back to ibek. + +.. toctree:: + :hidden: + + user/index + developer/index diff --git a/motor-demo/_sources/user/explanations/docs-structure.rst.txt b/motor-demo/_sources/user/explanations/docs-structure.rst.txt new file mode 100644 index 000000000..f25a09baa --- /dev/null +++ b/motor-demo/_sources/user/explanations/docs-structure.rst.txt @@ -0,0 +1,18 @@ +About the documentation +----------------------- + + :material-regular:`format_quote;2em` + + The Grand Unified Theory of Documentation + + -- David Laing + +There is a secret that needs to be understood in order to write good software +documentation: there isn't one thing called *documentation*, there are four. + +They are: *tutorials*, *how-to guides*, *technical reference* and *explanation*. +They represent four different purposes or functions, and require four different +approaches to their creation. Understanding the implications of this will help +improve most documentation - often immensely. + +`More information on this topic. `_ diff --git a/motor-demo/_sources/user/how-to/edit-yaml.rst.txt b/motor-demo/_sources/user/how-to/edit-yaml.rst.txt new file mode 100644 index 000000000..837db6da4 --- /dev/null +++ b/motor-demo/_sources/user/how-to/edit-yaml.rst.txt @@ -0,0 +1,7 @@ +YAML schema +=========== + +This is a useful discussion on yaml/json schema including how to enable +schema validated editing of yaml files in vscode. + +https://dev.to/brpaz/how-to-create-your-own-auto-completion-for-json-and-yaml-files-on-vs-code-with-the-help-of-json-schema-k1i diff --git a/motor-demo/_sources/user/how-to/run-container.rst.txt b/motor-demo/_sources/user/how-to/run-container.rst.txt new file mode 100644 index 000000000..3bad9811c --- /dev/null +++ b/motor-demo/_sources/user/how-to/run-container.rst.txt @@ -0,0 +1,15 @@ +Run in a container +================== + +Pre-built containers with ibek and its dependencies already +installed are available on `Github Container Registry +`_. + +Starting the container +---------------------- + +To pull the container from github container registry and run:: + + $ docker run ghcr.io/epics-containers/ibek:main --version + +To get a released version, use a numbered release instead of ``change_linter_to_ruff``. diff --git a/motor-demo/_sources/user/index.rst.txt b/motor-demo/_sources/user/index.rst.txt new file mode 100644 index 000000000..d48d3f6db --- /dev/null +++ b/motor-demo/_sources/user/index.rst.txt @@ -0,0 +1,59 @@ +User Guide +========== + +Documentation is split into four categories, also accessible from links in the +side-bar. + +.. grid:: 2 + :gutter: 4 + + .. grid-item-card:: :material-regular:`directions_walk;3em` + + .. toctree:: + :caption: Tutorials + :maxdepth: 1 + + tutorials/installation + + +++ + + Tutorials for installation and typical usage. New users start here. + + .. grid-item-card:: :material-regular:`directions;3em` + + .. toctree:: + :caption: How-to Guides + :maxdepth: 1 + + how-to/edit-yaml + how-to/run-container + + +++ + + Practical step-by-step guides for the more experienced user. + + .. grid-item-card:: :material-regular:`info;3em` + + .. toctree:: + :caption: Explanations + :maxdepth: 1 + + explanations/docs-structure + + +++ + + Explanations of how the library works and why it works that way. + + .. grid-item-card:: :material-regular:`menu_book;3em` + + .. toctree:: + :caption: Reference + :maxdepth: 1 + + reference/naming + reference/api + ../genindex + + +++ + + Technical reference material including APIs and release notes. diff --git a/motor-demo/_sources/user/reference/api.rst.txt b/motor-demo/_sources/user/reference/api.rst.txt new file mode 100644 index 000000000..948e3d82a --- /dev/null +++ b/motor-demo/_sources/user/reference/api.rst.txt @@ -0,0 +1,50 @@ +API +=== + +This is the internal API reference for ibek + + +.. automodule ibek + +``ibek`` +~~~~~~~~ + +.. data:: ibek.__version__ + :type: str + + Version number as calculated by https://github.com/pypa/setuptools_scm + +``ibek.globals`` +---------------- + +.. automodule:: ibek.globals + :members: + +``ibek.support`` +---------------- + +.. automodule:: ibek.support + :members: + +``ibek.ioc`` +------------------ + +.. automodule:: ibek.ioc + :members: + + +``ibek.render`` +--------------- + +.. automodule:: ibek.render + :members: + +``ibek.utils`` +--------------- + +.. automodule:: ibek.utils + :members: + +.. class:: apischema.types.UndefinedType + + A sentinel value that allows detection that a value has not been passed at init diff --git a/motor-demo/_sources/user/reference/naming.rst.txt b/motor-demo/_sources/user/reference/naming.rst.txt new file mode 100644 index 000000000..0c9384560 --- /dev/null +++ b/motor-demo/_sources/user/reference/naming.rst.txt @@ -0,0 +1,90 @@ +Support YAML Conventions +======================== + +TODO: Create a linter that checks for these conventions +TODO: split out ibek-defs and ibek-defs-dls for internal support modules. + +IBEK Support YAML defines what Entities can be instantiated +by IOC instances. +There will be one of these YAML files per support module. +These files should adhere to the following naming conventions. + +Filename +-------- + +The filename is always *SupportModule*.ibek.support.yaml, where +*SupportModule* is the name of the support module as named in its git +repository. + +The file should be stored in the ibek-defs repository in a folder with +name *SupportModule*. These folders should be located in the root of the +repository. + +*SupportModule* should use the same case as the git repo. + +e.g. + +.. code-block:: text + + ADCore/ADCore.ibek.support.yaml + pmac/pmac.ibek.support.yaml + aravisGigE/aravisGigE.ibek.support.yaml + +Module +------ + +Every YAML file will start by declaring the module name using ``module:``. +This should typically +be the same as the filename prefix. However if the filename prefix is not a +a legal python name it can be adjusted to make it legal. This would usually +mean replacing '-' with '_'. + +.. code-block:: text + + ADCore + pmac + aravisGigE + +Definitions +----------- + +All definitions have a ``name:`` field. This should be UpperCamelCase as it +represents a class in Python. + +Args +---- + +Every Arg also has a name and these should be snake_case as they represent +class properties in Python. + +HOWEVER: where these arguments refer to a database template macro, the original +name should be used. This means that no changes are required in the templates +in order to support the include_args feature. + +ADDITIONAL: because the above caveat breaks the naming convention. We will +maintain the historical naming from builder.py where support module has this +historical support. + +SUMMARY: only new modules will use the snake_case naming convention. Others +will use the historical adhoc naming conventions. + +Functions +--------- + +Function Arguments should be in UpperCamelCase. Function names must be as +per the function name you are calling in iocShell startup. + +e.g. + +.. code-block:: yaml + + script: + - type: function + name: pscAddIpModule + header: | + # Add IP module + args: + CarrierId: $({{ carrier.name }}) + IpSiteNumber: "{{ ip_site_number }}" + Vector: "$({{ interrupt_vector.name }})" + Links: "{{ links }}" diff --git a/motor-demo/_sources/user/tutorials/installation.rst.txt b/motor-demo/_sources/user/tutorials/installation.rst.txt new file mode 100644 index 000000000..1aaf79055 --- /dev/null +++ b/motor-demo/_sources/user/tutorials/installation.rst.txt @@ -0,0 +1,44 @@ +Installation +============ + +Check your version of python +---------------------------- + +You will need python 3.10 or later. You can check your version of python by +typing into a terminal:: + + $ python3 --version + +Create a virtual environment +---------------------------- + +It is recommended that you install into a “virtual environment” so this +installation will not interfere with any existing Python software:: + + $ python3 -m venv /path/to/venv + $ source /path/to/venv/bin/activate + + +Installing the library +---------------------- + +You can now use ``pip`` to install the library and its dependencies:: + + python3 -m pip install ibek + +If you require a feature that is not currently released you can also install +from github:: + + python3 -m pip install git+https://github.com/epics-containers/ibek.git + +The library should now be installed and the commandline interface on your path. +You can check the version that has been installed by typing:: + + ibek --version + +Running in a container +---------------------- + +To pull the container from github container registry and run:: + + docker run ghcr.io/epics-containers/ibek:main --version diff --git a/motor-demo/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css b/motor-demo/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css new file mode 100644 index 000000000..eb19f698a --- /dev/null +++ b/motor-demo/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative}details.sd-dropdown .sd-summary-title{font-weight:700;padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5em}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1;transform:scale(1.1)}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:1em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem} diff --git a/motor-demo/_sphinx_design_static/design-tabs.js b/motor-demo/_sphinx_design_static/design-tabs.js new file mode 100644 index 000000000..36b38cf0d --- /dev/null +++ b/motor-demo/_sphinx_design_static/design-tabs.js @@ -0,0 +1,27 @@ +var sd_labels_by_text = {}; + +function ready() { + const li = document.getElementsByClassName("sd-tab-label"); + for (const label of li) { + syncId = label.getAttribute("data-sync-id"); + if (syncId) { + label.onclick = onLabelClick; + if (!sd_labels_by_text[syncId]) { + sd_labels_by_text[syncId] = []; + } + sd_labels_by_text[syncId].push(label); + } + } +} + +function onLabelClick() { + // Activate other inputs with the same sync id. + syncId = this.getAttribute("data-sync-id"); + for (label of sd_labels_by_text[syncId]) { + if (label === this) continue; + label.previousElementSibling.checked = true; + } + window.localStorage.setItem("sphinx-design-last-tab", syncId); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/motor-demo/_static/basic.css b/motor-demo/_static/basic.css new file mode 100644 index 000000000..61572969d --- /dev/null +++ b/motor-demo/_static/basic.css @@ -0,0 +1,903 @@ +/* + * 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: 270px; + 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; +} + +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; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/motor-demo/_static/check-solid.svg b/motor-demo/_static/check-solid.svg new file mode 100644 index 000000000..92fad4b5c --- /dev/null +++ b/motor-demo/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/motor-demo/_static/clipboard.min.js b/motor-demo/_static/clipboard.min.js new file mode 100644 index 000000000..54b3c4638 --- /dev/null +++ b/motor-demo/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/motor-demo/_static/copybutton.css b/motor-demo/_static/copybutton.css new file mode 100644 index 000000000..f1916ec7d --- /dev/null +++ b/motor-demo/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/motor-demo/_static/copybutton.js b/motor-demo/_static/copybutton.js new file mode 100644 index 000000000..e0da19327 --- /dev/null +++ b/motor-demo/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '>>> |\\.\\.\\. |\\$ |In \\[\\d*\\]: | {2,5}\\.\\.\\.: | {5,8}: ', true, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/motor-demo/_static/copybutton_funcs.js b/motor-demo/_static/copybutton_funcs.js new file mode 100644 index 000000000..dbe1aaad7 --- /dev/null +++ b/motor-demo/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/motor-demo/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css b/motor-demo/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css new file mode 100644 index 000000000..eb19f698a --- /dev/null +++ b/motor-demo/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative}details.sd-dropdown .sd-summary-title{font-weight:700;padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5em}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1;transform:scale(1.1)}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:1em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem} diff --git a/motor-demo/_static/design-tabs.js b/motor-demo/_static/design-tabs.js new file mode 100644 index 000000000..36b38cf0d --- /dev/null +++ b/motor-demo/_static/design-tabs.js @@ -0,0 +1,27 @@ +var sd_labels_by_text = {}; + +function ready() { + const li = document.getElementsByClassName("sd-tab-label"); + for (const label of li) { + syncId = label.getAttribute("data-sync-id"); + if (syncId) { + label.onclick = onLabelClick; + if (!sd_labels_by_text[syncId]) { + sd_labels_by_text[syncId] = []; + } + sd_labels_by_text[syncId].push(label); + } + } +} + +function onLabelClick() { + // Activate other inputs with the same sync id. + syncId = this.getAttribute("data-sync-id"); + for (label of sd_labels_by_text[syncId]) { + if (label === this) continue; + label.previousElementSibling.checked = true; + } + window.localStorage.setItem("sphinx-design-last-tab", syncId); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/motor-demo/_static/doctools.js b/motor-demo/_static/doctools.js new file mode 100644 index 000000000..d06a71d75 --- /dev/null +++ b/motor-demo/_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/motor-demo/_static/documentation_options.js b/motor-demo/_static/documentation_options.js new file mode 100644 index 000000000..e61df8d0d --- /dev/null +++ b/motor-demo/_static/documentation_options.js @@ -0,0 +1,14 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '3.5.0b2.dev1+g794e4bfe', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: true, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/motor-demo/_static/file.png b/motor-demo/_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/motor-demo/_static/graphviz.css b/motor-demo/_static/graphviz.css new file mode 100644 index 000000000..8d81c02ed --- /dev/null +++ b/motor-demo/_static/graphviz.css @@ -0,0 +1,19 @@ +/* + * graphviz.css + * ~~~~~~~~~~~~ + * + * Sphinx stylesheet -- graphviz extension. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +img.graphviz { + border: 0; + max-width: 100%; +} + +object.graphviz { + max-width: 100%; +} diff --git a/motor-demo/_static/ibek-favicon.ico b/motor-demo/_static/ibek-favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1c42a8e09f5f0cf30186880733673a958c7373a3 GIT binary patch literal 14318 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 literal 0 HcmV?d00001 diff --git a/motor-demo/_static/ibek-logo.svg b/motor-demo/_static/ibek-logo.svg new file mode 100644 index 000000000..4adbb7dc2 --- /dev/null +++ b/motor-demo/_static/ibek-logo.svg @@ -0,0 +1,177 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/motor-demo/_static/language_data.js b/motor-demo/_static/language_data.js new file mode 100644 index 000000000..250f5665f --- /dev/null +++ b/motor-demo/_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/motor-demo/_static/minus.png b/motor-demo/_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/motor-demo/_static/plus.png b/motor-demo/_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/motor-demo/_static/pygments.css b/motor-demo/_static/pygments.css new file mode 100644 index 000000000..012e6a00a --- /dev/null +++ b/motor-demo/_static/pygments.css @@ -0,0 +1,152 @@ +html[data-theme="light"] .highlight pre { line-height: 125%; } +html[data-theme="light"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight .hll { background-color: #fae4c2 } +html[data-theme="light"] .highlight { background: #fefefe; color: #080808 } +html[data-theme="light"] .highlight .c { color: #515151 } /* Comment */ +html[data-theme="light"] .highlight .err { color: #a12236 } /* Error */ +html[data-theme="light"] .highlight .k { color: #6730c5 } /* Keyword */ +html[data-theme="light"] .highlight .l { color: #7f4707 } /* Literal */ +html[data-theme="light"] .highlight .n { color: #080808 } /* Name */ +html[data-theme="light"] .highlight .o { color: #00622f } /* Operator */ +html[data-theme="light"] .highlight .p { color: #080808 } /* Punctuation */ +html[data-theme="light"] .highlight .ch { color: #515151 } /* Comment.Hashbang */ +html[data-theme="light"] .highlight .cm { color: #515151 } /* Comment.Multiline */ +html[data-theme="light"] .highlight .cp { color: #515151 } /* Comment.Preproc */ +html[data-theme="light"] .highlight .cpf { color: #515151 } /* Comment.PreprocFile */ +html[data-theme="light"] .highlight .c1 { color: #515151 } /* Comment.Single */ +html[data-theme="light"] .highlight .cs { color: #515151 } /* Comment.Special */ +html[data-theme="light"] .highlight .gd { color: #005b82 } /* Generic.Deleted */ +html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="light"] .highlight .gh { color: #005b82 } /* Generic.Heading */ +html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="light"] .highlight .gu { color: #005b82 } /* Generic.Subheading */ +html[data-theme="light"] .highlight .kc { color: #6730c5 } /* Keyword.Constant */ +html[data-theme="light"] .highlight .kd { color: #6730c5 } /* Keyword.Declaration */ +html[data-theme="light"] .highlight .kn { color: #6730c5 } /* Keyword.Namespace */ +html[data-theme="light"] .highlight .kp { color: #6730c5 } /* Keyword.Pseudo */ +html[data-theme="light"] .highlight .kr { color: #6730c5 } /* Keyword.Reserved */ +html[data-theme="light"] .highlight .kt { color: #7f4707 } /* Keyword.Type */ +html[data-theme="light"] .highlight .ld { color: #7f4707 } /* Literal.Date */ +html[data-theme="light"] .highlight .m { color: #7f4707 } /* Literal.Number */ +html[data-theme="light"] .highlight .s { color: #00622f } /* Literal.String */ +html[data-theme="light"] .highlight .na { color: #912583 } /* Name.Attribute */ +html[data-theme="light"] .highlight .nb { color: #7f4707 } /* Name.Builtin */ +html[data-theme="light"] .highlight .nc { color: #005b82 } /* Name.Class */ +html[data-theme="light"] .highlight .no { color: #005b82 } /* Name.Constant */ +html[data-theme="light"] .highlight .nd { color: #7f4707 } /* Name.Decorator */ +html[data-theme="light"] .highlight .ni { color: #00622f } /* Name.Entity */ +html[data-theme="light"] .highlight .ne { color: #6730c5 } /* Name.Exception */ +html[data-theme="light"] .highlight .nf { color: #005b82 } /* Name.Function */ +html[data-theme="light"] .highlight .nl { color: #7f4707 } /* Name.Label */ +html[data-theme="light"] .highlight .nn { color: #080808 } /* Name.Namespace */ +html[data-theme="light"] .highlight .nx { color: #080808 } /* Name.Other */ +html[data-theme="light"] .highlight .py { color: #005b82 } /* Name.Property */ +html[data-theme="light"] .highlight .nt { color: #005b82 } /* Name.Tag */ +html[data-theme="light"] .highlight .nv { color: #a12236 } /* Name.Variable */ +html[data-theme="light"] .highlight .ow { color: #6730c5 } /* Operator.Word */ +html[data-theme="light"] .highlight .pm { color: #080808 } /* Punctuation.Marker */ +html[data-theme="light"] .highlight .w { color: #080808 } /* Text.Whitespace */ +html[data-theme="light"] .highlight .mb { color: #7f4707 } /* Literal.Number.Bin */ +html[data-theme="light"] .highlight .mf { color: #7f4707 } /* Literal.Number.Float */ +html[data-theme="light"] .highlight .mh { color: #7f4707 } /* Literal.Number.Hex */ +html[data-theme="light"] .highlight .mi { color: #7f4707 } /* Literal.Number.Integer */ +html[data-theme="light"] .highlight .mo { color: #7f4707 } /* Literal.Number.Oct */ +html[data-theme="light"] .highlight .sa { color: #00622f } /* Literal.String.Affix */ +html[data-theme="light"] .highlight .sb { color: #00622f } /* Literal.String.Backtick */ +html[data-theme="light"] .highlight .sc { color: #00622f } /* Literal.String.Char */ +html[data-theme="light"] .highlight .dl { color: #00622f } /* Literal.String.Delimiter */ +html[data-theme="light"] .highlight .sd { color: #00622f } /* Literal.String.Doc */ +html[data-theme="light"] .highlight .s2 { color: #00622f } /* Literal.String.Double */ +html[data-theme="light"] .highlight .se { color: #00622f } /* Literal.String.Escape */ +html[data-theme="light"] .highlight .sh { color: #00622f } /* Literal.String.Heredoc */ +html[data-theme="light"] .highlight .si { color: #00622f } /* Literal.String.Interpol */ +html[data-theme="light"] .highlight .sx { color: #00622f } /* Literal.String.Other */ +html[data-theme="light"] .highlight .sr { color: #a12236 } /* Literal.String.Regex */ +html[data-theme="light"] .highlight .s1 { color: #00622f } /* Literal.String.Single */ +html[data-theme="light"] .highlight .ss { color: #005b82 } /* Literal.String.Symbol */ +html[data-theme="light"] .highlight .bp { color: #7f4707 } /* Name.Builtin.Pseudo */ +html[data-theme="light"] .highlight .fm { color: #005b82 } /* Name.Function.Magic */ +html[data-theme="light"] .highlight .vc { color: #a12236 } /* Name.Variable.Class */ +html[data-theme="light"] .highlight .vg { color: #a12236 } /* Name.Variable.Global */ +html[data-theme="light"] .highlight .vi { color: #a12236 } /* Name.Variable.Instance */ +html[data-theme="light"] .highlight .vm { color: #7f4707 } /* Name.Variable.Magic */ +html[data-theme="light"] .highlight .il { color: #7f4707 } /* Literal.Number.Integer.Long */ +html[data-theme="dark"] .highlight pre { line-height: 125%; } +html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e } +html[data-theme="dark"] .highlight { background: #2b2b2b; color: #f8f8f2 } +html[data-theme="dark"] .highlight .c { color: #ffd900 } /* Comment */ +html[data-theme="dark"] .highlight .err { color: #ffa07a } /* Error */ +html[data-theme="dark"] .highlight .k { color: #dcc6e0 } /* Keyword */ +html[data-theme="dark"] .highlight .l { color: #ffd900 } /* Literal */ +html[data-theme="dark"] .highlight .n { color: #f8f8f2 } /* Name */ +html[data-theme="dark"] .highlight .o { color: #abe338 } /* Operator */ +html[data-theme="dark"] .highlight .p { color: #f8f8f2 } /* Punctuation */ +html[data-theme="dark"] .highlight .ch { color: #ffd900 } /* Comment.Hashbang */ +html[data-theme="dark"] .highlight .cm { color: #ffd900 } /* Comment.Multiline */ +html[data-theme="dark"] .highlight .cp { color: #ffd900 } /* Comment.Preproc */ +html[data-theme="dark"] .highlight .cpf { color: #ffd900 } /* Comment.PreprocFile */ +html[data-theme="dark"] .highlight .c1 { color: #ffd900 } /* Comment.Single */ +html[data-theme="dark"] .highlight .cs { color: #ffd900 } /* Comment.Special */ +html[data-theme="dark"] .highlight .gd { color: #00e0e0 } /* Generic.Deleted */ +html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="dark"] .highlight .gh { color: #00e0e0 } /* Generic.Heading */ +html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="dark"] .highlight .gu { color: #00e0e0 } /* Generic.Subheading */ +html[data-theme="dark"] .highlight .kc { color: #dcc6e0 } /* Keyword.Constant */ +html[data-theme="dark"] .highlight .kd { color: #dcc6e0 } /* Keyword.Declaration */ +html[data-theme="dark"] .highlight .kn { color: #dcc6e0 } /* Keyword.Namespace */ +html[data-theme="dark"] .highlight .kp { color: #dcc6e0 } /* Keyword.Pseudo */ +html[data-theme="dark"] .highlight .kr { color: #dcc6e0 } /* Keyword.Reserved */ +html[data-theme="dark"] .highlight .kt { color: #ffd900 } /* Keyword.Type */ +html[data-theme="dark"] .highlight .ld { color: #ffd900 } /* Literal.Date */ +html[data-theme="dark"] .highlight .m { color: #ffd900 } /* Literal.Number */ +html[data-theme="dark"] .highlight .s { color: #abe338 } /* Literal.String */ +html[data-theme="dark"] .highlight .na { color: #ffd900 } /* Name.Attribute */ +html[data-theme="dark"] .highlight .nb { color: #ffd900 } /* Name.Builtin */ +html[data-theme="dark"] .highlight .nc { color: #00e0e0 } /* Name.Class */ +html[data-theme="dark"] .highlight .no { color: #00e0e0 } /* Name.Constant */ +html[data-theme="dark"] .highlight .nd { color: #ffd900 } /* Name.Decorator */ +html[data-theme="dark"] .highlight .ni { color: #abe338 } /* Name.Entity */ +html[data-theme="dark"] .highlight .ne { color: #dcc6e0 } /* Name.Exception */ +html[data-theme="dark"] .highlight .nf { color: #00e0e0 } /* Name.Function */ +html[data-theme="dark"] .highlight .nl { color: #ffd900 } /* Name.Label */ +html[data-theme="dark"] .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +html[data-theme="dark"] .highlight .nx { color: #f8f8f2 } /* Name.Other */ +html[data-theme="dark"] .highlight .py { color: #00e0e0 } /* Name.Property */ +html[data-theme="dark"] .highlight .nt { color: #00e0e0 } /* Name.Tag */ +html[data-theme="dark"] .highlight .nv { color: #ffa07a } /* Name.Variable */ +html[data-theme="dark"] .highlight .ow { color: #dcc6e0 } /* Operator.Word */ +html[data-theme="dark"] .highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */ +html[data-theme="dark"] .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +html[data-theme="dark"] .highlight .mb { color: #ffd900 } /* Literal.Number.Bin */ +html[data-theme="dark"] .highlight .mf { color: #ffd900 } /* Literal.Number.Float */ +html[data-theme="dark"] .highlight .mh { color: #ffd900 } /* Literal.Number.Hex */ +html[data-theme="dark"] .highlight .mi { color: #ffd900 } /* Literal.Number.Integer */ +html[data-theme="dark"] .highlight .mo { color: #ffd900 } /* Literal.Number.Oct */ +html[data-theme="dark"] .highlight .sa { color: #abe338 } /* Literal.String.Affix */ +html[data-theme="dark"] .highlight .sb { color: #abe338 } /* Literal.String.Backtick */ +html[data-theme="dark"] .highlight .sc { color: #abe338 } /* Literal.String.Char */ +html[data-theme="dark"] .highlight .dl { color: #abe338 } /* Literal.String.Delimiter */ +html[data-theme="dark"] .highlight .sd { color: #abe338 } /* Literal.String.Doc */ +html[data-theme="dark"] .highlight .s2 { color: #abe338 } /* Literal.String.Double */ +html[data-theme="dark"] .highlight .se { color: #abe338 } /* Literal.String.Escape */ +html[data-theme="dark"] .highlight .sh { color: #abe338 } /* Literal.String.Heredoc */ +html[data-theme="dark"] .highlight .si { color: #abe338 } /* Literal.String.Interpol */ +html[data-theme="dark"] .highlight .sx { color: #abe338 } /* Literal.String.Other */ +html[data-theme="dark"] .highlight .sr { color: #ffa07a } /* Literal.String.Regex */ +html[data-theme="dark"] .highlight .s1 { color: #abe338 } /* Literal.String.Single */ +html[data-theme="dark"] .highlight .ss { color: #00e0e0 } /* Literal.String.Symbol */ +html[data-theme="dark"] .highlight .bp { color: #ffd900 } /* Name.Builtin.Pseudo */ +html[data-theme="dark"] .highlight .fm { color: #00e0e0 } /* Name.Function.Magic */ +html[data-theme="dark"] .highlight .vc { color: #ffa07a } /* Name.Variable.Class */ +html[data-theme="dark"] .highlight .vg { color: #ffa07a } /* Name.Variable.Global */ +html[data-theme="dark"] .highlight .vi { color: #ffa07a } /* Name.Variable.Instance */ +html[data-theme="dark"] .highlight .vm { color: #ffd900 } /* Name.Variable.Magic */ +html[data-theme="dark"] .highlight .il { color: #ffd900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/motor-demo/_static/scripts/bootstrap.js b/motor-demo/_static/scripts/bootstrap.js new file mode 100644 index 000000000..4e209b0e1 --- /dev/null +++ b/motor-demo/_static/scripts/bootstrap.js @@ -0,0 +1,3 @@ +/*! For license information please see bootstrap.js.LICENSE.txt */ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{afterMain:()=>E,afterRead:()=>v,afterWrite:()=>C,applyStyles:()=>$,arrow:()=>J,auto:()=>a,basePlacements:()=>l,beforeMain:()=>y,beforeRead:()=>_,beforeWrite:()=>A,bottom:()=>s,clippingParents:()=>d,computeStyles:()=>it,createPopper:()=>Dt,createPopperBase:()=>St,createPopperLite:()=>$t,detectOverflow:()=>_t,end:()=>h,eventListeners:()=>st,flip:()=>bt,hide:()=>wt,left:()=>r,main:()=>w,modifierPhases:()=>O,offset:()=>Et,placements:()=>g,popper:()=>f,popperGenerator:()=>Lt,popperOffsets:()=>At,preventOverflow:()=>Tt,read:()=>b,reference:()=>p,right:()=>o,start:()=>c,top:()=>n,variationPlacements:()=>m,viewport:()=>u,write:()=>T});var i={};t.r(i),t.d(i,{Alert:()=>Oe,Button:()=>ke,Carousel:()=>ri,Collapse:()=>yi,Dropdown:()=>Vi,Modal:()=>xn,Offcanvas:()=>Vn,Popover:()=>fs,ScrollSpy:()=>Ts,Tab:()=>Ks,Toast:()=>lo,Tooltip:()=>hs});var n="top",s="bottom",o="right",r="left",a="auto",l=[n,s,o,r],c="start",h="end",d="clippingParents",u="viewport",f="popper",p="reference",m=l.reduce((function(t,e){return t.concat([e+"-"+c,e+"-"+h])}),[]),g=[].concat(l,[a]).reduce((function(t,e){return t.concat([e,e+"-"+c,e+"-"+h])}),[]),_="beforeRead",b="read",v="afterRead",y="beforeMain",w="main",E="afterMain",A="beforeWrite",T="write",C="afterWrite",O=[_,b,v,y,w,E,A,T,C];function x(t){return t?(t.nodeName||"").toLowerCase():null}function k(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function L(t){return t instanceof k(t).Element||t instanceof Element}function S(t){return t instanceof k(t).HTMLElement||t instanceof HTMLElement}function D(t){return"undefined"!=typeof ShadowRoot&&(t instanceof k(t).ShadowRoot||t instanceof ShadowRoot)}const $={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];S(s)&&x(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});S(n)&&x(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function I(t){return t.split("-")[0]}var N=Math.max,P=Math.min,M=Math.round;function j(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function F(){return!/^((?!chrome|android).)*safari/i.test(j())}function H(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&S(t)&&(s=t.offsetWidth>0&&M(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&M(n.height)/t.offsetHeight||1);var r=(L(t)?k(t):window).visualViewport,a=!F()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function B(t){var e=H(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function W(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&D(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function z(t){return k(t).getComputedStyle(t)}function R(t){return["table","td","th"].indexOf(x(t))>=0}function q(t){return((L(t)?t.ownerDocument:t.document)||window.document).documentElement}function V(t){return"html"===x(t)?t:t.assignedSlot||t.parentNode||(D(t)?t.host:null)||q(t)}function Y(t){return S(t)&&"fixed"!==z(t).position?t.offsetParent:null}function K(t){for(var e=k(t),i=Y(t);i&&R(i)&&"static"===z(i).position;)i=Y(i);return i&&("html"===x(i)||"body"===x(i)&&"static"===z(i).position)?e:i||function(t){var e=/firefox/i.test(j());if(/Trident/i.test(j())&&S(t)&&"fixed"===z(t).position)return null;var i=V(t);for(D(i)&&(i=i.host);S(i)&&["html","body"].indexOf(x(i))<0;){var n=z(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Q(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function X(t,e,i){return N(t,P(e,i))}function U(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function G(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const J={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,a=t.name,c=t.options,h=i.elements.arrow,d=i.modifiersData.popperOffsets,u=I(i.placement),f=Q(u),p=[r,o].indexOf(u)>=0?"height":"width";if(h&&d){var m=function(t,e){return U("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:G(t,l))}(c.padding,i),g=B(h),_="y"===f?n:r,b="y"===f?s:o,v=i.rects.reference[p]+i.rects.reference[f]-d[f]-i.rects.popper[p],y=d[f]-i.rects.reference[f],w=K(h),E=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,A=v/2-y/2,T=m[_],C=E-g[p]-m[b],O=E/2-g[p]/2+A,x=X(T,O,C),k=f;i.modifiersData[a]=((e={})[k]=x,e.centerOffset=x-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&W(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Z(t){return t.split("-")[1]}var tt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function et(t){var e,i=t.popper,a=t.popperRect,l=t.placement,c=t.variation,d=t.offsets,u=t.position,f=t.gpuAcceleration,p=t.adaptive,m=t.roundOffsets,g=t.isFixed,_=d.x,b=void 0===_?0:_,v=d.y,y=void 0===v?0:v,w="function"==typeof m?m({x:b,y}):{x:b,y};b=w.x,y=w.y;var E=d.hasOwnProperty("x"),A=d.hasOwnProperty("y"),T=r,C=n,O=window;if(p){var x=K(i),L="clientHeight",S="clientWidth";x===k(i)&&"static"!==z(x=q(i)).position&&"absolute"===u&&(L="scrollHeight",S="scrollWidth"),(l===n||(l===r||l===o)&&c===h)&&(C=s,y-=(g&&x===O&&O.visualViewport?O.visualViewport.height:x[L])-a.height,y*=f?1:-1),l!==r&&(l!==n&&l!==s||c!==h)||(T=o,b-=(g&&x===O&&O.visualViewport?O.visualViewport.width:x[S])-a.width,b*=f?1:-1)}var D,$=Object.assign({position:u},p&&tt),I=!0===m?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:M(i*s)/s||0,y:M(n*s)/s||0}}({x:b,y},k(i)):{x:b,y};return b=I.x,y=I.y,f?Object.assign({},$,((D={})[C]=A?"0":"",D[T]=E?"0":"",D.transform=(O.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",D)):Object.assign({},$,((e={})[C]=A?y+"px":"",e[T]=E?b+"px":"",e.transform="",e))}const it={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:I(e.placement),variation:Z(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,et(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,et(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var nt={passive:!0};const st={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=k(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,nt)})),a&&l.addEventListener("resize",i.update,nt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,nt)})),a&&l.removeEventListener("resize",i.update,nt)}},data:{}};var ot={left:"right",right:"left",bottom:"top",top:"bottom"};function rt(t){return t.replace(/left|right|bottom|top/g,(function(t){return ot[t]}))}var at={start:"end",end:"start"};function lt(t){return t.replace(/start|end/g,(function(t){return at[t]}))}function ct(t){var e=k(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ht(t){return H(q(t)).left+ct(t).scrollLeft}function dt(t){var e=z(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ut(t){return["html","body","#document"].indexOf(x(t))>=0?t.ownerDocument.body:S(t)&&dt(t)?t:ut(V(t))}function ft(t,e){var i;void 0===e&&(e=[]);var n=ut(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=k(n),r=s?[o].concat(o.visualViewport||[],dt(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ft(V(r)))}function pt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function mt(t,e,i){return e===u?pt(function(t,e){var i=k(t),n=q(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=F();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+ht(t),y:l}}(t,i)):L(e)?function(t,e){var i=H(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):pt(function(t){var e,i=q(t),n=ct(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=N(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=N(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ht(t),l=-n.scrollTop;return"rtl"===z(s||i).direction&&(a+=N(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(q(t)))}function gt(t){var e,i=t.reference,a=t.element,l=t.placement,d=l?I(l):null,u=l?Z(l):null,f=i.x+i.width/2-a.width/2,p=i.y+i.height/2-a.height/2;switch(d){case n:e={x:f,y:i.y-a.height};break;case s:e={x:f,y:i.y+i.height};break;case o:e={x:i.x+i.width,y:p};break;case r:e={x:i.x-a.width,y:p};break;default:e={x:i.x,y:i.y}}var m=d?Q(d):null;if(null!=m){var g="y"===m?"height":"width";switch(u){case c:e[m]=e[m]-(i[g]/2-a[g]/2);break;case h:e[m]=e[m]+(i[g]/2-a[g]/2)}}return e}function _t(t,e){void 0===e&&(e={});var i=e,r=i.placement,a=void 0===r?t.placement:r,c=i.strategy,h=void 0===c?t.strategy:c,m=i.boundary,g=void 0===m?d:m,_=i.rootBoundary,b=void 0===_?u:_,v=i.elementContext,y=void 0===v?f:v,w=i.altBoundary,E=void 0!==w&&w,A=i.padding,T=void 0===A?0:A,C=U("number"!=typeof T?T:G(T,l)),O=y===f?p:f,k=t.rects.popper,D=t.elements[E?O:y],$=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ft(V(t)),i=["absolute","fixed"].indexOf(z(t).position)>=0&&S(t)?K(t):t;return L(i)?e.filter((function(t){return L(t)&&W(t,i)&&"body"!==x(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=mt(t,i,n);return e.top=N(s.top,e.top),e.right=P(s.right,e.right),e.bottom=P(s.bottom,e.bottom),e.left=N(s.left,e.left),e}),mt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(L(D)?D:D.contextElement||q(t.elements.popper),g,b,h),I=H(t.elements.reference),M=gt({reference:I,element:k,strategy:"absolute",placement:a}),j=pt(Object.assign({},k,M)),F=y===f?j:I,B={top:$.top-F.top+C.top,bottom:F.bottom-$.bottom+C.bottom,left:$.left-F.left+C.left,right:F.right-$.right+C.right},R=t.modifiersData.offset;if(y===f&&R){var Y=R[a];Object.keys(B).forEach((function(t){var e=[o,s].indexOf(t)>=0?1:-1,i=[n,s].indexOf(t)>=0?"y":"x";B[t]+=Y[i]*e}))}return B}const bt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,h=t.name;if(!e.modifiersData[h]._skip){for(var d=i.mainAxis,u=void 0===d||d,f=i.altAxis,p=void 0===f||f,_=i.fallbackPlacements,b=i.padding,v=i.boundary,y=i.rootBoundary,w=i.altBoundary,E=i.flipVariations,A=void 0===E||E,T=i.allowedAutoPlacements,C=e.options.placement,O=I(C),x=_||(O!==C&&A?function(t){if(I(t)===a)return[];var e=rt(t);return[lt(t),e,lt(e)]}(C):[rt(C)]),k=[C].concat(x).reduce((function(t,i){return t.concat(I(i)===a?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?g:c,d=Z(n),u=d?a?m:m.filter((function(t){return Z(t)===d})):l,f=u.filter((function(t){return h.indexOf(t)>=0}));0===f.length&&(f=u);var p=f.reduce((function(e,i){return e[i]=_t(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[I(i)],e}),{});return Object.keys(p).sort((function(t,e){return p[t]-p[e]}))}(e,{placement:i,boundary:v,rootBoundary:y,padding:b,flipVariations:A,allowedAutoPlacements:T}):i)}),[]),L=e.rects.reference,S=e.rects.popper,D=new Map,$=!0,N=k[0],P=0;P=0,B=H?"width":"height",W=_t(e,{placement:M,boundary:v,rootBoundary:y,altBoundary:w,padding:b}),z=H?F?o:r:F?s:n;L[B]>S[B]&&(z=rt(z));var R=rt(z),q=[];if(u&&q.push(W[j]<=0),p&&q.push(W[z]<=0,W[R]<=0),q.every((function(t){return t}))){N=M,$=!1;break}D.set(M,q)}if($)for(var V=function(t){var e=k.find((function(e){var i=D.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return N=e,"break"},Y=A?3:1;Y>0&&"break"!==V(Y);Y--);e.placement!==N&&(e.modifiersData[h]._skip=!0,e.placement=N,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function vt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function yt(t){return[n,o,s,r].some((function(e){return t[e]>=0}))}const wt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=_t(e,{elementContext:"reference"}),a=_t(e,{altBoundary:!0}),l=vt(r,n),c=vt(a,s,o),h=yt(l),d=yt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Et={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,s=t.name,a=i.offset,l=void 0===a?[0,0]:a,c=g.reduce((function(t,i){return t[i]=function(t,e,i){var s=I(t),a=[r,n].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},e,{placement:t})):i,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[r,o].indexOf(s)>=0?{x:h,y:c}:{x:c,y:h}}(i,e.rects,l),t}),{}),h=c[e.placement],d=h.x,u=h.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=u),e.modifiersData[s]=c}},At={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=gt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Tt={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,a=t.name,l=i.mainAxis,h=void 0===l||l,d=i.altAxis,u=void 0!==d&&d,f=i.boundary,p=i.rootBoundary,m=i.altBoundary,g=i.padding,_=i.tether,b=void 0===_||_,v=i.tetherOffset,y=void 0===v?0:v,w=_t(e,{boundary:f,rootBoundary:p,padding:g,altBoundary:m}),E=I(e.placement),A=Z(e.placement),T=!A,C=Q(E),O="x"===C?"y":"x",x=e.modifiersData.popperOffsets,k=e.rects.reference,L=e.rects.popper,S="function"==typeof y?y(Object.assign({},e.rects,{placement:e.placement})):y,D="number"==typeof S?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S),$=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,M={x:0,y:0};if(x){if(h){var j,F="y"===C?n:r,H="y"===C?s:o,W="y"===C?"height":"width",z=x[C],R=z+w[F],q=z-w[H],V=b?-L[W]/2:0,Y=A===c?k[W]:L[W],U=A===c?-L[W]:-k[W],G=e.elements.arrow,J=b&&G?B(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[F],it=tt[H],nt=X(0,k[W],J[W]),st=T?k[W]/2-V-nt-et-D.mainAxis:Y-nt-et-D.mainAxis,ot=T?-k[W]/2+V+nt+it+D.mainAxis:U+nt+it+D.mainAxis,rt=e.elements.arrow&&K(e.elements.arrow),at=rt?"y"===C?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(j=null==$?void 0:$[C])?j:0,ct=z+ot-lt,ht=X(b?P(R,z+st-lt-at):R,z,b?N(q,ct):q);x[C]=ht,M[C]=ht-z}if(u){var dt,ut="x"===C?n:r,ft="x"===C?s:o,pt=x[O],mt="y"===O?"height":"width",gt=pt+w[ut],bt=pt-w[ft],vt=-1!==[n,r].indexOf(E),yt=null!=(dt=null==$?void 0:$[O])?dt:0,wt=vt?gt:pt-k[mt]-L[mt]-yt+D.altAxis,Et=vt?pt+k[mt]+L[mt]-yt-D.altAxis:bt,At=b&&vt?function(t,e,i){var n=X(t,e,i);return n>i?i:n}(wt,pt,Et):X(b?wt:gt,pt,b?Et:bt);x[O]=At,M[O]=At-pt}e.modifiersData[a]=M}},requiresIfExists:["offset"]};function Ct(t,e,i){void 0===i&&(i=!1);var n,s,o=S(e),r=S(e)&&function(t){var e=t.getBoundingClientRect(),i=M(e.width)/t.offsetWidth||1,n=M(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=q(e),l=H(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==x(e)||dt(a))&&(c=(n=e)!==k(n)&&S(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:ct(n)),S(e)?((h=H(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=ht(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Ot(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var xt={placement:"bottom",modifiers:[],strategy:"absolute"};function kt(){for(var t=arguments.length,e=new Array(t),i=0;iIt.has(t)&&It.get(t).get(e)||null,remove(t,e){if(!It.has(t))return;const i=It.get(t);i.delete(e),0===i.size&&It.delete(t)}},Pt="transitionend",Mt=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),jt=t=>{t.dispatchEvent(new Event(Pt))},Ft=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ht=t=>Ft(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(Mt(t)):null,Bt=t=>{if(!Ft(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Wt=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),zt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?zt(t.parentNode):null},Rt=()=>{},qt=t=>{t.offsetHeight},Vt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Yt=[],Kt=()=>"rtl"===document.documentElement.dir,Qt=t=>{var e;e=()=>{const e=Vt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Yt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Yt)t()})),Yt.push(e)):e()},Xt=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,Ut=(t,e,i=!0)=>{if(!i)return void Xt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(Pt,o),Xt(t))};e.addEventListener(Pt,o),setTimeout((()=>{s||jt(e)}),n)},Gt=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Jt=/[^.]*(?=\..*)\.|.*/,Zt=/\..*/,te=/::\d+$/,ee={};let ie=1;const ne={mouseenter:"mouseover",mouseleave:"mouseout"},se=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function oe(t,e){return e&&`${e}::${ie++}`||t.uidEvent||ie++}function re(t){const e=oe(t);return t.uidEvent=e,ee[e]=ee[e]||{},ee[e]}function ae(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function le(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=ue(t);return se.has(o)||(o=t),[n,s,o]}function ce(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=le(e,i,n);if(e in ne){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=re(t),c=l[a]||(l[a]={}),h=ae(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=oe(r,e.replace(Jt,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return pe(s,{delegateTarget:r}),n.oneOff&&fe.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return pe(n,{delegateTarget:t}),i.oneOff&&fe.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function he(t,e,i,n,s){const o=ae(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function de(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&he(t,e,i,r.callable,r.delegationSelector)}function ue(t){return t=t.replace(Zt,""),ne[t]||t}const fe={on(t,e,i,n){ce(t,e,i,n,!1)},one(t,e,i,n){ce(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=le(e,i,n),a=r!==e,l=re(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))de(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(te,"");a&&!e.includes(s)||he(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;he(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=Vt();let s=null,o=!0,r=!0,a=!1;e!==ue(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=pe(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function pe(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function me(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function ge(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const _e={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${ge(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${ge(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=me(t.dataset[n])}return e},getDataAttribute:(t,e)=>me(t.getAttribute(`data-bs-${ge(e)}`))};class be{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=Ft(e)?_e.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...Ft(e)?_e.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],o=Ft(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${o}" but expected type "${s}".`)}var i}}class ve extends be{constructor(t,e){super(),(t=Ht(t))&&(this._element=t,this._config=this._getConfig(e),Nt.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Nt.remove(this._element,this.constructor.DATA_KEY),fe.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Ut(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Nt.get(Ht(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const ye=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?Mt(i.trim()):null}return e},we={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Wt(t)&&Bt(t)))},getSelectorFromElement(t){const e=ye(t);return e&&we.findOne(e)?e:null},getElementFromSelector(t){const e=ye(t);return e?we.findOne(e):null},getMultipleElementsFromSelector(t){const e=ye(t);return e?we.find(e):[]}},Ee=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;fe.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Wt(this))return;const s=we.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ae=".bs.alert",Te=`close${Ae}`,Ce=`closed${Ae}`;class Oe extends ve{static get NAME(){return"alert"}close(){if(fe.trigger(this._element,Te).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),fe.trigger(this._element,Ce),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Oe.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}Ee(Oe,"close"),Qt(Oe);const xe='[data-bs-toggle="button"]';class ke extends ve{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=ke.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}fe.on(document,"click.bs.button.data-api",xe,(t=>{t.preventDefault();const e=t.target.closest(xe);ke.getOrCreateInstance(e).toggle()})),Qt(ke);const Le=".bs.swipe",Se=`touchstart${Le}`,De=`touchmove${Le}`,$e=`touchend${Le}`,Ie=`pointerdown${Le}`,Ne=`pointerup${Le}`,Pe={endCallback:null,leftCallback:null,rightCallback:null},Me={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class je extends be{constructor(t,e){super(),this._element=t,t&&je.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Pe}static get DefaultType(){return Me}static get NAME(){return"swipe"}dispose(){fe.off(this._element,Le)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Xt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Xt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(fe.on(this._element,Ie,(t=>this._start(t))),fe.on(this._element,Ne,(t=>this._end(t))),this._element.classList.add("pointer-event")):(fe.on(this._element,Se,(t=>this._start(t))),fe.on(this._element,De,(t=>this._move(t))),fe.on(this._element,$e,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Fe=".bs.carousel",He=".data-api",Be="next",We="prev",ze="left",Re="right",qe=`slide${Fe}`,Ve=`slid${Fe}`,Ye=`keydown${Fe}`,Ke=`mouseenter${Fe}`,Qe=`mouseleave${Fe}`,Xe=`dragstart${Fe}`,Ue=`load${Fe}${He}`,Ge=`click${Fe}${He}`,Je="carousel",Ze="active",ti=".active",ei=".carousel-item",ii=ti+ei,ni={ArrowLeft:Re,ArrowRight:ze},si={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},oi={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ri extends ve{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=we.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Je&&this.cycle()}static get Default(){return si}static get DefaultType(){return oi}static get NAME(){return"carousel"}next(){this._slide(Be)}nextWhenVisible(){!document.hidden&&Bt(this._element)&&this.next()}prev(){this._slide(We)}pause(){this._isSliding&&jt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?fe.one(this._element,Ve,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void fe.one(this._element,Ve,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?Be:We;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&fe.on(this._element,Ye,(t=>this._keydown(t))),"hover"===this._config.pause&&(fe.on(this._element,Ke,(()=>this.pause())),fe.on(this._element,Qe,(()=>this._maybeEnableCycle()))),this._config.touch&&je.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of we.find(".carousel-item img",this._element))fe.on(t,Xe,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ze)),rightCallback:()=>this._slide(this._directionToOrder(Re)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new je(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ni[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=we.findOne(ti,this._indicatorsElement);e.classList.remove(Ze),e.removeAttribute("aria-current");const i=we.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Ze),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===Be,s=e||Gt(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>fe.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(qe).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),qt(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(Ze),i.classList.remove(Ze,c,l),this._isSliding=!1,r(Ve)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return we.findOne(ii,this._element)}_getItems(){return we.find(ei,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Kt()?t===ze?We:Be:t===ze?Be:We}_orderToDirection(t){return Kt()?t===We?ze:Re:t===We?Re:ze}static jQueryInterface(t){return this.each((function(){const e=ri.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}fe.on(document,Ge,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=we.getElementFromSelector(this);if(!e||!e.classList.contains(Je))return;t.preventDefault();const i=ri.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===_e.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),fe.on(window,Ue,(()=>{const t=we.find('[data-bs-ride="carousel"]');for(const e of t)ri.getOrCreateInstance(e)})),Qt(ri);const ai=".bs.collapse",li=`show${ai}`,ci=`shown${ai}`,hi=`hide${ai}`,di=`hidden${ai}`,ui=`click${ai}.data-api`,fi="show",pi="collapse",mi="collapsing",gi=`:scope .${pi} .${pi}`,_i='[data-bs-toggle="collapse"]',bi={parent:null,toggle:!0},vi={parent:"(null|element)",toggle:"boolean"};class yi extends ve{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=we.find(_i);for(const t of i){const e=we.getSelectorFromElement(t),i=we.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>yi.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(fe.trigger(this._element,li).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(pi),this._element.classList.add(mi),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(mi),this._element.classList.add(pi,fi),this._element.style[e]="",fe.trigger(this._element,ci)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(fe.trigger(this._element,hi).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,qt(this._element),this._element.classList.add(mi),this._element.classList.remove(pi,fi);for(const t of this._triggerArray){const e=we.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(mi),this._element.classList.add(pi),fe.trigger(this._element,di)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(fi)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ht(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(_i);for(const e of t){const t=we.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=we.find(gi,this._config.parent);return we.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=yi.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}fe.on(document,ui,_i,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of we.getMultipleElementsFromSelector(this))yi.getOrCreateInstance(t,{toggle:!1}).toggle()})),Qt(yi);const wi="dropdown",Ei=".bs.dropdown",Ai=".data-api",Ti="ArrowUp",Ci="ArrowDown",Oi=`hide${Ei}`,xi=`hidden${Ei}`,ki=`show${Ei}`,Li=`shown${Ei}`,Si=`click${Ei}${Ai}`,Di=`keydown${Ei}${Ai}`,$i=`keyup${Ei}${Ai}`,Ii="show",Ni='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Pi=`${Ni}.${Ii}`,Mi=".dropdown-menu",ji=Kt()?"top-end":"top-start",Fi=Kt()?"top-start":"top-end",Hi=Kt()?"bottom-end":"bottom-start",Bi=Kt()?"bottom-start":"bottom-end",Wi=Kt()?"left-start":"right-start",zi=Kt()?"right-start":"left-start",Ri={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},qi={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Vi extends ve{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=we.next(this._element,Mi)[0]||we.prev(this._element,Mi)[0]||we.findOne(Mi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Ri}static get DefaultType(){return qi}static get NAME(){return wi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Wt(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!fe.trigger(this._element,ki,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))fe.on(t,"mouseover",Rt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Ii),this._element.classList.add(Ii),fe.trigger(this._element,Li,t)}}hide(){if(Wt(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!fe.trigger(this._element,Oi,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._popper&&this._popper.destroy(),this._menu.classList.remove(Ii),this._element.classList.remove(Ii),this._element.setAttribute("aria-expanded","false"),_e.removeDataAttribute(this._menu,"popper"),fe.trigger(this._element,xi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Ft(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${wi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===e)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Ft(this._config.reference)?t=Ht(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const i=this._getPopperConfig();this._popper=Dt(t,this._menu,i)}_isShown(){return this._menu.classList.contains(Ii)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Wi;if(t.classList.contains("dropstart"))return zi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Fi:ji:e?Bi:Hi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(_e.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...Xt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=we.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Bt(t)));i.length&&Gt(i,e,t===Ci,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Vi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=we.find(Pi);for(const i of e){const e=Vi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ti,Ci].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ni)?this:we.prev(this,Ni)[0]||we.next(this,Ni)[0]||we.findOne(Ni,t.delegateTarget.parentNode),o=Vi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}fe.on(document,Di,Ni,Vi.dataApiKeydownHandler),fe.on(document,Di,Mi,Vi.dataApiKeydownHandler),fe.on(document,Si,Vi.clearMenus),fe.on(document,$i,Vi.clearMenus),fe.on(document,Si,Ni,(function(t){t.preventDefault(),Vi.getOrCreateInstance(this).toggle()})),Qt(Vi);const Yi="backdrop",Ki="show",Qi=`mousedown.bs.${Yi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ui={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Gi extends be{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Ui}static get NAME(){return Yi}show(t){if(!this._config.isVisible)return void Xt(t);this._append();const e=this._getElement();this._config.isAnimated&&qt(e),e.classList.add(Ki),this._emulateAnimation((()=>{Xt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),Xt(t)}))):Xt(t)}dispose(){this._isAppended&&(fe.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ht(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),fe.on(t,Qi,(()=>{Xt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Ut(t,this._getElement(),this._config.isAnimated)}}const Ji=".bs.focustrap",Zi=`focusin${Ji}`,tn=`keydown.tab${Ji}`,en="backward",nn={autofocus:!0,trapElement:null},sn={autofocus:"boolean",trapElement:"element"};class on extends be{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return nn}static get DefaultType(){return sn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),fe.off(document,Ji),fe.on(document,Zi,(t=>this._handleFocusin(t))),fe.on(document,tn,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,fe.off(document,Ji))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=we.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===en?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?en:"forward")}}const rn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",an=".sticky-top",ln="padding-right",cn="margin-right";class hn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,ln,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e+t)),this._setElementAttributes(an,cn,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,ln),this._resetElementAttributes(rn,ln),this._resetElementAttributes(an,cn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&_e.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=_e.getDataAttribute(t,e);null!==i?(_e.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Ft(t))e(t);else for(const i of we.find(t,this._element))e(i)}}const dn=".bs.modal",un=`hide${dn}`,fn=`hidePrevented${dn}`,pn=`hidden${dn}`,mn=`show${dn}`,gn=`shown${dn}`,_n=`resize${dn}`,bn=`click.dismiss${dn}`,vn=`mousedown.dismiss${dn}`,yn=`keydown.dismiss${dn}`,wn=`click${dn}.data-api`,En="modal-open",An="show",Tn="modal-static",Cn={backdrop:!0,focus:!0,keyboard:!0},On={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class xn extends ve{constructor(t,e){super(t,e),this._dialog=we.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new hn,this._addEventListeners()}static get Default(){return Cn}static get DefaultType(){return On}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||fe.trigger(this._element,mn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(En),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(fe.trigger(this._element,un).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){fe.off(window,dn),fe.off(this._dialog,dn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Gi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new on({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=we.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),qt(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,fe.trigger(this._element,gn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){fe.on(this._element,yn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),fe.on(window,_n,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),fe.on(this._element,vn,(t=>{fe.one(this._element,bn,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(En),this._resetAdjustments(),this._scrollBar.reset(),fe.trigger(this._element,pn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(fe.trigger(this._element,fn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Tn)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Tn),this._queueCallback((()=>{this._element.classList.remove(Tn),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Kt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Kt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=xn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}fe.on(document,wn,'[data-bs-toggle="modal"]',(function(t){const e=we.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),fe.one(e,mn,(t=>{t.defaultPrevented||fe.one(e,pn,(()=>{Bt(this)&&this.focus()}))}));const i=we.findOne(".modal.show");i&&xn.getInstance(i).hide(),xn.getOrCreateInstance(e).toggle(this)})),Ee(xn),Qt(xn);const kn=".bs.offcanvas",Ln=".data-api",Sn=`load${kn}${Ln}`,Dn="show",$n="showing",In="hiding",Nn=".offcanvas.show",Pn=`show${kn}`,Mn=`shown${kn}`,jn=`hide${kn}`,Fn=`hidePrevented${kn}`,Hn=`hidden${kn}`,Bn=`resize${kn}`,Wn=`click${kn}${Ln}`,zn=`keydown.dismiss${kn}`,Rn={backdrop:!0,keyboard:!0,scroll:!1},qn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Vn extends ve{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Rn}static get DefaultType(){return qn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||fe.trigger(this._element,Pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new hn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($n),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Dn),this._element.classList.remove($n),fe.trigger(this._element,Mn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(fe.trigger(this._element,jn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(In),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Dn,In),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new hn).reset(),fe.trigger(this._element,Hn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Gi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():fe.trigger(this._element,Fn)}:null})}_initializeFocusTrap(){return new on({trapElement:this._element})}_addEventListeners(){fe.on(this._element,zn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():fe.trigger(this._element,Fn))}))}static jQueryInterface(t){return this.each((function(){const e=Vn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}fe.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=we.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this))return;fe.one(e,Hn,(()=>{Bt(this)&&this.focus()}));const i=we.findOne(Nn);i&&i!==e&&Vn.getInstance(i).hide(),Vn.getOrCreateInstance(e).toggle(this)})),fe.on(window,Sn,(()=>{for(const t of we.find(Nn))Vn.getOrCreateInstance(t).show()})),fe.on(window,Bn,(()=>{for(const t of we.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Vn.getOrCreateInstance(t).hide()})),Ee(Vn),Qt(Vn);const Yn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Un={allowList:Yn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Gn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Jn={entry:"(string|element|function|null)",selector:"(string|element)"};class Zn extends be{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Un}static get DefaultType(){return Gn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Jn)}_setContent(t,e,i){const n=we.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?Ft(e)?this._putElementInTemplate(Ht(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return Xt(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const ts=new Set(["sanitize","allowList","sanitizeFn"]),es="fade",is="show",ns=".modal",ss="hide.bs.modal",os="hover",rs="focus",as={AUTO:"auto",TOP:"top",RIGHT:Kt()?"left":"right",BOTTOM:"bottom",LEFT:Kt()?"right":"left"},ls={allowList:Yn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},cs={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class hs extends ve{constructor(t,i){if(void 0===e)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return ls}static get DefaultType(){return cs}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),fe.off(this._element.closest(ns),ss,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=fe.trigger(this._element,this.constructor.eventName("show")),e=(zt(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),fe.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(is),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.on(t,"mouseover",Rt);this._queueCallback((()=>{fe.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!fe.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(is),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._activeTrigger.click=!1,this._activeTrigger[rs]=!1,this._activeTrigger[os]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),fe.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(es,is),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(es),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Zn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(es)}_isShown(){return this.tip&&this.tip.classList.contains(is)}_createPopper(t){const e=Xt(this._config.placement,[this,t,this._element]),i=as[e.toUpperCase()];return Dt(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return Xt(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...Xt(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)fe.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===os?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===os?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");fe.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?rs:os]=!0,e._enter()})),fe.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?rs:os]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},fe.on(this._element.closest(ns),ss,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=_e.getDataAttributes(this._element);for(const t of Object.keys(e))ts.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ht(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=hs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(hs);const ds={...hs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},us={...hs.DefaultType,content:"(null|string|element|function)"};class fs extends hs{static get Default(){return ds}static get DefaultType(){return us}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=fs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(fs);const ps=".bs.scrollspy",ms=`activate${ps}`,gs=`click${ps}`,_s=`load${ps}.data-api`,bs="active",vs="[href]",ys=".nav-link",ws=`${ys}, .nav-item > ${ys}, .list-group-item`,Es={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ts extends ve{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Es}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ht(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(fe.off(this._config.target,gs),fe.on(this._config.target,gs,vs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=we.find(vs,this._config.target);for(const e of t){if(!e.hash||Wt(e))continue;const t=we.findOne(decodeURI(e.hash),this._element);Bt(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(bs),this._activateParents(t),fe.trigger(this._element,ms,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))we.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(bs);else for(const e of we.parents(t,".nav, .list-group"))for(const t of we.prev(e,ws))t.classList.add(bs)}_clearActiveClass(t){t.classList.remove(bs);const e=we.find(`${vs}.${bs}`,t);for(const t of e)t.classList.remove(bs)}static jQueryInterface(t){return this.each((function(){const e=Ts.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}fe.on(window,_s,(()=>{for(const t of we.find('[data-bs-spy="scroll"]'))Ts.getOrCreateInstance(t)})),Qt(Ts);const Cs=".bs.tab",Os=`hide${Cs}`,xs=`hidden${Cs}`,ks=`show${Cs}`,Ls=`shown${Cs}`,Ss=`click${Cs}`,Ds=`keydown${Cs}`,$s=`load${Cs}`,Is="ArrowLeft",Ns="ArrowRight",Ps="ArrowUp",Ms="ArrowDown",js="Home",Fs="End",Hs="active",Bs="fade",Ws="show",zs=".dropdown-toggle",Rs=`:not(${zs})`,qs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Vs=`.nav-link${Rs}, .list-group-item${Rs}, [role="tab"]${Rs}, ${qs}`,Ys=`.${Hs}[data-bs-toggle="tab"], .${Hs}[data-bs-toggle="pill"], .${Hs}[data-bs-toggle="list"]`;class Ks extends ve{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),fe.on(this._element,Ds,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?fe.trigger(e,Os,{relatedTarget:t}):null;fe.trigger(t,ks,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Hs),this._activate(we.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),fe.trigger(t,Ls,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Bs)))}_deactivate(t,e){t&&(t.classList.remove(Hs),t.blur(),this._deactivate(we.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),fe.trigger(t,xs,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Bs)))}_keydown(t){if(![Is,Ns,Ps,Ms,js,Fs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!Wt(t)));let i;if([js,Fs].includes(t.key))i=e[t.key===js?0:e.length-1];else{const n=[Ns,Ms].includes(t.key);i=Gt(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return we.find(Vs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=we.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=we.findOne(t,i);s&&s.classList.toggle(n,e)};n(zs,Hs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Hs)}_getInnerElement(t){return t.matches(Vs)?t:we.findOne(Vs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}fe.on(document,Ss,qs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this)||Ks.getOrCreateInstance(this).show()})),fe.on(window,$s,(()=>{for(const t of we.find(Ys))Ks.getOrCreateInstance(t)})),Qt(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Us=`mouseout${Qs}`,Gs=`focusin${Qs}`,Js=`focusout${Qs}`,Zs=`hide${Qs}`,to=`hidden${Qs}`,eo=`show${Qs}`,io=`shown${Qs}`,no="hide",so="show",oo="showing",ro={animation:"boolean",autohide:"boolean",delay:"number"},ao={animation:!0,autohide:!0,delay:5e3};class lo extends ve{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ao}static get DefaultType(){return ro}static get NAME(){return"toast"}show(){fe.trigger(this._element,eo).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(no),qt(this._element),this._element.classList.add(so,oo),this._queueCallback((()=>{this._element.classList.remove(oo),fe.trigger(this._element,io),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(fe.trigger(this._element,Zs).defaultPrevented||(this._element.classList.add(oo),this._queueCallback((()=>{this._element.classList.add(no),this._element.classList.remove(oo,so),fe.trigger(this._element,to)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(so),super.dispose()}isShown(){return this._element.classList.contains(so)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){fe.on(this._element,Xs,(t=>this._onInteraction(t,!0))),fe.on(this._element,Us,(t=>this._onInteraction(t,!1))),fe.on(this._element,Gs,(t=>this._onInteraction(t,!0))),fe.on(this._element,Js,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=lo.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}function co(t){"loading"!=document.readyState?t():document.addEventListener("DOMContentLoaded",t)}Ee(lo),Qt(lo),co((function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new hs(t,{delay:{show:500,hide:100}})}))})),co((function(){document.getElementById("pst-back-to-top").addEventListener("click",(function(){document.body.scrollTop=0,document.documentElement.scrollTop=0}))})),co((function(){var t=document.getElementById("pst-back-to-top"),e=document.getElementsByClassName("bd-header")[0].getBoundingClientRect();window.addEventListener("scroll",(function(){this.oldScroll>this.scrollY&&this.scrollY>e.bottom?t.style.display="block":t.style.display="none",this.oldScroll=this.scrollY}))})),window.bootstrap=i})(); +//# sourceMappingURL=bootstrap.js.map \ No newline at end of file diff --git a/motor-demo/_static/scripts/bootstrap.js.LICENSE.txt b/motor-demo/_static/scripts/bootstrap.js.LICENSE.txt new file mode 100644 index 000000000..10f979d07 --- /dev/null +++ b/motor-demo/_static/scripts/bootstrap.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * Bootstrap v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ diff --git a/motor-demo/_static/scripts/bootstrap.js.map b/motor-demo/_static/scripts/bootstrap.js.map new file mode 100644 index 000000000..64e212b1e --- /dev/null +++ b/motor-demo/_static/scripts/bootstrap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/bootstrap.js","mappings":"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","sources":["webpack://pydata_sphinx_theme/webpack/bootstrap","webpack://pydata_sphinx_theme/webpack/runtime/define property getters","webpack://pydata_sphinx_theme/webpack/runtime/hasOwnProperty shorthand","webpack://pydata_sphinx_theme/webpack/runtime/make namespace object","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/enums.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/math.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/within.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/createPopper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://pydata_sphinx_theme/./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/mixin.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/bootstrap.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/*!\n * Bootstrap v5.3.2 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map();\nconst Data = {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n const instanceMap = elementMap.get(element);\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);\n return;\n }\n instanceMap.set(key, instance);\n },\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n return null;\n },\n remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n const instanceMap = elementMap.get(element);\n instanceMap.delete(key);\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000;\nconst MILLISECONDS_MULTIPLIER = 1000;\nconst TRANSITION_END = 'transitionend';\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`);\n }\n return selector;\n};\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`;\n }\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n return prefix;\n};\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0;\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element);\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\n const floatTransitionDelay = Number.parseFloat(transitionDelay);\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false;\n }\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n return typeof object.nodeType !== 'undefined';\n};\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object));\n }\n return null;\n};\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])');\n if (!closedDetails) {\n return elementIsVisible;\n }\n if (closedDetails !== element) {\n const summary = element.closest('summary');\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n if (summary === null) {\n return false;\n }\n }\n return elementIsVisible;\n};\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n if (element.classList.contains('disabled')) {\n return true;\n }\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null;\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n if (element instanceof ShadowRoot) {\n return element;\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null;\n }\n return findShadowRoot(element.parentNode);\n};\nconst noop = () => {};\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery;\n }\n return null;\n};\nconst DOMContentLoadedCallbacks = [];\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback();\n }\n });\n }\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\nconst isRTL = () => document.documentElement.dir === 'rtl';\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery();\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME;\n const JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;\n};\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n const durationPadding = 5;\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n let called = false;\n const handler = ({\n target\n }) => {\n if (target !== transitionElement) {\n return;\n }\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length;\n let index = list.indexOf(activeElement);\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\n index += shouldGetNext ? 1 : -1;\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nconst stripNameRegex = /\\..*/;\nconst stripUidRegex = /::\\d+$/;\nconst eventRegistry = {}; // Events storage\nlet uidEvent = 1;\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nconst nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;\n}\nfunction getElementEvents(element) {\n const uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n return fn.apply(element, [event]);\n };\n}\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector);\n for (let {\n target\n } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue;\n }\n hydrateObj(event, {\n delegateTarget: target\n });\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n return fn.apply(target, [event]);\n }\n }\n };\n}\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);\n}\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string';\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : handler || delegationFunction;\n let typeEvent = getTypeEvent(originalTypeEvent);\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n return [isDelegated, callable, typeEvent];\n}\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n callable = wrapFunction(callable);\n }\n const events = getElementEvents(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\n}\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\n if (!fn) {\n return;\n }\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {};\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n}\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n const $ = getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n const evt = hydrateObj(new Event(event, {\n bubbles,\n cancelable: true\n }), args);\n if (defaultPrevented) {\n evt.preventDefault();\n }\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n return evt;\n }\n};\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value;\n }\n });\n }\n }\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === Number(value).toString()) {\n return Number(value);\n }\n if (value === '' || value === 'null') {\n return null;\n }\n if (typeof value !== 'string') {\n return value;\n }\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);\n}\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\n },\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\n },\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n const attributes = {};\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n return attributes;\n },\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n static get DefaultType() {\n return {};\n }\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n return config;\n }\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.2';\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n if (!element) {\n return;\n }\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);\n }\n static get VERSION() {\n return VERSION;\n }\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target');\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href');\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n selector = hrefAttribute && hrefAttribute !== '#' ? parseSelector(hrefAttribute.trim()) : null;\n }\n return selector;\n};\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector));\n },\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n return parents;\n },\n prev(element, selector) {\n let previous = element.previousElementSibling;\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n previous = previous.previousElementSibling;\n }\n return [];\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n next = next.nextElementSibling;\n }\n return [];\n },\n focusableChildren(element) {\n const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n },\n getSelectorFromElement(element) {\n const selector = getSelector(element);\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null;\n }\n return null;\n },\n getElementFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.findOne(selector) : null;\n },\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.find(selector) : [];\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`);\n const instance = component.getOrCreateInstance(target);\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n if (closeEvent.defaultPrevented) {\n return;\n }\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n }\n\n // Private\n _destroyElement() {\n this._element.remove();\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close');\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n if (!element || !Swipe.isSupported()) {\n return;\n }\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n this._initEvents();\n }\n\n // Getters\n static get Default() {\n return Default$c;\n }\n static get DefaultType() {\n return DefaultType$c;\n }\n static get NAME() {\n return NAME$d;\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n this._handleSwipe();\n execute(this._config.endCallback);\n }\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n if (!direction) {\n return;\n }\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = 'active';\nconst CLASS_NAME_SLIDE = 'slide';\nconst CLASS_NAME_END = 'carousel-item-end';\nconst CLASS_NAME_START = 'carousel-item-start';\nconst CLASS_NAME_NEXT = 'carousel-item-next';\nconst CLASS_NAME_PREV = 'carousel-item-prev';\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n this._addEventListeners();\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$b;\n }\n static get DefaultType() {\n return DefaultType$b;\n }\n static get NAME() {\n return NAME$c;\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT);\n }\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n prev() {\n this._slide(ORDER_PREV);\n }\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n this._clearInterval();\n }\n cycle() {\n this._clearInterval();\n this._updateInterval();\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n this.cycle();\n }\n to(index) {\n const items = this._getItems();\n if (index > items.length - 1 || index < 0) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\n return;\n }\n const activeIndex = this._getItemIndex(this._getActive());\n if (activeIndex === index) {\n return;\n }\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n this._slide(order, items[index]);\n }\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause();\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n const direction = KEY_TO_DIRECTION[event.key];\n if (direction) {\n event.preventDefault();\n this._slide(this._directionToOrder(direction));\n }\n }\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n if (!element) {\n return;\n }\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n const activeElement = this._getActive();\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n if (nextElement === activeElement) {\n return;\n }\n const nextElementIndex = this._getItemIndex(nextElement);\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n const slideEvent = triggerEvent(EVENT_SLIDE);\n if (slideEvent.defaultPrevented) {\n return;\n }\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return;\n }\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n this._setActiveIndicatorElement(nextElementIndex);\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n if (isCycling) {\n this.cycle();\n }\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n if (slideIndex) {\n carousel.to(slideIndex);\n carousel._maybeEnableCycle();\n return;\n }\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n carousel._maybeEnableCycle();\n return;\n }\n carousel.prev();\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = 'show';\nconst CLASS_NAME_COLLAPSE = 'collapse';\nconst CLASS_NAME_COLLAPSING = 'collapsing';\nconst CLASS_NAME_COLLAPSED = 'collapsed';\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem);\n }\n }\n this._initializeChildren();\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\n }\n if (this._config.toggle) {\n this.toggle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$a;\n }\n static get DefaultType() {\n return DefaultType$a;\n }\n static get NAME() {\n return NAME$b;\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n show() {\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n let activeChildren = [];\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n const dimension = this._getDimension();\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\n };\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n this._queueCallback(complete, this._element, true);\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\n }\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n const dimension = this._getDimension();\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger);\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\n };\n this._element.style[dimension] = '';\n this._queueCallback(complete, this._element, true);\n }\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW$7);\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n config.parent = getElement(config.parent);\n return config;\n }\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element);\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {};\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n }\n\n // Getters\n static get Default() {\n return Default$9;\n }\n static get DefaultType() {\n return DefaultType$9;\n }\n static get NAME() {\n return NAME$a;\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n if (showEvent.defaultPrevented) {\n return;\n }\n this._createPopper();\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n this._element.focus();\n this._element.setAttribute('aria-expanded', true);\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n this._element.classList.add(CLASS_NAME_SHOW$6);\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n this._completeHide(relatedTarget);\n }\n dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n super.dispose();\n }\n update() {\n this._inNavbar = this._detectNavbar();\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n if (this._popper) {\n this._popper.destroy();\n }\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n this._element.setAttribute('aria-expanded', 'false');\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n _getConfig(config) {\n config = super._getConfig(config);\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n return config;\n }\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n let referenceElement = this._element;\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n const popperConfig = this._getPopperConfig();\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n _getPlacement() {\n const parentDropdown = this._parent;\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n };\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n if (!items.length) {\n return;\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n if (!context || context._config.autoClose === false) {\n continue;\n }\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n const relatedTarget = {\n relatedTarget: context._element\n };\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n context._completeHide(relatedTarget);\n }\n }\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n if (isInput && !isEscapeEvent) {\n return;\n }\n event.preventDefault();\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n instance._selectMenuItem(event);\n return;\n }\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n};\n\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n }\n\n // Getters\n static get Default() {\n return Default$8;\n }\n static get DefaultType() {\n return DefaultType$8;\n }\n static get NAME() {\n return NAME$9;\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._append();\n const element = this._getElement();\n if (this._config.isAnimated) {\n reflow(element);\n }\n element.classList.add(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n execute(callback);\n });\n }\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\n }\n dispose() {\n if (!this._isAppended) {\n return;\n }\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n this._element.remove();\n this._isAppended = false;\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n this._element = backdrop;\n }\n return this._element;\n }\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n _append() {\n if (this._isAppended) {\n return;\n }\n const element = this._getElement();\n this._config.rootElement.append(element);\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n};\n\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n }\n\n // Getters\n static get Default() {\n return Default$7;\n }\n static get DefaultType() {\n return DefaultType$7;\n }\n static get NAME() {\n return NAME$8;\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return;\n }\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n this._isActive = true;\n }\n deactivate() {\n if (!this._isActive) {\n return;\n }\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n }\n\n // Private\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n const elements = SelectorEngine.focusableChildren(trapElement);\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n hide() {\n const width = this.getWidth();\n this._disableOverFlow();\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n isOverflowing() {\n return this.getWidth() > 0;\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n this._element.style.overflow = 'hidden';\n }\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n this._saveInitialAttribute(element, styleProperty);\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty);\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n this._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$6;\n }\n static get DefaultType() {\n return DefaultType$6;\n }\n static get NAME() {\n return NAME$7;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._isTransitioning = true;\n this._scrollBar.hide();\n document.body.classList.add(CLASS_NAME_OPEN);\n this._adjustDialog();\n this._backdrop.show(() => this._showElement(relatedTarget));\n }\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._isShown = false;\n this._isTransitioning = true;\n this._focustrap.deactivate();\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n dispose() {\n EventHandler.off(window, EVENT_KEY$4);\n EventHandler.off(this._dialog, EVENT_KEY$4);\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n handleUpdate() {\n this._adjustDialog();\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n this._element.style.display = 'block';\n this._element.removeAttribute('aria-hidden');\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_SHOW$4);\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate();\n }\n this._isTransitioning = false;\n EventHandler.trigger(this._element, EVENT_SHOWN$4, {\n relatedTarget\n });\n };\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n return;\n }\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n _hideModal() {\n this._element.style.display = 'none';\n this._element.setAttribute('aria-hidden', true);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n this._isTransitioning = false;\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n this._resetAdjustments();\n this._scrollBar.reset();\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n if (hideEvent.defaultPrevented) {\n return;\n }\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY;\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n this._element.classList.add(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n this._element.focus();\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const scrollbarWidth = this._scrollBar.getWidth();\n const isBodyOverflowing = scrollbarWidth > 0;\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](relatedTarget);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n EventHandler.one(target, EVENT_SHOW$4, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n });\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$5;\n }\n static get DefaultType() {\n return DefaultType$5;\n }\n static get NAME() {\n return NAME$6;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._backdrop.show();\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n this._element.classList.add(CLASS_NAME_SHOW$3);\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\n };\n this._queueCallback(completeCallBack, this._element, true);\n }\n hide() {\n if (!this._isShown) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._focustrap.deactivate();\n this._element.blur();\n this._isShown = false;\n this._element.classList.add(CLASS_NAME_HIDING);\n this._backdrop.hide();\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n this._queueCallback(completeCallback, this._element, true);\n }\n dispose() {\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n this.hide();\n };\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n });\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n });\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n// js-docs-end allow-list\n\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));\n }\n return true;\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n }\n\n // Getters\n static get Default() {\n return Default$4;\n }\n static get DefaultType() {\n return DefaultType$4;\n }\n static get NAME() {\n return NAME$5;\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n hasContent() {\n return this.getContent().length > 0;\n }\n changeContent(content) {\n this._checkContent(content);\n this._config.content = {\n ...this._config.content,\n ...content\n };\n return this;\n }\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n const template = templateWrapper.children[0];\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n return template;\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n this._checkContent(config.content);\n }\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n if (!templateElement) {\n return;\n }\n content = this._resolvePossibleFunction(content);\n if (!content) {\n templateElement.remove();\n return;\n }\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n return;\n }\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n templateElement.textContent = content;\n }\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this]);\n }\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n templateElement.textContent = element.textContent;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' + '
' + '
' + '
',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n super(element, config);\n\n // Private\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null;\n\n // Protected\n this.tip = null;\n this._setListeners();\n if (!this._config.selector) {\n this._fixTitle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$3;\n }\n static get DefaultType() {\n return DefaultType$3;\n }\n static get NAME() {\n return NAME$4;\n }\n\n // Public\n enable() {\n this._isEnabled = true;\n }\n disable() {\n this._isEnabled = false;\n }\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n this._activeTrigger.click = !this._activeTrigger.click;\n if (this._isShown()) {\n this._leave();\n return;\n }\n this._enter();\n }\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n this._disposePopper();\n super.dispose();\n }\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper();\n const tip = this._getTipElement();\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n const {\n container\n } = this._config;\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n if (this._isHovered === false) {\n this._leave();\n }\n this._isHovered = false;\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n hide() {\n if (!this._isShown()) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n if (hideEvent.defaultPrevented) {\n return;\n }\n const tip = this._getTipElement();\n tip.classList.remove(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n if (!this._isHovered) {\n this._disposePopper();\n }\n this._element.removeAttribute('aria-describedby');\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n update() {\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n return this.tip;\n }\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml();\n\n // TODO: remove this check in v6\n if (!tip) {\n return null;\n }\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n return tip;\n }\n setContent(content) {\n this._newContent = content;\n if (this._isShown()) {\n this._disposePopper();\n this.show();\n }\n }\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n return this._templateFactory;\n }\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element]);\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element]);\n }\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n context._leave();\n });\n }\n }\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n _fixTitle() {\n const title = this._element.getAttribute('title');\n if (!title) {\n return;\n }\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title');\n }\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n this._isHovered = true;\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n this._isHovered = false;\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n return config;\n }\n _getDelegateConfig() {\n const config = {};\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value;\n }\n }\n config.selector = false;\n config.trigger = 'manual';\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config;\n }\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' + '
' + '

' + '
' + '
',\n trigger: 'click'\n};\nconst DefaultType$2 = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n static get DefaultType() {\n return DefaultType$2;\n }\n static get NAME() {\n return NAME$3;\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent();\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n }\n\n // Getters\n static get Default() {\n return Default$1;\n }\n static get DefaultType() {\n return DefaultType$1;\n }\n static get NAME() {\n return NAME$2;\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables();\n this._maybeEnableSmoothScroll();\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n dispose() {\n this._observer.disconnect();\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body;\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n return config;\n }\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height;\n }\n });\n }\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n this._process(targetElement(entry));\n };\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n this._clearActiveClass(targetElement(entry));\n continue;\n }\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop;\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry);\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return;\n }\n continue;\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor);\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n this._clearActiveClass(this._config.target);\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n this._activateParents(target);\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both