From f0eb25316d0a24ba34b9c14554129403ed3695be Mon Sep 17 00:00:00 2001 From: tesselle Date: Tue, 27 Feb 2024 13:43:30 +0000 Subject: [PATCH] Built site for tesselle@d108390 --- tesselle/404.html | 6 +- tesselle/CODE_OF_CONDUCT.html | 4 +- tesselle/CONTRIBUTING.html | 4 +- tesselle/LICENSE.html | 4 +- tesselle/authors.html | 16 +- .../KFOmCnqEu92Fr1Me5g.woff | Bin .../{Roboto-0.4.7 => Roboto-0.4.8}/font.css | 0 .../4iCs6KVjbNBYlgo6ew.woff | Bin .../{Ubuntu-0.4.7 => Ubuntu-0.4.8}/font.css | 0 tesselle/deps/data-deps.txt | 4 +- tesselle/dev/CODE_OF_CONDUCT.html | 136 - tesselle/dev/CONTRIBUTING.html | 99 - tesselle/dev/LICENSE.html | 265 - tesselle/dev/apple-touch-icon-120x120.png | Bin 16660 -> 0 bytes tesselle/dev/apple-touch-icon-152x152.png | Bin 24922 -> 0 bytes tesselle/dev/apple-touch-icon-180x180.png | Bin 34001 -> 0 bytes tesselle/dev/apple-touch-icon-60x60.png | Bin 5741 -> 0 bytes tesselle/dev/apple-touch-icon-76x76.png | Bin 8045 -> 0 bytes tesselle/dev/apple-touch-icon.png | Bin 34001 -> 0 bytes tesselle/dev/authors.html | 108 - .../deps/Roboto-0.4.7/KFOmCnqEu92Fr1Me5g.woff | Bin 65456 -> 0 bytes tesselle/dev/deps/Roboto-0.4.7/font.css | 7 - .../deps/Ubuntu-0.4.7/4iCs6KVjbNBYlgo6ew.woff | Bin 134032 -> 0 bytes tesselle/dev/deps/Ubuntu-0.4.7/font.css | 7 - .../bootstrap-5.3.1/bootstrap.bundle.min.js | 7 - .../bootstrap.bundle.min.js.map | 1 - .../deps/bootstrap-5.3.1/bootstrap.min.css | 5 - tesselle/dev/deps/bootstrap-5.3.1/font.css | 124 - ...txg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff | Bin 27828 -> 0 bytes ...txg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff | Bin 27492 -> 0 bytes .../1adeadb2fe618c5ed46221f15e12b9c8.woff | Bin 46088 -> 0 bytes .../fonts/4iCs6KVjbNBYlgo6ew.woff | Bin 134032 -> 0 bytes .../fonts/4iCs6KVjbNBYlgoKfw7w.woff | Bin 39832 -> 0 bytes .../fonts/4iCv6KVjbNBYlgoCxCvTtA.woff | Bin 117140 -> 0 bytes .../fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff | Bin 34452 -> 0 bytes .../6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff | Bin 17760 -> 0 bytes .../6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff | Bin 49156 -> 0 bytes .../fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff | Bin 74684 -> 0 bytes .../6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff | Bin 18420 -> 0 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff | Bin 74348 -> 0 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff | Bin 74332 -> 0 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff | Bin 18388 -> 0 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff | Bin 74148 -> 0 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff | Bin 18340 -> 0 bytes .../fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff | Bin 16724 -> 0 bytes .../fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff | Bin 29672 -> 0 bytes .../fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff | Bin 75128 -> 0 bytes .../fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff | Bin 16516 -> 0 bytes ...xRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DBKXhM0.woff | Bin 55992 -> 0 bytes ...xRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DMyQhM0.woff | Bin 56004 -> 0 bytes ...g3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTbI1rSg.woff | Bin 47720 -> 0 bytes ...g3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTsoprSg.woff | Bin 47924 -> 0 bytes ...HjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew9.woff | Bin 50580 -> 0 bytes ...HjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew9.woff | Bin 50580 -> 0 bytes ...HjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w9.woff | Bin 51108 -> 0 bytes .../fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff | Bin 20544 -> 0 bytes .../fonts/KFOlCnqEu92Fr1MmEU9vAA.woff | Bin 65756 -> 0 bytes .../fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff | Bin 20416 -> 0 bytes .../fonts/KFOlCnqEu92Fr1MmSU5vAA.woff | Bin 65164 -> 0 bytes .../fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff | Bin 20408 -> 0 bytes .../fonts/KFOlCnqEu92Fr1MmWUlvAA.woff | Bin 65556 -> 0 bytes .../fonts/KFOmCnqEu92Fr1Me5g.woff | Bin 65456 -> 0 bytes .../fonts/KFOmCnqEu92Fr1Mu4mxM.woff | Bin 20344 -> 0 bytes .../fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff | Bin 89776 -> 0 bytes .../fonts/S6u8w4BMUTPHjxsAXC-s.woff | Bin 29864 -> 0 bytes .../fonts/S6u8w4BMUTPHjxswWA.woff | Bin 35436 -> 0 bytes .../fonts/S6u9w4BMUTPHh6UVSwiPHw.woff | Bin 28044 -> 0 bytes .../fonts/S6u9w4BMUTPHh6UVeww.woff | Bin 33296 -> 0 bytes .../fonts/S6u9w4BMUTPHh7USSwiPHw.woff | Bin 30016 -> 0 bytes .../fonts/S6u9w4BMUTPHh7USeww.woff | Bin 35168 -> 0 bytes .../fonts/S6uyw4BMUTPHjx4wWA.woff | Bin 28648 -> 0 bytes .../fonts/S6uyw4BMUTPHvxo.woff | Bin 34020 -> 0 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff | Bin 138900 -> 0 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff | Bin 137508 -> 0 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff | Bin 128192 -> 0 bytes .../XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTA.woff | Bin 53216 -> 0 bytes .../XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTA.woff | Bin 54196 -> 0 bytes .../XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTA.woff | Bin 53856 -> 0 bytes .../a98f7a7574819ba83bec6279a2cecd95.woff | Bin 45884 -> 0 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjaVQ.woff | Bin 72136 -> 0 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff | Bin 23636 -> 0 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff | Bin 74700 -> 0 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff | Bin 23576 -> 0 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff | Bin 74564 -> 0 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk_RkaVQ.woff | Bin 74940 -> 0 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjaVQ.woff | Bin 74644 -> 0 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff | Bin 22964 -> 0 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff | Bin 71660 -> 0 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff | Bin 22332 -> 0 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff | Bin 68664 -> 0 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1y4k.woff | Bin 70652 -> 0 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1y4k.woff | Bin 69392 -> 0 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff | Bin 22940 -> 0 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff | Bin 70524 -> 0 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff | Bin 22908 -> 0 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff | Bin 70792 -> 0 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0C4k.woff | Bin 71144 -> 0 bytes .../fonts/q5uGsou0JOdh94bfvQlr.woff | Bin 31584 -> 0 bytes tesselle/dev/deps/data-deps.txt | 6 - .../dev/deps/jquery-3.6.0/jquery-3.6.0.js | 10881 ---------------- .../dev/deps/jquery-3.6.0/jquery-3.6.0.min.js | 2 - .../deps/jquery-3.6.0/jquery-3.6.0.min.map | 1 - tesselle/dev/favicon-16x16.png | Bin 1435 -> 0 bytes tesselle/dev/favicon-32x32.png | Bin 2601 -> 0 bytes tesselle/dev/favicon.ico | Bin 15086 -> 0 bytes tesselle/dev/index.html | 243 - tesselle/dev/link.svg | 12 - tesselle/dev/logo.png | Bin 82879 -> 0 bytes tesselle/dev/news/index.html | 106 - tesselle/dev/pkgdown.js | 156 - tesselle/dev/pkgdown.yml | 9 - tesselle/dev/pull_request_template.html | 88 - tesselle/dev/reference/figures/logo.png | Bin 82879 -> 0 bytes tesselle/dev/reference/index.html | 67 - tesselle/dev/reference/tesselle-package.html | 100 - tesselle/dev/search.json | 1 - tesselle/dev/sitemap.xml | 30 - tesselle/index.html | 46 +- tesselle/news/index.html | 15 +- tesselle/pkgdown.yml | 2 +- tesselle/pull_request_template.html | 4 +- tesselle/reference/index.html | 4 +- tesselle/reference/tesselle-package.html | 6 +- tesselle/search.json | 2 +- 124 files changed, 61 insertions(+), 12517 deletions(-) rename tesselle/deps/{Roboto-0.4.7 => Roboto-0.4.8}/KFOmCnqEu92Fr1Me5g.woff (100%) rename tesselle/deps/{Roboto-0.4.7 => Roboto-0.4.8}/font.css (100%) rename tesselle/deps/{Ubuntu-0.4.7 => Ubuntu-0.4.8}/4iCs6KVjbNBYlgo6ew.woff (100%) rename tesselle/deps/{Ubuntu-0.4.7 => Ubuntu-0.4.8}/font.css (100%) delete mode 100644 tesselle/dev/CODE_OF_CONDUCT.html delete mode 100644 tesselle/dev/CONTRIBUTING.html delete mode 100644 tesselle/dev/LICENSE.html delete mode 100644 tesselle/dev/apple-touch-icon-120x120.png delete mode 100644 tesselle/dev/apple-touch-icon-152x152.png delete mode 100644 tesselle/dev/apple-touch-icon-180x180.png delete mode 100644 tesselle/dev/apple-touch-icon-60x60.png delete mode 100644 tesselle/dev/apple-touch-icon-76x76.png delete mode 100644 tesselle/dev/apple-touch-icon.png delete mode 100644 tesselle/dev/authors.html delete mode 100644 tesselle/dev/deps/Roboto-0.4.7/KFOmCnqEu92Fr1Me5g.woff delete mode 100644 tesselle/dev/deps/Roboto-0.4.7/font.css delete mode 100644 tesselle/dev/deps/Ubuntu-0.4.7/4iCs6KVjbNBYlgo6ew.woff delete mode 100644 tesselle/dev/deps/Ubuntu-0.4.7/font.css delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/bootstrap.min.css delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/font.css delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/1adeadb2fe618c5ed46221f15e12b9c8.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgo6ew.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKfw7w.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvTtA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DBKXhM0.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DMyQhM0.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTbI1rSg.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTsoprSg.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew9.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew9.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w9.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9vAA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5vAA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlvAA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Me5g.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu4mxM.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxsAXC-s.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxswWA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVSwiPHw.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVeww.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USSwiPHw.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USeww.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHjx4wWA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHvxo.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTA.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/a98f7a7574819ba83bec6279a2cecd95.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk_RkaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1y4k.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1y4k.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0C4k.woff delete mode 100644 tesselle/dev/deps/bootstrap-5.3.1/fonts/q5uGsou0JOdh94bfvQlr.woff delete mode 100644 tesselle/dev/deps/data-deps.txt delete mode 100644 tesselle/dev/deps/jquery-3.6.0/jquery-3.6.0.js delete mode 100644 tesselle/dev/deps/jquery-3.6.0/jquery-3.6.0.min.js delete mode 100644 tesselle/dev/deps/jquery-3.6.0/jquery-3.6.0.min.map delete mode 100644 tesselle/dev/favicon-16x16.png delete mode 100644 tesselle/dev/favicon-32x32.png delete mode 100644 tesselle/dev/favicon.ico delete mode 100644 tesselle/dev/index.html delete mode 100644 tesselle/dev/link.svg delete mode 100644 tesselle/dev/logo.png delete mode 100644 tesselle/dev/news/index.html delete mode 100644 tesselle/dev/pkgdown.js delete mode 100644 tesselle/dev/pkgdown.yml delete mode 100644 tesselle/dev/pull_request_template.html delete mode 100644 tesselle/dev/reference/figures/logo.png delete mode 100644 tesselle/dev/reference/index.html delete mode 100644 tesselle/dev/reference/tesselle-package.html delete mode 100644 tesselle/dev/search.json delete mode 100644 tesselle/dev/sitemap.xml diff --git a/tesselle/404.html b/tesselle/404.html index 41637443e..628b63c9f 100644 --- a/tesselle/404.html +++ b/tesselle/404.html @@ -14,8 +14,8 @@ - - + + @@ -35,7 +35,7 @@ tesselle - 1.4.0 + 1.5.0 - - - - - -
-
-
- -
- -
-

