From 7206c2efde1aa8e7092eb5ec1b916094653148fb Mon Sep 17 00:00:00 2001 From: marcelldls Date: Wed, 10 Jul 2024 10:36:07 +0000 Subject: [PATCH] deploy: d575a619afee9ba79845f9fa8f06620b45188844 --- render-pvi-yaml/.buildinfo | 4 + .../developer/explanations/decisions.doctree | Bin 0 -> 6785 bytes ...0001-record-architecture-decisions.doctree | Bin 0 -> 7237 bytes .../0002-switched-to-pip-skeleton.doctree | Bin 0 -> 8321 bytes .../developer/explanations/entities.doctree | Bin 0 -> 133275 bytes .../developer/how-to/build-docs.doctree | Bin 0 -> 8700 bytes .../developer/how-to/contribute.doctree | Bin 0 -> 9362 bytes .../.doctrees/developer/how-to/lint.doctree | Bin 0 -> 9142 bytes .../developer/how-to/make-release.doctree | Bin 0 -> 8021 bytes .../developer/how-to/pin-requirements.doctree | Bin 0 -> 14440 bytes .../developer/how-to/run-tests.doctree | Bin 0 -> 6247 bytes .../developer/how-to/static-analysis.doctree | Bin 0 -> 5135 bytes .../developer/how-to/test-container.doctree | Bin 0 -> 7334 bytes .../developer/how-to/update-tools.doctree | Bin 0 -> 7012 bytes .../.doctrees/developer/index.doctree | Bin 0 -> 15690 bytes .../developer/reference/standards.doctree | Bin 0 -> 10748 bytes .../developer/tutorials/dev-install.doctree | Bin 0 -> 13201 bytes render-pvi-yaml/.doctrees/environment.pickle | Bin 0 -> 2719255 bytes render-pvi-yaml/.doctrees/genindex.doctree | Bin 0 -> 4661 bytes render-pvi-yaml/.doctrees/index.doctree | Bin 0 -> 32225 bytes .../user/explanations/docs-structure.doctree | Bin 0 -> 8166 bytes .../.doctrees/user/how-to/edit-yaml.doctree | Bin 0 -> 5227 bytes .../user/how-to/run-container.doctree | Bin 0 -> 6467 bytes render-pvi-yaml/.doctrees/user/index.doctree | Bin 0 -> 17405 bytes .../.doctrees/user/reference/api.doctree | Bin 0 -> 99271 bytes .../.doctrees/user/reference/naming.doctree | Bin 0 -> 12682 bytes .../user/tutorials/installation.doctree | Bin 0 -> 8769 bytes render-pvi-yaml/_modules/ibek/globals.html | 671 +++++ render-pvi-yaml/_modules/ibek/ioc.html | 679 ++++++ render-pvi-yaml/_modules/ibek/render.html | 673 +++++ render-pvi-yaml/_modules/ibek/support.html | 544 +++++ render-pvi-yaml/_modules/ibek/utils.html | 666 +++++ render-pvi-yaml/_modules/index.html | 510 ++++ .../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 + .../_sources/developer/index.rst.txt | 65 + .../developer/reference/standards.rst.txt | 63 + .../developer/tutorials/dev-install.rst.txt | 68 + render-pvi-yaml/_sources/genindex.rst.txt | 5 + render-pvi-yaml/_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 + render-pvi-yaml/_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 + .../_sphinx_design_static/design-tabs.js | 101 + .../sphinx-design.min.css | 1 + render-pvi-yaml/_static/basic.css | 925 +++++++ render-pvi-yaml/_static/check-solid.svg | 4 + render-pvi-yaml/_static/clipboard.min.js | 7 + render-pvi-yaml/_static/copy-button.svg | 5 + render-pvi-yaml/_static/copybutton.css | 94 + render-pvi-yaml/_static/copybutton.js | 248 ++ render-pvi-yaml/_static/copybutton_funcs.js | 73 + render-pvi-yaml/_static/design-tabs.js | 101 + render-pvi-yaml/_static/doctools.js | 156 ++ .../_static/documentation_options.js | 13 + render-pvi-yaml/_static/file.png | Bin 0 -> 286 bytes render-pvi-yaml/_static/graphviz.css | 19 + render-pvi-yaml/_static/ibek-favicon.ico | Bin 0 -> 14318 bytes render-pvi-yaml/_static/ibek-logo.svg | 177 ++ render-pvi-yaml/_static/language_data.js | 199 ++ render-pvi-yaml/_static/minus.png | Bin 0 -> 90 bytes render-pvi-yaml/_static/plus.png | Bin 0 -> 90 bytes render-pvi-yaml/_static/pygments.css | 152 ++ render-pvi-yaml/_static/scripts/bootstrap.js | 3 + .../_static/scripts/bootstrap.js.LICENSE.txt | 5 + .../_static/scripts/bootstrap.js.map | 1 + .../_static/scripts/pydata-sphinx-theme.js | 2 + .../scripts/pydata-sphinx-theme.js.map | 1 + render-pvi-yaml/_static/searchtools.js | 619 +++++ render-pvi-yaml/_static/sphinx-design.min.css | 1 + render-pvi-yaml/_static/sphinx_highlight.js | 154 ++ render-pvi-yaml/_static/styles/bootstrap.css | 6 + .../_static/styles/bootstrap.css.map | 1 + .../_static/styles/pydata-sphinx-theme.css | 2 + .../styles/pydata-sphinx-theme.css.map | 1 + render-pvi-yaml/_static/styles/theme.css | 2 + .../vendor/fontawesome/6.5.2/LICENSE.txt | 165 ++ .../vendor/fontawesome/6.5.2/css/all.min.css | 5 + .../vendor/fontawesome/6.5.2/js/all.min.js | 2 + .../6.5.2/js/all.min.js.LICENSE.txt | 5 + .../6.5.2/webfonts/fa-brands-400.ttf | Bin 0 -> 209128 bytes .../6.5.2/webfonts/fa-brands-400.woff2 | Bin 0 -> 117852 bytes .../6.5.2/webfonts/fa-regular-400.ttf | Bin 0 -> 67860 bytes .../6.5.2/webfonts/fa-regular-400.woff2 | Bin 0 -> 25392 bytes .../6.5.2/webfonts/fa-solid-900.ttf | Bin 0 -> 420332 bytes .../6.5.2/webfonts/fa-solid-900.woff2 | Bin 0 -> 156400 bytes .../6.5.2/webfonts/fa-v4compatibility.ttf | Bin 0 -> 10832 bytes .../6.5.2/webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4792 bytes render-pvi-yaml/_static/webpack-macros.html | 31 + .../developer/explanations/decisions.html | 610 +++++ .../0001-record-architecture-decisions.html | 637 +++++ .../0002-switched-to-pip-skeleton.html | 647 +++++ .../developer/explanations/entities.html | 2171 +++++++++++++++++ .../developer/how-to/build-docs.html | 646 +++++ .../developer/how-to/contribute.html | 638 +++++ render-pvi-yaml/developer/how-to/lint.html | 648 +++++ .../developer/how-to/make-release.html | 612 +++++ .../developer/how-to/pin-requirements.html | 673 +++++ .../developer/how-to/run-tests.html | 607 +++++ .../developer/how-to/static-analysis.html | 607 +++++ .../developer/how-to/test-container.html | 620 +++++ .../developer/how-to/update-tools.html | 611 +++++ render-pvi-yaml/developer/index.html | 681 ++++++ .../developer/reference/standards.html | 657 +++++ .../developer/tutorials/dev-install.html | 677 +++++ render-pvi-yaml/genindex.html | 698 ++++++ render-pvi-yaml/index.html | 636 +++++ render-pvi-yaml/objects.inv | Bin 0 -> 1201 bytes render-pvi-yaml/py-modindex.html | 524 ++++ render-pvi-yaml/search.html | 508 ++++ render-pvi-yaml/searchindex.js | 1 + .../user/explanations/docs-structure.html | 603 +++++ render-pvi-yaml/user/how-to/edit-yaml.html | 594 +++++ .../user/how-to/run-container.html | 613 +++++ render-pvi-yaml/user/index.html | 665 +++++ render-pvi-yaml/user/reference/api.html | 888 +++++++ render-pvi-yaml/user/reference/naming.html | 678 +++++ .../user/tutorials/installation.html | 647 +++++ switcher.json | 4 + 134 files changed, 26916 insertions(+) create mode 100644 render-pvi-yaml/.buildinfo create mode 100644 render-pvi-yaml/.doctrees/developer/explanations/decisions.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/explanations/decisions/0001-record-architecture-decisions.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/explanations/decisions/0002-switched-to-pip-skeleton.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/explanations/entities.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/build-docs.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/contribute.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/lint.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/make-release.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/pin-requirements.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/run-tests.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/static-analysis.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/test-container.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/how-to/update-tools.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/index.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/reference/standards.doctree create mode 100644 render-pvi-yaml/.doctrees/developer/tutorials/dev-install.doctree create mode 100644 render-pvi-yaml/.doctrees/environment.pickle create mode 100644 render-pvi-yaml/.doctrees/genindex.doctree create mode 100644 render-pvi-yaml/.doctrees/index.doctree create mode 100644 render-pvi-yaml/.doctrees/user/explanations/docs-structure.doctree create mode 100644 render-pvi-yaml/.doctrees/user/how-to/edit-yaml.doctree create mode 100644 render-pvi-yaml/.doctrees/user/how-to/run-container.doctree create mode 100644 render-pvi-yaml/.doctrees/user/index.doctree create mode 100644 render-pvi-yaml/.doctrees/user/reference/api.doctree create mode 100644 render-pvi-yaml/.doctrees/user/reference/naming.doctree create mode 100644 render-pvi-yaml/.doctrees/user/tutorials/installation.doctree create mode 100644 render-pvi-yaml/_modules/ibek/globals.html create mode 100644 render-pvi-yaml/_modules/ibek/ioc.html create mode 100644 render-pvi-yaml/_modules/ibek/render.html create mode 100644 render-pvi-yaml/_modules/ibek/support.html create mode 100644 render-pvi-yaml/_modules/ibek/utils.html create mode 100644 render-pvi-yaml/_modules/index.html create mode 100644 render-pvi-yaml/_sources/developer/explanations/decisions.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/explanations/decisions/0001-record-architecture-decisions.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/explanations/entities.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/build-docs.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/contribute.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/lint.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/make-release.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/pin-requirements.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/run-tests.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/static-analysis.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/test-container.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/how-to/update-tools.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/index.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/reference/standards.rst.txt create mode 100644 render-pvi-yaml/_sources/developer/tutorials/dev-install.rst.txt create mode 100644 render-pvi-yaml/_sources/genindex.rst.txt create mode 100644 render-pvi-yaml/_sources/index.rst.txt create mode 100644 render-pvi-yaml/_sources/user/explanations/docs-structure.rst.txt create mode 100644 render-pvi-yaml/_sources/user/how-to/edit-yaml.rst.txt create mode 100644 render-pvi-yaml/_sources/user/how-to/run-container.rst.txt create mode 100644 render-pvi-yaml/_sources/user/index.rst.txt create mode 100644 render-pvi-yaml/_sources/user/reference/api.rst.txt create mode 100644 render-pvi-yaml/_sources/user/reference/naming.rst.txt create mode 100644 render-pvi-yaml/_sources/user/tutorials/installation.rst.txt create mode 100644 render-pvi-yaml/_sphinx_design_static/design-tabs.js create mode 100644 render-pvi-yaml/_sphinx_design_static/sphinx-design.min.css create mode 100644 render-pvi-yaml/_static/basic.css create mode 100644 render-pvi-yaml/_static/check-solid.svg create mode 100644 render-pvi-yaml/_static/clipboard.min.js create mode 100644 render-pvi-yaml/_static/copy-button.svg create mode 100644 render-pvi-yaml/_static/copybutton.css create mode 100644 render-pvi-yaml/_static/copybutton.js create mode 100644 render-pvi-yaml/_static/copybutton_funcs.js create mode 100644 render-pvi-yaml/_static/design-tabs.js create mode 100644 render-pvi-yaml/_static/doctools.js create mode 100644 render-pvi-yaml/_static/documentation_options.js create mode 100644 render-pvi-yaml/_static/file.png create mode 100644 render-pvi-yaml/_static/graphviz.css create mode 100644 render-pvi-yaml/_static/ibek-favicon.ico create mode 100644 render-pvi-yaml/_static/ibek-logo.svg create mode 100644 render-pvi-yaml/_static/language_data.js create mode 100644 render-pvi-yaml/_static/minus.png create mode 100644 render-pvi-yaml/_static/plus.png create mode 100644 render-pvi-yaml/_static/pygments.css create mode 100644 render-pvi-yaml/_static/scripts/bootstrap.js create mode 100644 render-pvi-yaml/_static/scripts/bootstrap.js.LICENSE.txt create mode 100644 render-pvi-yaml/_static/scripts/bootstrap.js.map create mode 100644 render-pvi-yaml/_static/scripts/pydata-sphinx-theme.js create mode 100644 render-pvi-yaml/_static/scripts/pydata-sphinx-theme.js.map create mode 100644 render-pvi-yaml/_static/searchtools.js create mode 100644 render-pvi-yaml/_static/sphinx-design.min.css create mode 100644 render-pvi-yaml/_static/sphinx_highlight.js create mode 100644 render-pvi-yaml/_static/styles/bootstrap.css create mode 100644 render-pvi-yaml/_static/styles/bootstrap.css.map create mode 100644 render-pvi-yaml/_static/styles/pydata-sphinx-theme.css create mode 100644 render-pvi-yaml/_static/styles/pydata-sphinx-theme.css.map create mode 100644 render-pvi-yaml/_static/styles/theme.css create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/LICENSE.txt create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/css/all.min.css create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/js/all.min.js create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/js/all.min.js.LICENSE.txt create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.ttf create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2 create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.ttf create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2 create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.ttf create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2 create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/webfonts/fa-v4compatibility.ttf create mode 100644 render-pvi-yaml/_static/vendor/fontawesome/6.5.2/webfonts/fa-v4compatibility.woff2 create mode 100644 render-pvi-yaml/_static/webpack-macros.html create mode 100644 render-pvi-yaml/developer/explanations/decisions.html create mode 100644 render-pvi-yaml/developer/explanations/decisions/0001-record-architecture-decisions.html create mode 100644 render-pvi-yaml/developer/explanations/decisions/0002-switched-to-pip-skeleton.html create mode 100644 render-pvi-yaml/developer/explanations/entities.html create mode 100644 render-pvi-yaml/developer/how-to/build-docs.html create mode 100644 render-pvi-yaml/developer/how-to/contribute.html create mode 100644 render-pvi-yaml/developer/how-to/lint.html create mode 100644 render-pvi-yaml/developer/how-to/make-release.html create mode 100644 render-pvi-yaml/developer/how-to/pin-requirements.html create mode 100644 render-pvi-yaml/developer/how-to/run-tests.html create mode 100644 render-pvi-yaml/developer/how-to/static-analysis.html create mode 100644 render-pvi-yaml/developer/how-to/test-container.html create mode 100644 render-pvi-yaml/developer/how-to/update-tools.html create mode 100644 render-pvi-yaml/developer/index.html create mode 100644 render-pvi-yaml/developer/reference/standards.html create mode 100644 render-pvi-yaml/developer/tutorials/dev-install.html create mode 100644 render-pvi-yaml/genindex.html create mode 100644 render-pvi-yaml/index.html create mode 100644 render-pvi-yaml/objects.inv create mode 100644 render-pvi-yaml/py-modindex.html create mode 100644 render-pvi-yaml/search.html create mode 100644 render-pvi-yaml/searchindex.js create mode 100644 render-pvi-yaml/user/explanations/docs-structure.html create mode 100644 render-pvi-yaml/user/how-to/edit-yaml.html create mode 100644 render-pvi-yaml/user/how-to/run-container.html create mode 100644 render-pvi-yaml/user/index.html create mode 100644 render-pvi-yaml/user/reference/api.html create mode 100644 render-pvi-yaml/user/reference/naming.html create mode 100644 render-pvi-yaml/user/tutorials/installation.html diff --git a/render-pvi-yaml/.buildinfo b/render-pvi-yaml/.buildinfo new file mode 100644 index 000000000..d86985fe1 --- /dev/null +++ b/render-pvi-yaml/.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: 11fd24a04414264c9f142ce2b4e8337c +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/render-pvi-yaml/.doctrees/developer/explanations/decisions.doctree b/render-pvi-yaml/.doctrees/developer/explanations/decisions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..62797c120db5168ea4d633404e51b1f68b2e1940 GIT binary patch literal 6785 zcmcgx-D@1z6_+fnq}7)#$C91cPNr!R%V~C3HZ2$v45?k?U|TV+X(_3h+?~0*cchuQ z)0sPxHl@%&5@fh<9z*_u(w9P^uX!ruA%Q|64}B`+Ay8V#L!Sb9DE*!J-c=;qL9NkB zd(S=h-1Gf${oBT)t>?zlfBI+?2*=-PGu!s1&7(xm*wTtU?yKZsa{j&KH_57QhHN{M zacJ>Gj{(CHj%$b9Pwr!Lk?@t{M(v!yv?aZv^P-`z-V;t_{4}LuT*XDkbs2gFU{T!N z;FdC!G?d_m;-MEAvX?Gy%Xb~uWyYPj>pE5N9x#PK)qkxg( zW`dAMJlx_*tfv+0(}_gPiWM=Tn`WtWtfmTG|D+?N$2(!{`#kJy%W$*fbb0;@C!&tc zx40_-apmIUaY#TxL=-$t}m?e#Bohw%W$U_FCI` zvu7~FlEI+V|D9XLHj4~jD#Lc7TqU-#?I-~QIZSpxca6($fTp?C2t41OA) zv-rG#&-d{8zIZ7XFK3DquZRh8POOUaH;)Vncd6&Nkn9&SHZ0~Fva6VbKR!2@GK5mW zQBJn*E8LMwxyBnQMAOEB&l>w`WE?b+9JTf

M5W8Om~ZhmGE}GQ%6{kK+Jy@p`uS0(h(O2h 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 P4-nPRFW{fE(Dwfqwkcsy literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/explanations/decisions/0002-switched-to-pip-skeleton.doctree b/render-pvi-yaml/.doctrees/developer/explanations/decisions/0002-switched-to-pip-skeleton.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2fbe0fa61384b008d99d9539371f739addc23c1e GIT binary patch literal 8321 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 YP8qIdbBjEUsWQ3cfd@4}^J=@dW z>8{@05enj>NV}*&k-bLtm!AAWXyM*Szx=gpM6R)SjASb>S{K(654C41(?2YuV#h^%=m!9WuW~@(Z3b`P>0Zo@>~B&QaHXBJL)qf#|WEK@1F1hlLoc;d8Q8Bhi|? z2o)%Evnai6Q}XyV=zw2`*1wFu=kRwEf48B7StZ+=fSkvUMHa#)xDaW6zuVp3-tK7f zB)m?N4Z3B)@9?h@Ub&dDJc+hgP_CT-M)~2>WcDk|ASkql+n}|1T|CI0+A@6vpiXUoH;)LxQVO?i30ApK$=H_e;zkA82zHjh zSwu3M$o`@w&8CnYSH|?(6BIz>WfS}y&Bzulbvg&}I_5&}tlb zS&(mNiPT2Gf2YFlj69vPIDo3$9r&C@s#@@lv6|}rqP(=v4wjVvu)maV$yv3LJmtmX zlG#zf2>nAu?tOhug$5u%XgDCYmMUfi$;b=ilF!Qp@FvD7!uLmVnWEWF8ijr+$~`r; z?PYPftG*FlHejOMpG!jdLFHa6(8v1+p|v9fEtZEZ{!K-B+0t~aGs#~!2dQ>mrutU4&VT#TYgzl9m-gM>Laj$#%pAu@SUG)5c{-0_@k)^mDUvW*~O9Td)CJ6c+Q zXltFMm#t7ihb@egu?}Ls3-sb}nhl%;;Ez?;xpiGi>)(ptjtA$7u zK7+>^X`60T<4XRhvU2tZK?YFX(uFr`Xg2t>HagO|~QYx?MFG8n9;GQS+4zm!7F= z`2+cd%C)F^o!rUd>2|}DJpBr~0xnC#C>eacoMuUhxfh`^(MWlK^sVT1{AAQk^L|&& zPVq6P2OHq^KrLi>#c1uZ^enV5G-!vvg1o0O-XO7OMZe!b>@neWXb3HjE)`_mDS)#y z3Bgru0cqYFcwaK`9z)9lcjpjr*9hEboQ`W7pqF-pEJC*wChc>UW^G*6dxPsjrQj(t z7Nom}KvFtI@!p08N1){H6TPKj)(nYI8gIl)hOwHPD zVzAl_1o;vuRV^};2wJ2rt2C{RWJ|Td+Nvkmu3ATp4d`X+s3nt`Y#r7)-g z>+-Z2(Y;5xm@^@8#-ZhUj_PIALq#tn7O1vMIsb+i6=*t|5Gv=BLZpQ#*ZG-s*%}~& z%{;X4O1uOfx|hNmrFdD+l0>*rVn5s|<%w=7mo)?z`)*>vQuSJ75#Clr;=9zxq**|j z1Lka8%JY4Yi4(!B$z8cZz1_GNxjRU$N2rHab2M>Mmkbjh<{)@kkFbcT5tnL5*Yr}c zU-d!NT!mONmL{2SBWi<|YbWIr_oDiBPM%{sA*6`bQ<0lRb8;>~DnGz>t5ldnidc~` zZ-kK+)ZsH?iSUInWagqVnNU`bqQ4OR_Dk(N#P2JUlP=4$By&+O1QE-i0fOqI&_AOk zZ&8_3R7!buYG#VW@H0d|xvJ?l7|hpKCMTvomS>3v*j~;dB1Ckw@Kz`c6{tTT@c{29 z(Sw&yp^uwnfg3RD(_otrX0tBm{Uq*#O-LjRj6tB$u}XgGHbe4c2y&; zSWY~EAx0qrX!-rKH|1)|QnyYHh#9oGQdm2%lWXXMnfl5Y&O7N?@FdnJfV@B}6#%Ss z1sg#9v}ms)e+C{XUi%xQtVD>fH;WWo(3Ow6$Em`=9;_$v!?+I{sN%wT3KV(Kn_3o* z$abp|n}AVBg2{|}EPw}(pUs&b8ufKd+mokQ zyhYbJ)a9pW0{4X_qMxGfI9#2Ls;iuH00qku2)F2c26TDzE~4GUsJ`IAFsSwG7jt!i z`-qplTs0Z#stC&#XpR1TYxoIVe)y0c|D?x1=e_9P9loJR4&TH-rnstjtE>B(*E^5$ zs)~<;ncF%dbNO+Z8>aZ;@vOaYT-IKAlr<__4(9CrBXaiJC&<~IC%_riGY50_@ew)u z%M;}6?r}N0_o&XA3g}?|J~<+P51$}^?S?-lm+Kg$4!q^+&J_pjfI`$#K#5_MLs9jE HCcu9IGRkPC literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/how-to/contribute.doctree b/render-pvi-yaml/.doctrees/developer/how-to/contribute.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4d292471ba6e185bd2a576e7654de15db7ce7987 GIT binary patch literal 9362 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 Tqc6oXHl=`BwnTLfzU}-E(gI$h literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/how-to/pin-requirements.doctree b/render-pvi-yaml/.doctrees/developer/how-to/pin-requirements.doctree new file mode 100644 index 0000000000000000000000000000000000000000..dd863a7d2500eda77ee990d9852198bdb706b532 GIT binary patch literal 14440 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 MjI1apLbu)T0A^=FZ2$lO literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/how-to/run-tests.doctree b/render-pvi-yaml/.doctrees/developer/how-to/run-tests.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7d036c5c5905c555ad1610a414735324dd6398ff GIT binary patch literal 6247 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 UZ%A+Ci!OC-MT0|E6Wp2q2MByaI{*Lx literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/how-to/static-analysis.doctree b/render-pvi-yaml/.doctrees/developer/how-to/static-analysis.doctree new file mode 100644 index 0000000000000000000000000000000000000000..283ef09a792998d55f677ebef64a8e39fc4eebcd GIT binary patch literal 5135 zcmd5=TW=f36_#vK5+zZx9NR7GOEykYJB>*OMS(U#(U&AeT(v5Y6hZo6Y=^r;&RDxU z+nHHYDv+XnFd(6WplG&efjsmnK%N5Rt-q$frQeyokfLM72J%n?v^ZzZoH>{8T!w$? z{A1~Jcz*uHw6tIjX$3~i< zFfyA2>2ZEs(n%a#`5iwZjlPxtNm=Q4%|v2GhQAPBjz@k zwOWn}3lEUR7iDb7y0s`_#(;?Los6Z`xAnNlXNwVw4mBSWPvO=qo6uG%cEokDC2oj| z;--6VC{)Uay2vuFhf}2whjPU0|Dc>1#{3aaRE}MtrhTi1l}q}KO9tA&mRtK5iV?ig zg>h`6SuW;X`JWFfH`?Qz&wL4Y#wz2%R9fL(8V-W{Hi!g|4o%>BV?LIdq@V>7!SIpZ z7|Vnke@YcLAk`@*R`B#5gvWu96OrI!O^_=KS4)-z(wKry39h-9O_v9mvKuM0kr)KO zS49x9jN}Emt{4U^8We{Wf*OFhEA?jI z=Rm(MDy#ucyC3-dI;l$507~3<-+$&!A1glzpB6(HofOw{BTCA=-G;tXT% zkTIhKWvJ5L0FV=8dodbBDjnu#JoLK@7IZ4&Oy!nPgC08GARV76uhDaBrl**mQSCKS zO&81EQ161I)?LiYNW z(+0Y#7<20Q3NjZ+@vG*}?fE<1Mq7^J^5l$He82$QKEjhqJM+zq<|DV@n2p)?oO{kv zXHNQFuU#k z**RI>^l5R=U9p;FCc%uLvM|?bf}F4VbjK>ol5&5^Z8SVoYL^PSZ`o}}g{CPWtkd(r zZ8emt_q%n&twm$Q;IrFKGGnbWbhNm1s~@oh4Xv$YZWYZiFKl@rb`D&3!qLx}Rl39? zW|$r>|Xu?4Qf!8YvPq?Rq)cnI{mcf1XfqJ-sTQtv= zwqZhJNV$K(Z3vdM%Z}USM-pDdd{LN&39U8eqhf;Vwx>+fcmNK~Sqe%Q;fOeyMEc1L zJ`2&ARSd4ubqhQ0|EzB$zTY^z8FH+8GM|jl}B%r7<7?Z#qPw_~n(9cM@ z;YF-MG)8b;;zzkMJe)u2Arjf}kurNO;!$t`iQfs-^5D^*CA(Pn4PX zA2t;dnac>Thg=UNw_|??s=-j$G(qlmEgK<)Vk^r1b$1hhOv5%aTLZ#sBsq1L%yDMf zQP@t%7#|ZwxZg4LtIfmLWzahLM|GdovOk@FN7iN;Y`eyAY=ji@ZGb zuP*C|ss0VT#cLn@kD2iDFeI(i`Zo1Z2_?kCDE|&_HkuOQ-H? z1g^u7r%Wax-iK6lz1F++3lCUL##KQ(br*T|h~82(@lq*4?gEK2izRZyhSdn>joXD% zK$gX;5#=0j4=UyE@)>INx&j%}#_ghN#hA$7X2#Fp^hyKM8gW$L?~1R*SHg%~JQjZz zpNhYV&&9vQm*R`Ub%~4KJHB;@uTOB|0}%Oa`6zSk8t`4 zPXAqeA^u&s-h9aYy}d}%iwjmj%Zfso-SAb`&QmHr1Q-xWM=EJixLwcHXXfVH zcv#XaGH8=69@Os^asA=@%S%h=Js4;f=!5S)@SQtybn5oE>{bXTNZb1dzx*xrpz6mD zF|B_y*x!WAhwpfK58uU~1;d^;^v$OY_2c*XmPOBL*&klivWE|F;v4MRdQrQ6^t4?x zzMpT_C(mitpS~-zdM|3$TTh!c8>7!R?w`+TT=`uYw=*-2yUjK`eF5H-S(Fqp75oV` RmW`MOmAa?XD2_Mc{{Sg7q7wiB literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/how-to/test-container.doctree b/render-pvi-yaml/.doctrees/developer/how-to/test-container.doctree new file mode 100644 index 0000000000000000000000000000000000000000..fd670dd3a0f5b7ffaffbdd83354b36ea357d98aa GIT binary patch literal 7334 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 z za8Vi21>B!VjmK3hts-+ys7W#>xch_k?|h%qm-(L;;`3tWzqSONn}5*wHvfo!%5uJ7 ztZL&bM(;k(sIK6T=j@*+#_xwLgJEQ#o literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/how-to/update-tools.doctree b/render-pvi-yaml/.doctrees/developer/how-to/update-tools.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0b5ff388927e9e460015ca0e73b0565e9b480466 GIT binary patch literal 7012 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 a3miXjRkrJ?|1@g2s!GcW8r6zmRR1qTCt*nd literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/index.doctree b/render-pvi-yaml/.doctrees/developer/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3cae9a2ef4c398578b9428514d42bf0404622ad0 GIT binary patch literal 15690 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 literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/reference/standards.doctree b/render-pvi-yaml/.doctrees/developer/reference/standards.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d3f398fbdb80e254bb07e99e9f8204a4218afab5 GIT binary patch literal 10748 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 literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/developer/tutorials/dev-install.doctree b/render-pvi-yaml/.doctrees/developer/tutorials/dev-install.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2d4af6227e2f158a435673f5369925bf072bb1c3 GIT binary patch literal 13201 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 literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/environment.pickle b/render-pvi-yaml/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..2daa9336bb84c464a38e933987a445fcf36011a3 GIT binary patch literal 2719255 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 z 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

Vm{0L@EcL&_bs28w^%xC5VX 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

Oc>Zrmhr?=* z-<6`r#&ih#A6&ich4^@)tk5KwsjT=|itd@qinaJkP*%*{8e;yfD$>7@0;*fu;mV&W zQ_9t^r+~^FS2t}`adnm-?hzbH7nC{j2j*~50^QNVbfr0Ryil2@#cGkG^a3g2MjDgI zV|np3t)6!S30xD&$24V@r1#YZbP^ zSnNadQ6j%hBHZOEpfV6O5-L*(aYG8I47grG6{ck{*RYKW!H+8B-I4<2C`OIb9?X;C z+D}g#nP=iGePib9?RdO4=!Ai*##Q1T4Ekf-ai|Z}CCcmWb7H)P?kRLVl7g-Vn0tsx zplfPvhHW(kR0hLVLS;H^A4>t1!LXH3g@^5hZ8#xW-;6N^UX`LNM#EWCI!$bW_Cx!Z zWB96#1@Lr=ZX58GgesXLivt5%RXX000y-n2Xo<&HB)WgQGY;ZN)W$gYPzod%lPFG< z8%wshhN8&QR!2+Mm~-hQl+N-97DSgQH(EFe@e^J`H*9-7sk7|SYVUF^!V?`ZEc|5W zY!WRz1K&-wcphMDlV}kEv=_nBkoJ#&KUJcI3z?E=LC}dri+?A^q@Ql01)Xb&7K`Zl zU`*`mien!tY{!Wf2kr(55o??%SpkvJ;6;H2OF}EdJp*_Q%iTG%vDCok0@zQ0U&0D1 z+GapL9m;p?$rlv$;-@J_bJW<;Vvqknp*4u-A1hxnbK1(*pN1Pzj1rY-A{`?@+1RL0 zhv^tAZpVi>9pgee`wV@T&$39z;D{!tV|X}u={YlZcckSmnZ!@SxE2kk;xj)D<7yqYKpMuC zz*^Rs-1ZzI`*LBy%RFvEnX^n>5;@#-B`Wi&6ZUNwn#FQ@wF(D^p1egwcCi8NJz4DA`J`o5B&sQCn$ zQ1gG6&giF9^PTvCtttNj;tD--oEr0V4-mX#<^P&{Y4x1Y{^hcz@)(x3N-=AVm9ex| zQGYsmLm3WlQ=scQLDf$TJW34*XQJO%zLZL7@|ANHsX{pqV7{GljwQxeR*%JB@rx)w zOyIJ9{t-H3{hZIT(9d~RX8qhl6D?WGT+!pX`LbQr>B;+1S0cCnrou*QyvNIOTH zP5j~jf2+gVVfJo98=>2x#EocCLBrMN zXfO#dUxDV$CMIp5_^E!EcF~yqHF&ag$8CGE%%&!{1RZRn$wdI{jX_P5`#eTVHkuqk zCN#NybVfg2hb^6JI$L0z3Z3nXitI4a+4{Fvk#Ijf312MSuW-jsVU;=+{y-U!GITl0 z+O%rb%8aVGb^e+%9u83V%)~;Zyq6g9wYM+$l1pG@zw#xsK_XlCwKo;LLVF9)Aa<_m z(6wq4tgN~nqcc|B_$*u1&BIaeRJZ2|r+>8Ow#;)Kh^IPL+`JKJckbC35}%-TC{)x# zU0H(SVJNwVr775DwSpBW2kX-)z$T}H*;-5giwc9PGo-OX<|H&0Gu_$-3K_u~%jA&* zRGVjfh3p9(R_D&{y<(E5eDx)~dOo0cxwAgc+kxwfta_6Ur^ksgIPFFsi$IJ0TLeO^ zK6Z}VpXhKy)DwL#3hAU{#OcQyb$Vhbnd8}OZ^1p zFADgzJoq-*Ro_kll|hPygvvC#>PIP{GLX9xsxTe9N{U>3XErKWc1e+r@83+!++P65 zKTzs)wkRS#aIpBR7UNZ6l66(*#P6- zI45#j3aAW5t%S;S)ZU!}DuYogp$d=Md8BQ66iv>z6VECHeo+dbqgc7~aVvmGT5NMA zU`iaaFT?|x4B3>FemDiv%qgv@8*P@gygUU|2I@viT(wd_Wsa-xvX*&de0igSwKH)^ zVg9F6!1l9Poy6&6J&V9%rjtav#$tSH?Un4=^sW6N6rnc0wFrPcdrHI1qi8Q1-x@(C zd~2U1CZeCNZ;j41-&(-t5}u^TsR7StmEc?J*Gf3%wp*hpJLOlMDpV?NN)TLZ!hRDO zK-zYshVLrF<#Q>9OVnHucC%$~rwbH+T7kD`fyF%P)sK)9YNXIaG0xFxEMw!0AF9tU z!h2MC#6rb_iP{*ley$05tfCr-^kS(UV&{(YP*y&UNGMW7Brg~I7u8%a11KB@x*!6J zssN9CLSfJ!D+E`aU$MTG^bUz1>Ytkpa&TBM?CQuoT_&P)_QKteS)Su)7AFEndVr&t z3j5F|mL`noNc;rxJ&?4!34*5rQJL^6LKjyiT!k~o^`SYDjQmTYW}%Zje6)EbKoTMJ zzOOK)(Y$iS0~581n_(}@6(agrMwxBO5mDTmZJt$zv{8vTLL1Uw zQU9_mGnG-Dt8fen%ze0p9OdJMa)rVtoZd`NPfbu|&0(t_1*!{`)f&}MBL|t#lhAj{ z)jpn3>(lU!OqNE9lVgp%%#beiuMQFD*#fje^gX>N`Z>`=*Hq{Pca|KVet=VzMa-+} z91_#I3~-(!G^Y6Ev{6C}M>vag_8D3{!e?1TI9b`^+){X!_l?F#GmDN^mo3#&Hx4V-@zn1nxi!4eN zzsK&A!YQfURffZ3=EI?zbFT+(yyR- zOzEZ}o;Rg{%D`DHp)z$AzdZ$125vD4RoGd~C6`=1F4au)J8h5A$Go6Hz6X3mP#SQ7#~uSkR{3U7X6F}}M9Ic5Jc5zRB%xQ3$G z&Z&-Vmg?B`LoJ;*FDSIzR7MfcDiYv3y=IYD!u!hn z+tNW}p$6W~%ItJ5iqQ&$DZ1pYped@&v#uF>NpvId;K=U!1@!|gCi*|EaDkBt`a<3b z)?JoBiG!0RRL>_9Vze|-I9|fO=Eq7{(nxjp_p(7Dltg-hcd~)K3cEp0oR;sA3z-4E z{E#vvE&{%LVf;Sh8i=6v1xoiKEba$(gL;KyShy+`L`nh0qE+noH$7PbX|bOv)~!;W z=qkBd-_?+?!B!olM3r$~$6u<_4sxjNFpd<`5IJAa`B%RB#A}VdqfqlYrMnqg-`7&Z zET^UQts!3N*R@j3zZS*@-^)ErjW^*M~$iKw78_8^F`UB^C1tNhj0e$u^K<$ z`sx!;hIS#P`*G4rymfIL7L*PowWG~`?Oh6-k+;N#eO0odu52MZC>Qz(I>6a4lo}#lp!GA$?HkROYKbhd?62ZM5D^yN;xhpC^ z!BD5@c$ms5p!hwHQSM0##a=?HC%(*5oF%(%^qN?o7K*iA6Y5-|&RQujzz9IK1N+&2jBmsGj{OtS*8v?&q)yjZKP=@>Ez==4d@G81fu@!aM5nxqAz%; z_@ajjKFb0X-a=dt6+K#nd-3jjc0@1Z5W5FaxEzl}dN9=*9*kgTS86w$7lWtIvF1hI z-OiVSJdXEh9S9)i8uW542o>?Km!~LT7F->I+Ef0PBUH@l!IyXd2utg*$<`*bzO3Z? z#B(trJmY00|B=vGoXj`yeG#m&qb+hQ`<@j!s{Lgp-_>Ewl<6{A0(%HVFO2DFfV?*83%j?Deq}_IfXLpK~7(mW+Q{;lsOAAjTl& z{Z7#r(!Q^L(6 zRz}^eDF8E~g;p+KtGdw>dbBB!e=tS2jp-35j*X>OTtiWWFju=e+B-2U3*1c+-IO2> z6Sx-@4y&g?wE>2zXg+E{wpqUaL<*=37(ha0D%W3?0xAQwOF|WDLC*FN91ytP;qtk5>Q`4c1VE=rI9vjmk zP9B?!EmHyUtrXoe7Z9fF$NxPAR0iwEQwq~__V!dsmQaP)j|Z32@uWx>lnHS~3b?vl zJ1$_2W80_^-&T!C*H}#cX?vIYEG`+eE!cc*mIg)u>;*tI%zP7(pzd-sk$m)eTB1Ub ziDb;%h>7T@yLOz;WemzsunfdjL{`B+D?usfO&!Jy8Upw5aKYLy7cE$vbLl0%2vjVj~ojuhi7Y6wVd`ZXQDO~@0G zDuK+Q10z1TWOJWff( zv`ZYS(TX*_sG@{aWKP|%rje37Zrw%8gojn9XP0d$0BR=a8SUhc<%*s zaDn|R?&VPwPVW&2N7;+>14At@o{h}&QNdLQo^qhkz40|JnO+Mn7GhpUyR%Kfn}1OMM45;AP+? z==^%UsCR95w}Vr+j%!rQQ&Y6FPVK0L?c?gr=_z*#9JF@r-@W62wez;V(V5_cNVY?< zHaUv9(~|F7&C=vl1NazIY)hOdHz#mov;hNSnvx?e-qxVO4_C@u#eq^O zg$Xjl28cTKK3hAX4AF%|dyk0f)D|br6Ld;%&hM3&6|6U3fx2hK{mX zE`*?8LhDLhm&gZRkJKyFZZPtl7iK#>DKK~%Y3E7B4~c#To599`Vrxg_4~J5QQG}ig zE+D^X0Q=mQs#_nxAzwOPs?Q*sc>3tk^21wKt>R(~l!GLv5WN<|;vnjjiAK4juyRge zijG*hn;HzO_0RR5c#)O1ws%bspAg~F49oqtMP7#gXgJ)n(0$Z>M5bkUmlbO5)Y0cn zd~t%uzz=>anulD_;^}R|clV}%%D~Mpp)&Q(A4vg~fyynR3e(e#>$}4*IY{I_tq{4M z0`REWB{pc+T^0Z-KEYxQ0lmjB)={f z3Xr=SnG9}HPEJRo@h_NfGMFF)QhPfZmxWXychE(QNqW+~EypBZQpV&rQV`8xOn!}V zYnw)Cf0zO)gD9%#_7$OaYYvi%F=$EOyqaRVv2lf`YA0Dd6gor39>*vQ)ap zVnXf_W|4g}NeIuM_ze`}3HrRdn#T^Mpup)cj~(QJ5I2uSL8xU;_~o72<9v1bD%#8tGq!WU`IZ_$o2IJtTL}dR{3)tXVX*(j7FWo-y4NZ-r9RMSs2YG z+EkU`-jPiBG^I>&Z60-oVD46RrRN#BT4Z zQxD0BnX0_gT6(2IwYVqa^L~Wp`uGS*(<`?>Ga+ zz~uifnokjlnY$kn$}li(;OUi6nR+=G)BQaRVg^hkj!*K9mT7Wq*rCX{-;W52l4Cx|0KT>~>Ma z@}61ek!)fDcQ9WVCo+zt=&r$7mQZOCuE#tHzXU0Z&fLdTm*Qj!s0`#@N?bjf0xEM{ zB{OV9b@x*#z=|4?u~JQ26xzPJdq-g`L58j*knjF$FD_=;{r9|h6||ijFrqJ>GNPgD z(~yZ-x&hx#?8I)scjL@=14e4Jt~>DZ_|8VT1p{(i7=523!R{$K32s5nS!D}VoLvr~ zY)Pa@ikwJVH$W~4o3|Kq^CCGdvJd_Oc#UWyNKS^N$J`p|GI0`52seW&vu5+d$_(}A z8I5<%{qtFWb`?~4zw)Jcts_dBXm-6yVqw<@_#igjy;HmX^8_s0^?yTWY}fNywsyUT zq~6)}!>)Bno7{D3*sn@3?1SxeY}prkWZ5ggq%iGwg+xuTy)10|6;aq%hko=U${_t$ zW$1L|qwU7J|Bn7SXZ8qq`kVI)pC6oGIwFTj0l#@@K81OIQ3|LG)LaRbsd;~G3aAX! zTnSYV%=--~0FRowVin<8NVFVgPKq<64LnW)&6>8D;EDGwayfVV=KY*RsG@M_Hx^^w zM@TIDXC%dXYu+E3bsovaynl!(U~JwuQ*_s0EK8_N&HJBE0hNK=ONpyrO#ziTu8ht5 z-%J5k)QF6gYP~Y=1sS@MK)!k3UR=zwd4E}g8rsgjkLXOieg97oidowCA0mEY`~KrN z^X>a+rPej@T~V|&wB38j?B?+yaQ+HpL1rPz^A{L;0hg2 z-n^WFNp>lkPvIrFF$Gix+OmYo)Jw1_1ylywvV^J!UV=R-05{U7XTeKw2Xj(pEZLQg z?t2L?OoS>5hi$zC5t7SZK?LlrmtcCjw0hNK= zONp!BNdc8Pu8h3|?@R$!)QFsQFM%LKR}#qg60{c=v+O0frUNy#owp#OQ=V3$;q51| zhO+b)e3AHyy#@b(Gv8Z~tn9j8gX=ozepG%yK*S5%^k*U4wDZ!cGeUu9??J#yK%paH zV!0~?dhJGd2H{Xlk8frqC^Ub&N4`V&+J5dMS!mvrqxqaJow7PuY*z1Y(-^%D*ENwI`YyQ_@p z%ZO!X&z*3w{yAq>C?DxTsLn1WUApMIem>6!#ABshoLUwrPZ~C8&9?Cx)-ms?0vT9? zc{HEGL2+ves00+a(=T*iR5PKEr07L=dcDz(FCFFi zJ`}@NZFYTWrs%o>TS=&rsp2j=QN-=frvS`|CbQr{ild1qs>HlA_pr*2Po?O(F-

hIAs>*tT>u@qBVNXx;{nM&1s?u$pKZ4&mB;Q?z&ll%2Y_+mI5jRAt@=C%)k1Y z%>5~#>W+D{3CGCpni63wMR(1KpfPNlHJSAkP?--SQ(Qff0xEM{B{OWqn#@5vR@@YqW6;jbRI%0Rhec(8b*sY+m&(MeYEZc~khos&`?A#3CV3n#7=~ZeQzDvjej%=^vSYD43 zM5BR95!gGV3XsTl`~8s2OPVuN7{__n&8`RR+Q;bJq=(3Fsp25{QDuDRiG61;dUu2V zxn3m$$Kc7+WmfG}iy#k}kjuk&*e^Q^akyPN4!x;1gE-uFG@l|4cOV5+21>Yu%G5$D zq=3r6LX%L1{jOQZ;TkD=VWcT*2A%6^bp=+dYfoz}hOOFoT7M};*A3W8LX~V{NBT5h zlL9a!nrPO`GR~F3`m?-<@br!*ZG4))m!j*&G|`L(^EjLsopB9C5koW7{QUB*%)fE+ zHMy}Edplw>w6_p$y*Vn=Lj9jeLAI!V&9=S$S6yIU8V0_--5%$&Y;T8>bfdMFHd~lR zbjs5RH1@w1=*-gi{ywo48{hwdGvD}5Rzh7%Jd~sx+5IT9JTOj#`M8R}@Dy1SvwXWW z%c(v*74%0Du23y6XokGj_h_viX|Q|RAlDPjpgl!JKl}b*&pKMK7g<45Gr_MXlnGfQ za5zW#QkN#UN)Ta!2dLJy3I03+mQC=>=!{KpKFihw_mI>(6a417*yBQ3*WR%Wz9v3} zHoC!%jqplu5^7_hN@0b+AY_FHt8w}GGqLO1o8ea^5=)f?ZJwo3{+hXS=FXvi9&h!F zLAYKSgdGj{ZkFc`>7R3+0m4US*FI}Z^1F2;dJ}M*%4iTcx)aT(Fv(w-0xAPNT|#AQ zl24?7%D^O-Q1#j*eV6! z#w347imn^eL^CDKO>!|h;~I)0MuJJclleDJz9u&oW0FVAhV~A^ZEsBS&!!+-RKI51 zB>!X=nAc45_Bfwqll@R^Qvuk&@n-O`ao! z1#R*L%9pyd$yIU)n>;|Xu5I$G30SttSJD~VGRkOXbR}^`$ zMH!_X$%Af;_Ko`IoM(;~p53;GF8rbglp!pQGdm#l>1`54|%G7qRrGU!7 zc9&4~+ID|wie4CL-Lqi3KOVzYZEW|~r0BW!AYBW$BLYO`_*{HSxim_S$7Mt zD)N0N7(Z*-7HrcM~-;bb#t-Of_*2U?Q8}{te)=kUsD$>-$hSmHy|4TM0ERh zG@NSG-43ut6FYR+Y#(zs0&~m3kx`hlFF+%N&kF?(6xyl8au&!Wq}E|PKW7IBfBs}` zY`Rjq*$N=dIZs^71+GmD?rXLRlG@v1VRm+PPMzC8jSD>4?UF+}(*?B;TQ%f=ihAl#{0rzoAn93~s7+fd>=@ z25_UW@FTrv;j^Q}NiQVc~NH@AV+SD1=zB)!w z_uJR2cboW$uG%(WZ5b;yiX)Bk_()@_P%Le>yhp56 z+qQXrf_^a@O8rBj=^GPhYFv8zcM=+llW_*_Jc89sgVP)a_W-Ga#a^q!>g>s6#*)n9 zDTVexh?1;fG7r{5_jDEhnWxvV2B{h%h=r?N~0frD` z>M457)2bo1e;dyRRJMSMA6DizZMTSlNOu#`n8Wa6W2CmZYD7pCkm{Q&F@=olq8)`z z|3&GFD%RsfS%MAescSuvF#`MFRzU9Aq`A6LYK|N&S4yr{CqmXjXt5CR1J+lDr_j9e za^!@nc7rkRydXot90I{JFFK#A`?;5DJN<+alv185G$$(M(foe=4NT@?X}LtjgCaFU z_Y}6g;03`E))8BF6Bk~lf3D}Wh>ZST5P@EA;OBNKQpV{M4-*O8XY@Li^XMV>wvZj- zl7jCWbOd;^I8F>01aq%P^BAaF^{O^CDL1Bo${@lcp)w8T-kt&~1MN>j6%OXk3zFGR zjueV#6#^eh0d$m{?>y>qZcs!duDPXI*jWhI2+xQ@caW3tr!IyZIG@b_gUmvi@uH?+ zB>0dt{n20Dx-t=}Cj%MFTU%%$VTTBfHeR#jF zd?}Sf*$-Q&Bw?`Ck)yGm81yo1an59^IZ+#nk6Zj90n1^WKcX`Zq&7 zTgqtqxWeNdjizpN*^la$a{`#*epfb>3B~+&R>(5d^WuU)GsKWYdS0yjcdtq?0?Pv%^PDq_=uWd_S zcBHf}0o?JEnt=f&kQy_8MRwKKGvzGoE3IEr zq6?k~(GdSZ^esc3bqDb`>#Tcl=IN~Jq~fZqEA+laX{-VC3yt-|%D7MPT0RRk)&m&{ z2u)-Ckk7;di~E%?#SiYNVI*7kHCB}*LSqfkEj9?$sm5v(u&l8jqchf6`7B$F)k9M6 zG}ddzp|K+G4bk-kKkOx%vMOKeSWi8WrJm}3JcWvSr5NOHuaA{xgmP--wvm$RDn$C0 zbPK$X1`~w5tBTh2GKH5rnpV5fOkb*h&gmV#BbCyHE+Sn7+F_kkdqP)9&qgEO`>c`j z6$Q0#(EIAmCUG;bfj;mXXg-BP`qmUs87QO@DpQ5@Jt?3vP)H?InJT0oO967!j4;~@ z=|`AvGGjnZFG}Y{Z6!h#g*RWjjq##J$Qt`eBATa=W?Ccg2hUP|_+A&7m)eY9Bd|Tr zXV-JRM43a|>HiVXdlFmY^GAWV4E6u#J?QHHD{Pr;P zG|~Dmy90h|q(ernHc+R(#3z+$@doOs=QZz0SoZhyh`~}mwLL2M4_h# zFx|DDzMX(&J^eO1V?CYEvenZ)B=t^DzX~qWWF38lrlaGPj`j0d4FjNs0@^M36-hx{wpb31@Vy(FjoqFEvuk57@^s;L_H_j0o>HZ8>Am2p4DIV3#6cpyhBME;W-Z&b ztrvSeiL$E$Y%c8T`xKdFVpr#j^%AZA!xnbDe9&LQPip~c({;-ZF56URN7I)TIeQ?Z zfuvdA2Yn$Rqh!jL%(!2+?nlW~R151nK##7iZ<~M>Q8GGX>-!j;WovzVNa~^Wjmgc_ z`lk6XYN>P7`h-j^K>BbB>su^4%TrH%BN3^Qh3QIj>#9`-RyPBnSlx6*88I(Y__*g* z_e=H9WovbNIFGctS41Jyl|TKOil0@eOz*TeF=U`r{RWy(VQs%P1ylygy@bkCxqnXz zs0@^Q36-YY2O`exv^RQG8A2aR0kV;DuT?0^CU@&2%r}`apr+!av$k6dl{OUnd;#c> z*Dx6u$cNk~guU%uRjBqaDX3;(aeqs6V{K?f)7-5pZ1}A}^^+7(-GXlvl7a}sctB_^ z5~`avs_U%ITD3|Ai!LZ|^&LhNh8D`tV&QTwXiQH{)#}ZW#$=)1eDQRxS!%RS3B73I z{XtkW<*Iaz#n_4wQT%2l`}CQ&S_R!_DdFW2I?fmb`WBp=8!jvE9Zg++Npczyz{_^W{i#GZzmsiu~- z)mk%v6NxDI+7LZcn-V`Cv-Z`hB|J%g*cQc$uJ)iueiwVK)x4Zep_VCkl(G0~WrXzH zCVi#;Ij6VOi?mH|_m&fNMG~JB;n;C@i;;d;$Cx*JWnfRd8O^6KXy26rDg%R7LS<^u zekcW01_rH!Dr^aLwHWF1DL^(-F?(dtewz6vGX~W3uyh9PZ!uJwLA#W5c0woL2WQJ91RAggvxYKUX%hVgFz{w3RCjz zz)acB%S4YV3%KKzTyq9A zCG~A7@McbGQ$NrC6i^xXc~TCG7o~v899LoQ(_ByZ3E_s{3g=f+K-H!1N#L)y6TtbN zX6#M^L#~k5SL7`69(JD*xC&fXaQ3nkI5QZFFGceyG_)sEKxHr)NT^ID#G6t;Wx(|k zs!S(?ccuXObeIg@&U}-BhL)1lpGbi>b5fg5247AAmBD0?5?9|$0hKwfw8_8|f^sq# zQYV9dO954vlYzirZzqF`V;n55wAW{ZdGv;RTi{AuQs#l>Bj)P2!8~v-noltgT$utY zgLyzgWjYTGq=3qR;U!ezd7uwkwk4cuE;aj&je~6|KtCPkgUy0}OeuA5itZXvNO+L)>g& zE;~(m|EUy+GoYuGQl=`*n^Qn#pu(h-=zo*~DsxwQHPbZ~lTi^7h_U}4@@mFrRCMK0`}-6Wh(c0q*1hiL&cvhkWxyTp zQHz35Bcs2hy*FDq{Sgw%?Dt*X^_%B?7Hsns!T1v8CJlIqB{z$QQ* z5DjZ|hJIP4LUF=smQkyp zuY3ted|;lM0Vh`-U?(N3S~}q&tBeh-n$}pY)Uc|xrZoe6mL4uQym+@z1WjL7kZ_Fx zT1Ua|q+CC5e*)V_g4~NIj0A0PB*eG0#1oY*MdC?-ce_qJ*-U8R#FLxp>@&1i1)pV` zc;X?ccZnw}#Xj@NIVTruIVa++j?+!<%`)9Yemg~`$u1$jWtZi~9!k-G0n6QHY(#8= z6j(sV=_G+vY(1Ui92c~pTyifeU=b9zRT$o!Etrr36cyT0z>T(7CX zqF3DowIFii7VoM;j*5;SZS{!1T}DeyiasZbFsDAFXiJYpfVV*5-QX2`lS?58H`s6Ri@+hpHqN*8jaU)F#BXM zUIlJ59k1yci*boWs1r|kKFJ2RI^ zdz{a%OXS?3PTkHM5&^uYXK9?d2b`3lH)IQO4|_v);>`1gxazs<2w58JPm~WNz~I7s z-$xwpv1Nh}M6>I6-CL@T!Rt{7?K&)WIHuibWQhW~)3H?>wM#{Eknp0ENCh{eHkIl2 z?u-VW<_g*C3k!kE-O88D294$gPzfWv00HWC?FA?ju7`{Efw=gw@jXfWP5T`{8 zbs5M$%!d3}x!CmX1hy~^Z=u-dqej(FgEy4X^0>mo9r?_roO{aX{P=aEN$bYtUszX0^>dRuCVpbrYnjN{dx*I z8d&&W6+JSw@PCj3DuZDvp)wt&XN?9G(2gb?+hCYVsKQjdq&?x2^KKT%22{eYNYR<@ z2Jli@jL-$AYkO}wx)3!7Jg74L+y~X3_owK&0dq;Hl4-&#^OS+OAq7-M^yrb%9Y=(L z5D^AcBHWdtyXHhN9pQ&kKxHt(Q?ka<6i}T;tYJ!oM^bdxoCw;K)F!XZO1r4Jx*16Yv9s|*}8uSGKoW&HwL(hoNMh!Z@Xl_!N6Tx%_wo*W4Fsr0wjeH8IPG{C=GpF2^ zqPxbdkxqKc2!NkI++J?aZm?{5*p1yTU>4B<&s(YCsEHXV!+_Z+5t;*LHqN|&SJtzrL$HDsUE=e?gcd9m zE*2Osh>e(tB1dRN(-9<8B8*A*%gsiqauknMD%NPpnr@WFtOBJpyF?RPmLO77vyL2j zbmjh)o4JbD<42BA%6I9-(`C>T71FGx|G>&eAGP*dk3YT=Pk99G7s~KeZ2(l&td}bN zRh?+zOaxDS*bO#ht-nO!&8-VvD`%66}okzP_MR5Itx*PrC2F68ZG-{ zhafik+~267dbp)jXkoEJ_eIGTx^I6M9drb?B;S7uS48ag3Bnj_+%jjJXa>&YJzzJa z<1_;%2oc#?7UEKm8yKF&0S;C_@(y#tcSi3ZI?mU}j0!~}zlXcJ!tH8sys7~ zpnmRyv(f3fdG(`7ebi>pgwRM>0^1rVYSMDuU5Z4Q7<9$KrkESZCRgt`eftab!ej}{ zVlbA1!X$V@nQ^|7Et0naAR$Tq7d3nhR;2{2UK)A(RFM5%zI9=A_xtU)$K288m-TX< zwsJXZhnTWS@?++%7mx$v&KlnK9b%q$G1YG$R$+6z%x?vk-c<#W|B)>sAMz0SZ)n(+ zSo5u~KJlcbaxC5VbBRK;5X+St3~-_JDXHnSgW-H)i63yEVy3Jl$@Mm{g5a-z6=><0 zHwH=T179FyL#oDPp;)gGbBLW=Jl4P!p_0aP1xFqgj?iO~*N(*#B}KP=Zm`gB5;xHO zWNzs17y}9~BsJU>FI>SrN`aIxFQkCt_dIs`m$V$Y*BhuL@nRFil9+m<*Tk37Lb29s zLY-DragYK-Pv7PaIMwtDi}ty(J@0qUnwo*pifL)0Hr9$(L?`y!)) zS*EFR@uqP5$=t`qQ&3Ywqs)FUU2~ngF_@OPm@l;5SX4}Vs5tJSg3q!*#SVg#CT0&6 z_Hy7lkeTJr$rs?U$6NjOh4>3iI{`(`0+?C#GHdMp_T^~MSzDMYH;NOb$wHoNfJXj4 zWUd}9S4(3D@zd&OBv4|ipCGup<@Ec%@`(*Z<_>b_yu@0;q+i@F2}8+{SI2a<-@abG z<6M#abvXg_+xtWB4L`W$8nF;?758w}wgGF)SgBDQX_UuD8dHTLHXZgJu~u!{=6TPg z6)M?75x>7ejG%VRr=O`)^w$#_ixb2KPEmq2RvbhMLM=3N50EP6`B&($+8#ystN}>} zLIhYICY(E!3#(7RtswgM_3wFzj=@d8y^+A(ghTX@*1C72LHEMhrAw4yr1mXzPwCiu z({$`E0(4L39oyP@$21Z7asb$^FVa~SB7Vz$JwR$Zn8|0^Z+`+1IE%a%TF!hHTrDSr zS1gx*6Ls|e!}HS6^9vpXm{V}@Nd@s>*x$yxk>WP&FS}>E)qq%q$gD^w85cW1C4<_D zhBXE|uh=ZtD6=0W5L`dn1UzK4wtut)$K@2fD&#by1psinC|Yagtt;&IH%hP72`6S8 zMT!Q^koNIAEb#kTqJx^gbXE>j?Ms}79leOxYb$5AuqG=t#9+osMO*ETRn+FF^oH&sm6A$DI#r*U! zk8xCmz*!-m%2lYDT!WkWzwEsUn55TP9;$6L(rC9o}47%x4&%(SOB z^)jO|SCp!&|L(3*byd5TnQ7YsnM>^HJcVtbO>i)m8!o;OAa-J6Lc)@m03l(G6Jx*$ z0ULtBHw2Qv0}sZ&?|07s{b&8_RQ-R|NSNq(^w)GP?|Z)GeCIp+K3C${p2@dH#J4b5 zOJw-gohTUEzPsg1123IBQcDn9s)cXKEbDdB`o0$bQ}~ic@CQinwQ8~Stdz6~Q8&x2 zt@hejslI(=r@3)Ne3~Zh0r{ydUh=j_p1Vk%R31mB*Y_>ceI!$(y|JN0T8mo6F?wsP z(LAzVFEx*(33LU0%P|+f>k;Q=ERKi65$5r}g?Tv%v%QPqUG_x!W3*bVZI0C&o9S}U z*IYT`cRh048oQYV?}+e3-y#Sf+i66j@Tl!_OIby|C!8(KB!|@Z9D&TwJYwC>=20M$ z%n|GjA;Ii0_h6+ghUO_dA8ohF)h2p!Mt`7lNM-JJ<(B+g7bNSSQ$lX$vMOSoe3ctx zJ6902qYr-9(1c0#3tg!Wd8jT&^Y1XlZ+0R2xvoT)_17wOu8d=(RLg+_vKMv`uO~05 zTqR!Gu}!~nIh1)d-kPr*63xbtKTlp-c>`YN zZhWBflX!E!@-K+vC+KmMzWGLa{7do4Ptlt{O^>gmA6~WfNZ^4^;l~3WHdzH81-xn%BBmVtk^x;3F$B&D@|2du)D*syi`_N@50UEDye1E=j z3{NzXlX!V2a7IBlLKL9;0})EAt1Wdr|@R1o@sI z-V>yIf)Mh9XHO9A36cwf;DP|ZAb>9j&a+vXTrF=~7h}7>-6|f^mx~C zJf5e=pPazs&*{;e!Q(tV{*Xp+|2sWIjeM3W=(o|MS9Q>rGpgfwPwJ5KB7TkVoQWL& zlx{6V(3SEr66Z(had;k&hv@O?1w4L(9)GZi$A6>8m!HJrvL!rjTE^pcdfc~)$HVk^ z)hRq4rN?8Z@pytBB6NwK0A(pXtBk&!QDsv-sZ1nFevQc-DjqQQWn+i~`y|YV>2dWL zJZ_-J&(Px+=<%+%ia1L0B<+|N$0*QhuZmb7Mq@1% zF|;OP{r{vtMXbMs;<||S*U`U3tbZB(i(-A{0X*83Cl83$Xj#6j;ss6AY58(SzI?rW zd0M^{5Di3;>$uJh;#j4d~+ z<=V3&tzv`Di@Z1PqZ+->dugo$jgnv$N(AREMeDo}K-%J?(IuBO*Rl>&h_L>Bfao*t zJ5Y_zM%De3mv*iY%VsL?gBDaaNd4N*6%a1kKl!@2dD_M|;3^r_^(t3gqLUlc&%eyC zpPwA6eqKKi{XFdIhx*Jx_55aj_5Au!)${nU)I(kBpnCpie)asxP}TFqK-BYy>piMx z9#qnG8@WT!AwUc-1iisfQdIdL2dK;PKk-By|10TJJ8 zY7EtSi5e?{A&N#FoorblyVSPXK^E2Y)(>}aqXAaYf6#>{R~4o5a}|ASZnYb}+D$bB z^3|Jr^wl?5{>2W3bXd4ilbVTA5q}|!lV2fv3#ZlM_Tb{}PYuhM|6DWX!+pqTn2kWv zdMpDn+wDD??TTn@GqHedM&w&Yfj`rwz!~a>FDAY;rNH-IXSTtm@yQ89z$5a-ZSfB6 zU}L}$dU!s=-kP)J=JE38)DiVh_j_i$eo+{ux}^@j0B!d-a;cUlR=)Cj%+hT=h~Y>6@Na*clx{nx|9o|-arNw{hmAhdbi!Ma~1V8s3CEt*7Z-i%&&WT(^iVvd)9oV z%q~qk@tcO{er2$pt1{-la)C8*?sZ%9r*6IUl1rw}MvYxL>_PgJ9Y1ss8(8hPi}iq5 zZ!BgTDL~4uxlD-LP3p%z^Nf7&DE7Ug=ZK6s&I>TqT&C-hb`K##px=sU8wXl8+z3Xl zHp=J6Mo!evVUW5pf~$n+yVmDCu3kKZafoOWV+A|ASodF(1wqh`JGRC3O1nvU0=k>q z#b?DWP2&61#Gz>CM3=PPY>RSjN9YbCN5R@HlH`HW2SjQz@<8E%B>cpQ`)Gkz`BF zq6oTnY`i^%*o;f7u0U!~!wz~^Cxteh{D2U}1b(^;aISzyCFX!PGdSfL{?kn>c1_6` zWnLreq3KYbC5qQ*zT;Fz>%+`7k{q}98hOQdW7C>{k#89~e15PFpz7drF0fVyANSP3 z4VfmO*cf`m@gcNpLf$MX=01?wps%T_UbBWArJ!{{cPSl_74ML&bvunZs;3yd$JmEe z0cGFlVv!n3f4{4nq&jD)b-vzLyqegwf=B7Ucw*u7)TybZqjC_J@<-~?H#XbbB7li` zFUkmuBkRRhagCx}vNK!k*p?@D)Eni^GUlP=(3G+g9S{>oP0AQ)qyTd&wfabD3rol` z6H>%%NrR4s(FVbopoxp?N9qk4_Cg8bF=vtD;yTf4dp#Cko&vzqu{d=EVj43JW1h<_puf?8{rX*d)Mxnjp< z?}$5D6g*n^?IG>=JZWJzi+`g^Zur3u4c-rI^S`x6^FOz|IyX1Ibmr(ty;j{7_uEQC z&>3Dxt=Jp1pzU#h1vo~ddC2&MWvZ7cQ;42F}OnO2a3%@H2Y66a3fX*`E)e0TW^cjkj8x|Gy)QBo3}}aH!bKfSZ^cY|84jMo=YjPJyh}6%~GSh(>i)+ zWMp)N7MmVTJOpoz2roH0vePV$udmPS%!!`A_+Tq4qAff+@^10h$jIRld}Cy0F&=Rg z?^5k2WcqKS*uc3EjhXeMBlkUsv-e8!?=j(q&pr20{I!{#<#H>UZ*Q*=IGqVr-oc3p zt*B5F@6m~U@mEh_+jE`1B=E$dq(*zERX8i&Pk{OBvset=l#pFn@D| zzNvLhskB{+BvvWkORJ2N^~zc zN;*+^F~KJaF9zX7;l*f_D7@$dh{9h(#S?|UgZ?E7e?R?86#g;#7Ztwp7CioT?3epS zNZMcCsIPDo`{mw6%Ia&&U8j%za!(tZRWAB|x$nxapAQXHKi@DA{bb!Q_lf-K`S?)P zQy7+ddfG4dOZnCFZ-=U$X9l94eEa48YknntVW>(f8cIsvFGq+-_ zz%wYheg>nwVuGU=aB<29_5dqE&)opjgb$ z;-{EWD^`ylH5FC52$bfklKWh>4i0%pUh%FDGZ0N7~Z#+Jyg^6!6fmClR~XIy0uIy%Jru}rgiqQit1 z9k$Wn)Xt6^*(tWRjvi5ln1W}JZo5P7dFOkv5 z){rOqh>AQ~9F2W=RIkWx^yyaZyAGmtk3LiddyhW1#pxB*6q;wPme(4^#;zH6(!OLw zoaYDYt199==K^aH=XOu#FvVFxt$t3dr+DU>o$?M=rXt92#LUy+8@u^nA z9(ENc;-&dF+Ms4teZO1Eq^dfL?GMHUGSz%J3Tc9VXBW^6tKZZjdnzpyC$`RF0<{md zm<8-6wOv8_T34zX|9Eqh=>?tub*F6Rk-Th=K#_@|X`862=dRz>1Iovsr6Hs<@wOvJ zqSMw`Qj&_HPtncVz=aW5=q9sl$`{5CaU7LhHu@EJUqxC-%Mr!t?+P8;!({)>cHGX3scfdN z|Hklr{oWJ{+P;20Icr*<&i+vMy#G2J&%57WZo9qc+!lKPa+6WG365!(xrv=hY2Pz) zm>fwIWfgrSQA_PwO%5+0NGDOkj19M?e91_nzB*X1QAyO7U0^MVdeDLo(*<)|cmz&rI7iDh44bHi z(`n)3?;)o&8rU2yJeoYGIM>Drhn#D&3t@lSWto$hbh?+8IVICiT5FqmnUm-g|LY+0Y)=qjSrbtA1i_vF-xI(W1n30;ctL<&5J1|pCQ(>1v?&TJ zCVNC-#lWj5tmxH?!ipFp3i}WhM-=w;^e<7^3Hp~P>>~Y(3R`&^kG~y@nLYwZ`^yC5 zsW*`ci^WVICS?t6G1C!aCBa2s%=BaV_4A`c)z2dX(NEUJOuv?2J-<9u^*lN(_4Kru z>5uZO=MRRep2r5Fo_vd$u6QtI8hLI-P0Y;4CfTLGjH3MgoJBbwF3LSr6f9F}l}o6*#p-So zGq18hlrb2^`GK6pd1nvBp=u*$AxCC$T5)wmR%se|U$M3GPjeQh87|I^t2<~H<;jb! zdL1`w>Z8)1%2|MSgbQ%PBo1_}(&dYI-kkBS>5g#W|(bW6z8 z;>^UdXkkxce6LZ%CF7<;URKSRnZ~Kn-w7A(_VG2kj)a02+E{V?g&a`SE5;2u%drzK z$2H;-jV7kqw~K~j+?A8N9_D@t#Y}6kRu})FoJH6T7vaz$Oe0+eDom*<+zzMn!ZL zD7UYO1f6o~ib#wpqpgUvl=8`nND3*LtB8z@@~VnRjwrdQhzx~ti;74Ps9CRwwwYSg zif9(8X{(6#i5i)TXelV@S48Bd;9C(9l!Bq?9abpzR73!w+Fub>nCfChR4A$v72((9 zp%vj~$}LRQZyH*DF(5Iu%F)PE(GXre6n+uSWAT5YyU#$N}RLTZj|>$r@3>e zSSxMS8+05Cy47*7{u!Ei5d)cLNm+djWX2FJ(zk$khk&T0YIt8M=5qWKmxo=37wG2| zREqDQ$IW<9H~&_=;`7_(%S+{pF^wcC#c;s?g^w%WOONlP$Nxi*@5cjoP<|9I^OgS> z&kL0wz;mzigW~xQ@xT#lh*Vd9u#%?E zN=9v7iQKu>HZ!!(3`=L7gNLaX2RbKAd^*4Gel;tEstUg()jwz@AEXW=U5KD3V1F?* zEnjsQqn(1!QS+Z=)sb@1|B)49=xV--hhz;s-?=@c2++CuFpssm{(J{mb2fXoW`!8K zqOXNNH!(Ct_a2*}X84T{Zz3AXF*-QPwI- zr9g`=GWd(vqW3*=qIv53|-CsM*VX`({r~*{Wr2|Nh$g>Ss{k5==4VYD??Lu zs8Ro`tlClv|BI{;w!$;C$f{A7O+W?+Rf_Gbg2auw7>v7kje4Im@2{^7CQBzNLrwZ? zz?CyMe?&lB#3ubuJ)5Qc+FQs9p=!gdG{B%6^+Rfzh@t88 zL(}v%=tT0$6j#~pteR2*u#pvF=*qrQtids-@4tI!iavN4d$h}~U02E9l~qGZ$sfuJ zF?1y#To%)hW;gw(hoK_ugUOdjzEHk& z8@O`jOE(LM)O=~+(;8QgV)@Ug5Aswy1G3ZW{b zG-Iv`d1IbZU~E#XAGnAWlBRBYSt7dwxdt)ONb-d$nJhO;?Itaqe~VE$KQJr}c5XRbCi2mGV{|z0xv+?%7;7 zQD3LiVQ|t*anoF)`H7(^{(597>k+mU$E;3d{CHM*lN$vny3azhOrC~suY`91&K36v5f8FHAubhlelhY zFf9@Z7;2FYfh%WMV1Td}R=k=@_Q%bL9g|L;Lp(Rm`k&Iv&AXF)?$SO$O7>SkCeK$r~ z7Y}yZCig=F@+guh)cX8DR;?)y`u?mC%69)CD@1HNvG%=h+dY`oc;QWkpBaz|NwAO! zKb=*1%7nivATDA8fqfRO1}-)gcLW>Z^nVRYbDirBVqAyN(qMBOD!~5sERrX$5yQ=kcr>R1xL1Ss{jQgu_d8js+PZIWc`# z)ChV@oHIRP?tgoFXcoEeusBl##G|S#qf|TTEh@`ssqC8P?OAoJ%yT*`gl(P-DVxgr zWV4e2LY3l|vPRrEa}ayw`pz7(CJwzG4Dg`=xg1FsN*}&Gt1BpP`ao6)Wyeldh}e!| zr{hJlV?U=V{Hp=kk|Ye-@~5(DQQ7ieWQ9<+{AXDqVq1#6su$0eG)>jxkrZDVkS$5V zkS)KMRg21&zn>LC+4A#QA!1vK-NqNqmfg?uxUDgm{FY=2S?^|W<;-Jm%nG5bcU@M9 z*m`1zc;D8`+^^PVecaPf#s_3Qk||`pH)qwGs(Wt~5M8>|L)dyP%q6y7FFk}^&SLBJ zD*a2_dR;k1Z_xJZy}Jn}Z3ABvmLd-UzOoeT3@-M3*dc z&~@~d2^?c34@_)CJN0H6*MghdP#znW20OPNE)lsHz1GN`AbBLeUSFLRLe-0hq-h3j zfSLH#;bg=Z_k9{O2&+RhKzvlA8m=aC#{f%NwWq@4LRN^O8{oF(2sbs;9nj}+*QXr z{SO0jCK4u;5ByqIg(>Ix<*X3OZ2vARL~J&3{%xAs2H#W5dY0~224q+gH)Pnq%BoUj z*uTgMp$z+H0%GtP^{uOmljAE>M@LTKZeeUq8F_5%k+DaN_Hd*%n5^1SHgdwYIKq20 zzJ_=7vC&6HA8}j5yHSFix%SHhL~5=*c*Pz*ft!k*lbAdDnkKc2r7vTEcig^W%aAmV0698H|o z?4;Jstl2_O$E5#VD0UEotRz~fiFsdEBdR9mTe3o^Cgwd^Az~wnQ>8DO5mV2Y|KxxS zN8*GG_lc}3Q-=F^RtROdAIS<48%`Vo-nZd058{PR=>MGo8IZ&Z8Sp=6Rh=^6ZwZM0 zGmEUz>oyFnH{``dSPhKBLFM`vBW3&QuvCb}z!J>2vD`>5X3I)~}*3in(?ANt}tst2jRSW_%`Aam-0MhbqlCQAtEH z{Vnt_U7Ei`Z}cL~d+Ccp8v02rO}vWZ;!5+^R1zW0C2zH)xs=}MMVia#i$WUuNi5C% zvX^jirP-yD2x*?Df9bY)553WgG~Y~L6w=U7Vrd@rOOqiKs%R=JWd;ZpO~+-fEwdgl8)>dTcqF!8jv6}Jx1xHr)XQWIjs0%S5W=z7!~GYd$Ex~3 z-^fl?y)P?-N~EMSIx)C_vC+4Rdv!xIV6ae*1D5(O zfD=PAk^sL#m*NlpIMkNa)sZ{?{lB)+Zet2 z9L}Gkfo;kasN7B~@*Dj#_vm1s=^NQ`FlpKh-k}^!b~Q3UCWy zboBP~T2FFkZg4%xTL3(qB=u&aCmGA+xZh2E^T!Zs0^)iBk(#ZfwopUJGM8M-y*0L6 zj;`aI`qoje!Qo~Z9Heo^;?g@dI@&*fk0Ijm?xwql;{dlv;m4#Z3UnE}m048s8*;OM zMfR9rzT9I-T^2X)ulHY;9*tV;8`+8b-yk4TYwo~DiSIJ4k3-%IXfS>G<=;cea^{!& zee0*!>ij?#FVJOjz2V#XFH?`+@czD$UvO`@+wum{)$qH+&*pcBPxY;!UftorZtkE9 z<@&=<_g|J-fMEjynM{oMioQH#&&7u?!6@(b<-R+P}&+d|}biIe$V;zZwy8bp-v3g`OARR4wR(Lav$jr@Z9$1BY! zAqOzytRl@p&gXZKcHf%n)j=NZ5;OeLxgOH!zjQr%NWE|57u-WeO%L%k#c7W6(fp3` zeSIseS4VlGi=%WE()E|`?Z1#c`pZZ9Mo#gU3`31-v{DX;WPnhkm9Nd3K&ev55w%>U zxOiixhs2m^yH&Op^!`y?CB*u?6Hg6p$n+2T_LN>L%1ewPQz=sHWzW!d0kMw!_xh%f zA=HTJ?+S?25!3Wxx4{pY9$0k@ck?@QC(1VhVmOI%y!1lYW=xjdvCwt>v-cRJ4hiH8 zh8y^Z*{wqMv1ZgN(49JkT5&tF`oM3>Z^xtkYqGxqQ_YU1EN;{Dc>iVT(WOakI>ObyV9XU)530zZuss9r6XzDNa zjr@X}`es?H%e4}2gu{?^y2K{D`2{!q z_0seWv0%lr`pNuOKhd{FdadYpxK@`!xCWo)TAddg4R6Cw7-9w!9j-`{Dje)uUVf zVBg4&TS|w>;8V&i<*;G~2<4V?*f;}(Dup~!Bm;yh#YeLqX`xCX&z{LuiudLz1r3EHX-*9AX~RaMio}%_#jflY|Q$A#?y- z{iU99txzN7mkEeeEvAo@XBco5TD)o+qp38UW`x8ChNZR6)wm-)CUoM}efjnGimVW- zGTtLiFz6diuAHl{x2vX_-!?QgAB<;q++5{&Rt+g9oy-a`bR}OiNo{=D4FlUl)AY56 zMP3neIzC;=sw<`L&8!eZSN9d;4eL~#4-QSw2M!mB%u(>ScGJ#>Zo1^sOX$DKOEI7M z^nT?|`Es{-aiZ_v?S|D2V(6N_db(W`=VFfuB#e&E|8Z75DX0ENSs`py zXGnQe)+C$T3=pamU(K2dQz?)&z3bv;P1nX3YZWO*8g2fU2INa5P$*OSVpi)b2l{;h zaS=16yC$}x(z7GG^>$+`1+uE`;dFZ*p0{P3#7g= z8W+N;s0UG!oEhmASs_#vxl}-;_5iY`u6Io|qGBr=DUM)$e5+loj%bU!4A&kVra?p@ zMvJ3yAx8B=I0kt*t2UM6Kadq-=mxnhjx9JVPh99yEw43-*1d^~Lo>zghvRGFKrfD5 zXL`p7b6GX0jPSOs5W_dZQoB|o3zTc98S2=1eRpqjh(>5gdfeHEI-%$tBkW|=pfbXC zRtVb&84>`ML&%0G1B5EY=d(74GKXk)ZfMb>nD#cEE7hRODxcebu+l(7eDc!DHoY9E ze3N|nW_r1@(xR8kDm8k!qVgX3@-6goY2|r(IZ$cKzs}2-cgmNhe0hg_p?k4UUS6SF zVDSUG{0%>+dxh{OUFU+o=yDLe&=nKlqeI{E7adq~@~{{%LRqMpJ9(hpxt@f;@vrja zSCT=#wNc*G-ntRrYBeHkn5>nm?R8Dory(;5D@2VdR7QGh`60aZS$g~?Jw8W||4fhn zLXY32#~0}F`}Ft&dX(s*_J|(8i$^3RBBUGMfVXbKBNBqpTUXHe=+D#Ro9Xctdb|_o zf>+*6k8i{yYIkm=A&+LERWCFmakZi_4;A$TfFLt{P?TByMP;VHNQMuJ!mGbX3iTI> zqy8ef)L$f^`imr0f04-QFOpsTMM_YAkv7y{q!#rT=|}xV`k}wb13oAerT!vC(O={N z9~2r>f063cU!+6z7b#QyMOsyVk$RKA+MVm@xKn6ZxJPrJJ`uX@+$7y6TGv1999pk$ z7t6SUyj3K7bS^E4munjJdaKaf-CnC#_d9nqcecv4^JDV6&9Ty0^3j#c@;l$L|ImAc zL20$@eCOI`d98~0JHA#w8||yVk44q`IsAQ~ypBqWe_XR3m8!*tOvL9q2XWAp$ z+%JG`C^wfP{X2V|s|%&Aa&;Z^kNZ#WcdjcGYxUZMdZ)eCIapt--~eT+JX?>PyrkW^ zy0lfSZAMr(DWp3X|CxM#RjJ&PMSu?ICzZm1OD=hCzp^Y|+MUZwJ3B(WUqiI*yv)|e z&Q79{%BS%SQyZ0E$6NE2&(gDVwUB(Fv9JT_uWv=$J5{7_i%`LKlN818h(U$<%5RFF z{+4(OjZ{8|fA3ZP6Q1bF|F(ER2a0<3v9w!nW+CWe3H)0)0KQCh4KEY}@j@{WFBAju zLNO386a(=>F%T~l1MxyJ5HA!1@j@{WFBAjuBI8SiVj%va7>E~&fq0=BfES8^c%c}G z7m9&+p&Eb}ih)m~gfFL~pD&-lV}u_6h9191j}vr$V?>Y7(&OF7@%Ymdc(i8l_@lSs z@$Gal$H(b$-#i}wVF8aXF5>amPvY^CWjyX*#pBhd@OaH>JSwy<{X_IPbOw)qO^4P{V34@!; z?XK7^wzh=Z#NW7XtJo|=?`R8OlfR|PxhG7sCoHok46`TfvM0>4C#HtWB7IsIxM4*_5K_DTGyf&RP+dW!(H4|vso@CEw8t#C7m zcMrLlhIgDCP!;m!0*_AkNjd*f|Lr>c_U9S8BagkO-||U<`j>y5zWgjaU8?Pdgb3;_ zw|4jS@4kyF#BZV+$nVN|QVC4o^`3a9|Nc)%$P((3{Jj!Na*bK%ei__Ns)E0ma7*(N zHywGTll&o7(*kO!Br(q0(ZBa?REd>_Um^sT>rD8V6#eTTqpv@XYAj*zaldXH#-ac8 zFhz==L8OpBeP#Mj^-Y(CP@kqa^I60h3GqM|2xHg3UW`AWF!lc-Oi7F*=@?pnT5W$f z%JXH4c9$aBNvwOjVDZ*sy(l+PoV*2bGFTK{BgxJ^YTRMs(LH%hWU|Ka{mqThD3;yH8&}3j|p{>4n;t ztsM?J&(+lMd;$;o)4PRe_D@lv#7cjI^k?Xo&!Wkazr4fwB`>hn>E1<6+%Yt9@<%ct zT66}>5;cdc4 zTIY4N&hj^Rru;@MR?>ghq6U2{G1!CJ@47E7(LvrzF7w|Rq+PiMjTyC;_u{p3Hy)j9 zU)q5;xAr3OfSI!;X5rxZNZr^2PRPsyc|Pi6Do zxxCR7`EcCCi#ETq_=FIobInepzFFUqlZeml$KUB(SuL(b*z*TjJ6EA`K-VEUzmIS4 zjwXL?9qC*b=Lyw%sfg*`&P|1tMzPjJs*3^l#YX)+WeMmpY^`(-Zbr4JfrEfM*Gi3z z%m~c)?XSIWzjI|12St~*_AB2DadCOfhw&nQSNU%It8>k=_;_ToxEbxsUl>KHe82cv z=jKH*Ks{nHRKDjnD3LPZ%58@L_X_!W^VK8T6zWK^wmu@7LmE?f-+twpF?^pg-pZ4s z_|ff?^-`M_@(STbaNi=jQ;l`{YMZ72>NTaa%7;*%%6E!Fy;lkqONPIwtZ{+ymsvEt zVbZ>LUs$nopcOUHb9j#O(JRZ_&_fgEh}BP(d%trduWneamESR0F14iYKd_IU(t1^N z%l9jv1bOGW$@;lkwO(AOUo_>{Ixnd=%A4g{5l3_re4*VagRXNm^;8OR$FXxwBibm? zKo^eiqEBzZ7zP;*0~BzO0&)?V7=@FZ;``&jtoB?A|#DKG0c~S*^RVDt}$Rzf!U4p z9Aq6dsla5?+gw#NvAo;hoXV|T0m+otEbbnw*Q*7whErGQ;~}0k{7jipfiUvRfZX2L zh#CmdaJ;pR0$TVr@s1(TOo+&FmsD7$zQ>_%;QSWcJLI9C%S&%Ua}jPt5q4YAc%xC= zb(K3FB3;98i}YJf!zLUPT`P&2F3B5uA!(WfF${y>u(&&c_&0+p?&7~Cgin#7h%G6K z!USU$_~1l@DBHgemhdwTJps{?aUnz&Wc*A+PCyv>UX;1My@M8~F0|Qb6M{2eU}Pll;Ff5N+3{~_j<`&MVsuH?oA=K610b3>N*y0 zNGPVbjwouFuNcExrL%@SZw)cfvNcL0=+|-6W}-34OOvkSxK9p*I|gRzTTHn5{THIG8AJ5q1jq5*9~Fc zmWx%iFbOUbqiJPg#L;HqT(LoOx(08sCFrH;JDeNY{3+(OZdIHIGss^V8tz0!&2W3k1eq(2%Pd%Y3 znErPYQNv`yTNA>KV!PVHedQl!*--EE?SilqQ>ayw`&6IsonAMD;KKmivbgm$oPBrvfb!?r`!&0t>UZ63F zsxIYix>6ARdW$Ppb?E zEa#;55^z!O)QZx=*vff?`$l0MLqC{E*KIqWuM`e87eKQ#jjR;0(i>|Bbmn}P)|{an-2tmeuqyy#pA6`8l;ZM4(~!2Z@gS7i2qa}iWU^Lz{CG3$7)ik3#eMNt)vhS#^t?-b+4 zg=%y*sv7Q|tDh@F+;8Q`yH(v4Ost!TblCDDcD9?JlI+y~A@P#v|MsIh_Wa2=_Fo%`hKs9Cs7tXUXA6f2I` z%Vx5d&%z3m32BT=4ib1ez`?=uZds1i_tjhp(_vVnC8uKbMk${w>8LE7X2)GIvEUoo z$Y)0r*GEkIImp@QurZ_R&w98g34vxEaGpB@O8kJ#SeKv-fwzttS zF@(#NVd$VtsT_ztrPN(4ZycBd8K_LE>LYzD+ap8FT=h}IWJ1-VG>aQif&9kc%hjSN zNTyR2q`6f;M?H2JvyJtnx>|GjsfEkL%7K~~D93!Lxa3@C&E-HkC{w;X33bh9%R7Z8 z_B@p$I1=XW3kdFJf*c&N?p9Y)@VOwG(rFmT-?PrAbQ70}RTUEBPld?sPv?rk1}c*( zOSjMy!2v3iEF1on%hEb1Q>szrHjQYj`%VnnT%*c1FjK3MR{DnO>Fb`IYoyhLWm=Up z;qwN%zNk}39nj;hV;QMVo~vKr1Lq>BzCI>%*6K~OKIQ7`Gayr8hBHoDXdoL&sTjrb z*P|!%^s)W$Tny#e^gUkTqboa?XX~I$sY1uO2HBX#-D&LEFmbNXVc{~d>ffLD37V^a zpCB@sY;|b?%u4;)sOHYE1zTP88tCV^-bkC`h0j=+Oem$J4^I_6bG?s5^wg z)UOMn2FZ-NKFO30UmkrXfXt@*41M_adMzrfu1pvf%;Pf#D6^st&?>zQbzmJo(>yZ) zVPq^kna1)y4|H(h$p-ySVQVltIC{vQl^bDj`ke-@U>F?j^mL>C&ZxGG^RFGFzcJKY zVt`MFH-MM|g9?1Uh|3UMIKu~pXf*NBArg#P4lV8;_cac$3yFYbvI;waU|7_P<53IB z!NOH+NU1k5V{3S6upVNxzg?oWFk0K=LNXter9Q+eMT0BY9(3m-I4=(tqYaXW;Ft&g zrQ~tC=)obS?g9xsW->Hq4?O489KkUUx)Ud8i^z; zwNfOP@4A60*xqf6b-x;64O2cAAoD#)e3*N~C@7xDJjE(5bbZfZp?9=huN7KbIOzjx z+jW^&LZORB9rOb9#K2`jw<)bmwDQ0xNl$%g;X&Wm%%2?-5R>eZRR#a<>11NPDc{;C)bf@A{B42ZTWfOZK^s)qN zOvqgckQwjyG16!U?W!--*E|D9J@xIoS;&Rw(jar3En{HNNsxlQrz(D?I2DMFT(50r zLB`KC!OgQGjkcIkS!&&bfteU<& z%LZgFq;%>dClkq((ph-Sgy|3UNqu9(&gz0mL3goYL}oMOB5NDbEvH-pkC}vAv}=gG zV!K+f9V4S$79z7@@Ipp_n9X&M-~gImj~buEWJaW`1|y|PhB7mCnq0^sxM4fkV(sH&GSmv4Rfcq>t&iOb&IrUs^XE zHQ2KCzzfK(l-63FK~MscDbcrdq@?|{hMNX6l(3irlS#47%^_VcpGEC5XoKq?!n83e z6JvbMAr?~r25)fcBg`v7nHH;Ee6)31h<+9)ry14DcsQ*0DO%MjILZ?iU5D)f6r*!Nx;ZOG$7p$;S)~W)tO-6B=9OKHgh^Ri6X&#j ztAnf1It3T0TU&JAsz3v52nd>s;L9p8$zZg>14!`*k|}-JRv9;HHB8n4WLq(6H)2n_ zG63Qjm5FgAh7+dj0IxT+!MTfYbg<#MD84RC64&)I44?~>;C3UgVV9n>1#tl62`-bP z`|B9Ns$;?ac3AIP)$*wtCo$soCTqjx0HjTDSz2Fq?Y4*m$ga(n5MwHil2rqx`&V#< zby(L5n5Fiq97}DY##w96=>Sxo;4--{u6df<0fZN;ne|DXG=I9z2OxEV%ToK=FukqQ z`3KO3>CjvRUmIpOp95&a^kx(5bQhKjGqs&|>qNb7E>C!KC}}`bXB;bMVX;`KOW;_- zLJ-=4!i(k>>tYRn(Le{2YcFFOGV^1EUY<8Sh8gyPbFN%)c-g7IHkzLZt76QpaJh&C z8WUk0J1zqR!hWWbmFNTqm(xU2a7=~iLq$bDGYl4--RMFjz?cS&+F~QpmJpTbSTTbu z7;n70m3*j7ig=?wF4ZI2Dpe}Phmh*^Jvej}ptiBO0OJ~d8?p}%>^(5PrJ48 zgnNEe-oT?!nH1}1aAYR7$G5Va9EtmT#6ly>r3 zqk+X77(2uJZTM}x=(IW3e1}+(1%PcMfCZa(r?u#Y%msi8dA^1{L})?``u?-VbX+F) zOHUh^Fj!{JnGZzz1eptfp(#%(d3f5Rh5m=8!uY)vrV;Jn_)Nnj11(I9&xJuZ##eIN zDTB4U7pD}i&cuF)^ehb=h(lUy1O4P4)enT+QaN_3U{8q~Yl6E~umn!cSSJvyQ0zlm zu9lIUt=RczaH~+0ey2ez7zRgzi!<0;?dBMEiWjz<=E*O?g#_Lv&jMsBbVT@*^W~Pa zr8PKe)0K-6nG9o|<*Q*$J5Gj@Euo?A@cdr53?@1k1#6JKMZxws zqXfacxd$y63#nY@d`vF8Z z^c{|^UC9kxrbq8+MeL@bS{;pv!IK?>wWn&WDwzk3xe#zy=p2i}#Q5y2!SO_BOo&2< z#-UIc8#!r=?V=yegf4LyA1m(|f9k1;sl^p>XM%QlL2%5%D?&kmF%w!2W?GuU9Syje zL8JM)Y_h~i%z-9DawvM8BzOk5PZkBmEQ!5mXXd92DKgnxpfGk~?}f#Qg-H`Vlf7dc z2j63ZO!$@sNH9OCWxA{f0Qh4X|UGs7~qPv)9f zb!q5&05Zp@OpG?tk=dJ=gqx|L&nbZjd@fS>Y%^M05P^NX9 zsA**cd7X&xn9Rvwu`aSy#d#`LCpvEitHCn0qu!Qp>u_H6CZJ5~NPJctAnbH*^GdA2 zGBx(Im${a;GkzE4FZ6lR1Nu zx2a=HCUuZnYAXNm<0!y z32&o^QGtU8mwA*WKo}XbRk-$E+;r)H2Mgbpzf}HZKrsc{cN~|k7F9c4sQ%k`7mvx% z?LLi-@R+#9%|3Kan{*39X~C9``kl@-yIxqPMU1yT&$9ff7hY@m6O>z^Te+L3&Uig?Vjgg511*K1N_nEN?2vb5$L^1Q&%_ zdeLAQo!khACP(Otj91IWrV|T-x~D+1g+&_L@yISB(~-UDB-|xjFjVI&-W<7toR(aE zM4fYHvsQ0JQ|j)J+?;+y=0tSGUL$cyro+_dT)lzA_}CYN_i5d-xDC?b2(NiIYmAM> zJXpV7n2E1|bV!0{rCDY&fS3V^V_{a@`*>Pj`#8Nk74Hmi2!lzwMc56O`7w25@-NeE zI}UYl#I_r?f@D^z)bsUa1U-kT-%72)Fgn^ops!*VB{58TZ;lDJy_P^eJmxzn_^dmZ zUK5IXHC!5?1?_qKne^6?T|t5t4uP&l+Yuby>@)@2HZ0jdXV*YCz_{e(-wX1#N!Jqn z`nLhZ4Ago)Ntd@dh7LA2mIV|FW0T%ja1esg?g#a5wKf8P5y^8_YkZ%*@>@Mm@7HsD zc+5v}@|3(_$k9)~aZ<-&e5}(ZeCqNWN(wqqai?5d!?thnQ_YVUj0vbBOLdLm#o!3K zPyD;B)^_!9Y0Ly-d~{_PAE#gAi~xfo80OO`Vk~B%<|O{ASZ;|qPlG4eHA~}3(0ok3 zS(WTejK)lwWso`>;$*fA0Wm(gZY*|fy=?CP33f5l^d*p(L6ZRSY%mfK5aVlBr^D;( zHS2Js%(h6-n2Ew{EOK+JXmw?Sz0EXbNhs!^CWAT93B-~KLu0`jpUM)0F%JeZ5}x*& z9Nsdif&ns>O5rgZ`9OqI7_sIaJJ$_~f_g*rvUaWOP&xzMzd0ZV4T>4a`c3r8y&OTi zc%(4EnC1EcXef!0Yu61`1wC1;hZ6TqbF8<}nB^v@soZK6*RU?V+;RpPgVLDST)1G& zb6xV0Gkz6}UMU><1YWyyuyl00Si%hAbNdf=4$V!ioG47pjxR48dJD!e%&=IO<7h}M z%eC^og{h}zmRAh?VEdJZA7e4Yb%J4fe0jxL#~-vv3Pl2Da-5txb9!NE(o|Dcjs%Q3 zt`Tz3V`0)zRIsk6ND)Js`11?nOUF$Kvf{^3jDMvl|AJBUV49m!^o69Il3H0_8DE*1 zFrc%RI)>s>OaDAIzT~JStA8>UGu*g%W^QV(Fu5={J~LmyKMgU0ELhHfi$6IsIaq#{ zg=23U7z<(fS(e664~&JdG?v2L_}dni3a6%)mhGJ_!QQw(eLrJC8e}sQOA7-gGayZ} z`GHF|qeJRsOH;E`4WnqbeegTztb#7{YWx230jWHy%p$U#0(X6M5fd1Q*++ z$r^jR0AwO$oX1wD3*+-=3KI+SD>KJe7go*i-FL?6!DBWISkR}E$q*{oA-D5d4TsT@ z3#xYuOJ-9MjOXbD1jQWa*9eX@Z3VMIFO81IOtG$}7nbJ6O^3^*s~CsTF?d08Ot1F4 zHPKgofx^h>RWPz`gJ5=<2JW!{dy(U>nJi$Su_Wk)lO!|qlQT<*1%|%{vsa%e36jMy zH~v%sBxcK_J9CLJ*l6T4734`Z^3WCx)l`ntAfyu2azQm<jZP6%~G?yvr}(q)0!q4(;)vfKER?WBYXrqCm|*R z^pbfzBOjUNB4~?Z$xhg5O@=Wz6U-HeIFMP+m|10Taf&;hWe`b3WSQ4}|=)YQNXV4G2s4W3xnGh;?#o?pJ&a6xoP9kmZ z&&N}jFlvAvy2l1hrvZBCUOQ+y4Up-u+8B1!>XqyB!6w*eJRc}?UWvJy@ndE-`I=CN z$7=cn00YuI`S|SV@iRE%dEPnPC79?r&;}HfAp8`@S0~YKJH4t*;YSB!4qAb6Z0b0M zi7}|PaJsN^g1Agg1&4dgq{NHIe5ANzvkMa^y-dLb+-5S6n1fbaP9VRU8(%(Y)Y9PG zfNhrqg`sK1<>b_{)#CvUKl6qVbim_gH!1@l5Eu~2YT@|Q%GCTRqm=#jo*08+ zN$}%l%blg1D@i#C(CVIM00aV;kQR{4&di}x3RhU1F{BUHyC$Zf^@9WrBxVpr&aH!4 zr2`7v7``%!+IQF{04^cv0MlW|rj`oJGjBKDs^6}V0mKBN#53lBW&M{J01Wsrm3U#Y zFo%xv3`UL6+^kG3p^oFZT$o>2DJ-upE-ozDf#a!A>t=T)dS>C0;k@lGzwwu9Wq_qp z3|u1IvL#Bi2=i)cqE2>-mV(FRdbQLYpG!lv!8-IULj?u`10r{a!F~BgzXLQHj1IoI z1g#b9Db`>UgxGB^epNV(PAxL!6$|sTXN=k$%#?hYo`Pb0T3Uu_JIvUhn)1!ZW$HvZ zh|ER{jO1ZT7z8u?A!sN!S%^7xL?+bKxU#frG6mJ>x0AqOe99#- z^}94RZ3q!;P3dNldb`%bA~iMV!AJ~F)t$!2=a0`!o0X>T>aJiIoc7_YEKbjkA73sU z!)*P^nMG4Q!JOYUgoDRqI91pnqa!~NkdL_wz=9*c-C0dwrl&0zN!ieQU-onNe`r=3 zDic#wV&ZtL+wha%Xh^!W498Sdp%bc^3CapQ>J9d*yAT?nOpA^88tt;|Le9)%!4uXE zAQ~^2nNa^5??dQZ5MBNg<7fn?XXeLe?G!JE{3a;V>J}E?IBpKF=ddutF%^ziNR%Ny zQ)^KSrwVR5O}DWP%hY4a?MeaF`okTtrK5h?*lfFdS3qEv#IFivgwOiKUrEELSr~ zbF{E7Fw@hZ9=AS}=9}qCaI7-D)<`g>(c_T##MWqzq$R=gku6U>xjHpJF|Z6N!DBK# zMOj&;Zoaqu&XJ;6s7$O!APTa6-W<`^1Z7%G#wQN5IzL0_m;0H6^Wo{fS62aBN}0T=Wnee)9H&V;~C~Nv=`pGh-8wiA^Ko1Hl$R zj7{SMD_F0-YOl!2Ha?I*F+T0f#OjCH1#8)4u&0)ybcw|1G%2t`BTj~5f*s5hY{Fq= z=_|8nP7Ua+_7p&jO|uRw1$xWD4@T^iq9S5e z3$8p#F^1$xAem2UYn5h`4RNw+OCmA4tQD(vh09ti1Q27#C3mVs=8_8}Mwj(rHK`~1 zYNM?6L7_2=^rltUS+jam48{1A*sji}&*BD`l33G;HWu@cwpQnnnW3$)8-}2zqO#4<;oSzuULcj!IcMYe2q~U^(t;h4J~CzG7_8^x!pNbI!Zf> zTXbp#ZO?^+jnBX=g^8`GWL{k!bO9Uy(@teXzFzM zsq;9p$WU1@I;C<*EG9xV8Ej^A6)`5 z1^Qnm#dvM~WVCy(-sty`>Mm?LCKICu67gznr&xN{6)xDyI&?Y`laT*{MeS(yPihopfWj@l1uVxc^$DoHW}V()2T&f01b|4dDv56nI2P8 z$LjT}CoTl_YR;x#%<5mYn%N!y$3!4Vg@MhSbJjwac#O>txn(=!189h z-fk{?j_(NGDeUY7>4wZDfcI-9n5k`;Cte3TD_uwh81rDHm3g2|C8?p)V9KAyW}&JZdf0MZ0eB1&2FR_%t}?!bEb+HPcLyF1Y?Th0OqDK1Af0Zz;l6M^?NKHYh1n zjKwUUC2mypZmf_ew~0LM|LPJSLxn8Yq*ZjaL%V=hQ^hHqp*gH8Qy8 zLo3?4YS+c)A{bta^{VcA#e80yKr*3W)hrupx(aG-tf7FKR1rs~;g+JC0|_{mDz1yo zlvooE-C)vAnx#VPSWFYkgO4~E=y_nUUrDNSSs02*sC|(9@h3ii3@)JR%EgFGiA-8j zx?wEX^Yjv#;VbsJrc5Z^&=pRIe2NnsX2?RHGnT^*SHTXIUl21)#nly(i1(q#N$dW> zo}Aio0t1e%lBkWshbKqKrZx?Xi72NN9;ZGtSIq~tQ9r>m5g-hlL!?l^uyDl{>fHVH*ZgwG#}5-292j-YT1Cw2!1h`b(Q#BB5g zC#K`^C}-Phuo^X;BjRj076NU9!83KaYlTww6Rf;dn7q`u1Ip~Ak=mZ)QX|@BAZ@3|sG8vHRggZ)C!5QJ$6K_O{U=2njUAGr*I?ex*}WcI49Ik7=cgyG;?cX4OJ)h@v1^4hf|3$9*27}q{QFbghW*m{6jbL*Ed7?*q< zcjnL;C#S{ra%O`P?CR2mJDOuyP|QN{HvXvb*lgLl>LDDNyd*Iab5Lbc9CZvj*{Al0 z!)zK4qcIoNB;ss9-pfr|X zF%Q>D6k@);?Z}g*R%%epqDh0pHt2lsf!II6Vjk)MlKl}Ur?z)myM_YMkxWQc(r8RYwekb#kyB5njqh4_9g*Zjc&2e0`JI3~kh z6zO#{HLTsD8T(>Yn#~j~IG^FCbV0ijvnKTHF*h-TGBKtXrNk#|^>a1xDdtfOZx2p~ zd4)Ccm@W?NrNV5z{%m_kRAz&$rxx9Dd>xIcFuErtqjWz#c!WFHzTn|vGHsj~m2fED zCN7H!)Ec|1<(ixZf>*q^AiEAk&GqTYl+F&3`imc#!JkTImk>dZA|1CMo6O$+PE9Fh0DaU@-Q(* zOAJ*9D^G}#0R2?<2y|{LeK=ZrE=z?~Tb5iw&ke~XA^noU#RjWH0%R(Y?+9N?^O7EV zzvA~^2h~BDQnr+&Oe_o9F^92&EoC=FN;syGu{EKYXg3-dS}-&jjIBX7MrBfwqe^v7 z;l=FJ^w3@FqDhIzM4A$(&X-NG@+nckF^z0+g%a%w7Hn|4Do?LnVwkp3*L_7Fe(9n6 zu3z9VQ8%Gj6q-_^k8C-@Q%d-i9(iL7#zn-N#HN##^0sdxBd8_Xu+qYB6@!JwJn(1p z6Sr#;3_~F@b9o?6!AKYg7GLu)5S=yi=} z@LUq?LH3kH8p$j~FlFsY4UEkEy5Ea|2?Rzg7^b*t7$J}SZCvKotzdlzMVPKv&Aw(H zE2O}4N%Yu9UnTKz%JlY*p@Tdz*F%VVGP6O zX*IpzEWI8*v@Z^{)wFTDau2xGOt`zWn#p$t+-lmmEH{?#P`#3QyJ67v^vm^e5a!UU&mQg{+DmM4yTVx-?6*E7aF3z7NIdBb*_R?%ai zV4un(lLo~M)M}`=T@z(#HEcZQA{&X%gkG0dbKA%OV;1zQu{^faD9kkB5k-R}+?S(Y zmUoQZ0tOnhU`j;3kIv`>*4Z@Wz6FCV+{UM}S*XlP^-0Kv&oPkJ_qft}H^Lau$A#PK z)~unBaEsfGD+cs)(QXn$k$JfUAae0Dt=cc9QEF`acWv1AlXgg-BSgx6~z8U;U z0WkxP|BY_wp zZ1!KAA!I^l@m~SL$Xx2VsIh5|Xk;n1L}6_9UGXmEN6XPW9y4l47T-0|m2Na|?llXENF-;*32*HQ`*?^-T?mS-4K)qk+_E#$kN6 zas2*(>a>Z*Tx<(xA9EI47`vERORKeWv`@w`M3yMdI9zh-^H3CD-Ju?g0Uz9h?Qzf; z#zx29!?v|%DhqlH!{{6#M5}ESJxhd;D2$CdfT)ax{p)-znn4hZ&(Zl(v_o5gv_%Lu zAah}+D*kAO=0I!3Ds7B5_=1zlUHA-8=0sjjoFWNaE^mU<4Bx@LJdMymWH!_f!R91` z!B~q z)}@4EeAFt^rRPA9;F{4i4aQi^fS98g%#%QZnR|DNQ%UQHS!UuuP6S0dN8|;^S<+}U zJeCG?VKLK*Vr{(|t%FcjeZ&2N`+vGnI>5}0vGbUFsaS5NQ3q#$x=`D=%#3xFg1LM) zswD#ZDnM|xSSq;}n)&1Sg@hcZxQqz>1pfOAAN%M46U=^p6`L&walRUW09Lu**D$$A~b0{jadEJwinyI|V%#I6a)7Ytwg_NW>q zc`CH5pr4W$EL^Hr_f{&;5m(JRAdgDIAN?L-)x`ihCNpAnn9I1_UMtb;rO}qm=TN)GoM3YaR74U30FCyJ znfT<1ND7hJG!4@j2C-RbP;d`(Hw|l;%ot}TF#CMnI@u+2X2M|1f%%`1OSsya9$746tGq5DhJa!XfF+&_x?3DkvXauh|Ct( z3;i>XE;H8)4=yvu<45!j&q!G2@goh7nc`lZ*o2RL>lnwOLne(TB6F|K24zmN;@M)g zFkX5`yWEISAIouO0twyG8sD7pxjkzdR6Bj*br@x`WV2f}z zYV2;6H@7UR1dLf|UO;EDs#!2%26zC+Oyq&gG~KX!puv%mE<_TIdDs_-OnhRA6!i5F zlO_{$VHovTyNtWLtR)q}=z*)vs*$*2$}*IW$da)~;4@c&K}&U`@@tTIaNsbl88e(O zmsANNOQq?MKBGfk2FoT8nT`D&vK_D1*X(Jc;5=A2Eixc;vB!gpG6ZWzD(HvZsA4>3 zVja#PjL9%!=Hyx8pN_>m)aRi(ELH~4!4()xYD`y)n8JE}o4%M8UZ>PXnnzIV?CewNc-IcNkSU6N`dk z7MiOeFGM#WW*M(meQqDjGkj9{K$)2%Fql^wI2X^5F1UWq&nAJGfom8uq(~Or>Dh%# zgS1&=CC(s>l*P1(Ien3Z)dR__Sob)^bBi>yiIoXv90~Gyd!!B|^HJT_Kb$DGtvjo- z_1RoZW~4rw@u}x{^K5-KA1bp_FGK%ac-R__bTr>Q9?p%glyF;lhKqC_^%zVNrZI zaEm6G%xGAYJ{`P8HB@FbEQ-&EVo?K^nK3FwGe%;E$+Q^_f-9aV{;RZBhhcQgm5R41 zL$Z%E4z33Cz%vfx!&(9#qAl!1IHzbmI)O6~jd~Ew!#q4T9`hkf5qzSb>gm}B^DqyW zj^*X?40L7Yu|~O&HB49QMQjgPE=(@0+P6)IY3RqA3s_hz4ie><#&~r zkS7a%xqUz%stdcCk3r%vJegj>yIY}xJ$A1Yg2UX2kPy)XlIJM3Y(yHEBN2V(akA`0 zmX{%`lBz@XbtW}~TM4~-Vu03aqv+;!c}uhN5Du-ffQ3pKp*(V+=3&C8)-C* z##Cevmc|)@%`A;TVhSX%3B~cKCa;<@v=$uKOA|-IF&VWSEDw)W>CIp`pr>e#!I+5J zb0(TCHd|#wqHuejLL;G=1oI4v1j!>#__ueNhEuyVCWXgzlnNy>xubdER49!~VlfRh zR7`^-_6)^^+mRFw0%8K)IobV%`}ZFUU~+I5l5dp`??)Dl)S8soKEy(Mn7F$bH1gVtSmEm+p8Zb^J) zqFQgZtwpDKEU7^noLweCtyFqzZRC^tNM zE0$BE49ScXFEuIW>g%`}(Wvvm>9FoH#)!;E4FL1m(Iwo-q+3sqFj&-~bI|g(C)>rU zGxZi6BJ3g=_zYZ@Pp^$=6^2n8Em&sOeFt9|bZyiinNhDH_&D)q-Cgt45FL{_F;tk? z7N4KO>~g(97k?T)8ys}*Vp$WFd9hUI_yo=asM374!4=H+HcQR+4qYFqS}P68B*5l1 zXE{km0)}D&Y^eb4RL#K;rYU{_VkCw~#RmLLQ@(8ur3N!^KZ62e613#UXJ(htzWKU% zK|#z}BMXT+kklogOx2tgEohAtk{F6v?$%h)@~mu?n{p~i2xmB0u;or+^uRJZ+R;SD zc=Fbu3`XJm+#m?P^-*nUAU{Au2ZYIK4OA5P@dTnU^ zuY;{OO$gFdZoBo+BW5rk^$~d6B6#u%TyjQpj}$WzpA8!XJ$Va1Rz|R)*c9+3xvrT` z#_{A2L3zsJZe2y>pfM9-zx|nK5+c~*g!p1iW<@KJ-EZBSLiB(%-hB)Zu^%yp|)u1PC%evSU ze9SisSaCvPMIN#!SjrlF#U9 zkb%S{6OkD)G!*-ad@-nktx1X!V<_gp;wOVc4t;qP8P1CQ&5A@fV3`}oB&TwF;!*Ih z*K)5VuwoLD1fv`t>4OV7yK={XEVrtal2(3fMgFX{(t>18^wB*s&PHdWK6`RK2r5yT zc_f|LW90da(Owr@@LM*FfQvrc^ESGdeN7*W%V!vkohn# zH&a{3MSAY=YcN-@iHQ#_J=B00ADJ$tWrb}KaH-8UVpA92#c5n8voLRP2eY#Pw*k!j)OMTvc6Th8odjt0&KdPDXy@WiBf>KtWpK_w3R>3e8>b+$ zgu=2GCk|Ca0SxVS@!-;Eai@GFKpI0btMFip6>Yvj8PsfmlJJ<1qP?wIeD35c;l3Mc zxn5^n83ZQt`Ya0GnMp&^ycU&+%t@`OE$az;A5}QIb{A9tc4M5w`KN}Ec^L&DGy43e z@0uC#AH8P!bm|Ebo#7bdD{_M;Da;XKKK}i@nKDY?zY8NXb&W7>CQvdS4!t zZze#@z!G3)a3G$;IErvc$*+&e$%M4!IXZC{UX0R*>yr;(z%V*;PYoUSY%Re5vDVsL zQ5DQRt7$|!B6Ct}pd=E-(S0f08l;g4C}zRfg~g(mMJEi-!&kcz>Zr`Eyn@`YVESA( zuZV$|0aJ^ybjwYbA~?tFm57m;1LH3-$7-#K<9wra`qS{h;F3NskpahS=wo`=9L8WD zGsq|)nH3py3hP|4X)c`(X3#w`3s`3N%j_`cm)T%dzH_QxUSDjP3tY4L4kNK-luc3{ z&yr2Lwav{Y6YMP6WD0?qO>&f?jW?dyo+V0YP^>486!ejBOg%7Vi4+MCGhnU0umpeL zumsn=R9$@;V9caz%oF#rYRrm!n7c~k;fSRxEx0NqMI6TRO4Gs-uV&=SERBR>7H)q@ zp{uoW3DfAF@%=3AuZzf>7^g@yXoO;2jlpq>6g3)v%!v6iFC)Eav?sx_;T~88C^PHc z!ZAu0Gpn~S7W1GU&*35}c!?+E1xdE$PgN>tVlfFS7=OSQ=jgHoXKhny7>$YGAr_Hm zi$ZW1G(>0ZK-5U%-tRz3O-z;)Z6QmFr9-$Y#&E}AXiOC`24flwMVd4o(SogffXq^- z=8@DNG?#~D_ehDwa-q}7ayggv1S4dsJjRthnuTVg+GfkVt|YsKVlb9O^S-#}>oHMw zmp3t)R8t?da)$3^SD%1l3Qc{d+zV5(t1kv)8q8PE6&uYhoCvdoX$0COCfhM;hG;v! zAzN@!!nVZH17cTjE(WG>jAEdD@fIMM%Xcq;4$IW&Z|c-tqz_L*c9Y%$W_q07?5Fp* zaq#+tuF|UlSP=)Uyk3OmEew=+wI5t8(3RiBW%<#SVsdd<17!g#b;t99ef?Bw8+1>_ZKIsG4lTKA~!8+1AIC|M^HQJ>Xwu@>PuA%rEoXdlf43Z~?V;*TK zT-kG~9G&xYHG?AsQh8_bYa{ZSh|ESwvG7pAMs4}A_Qr;_^g5hN35Zlm4K|%u7Q<)- z2EiM{rt`{XZ{WN!Ec41*!8V|2=VRl`QwD2rWF%nN1e7^V+lr4@r>Ccu4A#6l)?k^J zQgr20sFiejTY0lxZ<}EtoUe3uD-)U7smCSOGV+3TTzbj}#PVM3V=Mgs%)Q%^WXq8qcIH7QQ6h~p z8DC|jI5Xsk6mtv*-~h%KS)J;tb865xbX9i)cu-n))~@bEXJr;Lv-(0a@eA-c^K;_Q zXn91qM|ec+?NvKtH)b9%K<(_c!Y|?B;c>gbmMWzrJ0EcWHi^s{i&@C_?hBn}V>i>? z$F_ZyN&_+<#R}oWzCmnxxoWS387ec2caoW}zTWBC&q(hSEM}n?>*Xs~|LhoBmr1VxVofV$ zDAxeZ%1{tKmLj&24XL}aW!{eb?W6>_B?t{KNZLD1wt7M_$mH9#2u`G9G z(b?D$KccZ5F@M7J8V~MP%B5pRd&boQN*-Qe!46NV;0#0N2}Xv%@MQG~ zkx}(Vb7bhD2vDUI?owSvVP;u96ds8gFe(Ho@b~Qw{HyE*By&{g=Mg++LrxdiE;cXM zc-H|bsuIe~>3YZ#xPGq8p^xQC{2J>+TCP52nzfc;`BGSx6C;u4e!Bm#y3x}%b0iw3 z4T#K$Wk}74=i7IyFVF7rF4Nsw@2)T_Jj2WxGPeM^VAg^fx0wqX+>FVrF?t1ed!ct# zj*VUsjhQfZY587mKW7zLbL<)x&I2+Z7FIRitL_%Z_O3HdvpzY@89|x1@ZDFS2$0)NaKnLnTm;l_87Jn4bq3 zvH+SUTju<{N16Oe3y{}r&3=Xv)Y*UNs=1+K9?0>(TzPZV^Rg?aNtPLJLI z!`M+*FSmO<0o6zb0b`!nBg+9~Y>(6ev^$3(Jm6g zQ(?yXmVlMATy1|?WJeLl$`YWMBS!vYSV*NA8~GDB=8ALDe0UiI^oc3rl@Vs@B*u7Jj5 z=rADrp}X1cxWPM-#YNF-l0;BNUG&NN|_{As7;zU()q=${^-R;Joz#gMqyr zuDADiFnNC1&anq1Kl@?ky2~x4Ap6xexgHd)EkK#m3-i7^;F#TU!UPNryl(&;Fc=t_ z5Cqz9?x385UPm>1M2~g^j5!cFhy(gx-rgy-n3dW-ih#uo-qzm2WNU9AMK#ve1t@a{ z%^h|)?URW$T5}A>9NwSMgu_BSGax&G?LUc6q=S4Exg$i(O^^lsTaU(L1;8 zs^m&BnGzFrp`^7OdOCWyy32Q>nkoK`dO5HUl37zhv3>EnwV(+mQ=&p3t#VtWE1YKc z9a3%z%B19&-k?8xJ!F@zj&&K2#0(T5JOgdLRX%BEG<3&&;Ux}+(W9N{&%Ad;v6#tU zFN?r28xBPzvhZj8sd$vsEN_^kjLO_dauaU9wMofohuc1F1~6udJ&tthKR(|UBAPv} zS40KLtSB56^05xmaB0RDgO)Lww1-D9NtQN&cm$INVig!J%C>iGb)*R_6UR}MB&S2IfpZsy@t60A~PzvitCq-kjr5)OJbjuUS2Y1)P2$bhtXq!^Qr5wOOojepgq9%#3D` zE=6V9n7g@0Z0G^j9Qt>t7$=1e>l z0wQke2x+ELy_O7M%oEdYav0QT7bn$|o@V#&$*M|JW{!hQ%~i(^GK|G6aqtXZ8V;Ts zkr}a0#L<+V6D|&znQ^-(zX4m8G%5`?8>YddhUu6Hhc89OW`@mvXCx+v$J)zf(r$l* zSGX?3EJ`LiInYuj!DF^46Yfzdg4I}=7>ik=r-v^MJzXO*V@!YWT`yah`v-bl!T~Wp z_L_yBM1Ow1rMGg{-7VIUvNYi#^P*a&U4dopSQxvwod0;L(gZX3_K(~ij7g#bi?dZG z$G{ZDfiXvPKKgV1{PTHw|7|SSK2aTOivd{@t7^v$&#->Y_oMibJ}P#I!tDbNit0h+9$~+Dlm3l|$B7F4*%gSD4CX|orx!&uW{M+E&)d;vwo_fyNx+yXmIva;VybR#C^y(t zK_adnMaIhNoLL4jII}f6987q*>rS_uo7H=FF#iGvv2dLC+W$$}@i*pkYDf&{*ku5$ zSd1QoXLVyiRR8YfS6nKvsWig8BX4ClLVR;%g(<4QGBYwNV!p)7l<*(;kQxKbvAj;0pfOK~8}Uol>qf>6g~wbN&9zKtUrJq? zd!j7S7?fF+gq2MAC16@vy}w)a`R<|zF+H0D8U z5UH>r?`E5+Yn!oQKq$szu2h5gRz7fcj0Ode*?dp(K68%yu9aVyJ!wEJ2gWR@--!O` zgS+jmc-_uiY&7U1>L73N=3NtB^#C5SEiEs}dZ~14W?Po99+D+ZJ(QR7T6rkrF<0uL z_}11#1(4ZN4=r5g7!P$|%#wO&IIfQAY#u0&@f3|Zz>7L7uIN(E(ttOhGH)6=%frma zL{5F6IURW_YaGXnJlQ%&>L>I9pHkp4e&WDbZ>c;LLmeYeW}&o4bA_{2k7hiUD(%tu z*0x6rAhV^GDk`+cSV~oCQx8ucoBhXs^W9&3NB{SS|Nh^;`|eN2xVndBv2f2jM5T)a zmFxY&s>AKOWHTruFenZ|(VxmPt$ji;hxHf??9>y0%c}>?N^{X@hpsOj@x{qkP z!{D}Kk4lnL)+brvH9b>k8iuc zFnn;re7^E{Crqa)0rX{7FnT;FA#h7k9V8|a36-*X{l0ABb7(M?F_xl6JKl~3p>9OYr1dvSQDtJss-swJ< zF~KaX?rStUF3_;!;3?~?h+@a*8b<=ga*&}iqO7K552nLZNjaB7kt54HhTWlS9BJpE z4(*^{Z|?Fl;&vFVp$8yV6r~&oEb`FE;x8^#?@%tWSlOt=JN`>Cr4Wp%=WhZmO zH%KLrOh;iLNcAPVpxZRmFcZ+2gpveLakWC@B=GTq4sQ3?{;3qR^dS zr{`OLhrcqDxiBz9C5TK$amP#bLSO4)ZvPyj0TvTrGB3^wy&d<^#ZHM#V&~>Wfe@86$@FJto)PjmFJi%62sC)P$qU^ zQrRINz047Em@*y4N{ixaq1z)Z%8)E!Y0=9GyjL)pwv-jQVo}sRQdWj!QW_t=?r9J| zxxZc==*b}EKIW2wy7HxfVj7ytdz!b4-R6bMV-=4Xd1^cf786mo$ce(^zlzUP<1imX zGA#{Bp7ysD;p~Jfy)7vNVhRe{L_ua!qS*7+0^MOSaBu;Cobd91+b8w*vB$fBg6gB$ z-fJJQoDUINMvm1J3NV@1bfgNweB+z z%;T|iSzo~SizkZgh`!*#mgicP(HON7Arl`!FdFaz_@u_RqD^%_B5#CZ7L*8lM0B6vg-RGR z|L(O9Au$Jb@FpB9HjrLvH1p$LssxZ3wN&uUMp6+Hb5K@=dBN|un-1^FZ*O1R+~h=N zw5a6#6-Z{J{GNumT~0Kt;Pf`FCcRx8mLIaYx~(PrpoSx`Y%^r4`t*9#nV}+tuL%y-=f9e8x(p z5t)Qr!A7#y=DoGqJyik9p`HI;P2(J z$T40ZK+HgcOpu_m`^+BYt1<*6=Acwkas2Q#e_z{7Tq_<8Sv--4>t%DxC~6XL6q|=* zw!{O9iP}gHP_Iu@-WqiGoBPGO;4sU6b;Su*MUKn$W3Q8{b2uEvr|D9VgZ}>$+|Vh!5k`QRfi;ASxvq63d5nfUN{;PP4W*qi*dB$kv0xdt+&t-) z+w0D4`<$P;qPU`ZX6@6jZKLmpX8wOuU+OYnD@_Dw z=Er3}6?Nf9m7Nza+vy?OkI~x-xa5AjQ7+N26#<=f@xS-!0>e`FN~(F~&;$JviuT~# zhPpps+IN<{yWPqk0yOj2ErB0RXo-liL^J-IC{1nJ~(xMa5&rtvWhu;{T9wtNdN1i(Vcv zjQ0{eq%9TqXxo;ouf_;oHoJ6^W3s$HeAY^@pM;(@k)H%~Zbh%3#LksAq@ish0k@^s zHu&kJwh?@8396kT1D^lvhu>YD&7YiHov4h{T#LKM1ErY7#9DU+utN8JYq|umLidZ- zbO|8SVaEc?ezJEjh2m6GKA$p|ZhQ5qF_{!wkRmBP9eTUCtI(Qz3kPU5YL(cJLf4In zH7XOMz8ocfipRt@KdbPXyL|@)R-jCaLQ|xD_QUCAh1A@-F+iF?GUdNbDPJu<2mUkM znsC=u=*#pIbTSQ17TH`3kO0OsSl5bbt=wK@F3}Ch7vPvG zNknLvqTYv#pSzu2=pLVlWS~r&c820c&LcX5x{njfkF3UGN?@*V^{UW8u^fp*_=ONP zNQ`%g0LC;}Bo;~BdW-XX#bvG!_6w9CGGQ_X`lf{ZSy7H312ra-Cer}_gY!!)g)i>c zdK2^bX+Vz3#7T6?eo`Cy$48eQaBfDD1NdM19A4>sd=8)>`zi6XadtiU(UcyNDP!3W zuh!D6`>Fe0)3mvn+wf_P%neA!NZ$aOwJ0TzA0rb$ro-NK-FN*Y36;j1`?aF|_2?Wc z(xUX@ftkMW?R=7?nsBUd7vS8CB7(VDh2lOof_X$HEZod}7WJel(Xno(k+}giiGQx| zf@vTz5Sg$hG0mYWp4LF(1eqI9bSx<5m&(M)b}R?TbVbLauT^o6?N|z!>1)#J8EFG) zgVOqoQi^Gi%g@HR$%ynB4aN)ee5J6?HcB(+j9py&SP z3DDjIAmTAuG8@1PD0<`_KO1mRRf=r8$1xOuVv1yHNLMBn)spd3LxE$eWNzax5K_K3 zer^-Mm?kcUyZ!3kGp{Slp5_xk{my`W@EVuNlORsp+beR858??R)1^I3=-w#39?`=R zL?%qa7d7YCa2X`pw82!7j-OKHs7#zGwqnlX6dM40=qeSxkmq^Bm;eR^4t08PbaVDZ%&@RK2zozpMhqeOpCL> zoFwH3b&8vWQnB2~wpZ|hhd-V_(lnYD>E{&~eTB`R~fqDabpv3HwF zmU^ApoCFOKM@VK(qlB+s%;CR?p%ltom?+9JZ>$Buq0TYD!A(ky@Uq+8Jfm&5SW&=Z z>>KTrW=;PN{~Wt^ledthmzKyT{{`-FRF2q;-yt)J7HP;9aMy z#rwy#fleV;9I=kfZAfk4l7^rz+?u=7yGD=EL5a-#m|eW-mU!nF>;CKcDgHwVZO)zP zpGBc_C}zRbBKdTFzro}3*|AWwa^1@$aLk6uS;F@G7YAB_o};54q=*Un2g|Xd`?J$4MK)ft1d!>F46|g&0V)+~Gu!VKE#fg*qDF-H(q`k;C~!=LbsCln-*S7I z8Gf%&0gP!-tfW%2uZ+@br}LA$yDnShGV9%Rm*sr9-Q28_F}sf2Pkgc2V`)-(N)zIM z%fzU>z1=M!zt2_06d_io)Qy7-Rm!*F(2|hPOMF>dm4j zmaV^jSiS#{s3jsX{{IC0)2C-AuN1a(!aF4{`$Vt?`O4WYz(k1mojmAj{)b^2dE8Qar6b=(m zNW?+-WNNKsFf-CDBxX>|LVoOCrg+sY?~(6+>WbiN_MO@tAvI9u{2z%k55nJDlRRw` z_wN~yx(5A$W^MO-T;}gzq*eMd*Db3q80w`(g=E| zNLkt(jWca2AZ7@HgdtQfbDPnsBoG|N4-(KhmmQK0ot2J|AObN1`S*qE%#=n zE6L`lQOb}YF$bR6CXV7UE%PnA5?wu|6}0~n7i-*Xcel#CBeX9#+-^z}sokYs%s^CW zxkq7a8X+9^_C2b<=lAP%p`Hizgd|a{z%d(*dhv5{m7y8+YT~$ts~Z!8FTMPF_^{pl zw9W2+AK^<05=%ny50bp`RWxPt$Hu<|hS4cAyLjFzGYd!zPTc_43|{^2rCx9}6@ztN zysnFD6w|=UNQ~~9zG;>BU3er0C#_##GPo*7w8v^afnjuta`DgEsP@<>r+}D&W;5{v z?ZLthWK;>1|BRdE*KwKne;{H#jG8Gx-Q0VrY&k#LpD)&Xox6lB8lhXR4 zOkw&^Wk%{i7?lPDl$}~lgEA;)!A{nUrKjtelcCJ5G+zSB%;aJCQKMOKKw@y}B1j5i zA5mUxmX%4CqDq+oG8J|l=r1H|vERX5=Y9aC05dfX<&@N})>ZJEE4dHkkLcV8vLosw zr_Xii-V8%XwkoBxfW+XG-(j2D&dt=74bA11>f}6P{ zm0rkD3{L|;y5}Ga3pCA96N_9XGs2sn@yi6ta;yWnDrx0DV-OP*X z*cZP)Qv*Hr0~Hg4$IhD=gWF5NpZ>OsDSTRHGqpm!Ihl84P|QM6l0LPW4QM3h!1^|E zphC5|UhL?0t#08D_>*p7zFP@xXx^VLJ`RivY za+uS?VqbOv$0FoZFMrZk+Z{DYbM@U%WljD@{j9=ivg?{onjaTMpiM z_UhtPNq3ax7?5St>U{a?;`!Cd4^Q=s`6zWpNT$^4ynK0bs_BkWr-!RkU0qydk{w0m z;p$YcU%qVVBp!~bC=ACgF#qY|$DihxuV1}-@#9Ihx!TNBhdM$I%=9$PNa*3fJ?!QT ze~?|{GC7qN67ss(<_h8WqJ3S(5$Kpp{^ zF72E6+A@$cT%D?ERK0qkqN<9iS1&jOrb*ZlF*O3#C2JaWu3q#A-2UT#1#J< zJ|xR4MUBhsh?TNq1(NChXZp6B<25e5DcKxRme@hJ?!F|JVHk$~XC8Xf=@ln)8M%r~ zC>ikGR{PU9U_xQwpp3iSRxbdJQ-*`dp#ONEJ$5$^+QBe%(DVLYZw45r4nhgQ_ka4A z%l~o{4i>z`EvC2s@c;h9-~0)Q!pQ|T68R1KGrhsY6laBh$v&finDtL6p`C2LB76mc zI~6ocf_*1}NdpN17PL|V_Xh4vvzVpuUY6o@Zmb*3p}c)JLyn{uMa`0?%BloN1i>^x z{y3w}APc=$=2(1E6t~_*y;1~og|RMzLlZfWfMh%sVVW@Ec#>wq4Ku&)zJA{BuJ@&I z<^*;?xCB__#EIU1_KL`@`EhcxpZ{Y}gX(RqTY!_a11-?uyfrs!Y{dO~bBD*%d)(Q~ zJQwLaCxa6^hklbX-7X%v$80pwWB2wyh^V5w4UX?BUumPe5Yyf)dSa$Isul7CD6tM| zIb=9ysPwzzIdCv4<@kg~>Ck^XMF=KA4Cl{D%qfGJxfax?xExv(8Nx|l3o43j--dsu z6rDG9Rt;+HTM>qpK23bofvr71PN666R%oGgzxGYQw$vZCTO4=&&@De^NulZN@9-~U zQW$Z>)v$Q${!05b=oI?wlL|d%Zcrg$DB<|`;JClJL1IfcP-3gxVfFrgd%wr}Dh}!G zXUJS{i&BMog7}?-OoSVtkfxw#4K@WQ+irC{`SY{`X;XI1*`KE!`ww{eNO{CG?Lf2{ zv58&-p*K`L5cz%g>mz=BnLidMcwr@s=`9My1 zvtDE)Xfw8oD%YJpAlZzoqDpMuxZdJEpJ{A|#4T6lr`2QYa1V796tS7iZ#E7Qv~W$c zhSkTYU?p5)CAQ9s6hzO68x!{moI6ls-d=$V+cqYS0@J|?Ts%qD9Nd7rT4qttT+;8c zaD)}>VmD~8Zu~ea1Z_wdg`_KII1QMUgPplt*&}2MD`LjbkbW)&ZAuzr->Ytocjdd1 z&n$)Y2pIrHK1}_C8R_LW%D&EB#i~}g8tb(hS*US4QJ}usCI&^rRnQ%)*%Z{`%mYJH z&gi&llNvg13TsKa-|5A*rjq_^SQKl3C%fGO*DzepFR!p=>c<(a3ohty%C2T1N&Z=q z3zg_1FnMzP?B)lUkqC(5wmq4fT;&enLXEmYq^?c1%*8HgW{uAw3K<1nkuyG3H`5h= z^Av;4sB7k^&m^?l4OReW`bJ0Fm4=jx2mnZtvPSn#*{~^{QYuA3zjWGEsS#GB#5>nf zsq~#@wVU^-7*WiegC@4(QpL|^G=JLY)xxP-qB=2MZA5$7C+Wlt zE=r*6O_bo*k$Z@b^SrP`&C@uV3goo8-J23pMk9pI&EDaEmhst6-T0r)J{)e>f4Q9H zz@pmFyY|VLQ1K}{r2(PrFY#mvq_Ck@O#Q;}bVYJ!%I;mfJ z)=p#B8fs1xhi5Tfr1E2^Yn{@aT{f*!>G3m!6-eZ1Hr?mD#ZFJVn-GO?!bEV0C*9fw zPF-+&P&g@ioo~Gd6%~d^ol({#Y)DG873caiKK9R%#`#Ia6d^^g@!Ol)q|7|}R(1ab zR2VA~zL}Ma6zvG5D^P2y3D7=1XH}!4_-`B~^Ktz_Q=pnplQh&Z@G+dEAi8U?Lx_X1PA-(iR<{%^gV9en3D14=GOhid8zX zJ-gLc#G27$U%4DZAqo}zQGJ;0yR|NROh|V2C6~-hFipvli<^+`DcOjw+_~J85~E#C zStztAAyz(5pLMuf=Gr;Ra;*nDGniEM83Dylu-OT-z2Q;tnQ^UGuO6``A9HQz?{FmJqtfXl ze0$u0yt;1eHy0jN1Wckq_%tiDIo?ZiHp*5)?4i(&eIlV#Ds4U>&bio8MxQivyJ+fz z5^)t$wP8t|ky!5hdhi6|Bpn>*0;Y+g5m@}Aht>yiCFb}(UZG8bH@?OITkQ?wgSWyK znX#>uy;S|6&tF^fCxZw0pSK@80;&j{1OX;2y36<=kh5u*;xQvcQ%^g31I2F&)yrz;uFxg^X%glHNKD7@n7+^G$4Ybi42A6);x^pKot&_Gnak zy51h?fs^zyg(`eB#Z_NsOI;LeLxX+v2@Rk9rFvRTG&?Hyi58GWJepQV@t8Lgu^k-^ z@FgAIE5X%t>-$^1_p}`?>cu^@^nk1Kns%hvcu*nTq_>-6Us|5jBM+N zyv&8{A+PjU2PB?~6)VM}m@l=6I%i3$yf{#dEm=l$O- z11(Fg1Wu@^+{sk*FERz1ORzmOfD#Hy_yWcGYPUa}@4A9#jOrkc;0alxI^t=lI))P} zDy;^&p5Ncrq#85$K&pTyM2Spq7CTCoTe$~Z6Z-l%Eb zRz})f>Xe}mT(lcT*kyPCXVz_ilJE6;kY)?!Cml6Nn1XjkrrmD4(~BmP@L*#K?nF_e zXcL~`DJ;*fuDS>1Up=ae*PDoy{3}9rs&P_z#L`O4)XGW*PctiJJYpsP_oh|~kfJ-` zx_H0Y?z*0CY%c3oyKxFBgg9P$>LLgpNZ56^SO!|GeXr}0)7%qW=PuBt1tE)E;$ob# z1*PjW=dWpC(9%b@AUAqV1JZ&CG?4R$#B(|S^=A8dOtFnEftsCE9yD28t5G9!dW4 z!<_HnQG?5alDR@;h8EJ0_C!*z;f`EN@r^So^Ep%@4b_sIw8(#2a#CU01+ihHj-|X? zFP0$`iMGZMK?Yj54 zC(y3P?b9x^mJ#?ENgu@7Si2dg#9esNYI$(|x11}C7E&NZu`*40z1ck^{yk`lUc|o$ zF2pjn|MuC_(+`Uso=+JL5$4?j)#0rNU7F!?Z+E30juV{Hqj+??-uAJ3Q}nHT6!UUS zVRW??|J7HkG}i-4I=+o^D1*6l$;#DR5}Mk5Yp2$EqwG$=D3{~X2gsc3dP3TsD!SBn zhL|VwdMQ&-QKlQxBI%RuJ+@`x(vaJQKF?$xlNh88uof%Au3ijl%j$+wFY5*5JK6hY z<<2@@!zrrBny_LdUAJdVQH9l&6X?~n`6-n~QIIU2P&0#I9BS7BfTC5LrMS=F{=1DW4l$oGw|uiaMJzx_HQpZZCaZt>#Ts zhFS$$blcCY72KZLt;&`%S5)1e+s)4vHzjVEp;y?=7a<;^a}O_CkC6)==8U5F=lkrA z=_%UaWxt<$Sx*8Z$zQs*j zUKvkOEUCHqvttHFc(G;>mB+EM_>I3KPT6~+MhvNvcObOF^V07`H~7%xT;ob8PVj-|gw&Vezt`+zfX^vl7PfX}jK~1QulTGE*bhJkgidDXRG+nx5&nKTO9nlqq z(58HDe(b!O91FKZz;h1Nca(@`?6y3{0r&WfCq+;Dc9aO#m3@ClD;BUKqxKt5s3mMl z7rSA9+WR&4*cJJoh=XgVrz3UJmfYG@*n>3pMUok-_if^%_VO4 zp=;*cy;@t4KA>nnAf*r0CN5%Wj*fIo}NYfJL6&Hr}|XFw;4$qzucC$fL=tdW5J#61Na~B7wahqo}kEbwYud^d)bC; zv&wLde}2F}k1EoDVg>|W{UzN0p*Mh=f!E^G)lf`_h4cwtCY;k@_wyG|pUiZ6WKKy3 zXcexATV?*~#p_p7FcYpYBRei-es*#C>c!>R>5J#N=r62^!b3z);H4cX2-Mo~{PopY zrUNrSd{`3*d6>PbfF|r7d6@m`_ZQF4UrZspM;3O>3ZmxEo?e|ew|{c-yUUE+d{1pi z@d{YDv7l7pPW&Tp!*7o9KWRfsAZ@`Mq0$y_s=OKI1nEJl2-wvY(8>ul2iKHPyq#TV zH#HvPhZ(l;V~#2s$bK{Xu)Wv$*%S>(gHhgq+tud&phx2=nt+l;uMTdJ&FP!Grf9*C z686}@xzStKr)UByl)Xy0|3+;Xa>lP%UQ*McDU|Tn{YpTmJm0Rbi%xk=bjtiaP)Ogz zefoVS;nv)sNlGh!-sTh$W5VYAjjf$Z{Ftyocp<|wR~bzvY|jG}RO#0fHt7Gf6;z8f z6Sn99J**Bv{_gA~pK6))Cxeh6g)g1oU0pnzWM-*whnXAC zEQPsuW+}f&GVjd5$IL8i@S=fqW|{o3@ys$q9%gSovlRA$nWg-u`OGpy7THnlqF&~U zc6q(dJcd*6Umi>-LZBL`3z}8dAs$^HLV?Z6!>L-4|Ct*td$<@-#0v3g&L435TR!z@ z#>FZWu40sHMuinXQJ@Su<#;wS);nzptmqOIUEF?qSk&FnEE`u$7SV)+3>N=fEmn>h zF*8V^Bb&Kz&S;mf$rJUC^)WU}5rqo-p){4x6DMM$x^LQySx5pWqH}uOFL(2cJsfjE zH}@>{%+fAt(?40=sVfO_5s_euA}OJBf5(ErDbAMe{f&#WTX$upnz-2o=3Y__F630? ztC1hRX0O4ur*d@DgmDG!)EH8K4FJIm2>Md0K=wt18J}r5(UI8kt;%CQSFjSHy zm_mmOu&Es(z0e0k%v($<6#7UA<(z`<^9oI2CoqM|l5Dw@!foBx6r-dd96_hG6(>b< zXUc5sT`V=7CAdN=szdI)SZ((7#IcIV=JEU*Qveed91ZfKF^kq+6As*g7C5ktMC1R` zTo9|6AG=Yc{n*6eu#tA*TISnAN#;E=6(t2M;h+?p%+DNJgcb~xWF!n>Q*mx^JDDq$ z722F_CZ-Id+DIXaL~JAVHS0cOY^3mn zjWTTVi1798>hQsx1T8w0od=dqn1c!{&8Vxa+I&qpdB7uA+-Le6GgLSnk%(j6ue+}~ z_?TEnFoMl3f7b2ZciBsMV_NQTdeHSwrQ^}5!a$bxZQp*vDRpe?SL507B-~{j3Dp)Z zyFY%PDQZlYQFx*-nh}dg!d4Zn9Vz!1)g)XW@yG9#F53~ZLqDhM>~*&sH;eYr9IXaXwzlY^n=@Wk);=Y9XU+(?;wOcotc#U9*AvArD5mg)tu9@z$98-iHQlRH+9Ae-1@)#B_np@pHwB$tBSswU4gpLQ#^Vf=^vrh0 zcwSCL>ueO}UfG488}F_VX0|EnWUv zT6;{|b~DSbr8H~!_y_)`H=~(zWMM{>qn4d_WV*Y<4p&D#{-*Fgc^#@y!A(-Cd}YKOP#?yE zp(tTN0L^ZOZ$!g-+wN}hD7Z9Dg*o%u8u@3LpZKRXMRACyP9)EDNe1;53YSd(mY|_tJxa7C>i_4``hrI{;BGd6SX3! z9&5d#huOQuUKc9Nm8Cunq_84*jj~ATrl%~9+qI>{5(=3&)d1BPpKO<>oys=fy8(2R$R0g1ldJ1op{A58?eKZVAG$iDKblzW=(PV-pWuAdy{}K6TXUQhOw+=Gi-fdew?qnPuZiY&H2M< z0)A}i>SpyB$7mY|SW$GC4G3GF6*VIY8732z=}QEDk#B-V^{H>4GwPw=5dLACLbfTgE_`v2B z2K%Sew8D_nH|;+^OlvRP`xbT6{y$Th){}~XfA*-R7H0mZ+04S^->R8^_ZV&N>z1ES zYx%g!{mXHU)$5<%thL`iuC;}y{!?ve;j7=Qp`lpohaOkrsV6a`3m_3$!VMNaX=)O` zlv`(8(uIOjLRTg+1QJ-%|p5h4JfftD?BK(BNl+rA(OWr^V)a-Cbj<+_RWFx{_D{7o}h~M^MVe?cH|g z-z=Hk?)3u<=BrHuZj#^%E4D;bSc}@}x1qgTWaqP5)8amfQrgS=cS}0^*Ryu{{D{7g zXq;I@^SIS$pe?!Gr)otg?ZGiCZ7pwd{qr=V@QbOM5$frr4cxf7+uh%}+VblC=3YMp zb(CX9XmN&6a|H48EuKR!2CD!22qz>&AqorVAnHqb%)|Ku5hmm(d>Lt+fdsO0M$nKg zj?9=#d@wPo0%*f<>ty9{wP%zp7+FR~sZZFbrv8Zz(|KGTql$HuQXwe{sG zzc62|laB8h3S9KcT~d9WRUS5OP0W!|5o4tZ&%V#MH#ht2u=MC{R+kxpNX`}W?0bEd z*`B^?bI4y&eS30T^yUUfC3^@WJq8%RW>6s!Bk&x%@|(ILrfEji8G}A52AQT2A)M2q zC-npDYkj}n>EoNDx376nQG1APfvOftTQP;SJ23SvX|`eu(af{mtyfFBqPwQZ(S@rN zTGUyitw!&*v|)0QHmMdq+LDG+t0JvAP+QiTsJGke`?XF0+LG4H>R+GCx@BA15R6g{ zb7-!)^5|@VYj(Ffba?m{bGii{CB>a} z`k3J8-A3-o;0P@0rKpOD>ilH+$NSZ;yZW%B2OJL&IlJrHJXuALq0QtNPYEiNH2o(^ z`VV^M8w^F?F1ZjK=+x z3@IwTg1Nol=!0bDwAj$)*%#4fE}y5=%4|qS9U_x(x!&&YcRI&t$Vh2;&Zs@JAz8(M zc)03Y8xWM=(tx%8*HEVwm-+a4QkBwtDs!2SpQltR%}NWx$xK)guM*T6S}+|N>=^ znSRU79E1kKnZuK4mUedc1>sC{nWMYKmBdcUDcEexcKEQ{e!f{}Z;rQQ4kk0Qn zOSD{9RspF0yarzBXRWZk;^H0W7->}=hgL$CYU zQd`tqb?&ifi7e!tKE3L20ocBA`lLWBlx~A~+l(!2&-S1~$wNO@1aN&GO*%_IGLMZ` z^23NHR2<;qry>V##6&Yn>XVV_WWDx+V}nQTvu5HwC|*PsL1{YKOaJJ!|FP^G{viAn z9ceBFHt&tAQ#v#ek~aMZAw5klSQ8dH7nQO^ZI@!1FSZSc6>&vCS~uvS&P8p^Ons8~ zY|v?1JlRf*`YN`Yl-1SE994v+;GTXwUEp%$oO9gDQ~@ibl+>xOxaN>9GRj09w<=Qs z7GetR>38SAbo4)`9#?3oLJK)%Uh)fcQfFPv@N}woqO?8D zNZn7~FkXl^y04D zP)+-%?e^pBgWFoG&zqX_`-(&vu1JO?!STA<{)=$tk0!p#NakvOg)u=CHVy&Fw_O9sW5Q^EzTPfy0sZCt$&1%NJUyG;eZ8T-Jkl}f zpCr9YV~S&t8~RWCC);~kwW_h1vv$|Of-OJ_8Loo!WbT&w?6yI>GuI^2_uZ50IceOV zYZu;|D@IjGBAmz~RCJ^vsP2<8(KxCICsfpVomBLVo$sJS(|EGX|0v=*vX_`GeLu@~ zg^V+jgA#GX3p|7FuoDpIX>|(%rK4Z8)6p;LI{HPEot_;1e6H6zV>=^SLX>LO@+`-DtZhTAcc-H7^ZuQd#_d%GCRlYA#;F2g}PCs!ld;1 zy?ap2sYZFFJ(=s{6I3CkdXdQIb`Dhpv}Zkignlm)pH-sFlgZvJYK~$q%s6dS`T*cW zCM^Fbnxah6geCQTu!ro{wNF`VwC@Y32$lvC`C1+zY{=+Tx&5!*2E~BtOJ8Oj+2h^A zBn&Go5zKXJ^{F-kGUXcLa)5P0+$}l7{>L3{eN?71N0}Z%016XTX|SqG8yS*U)Ubhd zy)G_vHdi@leOPaas9*~04{GMz!TWlqT&iAveP8!YK7z5NAS;)zIS%soyV{6CY#Th$^Hs#;2sTqcs!N z9w++kON{AAPoXEF3(txa+BMg%hPBJEB4wsp9`G|kk5p|w=F^y%$okA3G0Bx{ZeSXg z)Pstg6la-|!qJj+pWfYK55eJ|C&4xW6e7xJlE2U1SN0~i;=*2&l#8y!_|5%d?RIAs z0-DR&1Nwx#KQn3fAqQeR^NVY&Z+7IIxR5dko} z4$$dPQK2!j;zE#YXc0=x5Nni0#Baxl$wrN_I?l9XMZV-OwxJ15$d(>2m>c3pJuDQ{$cV&GiKipB)zOX0&^gB8KX6W`@{DoPRSiwqE?mG`wU};K(U+%e z(tmnTlfJp8Vh(Zk<&X^Io9;8l^CrW%0v6Z7)F_w;6*m9hy4{TASEOd?uE%>5P@#K*v`_6MlrW0@t1ZGyDwauR=KWOImX4%?~o+RE|LUF z7_i84vBC9Gn`QT`JABw)SE}r1g`uXYA#f#@Ty;&YG=u>QI0?lM}6I|IouY#I08G}2m;nUbd7kl6BI{fD)T^2TX z+d)u(r9UgTGHtDo+}D9cTBq=g`U!5|ICM2`JM%)pIQ6nBvXE2E$mPbw>&a?)sIl8s z?_u@;E%Y_D<2M&iYUIbN-2n?V<=MI9&*>a~#o%_t8Wx*yh4`;3#Qv6!pXjE#3cWqS z9Hx)x(g-Z*UBEM{q3l;?MuUHuxR~Gw`o9S1PM^AX_RA6AN_`aYiSZJ(6}lo$^~^Eo z1SBoT35|$OJNMecW34m7Bi8Ki*Los*v;f$d_Y||^`H5TVnLz|SUYI9bX>J{jn_!8K zGKyj{-hcvn^340I`#YS!D>%&klk_igF+7;afj;0!{02rH;>|u#!PgrXSp@gj+MZLh zR@FzL7q)R`!bw3R>BZIAv)M|yteFB;SQtt)g~FTWpno(i&E>`K&q}k8m4?ttX)w^B zdm!Q>e^kXx z;56Z8E4)J4V24YWiuRA`9sx|uz_IbNU2J41;o!c(A4*BabU{WFnnDzvRyE-eQJMxu zY+0)Y#_;ztMHypxi=>Hr*O5_0;lg|zkzpif$Y6ERUh%9s*m6r|?D$$E%1K^A_Lz=!y2s&3zi z*j=cT&JVM@uOx^vupJ_6qI*1%7A5W=?d86g$vnGQRdN6ns@QK{Z}xb_u)8Manq=nr z#VTKlDx}ey($9UwW;xO%CS)OxJvJwQw%C6xeAz6FJ&2v4r3Ki&LoGtsO=7vslpOpW(}6CfoV~;4&=QzP=-AQg&M~sNd>HE6I;u~MKtlf(r8;&tS=_4$;hg`(_HoG@y>MM5J|O)BPTT^ z3n=E2?gMxUR=CrSC}WG#@7Ru*4=f0k&lY!g=z!IgC6ngX|Km8kC^QiWJ%c}BrPLL1 zKX&>lOY;m;FI7MkGK9;VOxIr8QQ;&`Miu&fE}gj!Ye|<~aEBgIC)Sd-rcLAxW%B0o zDqOK?BCqS z!i;wi4<|%PCr62nB<=B#@zF)$3USiO)eka3zZtF0E?UzjPD6QkCggahAuv&C;xum- z>-#SE&GAm-;e-e^rDu!X{sW$~d4*jube);cNGX@3TZi5A-KzJQ=O1o8;7sPO!wk|E zY*JFcL~7OF3bQ0J+=>KS_)!!|`7J%zTk?kVpwXob*r8uBHlP`U5-33I3Ipe_`+7zEqbxCQP`aZ32Fw)LK2R$F`d zGiYH?x=&_oN%ej;ZERd@}wV<@Y z6irBCLeWlKO;Xz7TQ(xZrBV}5M+YV)WEPi_@v8E(sy3!+2+dZz+xaQ(rr9oM-Fi>M zcY58Ixw?Ma-EMbZlTlLO#Q7){|{@6~{Bz z5N_+zDBq*msh6c{nXz(Y#tD5NszhS$f{b);Tk)`6s=|!3i-!_P zG6pS16NV6VFw31J>ZG_LRfsz2w^^&GlY$DNcW)fmqUibpFDvOW$6Ny6A9nZ41D;#o ztFbKt3KP|qIyxA}Oxt&Vm@lrcbpUTj7)68RZAJ5dB3i+uD_F>ga$si;?Fzs*v?3AjtO2g!?EcLMTKa6j{U{N5C33f3Dm zxrgpiI-Sz^;pFmcc3Zfcxq@hLGqf;kXLFxlpP!$-s&F5x^9U~NG`Wh-hUibPfv(=) zZ}0cv8Op=gJ3Y&>Cs)JTS0vI9D!TMF1mR6}`Dt1}g@@i2?5?x(YSXlVD$V@|q0Jpi z`KjC#OEm3*xjSsl2b5>@@05n^Vsm!nIxsP!kkJyB7l@osjye~F=7s?J7u)M}PhMcOxmh~r3X4R#lBnLC}Xvta8m*&#UZ$W(|da92%{qu9mX9xewbMv`P`e(FAaUl5J8QNR->T1*T!3QS%b z^Tpk2URz9TMI1$>3&WB0H4`!5iHNa#F_RZjjU8jf%E@8`r`i$3!pW`6yKY%XH#Y0g zup(p}CG`(xdyp$hzY%fivi8oadf(6jeJ>*aM{(Wk7a@H1x^U};#9T9PNTK}J)HIv* z-4~S;>O>XS9vhQ9qNqD|Blc*ZEW~jF0b+OMTTQ!mm8qB0 zVG11;NPHKe8q9`N@VI>$b)K{a6YYk-1~nE$V`oGHDH6qW8A~xwwo9KeV-;|TwKkjq zQSyzQDWuTC97mb-bIp8BX#erM@BZRD`oH9IAOD8#{N&w!yS_&TrWevougPzo%-}>) zEFSZx>+9L}XG*7LQLT^VI^KAe5qv)-0d8z-B|&m$TOt7wG?E}8z~II<*z-Zg?u*W5 z%wE-J3Pu!*BOxu=v~#uN!ptae`I(XCF=s|SGU=HSsf8m)w4jH@qlwx| z8tn*;Xrji>al!2&>-J+c=CDK*gz=y;{C&HFpeuTURrh@};pkCY0%;Ly1-2xNJ?dif za=ln~s1D=;n$zVT0VATwSEtkBO-fe=zGLaC;fX~r!(c-?RPlp%2D-$favPe9!NWF8 zkj0k6^xCEq(4(rZrGL8ru)0AU(7n^lREGukpdxcGsTQ{_DP|#B(q{`~bzh$0%F@-{ z`fDz+xz;=^u?82(%|>VqOw$NV0y9nY=)jy+8#)NEBK-idmb*1Es+n5i7rWfvW0Q~& zG+yjP$|{+buN@gCeOj`Y+t0YoIP1RVtYO%Y4pZdoqtqgP6Uv{f?7k@_res>NuR7X- zjx8yFx;TY%&wVtS!Z|Dv3B^9~9jspE^Te@}(Tfd%2}`VexNBte?A_cA)#H=u>Xffl3%0dnmZm-F*WdQ821i`sldVvpOe zWE;Hzi8(Me#2>G>_wUxY@_9S=%g&V(aOS*!xuwjSZVpj=IkYgNE?H&X?rs-{IbEQs zDlN_VvGiW!$CFaaRdN4GbM_v+-xWJJn=_;IQIi`Rlc&`;UNi&m`|g07JF^#-9__>) zMO?{4?>)3W;q+)|k5Y%$??N35jUfvP*>CQ!(c^G4yK#=MY+w#qJ$;TbMGB1fDOGXG zvl$VFEJbwKO(PJZF7aSBWqEry+v}Ahb6ZuP+B}?SEhEvPy%h;6uR#*r_=*7R<-)einfjjAp|JuN^Am}Twl|$t~+lmt?kPrzE{1H)NPpXquHUEp63* z((RYK)g4{Irte%b>+Cml!EBs&)ExMG$66Mk;@@`95LV@~SN~1L94C@|{5*v$*a(@B@cj|9s!V20vR8GCD=Li9jx@`kYpG5{QrrMkkrjVBfs@ol zHg`psA_sVpJa#^k+}{{eliQxI;Gb9h)ME-EHjX7y2g2e!Pcu52%0{mZblWVlG-K25 z>)D=fojnT?%>ldDmMO02HI5+BkbycEw=px7ZF3dl4|S={fzyyW0E^f)jWhW+GjnV1 zn#ys}Aq1y5uj22qD)+F%QhVm+ewI-W2%YP@vCuk52j3=lDMq{T{n?|6o^`N-U(tXM z+v+iVJe@}rIxS(KYb;?#spDgh_Z}gjbILvey~nl|P*dvcsD6F8SzPj03s#4>?NX$p zN=XcaplWdMvH}#Q#4kT|%a38Qu+8F~dAO-(n&6JQc}!tU@&saxQ<$0Fpl6;=K_iD~ zBd|~>5og^kc5k}{=x^{!i_`Vv!t7`K;~h@&7YTKWEX;}TZ1284!E+$EX<~m+lxE-P zlQtjioRw%_UVn9aDToa;T6uA<-SN`hH9M98IE;Ptw)z==T7Wk7Orz}v42{Kvc) zpiDk*=)z_JRrummi}|!`w&IBeiokQ}4u6S*DCJ)jzzn3w}c!fRP*A-5_90`A@i`J zH>#TZ{ulW0&y-M&cw*RSaos;RIels(dccpTbGTa`o6K7I`{n-r?hY>(72(1Iiq2wm z!iS6f`D(LRV~q|cc6Br~r`&^#39vB7KJ1vUaNgu&$!ktl4Bh}Mtg#n^)qTt*HPeMb zMh7WuapVNs>rIu97j{_n){yrx(#EWXfpJU9BnA$+{o*olQ*m?FnDqt&Gi!NY z<&lccnG4s#52kXh06nPd_O6w))^zPyr_eP4i@b5fI?SLC$(w5CaVt$J@`9i_0`$Ab)c2~cduJufg1-33`pe!E+X~!4qV$zoK z1(bGlNp|L+6D}UnKEhXf=2#G{;T$WViNTT#(DS(RiS|k}oUK5tI$J}+R6rc@T&@>;>`lo=yYYMsDFVjS@?y^)vFNhHk@)LI zGBT`i(*9guKE2q}`N%AEjV+#funNo5Zu1@|2X%lP%i_U=B@S}_!%sNLMAxG)a1B>E zn;mPoh%LmipU01xhz;4I$=W;%8|=r9*iDEI zPk5rX0*?;&ZAjuM=}EMEx8aCGB-V*rywe-(9?(Q#C6CsanUeODMsl8*qP^(<(aU8zH9)Qd>#*V`TB^ryVBwRlu z7@JB0N${ftR3Xd=#!5g?!VtZS{#?6S-zg2vcWw`Q zqiwzsQKXA2+3{ojyoXuxaV^a^Ge%UQjEO`1IQ#gS_D1N!bu-2|WG0LoQmTGF63@3GuGn{S;&7&?u(G); z!mzT(l^zsNNk(M{>RLZ)%w98fV1NAnrpF0hb8w+9x^rW>aUsgfU3a?O+^pWahpR8} zG7;W}y!L;Z(cMt)qjL7&d^jBL_W$K?|CU~Dn%#ZH1KFF|cK7~ofBv`2|Ae;}|8|AC zH!idy)R{!jAtG^uf0sAtr9&TV&Wi@kNok}pSQ&hEznPzGzS7a~8J+Mhyuqw1;%=F* zA6D-_L`5W+LWSy1^5@x&u7@-t!LXl@oP9x|dAskhM3P1_bHErB=!eH zQqgbiWN-;SOp<`-rq)T@5Mkn<2$Y4NHWXTCHTP=6lXOJrtm0yAXp+7Hn$peMuwYpt z+QmoB+7N86i4J+24%A^7^ez|Tbj|M?Qid^5Q5Hi(Lq6q+K|~!)8kJ zH@IqTnD~3EYVjbU9f3%WT2e*np%F#joT3F`lA7s0v_KCf--aGnZq%J_s4o)fIQ?cmn+(o zO#!^_XXY|mUF{K8v>o#I_$BwRc2ptPjZ{68xsi2(6j#Ix)tB^JU85~Y!;q*+b)0HR z7dlKz=iRk7cQG$yv^?kRivt%8hvA`Qzo`vS&FRC~P@yk|rsmughpxtnX^F$OoaOfR zc7eyZ)8flfUgmMd&dSUDx8P+J;-e%^z=d6zIr%|lNNCO-Ca|7$R?FN+Rv$c~$jG7C z-%L}PM7E&`lb#?>nXR{B2~|O1(Ko}l;RyMW=LkKo==CFK!U?DthzDn9AkSCxhK7t` z){!)(HkWHiSW#)|Ar1L>s7zG4&t4H|$OhNH?EZ*dWV?CT3#CV8bE3MUi6`CTEep^J zPdo)>cmD9a`#jrse^hbVTzc*20i3XSaqhd#vSWD^jhVWkUG85iaS}XXLI{LB;mdY| zi^TF>)25Y%xE$gjncgYgkPHr(N_N0Y;kczvsnOgGGc1~e6yXpV&%AH6=`Y9=9fQ%%*%kCi@t6zStjTx2l($v46l-2u>7P@MtG##)H|1 z^fhY0{KvDa`Nh@Qv+P+o^GX;)Fu@fG`gKvrgD9z7>RNeB+OqzZ?_a z7*YgG<4z?E920j4uAfIcNi!al?xe?EY+kMxOWIRfNj;D0>e^Ub;*xE$=j7_t+wM8rg$t0=qVHd*(Dpz1UoLU$U-pOxEb|M8-4_c&4^Fs%Aq` zN9^ej*=K?sGneszB3T*%p01GLXrmp|GYL+3(y_4DIggPm^U73*Rd;O2m5zdZBCp+; z8xTd4H8yRuW5(Qvu<5gTE!on3hL$uR;TcnuStry1`G`w)oARac zq;kgcn0TVjS*Ef7>K+T9nG%nQ{SHrD1Uq_RsQJnDb#YhUFRZN-`!2bkI-t~m@jErK zYy#}dmAYDKznq=7*r7<9o!Sq+a(MOy`)RV*3C$Czg+?5{gAx*KbtPS$(pwFvgKE`` zkbrOm+;u>J!4y=3aP#pdreHJ?Bbb6}>aIkdKbiOVzLwV0Lv(nFEoHfa9uEu@X?D=Q zi=h?8{O3oTSA|bX$5!ug75@CPJG@L!K$$&*I`n0V^V5my8?H z5ljDYzds=9MS*fZ!(ldDlcnOHom05lW+bKmsbPhcCT8X5%6{;cq%Ce-qBf z-ukzHxN@;%>*Wk34C=+UZlyrhgS_SA3KSCZpD($5uV=`Rf_v3V*tAsug_ zCjVJvEu6KXtd-7BvgQu^4Hz@0ZOBLiz3Y;0)xXfDoo3aXHBC_@Mtg#+vp2`jG<7^a z6+E1RUT^O3gpPN06^-p#M@>f_P6B^HQ<$O&4Hc%8G`TZR#FCk%2@56g2i(#?ljCRG z>wCqDjt&n-^~q+|80xY`#8S9d-R<^M z*P}}_S*-J=n8Fz3yWh{xb~|iN>UO*N?Os1-YX-UM^%|r$h7~#rm@~(NE7>KTzKSZu*vi{Wyw#UKw5FyEFOxZ3 zx~D}pUDpuVgNnp7SMH(B1a3@Bi;0@}0+;B}^=ydkd;L!7k-BDJ5qg08Kv&eI3z@CC zu~)rE?(a*%&HduT#%9647s-d%3(=diyXdTXAf<{0uQ?tJOP%JVWrxPsx|1F0-vL)N zUB<9W-UFpq(T;R5MtumejwG##OI>r@W_MXEX-!=QPm~+6m-;qatvS-h0aR4oPpdWE zn6`}BEN!mm#>A9)eBDzPesX`kI{dWVew=;4f2e?IZXn-(P0P3$p6HhPPxftgzwdVL zk)||2H{zo?hUa^`*lk{f)KN)h-VR%nETV~MILKO1z22-SWt`pn|F3vWD-QDpXrZTt z3NPtzt76(ywu%7*l#o!hfk?`Ya6j7wf*|zt1yP*{72sR)J8x| zjaN~RkmmmG8fBHcMYb%~ge=O`&dp#44<;L(i_SHt%c1W=7vHY6>m%m`tSf z7+=nJxLmwO{h-QIU1o+A+RU=}e(|Knd4y#hrV!#9olH)5xd-kchQ4de=Jw`(MH4fb z(Su79GD|=07N5FlES*9NJ%V4V0jdbBTq_@!Y4wYp)&r1fX|gYP7_scQW@H*-`w~;F z%!?8CPxfCo%d;;_6p3{{WG4CjlnJb86?4Q?(Bvnx>>;DZ#F>UKKQHbYYnUKKPE1L? zobziJ6zA9hSL~l0)msxlVH0~MALnk1e!)3Ptp%(wOJJJ6$CgD1*+V-j7;4N4=Y9fC zg(;lkw{!Kqa#nYoqzYA7qZb|a`}q<>JBHVMFXcEdihwUw6d27Xu>1ekZZz<4OZ?=HIu$xx(F()S~~bqL+OAf zJe1A4w9H9IJmndn@p?>|sIMWr{{42-&Chq++ZQ)CM7MSSPmR82Fso$GC9;S}8Ati~ zWOMzTQoN!Z@zmOb`XKfIFO8tgtG^KyB}~%{Y(l4I)MrSho$Hc&Fp-ozS178pBXh-N zh)2(jn2a2XSWzIp-zjG@<7f{VBZ^$qQ%ElUFuPrC?jJh^8%?&SmqPSL=4O)7c%&pl z<$F3dil-?Xddm5BjcwZa4`n%Xl4mG00E+?phzpl#O-y-QP2!3JeJkpUfm>5!*}E!r z&AD20Q~rwTLFZpYp3{H-IJ@57;%tm^F*6e7FX0xb;$75<3d+03-r)3bKAOlDe0zGd zFI}!`C?JjB3E}I_p--!3A~Ymrz!kmH46j0)YqlvTjgqvLCk&H%dDSfPX8Q#aBoT^+ ztw`VpNzGyg_kI>VLZY7Rsd_dwnb~-ih`~yU_)D=0--t-b;|^G9#f_&?x13Nh*;$Cn zShTdSS_kMtqCEG>R|`C-O+wzYJYpYi(Sg3|RdnT4!xYB)+gD`Hr17G~&kYSf>_b zoExiCos`UBpCoMrdb>C*KVYST-hg~ZuAb&PwmZ{yPuZQDVTxr)8lnql{}hGY$HO#|PiD__SVyEPS&)g-`qhmr7 z)uu+J4{uk84?j@%Y-m)4E6k~8)h}lI+=s_%R>2A}$D|*-O}ASuPu93je1^?l-K{=h zF(wG6m_kSsb24T6vD|gujE>5Z2^}S>#beTA#+1*@BX^W`L_8d! z1^&wqU!Qb0#W_i{{6x(wRhK{tW9-L@v5;>{O1A;4?8`?{I!uu=aYnZ~Rfspz83{~C zs8kueDg~19-d@f zT+V+y%_zo9vK)>`L4^-;@QeNB{X6o7*+MC6ObisP0T#Upv<(Z79Egdln^kvRhMzGb z2cwBFRP-Q~y}~}zuO-JAn>eU~z|BS55I86y;Hc&adZxN#t;_?KGq}QE0 z6Foomn|Sa51ntAr zfo;e(=(e&-)`ohA#gD?NnS7t{%XT)&j?(nD1j7b8O5q(1TjCkSF7^Hbogg*e(ft~_ z#P*_{N*sZ-16#x@{Z`sh_T0%@QXg8dh;X)bDhY=EKOufV4chhzlCXja2I}HD1OL_;p?04<^ zZjC@R68moLXN~)AjY3*d?=9%!tp~fb6(0V9ZJ4OHWNoPXD1J1tj|zimBMx?%%0f$a zCbK3<4L4FF+nPuUhhc9BuG6R(wcuK z*>uk@E8S_z_Vo5B^u5|B)X2n_WX>B$(X_I<;7n(GA?_v&7P;c+zUryV*m_^!ygA1XqGXL2R zzq>k{KRLNNsa}0$9wN98_h!k`T?t&H{eCLi2wbE6#ZT%KNB;ND5P zy(6eh)!)tIKD~NY*g_t2G?1TuSnO^WcYz-N?Ji%CF)y_kpjYS*X+TZ>_6>+}8yfJ5 zDz1xh2Iy*QQpdDF!HWuTf&XjYJIWT&UCer$Pc*5xpH%#@0f!|me@IW)_ zG}0t221jkYKE3?K?A`s%P4~#7!2|q+In0(H7cqDIJ(LamP%_z;+q}bpgLsO@rOUCPyJ?Z%r;#E8G`0+XdixJfb_WJ7lXMZ=~y2p%Q33e~}&%d9JoUw&m z+xP1HS5;*nR*DnP>rel=j>V*+%9 z7PcD=KHly?NBcgK%7b%A{1{>O9Gn!+F2`T1R&PpM7xnW# zI~CrPQ~5ZH8eFaDU>8T&SYwN-RVJ!`Q&so`O~58b_ONh>>)jvJP-X6I4dYwfnXK?c z)+BJoBUrO-#x~x(5mYF#2VdHF8pe*6%Phhu># zqAM?RT&3BYktI=5-ml%?zssYfxyydQ&i++g5iiN0g)#hV6(<@};`~#z-rZLk^YG4a zx7*Kda9C2Yj-MJ*q8yP$+_-cEM^1m?xaa#~OJMUBB$M;31s}Gb=eKwXc3KVKz-Ev3 z4|;q1Hc(S(zt3zr-=t#r>Lw zFI_AizhICdi@D$fAV8 z4Fhu#=Nj`C;gxwal{cm>6}`p1I^86ScF3aWQee-V_qn45*0hC_KXu=^w^fEw^AcWT z7*zx!zR`|Kw4bIO$*e5&2c?hP8q+kQ=ybHeSo6X0Wi&4w;fe{0+`_RI9la@MQZ0-v zD#n?nl*JI^S8uUn^X7g%!yUi-``b?6y8G+VCE+L(_8d6|QFl^-D1TKm_9U$+{9S3I zF#aTMNOlQSG?90?Nt%#US$z}owe*@njvelE4sngbMe|>lOGA^jr3lPrTe2Z}vZfUI zxLY-zz59CTwmUo!sOn|MPJtY@SfrR`dg{vX*p|1*3OsMoFWa&fBSB!z4BeKr=z@-v z!)A|_j~#y%hgduA)(n}y`dNL9n5HE~@6#=*_}?_`NLDa?eAMkI{BfFA6oXaPip)Q! zX+$jw{rvkL|7_4jejeWruSFqHSG=GtZ!HRex3GF!)>;%I*38OnNo!GvHV1|Dus+r_ zaJ0xV7=_}`CW}ImLRwObLh)xc|C>f5wJ4OdqwvRRT2YHaX)7}SoTd@Q6cM5Dmo-Zq zJ9i>nafDiz{AC#jnsOFXL?>w;1)5S8`8QEY447n!m@Q^d5T#gH&b6KXx~S2ZIvaK*SWwASN(HA#<)oV6YY&MdAq6|>gkuo-m9 zq6|Dp7{u3WJx+dAGj;=46MSh!t;fl)O5;z`hFXtH+K@TJBuyyOj&z%D%^F9KwJCv^ zqf9%}pOyBQrWK`A=vHJFnWhnmD*Sn(Q(X7=a`C=HI(psB@9^JL6=wY2Aq_9KNM>L9 z7d3Zi&YpCNj6E!ROe=ii0-ioD&DQwGFVAM^qWxrf%>TqM=G1gQew`{s7UpChK>EG9 z^{6p*G6bJrVsGT9ZbvVJ=UbY`&qEVbkvEy@C!cYOdXI&8c zdzSzOQv^+F3-YlhW=qZ_!8u>8*Rvb^$9#$Hr%JKoca;&S2$<}!j+532L? zRpna0Ml{M!plNHTL>}dOL{#nxZ6uQN2r#wwh<>4HFWPLWUv3+}N1e=0h~g4y91h=l ze6S&DrcEbezDKzsUDn4OUFnkz3DcO*O09WJL&~%(Y;hODp?nc!{Fc;nhbTUij-j6G z#{VFFnX4IFGE1Vjmwa|~%@-_fDjS&pe)M*RfLa00+$wKkxc!lD8x?DfUIxxndP$9HGZy5if3FAypOjy zAKsWZiJ|mZ^V75EKVJP*&0@zpcLc79i;E(kcANKy4^`IjvtPj#(jc{0030@cVt2v5|O6gwObQl#$76hyf|MKU(t4V6I2?2i8ayQ=q%KmF=3MSDr@ znLaqDpOq>cKRgJkP$omLe5}gYk~9g8xX9F%U@BscuLm%wNSTx%_*+%TsVMKDr`rn%;-g|)EwLKRRpZ%5bX$4w^=Pe@C7i% zbu;6qyssjx*fCXW{5;$0XXV>+rePrAEblyNOPh##dAD92Xq?^Ce^Eom`0(mLMX|}4 z;n|RqO+u6m8lI@;rmdt(R%spCdbPo8)*rj>4n<^r=jiy^OhguKCX=Z6wHj5M(x$p~ z3mkOCZeA`QKUm?pOax52VTqTClBgpeD~mWSDU;q9DQiB|k~Hz7tHo-KBIfc#&*H~; zT0s`|Ciaw%4ecqILYUZ7J~p+dpbBL&j>yN_@?1;3CO#B7+xn2;Rt4pkF>31pM+nNW z!kOBWKh6$|cWb>jsU>BqTcK>MTgDYRld09)R~J`jimDK* zn8&qZDunv9Sl??GX+@Pp(zm=tfUqEfG!t4|CoSHq) z%~2FJB`r$UwdC(UR99D%C3g*~swO4gYr`lYs|soW2_}HI}gkTM^Tucl-L3i5`{r@k_e%0(Y&2p4yr&%mg(Vm|_k!{@K zuCukhA{L|^_0ZUJ}l-3R5!QE^Le<(-f!{@Yv{2Z5;IOp5ftpt zHzi0O^KP(^*V}JO%+C|DOB_0N#sZs?^P2=YH6w*h$x10h!EwZ<1Z4?!ij6WhrAfwT zZz$Ji-WX(4YLc=nG(y>wpp>FrGk)2WtY0ORr10owQ;JgBN3WaSl$ex4?f0geQX_Bn zYN%qNanq*se34LiX2m=@DBqN>l*%6*?QKd>N-d*&4U7dhr6|Qj!I9#o1bO3Qx;S(b z3u%Bg14M5j4Nr8vkOtfY=8hNAJZ8Hg*`c-P-ckPDGM_KDX_ZMDeOI_j(R~y-Ul(b- zA}}&Yk8>Df$nXccZQFT0=pB-~$WdPQM{~Nfkj`1ru#Zm$*SvK(PLV97AWsCg7PmPm zcH#VTyZ7~IK3XU*bvcb zzQepc+w0GEri=1Y#Tw}khum?#QOS%j=<0@fK#j+-iW0B*Y(|MaC-d}@gA7@w=grAB zBZaoBzNTaNMJalp-ZuS5_CubFMWf5Lc)!XH2h-#M9Wro!A~&P~cM0r>iky#Js>O2V zc#d?$MLP->*VE-x1~zaT#zqh1s11Q=>_~eG7UBNZ(U-^BR2~i`SPFpM{Y%x*XP%Nle2?t|N@`C_i)g z8ndmQj}Q$Tl@qXuGh_#k|FpAxLY~|_*Va#91!^cQlhVjebx|H;qu)q0i3ZaU()JV5 zNS(CGK~c=Sq3!y11+L+=auL6Emy19&Y*hKI6p9iPOkd-^Q`D%$XqOuDZFcya8qpaO z4f4c6PIXH4*=WA#ZOw$MaYmj_{2Ir`qpG9nXwjp+jq|j=Y7j&7j%>uYM$xD_I-H^OVDcOFu zvvrhl_n?1mvJrL5(i2V`LNF^l3d*E_x&k>5C$A^fXo?7Az5`U_v88~y#O&I@8bVQk z*)IY2_U_n3NpsowRINKMIuy*gc3wXf`azPg6^M zF_Mn|>yEqs*fdJwBUKe=R$&~C8e<~`7c)ZW zhFwf)pHd)}@s7B@JR@iCxf@ZvagxTXR)uCrM5a9*QiLLradZHUaxFYsZY(4Y6~{Du zGEw}u?2I3??}$k>8DHkpyc`X-#-qO6o##cPapEC%t1d>ghK+w zUs@@WM>3meacR+Xi)PgH|1bTib>p&VxG-9nCS?IGKEv*iOLSDb``z_}3d?9_#!V^?l<LK2;?PMVuDlv7cs6@~?3Z^d>dewR_v)y`Yr9pVZ|6{>F z&v@{u|JB%61k1tPMZIM5TcgT?JAX=NZ*oWQnx#r%8P&2>&G!rPM&b5o%;|8Ul~4}) zNl6|i-JlC7gDz|nUSDi9dtf>ykb=;>&1(%!XXS+Zi8U^(uK|rCCa229uua-1PIO#= z8Y1?1uiUu=QR>t#)vB#=c-G_Wc!|jzc`R0KOhz7RfySkAr&O5M+lAuL#;jt%$Vf%D zQXj2OSg}^2(Kj%G7wBpHybN!IUzF=``oqTm;Y7%dh;U9c`r9SugrP9m5j2N+OpM!j zo@`DDxeNIjQz;4O&gSHZx=+g;+xsWo)P03z>@Eha6#lN1Q$}$&54k6?%Gc=B5}bh= zNRQ}Q-lus}r$iFc5Q(wnF}ZsLjn+7i2{)J(o}m$Qrs`|q<1v_W%XP=~j^;Yv{nj0i zH_re=<1isyfSJ_1XES(yc^#1;8G&iV`V0chONM0dCKer${6yHw&xt>*H6muYAm+w& z+=0A!&dD8opFG0J&CH4J(3l9(1Y1)Ij%O?-78k@%my3&H`c*+p7xW)i^BYIZ0VV@y zh{!co5Yf8Obl5M4$BQ!WtIIZ2xH&p>A!5YY)Bi?yYM(d^Z$!}fj5-lw(TGpnx|bkI zO`zbfS879QSuwbd~jAsROFr?ZsMYW?os z)-#u{aa^k7C|R|lvX{m*j68i$cE8*`arqk8accPlqG1!u=#`ddyZbwjDR}U|xr~i_ zb#;se)v)q3K0Ekk=g4Jjl}3qZ*mxdN>D)Qm-FEp}<)OwjjNGb+N4xtcTaTaZxSXx5 zYETU;x9aiX*0#sk%Bm7E!gjKI;-{|_n?#JTJwH6`xWq_A!zMOWt6I_fYWK^pddJU? zjt;)uqG)~2rDcs1qq@4`U>gNu&COCk1v)OEam}q(0E0ICVoGlDM-$(;zgo*}U=6Qr z`9B@(?pLWk&V+**>!%wxa^mC;w&Az!?mUx?i&vYbx0|XH>QB4wZVaYLu-$0TuN`+c z8ZpAwb;Eyh5O4TT4!Upn4Q3>LT{ns+2k}PnO3y77n=9a^CXi_*hLw>k{b5Q(~` zWf0NV6pF*E0F9^d8n_6whR$1r?2=AY@Dp*$7A?tI6d3jhCPI#!sG_QlIpLR>sh ziL{7OY#=`xXLN$bau&3408g9X+a@Z5y;anh6(P5)3JUnN?qj|bfo}dSzkF4cPPRAB zLTb4fEO=>CXj_#qmNRQPlL5%arl2h}p<~$16;ZuZ<@vTo0Wj@+>#yjXfl9N}R5dQ< z42Ist^xtFP)*2dsTT3T z%v{<+0k+5hdZzb{xL8UY9PolYG`b!PJPrp9T(mSKj--;i`}65YycI}MMiTNs6)vI^z{E=I@&d<9R-t*vqA8ENU0@W+k5C0H3-HYXzHna(4vM z*uZk%Hy;d46hzMYQ7*`{zNv8_6(v$w;Gu?GgsuwYbz?U!q8(NCvQTVnik!L@HjB6_ zLa1sKU{j^1xR^8YJq%6p8?(WifIDEIp}uG@pKPh+>Y{v7OvJevyS_J0!zcNqpx~XR zbqU~sO(e=<+u^5(8ne8PiLk&zm5^9Y^U|#$YgNJuis6f8myYlOW#h}8P8Yv%iOt>U z+cPl07CC?~d&gs1-?Q_&IS14ZY?ap>3oJB7+h2+t2$kJN60huXERfL9=HQrO{GMNs z>+U!&dps?T^BH!^*+l{g&BFrKyRoSawdPI*r25pvT8ys6ktN8CDAoGK@HZM(rX|<(+KKVo})mb#6lJKQD|(& z*$!A34|G&?9lEEZd^}`Dw{dP+&!+%ENaOdD3-SRW_k4G@+}I}aae@tFql;b2K%O^N zbSD)j77pO4R-Dj+djP$$R)|7d)d~v**i=}>w|-0BxIpMbD-aLab#_?`S%3hUh8$9J zi{-(9c#Z}x>WJd&f{o3dw=T%BKth>73rB(cU2D8iK>?roY#xhrwTc#Oyd6MLQQq{n zmc!9POy4mnV|0xpPu8slz(6IA?LXf>{tZKKY-7DFQ5X*B7af3pVG68P`nwK5e`i32 zyQKD@X1I;*S-=A7aE*Z$M|n==&K*N;thnl(s=WaSj4LGTZ^({!9qX#oLLA($>Y_&#@F8!a)Sp!?Pet^olsHR(ON2Yir=Wd~-9#wMM2M-~dO zX_(Mk%;%2e#u%|Ku0#N)FvK!o-^S|Z*cTYU6^;#NWAZ6o%ff8YIOOn0$sQh<9=N}- z{YrZdv)@!^npqh(6x<*M(l1Xs=;<{zmfprOsGUbaG;sYy`gE;cxJ18LR2%yh3V`1{ z9Zmb?rH9;Dg&kxI2GDO0X~ zzaqblRMEyI45x^@SRi>zw1%O9;i@Ik#sT=-G*zMqZF8zaP9NO3K;pII3}`_kNo=4Ec9WyCc=m`po3!2gLH!FgtBg!ar*;b`dP-`^PgQ4IzDTR0@s zLYQz`BUg%2MW45)OpR+getbO+hV%$ObZb{vPM6r|rLjqtN1b4`5E`g{OsArX?;Q`b z#`S{H#J-{x5Wsw+Cx#!3KEGkCvDRzztyTE#-MgVE`7k$1zw(ZKS~W9sQm z;AUpAn(`Y<3I_wnHTLzFWwGSvSZem;l86){*seULLt-yzhky6LH{2Sfz=f-LO5uxn zIGP1AXdNC04m@u?mWz&lT56j4sM#zi;J+jnq3%W?@ zkh&>~(Cw$AW=|_d;{$^07Hz~%se7TyxphkSM(0DHu*TOaN*G23>y?Vtr(2^exNzXH zQg=j)AM?&r$56p~qmo0L&~%noM9yMOMNL4GW{X;wV7&H(Mm4!Q>WR{1cdcu*7y(4E zy|Huf)K62*a3Pi^g9GF%@&*H{SD{3#Q7&9K@VvJ(eK{(N>4Z)+_$jGbF^;Ch#RJn% z!hJ=}m^?~>+XBoE%ew~K?<3aeR~NuQHR?+M5p3@~U5Zfep)$S3n1O>C4tZNZpDs<77f#rf ze+>=}296(xMhGoFuf^$dF>mkW}PgW5fu{9DIGL*&`=g%1d>x1NzZ#B$~*WQ}@aLm7N>G7aX% z8u&I8@UJVM&v+YO<6j>u!XZfT{Y1ou^{ur=-&+9z`x>R9uK2Feg9H%4cAb8sc4wT6 z0ZV8QyN2aLkl_3A!Le_*HClSW{Ld#p`iCEh|AFA016s_XGcB)tnl-vB4hD|9`tIJq zNY?HiYa%1Y3SAr++*c0sax$WI&d{328iOVm4m{WNEYYsccH-73h5RL~FDU91I+99beLbEijT= zqr0=Afd7vA5{9&^2s_xsPqBB zbxnH{tIIHbvNh^;0MTWW3o`-pt%V!Q`Ova z6dPZJLBaX1{uyn7T`$*Y?;SL-y!D*+Y(f-kv@A9h@ZbEpKVAmRwMNTgAp!lzA?0ff zU;zW%x4#)phsCSFO4u4DieZ7_>bH4WJfY}W;j!Zyb>9aB*E_w1JkOHl-U@X>JBF9# zF+2tY{9D4GhXQrv*;aYJ3@^4OEQK2s$z(opOmN=wey`eByQb8{BS*C~NMYUzx8fGT zutr7pSnf?drm#?>y!4xd8s}ict&n~#{!tsz{Wv!GZ{eBkK8>Eot@}I|jqf;e>D4^qRrGvtjj?`%_U&V13DqI3j!?V$3 zv=H;tav9kD?m&Z201ek*hd(cKYH2641$SRe=$JIZuj#}i-L|Nzfi8v?Ch&4aC%{n5C8N*fkli}ruo=Xab4nr=W78#CJN&I)xu zR{t0_nBVEsfvKXH1={k2E)_4UEM`a`cw!e9m288Y}k928T!t)13y7TKBH_nPbO zaEIcDFKMx#**&3F1^|_uMxr`RHC<%4nj9i%`XrF7-KpE3*e%C@B;=QGl9;J{E+~6H zpo}#+wy3{$DvHrS&#wY{gtHGAm!MllS*=U15E6YW5yR=KSfw30wO2efe!>NWn-+5#~aXc8?zM3Zlj zgfT3G^9{n}aO;S=A5pR=wpS=%QKZ=ZXSY@gu)$hCjcYuPtT3mwnpMIZY-ZCy)u&9A zmaj|vS2QgP%}c*+ZL>HJblqdR_KR5lC5)39l5Zl84gUM=t^I;E0(Q@K(ApRdI27Dv z3Jz&~go?3Wul8E=Gib2CIVfhAfsuB?C|{Sh7!2tf&uo#e+_ab{z3{L3Zr?f;t?tp9> zl;FPs6lMD`Bq;CW;pcR?l%n1UpAjtPG2Vn3D4-Z`2p8mc@Wz=+XqY)+^$9qP*#iab zy_|vuj#UAniGkQZqeCiwyPD9kFeJ&&zTw#5zssIcT`YypBjYoRCp7B}$fsw}V1LM7 zQjduCKd=z?=jOJBfyES9@KC|?V2@^K{qsCvg!XyBvBA&tKtJObf%bX8puzr#nN2@p zS;-z{j_)U-rTcmL!i56y}bJb(Mz}|*Qp@E6pjvPMtfv`5V zlVISvMnM{i*&_Q={^M7igcNB6nMnaOFo}p8f=PArcFjl_YXvwI4$yDW6EhlViG&=| zzu3mLc@nx@pdc|JNKjrsFZ;6#QNXt^2ci9kgcW83p$G$jV0-WU`_U|W+#h~P|B7=C ztS%)i_{;Ydjf(`1yP}`S2IG-f$|Wil?eW=Y%E=Ozk!>K!X@9|yLH@vggqBdJ1qGp= z4pqm-5}Pnjv#~sW4;&I6+OJhl9f|m#PK>F9O;sDLMg!0xf@Q*2CntyD(Nx<^;K(5V z*cMIx$7MmyHgzNVz@Q%nGhuPghV<+Z4uYzNyMxVmM( zq!-YiA3bB#HTNH3I%1;)sO27jfJLfr+b@XvcTyB0RyX5K7|Gi(9PPk~M|3V>kv|#DY2`$eJx4&ofYwIy1O(tAgEd3s;yWv*b8$#b zlsMkmw{3?5wEMCs2F}(?!U*4n^77>Qlw(5xYm)Rs()o^@ym8u-)r+=GQj7zF zbRD6SIisB77iG_ikjqQ5ISh_v5%XPz9b%tn+ww_&*p}Qo$oI9kkIEkXjg1WM>!V3u zj_7yywhn)n^~LdVX8MG+IY7wN;)9JBA@hfg?Z}+rBUd6qJ{MDGaGx-I1WF)r1`_GJ zCcMUK0x={E=?FnF`AA^7P0u`^&X+S0eWQv1m;Cfr! z^h`Gt`ISFmKBeE4EDQ(e?~cEp^s{H*?rp7yFWy$@90&OCh^4#J;&niNLczz&k^vu- zP!QZRU%!^Ip~l;^5FhZ!Nf^BWiL?2zpuUb5o)+b#A2^Ya&~gESaoTtwGwGzgr{&;c zPnp%vv~|-NfCcqUh@|0>bT;%^6TJHY!cxi+LHO}RE;%Vr5ZXe^ww8+vnyU(LhTyro zZ<~ikE~Ju?zync_Tm%)3hDPki7jFNU;923K1@$--kn+HNS-Z*j`I4}O?_vdoFoLKI z=Hz3q$aE!x5kSVxX}%~28MW5sAhIT#P!Sb~Onev*bU&GnLK}$*yI|r)MPLvBdUHBe zYpDDCCx=gHJJHX|genFQMG`~=;Z-~<2z|1I?h61OnL-26Jv=9f#9`O|lxniin9yzk z$zyb2L46l5NNPQo@tG5XAOXl{W~d;(h35tFkyt(USrbN?K=D{DNKi5}pU^ULAp*Ji zv~A4nz=HZAt@hF`gg6T_IUSuZi{(7#`jN1DW58sp&8HwV6x=qC(UN0~J7HVWz;JE{ z6s!--N};#=r)PQ-_ejf5W_^p7Jw0p~)~9Azp%b0RLY1ZWq*=`SkoqnyHps9J0o;VcB<5|6 z&al8i@uA1G3LRibm}~2IB|gKc&@Yw?a%Ay~O$xetSE1WDK)*3p-yTzF9I<}vvn14Y zjbXEJJg{A(dl9Goakjgl25>xf1`67ncwEq~JuLu;$5|l;3Bwzb2`zY(utE$HewB{{op2k% z3K4`4Ax@Z-mLHC>Wa?*ULhlbS&$K>rPyhwW8O_8t{9MNyWy|bs1o+4i0cz)~${D-= zY$w1)hJd@Un#cmN_n()c)F;f#0OXmUqk{Mmo>#;rIZZ{k9uuZ2Knt*Y(2(%7zG9{&P zi;-1`AbbaeK2eJ4LPQD)1h+sSPWGHrkomw8L&C}iP?-H3$RK5TMwjCGiEBe?L4wlc zn>@cn!yKP+-F)MSAiN8M_}zwGGE-W_P#*fIAie`)vtbxYY|6MM#Or~2w6v~Fu5pt| zaIUy6tp^I)D@bj~YcOFBf!A5F1r|td%;)25Til9pCQo1bWhcR@Q(!2T5E!T)h{ukP zp9!|F^HLE8H%L-UX;Vf)K~1;DNNN-4+b*Xm(;0`&;DCT`y-@^SlbJ9#W#*%_@J8&q zhNie>w6hwh+$lxD(a*4u23Zt{{+s?(`W3Y=3LY4!Zt64%s&A-W4m6S}{hE_12MuJm zG?|D$bd*yB?5Ur!1YZL;ms~i|-J`Qq3yM-cBDW{unW+BsDN{zP=5<}Ys?RPm*xy#S z+^jiblXpIXt6ZA31)x8iFHdLs$on=G#yoyIM1mih1*Te$T5xE%XT5f8-dNAR=5?Ls z>a&Xs_PZ84_V-@TD17wFzK9l(n|cQr+;7e4PNrpGK_+2kO}(m#DilCprE7ks#!Qt4Mc zW*sP)Z?lJR^4MWbX^X2sPn6PeEVJQR4NR<(22)MowSB#Cm&$AQp zhhIffk_!k$i%%9H*lsV1$yl8DIyu;T7IX1Th!+DGO&G=m>D8sU98hG*@r%(+WCC0J zN*FO10Lf=Q88|R~xGZJraxu3e-*Q^ZnJ(bS=9@Obn~eb~_C^Y*xy4?V=asxUU&0v} zhT==8aKU?%y+Oxv{FEp7GB6OI*1&@Gjb&)OnXoZR?FHI5Ba7< zwJ?DD-mCodw4{)@c^N=YXt1sK6^DxlrdzLvrKoLG5~Jss6BgVwisXtQg7IzryPxF= zYZn0?g#+{(uP5VdSWL1f2Yca-m4wy`7%Dj-K+xU6qfd$nO;)KTJ*I||B(e4*p%(%U zr*uIzbGWg6=K^?oR2h!7b|s zQD)PW`BZr*yJpf!1`pV+?Wiy4ocg)ruI^EQMF@<*_d zeuz%O*-M*@KVi55G{@pEMFe3N8WL{fB`rZL4tX^yVE_P_5VyeusVURqQlj}x?R2oz zu3M%VAm~id+AqXL*w&aX?U8Y%8Rfb~%L4`N2e8S0VOu{!pRni!JZ9r4IAmPMYqU9n ziwRl66FN9RILs9u$V_o^c48Rey2Z)G1nE`CGeP7SUBa9a04#kK8i-6m`i3svJbzLQ z5D=d6ty_>hP|!XQ@}%Q&N$#DmXZ=OCBmV36=}BIB3c(~b3JiLgr~Ikh8@DFp>FlzW zSz&@yHWBmw>+E>zFRexv0>h-$0|ecN!o>PlDrV$UQk;uPSS03DLa+n?y4(?T2$79O zC8ToN3C6xkY&1ePV3o;$Lxvm%Xc>nx29tTj-v3G*288$>R1jaIP#$uPmweH`4a5aW zm>dE@S{@%PxCoVCW%alnm4pM;4ajc%6bbR~3nz+mZOfS|iWkJ2G~I;@ou7e%C? zzx>7`Va`|KfHVvX;y1q+vm3v4NSL9?Hx)~T0o;e*7t?$+Ju5OjOgZ^hES6(O+Afj_ z<0J#7=xU*%;E{RhTY7$%q)-JycUtfXNW$8wLE{p_*jmH#?{Cj8|JcWn{J;O}zd!r? z?Z?8|26Z#*^#*+!w)c9hASYyW4hVgYAO;I_-1Qz1Yb&o84s$|()W~dr!R@7aN|80@ z4s!=-1}u0#a?>nUM8&2|Z(uaqB{3n4MN{Gf3{Z35RU>w4^3(p{g=2|?3ehCPh6evN z&QI;yoE5r+WsG`Si3qlbj7{DZP9vcKMVF=>F;1M&CsuE&p+P-3G~5e3M$;D&ACRRy zVRt@30Fc4{krP@W8(^k7@4X^F2wK@>D%L4|Ja|Kh0czf}I+binvpB|`Fr#oS;NbwaASJ8h>dBDAdtrRyw91I-q;cGEG=)!Iu9+~K|>1WAPh+unD%y|YE`Oq2m);PA66w+E= z&i%Qb&B{rbK>_j`y`E@C9Ne0zY#3K#0QEycm3K<@dRgyj-Y2KhoJ#*>MpR|*Z0xwt zB?Jbv0A)g&;Gu*pH>OB$#LB0OD_hQ>0GTW&#x@S_%9hg@Kz*y%qpgA$G~9N8YXaPd zv!sFnHYpZkK?itc#Tvsxos;)bTU3n!)EjgsXa6!&|0M_L$($A{S%pq$iq+e)yaeHb zWa8$Db=v(1nSle@l|K1|Y#pCuRPplhkk9K9_N&F~DoG9w2z*GF^%^qg6YKZWBtGFWz{f26}1Pd1pQfFh&<`P_J$8DR2wTcN*EWkrn(;I;>dWW zPAv0so3L`LNq(Kbq@H0c?h4lZy-Je<4)RCPrktqdu`z1)%l?#3?mM%SgmqJh5UW#t zeUnrJ1C*GuDz(qa5rt+i?iMovfQo7=6VFB^t=CJ7m<$@T!||+&4xgu|RaoA)=iOy04ydCCqPP zTz~_en=Y}U!c5pAT@njKx1DsI(cpTWO`2H33?2yGlwFJ#yi076GKmEuw;a+Wt8nh` zYf%n08pzyKiHTlU`6aPHbjQgraS@aZ2g=wIwz^^&Rsn+Y_UZRuWRJi7LY$RRM>55B zO>xE;6K1IbMmF;?JP^JgdSII8!+CEsojDC@!pNE4BVq0e8N z`&|Q^EK1QpS(Bxv#jww>eCgU!iUE2)HVF#b^)m1C&Nm@^wt-BsktBec&&;cFHGZ}w z40jD~swAFkADH)px}3>tyQO3~c8326De*`wD368?{7)CcRf~`7)}gVWK=Te#Llc^kyDZi0;$cPJ zONc@N_!WRtd05cjEHe^zV?21^fZ#d^CUh-YC^Hg9zaEK=1)_IBL;+|fGd}%F*tzgH zGz{QPE|g2!!)0b#Cl?e7z;8f1T?QR4vI!O3O92D(smO)6?2}8BJHA|t$_4|~ZLxww zQI597Kf;?jqkmnGk_0~p4WsIO1TxMkJxlo1q%Eh01n0+II!Dt%nTvg`{#YfM7np?o z{@OGL;FGi{-5b*acxbul*~Ob@CrsOFEg=EH_t4{0i?_6RLu+=d$|mfd)bcXmCVt_$ zyAgg34E|d}vT`+|&4(WCstxFNdEOG%xXf2>6k^6VAuJuWF9I8(9pvNjOSda*PitU7 zdyUHypI8>xRPw}>N=VS%aOtLVXBnqvS2vkZf`Zb?PqB*SRiO5UHL#$)%TszbD(8!U zH$aUCd}4BKWRPEX$jMcT52|XMMpJ1eCJ0?4mwCQ{(t8G2&_3YleDO+L+!(B}H5+D$ z33k9C!70&WIttT2WmTwsiPoT?bn2{En%mb|)*(2BN&MDzVN#e#pX~9f7I-QzDddzj zj@F6U2~?2EZm%Mp73BIEDN8l8+R1Bl@M4v% z?!;7AxFB}YOHGDfy4t7Lz=D?AW?B@H9!4~-zUYspd;M8P_uKM9R?{|{d7%ZQN7gZ9 zkW-r#c!WG6XrRmaYuc>U_yG^$SY)!-?xn~ z^pTr`h%)A-eLrCd+R8^S?_F#N_?azWn4k6Ow#lKizWTdI!ORy$$(NoJ_MvT9PfQ&T zgx#?bhB>V%QH6L-VE? z)Ve%spn|-Q8s%|W38B$!M9)S+S=HL}XSBb3Hae#|O~qG)$D$91>ciuMgJ(Ni`@Q3n zt&^Q&mT?KrF$`C$N@RkmK4ch7+wso!$@b9>6P08sOG1MvP(Te;c6riTj6_vLyVr}a zX>ZKyQj;os1qB)608tPd0;rv>-jX2&v%THp4<9wKY8l-CU7svfQaiKJYhg7lq1c{y8TlYDVetnL-BURE>=2k?4k0#!tM1pgG08u1CG?3k9WW|ykN4{Iq0e)t}gbnmCorMR&TQ*@% zf$-@J1Fgq1z658LAfE*Xx_dUAm>bjj4&D0Dr~Z#o*34&2DG6EBfdnnfLupVik?ZDR zg$A|2oa>Ru+Z~r^)nl)s?Y4XYGLuw zKql*7^|L6yJ@UI_Y^&D4037I$HnjlSRoWc1icIaBZpjl_JsMb^(;+gJw3KCRd-F92 z2)^qB_OtlF*-{J{Wm9nAx}muaFP}Vnmh~?B)1l*bm(oi6WE>A{*EpLunn@{-Q7(xF zrU#mdCP{Qlg*biL>rad6<%F(t=Eh8LX3|)y-YNbtF4*t-?CPu=r%q|k{N!5H00r-D zpI4lM{c_q2GOi6PQV4)J*Hsac{n zC0QY=_P7}xN^WT--!ca zjOq+TzszY~>vAk_p zM{QK3^tLgN`NMCG5_)FycFfAcliJjs2j+3}ht+=AVJs4sc@0E_+CoOE1J(`{t`4lN zQEPY?-;21jUFWh!1#h6O@>=5#+A7u}SFOJ+cV64Le(PW1A$<;)*Cw{)V(noy@=^7v zv+;<5L#pnYlC6GS{bD9utASv*lvII*|3pCJYjc*U6DUZj2OD zI<_MgJDuY>39}V`JSPMQw%hDSxLrAn2_upkMhg_I_ZX{OhaqQy{=_})l(1%7L(Fl( zeU}bi$m{B!6a#Tv9o={}5Ni}p$e)x(Ndu{NFp3J|J1%klx-V8}__9cXt$`EdHK0*i z;|FZF!EI>`C}?j&q+mC`RM#5#)fMnIC4j*DZ!JFZS2Ne9`jL*swVg~>-L5(JWoDcA7NRHQ@ zB=|T3uTctXR6fop)Pl>487NA-@bab&6bfZj3@>}ZO^bx+1sqc9;a`PWV40tW9~R*+ zD6()+RD$O(2dxq1@<3L^Qu0V^Pq;?8QSQ666lZ~?4|$?sR{gLzyvo|?ubZ8! z!1L%THYPhl4&|RGDi=MMr~1VYpxO{aah9l<0@r$i|Mmk21~2q}7S#KMyp_-rYY!<_ zj)$Eq4KYGvxRq1a4~ns$-|u$c%DHUN7VgQ^(`*oCFWPqBlLZK&Fg$wM+uhswIxpu{ z13c;f%{d&?{pcmey0X?01x{rp@(0l>S)nyt)BO}uoONMkrndW<9_NMLa4$f|J87qi z+-k)&+X6&ad$p~@M0ei{G>}7ixX(SNou6?Y9ECI4-S@e5%+Rc-(E9$+Y)7mZ?NLKT z_a@QdK7VkVJcS0LHOInNK@teklfU4zIbC~IoI5uwCNISRvPqF)Ns&ZX`t~PuDv@Pn z=aLKyBt2B!A(FILlVb_t(iNBpQQTkr_KRNwHDD;02znlc^%zsyy-LD4?9~MsrUpgE zk{efKn4m~kwOKJ94KC?0wz4+)RfzVXcSgYm`C)6EpmAlhKWcxp24vE((R%{!+rLi zeoAZ#&hr_Qkg)N>prR504h0{u*R+CYJx_@C%kZKy7z4EE{&c3Y!f1IdZw%IFP?=Sd zdw305BZrgJD^fjJF!oD#iX4(!MP+|Pu}F)l2)sgTe4DY6O9DmLays;!?TG*M)O`uO zZ%8;YFA-Gc_*me1&*BlQVw@%6a8Zy&A%Wwn#Zi=EpO4ux;b?r2L_>vG^$9i{_Lc;`{n+@krT)&p^^Ybw*UCxVuJK09vF^F!7Z**brymWQV9@7$q_+#56`ln zX-mb4d!KL?0!VRI1qf|nnlYPc0{6ZvvF<%b(PBA2)zzYDoK<-^h0 znY^-`r#rzf89|+D+0H&hOrA;2@2X9P^nW}j?OQ*Z4(-QV1!bt072)LUiqtU z-Ik@-LaitE?Ar-3Gq9WDxfq@cgLPV8EmWlV7IH=BEN#WnUz{~zFaeZM-U1SokIqVp z`ANGE^X#eqi&mefMJNaT&4{3xQ%?7+I-58N&hHggOhN_yKX-og z4?hzBgOa!DZHo19MiFqFKq)m>YD6OtGcZuRXTDvI#uSl_XKzi_ZKeSrs7z`^q;l3M zwMmTx1H~1jMjY9ofNzYYrj2h*4Ddko4v56IiHO+nXfahtWGQE;F!CZija9S`_6CR1o2xek-bujSenPf*R6xzTPmCJ1kG!eS=M zBd4tC5)vta3etOLiy0kn$)27Z_D-H1XY={E7uvS1VaDkgjief-&{m+JylPWYzB+t0lc6L&g$S~n z78xxyifGvGfpe3)(f5*ZrRLnU{K$ZxmgtBc}AonY^?~;$9t5T zvTNFPk$)0JHSOjj1FazyGT6AL3sMOR(tCbNU*wmsXg!~&w#LlKsWreLzj>Zd$%%*t zJfpt2wo=&GsWu678-6G}3<<{D&d&u+GDlN~Gr`EUoCXxE_Z?PQkcI!0o7w~`*D^C; zu-|pqms1hzldgc~Ek?qMPc63v3+C(R-;ZY5m-L^fG*!+fA_M{}&NXumlqv}!t4|0F zOxO62-gZ#J7F~>pZ3$hy=+7@mS|u_{VC#-$4nkk4$Sb)ri1KYb5o0m-qyLR$zCrvDi zJ`rxl*`!UWm=-jYDLqRjY-!t=iadn`Nq*mcT}V30>Ab>po|8-p zy~YFEB^=GQ;eu*hdYe0rIWSp`jSd$J+x#aJ8=^nv|06Qn$Tcqf!_ zPT0n)R|5h_d0@ZFq_{`_6BfN}ta=#&91`N?gd7{`{x6m_ot6`g-zCy z<3mV1QNw*@$=7V4o|b5OS-RSnib{w=fC~j^zgFJOIO6W zV53iK)rkYyBMN}eGwuIwKwHHGWsy=u0X0T+T8Op1ot7dHK*znXg}lL1g43phR8xl7 z5Gta89MUhC89G%U(Hm?qD@wkt*{uSB4h4D`X-d1U%R+$+8{n7HZ@Vm|4i8jC%4m5u z_~JMJ^aqwXot9A$Ku4sdqezLgBFtoT+R|x!sJQQxZ=FZJvtELewF6aCRk#aZBuCJ7 z+e>7f<_HL2i*T#2U5qbAv~E6-W%&!1J6*Q=Augy3*Czc2U9=_d_F~GqtW7QtRO#uE zQ^)nwqR9W@_y5d9C4^B)E=LXxH2sqU@I>uGsG_akc_O23JR6ZaW1o+L&&1oUd+}yY zsQu?;wMS34g*o^7ivjOMUTj!0BZltJlXcU@JnsEr`Gys1N@z{Dv3ha8cv3h~Fg9&t zMhxBmvZ9Umi>WHutjbM)5Mx)|Q2+Y`^}1K=_2<1{8i0r6;|SuR`Cv>WsAdd(EB%$f;}$Ib}uu{2MPHDVEL-xLVI=J`&tk1}yU+zexl_5P6 z=`kF8V7b_IB7zE#5_d)~_IlKCEb!eowVj6C{8Vdj@4aIH5bw`9wQ; zc~vLMwTcH01@>Blc_`2??XOhEYs{dr!5_2$mSpTo)|mwW4h8mH+E_rO*7Iv#ZMCDu z1_m7(Zd--gXrTRiHZ(}son|o6G9ZA#e22ZF>w?$CB-~ZQaH7;~l__X>;e<^=#`r2m zXO=hUNPn>W2i8$KEC0?K%3WqRZGV3SCBe&@0Yx)_ubu>JAC@*YQu_c7`>UBC1&gE~ zG8qInr2TlkVDy^d7E2FHy2cf^Qks?CXu6Iwzw_=rd zC|*xk8CX%O!w9izR9~M;x%W-0QrMkma#N=vE6b(*cAFD|f01HcI*Lang6aJC4VhI_ zL7p0=*V~gWUM)(IHW4e)kMVG^8KnVMi2h#*HdU|dAUD0UqMY>kz~gV5lK- zKXoN=MWecukV|8Ga&4+_1@yZj3JPne`kSdoHXUUCDoLjDfa3jWZ&M;c28n97q`{J6 zg2-%`Iyqc5yCo5%{XD^XihyZL-6LO7n`VNzltGAkC0JiJGzf7RAvUGD%rECbr5ma) zHXUT9l*Ly+R9RF+kjAom`^#PB7RScMgY%I%)K3nUGKd&ZF`?o&ea4vh1(u)Y)r7j3Biv>WHRyw%69j*4u6*&9vz$W8C=Z~+mj7Ex)A>MdC&tPE6On!gUaS%NpX>`($5 zP*Q=jm7bJ+F?|;q;F}>~eXc?an85>w9e!H9MlS9bG_azeK9B!;va@~gWT$uh{OQx( zzc@i*65OUMP)AE02PFNndb@i3$s(RfLh2Eg9f+bArD(twl7}d%Gz3R6)fvh%uT&1$IpfKE1aaUbQ zN97#CRgy18B&Zxk4#gb!6D;eM8=C(o)uCuAwh#ihJctI<`mSLPIWp5H#)LI1r8Y> z89OY`=-x9CWOkly?frXeC>kJ$+9)xVLyZ>bO$cr=x^Z_I}7%ouzXL5JOh*{F+qYdSlEtswm4}Qg-wEjHdxrm$OlJHj#+ZMC~Uw5 z`6C#}HnV=nE$k`#1x-z?1q}(o=H+;I@9^0UOMVy4i-rYt(DWk2_>&!;>0Ou}xF8Rj zUO%)6(_7GxP?P@di=N^?Hq|ZIzltAOR@I-b zX>=D8q@nbRNN?`_jUA*Hu%Hg4S1iT9?l`>)6Qrgms|+H%jix*{?z%mh2MSu#oK#QX z&S$=Ew{CM9!Uef$P7ZPPWmZLAW!7G|ISB%T-ZUrGQ$uwwm~pS$ocO39HU+GDB%jO{ z{9M4g70Sf~sTrMB54@lv$dbD5=*)oxrJ0lR-|6(yd{B;NUR_>yPFe#GDS^~`yA179 zFCjr`a`_l50d!AoSGnwBg49&0>VX+57q8IkR;eH`=s!kRQ9V`Wv=Z z2kK&i)O4WL108mt9w=x{2Uh;uYf^w9*jEgpR|fCsLd zqasr?&V0CgAdbppW&ahc%<=?x{b?8iQS~?o2CjGMF|kv!dyvtdA|GhV00_w>Hc9~9 z>jTz8XU+b5q+Q!55Qp-Q3B%;dL>veDZxF)?d0gsWPvx|QWrREioopi?3rx2-Q$D5R zv~<@u<4TB_N+`&5i_4&a%}JL$#KQZmwbP}sz~rQBn!l3wn|6~fg9f(ujTOHs`?DGO z^a!?|$~V`XDb2BK&Il~{A9?(*N;-Lz@a6CH zE%DS7Pw4vSxf`c7We8~SRG~5-Bk&ONC@h2y4v)nlahCZh3-gAzMuq{0i1))HM)RHu zyU$c4oR6*GYE)F{knwT#o^3UHkc#FD>AJx~Af>n(q!@%VK+cD8IYlw^t_VsQG^UCH zKBRmUl`^4gD=4bEbJ^K(LW7>Dr6PcsNZlbL&dSkC*Lka}x?{mZNIZk64vSO1y!v#Q zK?WaEK8a?~Qm$nCAq1aymqj)O1V!r7r2m?7DL)&%rhpi%T6a~KI0NK72-`@h zq(A3k+LnwM2P8SIiSsy_$5Yg{HHlC_(5JC-B5f3IP*S}7)5?rP0#QHXqV`p($xcgh zZ5BOZFgC(pS~k0J7RYkCN4&71p=AIbLY$!`o;0IByMbvtwDiCmL@M}4-Mwp~Gl0)irSi4Xg1Jzdo$&Hy>iAPVBA zfj+YBAj-vt1ZMzYJtjsm!Ct8C03yZ#Ns&yVt8XF4IlkRhCUFMHaYlMjA09Wf9qIY# zkP#^>7!=!uwyUxNY)FV?Onj)>RmN}z$cZ%n^5JQq3U$@|GXjW-G1sdFeG zi1$ao-|Qk`2p&TCNX|UDiIJQS4iUUlG|!D@FMlV(E6loGZ3*H-3U5!UM>nxv89;{& zUYYF&H?v+DVSt=i28na1-LF?NF~Elu-mch>Ze&;)CV-eoHQvmy(w0&`thApr!#=wY zYB{V7;=?BKqATKIcE8kai?J9Whd2H9!y6jq#wZ{tVjn&RwKJ<_KW+4I2FT&dr{>}A zmrq@22;gH}^OU=^X0%Ri1bAB(d$KVMkfTj zT*ItX7<9;pln+|X&4=7qv*q%-(V(FrfDf(BQyBi*<)Y=#+QWtfzLx#_YDKf#wQLRy za;F?rh0CdQ3s%a%dj&RMon4KMMt7(h_lANa9c|0`9XgR94%oChu@U?9B z>F`9On3j)0mMX_I{9psnYNs^gK*@M zLjghe{ziA)XMZ|A*ng6X+mLp|g$Cq)JD&3CYQlLli6s3@YcRokC-@BAgUu%DPnw-X z8dwD)IPV8Jg}1en*o1SG4YV2*%;D5d=G<4leQE__Jtv($>Da;o5uCTj#rZk;tY^>Y zU-D$9%i8_Oy$MALFtRk^gNqp>y-+vE@N~8$HJBj1;iwvu|04H^-fk|tzz8K%0fO#2 z9@R$hPNpQB66 zKtX#Ck1N`(VSh%eX&EiL^Lm+Z=mJOqVg?K9hj@Wg(^WTpsyD2LCPX3vSPeUnA>aeN zbG#_?{sgx!QTit%3QSdS4GGSAz(Y;Rn3yOF^!&nmUz{O3DkugiwI`4#iYZr?a2u3| z%#<0uaXx7Lm4_61hwfVO>^EGYEzqqOw_mMFFhb|2p3Xln^JNYrjz@C}$M4uNA#|UI z8n$DY3)-#$h0Y@`jwpCv$>U>etzfCeWc+ae4pgQyD*K~(zVmvJ%QNNO^b0N~Nbiro zpY*e5-|lUR@sv8mBnDI$`GC7Fr?h4QN*TEZ6wG(S%z1Ifnv;ZM>=LMkS3rXG!!YYK z&xdomfp@m#*_*KI(Zp^;H>g-nmvn-xH|#I^%my8(u%V&iCSB}2J}q8nd-N~e&mo4< z1wY)8&~E}nW&l2LL=fJdNtmW*;4K(N{A znx0-R91p}c>C$jux?-hkIvh<{B}_OD9!--31IxP>OL6))Mv`zOI7%Y0z+vYQjhBYr zHL-1S$N+-vJu5}?i~fukhJ+*4(KIPE@LaQb=yrOFyuz%PFsX<$X*_V*tp)`HFV4>B zUUN>@rq!?@!ARv|aZwB@_yH{fIH3<}3OOChquqLnn((>kH$;GevFd~!IM7fb*EDAo z>B8Zuv0yWg#sd-6TTP@RsrOiB)pRY*R0a`bRjS08yUSE*JfDaz+1OCNS2^(Y;pz5m|@ge0=^=2hyPJtRmue}Sh680}Ew5SdX93mc8 zuT>(XeLM~O&4cm^EUKZxhJ;|2n8#@N_>z_IZnA{qL&|$}&Fn0b{|Ut9`2P|NAl_GL zcagyHp{iwPBH9gIa4fGw(AT)AUwCtvu=2|Q6}d#Mqkx+Cb6x3u4XgQ2m+p zmx~Mc8uA3^6cW3`!vMmW9SsSIJC7|GzFx55R;O>9xcQYIV+P1 z4k<2Ptr$ZBIS<^|VHvq(XYUjwY+SflwNfMjWZZXOg^Zcw;g?cLSIHfL4-wI%B1;y!7d&Cn%7qT*R2?5g{>DWLy(AW6di{Y|A#qL* zTqLx7DcRY~3cVPVFjv$0^>Yc>sC zsZ=`q+X<^o5grW&q7SCig}jG%fB)n#6CZkXC(k$+ck1|e3nt9kfTs#l6F6kt#cP!e z_}|!L!Gu6<0E+Mf6~y=OydYK;i2N33bf+^P5T}%2omh|Afd%yq^0+#s=s?*vZK#a% z*BM>x%XerKR^Nc3NJD^8I_k*z$g(Y+1O(j!C_9qHs6VCv$kQUU3!Bn5>4dRV27y6; z&!eX=^3vPFOv%?;@(LEzS7?Pbr~9dBfo?QdI7>eX6_>9)x?o_rZhoLYLSayATE6JQ zSqKw^w~N_=92_VD>Ve#F%(k{q=nCFrHVjGFl`$|fGtDOl6s(_k4?O#3>#xVXlfNF) zC59mh32t`=Gb|y*06h=QyISz^$-&W1P)NddoB<08;m}b9aZ|Kbz@eewrje~}ARgo8 zAYskhfCSU7Ai?;+JZv%cw!hlh{z0B9qnFOmbr7xFb%28PhRGD2$FxbueJW}; ze$wibM2zxX~k-#)>Z{5SiRCS_3CWv(xV{3=;fo>hhSBt zwOu75_}(k#*^^PZGhLLInYWgZ5NMpv0?h^LbS&|}7)a%SW}dEZZ>v-S5S)QpLj%ArYmI^fU!c~= z2i!8$s@51pu-^3Za+veI>V)ZQyzB@taDC`=iG@pQjL5;}bm@9;C9Dy|d0k*=2;}OS zxIvh8U#;3g1qZ%BT{)Y3{bj4VqVd2O$kB5rE_bUO6<~E-&L(O*E^Eg$kgm~`pX_SI zCBTrbTYgC;{{%k9N$_2Z7f*=>wm_MjblcJ>IPe8p8u>t{Esa40Yao?VTHoic9Yx=uPbrOiBF)0femQYQ$*c7ZVLUJjTkrVl zfX#APt6wk1o91>dhWSL@7L!#PmS=~{GC!oh>3&jLrs7K%39Frek+#4G7ZcfW%X?r* zm%Z>_Hes>`lrX1)1m#UUY&3a>P8eSUB+S@gSn3qqBdDznt1*$vI}m76sUF}JJ)s{0 zPB@_e1+AZ-^n|ln-a0=OBq;s-EQ@00HO2a5O2jxJoj~LcMXd{vLSaI2#RKjPvYJ{v%J_6T;wv22tdI#?qWHJ=9=| zyA~My*B$;d_ZF;#VN?yPgag+vXP0yUY%-%MaCUe(*qy%Yk4JP+gD(Ewqb@U3TU}3j zUu_+K#Zvz7&3<1Nv`YO7RM7XC1rpMCvb(o)e6qE7$i#iyxwwi4%6{FT?D>AwcD>H! zIb_gyb9OlxpO)FSxUG~9&C)SSYWJC`5|*nph|a?hAo#8_KC%44xDuwuQ7#Dvp6iS! z;P;hMLzHR!R5|`$HyD>XGsOF_gu!t%S-=aYjK*q9$A)cErs2TFbITipw8&fN}+-2j(+Z`zK=Ovy;3?wzaaXUU`1&(Pk5DV zz0%0>z~-fq!u<8;ms1{9sAU=rCRlH|mJL+!l<`fCU7b4aF$OALOGc;edHLv7zn1yP zYM__CKqYLMKBpeORraUnx!Cb@0#f{IbKl4P&}<--kT>yV&bQJNHc7+agyUfs9bpp= zu&{|2XO-BoGu*ZX-GJC=TTHhVHW?c`E^+o z5?J0gX>kqp`!x(@N7Z`EAeVf6^3Q7k69g1jxjU!5Bgyq<1V6~F! zA|WO35=$P5^OtbLy_F0b1?ZwwsqX{b;A*9c!2n;>GxdXegkiOMR$%~Hlvnj_$o8w1 zSB?XQN_)FDLZe%e_ioX~Nh#JMkLcfw23cd87%zEqk+6&e6y0hEA(5Etcvw=3nm6T( zNC_hXK=^zb4`fu+Ein`)w_le1OIA4&1_S`{=?r3&aF~DR*t0F6LImLrh&vKFNP2`* zJWF80)E5}R1WG{A-NmDzJ1dLtb2`nzITKc^02Jh`P(keFq#ru5tzmiWM9;7y09vPp zm4HZ}PggiyYukLJpi)(sPtTmi;=-9jwl$|hMEZEOr*i5RnO4PeYVJL9x82_{t_vJQsvKzD`WqKH#Bhr5S6 zy~od=vXuSr<`JcST`@UO;JB$DqFu{bF&>AuEfXq1fXM*_-*x?H9%D;bu?es-IB;Fl z55Ay?uhT{51(!=$u?bMwXkfa*na=z%bV|8US!8FI=F)gEw$Ye|pR91SV^erwLykeq zI__j~Gjew_hl|2oIRlmTN{5!N;3DZ-dc~s^mx2SADIc=I2vxE*bBy7E?Vd7sLFX`! zWtl3VN1o|8F5^yV&LxWC z4FiJks!ce|PnZ0(Z^GGe1>kWhEYMuBY1}xe2~+I|i5(vG8l#vG+*p1Is}nI61%|ZT z^@)bxEeqE@IAQ6#mJgVqW$7DDy~X|Y)2G2ebi+>HXiCFCidxM|U`oRpE`bIPWGq#I zRgCph<*egBv{N+`8#7C}mE9Xq_!wTn{*+L;!^!h;gXs*Emi5!A!Gc6{x{h(c2h{5m zX)qA6mSa)8a5j(EZ#fheXjqH*>ViV7&glwJo~HF%L<fPi$HMW_-xx~hAkOqwD|%ZC3GiF_YX*^1Dm1#KC7BNv`58l!w;phvrTWM^ z^m96S&l|0*^yYa9-n9(a*HlaO zKR^D_Km17iZzY+pemI$m3hH!=n@)MkW&_68)Vqfknny$!XkgY2x>@K4Q8(bf`LQE9lW-^Ea?`lO!`B3CrT5JD*=boyP%-Gi^nxBg-Fshlofykw*df!cr8>A z-^25on1U7!%8?AP$Cy*rKZ4n=Qf$M5+BLQCFr?z?oN#Sv>IxLJZi?+1VaNJxnPM9j z)VCdD(=&r&>Fk=NtR>f2+F*jzG%!2TH%&?CNmnN??Ebn9OawYXg6Hqtodo9ke04q_ zXDW8}c&L3VunY&$O(U+3lMY&4MF zm&yxT_!ymugH}$Yh?G&T&7VX7Nxw{yG@*Mj=r&H)x+EO77SP80O{%~FVGkjUE=UF?#YC8cmjy9s(q<+7w6VUDzo7Xu1)42Nv}A9OF|I-`;{w zg|2gVS0v>&Bxr9rv=ju9CINhCm9pX+p#&W0K62>DJ9p6&cdpWX3NL82iEhMU%|J@q zAE6FGL&j}ahFImM@D_|aWmP@K4LlIK&CNU?EJbL&oK$*3he^ zn$GDNEa+Xc>+yi^>(;{T3=_m|%cdWqb8o!MPjD|4C5LtSx_7f7L3=|NGd23rLH$@B zr)-8hgd7Z1*BKQpLd~6geADmx|R$ef>aKa zX?%r8oatD?_H2yIiZ=AIlQPxy^~R&KT&$e-E=JCzC}q{bF)0!d#71h7m({~gP{lR! zl3{@eJ+J+vy8^vN&+Ed0PR>L`E~>p*n)r)xFDo{y&P04PkfFQNWO|zdV^BuAMt2uM z1-YptDy5oyPVS?Oc%4e(BZAa1?_5<-M!3Ftfd;Y%s4UPUTLZOY$NeNz)=J!35(EYH z2ZH+K+40xpmnd4Gy{*6O?mge@9X~%jJUBYpdBT#M;-YHP*8)c+?Cx(!f(Hx3Jg@TMY4p*UwfQv)fOoLS5Nl^OIvHYFN}Y0ICVVN zTGRd3(A^VZis}5*XfV(Ai*nK*KcP?AB=7T+rYZX>6_OhKRG(dB*!Dq;eK>OXQ~J@0 zua;k8LqRP4?x?T3^b2IL-w&ss&iFgwgHtA$Ny%5x;C~e6r*QjZf5(3@Wm79jf+%-B z1KTyu=55TR^tw?l7V7guy84{_*TgNp**3YYhN9)hjCV#j>1wi_a_>h%IQO__oI%D0V5UmQCDFS-TbD9q}=2${ap{mQZU` z>lW*dQfrsxM^+YS$~o7@+2%Rg+GXbM4OS*@$j#&)ku6itARqA_c&q!LCQn zV^rz8Exlp<1SNrHyj?wVlsN5qjZNrDw~6gqiQU%PHQLd}t6I3hIx7)Z`sN4M%U1Pu6jOtrftbA>+1?A-6`e(@Q#Z+I!V6r>^H#$})z{ z9l`_Qm5R_mhyTZf`HfG+&){FP310TR-Pe?WG$9TRg>=Yrs}ee-EvDWp@^Z*~!iL`5 zf7NmuM+Lbox9Tz48NKL{7x|Db`2Jpc!L=&4QP2SO=zLm~c`u*79F@gX#Bk_7#fU z;#`1p4@b%(Unq?g8py0_GLruJIbYRVubLPr&{%mkE$9H-f;X${9QsIE$dS$kG|175~Q5~nW z6b}I3W))U|Xt_B17r#wjkEp@|kyYAg9CKRCdB&_)+JFR-_baoB&XO)tI_uMYuG9`v z%kOrbDM2=T6NYgiK$pLQu9B6bH)@+$L%4eRV^E;cwaWaK&*mcv6v(JnuT>r#==4a$ z{66VZ^Xn#U^^u5=2SV43)YP-IwJ@WA0?l1jTr3^0d%yXoUjCW~rcUwF-~}aw2vRri zL^tL#w#YlcfzC6fvu@VLl-6RIXG%Kb*0CuoM5N6#B|XxmDK#AEZaBrIq=TNkT&8$j zL`sSR1C<_cm~uqH(#b!W)q&N=8!j5iWc8MVRoQ0s$LHe8?F$}pY1Qf-!ix~fM^D`` z-1>wS9tdS6s1%JR&V`e!RsshKG_sGgew&`L99y-I<47QpMWgyjUfr;4S2TPykU1%u zI*uFbr$``y#3_ICoTk|w7KaKCgmQFMC7KTRwH#f!SRlGDS`0C*kQGa$sYiFds2K|@ z8Yw$PcEb_F1o6j=7{egZH$-MkDK0oc0TFBnk^O>ED|{J>vq1V+?P9}-AeAd=)gxw( zsLnRY)9&+&V$5e%tFEM_;6sq?In=tDDhlHAc2)pZ?KwQKD3y0?stuI{1C^||wvf;Q z<*Lni2oHq!>B1Iq5-fWvg z*Sn{cprE}Dl}PQmbIc;4E(0Q%P=N=sn|RWYc@0%UrvQ*J9c!(;yc7`zJv^`e&0FT&>g6rPSuLG)!nS#a#XQZ!6w7CV20JcrWOd3&xrJ9K=@fwVj7}TTo{<1+87XWMD?qIo1t1uMIr*yd zoRo;QoR^(*O2m53yx(!%ycCGFoZlBy?%ve8J&=gtyuNrryH7NLIC(*f;G^-dbgsTh zSw_$hs$K^0Kz7w4n@})RXIP!!h5!JUN~3}39Xv;=TJYVmgneeb?2-@?2!4iV$itp4 zs?3LCG?*Rh4`M`^ol*RAo^ykQnVq&CgJn9{F9AZWaQWHaKW*0d^3*BNr<;{1`C!BM z#l};9O1JW4Plc_Hmy-#t^N35R{Q!+AQ!WFi3}!xt(IMl0M247rvUW6OOlvsnBuHe? zKdhmj@~y~}$#1d%!iI#H1-wyTXBJ>%zfUU*oIw80>p?CLCTmT_-F=R%&aDL!i26-~wdTv&tfW8_ z6be?x>2ma?v^p!9Ex-qryVQU=6tnS(q#p9r#2wV*|7R)m8=uw zKvg&M*8~63laz%YKqXX7!;xqyG#q^0uxm?IERa=isbHVhv849`ih0Vq z{0dp886f9_S~-(BcW+OK*jnK=S2+O>A@z0%)U%H5;?%K^s&t&dx>X&c$V-lYSIS~M za1tt*B7ki^tQ8|hxvU>f@N}yHn{!FxL&~-4&BbZYA5Pb-QT#vR-n83|BfAnUuk}83 z*)B;GDN@ux&83UnfP^scidyUa1Alz}zwgAb zBjcQiNE~D)*j~#el8D@U$B7ds=7>#oUeQ2iT776%*3GU4f6;0NGEZloRhYA^_NH@? zpu5hbWGZ9JY?Cf~qWWE9gezH+EyGG3okc|MT;HB0 zSyt;r9??3hyAtO2O=1rD%#8Xm| zqC>=O>j_*$rdYJS{R09#GRR%<<>Y9&%-J-W6yV;WZ6y!LNH`$qwTv~If{S-lC@yx0 zu@XP^CDMRHLasnE5n-SL5pm&_ShF1}=SSd*i-2OJH1}qV-#{bpFUKD_`b^d}^Zsqs zk^zJI-I)5}YO8uy0|EJJn06pl^2H(vB)Oru|D31h(cw$QL`|DPBz9f^ z?r9vQulV#9Ah02Tx#Po-C|T9*>y82%^sM1((gdd%wBgF(w+p#9KR?eDM&A}R2#N3^ zgx3-jNRyC`V2E|H-nFDe0!epR#bv1zKhcgOid8m+hYZ$~aT6LDsbTsyWhD-Upu7VQ zE2!asAQs#onRt}z|Md;-3>efmtr}mdE=A%SnjI2tK{SE|Eeqi8cPqp+C@gmLjh_-5 z0$7LFCbBc^?lHhsI*RJs;Vn==&dX-g>UMO$p6wUaBl8lyiMQx6j2wu&G4NF$y4XB{LouM|f-GaDfaHq?##{}(b8QL|u9KAy(m^D7% zn&k!-u|VnAU88`m(xuDmCHkPD#Ty+yX>Niqej z^XM{brhGXkO>xt^c$9CEUCrjFw(Q2Z$gwG4!~S4GefWn|vQ&vPdG2QE3@CVCN_dmI zdo`OI((E>z77%-u-TYpZ?k0S3^!GSF|)8-or9DKCE%4pytVBv6rSw-%8l$E1Jw6I|Z}}oEL;< zPO8la2{?2h7B*@#(V$x_Od!E2EdOY~rUO9PrlyzW1uod%jx0aBH>W2b#$)&3BOQvM zS3YGO&`i+gOuFkZ`0GCHXpj&6Dq83OR*(@x zL&5FvQBX^VSj;30GlHUXAAkz%fCcl*;e)_Tx8BOjh85)>a0CmMBLkYvon9aU+pgI+4c`xszHdcLIb{sXs?#XV*)J&XZ*xZi$NZRxtg(b@i-dJoK7`uQ!#1@{kw9ZlKzH1q=T zf{yG~vwQoEy|b2ELoxXnP}9;Wb3jwp9)s6oufyYloBJx#d~0sAt!AIPc8pu2pKp{H zpy#z<$*6oxdwNd$9GG_~diDXUSSkVeAV0O|+zx~BTV(L__~ord%YFOB?BTBFcQp2k zUnw>;yc+BlmBIG$oQ{<9llzJ>c7Q4t0f52I`!HT5?W>^;8j}Stf_{CN1R4smK4_xr z_NzT#@*l(p0y6mD4@QgZzo%_0u2w$WPt99s!W|WBSpl|K7C92AYWlfLy2xwv(e~+T zdf)tMV$M~Llj)~p1X)C`s!RewjhTvRX=PkQjekA7939Mbj4Hu*h4GKb)RoF?AcuNyh3mmD*6JS>I#M>CA!GDOHfrp-Ahfv{nPH!_8?w8IEGRbGx6-a~+899r%_sM9AjV5?mXJ{~sFa}6zIwjVc_f70D?|P3b z>a&Yy4-}hzc~O_DOH2SEKi+Q^wCv~xxud)0jK*sBsIKXyrOnP=jc5;Uh^HU^O%e2C zU?(a5msTpMdzGpC?9rnKkR+Z!SImVns8o*thl1PevnJ6w?>K7uO>yqq_z4>9cM9ye z%Mvv;M=JsN(D8af2VI7=6^EQP&5Txthlh$+3M%NIS=H4-V3OlCX3>m!^nxT4l$AVYTba2vagXb;9up{_rQ|WRNW}Y1!+MN`hlY0w zCADACmC^I_`Q&WDwJ6Ty3dpuv#Au-DO#wi0+dLdh(KvUFwPxgV*l$t}sA)WAyQT&F zYBZVAEpz8|ugrp?u;?@O^_T($w7eZGlO{y}B0gfF8L+q6rpy9GP1~8K-O^rP@%};I zwzEhAJ?PzSsx&DXkA*nlD1sCcxdLcaz7*Gvl*ud_xSqG^to7_Oi_Cm~s~9aAqc!G> zfWY9&sQFa#<<|WmE&KCw}lnE3|n(cv+P%)p1sg8p3kd=xIR{KKTVFxBOzBmXgDq_{;<&B zbn`<4lR>AwVazW&q8k{XUu(3_x8tO`DjwL$83<5dd9Gnu$wpD}>|Tz-;$-m6MP$rK z9q}y=@NYNz&A(gM&OGX?*rAonii8Af6n|_ISy4L1pMX{3S&DlA`|ubn@I>`wFV3BI z^kf4A^vIL_214cr9X%OPIhKqEbY<~SV7YlkcV5#L3p&BMnk?ve(}@08yj!YpHlWy6 z4u27lpuCm-P8S5sdB9QZf(1;0(_w=2Wu!KFHJ1-97WObG-|wc_>JA*nnt+1#`K#*e zY*Sy+tETDw=8Eo6^tmVGaNv3WYI{N32+v2CZoX*CCXehc2HI>qd&(SDF=7d@yXE4Y z@RtJ|5cLzq2f5LLVrUnTmAXI!X+I7C<-BBu4T^D009GpVEIMJPjUVR*pMwfxED+XS zn0}gr+?>=gCmXadISr(>JAb{!BiBsVpw1t0K-ABIBjh~H8EU+(&v$ebg?A(V<#10f zU>|fcNu-lU8|d8?ewoAagUXXckT(iB%vsO;Xr8sAtJB@n4Xk7p>sJB&p#4&+BP1?q ztKNLQsm%tI6H8=NkoZB!XVHrGJ9oD-Q>d5)4d6N>#!L{{9#pLDH~ZDNrYnD#x(@RK`i6}Q6zBBk$Ht-mA5gamJ$7e|S$Q(5!db+<~Y|tDb1X6Qr1pYwlXO7R2s2N5KHt#!F>|%~a5;@IK^nRN))eNhzm&6UH$XrZ zD9uLh#D)7&21rnbplKzo$c^b0ylM4^uRdqS?HV*wR1m)me|Jgf_QHpAidNzvlww*2 zIK1ANDq$`#1Sn`fsxz+cc_{ahQ<$G|ZrNZ*D|zvqkU=I1N-s19{&(jK;Aj|dQ1&RgIihcBZ@GoA-WFN8Z;2ud{?_oRgHWXqoN_`wPX=^*Z{1}G`hzn@T<;essdw&hIh=!_iGH9n~>BGU?!7x!%JTRLypD2(g3mV$#fAtcpRoUW&Mkwp~o-YW6|Jh>O{OW;}^o zhW^FViU{B&1+zM6?W7K*9w114%ALcx8gkaxFU?3b%A_scV}+M)=r$0}r8 z5cz>Z--1ZOFn*nIQ0|2MaUufVdm}r^C_zIJ-qW5chtYICoFOIJu%!vHGYM7IPdU ziZ)2_Y1tEqvK+^VqBo)Vgw6>>Sq_LAwG|)TOG6J%%*KUjHN{G!x)d{1kofa9iRSi9 z+83AJc{+diE_@f>E5{;y~#56tF>WCcmR3pH9p@ zDd*;YlW?l&U2w3B1c?tBZ}2apWDjX-R!nRu;yQ-Fa5V}7s=@1d`VaL{qOrs>W=OS-JIdkbL55O4=p3q|0P<+fKU*6V?mF9Qw@3AgbPBv5CmvQO2s{418- z0F-5KP(hry9}NZUW)0iZW#oO0&ygV@j%2oiP_hl*s?#HqMTj7L0~Ug*E#Y*R-A$|L zq5>{!aET2ONqL*dm)7{c<=voyIF94iI3eW5U7H?poP&Zk&F^AzF+Q8`crT%Megi6q z6aRL7tZ`l%{73OqCf zT>sA8^K*|b(sjLvQC0IBgcavHEriQ-1`JGZNT&UY?hx8i8PCSaqMBkAyv!>Go%W>Ga z&$ty8tesn6L&0sP;CGvPzaG)doUGppe`}>@z~Fv4!@XTE#CbKv);iMyCSM+$N>%h_s8S&{f;hN9gj!jPpNlKe;m;ki~Dq%U_y74JpGE+bjcx^7R8KB z1Z(Snjs&WH7=0eA`u*B0{!SJ-QHn|A2(>IqazN9Ku{%Ox&I!;JpHq9MKQoJB#0m^c zpTh&&b)>Xx=6^)9uGmr!h=k0;fs5yClPT~%IRhTp-W~5A+y2bxkMkLM+GzK9G__+V z(_!^z8<|}dQ@Mb2SykY-si7yQs~w$}IF*_dA8KBkoJ~g`eSG(RwVTih*6sexUPpRK z7jTIyNfiyB!Ls&f1qJnuIMt@QpsiFLoJ`WTt z#KjhU^5D=w@!Vv7J{^VsVRcV&-+}$mIU2{w2|U4?LM5Rm9^QPYhRPOXlnPv9U?In=Ehkl}WntpEvl5_+Q9egNNK*V|>fW zhCi;UxbvVuWud@wBVnPJK)5w-6aLaB&N+rqqV5Dse$?cMCRn;Ny974}%Vs zH=u#*IF9F-2pRtFfef|ZYRt2)qExn*L1gHg9pCIiq!j*yg7 z8n|9)thlMJ=Ax}o+#8hhM2`fHC`Qp)JQJgaiW)H-*rL*+pPO19&oy=|ErtiaC~DB} zLq!chfraO)sd>ZXs=)(acVz^QgDQ)R(EG!HmC;M1 zSX=I*|D~9(38)7ZMjX)e^YFFMM044+{%hZ7p{q|;v>02buWkItQ1&abLFelwowR#P z+!3sp0}NoTCUekG@LKptSSq=(OR(KrFSAJ8uuS&|A0e-uEn3hnK=sW`>}#sEDpPBxp#Q(Bj||4XmqiIJ{mvcP`p-8umS(XE)sAC54qwk!~8`mcGm z7!i~=7$uz@+g?q0v!v;u7x(}NvTHF}`s|hB4pj$`*pWYR#mb8&IKbyrI<{RD1D!>)Vk|*~1ky$v9F~>Jj=;^3rkAHW^j}bx1 ze39m^#DU4~zUZ((!+dd0j~{IK$))bG!-Ik7`PdiN;ssI7>_pxR4H76=UN+UT7Mqm1 z=f#78=z5$Nx>ACsrMaJL=8y9E0a})7SEm)YI~CAC#mu*>ZRP#1=f3x6-!uOgcSE|{ z(W4d^lN#KIh}B;f2zPa^_I3}14Ic9KI$dToGB=t0^PCRO(_2ooP)d7hrsF5(?<^uJ z_7oW~*P^tdg8U^(o|0;OrbOz{Kz1ifHl}Cl==NQ4O`qcB`C?WrYXb}V(Zsy|IW`D%^wMlpq)lA*wySY&e}iVO#-V?(uIZY$rznJ@7@_n>?MipM$@G#Q zJrHqGap>IR9-%Sfg1Wa`)uqe3nz7Qcw&QERKWtS*Zxc{q%S~#EBhyD)t6_qze$lGT zwG=IGccB==9c#KQX;JSdPv{Wo7vyRWoLid-2Ukt5T*YAlY9PIbNuf8X)45Nn&80DD zQeOtD(+3#UN>|m@_}MBIj8K~RtjwVqS3YweNJ*jhpbwZ&pRHvDBa~8W>)L~lsZTgJ zjm{bEmuEFd)$Uo44-6J>W;kq-)f^W%0jq-r>kXM#^WZwms;W10D619~obNWATk|-k zJ!efvLTRrDH30RBVt{yj@t9Tsc)ojul5Am8>sn64{d_0WWtpHWwB%-obFkNXLVND% zN_V=&Nt~0{tgE3pI&3Y@15NK_%aDAF79X>s6t@9+$PdXj zCGG5J<`NH@ND@E=^Y12+X_M_)w{bGRHi#b;nV^gL5l;=1vzkAM9~F3@>CJqJQ5Ve= zn)K{r`lv-GY7|8*&{MFHX(^tCjTjF!y&r6}r#I2*hLsQl{Osy}Z4RySZL{Me`lNYN z9Uz0c_loN1SQR}QJFTcs&$VgRjM{6T)W)cwtcg)Fxv7fIcFf`X$EX$}sJab%(SUkp zui(obfzYf_dmEYm@E%4A4fdB)_RNt8&FZv*T%3-`aMO9L`8hunHW0T*M!sK5^X*cM zX#)sz0>veR9xKzeYYZQuLqn$Iaik-jiW{ip0S)$>sRfe0p5k1VChx4b_e!33OiT34 z?qBKyR-3~cZi|h4{{;N^=y{6^+I1VEr#S;@{vjWv&h&cFGVn^M;Dg2x;gfId{*t`F z-Vy!~8PvTYE!ec6>BvZNq75$8ZZ=5*HKE4<`AtG|++)XAE_?SFiY(A`9oDhqZ|ZAS z6YkiW14hMQ8iRr{jM?0e)Qgb=#a?4Jh6>JWJeQJCagrCMo>pE*XduD%B4%LsG6@RjPU0Uk7yX&nl1HSc|?%t$Zl|HpTJCV&*-RgczBToO3ijZ z?@#WmXjVkZ0X1Rz!>gH2=s_voMk_s=}o6NnSDK?Gt!dl01fWYHTTx`v)yHrCk$XGz}E|;Pl zj09nYV10K--Y64wj;IKgSxYd^%wr$NM%F_$WIxNmqj;(TIoGhqu_ttqy#P~PXgV~x za`uQ>t9A)70jv;u67P85Qbi}Bcy7_a(F~Hw#a8NK^Fp9prZ?KlFsuH zO?n$Epg}H-`*l5EvCIx(Tnh?9Vchk8c;gyO&|ttt8Yh4Gtz^`27`rmh6~o< zuKrik#pyGeX(0~K;0~eBbJMr1mK;$zTWAd`7(;LUVYQsBFKfDLDtC|45z)wW3%Hq6 zXt0M+*d)pH-HwP2ZR8#q+?kxCztu4gw~+%H?7_Dmn(HBRzI}wr3w?A34dUS5{@37x zai))%p~?@CBs%CLtJ{3rImgWt8H$e>ptff|!iR(~O!gYLrUcAPKOyl6*CRTv?J77$ zQ3$Pdb{fCVi0*DA(F6cRhYO*vfgxN7gQyAh> z%_GLowC|UoL^R64LqizUFb(GwomZ49j*7T%AfQr-afUw<&dYrie-2&wD$QQ>f&0Q217=u$etdHvu0J$H|Y}E_F5$(Ui5M zfug2u3BK4QHL-s^=ho^ybClBrBB%;SG0KUln(VNDnnkno;fhmQf^kA?*uGWLx~b@< zZMs%pY|ZbzeM`XyjZM3hDdop=vC42nuTJlFmIZpkcCuU^%qA&%MdgAn|7Hc-dpp@7 zGN=n1hI1cKhj>X(A&Mrn_lDtiDkuwU(2r=cJHH9&OTGISHUV*LP=}`6{+w>kiKlsv zm}S|SjIfwhz=w{o&|uSL7U7Rr#wn1CZ9idOYQ!kl-jA3tZY7Nu-NTGp%qu6fj@a3>*_2-e-M@SrT=4Spb$2SI%>BzZMh182 z=vm*&?&^vI<`DyqLRn`ipoYiH%%-XSF|)K;%I4qfraFPA1z6;h*D88(DBT#^-@gMa zSi>};$*X&F#yxUDFDPxfn;$X7oG<4T9x9sFV!o{E{cc1rC(P+67VARwYb^vYn8P%~ zBcFhLfv&=s?ZrJzNAyfGnNP97e*=Rm@Lye4otHPu%oY`#O>7}u8^0?q;XR_b3+p^4 zOAHd%s>(Ai8hrUZT)f{v6M0SEe#R#1xo0>TMtZiE2gw|61usT^x9J+ou z2IvSQZ((U?FS+>Fd*oeYfu7JY$)!wZLVM3Zm1&?TG+cH!v>901^+3L2e#8`YA(BdT z(1(fPkibnnWUp^JqI?d?5G;_BTElwE$*kegK_A*uYmF%#J*5{;S#{~ZeS|@SILt#f zzlIT8wkVEhM%s$PW-(=gEM6Qo@q*@lPEs5ZI_SgDsjegoHDlqftCT-x@ng{!M z9XVn)uvJEZ3f2fya!iFzb{MdvPb#3g*Kv@m#!rMZK0%tl9S zfKll21g#?M-Zma+hZW%oAR-LuVoR9eAhSdNAzcCw0ip?XB}cc0ep~X}p_;%v6J&{s z9VO0`&`=dSWr3VByAM>sWB8%~GbegN0RbKYxO@7YRAP#7Aopy*LC(9<^t(ApAeXZS8s|mmpyv&p zpDw2`Lz{t_7Y@|MZ~};2`ItU-!FxfGO`31C4&OJdnhrhe`TO8u&aB zMDYgRq-Bk79L)x5;1do=;WcM_x!=v|tJT=fuG3}se2?cqH7COYIlQMD5;ncaOl%pb zr&=b1I391!9EP9KVBuw;cpJk*Ksbux;))UAhv!Ve5nG8`V@r$=2_n9jBy=0(6UIMK zcgR}6f`dF9OKS3Oey3Jv$2+7)tWO-YK*InTyzvh*&Eqi44g)p*oB$$3#YI6F5ve_f zs<hn(me4%LA$7=N2?P+4i4i7^@XsM*golR!Q9-i@I)!;bbtFhdMf3>FuZq2X@KGok|;=9~sy0>8BHaLEn8nnz@DE-z%2Z+tz#26Z7= zX3{5HxsO=Cjo{dR-00t71h$vE&03~D=eBa6##%8OtQ8h-GTF#)vW5%F z+R8Dx66ZAKXlbD5=Gp9Q^fCSa8O@4NZ*cXL_A_mGZBx8%XHcv$3UHu%k^i1h{r%y6 z>;)5@=VO4bSR3l=t>vCf$kd0&B#eB_}_IXxCRL%p~(q9@gUu$$%&vq6P(`s7KhN-c3qra z;(?GEFFoPV)p!mGBq3L{wz7RZrw5;Bw0BlqlhGwt5)XtwfJ@MJaxzz4vJ&ai;sl^9#W#EL z{8?8D3j~S~8Vz}-jqVZ}BPh@?V{La8e^k9|PAm{8n19g;@hLC&F2T@b#35x#(o1@} zlJLuTnw-!a(Ks0(bs`B!$Vuo{*bI)*Rb@`xrJWaWpbL4Tr{Okf@48E#8YGZ}JlUU` zE^yrbcFB`~10By((k6D!6YEKbF_0CJsi9rQKrt3_1UQbVb*pNMpgk66I!ACHI5$$c;w>&x=iNXg+p(HQ!yb+NJRJQicK^ zxFV0B1E>>PEt;J1QC1I+h!DZ|T$8u+`HG)*RfNP+zAP3vu0j zn10YONft#9ti)oVzz}&hnM>rPhi5x5utXN4Xt$sVLgsKiEC#p&)B18UB$I*5Gi|5y z`G8CoF3U8VUx*HWFY7tDEYqUC5&^XrlY`4L(d4S=miJ+lyf`KLKPi`6?jYsl5`jZhN_+smA*9+0~_OYHr%km5vp*AkwfhQ`Z zG&?!$W_c|Hg2V3nm&9DBKTq}CWY0yank7mF_-oV zc;=&FNM=2{Gq4$tz>v;%bY|c)9f2X8<><`7XE*{wI=j)CfzNCNhP1`*%)s00z>v0| zof&xR>7!6Gi_tL(u^9|slhfIYjy0LjTmU_pwdjh@W-NS5mYJ>S*pi8v3fpVhj+#k@ zI1+X0wZveEMV=);Q0vIjfPuyKleZ%_gAiw@Q$JbYWw|o55xuy?OoXp}m^O&B)Uoyf z3c2w(J4M#f$^gC$kM*)w7uf-w%uC1mXhd*bj@)PzJD4Ivnq6 zB|a7p_{l)EGd>%o`cg>ccPs_2-j{;?$8;8+iI<^=Mn8-ugtLc~r-ly?poX!Sx zMCUUBubh4N%hAVw`sH1^|A98KZfkmw&Hs^2rD*n>6OucdQ-*}eZl$#6i~aWKodX7@ z!0GTnc*hgoqpc7jr)E6v{=)LAxW!xYmS92uqNo3qPST9buI&{+hOKCUC1nf+nipc4 zbye}(#S{*cC9y!DxE52;)}7fenC%p;K$gQHf#ilHNp=}2DsPd;f)%NfBl3NyELfIm zOQkbdt^!z=%3Ovs7*zlR)tj^tou;rRo6%kTfiA$_ENNf#CEY?OX6hAJFa5LEuo)ZjGngU$WXVtTha}R>!YSs^eE`9lt)Qj$a2IcS3P8 zKf0n?IGYIP`10_s!hqJ|9040;@^1JlXlQB)eq;7f+|GgTTr(K{*2ZvH4|x)hPNXMh zfSz~2*+dd=pQl^=#N;UMr@(gy%o7o`sCi1eQEf;A>d%q-f%C+mqF*i}%(I3FL&t{>a;I;6PNS0VZ@u*h7Y87CS z!GC*tF&}+8uNJe1bSESExThyyhTKizMLan&{j~!so3Y&%4q>X zd2M>RUp*e(wf~#G3agmdaR4rd2^MIs$24TgB=jj}+X_TLD^Vp6+4Q2aXrOvA&K0ed z?soi^VZ~UnkSPxaq8DN!GdN}rp_ncx&{(J}i5Wue9rWL(IMz{KnS%zA!jG`T`bma|w_o2C+e@RdFE_|FQ;3mX$ zC6LuHG_k}5@eSk{397Bgt|A=rEfQHo@O|I?x};Ynk_-1?V?FB-KMPZ=B>H0D&Tyh?W^-7P^?o!vMZ9(WXi=(8)v|2Lx}L zBb1}h&9P8=U10vCx?8WdHO=PJ6tDd!R_K~8s=;$1P5W{O5-E2FESfU2Zk#aXe>7%(sDRj*QLsJL!yGu@8v zn*WTv_?RO zH8S4uiFL;fZOS*6VpXrVcL;2#$k+oZL;1y{q2At+phHQx&44p@iVOv|$5EesT}^kRX>Biip5kpxPtuoV2A*DM=e#5Wg4^W6N|L!CJP~X*dB1Ix5=5f~-2H@hQ#nPv)!p zll5p-U5%%g^97%qP>ll`G#|m5f5^Z?2F0-`ojF%WHHvP-GMzAPbJf78!AeC)@Ky=t z6xriS?D!Z;LI8&ZYEc{IcfHUhO|sCvkxN>fW>HPEN*=)#4H4r*NVYg=R@V$jcx)ZY z76BX*D8{C?*wxe}XI4;!n+B+81&0jsS90Y0wb{+V*j0UA1-pj^Je);9QsqM%_?b}Vo{wBTS*ge zNT61-QSDNtH=Vb%l1=>oQYhXc}%db5I9=Ff~<=5hZ zIOArt73DN;=7B+-aWj|VL~a&=Lqf*v=@IE+%+60tXUtBkxz&bOuVHGp2S%P>iha{n zEef`*^-)dRAFNmg6{M`u4Wvmy_ic1JGRQN=cE>7NriU@M2L^Q}-y3=YwB&&E6}suo*s7{(OZ?KWo5=!&2Be{Nk}bFKn~5Y zH6P2g=D08uquH|>;T;rX2_S`aG^7*^qT;CEx1&+wfFSCEt)}}8?FiY8&iA`LO*f1_ z@lOKNQEDC;{*PwHBZ2c4O8%YEK+n5vdhq5aE3bb)ji|r{W#rW5EYLV(DK66b*AwY- zOi)EDU5TnsZ8?tU?f3DF7V+&JniebNZ=FAhl^QDOYVjuuVfzJd zU{2yso(GC(4YgEmv=YCfF(fOxe>sIWfe4!3FKeQS=jLr~rfhNwWtzdUe% zF|ESZ&CIe=*R|~pD1u1yFGU)tGA(E!xt|Z=bF!+wPlR|tQs96dT4##BX7XvxlUYYK zM;(D3kYeDW!qkC+RVdk6P20OBe2P{V^&8B?V!#4TEhR;o&KLEBn`hvX3LMa5qJ5Je zSyFTHdV%KHPKUDJ_@uTXSxZxzNDTIi`Us)9)aO+j1KsKVzSG78 zZM_3S6h$%^g=Fu~SYiJt&gEaIlo zmLh733SL?*m%LOPMUYqQ5j{lfK*5UKKB3twGm&L{hPG;oJsEmKTb$U^DKMy!VV1(o z+{9fE)%F0Zx}DkJf*9V#h|>|XYS~yp&49@A*jOKXA=W`9wR_?NDIozh;v2dV?^0T|#)K{zm z^~;aL1JNtf?URw&LK<(ezqE%`7-!4w@~~HrketJmAwhf7&^}zv%|Y9dnR(1mwwNa#h4>$)SSzc7{1~GF{PMJ3#C~!F#93OJiWsYtwXK zQmeGPLr1Rc%}ov`DFF)%=9?J{?8Js~%@|md zbAt=sT*>FGK2*sA8~nLQb49!Oh0TYm>mK^Q{-5vt+4s!amZ@{hmKbZI;xqNkky=yIjq3Kg8TIX_r+v)DK6U42cfq7 zdtmTi_x!Gm%(mJopXSr_lhZsiIB>m`aM3M)JkDtD;cR2GfZ)54@JTvNx228F;DJr% zZnxXiVldS&cODRYGI!=@-d6X^ox=lLCU{#;$;5E0Ymd!|D;1O|TdP#AHWvW*kad0Ir z+C#_<*pJJ?flK(kJyBWnTU>kjJpjRnE{PAI)5T_2Q%{|lQgI`wFZH+~kce%JRn3>0 z`ZF3tFrvc;MdV<#jJ)T^aWu1PMb9+ZcaY!|{z(_Z4%yB*IB&Sc&cx zVH_N|MBZp!WPBxjvsc~#2tHAI^z&JD@su|Uy-F`2f-%iu(wz6rA#2e^>5(2`&t9eH z;E*>_^XNxf^&76{c|5SCWw)GsJ8;=K#4;mI4Gzrc5W$#QbkJTqSv2mor@kUG*Vk7F z4mlHCm&tu&y|^4)fondSie5`EE(cfSS`5o&;J_tf$$Uv?uLWDLSOP%siE+q$B|=HB zafn3&lkg6@+CWhCD=`ZPE)hqFi@Fp;_D}+1nUQXU7?{x^f>Cg zG;Vo3{usfLVg00f_iZON)fuh_L2M4Z~&3(V7a7X43bbiOZ5-j%m zDz=0M96M4Bf0L--eMzRE!M7k)cuxSyk~&B*UJr?_Cb|xM$v2HD>PLXc@Hs%Ry&jTU zHggU3d|TrYR@U?@w(SJ446lTSf>*;wu>x1Tj9;-&B|w$=JuujBhfe}KEu7C+;%aNf z96$gna03?1nS7g~rdL#!e8qBrd^f;g7x^xgdCz>uuwcFw3}r1&Nit=v81Ds`jJ+FB zu!{IW39jhX)R`Dg_lzGADtJZwz+TDtG+fX40Z1_342H4xrQmX&gb+nb5KuDa4Vd5* zWor2B#igwN_AJu|6s#gr?rK?_JtL(91e?rbjS3x?W#2poP_PRB$vJIL{{bWzUkfE4 z{!nOb72DMVMCwJRJmYp8{5&%GRB5Z*FETM$FlTZ;*_xE!$txrW$a#be{!Gqkzv>yC zuw(UTfSdys%-pxFangQAKi`f(!OA0*Oy!IkyxHEbJ_SfHz7^^~ z_=D^U#SuhtJxstUR4NG%C2xce!ykOoObe{o6&+C8b%-7p?{Qjl85Ox`+ONl%Kp(J! zNuTz<2C_o~4iy#8Uq0$H3c5b@xQ4DK`;dZ#- z&a^NI?*J`~#RO-jR+-<^$TC2!YJd;0r@irk*c~v~`6$b%8=3#veaG7Lexs}y6}*}L zOF9}Dp#Q>01i6w99r(Cf4Pom5j6COT{hfI;VsKkKRPeqXB0%`Vem6Buc;k(6<`qZ$ z0#G5QB>2#hu>qx(VSE68^Qhp>lsu)NV>$AK#{ebY0E7Kbuvhp4C9)OGycWXBUvbng zfRwG@U_(QuEyF-EF8l%7GQfhlDRUbM3S-mmWiC;{+w>QFigZlcy}!U9!FVl{jQx2g z#wm)~^#H(&Ho$?Y@n`!}c~sEdpEJNzhHL$t7)* zqI*N^E0X3G?|L=k7l$aG;SP9dj&tbH!F|e18;xYG?dMYg5{yk8HaWLHo7zhzV$DGJ zIGn(Ona5$vobj%HaX3Z=FOO9=MdJ{$m-UNP0vPPgob&Fx`Rcq*%D4NRa|8&ss5Uva zT-o-hO&k=gQJiuKGUeJMPBBbyMtpOH0dr@`_V-{Uw?o2HeJRfpg?2u6n;COZ??&4 zrDOAyqJiuN%aghAOP-8U96rwH3SgkR#i%w_y}6jII_$s8vqg9yyv7I<$533FmZxG) zaowa@h5t#t{U46>3Wyfmw(^W|g_t|0w{ZVTl5mo=Ra58~WCiwMFSDWSM^MH8Ld z`J(Gqu1mVf8SiK)HckN|n>&MtyrpC_zK5_k8R3EKHe`j%V<)S6HK)mG7N|6hdz&@s z`6rJG;#U)5b83EkzL;Ea(`sf5Td5=51LXA3`uY^)4j1INlAPB|I>5+B^O{z-HP;>! zq<0FWl?i+An0CB^SypLmLW{jxopp_2L5b`#&D{?F!5dlBXQYH`z3! zox`*i7Sy@iE^FSC7$CO>5|l~LrTUg{aO~T2F?dC?^W}t9uD)aj4`fL!qeG-kpC+zU zePbB|27MAvDAoCVMOV|a9QO?;4JwF}AWBJSG9;z$8$@GVkS88YiB{sV$G#ryAwiil z^om}a8@M}cSRE>elTINe`9@~8Z>JELAkF30v{B+r_5g0>Q9+!`?e+w@wU{8y)nPhs zlquc;>Tm-L`dpsBt2Q;O!2^`A#RTb#vi%XqG&R#*ZS4-hfhw5;SkxE4_&Lj6-#Gw> z2*RWnO+TM8zP`O^3kbR-6wkf*t}-8#8) z&^y-w6~swrW<~2-^r+-?F%gev^zFTbsW5bci5K{C86=>5)=-pKxFQZBRj+bZ9~nnxYdo zf%fgt2xv%1hL;k)D#2f5=14RG@ZL*fKtLdG~ zi`>iRnllw`Lp+WQ0m)hlC8J5r>S9A9qUu{|fWB)fDLRDYEU}%=Ph^P*83KX_-1AnP z%)Z`lcVZ5us|O^YpnVfP?vTRF%uxYQCtx$#&H227=4?~W35wv5k>-9oPLCk;&OJau z8`>=h%umL4ZMRZX5QpJQNHXB!t;7UrXe>nntgy!O&s`hK0yHFqY9`YSw|JXJhJX-o zvdNMWWY>UGMu(8p_3G8v`(#zIx9bH|5GPg5EbfEaQgp6-zPTI%*CVdCnMn z$aPdkZC7VO9OgujWT>UA7_Ue+)KV76;-#!GM-YC@ug7+sBgnuapP~DUG_)X*58Pe5 zzgb|=C(cClnWe10HMc*cJCg2B^agFzA#17geRfR?(t7 z=U35?V4zjB2oCuRAK8p;pl%*04GU@}wUP z@&Q-TB)^A-grxO_1hJCUxAl!+L0vTcP^)M%>)BN_BpPZJEyhDmlOTZ=uQ)vQ4UE79 zY0_gft6ni-*LA{>!`v!b^kXsx>YYQeikA4UT@e{>bqRTiU}4;(M`6<>iw=Ez6b&kf zlS*Tg47j?)GVO6ep5{8N1I3QjJJ$gf#7QI17J*{!zKuKs27NNp4GSePb>B&)01Dcq z?Hz9Q1*ObaUy}AntW?Cg?K`g{ppoZfbTHr|NXWEXR{>?>Tx_i(&U0VqV!)tJay;N7 z2y$Fn1PQ+nwg|!zk;kM{H`pRb;4`Z#pi3qP`IChqM&u8=Ljt?@0rC$lvN@eV$4vR=AjRp~jPL*jhW}<6=>0e* z{jWPoHz>e$_NLw7OD?;cy&Vp)oxKx_bhEdG0kX5kTAbVLW(|V^+`qI|rhhRRVU|{$ zs?8K5kbwWZ#i#p!X4UzGwskQI#fjt$MFa+xzpyO(wYi^yG5l>Ockw_R-PT&}GTqQU z5YTVV=I7^&`Pt|m{kPhT{Bb;%4b7CJM{#=!^N^st4a(1U%Y~t(3unzK1#yGBrmLJ| zO;JJoNxYqq^rXOrn;W^2tPWR^`}g7_LEHWxE7Iz<;RpE-*Jl2>N+bVu#i=w3a2 zMF0KNZi%%`8)MTn>K@6NvkVLBw*>Wr$!1Hfs%cXEFHC`E5Z9t0gAO5Ymxa*&z9n5h z$=ynGow-g)fQOV<^HS)Fhb`|LYdSiIH8@<5zbnYU+OJkrAavzlz1fY=C-cQ#+}-g| z5p-KrKV|1o5#W!WI~c0uT#3(|~L6mCSQAbulHyxlLClZ`yw@Z})(Xs{t7IPmZH zJ9=33?qxN7Y{rP@zvJ5e8;fvV9k>M^Qr?F>cv>f7Y zu^@Yx=(Zc(_5U4@t8c_$R$&>AW!oVBPXhj+h*fn`5f&aIUN1>a@8eZ;{W(~xDI7jz zyv4tS#m?&4Q`&QHx>(2h2M27C5_3S#`}}LjF&%^^IgKHisDC}|v>diYRLTTtKjIj% zG+(Et&YPLGe;Zhvpn|w}^5QP537vMz6{O-q8V=cFGtL4@Kjz=VUM%t0ytT-CTK_(v z!E#)X_bV^2reg)G-Ey*;(BT4i#ouao-~V+on~jY}T+#-fg*cN}tA%ok*pU1edvi~j z{AlH7Ao+hyc}x!FA8KrF>^*gcVKwRTsqGyTAEnr2_5X_Em>7!R%-T54TRerL51rgq z%T63KwQGvipH@@M1WoTcJ6%*X-kI#`jh#~1{x1BL?h_Rcmi>#?0UON7OwB)Ad zvVM3#7F{8^qkzR~hPsVuG-!l@3epZ)>}n&gY&wy}91&!_AuZNchKl~Jgv**razKpl zPBn&Z62hFZtE*e#2JnC!us~3Yb<*-0-a5RfUU9Z{&GP6o+c}}7tfcR+7@aYs$R=5A z7^A?Sbo&S7XMO%xnd*@Lw8yWQJY`TV2H@TOtOX|Pb+zKxNepHIkKI}VnQ_Ko{2m+p zK886j*;E&EGSAb|N3+?6W^>3D)1pw!oWw;DFq0w)zeu)rZ68mzmG_kMdcjL+cx{pm z+TPCQ@popqF>5t-FJ6>H*=n2%x_*|`AwHV zczkAhUc#`7C41*%z>F-4e=5*Gl%Lcnq&6c5x|KxgQuoXOdstV*1Zlpz2@H`DdLt&| zit1h+P!B6>h;+j8b>sxX8X^eukq~(k7F$#+;a`eH>SO)Okw8#;5z^4-*%VmSiq6dROcuLpv!d%Ip72OE);1MzibD=B$zU-*Wd@j3;BGgWUM^|A zibYy=V+&xFzJ?3(-aBAF*Yq%HicLoxR3pvvKvr7?FqYm_G-ehzmJA*$Vj>9hld`Zn zFV3xNjhMC6!$CkEv=&$(sjYpSY;*U@4BkFAG!W&dtdJ>Yr*xn7ABL`tjsjx*G=Eu4 zcB)T31q0keC1*tiDu`<;(?(iDSijUe)=HZGpa*lS$PKE$N z+8P{6NAaD%`!aZg0}=>o3jijqS<+(W89V?47D#IAi@L=7)oilivIg&qGA6Awzr4nm zi%udfFhN>d6Jzp{oBbcWiHV6IY{YAeta}hP&Mi$&hYqBXz(5G0zf=mP{cG!bJ5M&S zT%1yDObWq%w2pXPw5+*NG8y~MPN_C9LaNpY%td>0lzvht03n3_ROtkXO7%n+ic8UK zgt}qbv=aTXm~^`1BoY}LBpwRk=5$8#fci<|WMI-t+pp%|nys&_(L0H>zyxV+{W`j4 zg;v#aL#x62b({*~+KQCEa93f=&5wiIjWI!5Tj$)&Eb!)d@XooTfS9%bLMb;+ml z*Up3u659sJ_9N<}@3^?Z2gwl+WchVK#7EYgCFdU>4c&aPqmgZeXwQL_=3xde#Dopj zYAZzh(Q^K+m{AzK5F;MQY6}xKd2Xs>@G!xcAgyic%0D1K&dd)DK6NFyAg|4GW_QS0 z{Vaw(j0w`(#uny-XEL^ki6E@4o|^Qma}w`r7`&b)Y>?PCA7Vaw2J;~e4MZLCwa_(* zZ8mr}eiSvHot+x8gLX<+3r}PxzG5f_KPWe| z*wd#ob4<}iT(FXua1W}m*b`Shb-QwuCNM!!A$m4TJ+Y*dM9+o_n*32CS?An9pG`oh zyY5HX$WADPwTXg-n$?t(Td1Leg>LidIQS8TFJ>O~GRZOKF(lAYh>nybS+Y4vtp}0U zv;Wb57Fu4DFgsE>Nz2RFV5>spHfeKn{3mJQVlwDzu~=A5iCz3;77J`pCPt=_mt$y^ zwVZmv;YhDfNTKtCVr>kc#OoBXG1Xh`x@wJyp;zpt$=NlmRK#M{8!x+x4XjYA@Bpk- z#6nN*0U(7=F%yupXtFY*UTNxTO}0AHqOdp{a59CA5jJdzLt(WdF65KNp}+=Zg&u$j zrs*`rN%}|)6*Lw4w;>^)r&dqa9qVg0|IH0AEp6O-@^n#8_%8U9wQ(SWwOV{D%(Ofc z-wJF8l(7Y!lPhCvQ09-kEd6{6VwxFba_3TSR654F91XPi!!J@xvizamg>#G)wge*P zEnyWgc^#M7nRZF$7)^o?b}IO}nNfUpyAh)s2p zUX4)|*r2R1%aU14ILR!FSWqZL_+%~NBoUsiC-@Shx@9gnvq!!^t*Y4r_jfv6E-v>{ zFSU5YXr-l<1LfrFS|RN@Nn>+9>U|t)IhF!yd<~1$JaCq=|HP!IZ@+1m!tkNPZ_xE$ z+ER+s+4EvdjCw9iFUFBTk)MHuzCfGHJ$V^Of8it*P$exx28G<~W8?ad%-dO0+E2t+QTls*D;3oF1My}1vAPl)P~B%d#(<0s8V{Cn zTxDX3Cn@8Y3<}W-yE^&6{U^N+12Gw-iDeI8*Z-=uKP~%7V+%B0Y5t~On;yGlV z3=eei7>+EsYya|rsDBJEu|SjG0GG8D3kb2X)GND6V=*EqYb(V#4#dKSF2$G!x-br5 z@y1;kLz~(&-mV{q9Ed!U1d6Uz^myIq6Z1b~x-51hZZ-IO#dM_k*46j~3M@BbmUHt` zpM2Bge{>}ZXyAG==E}UD@(*2^JQjFfO?YUXZ@QRl~b|SePAY23fjBXFGZ<@UYyZ`@cGSAm8EjMpRna5k9W zeM$1B@#~{bHuc$baA3PF*=Y4NvxidgBvd(*4J25TvLs4b6ML1V#{*wt({$%*FPrlH zsfp)oswWjqa?C_X>*YBSCUWUw&ZmpX1=S9^^Haj)a}vP<#6 z_kwjS|9dUH8Y8G`492Y+Ze|Z0>n1v_zOn_;oI4t$LD*x!_F)m$QL;jGekfvvvYVzc@G~l zrDjfVH>Wp~a%vREGyvM7MlwLq&2!rRu^Z8DU;9!ig}n5MDn(G>uM`$A!TAICyE(Uf zS$)e2UJ(#-RDc4*_Z@>o|C_^poI^J-Kz_j?)7A`cFD75nxy}(pXyAGEoZd$=mo{ui zpZY(U{zWyH*Dfk%EgC52AT7wCf35i@qNltkfk-iB(_oeP0Sy7KHy_0Uaw8hWxI+Ji{imHIr4xK|CYEZj%tz;ker|h=d3m65egB7kpzeU(yq%vuaf@X<3cd zW0)}%^LY(ssYFr=2>J{9cv)qhac&vDZfMrgKAH0&y<0n3(%UEtH^C8Of#3&J5Z_fR z+B7kuBRni?$F~{`3JlLT4CyUtib10Y?SX^ehxS~=BHyKMu@ya#yP>7h4~r!65Y{iY{G=DMEzhsI@}bG{25B&k-vI{D)})4EAd=`*u3naPLqIqsp8P4oo*2Ce!@W z0Lr$}%o&gGEd|>#OmI@XgKgvAVT3r?DB7V?PIJ&u5P8#lOD7k;t|>Lka}RHd5W)9i zl;bT;%TbkQY>J^=F`K{x7t7n0-uk67c~->uEd?4Le*Fq)jnQM#hF^547egv4rc)BKWdhe3ifE}ivY71bbtAub(yb$uwyStxMC!GK0nGzw$&w0kh{VBm?X>V}&8 z%-+rJRW$+x-;Ky4%+Kl5hKi10!5tbru*JTx5pLH#)EOi�}7v-UpJ--Ms+<8klZJ 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%0A+|Fce;2^N^H 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

%fTzaBcD3J(r)GAY_iyMeT1AZw$8b6sBJ`*d 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

+SnWWZ+h9W728Dzi0u||q< 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ðtAH%i(pFEY3QOrpG%eCsN}|gwz%7ym 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 ItEc4tKeXvyYybcN literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/genindex.doctree b/render-pvi-yaml/.doctrees/genindex.doctree new file mode 100644 index 0000000000000000000000000000000000000000..281652c99ba56bb04d94882e1dbb78b075e6ab69 GIT binary patch literal 4661 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 literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/user/explanations/docs-structure.doctree b/render-pvi-yaml/.doctrees/user/explanations/docs-structure.doctree new file mode 100644 index 0000000000000000000000000000000000000000..056ae5d25c46c77be12549df5e742521bcc5d004 GIT binary patch literal 8166 zcmeHMTXP&o6}By{E~}emM{+{!c(NqeR=m4HQkl1TbiAj z%=GAzB1Q5*m0Z;iRAqQDZ~O*+1FyXDz#D&nqC%>8ay;U1l9bD_zyeP);qz+J%xNWjM2%&mvOcr4kBJC>?jQih@v zOUO(zjtD0rdB$zmiXs5}BKiqDM4$B^3E^5aS7T8|kTAmg-Y7@8_$uPEM9I{pzL6#TpUx+(U z!&Jxh?QQd;*p~z9d$``WBnyS*Hbd5nT`OFF*!4pIQ`|RJSpQ+Y{vOo(R%m&S@iR|! z1#=8Q{BYm!yT-lD-kOVgz1cMGSv$fp-m!$&t0%eXCZS%d7g_h!OZv zW%CCk=g*zH8}0Or9TrA#nT^I;YZ-s;tlF>Ioz;f1D;&u;8Y``3)^8Y`i5{25t2Wd| zBXXLB3WV)@#xS5+)knkF5p4In{@zAo*;qDK*6@GBu%N&u7mmZg0}Q|#Z{7_o$qi?t z@c?*yWo>6=?d|1{8%9^S?ncA&J;G@dQU&#n@y*xxs=Lx$d;hh!U){OGS3mB*j_nzU zH}7azxw8%F-%QoB_@8)xz~5sqrjqsH4%gip|-=4n7_im#jo+(h^kRgfAu7qguGfoZX*oW(tOBk z>eiV9Dl_hr>?q}b_iXZ4c^!jb#4A!pp5X?Qv6`xcch21atUTX7`}tO;tBLe{cC4|8 z*=9wtI%5tf_xDh4$P5t~mVwJ8WOO}P((o8_B18H{hZ(WwAZJM5cMRbfeuy_(*$stc zMvuUe-<7+#5$gF>p!3^0-87oGcS9P8V!R{G8MfuR$cjq?$V;~~Y>+X!xBy#PUpM)p z`qh7j$G?60_y{hO(n7mc3&H3UtRHYI5>X}3s<|Pta;wh_NL!)$S(WPXaYv^7HSE0$ z^DV0R!`eEA&y$@akGeW2A99WluHnvr?)QK>fZC7+CN z`MECcJU6IgIrMj!(f1=cSS1-vpiAa~0!p@sx%;Jyrc!A&RZRQ1YFhqjka! zJ5`wZ(^p}prroGQPXG=aaMf7d0)n6$zkD?3M2N{!Q1 zk~(u<+^HA(&~dY(V*ZI zeeVp_Uy5T<-(%~UdV+&!#aHz<&?<+;ri%E z;?AH{H%O|Ei@rA%gFL(^B#%4f)a@YZw)N_eD76$=@?HQkyQIus&AseMk`;y*ONO^@ zks*iJe2Lf$<8HU)vcsg+A`tp%-C?(fcpRn0ic{t90~~%W=kN$}75=WA!ryh`ufHGc z7tTO0O^g6~EkEoXVvSa-tYz;5tSw}g9->s?>e*Ac(#A#Y(}XGeLYBHKVcN<=imR8) z6&?qn1DsyTl~`^}=~j4s?hvnKJgO@e&5Do62|Rj^V6 z&*6TeE_Ff1!|b#)p+;WT8nwn>O0$P-ojH4W>rfLrB#6280iy30aXfLOILSSi--|d@gj9^##tdbS*y=H8+`;<= z%w*N&klAR6O@{^W92_IyHk)b;v#~D3ghqsuI|Lt7vldz?vjnLN0`4~B#Qnf5ToQ`a z00D0dJ+xaOGp8Zi*~$7PD2Q0>_$FpBz`BSE70r`b-Ko9AmgbI#MC!70rXwP&l<5z~oaHIu@_@&#QTgH+YWM zgCn{E2`_nY@rIfWSYQ_A00}cqkd6i3DKyd>mF_)&qgJplx$mV(TP+Z#W&oI`L<^1# zp+`?FXuiC>27S(kU3-W;K}z!9$de<2*CLnQW?@S(+0|ztA+%|-Y54#I)JU zRC~?lnEcu>d>U`ivQ{B>Z^uFMNPhy*bNwt0Jc9T5HWhG1UbsYwB8odhXrfQP>-tt2 zj5MC#PT(^A4s#H}``~~x)RT|Yf(@)~ll3j(n)p~jc^8&HQ1jX62KcJmO>^2KHNw0d z8uP1(G@BrN;fVqbH)2DYX_cx+{PSQ6o`pu2yvCuS{wK(G1JHEv4=|{8ix;Yq>6-!I z;{;59-`uhh<695uF;9GMR$9;*TfjL_s$gp1W~2QG(Vl~gyE*^jRSt~PFJKswt-lSEhUDi)>V-xlEB6P=`36lt zaov`4E2ot;eEj*Xf5AM_2^9;K9IL?llFWDlo~mWH?0Gdxu7=d`!_6Q3n6A3CsnA7s z_SNkE0+nfBXp&q1#6Nk&Riuw=rZ{qjt>)j=>94S&GpL6rfGc(W2?|Jh-JCFW)eX028 zc12l&FZC+-*cE%qBds`B(Yt|H?nh@4BvLr$%Kur1ZonJRRv{EI_anTWLV*S(nuIRdsl{V%xTW;%<_dfiuvgGN}f;?^n|58Y}k6P_PtL*_P_wOS4{3*AVU6&V?ldp(SqF(Bf5 zCt;KF+eVb7?PAEnW6ejzleu-v#C1(dibGx21f?pO6z$t3F9o1$=Jhlo>d-C*f8ds)%FRCWyCCxJQ9Q0)Tp?`8_AgC zrNlciAwbYC{czKLhZ0oIhNTCkr4Pl6KAbVsDf?UH89&qFg>WazW7pBz=s6-Xq-L5hI#QSPFw^}*Hcuuq*l4v>`jatcu+_FBAkh2CwMq7|; zl{WKMta{x_^@CcfC)`!bwEa|>ULu($({$RnoECn}l5t<@@nBIL+MN}rTDRids2sU) zO)bgJQza=JmugOlVIpm7qn1{9a6zKYc6&yyd1@=&_iAIcr^-uf`Fiv6@g^m@Eh-6q zRZClk6y&tnnYPXvw7}zsOL$tNpOZbG0D$e&!Fi@1HuUo8eDj*r0|#* zlz^&5Q1>8suR2gQC5LWX^HgaY#QcQAoLAhYU~#kTxIKO*VMWVqW@@I6>qLB*jqzOX zl<5Rk1P3bH1e7k^5pq(AO1x zj9$L9DqR)%&0&xhoP_+ljJC8Z>x> zRSSXy6m`O4x^TCk6i6r6x1`kYEKe!%2 zCFOb@Cy2RiC}R*AMbP2Wor*0eIuYt)Z_+nBf{wEY%(DNB;O{MT@bD8|j$mANdlYPd zO)>@wV~J#ze|Ytd>!mymn)Za0*(S=6L3WCZvIbJU0@?J_sTC?Ild!u%oP_}33@k_M zgz&?(0J{I$TR(+8dwLWuTu+qt`XAM~50T3Vug6^XCAXvE4P=9XuxNS#SIdS7p~#B- zV8iVLkdvT^%tnF0q=b-%?y8w4mYoFxEkIG`bBqXzaKCLP3{iGJLr5DK>V;xmE`wNw z44pBVc0Uy8(L*@C3^rJ~FdvXv+JRNR3ZKaBqUfNbx~G`3b8`!f)%1dtSWVdRDLt(d2ejXp&^nJpP6sI z`F-#2oBXKtvlp&T*gtw%CX7c1UE=#u>{FTPSwHsDkVYzdH+$yC+1uGI-4RX`hCdi8D^IXrTR z4rx!M5ya^2$6~j~`?UBA;AAhA*kJK~N5zJ$QwiM_5<)z_c_HmX^fsg-LqQVO z)Ybbx5VX@zd7x@#NoSuc=9p_768R2S((!3RBcDbdr_v#Tpu|6%>Q7|4%5h!sO6*FW2`LdmL6Z>VjP;+yD+*IxTDIS0062xihZotEcLyf$PO4F2bIG zi?Ju+%U{LM4gB21&ogkbDeF3C@zm20DHS}^H_l~&EM?EKZyMEDg-k0VhO`c0Xyev- zZJA44V%JxP);VgEcSPYF87T!TiE6iW8bqbkrAX|12JEJutE}c{o0A3hbv@Z_XmrHV z^i+)+h8=dD-9`jWl>rG&%;y=bPC=K-1-*U`I#N6uI*QR6cxms`wreM3=QFl}W^x40 z$t}b-pmi%GcixDdBn^U5AkIL7Dt1LW7;JCXiPaeRf4`t%;P;vaM*5s7?A5f? z)l&hLmRLIxaO0X^H?KKe;U++S1&zK3-x-Vk5uoRb{wmbK?X@bzzR~SE?kk*xF-qiX ze8`k@&o(q0j!CbmZ~OcET|X!260e)?=3-W9@Jg}S3C!tE(OlFSu-td-zEkZN$&bCN zzkKRVHXR~!t(Ja;R$}2LGz2cHZ4eLdWFx}dG{W=)v?DosTb^x_?s{?9OXQ$ucgG}X z<%>1sYN5t>ttvJr@hfp&u5q#tN1#1zpc%idk@cw}U9*G^r)PVhFnHCDluI-71I+2Q+SvhR<<@DodD6+jm5Ax4#(^^;S}FBoVCJ`V{A$!Yo{WyhC@a{ zEe%7iY8};U)`DY*=IZSRuF=&R-Iq#b)u(c%CBF4he05mqb##cfBz8~|>w@37w4xZT zRiG#Um`mnxLD3PH)vj^Ls%d+9)FCHcV0OpHfd`mhY?M;;%crN7Y6xJr^%W&ZBm-h* z6E_j@5Scw60$M6YXPj+L=(&=Hq9d6|jWCmX$xDS9G2CjPSSVNW!9veUs!S(=>1oA` zAa)!=`9>m-{7g^ZCqasdqHIm|beyUrRoNC>-qP(M#jrqBEHZrf1fz)}VS3|<(da{@4`5c0&5xXFmD?U>Z;A>IEo@<5_vkNFKU>1j%o(5nO#fmmIkMyD$(@>Dy zgF!69>_{)6-{*;IToVT+7(SM-pqSYe*9;nNIVj=2;y^JuZRrI;lUOJ>pnDYRyrAb8 z398SQUZDpZT2w@(vLtHhmQVZX5Z5j36A?j+puofuVxI*Gq|{sUN%OfIxML z9wf1(Zu6w|5>L5%T=LvymtCJrGf6^_0_98@DhRs;2qO_3HtxW5u^@8?Jjkc)b@Ll8 zL7!z~lSYP{50lU1-2tY`KQ|}!iitOPPBerg1{^6gd;QW)y_C?zt!4=$%z|0zqXlzK zXyldGR7ot$ZgQwt9ObEBuNg`U0F>Wr5J*L6{;oDZEk0|mL%Qk2Ab@*iHR>4^b;O4#OvA!e^@gj2IGISia ztH9tG#K!d(WQauV{xC&UODO8H{mwsK^xULS?RB(hz+?JJ8~tRv5(o`*eC2C>@)Uhs@vv_I!qu027G(!nB6~OpC7Xij@U;>?BgT$$r1bPC}mF? z0?Tm$9A5`V3XZ=A$3KGOU%~P3>{IsdR4+FDz#?1pIK0V-2DJH#3HOpNS3z?nr^D+4 z{3h(jLFHPO^vc*`Mcp3Z*e-9ihgL`U+wK69x?UUSRqUXEA{lvcY9<&|D=)@-lYIU|#1MhgxJlM&ni?$-pbr58G`*ltMf*^+=v({Phqge`009EDD2n#I-+#{B zcDbZ(l;Z#t$(eIM|NozJ{`1W_|F5r3eE2`tkH~-GOwi{}Z_BW3yXV;~7>Fs`Yeikw z3kTmCeC9U?Um7fmY2VrmyvT2{fjEK^E$+Cs&w7LR24aqihmIQY=AQ7CY)%L;zf>oLEu>G|sgr^(_6hzkl4xGOk4 zn{63>0IHw8c`Ryz$7!%(wSBA4^TN3ExmflVNlzr$!R) zTVQdtggCF3Km)ViY4?nPV}jWOG5;23NXUIJYIB;9Z@6q|Rq%;BKRkNm$dzEDt!*$r zz<^y{s2D~3)XJ@Dt65&qHXS?UR~O1gk#!d|&YU(6)2N(+R~G_X?_yAW$8vQCoNJ>A zy6yOCNd=8f%Uxg4HXOG3y0>+8p{NzLQU$*YnuP{*?$|a18KEDsg=<&(R>(E`>cTCQ z0A1eMLh^D{a(xX+vK&s;-VW)voE~>t+R2%#vo-=v~&# zI-VPPsim7}wy1*&-P9{a8I>w7f~HYx=|)9IZA1`V#?vUHs8L0;#)@ISSpyN}+a^f3 zT{miy2xB?pv4EkvmMEFy&}q5pbvTwkvtv1bICejaW0!3hUwp6)LrkuDK2+sEoZw;C z9f;|zuKRM(w+NO@^?in|c7w@%%wS)6_kNqu+quHKcC1Bl8v3|p`L?d0i+CFG zHEdA&rc~#8({t?s%kOMr(g_;2voW|Q&ZhNkU$&B2bCR9g{3 zr{jjwgsEQCZ8F+pZypgdQmTR1bGK1;21+@jQbvhK6!}2qfXN6w@6@TiI&-^SxJNCa91Q z`Y!1vaPB<#|KYCDnMCkxZW5^50B@fI2m^}5Kkeb@SW}frTO%k zA*PVHshh>(Kyn1cXM3A^(0!O?e1b@l%I0cLf4niu^&-AYpg%mQD^es-9WL9_eQ)z& z`kHQoZrur4H}3Eve|^mK8kugpknXMo{!TI>?|kFqhO$o<#g>2%P0cioQr*?-dL7WQ zT$g{QQ3R$%#55`ZxX9I1Zd^d40sy|0?NT1n@hg+nTUMhsRSiH+YOILHWSe(ynH3H2 zwtCwvalNupzOk~QS6YNqt40N=Rs(wF)!T%K32PJ5jo)|2V%0Ak4$>!okme6p5G@m0 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 literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/.doctrees/user/tutorials/installation.doctree b/render-pvi-yaml/.doctrees/user/tutorials/installation.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6d00ffcb7fc7d9b5be487ab629d15eb2fbd8faaa GIT binary patch literal 8769 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 RG4E1-Sfo;P2ukhlzX1xtZi@f_ literal 0 HcmV?d00001 diff --git a/render-pvi-yaml/_modules/ibek/globals.html b/render-pvi-yaml/_modules/ibek/globals.html new file mode 100644 index 000000000..0b6c20457 --- /dev/null +++ b/render-pvi-yaml/_modules/ibek/globals.html @@ -0,0 +1,671 @@ + + + + + + + + + + ibek.globals — ibek 3.0.1.dev3+gd575a619 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 files."""
+        return self._EPICS_ROOT / "ibek-defs"
+
+    @property
+    def PVI_DEFS(self):
+        """Directory containing pvi device yaml files."""
+        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):
+        """The folder containing the epics base source and binaries"""
+        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):
+        """Name of config directory within IOC directory"""
+        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 deb packages to install in runtime stage"""
+        return self.SUPPORT / "configure" / "runtime_debs"
+
+    @property
+    def RUNTIME_FILES(self):
+        """ibek-support list of files to copy to the runtime stage"""
+        return self.SUPPORT / "configure" / "runtime_files_list"
+
+
+# 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()
+
+JINJA = r".*\{\{.*\}\}.*"
+
+
+
+[docs] +class BaseSettings(BaseModel): + """A Base class for setting consistent Pydantic model configuration""" + + model_config = ConfigDict( + extra="forbid", + use_enum_values=True, + )
+ + + +class NaturalOrderGroup(TyperGroup): + def list_commands(self, ctx): + return self.commands.keys() +
+ +
+ + + + + +
+ +
+
+
+ +
+ + + + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/render-pvi-yaml/_modules/ibek/ioc.html b/render-pvi-yaml/_modules/ibek/ioc.html new file mode 100644 index 000000000..8d449bcf2 --- /dev/null +++ b/render-pvi-yaml/_modules/ibek/ioc.html @@ -0,0 +1,679 @@ + + + + + + + + + + ibek.ioc — ibek 3.0.1.dev3+gd575a619 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ +
+ +
+ + + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +

Source code for ibek.ioc

+"""
+Classes for generating an IocInstance derived class from a set of
+support module YAML files
+"""
+
+from __future__ import annotations
+
+import ast
+import builtins
+from enum import Enum
+from typing import Any, Dict, List, Sequence
+
+from pydantic import (
+    Field,
+    model_validator,
+)
+from pydantic.fields import FieldInfo
+
+from .entity_model import EntityModel
+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 + ) + _model: EntityModel + + def _process_field(self: Entity, name: str, value: Any, typ: str): + """ + Process an Entity field - doing jinja rendering, type coercion and + object id storage/lookup as required. + """ + + if isinstance(value, str): + # Jinja expansion always performed on string fields + value = UTILS.render(self, value) + if typ in ["list", "int", "float", "bool"]: + # coerce the rendered parameter to its intended type + try: + cast_type = getattr(builtins, typ) + value = cast_type(ast.literal_eval(value)) + except: + print(f"ERROR: decoding field '{name}', value '{value}' as {typ}") + raise + + if typ == "object": + # look up the actual object by it's id + if isinstance(value, str): + value = get_entity_by_id(value) + + # If this field is not pre-existing, add it into the model instance. + # This is how pre/post_defines are added. + if name not in self.model_fields: + self.model_fields[name] = FieldInfo(annotation=str, default=value) + + # update the model instance attribute with the rendered value + setattr(self, name, value) + + if typ == "id": + # 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 + +
+[docs] + @model_validator(mode="after") + def add_ibek_attributes(self): + """ + Whole Entity model validation + + Do jinja rendering of pre_defines/ parameters / post_defines + in the correct order. + + Also adds pre_defines and post_defines to the model instance, making + them available for the phase 2 (final) jinja rendering performed in + ibek.runtime_cmds.generate(). + """ + + if self._model.pre_defines: + for name, define in self._model.pre_defines.items(): + self._process_field(name, define.value, define.type) + + if self._model.parameters: + for name, parameter in self._model.parameters.items(): + self._process_field(name, getattr(self, name), parameter.type) + + if self._model.post_defines: + for name, define in self._model.post_defines.items(): + self._process_field(name, define.value, define.type) + + return self
+ + + def __str__(self): + """ + When a jinja template refers to an object by itself e.g. + # this is the startup entry for {{ my_entity }} + Jinja will attempt to render the object as a string and this + method will be called. + + The behaviour is to print the ID of the object. Thus we look up + which of our object's fields is the ID field and return the + value of that field. + """ + id_name = self._model._get_id_arg() + if id_name: + return getattr(self, id_name) + else: + raise ValueError(f"Entity {self} has no id field") + + 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] + shared: Sequence[Any] = Field( + description="A place to create any anchors required for repeating YAML", + default=(), + )
+ +
+ +
+ + + + + +
+ +
+
+
+ +
+ + + + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/render-pvi-yaml/_modules/ibek/render.html b/render-pvi-yaml/_modules/ibek/render.html new file mode 100644 index 000000000..cf098421e --- /dev/null +++ b/render-pvi-yaml/_modules/ibek/render.html @@ -0,0 +1,673 @@ + + + + + + + + + + ibek.render — ibek 3.0.1.dev3+gd575a619 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 .entity_model 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 + 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 model + 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._model.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._model.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._model.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._model, "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/render-pvi-yaml/_modules/ibek/support.html b/render-pvi-yaml/_modules/ibek/support.html new file mode 100644 index 000000000..d5e9e0a1f --- /dev/null +++ b/render-pvi-yaml/_modules/ibek/support.html @@ -0,0 +1,544 @@ + + + + + + + + + + ibek.support — ibek 3.0.1.dev3+gd575a619 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 Any, Sequence
+
+from pydantic import Field
+
+from .entity_model import EntityModel
+from .globals import BaseSettings
+
+
+
+[docs] +class Support(BaseSettings): + """ + Lists the EntityModels for a support module, this defines what Entities it supports + """ + + shared: Sequence[Any] = Field( + description="A place to create any anchors required for repeating YAML", + default=(), + ) + + module: str = Field(description="Support module name, normally the repo name") + entity_models: Sequence[EntityModel] = Field( + description="The Entity Models 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/render-pvi-yaml/_modules/ibek/utils.html b/render-pvi-yaml/_modules/ibek/utils.html new file mode 100644 index 000000000..2b5fdb2c4 --- /dev/null +++ b/render-pvi-yaml/_modules/ibek/utils.html @@ -0,0 +1,666 @@ + + + + + + + + + + ibek.utils — ibek 3.0.1.dev3+gd575a619 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 {{ _global.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 pathlib import Path
+from typing import Any, Dict, Mapping
+
+from jinja2 import StrictUndefined, Template
+
+
+
+[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] = {} + +
+[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(self, key: str, value: Any) -> Any: + """create a global variable for our jinja context""" + s_key = str(key) + self.variables[s_key] = value + return value
+ + +
+[docs] + def get(self, key: str, default="") -> Any: + """get the value a global variable for our jinja context""" + # default is used to set an initial value if the variable is not set + s_key = str(key) + return self.variables.get(s_key, default)
+ + +
+[docs] + def incrementor( + self, name: str, start: int = 0, increment: int = 1, stop: int | None = None + ) -> int: + """ + get a named counter that increments by inc each time it is called + + creates a new counter if it does not yet exist + """ + index = str(name) + counter = self.variables.get(index) + + if counter is None: + self.variables[index] = start + else: + if not isinstance(counter, int): + raise ValueError(f"Variable {index} is not an integer") + self.variables[index] += increment + if stop is not None and self.variables[index] > stop: + raise ValueError(f"Counter {index} exceeded maximum value of {stop}") + + return self.variables[index]
+ + +
+[docs] + def render(self, context: Any, template_text: Any) -> str: + """ + Render a Jinja template with the global _global 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, undefined=StrictUndefined) + return jinja_template.render( + context, + # global context for all jinja renders + _global=self, + # put variables created with set/get directly in the context + **self.variables, + 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/render-pvi-yaml/_modules/index.html b/render-pvi-yaml/_modules/index.html new file mode 100644 index 000000000..ad16bf778 --- /dev/null +++ b/render-pvi-yaml/_modules/index.html @@ -0,0 +1,510 @@ + + + + + + + + + + Overview: module code — ibek 3.0.1.dev3+gd575a619 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ +
+ +
+ + + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + + + + + + + +
+ +
+
+
+ +
+ + + + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/render-pvi-yaml/_sources/developer/explanations/decisions.rst.txt b/render-pvi-yaml/_sources/developer/explanations/decisions.rst.txt new file mode 100644 index 000000000..5841e6ea0 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/explanations/decisions/0001-record-architecture-decisions.rst.txt b/render-pvi-yaml/_sources/developer/explanations/decisions/0001-record-architecture-decisions.rst.txt new file mode 100644 index 000000000..b2d3d0fe8 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst.txt b/render-pvi-yaml/_sources/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst.txt new file mode 100644 index 000000000..823c68369 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/explanations/entities.rst.txt b/render-pvi-yaml/_sources/developer/explanations/entities.rst.txt new file mode 100644 index 000000000..ef73b3484 --- /dev/null +++ b/render-pvi-yaml/_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/motorSim.ibek.ioc.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/render-pvi-yaml/_sources/developer/how-to/build-docs.rst.txt b/render-pvi-yaml/_sources/developer/how-to/build-docs.rst.txt new file mode 100644 index 000000000..11a5e6386 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/how-to/contribute.rst.txt b/render-pvi-yaml/_sources/developer/how-to/contribute.rst.txt new file mode 100644 index 000000000..65b992f08 --- /dev/null +++ b/render-pvi-yaml/_sources/developer/how-to/contribute.rst.txt @@ -0,0 +1 @@ +.. include:: ../../../.github/CONTRIBUTING.rst diff --git a/render-pvi-yaml/_sources/developer/how-to/lint.rst.txt b/render-pvi-yaml/_sources/developer/how-to/lint.rst.txt new file mode 100644 index 000000000..2df258d8f --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/how-to/make-release.rst.txt b/render-pvi-yaml/_sources/developer/how-to/make-release.rst.txt new file mode 100644 index 000000000..1449a6143 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/how-to/pin-requirements.rst.txt b/render-pvi-yaml/_sources/developer/how-to/pin-requirements.rst.txt new file mode 100644 index 000000000..91ed5535d --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/how-to/run-tests.rst.txt b/render-pvi-yaml/_sources/developer/how-to/run-tests.rst.txt new file mode 100644 index 000000000..d2e03644c --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/how-to/static-analysis.rst.txt b/render-pvi-yaml/_sources/developer/how-to/static-analysis.rst.txt new file mode 100644 index 000000000..065920e1c --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/how-to/test-container.rst.txt b/render-pvi-yaml/_sources/developer/how-to/test-container.rst.txt new file mode 100644 index 000000000..a4a43a6ff --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/how-to/update-tools.rst.txt b/render-pvi-yaml/_sources/developer/how-to/update-tools.rst.txt new file mode 100644 index 000000000..c1075ee8c --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/index.rst.txt b/render-pvi-yaml/_sources/developer/index.rst.txt new file mode 100644 index 000000000..2a8ff249f --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/reference/standards.rst.txt b/render-pvi-yaml/_sources/developer/reference/standards.rst.txt new file mode 100644 index 000000000..5a1fd4782 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/developer/tutorials/dev-install.rst.txt b/render-pvi-yaml/_sources/developer/tutorials/dev-install.rst.txt new file mode 100644 index 000000000..68598036f --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/genindex.rst.txt b/render-pvi-yaml/_sources/genindex.rst.txt new file mode 100644 index 000000000..93eb8b294 --- /dev/null +++ b/render-pvi-yaml/_sources/genindex.rst.txt @@ -0,0 +1,5 @@ +API Index +========= + +.. + https://stackoverflow.com/a/42310803 diff --git a/render-pvi-yaml/_sources/index.rst.txt b/render-pvi-yaml/_sources/index.rst.txt new file mode 100644 index 000000000..f23dd4fa1 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/user/explanations/docs-structure.rst.txt b/render-pvi-yaml/_sources/user/explanations/docs-structure.rst.txt new file mode 100644 index 000000000..f25a09baa --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/user/how-to/edit-yaml.rst.txt b/render-pvi-yaml/_sources/user/how-to/edit-yaml.rst.txt new file mode 100644 index 000000000..837db6da4 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/user/how-to/run-container.rst.txt b/render-pvi-yaml/_sources/user/how-to/run-container.rst.txt new file mode 100644 index 000000000..3bad9811c --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/user/index.rst.txt b/render-pvi-yaml/_sources/user/index.rst.txt new file mode 100644 index 000000000..d48d3f6db --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/user/reference/api.rst.txt b/render-pvi-yaml/_sources/user/reference/api.rst.txt new file mode 100644 index 000000000..948e3d82a --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/user/reference/naming.rst.txt b/render-pvi-yaml/_sources/user/reference/naming.rst.txt new file mode 100644 index 000000000..0c9384560 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sources/user/tutorials/installation.rst.txt b/render-pvi-yaml/_sources/user/tutorials/installation.rst.txt new file mode 100644 index 000000000..1aaf79055 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_sphinx_design_static/design-tabs.js b/render-pvi-yaml/_sphinx_design_static/design-tabs.js new file mode 100644 index 000000000..b25bd6a4f --- /dev/null +++ b/render-pvi-yaml/_sphinx_design_static/design-tabs.js @@ -0,0 +1,101 @@ +// @ts-check + +// Extra JS capability for selected tabs to be synced +// The selection is stored in local storage so that it persists across page loads. + +/** + * @type {Record} + */ +let sd_id_to_elements = {}; +const storageKeyPrefix = "sphinx-design-tab-id-"; + +/** + * Create a key for a tab element. + * @param {HTMLElement} el - The tab element. + * @returns {[string, string, string] | null} - The key. + * + */ +function create_key(el) { + let syncId = el.getAttribute("data-sync-id"); + let syncGroup = el.getAttribute("data-sync-group"); + if (!syncId || !syncGroup) return null; + return [syncGroup, syncId, syncGroup + "--" + syncId]; +} + +/** + * Initialize the tab selection. + * + */ +function ready() { + // Find all tabs with sync data + + /** @type {string[]} */ + let groups = []; + + document.querySelectorAll(".sd-tab-label").forEach((label) => { + if (label instanceof HTMLElement) { + let data = create_key(label); + if (data) { + let [group, id, key] = data; + + // add click event listener + // @ts-ignore + label.onclick = onSDLabelClick; + + // store map of key to elements + if (!sd_id_to_elements[key]) { + sd_id_to_elements[key] = []; + } + sd_id_to_elements[key].push(label); + + if (groups.indexOf(group) === -1) { + groups.push(group); + // Check if a specific tab has been selected via URL parameter + const tabParam = new URLSearchParams(window.location.search).get( + group + ); + if (tabParam) { + console.log( + "sphinx-design: Selecting tab id for group '" + + group + + "' from URL parameter: " + + tabParam + ); + window.sessionStorage.setItem(storageKeyPrefix + group, tabParam); + } + } + + // Check is a specific tab has been selected previously + let previousId = window.sessionStorage.getItem( + storageKeyPrefix + group + ); + if (previousId === id) { + // console.log( + // "sphinx-design: Selecting tab from session storage: " + id + // ); + // @ts-ignore + label.previousElementSibling.checked = true; + } + } + } + }); +} + +/** + * Activate other tabs with the same sync id. + * + * @this {HTMLElement} - The element that was clicked. + */ +function onSDLabelClick() { + let data = create_key(this); + if (!data) return; + let [group, id, key] = data; + for (const label of sd_id_to_elements[key]) { + if (label === this) continue; + // @ts-ignore + label.previousElementSibling.checked = true; + } + window.sessionStorage.setItem(storageKeyPrefix + group, id); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/render-pvi-yaml/_sphinx_design_static/sphinx-design.min.css b/render-pvi-yaml/_sphinx_design_static/sphinx-design.min.css new file mode 100644 index 000000000..a325746f2 --- /dev/null +++ b/render-pvi-yaml/_sphinx_design_static/sphinx-design.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;font-size:var(--sd-fontsize-dropdown)}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary.sd-summary-title{padding:.5em 1em;font-size:var(--sd-fontsize-dropdown-title);font-weight:var(--sd-fontweight-dropdown-title);user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;list-style:none;display:inline-flex;justify-content:space-between}details.sd-dropdown summary.sd-summary-title::-webkit-details-marker{display:none}details.sd-dropdown summary.sd-summary-title:focus{outline:none}details.sd-dropdown summary.sd-summary-title .sd-summary-icon{margin-right:.6em;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary.sd-summary-title .sd-summary-text{flex-grow:1;line-height:1.5;padding-right:.5rem}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker{pointer-events:none;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker svg{opacity:.6}details.sd-dropdown summary.sd-summary-title:hover .sd-summary-state-marker svg{opacity:1;transform:scale(1.1)}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown .sd-summary-chevron-right{transition:.25s}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-right{transform:rotate(90deg)}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-down{transform:rotate(180deg)}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-bg: rgba(0, 113, 188, 0.2);--sd-color-secondary-bg: rgba(108, 117, 125, 0.2);--sd-color-success-bg: rgba(40, 167, 69, 0.2);--sd-color-info-bg: rgba(23, 162, 184, 0.2);--sd-color-warning-bg: rgba(240, 179, 126, 0.2);--sd-color-danger-bg: rgba(220, 53, 69, 0.2);--sd-color-light-bg: rgba(248, 249, 250, 0.2);--sd-color-muted-bg: rgba(108, 117, 125, 0.2);--sd-color-dark-bg: rgba(33, 37, 41, 0.2);--sd-color-black-bg: rgba(0, 0, 0, 0.2);--sd-color-white-bg: rgba(255, 255, 255, 0.2);--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;--sd-fontsize-dropdown: inherit;--sd-fontsize-dropdown-title: 1rem;--sd-fontweight-dropdown-title: 700} diff --git a/render-pvi-yaml/_static/basic.css b/render-pvi-yaml/_static/basic.css new file mode 100644 index 000000000..2af6139e6 --- /dev/null +++ b/render-pvi-yaml/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2024 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; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/render-pvi-yaml/_static/check-solid.svg b/render-pvi-yaml/_static/check-solid.svg new file mode 100644 index 000000000..92fad4b5c --- /dev/null +++ b/render-pvi-yaml/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/render-pvi-yaml/_static/clipboard.min.js b/render-pvi-yaml/_static/clipboard.min.js new file mode 100644 index 000000000..54b3c4638 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_static/copybutton.css b/render-pvi-yaml/_static/copybutton.css new file mode 100644 index 000000000..f1916ec7d --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_static/copybutton.js b/render-pvi-yaml/_static/copybutton.js new file mode 100644 index 000000000..e0da19327 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_static/copybutton_funcs.js b/render-pvi-yaml/_static/copybutton_funcs.js new file mode 100644 index 000000000..dbe1aaad7 --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_static/design-tabs.js b/render-pvi-yaml/_static/design-tabs.js new file mode 100644 index 000000000..b25bd6a4f --- /dev/null +++ b/render-pvi-yaml/_static/design-tabs.js @@ -0,0 +1,101 @@ +// @ts-check + +// Extra JS capability for selected tabs to be synced +// The selection is stored in local storage so that it persists across page loads. + +/** + * @type {Record} + */ +let sd_id_to_elements = {}; +const storageKeyPrefix = "sphinx-design-tab-id-"; + +/** + * Create a key for a tab element. + * @param {HTMLElement} el - The tab element. + * @returns {[string, string, string] | null} - The key. + * + */ +function create_key(el) { + let syncId = el.getAttribute("data-sync-id"); + let syncGroup = el.getAttribute("data-sync-group"); + if (!syncId || !syncGroup) return null; + return [syncGroup, syncId, syncGroup + "--" + syncId]; +} + +/** + * Initialize the tab selection. + * + */ +function ready() { + // Find all tabs with sync data + + /** @type {string[]} */ + let groups = []; + + document.querySelectorAll(".sd-tab-label").forEach((label) => { + if (label instanceof HTMLElement) { + let data = create_key(label); + if (data) { + let [group, id, key] = data; + + // add click event listener + // @ts-ignore + label.onclick = onSDLabelClick; + + // store map of key to elements + if (!sd_id_to_elements[key]) { + sd_id_to_elements[key] = []; + } + sd_id_to_elements[key].push(label); + + if (groups.indexOf(group) === -1) { + groups.push(group); + // Check if a specific tab has been selected via URL parameter + const tabParam = new URLSearchParams(window.location.search).get( + group + ); + if (tabParam) { + console.log( + "sphinx-design: Selecting tab id for group '" + + group + + "' from URL parameter: " + + tabParam + ); + window.sessionStorage.setItem(storageKeyPrefix + group, tabParam); + } + } + + // Check is a specific tab has been selected previously + let previousId = window.sessionStorage.getItem( + storageKeyPrefix + group + ); + if (previousId === id) { + // console.log( + // "sphinx-design: Selecting tab from session storage: " + id + // ); + // @ts-ignore + label.previousElementSibling.checked = true; + } + } + } + }); +} + +/** + * Activate other tabs with the same sync id. + * + * @this {HTMLElement} - The element that was clicked. + */ +function onSDLabelClick() { + let data = create_key(this); + if (!data) return; + let [group, id, key] = data; + for (const label of sd_id_to_elements[key]) { + if (label === this) continue; + // @ts-ignore + label.previousElementSibling.checked = true; + } + window.sessionStorage.setItem(storageKeyPrefix + group, id); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/render-pvi-yaml/_static/doctools.js b/render-pvi-yaml/_static/doctools.js new file mode 100644 index 000000000..4d67807d1 --- /dev/null +++ b/render-pvi-yaml/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2024 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/render-pvi-yaml/_static/documentation_options.js b/render-pvi-yaml/_static/documentation_options.js new file mode 100644 index 000000000..4dea62629 --- /dev/null +++ b/render-pvi-yaml/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '3.0.1.dev3+gd575a619', + 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/render-pvi-yaml/_static/file.png b/render-pvi-yaml/_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/render-pvi-yaml/_static/graphviz.css b/render-pvi-yaml/_static/graphviz.css new file mode 100644 index 000000000..027576e34 --- /dev/null +++ b/render-pvi-yaml/_static/graphviz.css @@ -0,0 +1,19 @@ +/* + * graphviz.css + * ~~~~~~~~~~~~ + * + * Sphinx stylesheet -- graphviz extension. + * + * :copyright: Copyright 2007-2024 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/render-pvi-yaml/_static/ibek-favicon.ico b/render-pvi-yaml/_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/render-pvi-yaml/_static/ibek-logo.svg b/render-pvi-yaml/_static/ibek-logo.svg new file mode 100644 index 000000000..4adbb7dc2 --- /dev/null +++ b/render-pvi-yaml/_static/ibek-logo.svg @@ -0,0 +1,177 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/render-pvi-yaml/_static/language_data.js b/render-pvi-yaml/_static/language_data.js new file mode 100644 index 000000000..367b8ed81 --- /dev/null +++ b/render-pvi-yaml/_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-2024 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, if available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/render-pvi-yaml/_static/minus.png b/render-pvi-yaml/_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/render-pvi-yaml/_static/plus.png b/render-pvi-yaml/_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/render-pvi-yaml/_static/pygments.css b/render-pvi-yaml/_static/pygments.css new file mode 100644 index 000000000..012e6a00a --- /dev/null +++ b/render-pvi-yaml/_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/render-pvi-yaml/_static/scripts/bootstrap.js b/render-pvi-yaml/_static/scripts/bootstrap.js new file mode 100644 index 000000000..c8178debb --- /dev/null +++ b/render-pvi-yaml/_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:()=>li,Collapse:()=>Ei,Dropdown:()=>Ki,Modal:()=>Ln,Offcanvas:()=>Kn,Popover:()=>bs,ScrollSpy:()=>Ls,Tab:()=>Js,Toast:()=>po,Tooltip:()=>fs});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.3"}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?i.trim():null}return e?e.split(",").map((t=>Mt(t))).join(","):null},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="ArrowLeft",We="ArrowRight",ze="next",Re="prev",qe="left",Ve="right",Ye=`slide${Fe}`,Ke=`slid${Fe}`,Qe=`keydown${Fe}`,Xe=`mouseenter${Fe}`,Ue=`mouseleave${Fe}`,Ge=`dragstart${Fe}`,Je=`load${Fe}${He}`,Ze=`click${Fe}${He}`,ti="carousel",ei="active",ii=".active",ni=".carousel-item",si=ii+ni,oi={[Be]:Ve,[We]:qe},ri={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ai={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class li 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===ti&&this.cycle()}static get Default(){return ri}static get DefaultType(){return ai}static get NAME(){return"carousel"}next(){this._slide(ze)}nextWhenVisible(){!document.hidden&&Bt(this._element)&&this.next()}prev(){this._slide(Re)}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,Ke,(()=>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,Ke,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?ze:Re;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,Qe,(t=>this._keydown(t))),"hover"===this._config.pause&&(fe.on(this._element,Xe,(()=>this.pause())),fe.on(this._element,Ue,(()=>this._maybeEnableCycle()))),this._config.touch&&je.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of we.find(".carousel-item img",this._element))fe.on(t,Ge,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(qe)),rightCallback:()=>this._slide(this._directionToOrder(Ve)),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=oi[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(ii,this._indicatorsElement);e.classList.remove(ei),e.removeAttribute("aria-current");const i=we.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(ei),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===ze,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(Ye).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(ei),i.classList.remove(ei,c,l),this._isSliding=!1,r(Ke)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return we.findOne(si,this._element)}_getItems(){return we.find(ni,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Kt()?t===qe?Re:ze:t===qe?ze:Re}_orderToDirection(t){return Kt()?t===Re?qe:Ve:t===Re?Ve:qe}static jQueryInterface(t){return this.each((function(){const e=li.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,Ze,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=we.getElementFromSelector(this);if(!e||!e.classList.contains(ti))return;t.preventDefault();const i=li.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,Je,(()=>{const t=we.find('[data-bs-ride="carousel"]');for(const e of t)li.getOrCreateInstance(e)})),Qt(li);const ci=".bs.collapse",hi=`show${ci}`,di=`shown${ci}`,ui=`hide${ci}`,fi=`hidden${ci}`,pi=`click${ci}.data-api`,mi="show",gi="collapse",_i="collapsing",bi=`:scope .${gi} .${gi}`,vi='[data-bs-toggle="collapse"]',yi={parent:null,toggle:!0},wi={parent:"(null|element)",toggle:"boolean"};class Ei extends ve{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=we.find(vi);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 yi}static get DefaultType(){return wi}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=>Ei.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(fe.trigger(this._element,hi).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(gi),this._element.classList.add(_i),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(_i),this._element.classList.add(gi,mi),this._element.style[e]="",fe.trigger(this._element,di)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(fe.trigger(this._element,ui).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,qt(this._element),this._element.classList.add(_i),this._element.classList.remove(gi,mi);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(_i),this._element.classList.add(gi),fe.trigger(this._element,fi)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(mi)}_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(vi);for(const e of t){const t=we.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=we.find(bi,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=Ei.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}fe.on(document,pi,vi,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of we.getMultipleElementsFromSelector(this))Ei.getOrCreateInstance(t,{toggle:!1}).toggle()})),Qt(Ei);const Ai="dropdown",Ti=".bs.dropdown",Ci=".data-api",Oi="ArrowUp",xi="ArrowDown",ki=`hide${Ti}`,Li=`hidden${Ti}`,Si=`show${Ti}`,Di=`shown${Ti}`,$i=`click${Ti}${Ci}`,Ii=`keydown${Ti}${Ci}`,Ni=`keyup${Ti}${Ci}`,Pi="show",Mi='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ji=`${Mi}.${Pi}`,Fi=".dropdown-menu",Hi=Kt()?"top-end":"top-start",Bi=Kt()?"top-start":"top-end",Wi=Kt()?"bottom-end":"bottom-start",zi=Kt()?"bottom-start":"bottom-end",Ri=Kt()?"left-start":"right-start",qi=Kt()?"right-start":"left-start",Vi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Yi={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Ki extends ve{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=we.next(this._element,Fi)[0]||we.prev(this._element,Fi)[0]||we.findOne(Fi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Vi}static get DefaultType(){return Yi}static get NAME(){return Ai}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,Si,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(Pi),this._element.classList.add(Pi),fe.trigger(this._element,Di,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,ki,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(Pi),this._element.classList.remove(Pi),this._element.setAttribute("aria-expanded","false"),_e.removeDataAttribute(this._menu,"popper"),fe.trigger(this._element,Li,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Ft(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ai.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(Pi)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Ri;if(t.classList.contains("dropstart"))return qi;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?Bi:Hi:e?zi:Wi}_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===xi,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Ki.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(ji);for(const i of e){const e=Ki.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=[Oi,xi].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Mi)?this:we.prev(this,Mi)[0]||we.next(this,Mi)[0]||we.findOne(Mi,t.delegateTarget.parentNode),o=Ki.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}fe.on(document,Ii,Mi,Ki.dataApiKeydownHandler),fe.on(document,Ii,Fi,Ki.dataApiKeydownHandler),fe.on(document,$i,Ki.clearMenus),fe.on(document,Ni,Ki.clearMenus),fe.on(document,$i,Mi,(function(t){t.preventDefault(),Ki.getOrCreateInstance(this).toggle()})),Qt(Ki);const Qi="backdrop",Xi="show",Ui=`mousedown.bs.${Qi}`,Gi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ji={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Zi extends be{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return Qi}show(t){if(!this._config.isVisible)return void Xt(t);this._append();const e=this._getElement();this._config.isAnimated&&qt(e),e.classList.add(Xi),this._emulateAnimation((()=>{Xt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Xi),this._emulateAnimation((()=>{this.dispose(),Xt(t)}))):Xt(t)}dispose(){this._isAppended&&(fe.off(this._element,Ui),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,Ui,(()=>{Xt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Ut(t,this._getElement(),this._config.isAnimated)}}const tn=".bs.focustrap",en=`focusin${tn}`,nn=`keydown.tab${tn}`,sn="backward",on={autofocus:!0,trapElement:null},rn={autofocus:"boolean",trapElement:"element"};class an extends be{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return on}static get DefaultType(){return rn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),fe.off(document,tn),fe.on(document,en,(t=>this._handleFocusin(t))),fe.on(document,nn,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,fe.off(document,tn))}_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===sn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?sn:"forward")}}const ln=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",cn=".sticky-top",hn="padding-right",dn="margin-right";class un{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,hn,(e=>e+t)),this._setElementAttributes(ln,hn,(e=>e+t)),this._setElementAttributes(cn,dn,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,hn),this._resetElementAttributes(ln,hn),this._resetElementAttributes(cn,dn)}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 fn=".bs.modal",pn=`hide${fn}`,mn=`hidePrevented${fn}`,gn=`hidden${fn}`,_n=`show${fn}`,bn=`shown${fn}`,vn=`resize${fn}`,yn=`click.dismiss${fn}`,wn=`mousedown.dismiss${fn}`,En=`keydown.dismiss${fn}`,An=`click${fn}.data-api`,Tn="modal-open",Cn="show",On="modal-static",xn={backdrop:!0,focus:!0,keyboard:!0},kn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ln 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 un,this._addEventListeners()}static get Default(){return xn}static get DefaultType(){return kn}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,_n,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Tn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(fe.trigger(this._element,pn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Cn),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){fe.off(window,fn),fe.off(this._dialog,fn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Zi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new an({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(Cn),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,fe.trigger(this._element,bn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){fe.on(this._element,En,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),fe.on(window,vn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),fe.on(this._element,wn,(t=>{fe.one(this._element,yn,(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(Tn),this._resetAdjustments(),this._scrollBar.reset(),fe.trigger(this._element,gn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(fe.trigger(this._element,mn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(On)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(On),this._queueCallback((()=>{this._element.classList.remove(On),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=Ln.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,An,'[data-bs-toggle="modal"]',(function(t){const e=we.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),fe.one(e,_n,(t=>{t.defaultPrevented||fe.one(e,gn,(()=>{Bt(this)&&this.focus()}))}));const i=we.findOne(".modal.show");i&&Ln.getInstance(i).hide(),Ln.getOrCreateInstance(e).toggle(this)})),Ee(Ln),Qt(Ln);const Sn=".bs.offcanvas",Dn=".data-api",$n=`load${Sn}${Dn}`,In="show",Nn="showing",Pn="hiding",Mn=".offcanvas.show",jn=`show${Sn}`,Fn=`shown${Sn}`,Hn=`hide${Sn}`,Bn=`hidePrevented${Sn}`,Wn=`hidden${Sn}`,zn=`resize${Sn}`,Rn=`click${Sn}${Dn}`,qn=`keydown.dismiss${Sn}`,Vn={backdrop:!0,keyboard:!0,scroll:!1},Yn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Kn 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 Vn}static get DefaultType(){return Yn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||fe.trigger(this._element,jn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new un).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Nn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(In),this._element.classList.remove(Nn),fe.trigger(this._element,Fn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(fe.trigger(this._element,Hn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Pn),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(In,Pn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new un).reset(),fe.trigger(this._element,Wn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Zi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():fe.trigger(this._element,Bn)}:null})}_initializeFocusTrap(){return new an({trapElement:this._element})}_addEventListeners(){fe.on(this._element,qn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():fe.trigger(this._element,Bn))}))}static jQueryInterface(t){return this.each((function(){const e=Kn.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,Rn,'[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,Wn,(()=>{Bt(this)&&this.focus()}));const i=we.findOne(Mn);i&&i!==e&&Kn.getInstance(i).hide(),Kn.getOrCreateInstance(e).toggle(this)})),fe.on(window,$n,(()=>{for(const t of we.find(Mn))Kn.getOrCreateInstance(t).show()})),fe.on(window,zn,(()=>{for(const t of we.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Kn.getOrCreateInstance(t).hide()})),Ee(Kn),Qt(Kn);const Qn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],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:[]},Xn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Un=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Gn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Xn.has(i)||Boolean(Un.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Jn={allowList:Qn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Zn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ts={entry:"(string|element|function|null)",selector:"(string|element)"};class es extends be{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Jn}static get DefaultType(){return Zn}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},ts)}_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)Gn(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 is=new Set(["sanitize","allowList","sanitizeFn"]),ns="fade",ss="show",os=".tooltip-inner",rs=".modal",as="hide.bs.modal",ls="hover",cs="focus",hs={AUTO:"auto",TOP:"top",RIGHT:Kt()?"left":"right",BOTTOM:"bottom",LEFT:Kt()?"right":"left"},ds={allowList:Qn,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"},us={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 fs 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 ds}static get DefaultType(){return us}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(rs),as,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(ss),"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(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._activeTrigger.click=!1,this._activeTrigger[cs]=!1,this._activeTrigger[ls]=!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(ns,ss),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(ns),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new es({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[os]: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(ns)}_isShown(){return this.tip&&this.tip.classList.contains(ss)}_createPopper(t){const e=Xt(this._config.placement,[this,t,this._element]),i=hs[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===ls?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ls?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?cs:ls]=!0,e._enter()})),fe.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?cs:ls]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},fe.on(this._element.closest(rs),as,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))is.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=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=".popover-header",ms=".popover-body",gs={...fs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},_s={...fs.DefaultType,content:"(null|string|element|function)"};class bs extends fs{static get Default(){return gs}static get DefaultType(){return _s}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ps]:this._getTitle(),[ms]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=bs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(bs);const vs=".bs.scrollspy",ys=`activate${vs}`,ws=`click${vs}`,Es=`load${vs}.data-api`,As="active",Ts="[href]",Cs=".nav-link",Os=`${Cs}, .nav-item > ${Cs}, .list-group-item`,xs={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},ks={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ls 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 xs}static get DefaultType(){return ks}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,ws),fe.on(this._config.target,ws,Ts,(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(Ts,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(As),this._activateParents(t),fe.trigger(this._element,ys,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))we.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(As);else for(const e of we.parents(t,".nav, .list-group"))for(const t of we.prev(e,Os))t.classList.add(As)}_clearActiveClass(t){t.classList.remove(As);const e=we.find(`${Ts}.${As}`,t);for(const t of e)t.classList.remove(As)}static jQueryInterface(t){return this.each((function(){const e=Ls.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,Es,(()=>{for(const t of we.find('[data-bs-spy="scroll"]'))Ls.getOrCreateInstance(t)})),Qt(Ls);const Ss=".bs.tab",Ds=`hide${Ss}`,$s=`hidden${Ss}`,Is=`show${Ss}`,Ns=`shown${Ss}`,Ps=`click${Ss}`,Ms=`keydown${Ss}`,js=`load${Ss}`,Fs="ArrowLeft",Hs="ArrowRight",Bs="ArrowUp",Ws="ArrowDown",zs="Home",Rs="End",qs="active",Vs="fade",Ys="show",Ks=".dropdown-toggle",Qs=`:not(${Ks})`,Xs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Us=`.nav-link${Qs}, .list-group-item${Qs}, [role="tab"]${Qs}, ${Xs}`,Gs=`.${qs}[data-bs-toggle="tab"], .${qs}[data-bs-toggle="pill"], .${qs}[data-bs-toggle="list"]`;class Js 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,Ms,(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,Ds,{relatedTarget:t}):null;fe.trigger(t,Is,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(qs),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,Ns,{relatedTarget:e})):t.classList.add(Ys)}),t,t.classList.contains(Vs)))}_deactivate(t,e){t&&(t.classList.remove(qs),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,$s,{relatedTarget:e})):t.classList.remove(Ys)}),t,t.classList.contains(Vs)))}_keydown(t){if(![Fs,Hs,Bs,Ws,zs,Rs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!Wt(t)));let i;if([zs,Rs].includes(t.key))i=e[t.key===zs?0:e.length-1];else{const n=[Hs,Ws].includes(t.key);i=Gt(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Js.getOrCreateInstance(i).show())}_getChildren(){return we.find(Us,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(Ks,qs),n(".dropdown-menu",Ys),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(qs)}_getInnerElement(t){return t.matches(Us)?t:we.findOne(Us,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Js.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,Ps,Xs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this)||Js.getOrCreateInstance(this).show()})),fe.on(window,js,(()=>{for(const t of we.find(Gs))Js.getOrCreateInstance(t)})),Qt(Js);const Zs=".bs.toast",to=`mouseover${Zs}`,eo=`mouseout${Zs}`,io=`focusin${Zs}`,no=`focusout${Zs}`,so=`hide${Zs}`,oo=`hidden${Zs}`,ro=`show${Zs}`,ao=`shown${Zs}`,lo="hide",co="show",ho="showing",uo={animation:"boolean",autohide:"boolean",delay:"number"},fo={animation:!0,autohide:!0,delay:5e3};class po extends ve{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return fo}static get DefaultType(){return uo}static get NAME(){return"toast"}show(){fe.trigger(this._element,ro).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(lo),qt(this._element),this._element.classList.add(co,ho),this._queueCallback((()=>{this._element.classList.remove(ho),fe.trigger(this._element,ao),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(fe.trigger(this._element,so).defaultPrevented||(this._element.classList.add(ho),this._queueCallback((()=>{this._element.classList.add(lo),this._element.classList.remove(ho,co),fe.trigger(this._element,oo)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(co),super.dispose()}isShown(){return this._element.classList.contains(co)}_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,to,(t=>this._onInteraction(t,!0))),fe.on(this._element,eo,(t=>this._onInteraction(t,!1))),fe.on(this._element,io,(t=>this._onInteraction(t,!0))),fe.on(this._element,no,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=po.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}function mo(t){"loading"!=document.readyState?t():document.addEventListener("DOMContentLoaded",t)}Ee(po),Qt(po),mo((function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new fs(t,{delay:{show:500,hide:100}})}))})),mo((function(){document.getElementById("pst-back-to-top").addEventListener("click",(function(){document.body.scrollTop=0,document.documentElement.scrollTop=0}))})),mo((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/render-pvi-yaml/_static/scripts/bootstrap.js.LICENSE.txt b/render-pvi-yaml/_static/scripts/bootstrap.js.LICENSE.txt new file mode 100644 index 000000000..28755c2c5 --- /dev/null +++ b/render-pvi-yaml/_static/scripts/bootstrap.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ diff --git a/render-pvi-yaml/_static/scripts/bootstrap.js.map b/render-pvi-yaml/_static/scripts/bootstrap.js.map new file mode 100644 index 000000000..e9e815891 --- /dev/null +++ b/render-pvi-yaml/_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.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 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};\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.3';\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 !== '#' ? hrefAttribute.trim() : null;\n }\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;\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};\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};\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 dd: [],\n div: [],\n dl: [],\n dt: [],\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