Our Pledge

-

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

-

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

-
-
-

Our Standards

-

Examples of behavior that contributes to a positive environment for our community include:

-
  • Demonstrating empathy and kindness toward other people
  • -
  • Being respectful of differing opinions, viewpoints, and experiences
  • -
  • Giving and gracefully accepting constructive feedback
  • -
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • -
  • Focusing on what is best not just for us as individuals, but for the overall community
  • -

Examples of unacceptable behavior include:

-
  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • -
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • -
  • Public or private harassment
  • -
  • Publishing others’ private information, such as a physical or email address, without their explicit permission
  • -
  • Other conduct which could reasonably be considered inappropriate in a professional setting
  • -
-
-

Enforcement Responsibilities

-

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

-

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

-
-
-

Scope

-

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

-
-
-

Enforcement

-

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [INSERT CONTACT METHOD]. All complaints will be reviewed and investigated promptly and fairly.

-

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

-
-
-

Enforcement Guidelines

-

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

-
-

1. Correction

-

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

-

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

-
-
-

2. Warning

-

Community Impact: A violation through a single incident or series of actions.

-

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

-
-
-

3. Temporary Ban

-

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

-

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

-
-
-

4. Permanent Ban

-

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

-

Consequence: A permanent ban from any sort of public interaction within the community.

-
-
-
-

Attribution

-

This Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

-

Community Impact Guidelines were inspired by Mozilla’s code of conduct enforcement ladder.

-

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

-
-
- -
- - -
- - - -
- - - - - - - diff --git a/tesselle/dev/CONTRIBUTING.html b/tesselle/dev/CONTRIBUTING.html deleted file mode 100644 index 981edf2af..000000000 --- a/tesselle/dev/CONTRIBUTING.html +++ /dev/null @@ -1,99 +0,0 @@ - -Contributing • tesselle - Skip to contents - - -
-
-
- -
- -

This outlines how to propose a change to this package. For more detailed info about contributing to this, and other packages, please see the development contributing guide.

-
-

Fixing typos

-

You can fix typos, spelling mistakes, or grammatical errors in the documentation directly using the GitHub web interface, as long as the changes are made in the source file. This generally means you’ll need to edit roxygen2 comments in an .R, not a .Rd file. You can find the .R file that generates the .Rd by reading the comment in the first line.

-
-
-

Bigger changes

-

If you want to make a bigger change, it’s a good idea to first file an issue and make sure someone from the team agrees that it’s needed. If you’ve found a bug, please file an issue that illustrates the bug with a minimal reprex (this will also help you write a unit test, if needed).

-
-

Pull request process

-
  • Fork the package and clone onto your computer. If you haven’t done this before, we recommend using usethis::create_from_github("tesselle/PACKAGE", fork = TRUE).
  • -
  • Install all development dependencies with devtools::install_dev_deps(), and then make sure the package passes R CMD check by running devtools::check(). If R CMD check doesn’t pass cleanly, it’s a good idea to ask for help before continuing.
  • -
  • Create a Git branch for your pull request (PR). We recommend using usethis::pr_init("brief-description-of-change").
  • -
  • Make your changes, commit to git, and then create a PR by running usethis::pr_push(), and following the prompts in your browser. The title of your PR should briefly describe the change. The body of your PR should contain Fixes #issue-number.
  • -
  • For user-facing changes, add a bullet to the top of NEWS.md (i.e. just below the first header). Follow the style described in https://www.tesselle.org/style.
  • -
-
-

Code style

-
-
-
-

Code of Conduct

-

Please note that this project is released with a Contributor Code of Conduct. By contributing to this project you agree to abide by its terms.

-
-
- -
- - -
- - - -
- - - - - - - diff --git a/tesselle/dev/LICENSE.html b/tesselle/dev/LICENSE.html deleted file mode 100644 index 081d0e5fd..000000000 --- a/tesselle/dev/LICENSE.html +++ /dev/null @@ -1,265 +0,0 @@ - -GNU General Public License • tesselle - Skip to contents - - -
-
-
- -
- -

Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

-

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

-
-

Preamble

-

The GNU General Public License is a free, copyleft license for software and other kinds of works.

-

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program–to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

-

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

-

To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.

-

For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

-

Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.

-

For the developers’ and authors’ protection, the GPL clearly explains that there is no warranty for this free software. For both users’ and authors’ sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.

-

Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users’ freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.

-

Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.

-

The precise terms and conditions for copying, distribution and modification follow.

-
-
-

TERMS AND CONDITIONS

-
-

0. Definitions

-

“This License” refers to version 3 of the GNU General Public License.

-

“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.

-

“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.

-

To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.

-

A “covered work” means either the unmodified Program or a work based on the Program.

-

To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.

-

To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

-

An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.

-
-
-

1. Source Code

-

The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.

-

A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.

-

The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.

-

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work’s System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

-

The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.

-

The Corresponding Source for a work in source code form is that same work.

-
-
-

2. Basic Permissions

-

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

-

You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.

-

Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.

-
-
- -

No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.

-

When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work’s users, your or third parties’ legal rights to forbid circumvention of technological measures.

-
-
-

4. Conveying Verbatim Copies

-

You may convey verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.

-

You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

-
-
-

5. Conveying Modified Source Versions

-

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:

-
  • -a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
  • -
  • -b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
  • -
  • -c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
  • -
  • -d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
  • -

A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation’s users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

-
-
-

6. Conveying Non-Source Forms

-

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:

-
  • -a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
  • -
  • -b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
  • -
  • -c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
  • -
  • -d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
  • -
  • -e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
  • -

A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.

-

A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.

-

“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

-

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).

-

The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.

-

Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.

-
-
-

7. Additional Terms

-

“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.

-

When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.

-

Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:

-
  • -a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
  • -
  • -b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
  • -
  • -c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
  • -
  • -d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
  • -
  • -e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
  • -
  • -f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
  • -

All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.

-

If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.

-

Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.

-
-
-

8. Termination

-

You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).

-

However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

-

Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

-

Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.

-
-
-

9. Acceptance Not Required for Having Copies

-

You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.

-
-
-

10. Automatic Licensing of Downstream Recipients

-

Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.

-

An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party’s predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.

-

You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.

-
-
-

11. Patents

-

A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor’s “contributor version”.

-

A contributor’s “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.

-

Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor’s essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.

-

In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.

-

If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient’s use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.

-

If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.

-

A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.

-

Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.

-
-
-

12. No Surrender of Others’ Freedom

-

If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.

-
-
-

13. Use with the GNU Affero General Public License

-

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.

-
-
-

14. Revised Versions of this License

-

The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

-

Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.

-

If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Program.

-

Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.

-
-
-

15. Disclaimer of Warranty

-

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

-
-
-

16. Limitation of Liability

-

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

-
-
-

17. Interpretation of Sections 15 and 16

-

If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.

-

END OF TERMS AND CONDITIONS

-
-
-
-

How to Apply These Terms to Your New Programs

-

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

-

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.

-
<one line to give the program's name and a brief idea of what it does.>
-Copyright (C) <year>  <name of author>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-

Also add information on how to contact you by electronic and paper mail.

-

If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:

-
<program>  Copyright (C) <year>  <name of author>
-This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
-This is free software, and you are welcome to redistribute it
-under certain conditions; type 'show c' for details.
-

The hypothetical commands show w and show c should show the appropriate parts of the General Public License. Of course, your program’s commands might be different; for a GUI interface, you would use an “about box”.

-

You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <http://www.gnu.org/licenses/>.

-

The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <http://www.gnu.org/philosophy/why-not-lgpl.html>.

-
-
- -
- - -
- - - -
- - - - - - - diff --git a/tesselle/dev/apple-touch-icon-120x120.png b/tesselle/dev/apple-touch-icon-120x120.png deleted file mode 100644 index a62caaeffd1884025c3f4834c6f45524f5e9c37b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16660 zcmV)QK(xP!P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 z 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

R9 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

6r5$CQX*{K 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
6r5$CQX*{K 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 -Authors and Citation • tesselle - Skip to contents - - -
-
-
- -
-

Authors

- -
  • -

    Nicolas Frerebeau. Author, maintainer. -
    Université Bordeaux Montaigne

    -
  • -
  • -

    Brice Lebrun. Contributor. -
    Université Bordeaux Montaigne

    -
  • -
  • -

    Université Bordeaux Montaigne. Funder. -

    -
  • -
  • -

    CNRS. Funder. -

    -
  • -
- -
-

Citation

-

Source: inst/CITATION

- -

Frerebeau N (2023). -tesselle: Easily Install and Load 'tesselle' Packages. -Université Bordeaux Montaigne, Pessac, France. -doi:10.5281/zenodo.6500491, R package version 1.4.0.9000, https://packages.tesselle.org/tesselle/. -

-
@Manual{,
-  author = {Nicolas Frerebeau},
-  title = {{tesselle: Easily Install and Load 'tesselle' Packages}},
-  year = {2023},
-  organization = {Université Bordeaux Montaigne},
-  address = {Pessac, France},
-  note = {R package version 1.4.0.9000},
-  url = {https://packages.tesselle.org/tesselle/},
-  doi = {10.5281/zenodo.6500491},
-}
-
-
- - -
- - - -
- - - - - - - diff --git a/tesselle/dev/deps/Roboto-0.4.7/KFOmCnqEu92Fr1Me5g.woff b/tesselle/dev/deps/Roboto-0.4.7/KFOmCnqEu92Fr1Me5g.woff deleted file mode 100644 index 462480009cc36f6f5ac1b0bf6c25d7ba8d7c3e5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65456 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 diff --git a/tesselle/dev/deps/Roboto-0.4.7/font.css b/tesselle/dev/deps/Roboto-0.4.7/font.css deleted file mode 100644 index cddf76e53..000000000 --- a/tesselle/dev/deps/Roboto-0.4.7/font.css +++ /dev/null @@ -1,7 +0,0 @@ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(KFOmCnqEu92Fr1Me5g.woff) format('woff'); -} diff --git a/tesselle/dev/deps/Ubuntu-0.4.7/4iCs6KVjbNBYlgo6ew.woff b/tesselle/dev/deps/Ubuntu-0.4.7/4iCs6KVjbNBYlgo6ew.woff deleted file mode 100644 index 15c55d19f82ad9061f18a6988d8bb0f6ed7be231..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134032 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

o=XGrcF*NIjnbas_4(14zsK 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.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(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},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=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?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();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?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(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 r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(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))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=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 O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){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=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),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 P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.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 D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(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 M(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 j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(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]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{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=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(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.1"}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 B=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 n(e)},z={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=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).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(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.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)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{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=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_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(),g(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&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(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 ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;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&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[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=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),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===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).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),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.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)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.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 Ht}static get DefaultType(){return Wt}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=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),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(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.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(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.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=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={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];me(s)&&ue(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}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){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 Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&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 Ce(t){var e=Te(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 Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(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 Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,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)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={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:be(e.placement),variation:Fe(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,We(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,We(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 ze={passive:!0};const Re={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=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(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):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(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}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(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 ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={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=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(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})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(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 fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.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)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.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=z.find(Ni);for(const i of e){const e=qi.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=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{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,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}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&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({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=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(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(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),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=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"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=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.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)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"

"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}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},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,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"},ls={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 cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),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 as}static get DefaultType(){return ls}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),N.off(this._element.closest(is),ns,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=N.trigger(this._element,this.constructor.eventName("show")),e=(c(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),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.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(ts,es),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(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(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 g(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,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,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=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.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:r(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=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{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 ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(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&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(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=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(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(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.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]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(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?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,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=z.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=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_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(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); -//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/tesselle/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map b/tesselle/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map deleted file mode 100644 index 3863da8b7..000000000 --- a/tesselle/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","possibleCallback","args","defaultValue","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","value","_unused","defineProperty","configurable","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","prototype","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","getSelector","hrefAttribute","trim","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","EVENT_CLOSE","EVENT_CLOSED","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","applyStyles$1","enabled","phase","_ref","state","elements","forEach","styles","assign","effect","_ref2","initialStyles","position","options","strategy","margin","arrow","hasOwnProperty","attribute","requires","getBasePlacement","round","getUAString","uaData","userAgentData","brands","isArray","item","brand","version","userAgent","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","getLayoutRect","rootNode","isSameNode","host","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","len","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","offset","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","computeStyles$1","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getClippingRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","sort","a","b","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","hide$1","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets$1","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","modifiers","visited","result","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","arguments","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","current","existing","m","_ref$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","destroy","onFirstUpdate","createPopper","computeStyles","applyStyles","flip","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","autoClose","display","popperConfig","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","Offcanvas","blur","completeCallback","DefaultAllowlist","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","allowList","content","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","Popover","_getContent","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","scrollTo","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","activeNodes","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","HOME_KEY","END_KEY","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\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()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\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\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\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 * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\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\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\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\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\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\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\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\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\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\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\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\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\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\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\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\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}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\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\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\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}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\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\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\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\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\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}\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}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\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\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\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\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\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\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\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\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\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\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\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\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\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\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\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\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\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\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\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\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\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\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\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\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\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))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\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, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\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\n if (!element || !Swipe.isSupported()) {\n return\n }\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\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\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\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\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\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = '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'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = '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'\n\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\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // 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\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\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\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\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\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\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\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\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\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\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\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\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\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\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\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\n if (typeof config === 'number') {\n data.to(config)\n return\n }\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\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = '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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\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\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\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)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\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\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\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\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\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\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, 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\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\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 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 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 { 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\";\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 };","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\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = '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'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\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)'\n\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'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\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\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] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\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\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\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, 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\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\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\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\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\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\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 {\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\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\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, !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\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\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) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\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\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\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) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // 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, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute, executeAfterTransition, getElement, reflow } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\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\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\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)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\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\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\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\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\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\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\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\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\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\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\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\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\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\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\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\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\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\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\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\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\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\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\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\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\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)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\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\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\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\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\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\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\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\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)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\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\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\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\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\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\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\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\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\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\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\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\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\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\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})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\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\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\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\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\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\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\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 '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\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\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\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\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\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\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\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\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\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\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\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\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\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\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\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\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\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\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\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\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\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 }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), 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 ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\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] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\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\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\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\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\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\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\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\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\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\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\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\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\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\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 = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // 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}\n\nconst DefaultType = {\n offset: '(number|null)', // 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\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\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\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\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\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({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\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\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\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\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\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\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\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\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { 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, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both