diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml new file mode 100644 index 0000000..160b474 --- /dev/null +++ b/.github/workflows/hugo.yaml @@ -0,0 +1,78 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: + - main + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.121.0 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Install Dart Sass + run: sudo snap install dart-sass + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + - name: Setup Pages + id: pages + uses: actions/configure-pages@v4 + - name: Install Node.js dependencies + run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo \ + --gc \ + --minify \ + --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: ./public + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v3 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b413aef --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +#others +node_modules +.hugo_build.lock + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes + +# Hugo +public diff --git a/README.md b/README.md new file mode 100644 index 0000000..12a90bd --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# blowfish-tutorial +echo "# blowfish-tutorial" >> README.md +git init +git add README.md +git add . +git commit -m "first commit" +git branch -M main +git remote add origin https://github.com/demodeveloperlab/blowfish-tutorial.git +git push -u origin main \ No newline at end of file diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/assets/css/compiled/main.css b/assets/css/compiled/main.css new file mode 100644 index 0000000..ce5ece1 --- /dev/null +++ b/assets/css/compiled/main.css @@ -0,0 +1,5386 @@ +/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */ + +#zen-mode-button { + cursor:pointer +} + +.zen-mode { + position: relative; +} + +body.zen-mode-enable { + #bmc-wbtn, .author { + display:none !important; + } +} + +.btn { + @apply inline-block rounded border border-transparent px-5 py-2 font-semibold capitalize transition; +} + +.btn-sm { + @apply rounded-sm px-4 py-1.5 text-sm; +} + +.btn-primary { + @apply border-primary bg-primary dark:border-darkmode-primary dark:text-dark text-white dark:bg-white; +} + +.btn-outline-primary { + @apply border-dark text-dark hover:bg-dark dark:hover:text-dark bg-transparent hover:text-white dark:border-white dark:text-white dark:hover:bg-white; +} + +/*! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com */ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: currentColor; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +7. Disable tap highlights on iOS +*/ + +html, +:host { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ + -webkit-tap-highlight-color: transparent; + /* 7 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font-family by default. +2. Use the user's configured `mono` font-feature-settings by default. +3. Use the user's configured `mono` font-variation-settings by default. +4. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-feature-settings: normal; + /* 2 */ + font-variation-settings: normal; + /* 3 */ + font-size: 1em; + /* 4 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden] { + display: none; +} + +[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + background-color:#fff; + border-color:#6b7280; + border-width:1px; + border-radius:0px; + padding-top:0.5rem; + padding-right:0.75rem; + padding-bottom:0.5rem; + padding-left:0.75rem; + font-size:1rem; + line-height:1.5rem; + --tw-shadow:0 0 #0000; +} + +[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { + outline:2px solid transparent; + outline-offset:2px; + --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width:0px; + --tw-ring-offset-color:#fff; + --tw-ring-color:#2563eb; + --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + border-color:#2563eb +} + +input::-moz-placeholder, textarea::-moz-placeholder { + color:#6b7280; + opacity:1 +} + +input::placeholder,textarea::placeholder { + color:#6b7280; + opacity:1 +} + +::-webkit-datetime-edit-fields-wrapper { + padding:0 +} + +::-webkit-date-and-time-value { + min-height:1.5em; + text-align:inherit +} + +::-webkit-datetime-edit { + display:inline-flex +} + +::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { + padding-top:0; + padding-bottom:0 +} + +select { + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); + background-position:right 0.5rem center; + background-repeat:no-repeat; + background-size:1.5em 1.5em; + padding-right:2.5rem; + -webkit-print-color-adjust:exact; + print-color-adjust:exact +} + +[multiple],[size]:where(select:not([size="1"])) { + background-image:initial; + background-position:initial; + background-repeat:unset; + background-size:initial; + padding-right:0.75rem; + -webkit-print-color-adjust:unset; + print-color-adjust:unset +} + +[type='checkbox'],[type='radio'] { + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + padding:0; + -webkit-print-color-adjust:exact; + print-color-adjust:exact; + display:inline-block; + vertical-align:middle; + background-origin:border-box; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; + flex-shrink:0; + height:1rem; + width:1rem; + color:#2563eb; + background-color:#fff; + border-color:#6b7280; + border-width:1px; + --tw-shadow:0 0 #0000 +} + +[type='checkbox'] { + border-radius:0px +} + +[type='radio'] { + border-radius:100% +} + +[type='checkbox']:focus,[type='radio']:focus { + outline:2px solid transparent; + outline-offset:2px; + --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width:2px; + --tw-ring-offset-color:#fff; + --tw-ring-color:#2563eb; + --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) +} + +[type='checkbox']:checked,[type='radio']:checked { + border-color:transparent; + background-color:currentColor; + background-size:100% 100%; + background-position:center; + background-repeat:no-repeat +} + +[type='checkbox']:checked { + background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); +} + +@media (forced-colors: active) { + [type='checkbox']:checked { + -webkit-appearance:auto; + -moz-appearance:auto; + appearance:auto + } +} + +[type='radio']:checked { + background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); +} + +@media (forced-colors: active) { + [type='radio']:checked { + -webkit-appearance:auto; + -moz-appearance:auto; + appearance:auto + } +} + +[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { + border-color:transparent; + background-color:currentColor +} + +[type='checkbox']:indeterminate { + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); + border-color:transparent; + background-color:currentColor; + background-size:100% 100%; + background-position:center; + background-repeat:no-repeat; +} + +@media (forced-colors: active) { + [type='checkbox']:indeterminate { + -webkit-appearance:auto; + -moz-appearance:auto; + appearance:auto + } +} + +[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { + border-color:transparent; + background-color:currentColor +} + +[type='file'] { + background:unset; + border-color:inherit; + border-width:0; + border-radius:0; + padding:0; + font-size:unset; + line-height:inherit +} + +[type='file']:focus { + outline:1px solid ButtonText; + outline:1px auto -webkit-focus-ring-color +} + +*, ::before, ::after { + --tw-border-spacing-x:0; + --tw-border-spacing-y:0; + --tw-translate-x:0; + --tw-translate-y:0; + --tw-rotate:0; + --tw-skew-x:0; + --tw-skew-y:0; + --tw-scale-x:1; + --tw-scale-y:1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness:proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width:0px; + --tw-ring-offset-color:#fff; + --tw-ring-color:rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow:0 0 #0000; + --tw-ring-shadow:0 0 #0000; + --tw-shadow:0 0 #0000; + --tw-shadow-colored:0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +::backdrop { + --tw-border-spacing-x:0; + --tw-border-spacing-y:0; + --tw-translate-x:0; + --tw-translate-y:0; + --tw-rotate:0; + --tw-skew-x:0; + --tw-skew-y:0; + --tw-scale-x:1; + --tw-scale-y:1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness:proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width:0px; + --tw-ring-offset-color:#fff; + --tw-ring-color:rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow:0 0 #0000; + --tw-ring-shadow:0 0 #0000; + --tw-shadow:0 0 #0000; + --tw-shadow-colored:0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.container { + width:100% +} + +@media (min-width: 640px) { + .container { + max-width:640px + } +} + +@media (min-width: 853px) { + .container { + max-width:853px + } +} + +@media (min-width: 1024px) { + .container { + max-width:1024px + } +} + +@media (min-width: 1280px) { + .container { + max-width:1280px + } +} + +@media (min-width: 1536px) { + .container { + max-width:1536px + } +} + +.prose { + color:var(--tw-prose-body); + max-width:65ch; +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:1.25em; + margin-bottom:1.25em +} + +.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-lead); + font-size:1.25em; + line-height:1.6; + margin-top:1.2em; + margin-bottom:1.2em +} + +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-links); + text-decoration:none; + font-weight:500; + text-decoration-color:rgba(var(--color-primary-300), 1); +} + +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover { + color:rgba(var(--color-primary-600), 1); + text-decoration:none; + border-radius:0.09rem +} + +.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-bold); + font-weight:600 +} + +.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:decimal; + margin-top:1.25em; + margin-bottom:1.25em; + padding-left:1.625em +} + +.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:upper-alpha +} + +.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:lower-alpha +} + +.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:upper-alpha +} + +.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:lower-alpha +} + +.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:upper-roman +} + +.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:lower-roman +} + +.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:upper-roman +} + +.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:lower-roman +} + +.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:decimal +} + +.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:disc; + margin-top:1.25em; + margin-bottom:1.25em; + padding-left:1.625em +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + font-weight:400; + color:var(--tw-prose-counters) +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + color:var(--tw-prose-bullets) +} + +.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:600; + margin-top:1.25em +} + +.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-color:var(--tw-prose-hr); + border-top-width:1px; + margin-top:3em; + margin-bottom:3em +} + +.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:500; + font-style:italic; + color:var(--tw-prose-quotes); + border-left-width:0.25rem; + border-left-color:var(--tw-prose-quote-borders); + quotes:"\201C""\201D""\2018""\2019"; + margin-top:1.6em; + margin-bottom:1.6em; + padding-left:1em +} + +.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content:open-quote +} + +.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content:close-quote +} + +.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:800; + font-size:2.25em; + margin-top:0; + margin-bottom:0.8888889em; + line-height:1.1111111 +} + +.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:900; + color:inherit +} + +.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:700; + font-size:1.5em; + margin-top:2em; + margin-bottom:1em; + line-height:1.3333333 +} + +.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:800; + color:inherit +} + +.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:600; + font-size:1.25em; + margin-top:1.6em; + margin-bottom:0.6em; + line-height:1.6 +} + +.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:700; + color:inherit +} + +.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:600; + margin-top:1.5em; + margin-bottom:0.5em; + line-height:1.5 +} + +.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:700; + color:inherit +} + +.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:2em; + margin-bottom:2em +} + +.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + display:block; + margin-top:2em; + margin-bottom:2em +} + +.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:600; + font-family:inherit; + color:var(--tw-prose-kbd); + box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%); + font-size:0.9rem; + border-radius:0.25rem; + padding-top:0.1875em; + padding-right:0.375em; + padding-bottom:0.1875em; + padding-left:0.375em; + background-color:rgba(var(--color-neutral-200), 1); + padding:0.1rem 0.4rem +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-code); + font-weight:600; + font-size:0.875em; + background-color:rgba(var(--color-neutral-50), 1); + padding-top:3px; + padding-bottom:3px; + padding-left:5px; + padding-right:5px; + border-radius:0.25rem +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content:"`"; + display:none +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content:"`"; + display:none +} + +.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-code) +} + +.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit; + font-size:0.875em +} + +.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit; + font-size:0.9em +} + +.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-pre-code); + background-color:var(--tw-prose-pre-bg); + overflow-x:auto; + font-weight:400; + font-size:0.875em; + line-height:1.7142857; + margin-top:1.7142857em; + margin-bottom:1.7142857em; + border-radius:0.375rem; + padding-top:0.8571429em; + padding-right:1.1428571em; + padding-bottom:0.8571429em; + padding-left:1.1428571em +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color:transparent; + border-width:0; + border-radius:0; + padding:0; + font-weight:inherit; + color:inherit; + font-size:inherit; + font-family:inherit; + line-height:inherit +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content:none +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content:none +} + +.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + width:100%; + table-layout:auto; + text-align:left; + margin-top:2em; + margin-bottom:2em; + font-size:0.875em; + line-height:1.7142857 +} + +.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width:1px; + border-bottom-color:var(--tw-prose-th-borders) +} + +.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:600; + vertical-align:bottom; + padding-right:0.5714286em; + padding-bottom:0.5714286em; + padding-left:0.5714286em +} + +.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width:1px; + border-bottom-color:var(--tw-prose-td-borders) +} + +.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width:0 +} + +.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align:baseline +} + +.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-top-width:1px; + border-top-color:var(--tw-prose-th-borders) +} + +.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align:top +} + +.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0; + margin-bottom:0 +} + +.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-captions); + font-size:0.875em; + line-height:1.4285714; + margin-top:0.8571429em +} + +.prose { + --tw-prose-body:rgba(var(--color-neutral-700), 1); + --tw-prose-headings:rgba(var(--color-neutral-800), 1); + --tw-prose-lead:rgba(var(--color-neutral-500), 1); + --tw-prose-links:rgba(var(--color-primary-600), 1); + --tw-prose-bold:rgba(var(--color-neutral-900), 1); + --tw-prose-counters:rgba(var(--color-neutral-800), 1); + --tw-prose-bullets:rgba(var(--color-neutral-500), 1); + --tw-prose-hr:rgba(var(--color-neutral-200), 1); + --tw-prose-quotes:rgba(var(--color-neutral-700), 1); + --tw-prose-quote-borders:rgba(var(--color-primary-200), 1); + --tw-prose-captions:rgba(var(--color-neutral-500), 1); + --tw-prose-kbd:#111827; + --tw-prose-kbd-shadows:17 24 39; + --tw-prose-code:rgba(var(--color-secondary-700), 1); + --tw-prose-pre-code:rgba(var(--color-neutral-700), 1); + --tw-prose-pre-bg:rgba(var(--color-neutral-50), 1); + --tw-prose-th-borders:rgba(var(--color-neutral-500), 1); + --tw-prose-td-borders:rgba(var(--color-neutral-300), 1); + --tw-prose-invert-body:rgba(var(--color-neutral-300), 1); + --tw-prose-invert-headings:rgba(var(--color-neutral-50), 1); + --tw-prose-invert-lead:rgba(var(--color-neutral-500), 1); + --tw-prose-invert-links:rgba(var(--color-primary-400), 1); + --tw-prose-invert-bold:rgba(var(--color-neutral), 1); + --tw-prose-invert-counters:rgba(var(--color-neutral-400), 1); + --tw-prose-invert-bullets:rgba(var(--color-neutral-600), 1); + --tw-prose-invert-hr:rgba(var(--color-neutral-500), 1); + --tw-prose-invert-quotes:rgba(var(--color-neutral-200), 1); + --tw-prose-invert-quote-borders:rgba(var(--color-primary-900), 1); + --tw-prose-invert-captions:rgba(var(--color-neutral-400), 1); + --tw-prose-invert-kbd:#fff; + --tw-prose-invert-kbd-shadows:255 255 255; + --tw-prose-invert-code:rgba(var(--color-secondary-400), 1); + --tw-prose-invert-pre-code:rgba(var(--color-neutral-200), 1); + --tw-prose-invert-pre-bg:rgba(var(--color-neutral-700), 1); + --tw-prose-invert-th-borders:rgba(var(--color-neutral-500), 1); + --tw-prose-invert-td-borders:rgba(var(--color-neutral-700), 1); + font-size:1rem; + line-height:1.75 +} + +.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0; + margin-bottom:0 +} + +.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:2em; + margin-bottom:2em +} + +.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0.5em; + margin-bottom:0.5em +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left:0.375em +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left:0.375em +} + +.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0.75em; + margin-bottom:0.75em +} + +.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:1.25em +} + +.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom:1.25em +} + +.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:1.25em +} + +.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom:1.25em +} + +.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0.75em; + margin-bottom:0.75em +} + +.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:1.25em; + margin-bottom:1.25em +} + +.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0.5em; + padding-left:1.625em +} + +.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left:0 +} + +.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right:0 +} + +.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top:0.5714286em; + padding-right:0.5714286em; + padding-bottom:0.5714286em; + padding-left:0.5714286em +} + +.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left:0 +} + +.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right:0 +} + +.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:2em; + margin-bottom:2em +} + +.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom:0 +} + +.prose :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:rgba(var(--color-neutral-800), 1); + background-color:rgba(var(--color-primary-600), 1); + padding:0.1rem 0.2rem; + border-radius:0.25rem +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + display:none +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + display:none +} + +.prose :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-600), 1) +} + +.prose :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-600), 1) +} + +.prose-invert :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +.prose-invert :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +.sr-only { + position:absolute; + width:1px; + height:1px; + padding:0; + margin:-1px; + overflow:hidden; + clip:rect(0, 0, 0, 0); + white-space:nowrap; + border-width:0 +} + +.pointer-events-none { + pointer-events:none +} + +.pointer-events-auto { + pointer-events:auto +} + +.invisible { + visibility:hidden +} + +.fixed { + position:fixed +} + +.\!absolute { + position:absolute !important +} + +.absolute { + position:absolute +} + +.relative { + position:relative +} + +.sticky { + position:sticky +} + +.inset-0 { + inset:0px +} + +.inset-x-0 { + left:0px; + right:0px +} + +.bottom-0 { + bottom:0px +} + +.left-0 { + left:0px +} + +.right-0 { + right:0px +} + +.top-0 { + top:0px +} + +.top-20 { + top:5rem +} + +.top-\[110vh\] { + top:110vh +} + +.top-\[calc\(100vh-5\.5rem\)\] { + top:calc(100vh - 5.5rem) +} + +.z-10 { + z-index:10 +} + +.z-30 { + z-index:30 +} + +.z-\[1\] { + z-index:1 +} + +.z-\[2\] { + z-index:2 +} + +.order-first { + order:-9999 +} + +.float-left { + float:left +} + +.\!-m-px { + margin:-1px !important +} + +.m-0 { + margin:0px +} + +.m-1 { + margin:0.25rem +} + +.m-2 { + margin:0.5rem +} + +.m-auto { + margin:auto +} + +.-mx-2 { + margin-left:-0.5rem; + margin-right:-0.5rem +} + +.-my-2 { + margin-top:-0.5rem; + margin-bottom:-0.5rem +} + +.mx-1 { + margin-left:0.25rem; + margin-right:0.25rem +} + +.mx-6 { + margin-left:1.5rem; + margin-right:1.5rem +} + +.mx-\[15\%\] { + margin-left:15%; + margin-right:15% +} + +.mx-\[3px\] { + margin-left:3px; + margin-right:3px +} + +.mx-auto { + margin-left:auto; + margin-right:auto +} + +.my-0 { + margin-top:0px; + margin-bottom:0px +} + +.my-3 { + margin-top:0.75rem; + margin-bottom:0.75rem +} + +.\!mb-0 { + margin-bottom:0px !important +} + +.\!mb-9 { + margin-bottom:2.25rem !important +} + +.\!mt-0 { + margin-top:0px !important +} + +.-mb-1 { + margin-bottom:-0.25rem +} + +.-ml-12 { + margin-left:-3rem +} + +.-mr-2 { + margin-right:-0.5rem +} + +.-mr-48 { + margin-right:-12rem +} + +.-mr-\[100\%\] { + margin-right:-100% +} + +.mb-0 { + margin-bottom:0px +} + +.mb-1 { + margin-bottom:0.25rem +} + +.mb-10 { + margin-bottom:2.5rem +} + +.mb-12 { + margin-bottom:3rem +} + +.mb-16 { + margin-bottom:4rem +} + +.mb-2 { + margin-bottom:0.5rem +} + +.mb-20 { + margin-bottom:5rem +} + +.mb-3 { + margin-bottom:0.75rem +} + +.mb-4 { + margin-bottom:1rem +} + +.mb-5 { + margin-bottom:1.25rem +} + +.mb-6 { + margin-bottom:1.5rem +} + +.mb-8 { + margin-bottom:2rem +} + +.mb-\[2px\] { + margin-bottom:2px +} + +.ml-2 { + margin-left:0.5rem +} + +.ml-3 { + margin-left:0.75rem +} + +.ml-4 { + margin-left:1rem +} + +.ml-6 { + margin-left:1.5rem +} + +.ml-auto { + margin-left:auto +} + +.mr-1 { + margin-right:0.25rem +} + +.mr-2 { + margin-right:0.5rem +} + +.mr-3 { + margin-right:0.75rem +} + +.mr-4 { + margin-right:1rem +} + +.mr-5 { + margin-right:1.25rem +} + +.mr-auto { + margin-right:auto +} + +.ms-2 { + margin-inline-start:0.5rem +} + +.mt-0 { + margin-top:0px +} + +.mt-1 { + margin-top:0.25rem +} + +.mt-10 { + margin-top:2.5rem +} + +.mt-12 { + margin-top:3rem +} + +.mt-2 { + margin-top:0.5rem +} + +.mt-20 { + margin-top:5rem +} + +.mt-3 { + margin-top:0.75rem +} + +.mt-4 { + margin-top:1rem +} + +.mt-5 { + margin-top:1.25rem +} + +.mt-6 { + margin-top:1.5rem +} + +.mt-8 { + margin-top:2rem +} + +.mt-\[-2px\] { + margin-top:-2px +} + +.mt-\[0\.1rem\] { + margin-top:0.1rem +} + +.box-content { + box-sizing:content-box +} + +.block { + display:block +} + +.inline-block { + display:inline-block +} + +.inline { + display:inline +} + +.flex { + display:flex +} + +.inline-flex { + display:inline-flex +} + +.grid { + display:grid +} + +.hidden { + display:none +} + +.\!h-px { + height:1px !important +} + +.h-1\/2 { + height:50% +} + +.h-10 { + height:2.5rem +} + +.h-12 { + height:3rem +} + +.h-24 { + height:6rem +} + +.h-3 { + height:0.75rem +} + +.h-3\.5 { + height:0.875rem +} + +.h-36 { + height:9rem +} + +.h-48 { + height:12rem +} + +.h-6 { + height:1.5rem +} + +.h-7 { + height:1.75rem +} + +.h-8 { + height:2rem +} + +.h-96 { + height:24rem +} + +.h-\[1000px\] { + height:1000px +} + +.h-\[150px\] { + height:150px +} + +.h-\[3px\] { + height:3px +} + +.h-\[800px\] { + height:800px +} + +.h-full { + height:100% +} + +.h-screen { + height:100vh +} + +.max-h-3 { + max-height:0.75rem +} + +.max-h-\[5rem\] { + max-height:5rem +} + +.min-h-0 { + min-height:0px +} + +.min-h-\[148px\] { + min-height:148px +} + +.min-h-full { + min-height:100% +} + +.\!w-px { + width:1px !important +} + +.w-10 { + width:2.5rem +} + +.w-12 { + width:3rem +} + +.w-24 { + width:6rem +} + +.w-3 { + width:0.75rem +} + +.w-3\.5 { + width:0.875rem +} + +.w-36 { + width:9rem +} + +.w-4 { + width:1rem +} + +.w-6 { + width:1.5rem +} + +.w-7 { + width:1.75rem +} + +.w-8 { + width:2rem +} + +.w-\[15\%\] { + width:15% +} + +.w-\[30px\] { + width:30px +} + +.w-auto { + width:auto +} + +.w-full { + width:100% +} + +.w-px { + width:1px +} + +.w-screen { + width:100vw +} + +.min-w-0 { + min-width:0px +} + +.min-w-\[1\.8rem\] { + min-width:1.8rem +} + +.min-w-\[220px\] { + min-width:220px +} + +.min-w-\[30px\] { + min-width:30px +} + +.min-w-full { + min-width:100% +} + +.max-w-2xl { + max-width:42rem +} + +.max-w-3xl { + max-width:48rem +} + +.max-w-5xl { + max-width:64rem +} + +.max-w-6xl { + max-width:72rem +} + +.max-w-7xl { + max-width:80rem +} + +.max-w-\[1600px\] { + max-width:1600px +} + +.max-w-\[5rem\] { + max-width:5rem +} + +.max-w-\[64rem\] { + max-width:64rem +} + +.max-w-\[85rem\] { + max-width:85rem +} + +.max-w-fit { + max-width:-moz-fit-content; + max-width:fit-content +} + +.max-w-full { + max-width:100% +} + +.max-w-prose { + max-width:65ch +} + +.max-w-xl { + max-width:36rem +} + +.flex-1 { + flex:1 1 0% +} + +.flex-auto { + flex:1 1 auto +} + +.flex-initial { + flex:0 1 auto +} + +.flex-none { + flex:none +} + +.flex-shrink-0 { + flex-shrink:0 +} + +.grow { + flex-grow:1 +} + +.-translate-y-8 { + --tw-translate-y:-2rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +@keyframes pulse { + 50% { + opacity:.5 + } +} + +.animate-pulse { + animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite +} + +.cursor-default { + cursor:default +} + +.cursor-pointer { + cursor:pointer +} + +.list-none { + list-style-type:none +} + +.appearance-none { + -webkit-appearance:none; + -moz-appearance:none; + appearance:none +} + +.flex-row { + flex-direction:row +} + +.flex-col { + flex-direction:column +} + +.flex-wrap { + flex-wrap:wrap +} + +.items-end { + align-items:flex-end +} + +.items-center { + align-items:center +} + +.justify-center { + justify-content:center +} + +.justify-between { + justify-content:space-between +} + +.gap-4 { + gap:1rem +} + +.gap-6 { + gap:1.5rem +} + +.gap-8 { + gap:2rem +} + +.space-x-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse:0; + margin-right:calc(0.5rem * var(--tw-space-x-reverse)); + margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse))) +} + +.space-x-3 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse:0; + margin-right:calc(0.75rem * var(--tw-space-x-reverse)); + margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse))) +} + +.space-x-5 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse:0; + margin-right:calc(1.25rem * var(--tw-space-x-reverse)); + margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse))) +} + +.space-y-10 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse:0; + margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom:calc(2.5rem * var(--tw-space-y-reverse)) +} + +.space-y-12 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse:0; + margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom:calc(3rem * var(--tw-space-y-reverse)) +} + +.space-y-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse:0; + margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom:calc(0.5rem * var(--tw-space-y-reverse)) +} + +.space-y-24 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse:0; + margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom:calc(6rem * var(--tw-space-y-reverse)) +} + +.space-y-3 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse:0; + margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom:calc(0.75rem * var(--tw-space-y-reverse)) +} + +.place-self-center { + place-self:center +} + +.self-center { + align-self:center +} + +.overflow-auto { + overflow:auto +} + +.\!overflow-hidden { + overflow:hidden !important +} + +.overflow-hidden { + overflow:hidden +} + +.overflow-visible { + overflow:visible +} + +.scroll-smooth { + scroll-behavior:smooth +} + +.\!whitespace-nowrap { + white-space:nowrap !important +} + +.break-words { + overflow-wrap:break-word +} + +.\!rounded-md { + border-radius:0.375rem !important +} + +.rounded { + border-radius:0.25rem +} + +.rounded-2xl { + border-radius:1rem +} + +.rounded-full { + border-radius:9999px +} + +.rounded-lg { + border-radius:0.5rem +} + +.rounded-md { + border-radius:0.375rem +} + +.rounded-xl { + border-radius:0.75rem +} + +.rounded-b-lg { + border-bottom-right-radius:0.5rem; + border-bottom-left-radius:0.5rem +} + +.\!border-0 { + border-width:0px !important +} + +.border { + border-width:1px +} + +.border-0 { + border-width:0px +} + +.border-2 { + border-width:2px +} + +.border-y-\[10px\] { + border-top-width:10px; + border-bottom-width:10px +} + +.border-l-2 { + border-left-width:2px +} + +.border-t { + border-top-width:1px +} + +.border-solid { + border-style:solid +} + +.border-dotted { + border-style:dotted +} + +.border-neutral-200 { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-200), var(--tw-border-opacity)) +} + +.border-neutral-300 { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-300), var(--tw-border-opacity)) +} + +.border-primary-400 { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-400), var(--tw-border-opacity)) +} + +.border-primary-500 { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-500), var(--tw-border-opacity)) +} + +.border-transparent { + border-color:transparent +} + +.bg-neutral { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral), var(--tw-bg-opacity)) +} + +.bg-neutral-100 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-100), var(--tw-bg-opacity)) +} + +.bg-neutral-100\/50 { + background-color:rgba(var(--color-neutral-100), 0.5) +} + +.bg-neutral-300 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-300), var(--tw-bg-opacity)) +} + +.bg-neutral-500\/50 { + background-color:rgba(var(--color-neutral-500), 0.5) +} + +.bg-neutral\/50 { + background-color:rgba(var(--color-neutral), 0.5) +} + +.bg-primary-100 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) +} + +.bg-primary-200 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-200), var(--tw-bg-opacity)) +} + +.bg-primary-500 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity)) +} + +.bg-primary-600 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity)) +} + +.bg-transparent { + background-color:transparent +} + +.bg-gradient-to-b { + background-image:linear-gradient(to bottom, var(--tw-gradient-stops)) +} + +.bg-gradient-to-br { + background-image:linear-gradient(to bottom right, var(--tw-gradient-stops)) +} + +.bg-gradient-to-r { + background-image:linear-gradient(to right, var(--tw-gradient-stops)) +} + +.bg-gradient-to-t { + background-image:linear-gradient(to top, var(--tw-gradient-stops)) +} + +.bg-none { + background-image:none +} + +.from-neutral { + --tw-gradient-from:rgba(var(--color-neutral), 1) var(--tw-gradient-from-position); + --tw-gradient-to:rgba(var(--color-neutral), 0) var(--tw-gradient-to-position); + --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to) +} + +.from-primary-500 { + --tw-gradient-from:rgba(var(--color-primary-500), 1) var(--tw-gradient-from-position); + --tw-gradient-to:rgba(var(--color-primary-500), 0) var(--tw-gradient-to-position); + --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to) +} + +.to-neutral { + --tw-gradient-to:rgba(var(--color-neutral), 1) var(--tw-gradient-to-position) +} + +.to-neutral-100 { + --tw-gradient-to:rgba(var(--color-neutral-100), 1) var(--tw-gradient-to-position) +} + +.to-secondary-700 { + --tw-gradient-to:rgba(var(--color-secondary-700), 1) var(--tw-gradient-to-position) +} + +.to-transparent { + --tw-gradient-to:transparent var(--tw-gradient-to-position) +} + +.bg-clip-padding { + background-clip:padding-box +} + +.object-cover { + -o-object-fit:cover; + object-fit:cover +} + +.object-scale-down { + -o-object-fit:scale-down; + object-fit:scale-down +} + +.object-bottom { + -o-object-position:bottom; + object-position:bottom +} + +.object-left { + -o-object-position:left; + object-position:left +} + +.\!p-0 { + padding:0px !important +} + +.p-0 { + padding:0px +} + +.p-1 { + padding:0.25rem +} + +.p-1\.5 { + padding:0.375rem +} + +.p-4 { + padding:1rem +} + +.p-5 { + padding:1.25rem +} + +.p-6 { + padding:1.5rem +} + +.px-0 { + padding-left:0px; + padding-right:0px +} + +.px-1 { + padding-left:0.25rem; + padding-right:0.25rem +} + +.px-1\.5 { + padding-left:0.375rem; + padding-right:0.375rem +} + +.px-2 { + padding-left:0.5rem; + padding-right:0.5rem +} + +.px-3 { + padding-left:0.75rem; + padding-right:0.75rem +} + +.px-4 { + padding-left:1rem; + padding-right:1rem +} + +.px-5 { + padding-left:1.25rem; + padding-right:1.25rem +} + +.px-6 { + padding-left:1.5rem; + padding-right:1.5rem +} + +.px-8 { + padding-left:2rem; + padding-right:2rem +} + +.px-\[30px\] { + padding-left:30px; + padding-right:30px +} + +.py-1 { + padding-top:0.25rem; + padding-bottom:0.25rem +} + +.py-10 { + padding-top:2.5rem; + padding-bottom:2.5rem +} + +.py-12 { + padding-top:3rem; + padding-bottom:3rem +} + +.py-16 { + padding-top:4rem; + padding-bottom:4rem +} + +.py-2 { + padding-top:0.5rem; + padding-bottom:0.5rem +} + +.py-3 { + padding-top:0.75rem; + padding-bottom:0.75rem +} + +.py-4 { + padding-top:1rem; + padding-bottom:1rem +} + +.py-6 { + padding-top:1.5rem; + padding-bottom:1.5rem +} + +.py-7 { + padding-top:1.75rem; + padding-bottom:1.75rem +} + +.py-8 { + padding-top:2rem; + padding-bottom:2rem +} + +.py-\[1px\] { + padding-top:1px; + padding-bottom:1px +} + +.pb-2 { + padding-bottom:0.5rem +} + +.pb-3 { + padding-bottom:0.75rem +} + +.pb-32 { + padding-bottom:8rem +} + +.pb-4 { + padding-bottom:1rem +} + +.pb-8 { + padding-bottom:2rem +} + +.pl-2 { + padding-left:0.5rem +} + +.pl-\[24px\] { + padding-left:24px +} + +.pr-\[24px\] { + padding-right:24px +} + +.pt-1 { + padding-top:0.25rem +} + +.pt-14 { + padding-top:3.5rem +} + +.pt-16 { + padding-top:4rem +} + +.pt-2 { + padding-top:0.5rem +} + +.pt-3 { + padding-top:0.75rem +} + +.pt-4 { + padding-top:1rem +} + +.pt-8 { + padding-top:2rem +} + +.text-left { + text-align:left +} + +.text-center { + text-align:center +} + +.text-right { + text-align:right +} + +.-indent-\[999px\] { + text-indent:-999px +} + +.align-top { + vertical-align:top +} + +.align-middle { + vertical-align:middle +} + +.align-text-bottom { + vertical-align:text-bottom +} + +.text-2xl { + font-size:1.5rem; + line-height:2rem +} + +.text-3xl { + font-size:1.875rem; + line-height:2.25rem +} + +.text-4xl { + font-size:2.25rem; + line-height:2.5rem +} + +.text-5xl { + font-size:3rem; + line-height:1 +} + +.text-9xl { + font-size:8rem; + line-height:1 +} + +.text-\[0\.6rem\] { + font-size:0.6rem +} + +.text-base { + font-size:1rem; + line-height:1.5rem +} + +.text-lg { + font-size:1.125rem; + line-height:1.75rem +} + +.text-sm { + font-size:0.875rem; + line-height:1.25rem +} + +.text-xl { + font-size:1.25rem; + line-height:1.75rem +} + +.text-xs { + font-size:0.75rem; + line-height:1rem +} + +.font-bold { + font-weight:700 +} + +.font-extrabold { + font-weight:800 +} + +.font-light { + font-weight:300 +} + +.font-medium { + font-weight:500 +} + +.font-normal { + font-weight:400 +} + +.font-semibold { + font-weight:600 +} + +.uppercase { + text-transform:uppercase +} + +.italic { + font-style:italic +} + +.leading-3 { + line-height:.75rem +} + +.leading-6 { + line-height:1.5rem +} + +.leading-7 { + line-height:1.75rem +} + +.tracking-wide { + letter-spacing:0.025em +} + +.\!text-neutral { + --tw-text-opacity:1 !important; + color:rgba(var(--color-neutral), var(--tw-text-opacity)) !important +} + +.text-neutral-200 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-200), var(--tw-text-opacity)) +} + +.text-neutral-300 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-300), var(--tw-text-opacity)) +} + +.text-neutral-400 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +.text-neutral-50 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-50), var(--tw-text-opacity)) +} + +.text-neutral-500 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +.text-neutral-700 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +.text-neutral-800 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-800), var(--tw-text-opacity)) +} + +.text-neutral-900 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-900), var(--tw-text-opacity)) +} + +.text-primary-300 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-300), var(--tw-text-opacity)) +} + +.text-primary-400 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +.text-primary-500 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-500), var(--tw-text-opacity)) +} + +.text-primary-600 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +.text-primary-700 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-700), var(--tw-text-opacity)) +} + +.text-primary-800 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-800), var(--tw-text-opacity)) +} + +.text-transparent { + color:transparent +} + +.\!no-underline { + text-decoration-line:none !important +} + +.decoration-neutral-300 { + text-decoration-color:rgba(var(--color-neutral-300), 1) +} + +.decoration-primary-500 { + text-decoration-color:rgba(var(--color-primary-500), 1) +} + +.opacity-0 { + opacity:0 +} + +.opacity-30 { + opacity:0.3 +} + +.opacity-50 { + opacity:0.5 +} + +.opacity-60 { + opacity:0.6 +} + +.mix-blend-normal { + mix-blend-mode:normal +} + +.mix-blend-multiply { + mix-blend-mode:multiply +} + +.shadow-2xl { + --tw-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25); + --tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-lg { + --tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-xl { + --tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.backdrop-blur { + --tw-backdrop-blur:blur(8px); + -webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.backdrop-blur-2xl { + --tw-backdrop-blur:blur(40px); + -webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.backdrop-blur-sm { + --tw-backdrop-blur:blur(4px); + -webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.transition-opacity { + transition-property:opacity; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-transform { + transition-property:transform; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.duration-150 { + transition-duration:150ms +} + +.duration-\[600ms\] { + transition-duration:600ms +} + +.ease-\[cubic-bezier\(0\.25\2c 0\.1\2c 0\.25\2c 1\.0\)\] { + transition-timing-function:cubic-bezier(0.25,0.1,0.25,1.0) +} + +.ease-in-out { + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1) +} + +.\!\[clip\:rect\(0\2c 0\2c 0\2c 0\)\] { + clip:rect(0,0,0,0) !important +} + +body a, +body button { + transition-property:color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +/* Scale SVG icons to text size */ + +.icon svg { + height:1em; + width:1em +} + +/* Search */ + +#search-query::-webkit-search-cancel-button, +#search-query::-webkit-search-decoration, +#search-query::-webkit-search-results-button, +#search-query::-webkit-search-results-decoration { + display:none +} + +/* Hamburger menu */ + +body:has(#menu-controller:checked) { + overflow-y:hidden +} + +#menu-button:has(#menu-controller:checked) { + visibility:hidden +} + +#menu-controller:checked~#menu-wrapper { + visibility:visible; + opacity:1 +} + +/* RTL support */ + +:is(:where([dir="rtl"]) .prose blockquote) { + border-left-width:0px; + border-right-width:4px; + padding-right:1rem +} + +:is(:where([dir="rtl"]) .prose ul>li),:is(:where([dir="rtl"]) +.prose ol>li) { + margin-right:1.75rem; + padding-left:0px; + padding-right:0.5rem +} + +:is(:where([dir="rtl"]) .prose ol>li):before,:is(:where([dir="rtl"]) +.prose ul>li):before { + left:auto; + right:0.25rem +} + +:is(:where([dir="rtl"]) .prose thead td:first-child),:is(:where([dir="rtl"]) +.prose thead th:first-child) { + padding-right:0px +} + +:is(:where([dir="rtl"]) .prose thead td:last-child),:is(:where([dir="rtl"]) +.prose thead th:last-child) { + padding-left:0px +} + +/* Adjust first child within prose */ + +.prose div.min-w-0.max-w-prose>*:first-child { + margin-top:0.75rem +} + +/* Table of Contents */ + +.toc ul, +.toc li { + list-style-type:none; + padding-left:0px; + padding-right:0px; + line-height:1.375 +} + +:is(:where([dir="ltr"]) .toc ul ul) { + padding-left:1rem +} + +:is(:where([dir="rtl"]) .toc ul ul) { + padding-right:1rem +} + +.toc a { + font-weight:400; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +:is(:where(.dark) .toc a) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +:is(:where([dir="rtl"]) .toc ul>li) { + margin-right:0px +} + +/* Code Copy */ + +.highlight-wrapper { + display:block +} + +.highlight { + position:relative; + z-index:0 +} + +.highlight:hover>.copy-button { + visibility:visible +} + +.copy-button { + visibility:hidden; + position:absolute; + top:0px; + right:0px; + z-index:10; + width:5rem; + cursor:pointer; + white-space:nowrap; + border-bottom-left-radius:0.375rem; + border-top-right-radius:0.375rem; + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-200), var(--tw-bg-opacity)); + padding-top:0.25rem; + padding-bottom:0.25rem; + font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size:0.875rem; + line-height:1.25rem; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)); + opacity:0.9 +} + +:is(:where(.dark) .copy-button) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity)); + --tw-text-opacity:1; + color:rgba(var(--color-neutral-200), var(--tw-text-opacity)) +} + +.copy-button:hover, +.copy-button:focus, +.copy-button:active, +.copy-button:active:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .copy-button:hover),:is(:where(.dark) +.copy-button:focus),:is(:where(.dark) +.copy-button:active),:is(:where(.dark) +.copy-button:active:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity)) +} + +.copy-textarea { + position:absolute; + z-index:-10; + opacity:0.05 +} + +/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */ + +.katex-display { + overflow: auto hidden +} + +/* Fix long tables breaking out of article on mobile */ + +table { + display: block; + overflow: auto; +} + +/* Fix long inline code sections breaking out of article on mobile */ + +code { + word-wrap: break-word; + /* All browsers since IE 5.5+ */ + overflow-wrap: break-word; + /* Renamed property in CSS3 draft spec */ +} + +/* -- Chroma Highlight -- */ + +/* Background */ + +.prose .chroma { + position:static; + border-radius:0.375rem; + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-50), var(--tw-bg-opacity)); + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +:is(:where(.dark) .prose .chroma) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity)); + --tw-text-opacity:1; + color:rgba(var(--color-neutral-200), var(--tw-text-opacity)) +} + +/* LineTableTD */ + +.chroma .lntd, +.chroma .lntd pre { + margin:0px; + border-style:none; + padding:0px; + vertical-align:top +} + +/* LineTable */ + +.chroma .lntable { + display:block; + width:auto; + overflow:hidden; + padding-left:1rem; + padding-right:1rem; + padding-top:0.75rem; + padding-bottom:0.75rem; + font-size:1rem; + line-height:1.5rem; + border-spacing: 0 +} + +/* LineHighlight */ + +.chroma .hl { + margin-left:-1rem; + margin-right:-1rem; + display:block; + width:auto; + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)); + padding-left:1rem; + padding-right:1rem +} + +:is(:where(.dark) .chroma .hl) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity)) +} + +.chroma .lntd .hl { + margin:0px; + padding:0px +} + +/* LineNumbersTable */ + +/* LineNumbers */ + +.chroma .lnt, +.chroma .ln { + margin-right:0.4em; + padding-left:0.4em; + padding-right:0.4em; + padding-top:0px; + padding-bottom:0px; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-600), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .lnt),:is(:where(.dark) +.chroma .ln) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-300), var(--tw-text-opacity)) +} + +/* Keyword */ + +/* KeywordDeclaration */ + +/* KeywordNamespace */ + +/* KeywordPseudo */ + +/* KeywordReserved */ + +/* NameClass */ + +/* NameFunctionMagic */ + +/* NameNamespace */ + +/* NameVariableClass */ + +/* Operator */ + +.chroma .k, +.chroma .kd, +.chroma .kn, +.chroma .kp, +.chroma .kr, +.chroma .nc, +.chroma .fm, +.chroma .nn, +.chroma .vc, +.chroma .o { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .k),:is(:where(.dark) +.chroma .kd),:is(:where(.dark) +.chroma .kn),:is(:where(.dark) +.chroma .kp),:is(:where(.dark) +.chroma .kr),:is(:where(.dark) +.chroma .nc),:is(:where(.dark) +.chroma .fm),:is(:where(.dark) +.chroma .nn),:is(:where(.dark) +.chroma .vc),:is(:where(.dark) +.chroma .o) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-300), var(--tw-text-opacity)) +} + +/* KeywordConstant */ + +.chroma .kc { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-secondary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .kc) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-500), var(--tw-text-opacity)) +} + +/* KeywordType */ + +/* NameVariable */ + +/* NameVariableInstance */ + +/* NameVariableMagic */ + +/* LiteralNumber */ + +/* LiteralNumberBin */ + +/* LiteralNumberFloat */ + +/* LiteralNumberHex */ + +/* LiteralNumberInteger */ + +/* LiteralNumberIntegerLong */ + +/* LiteralNumberOct */ + +.chroma .kt, +.chroma .nv, +.chroma .vi, +.chroma .vm, +.chroma .m, +.chroma .mb, +.chroma .mf, +.chroma .mh, +.chroma .mi, +.chroma .il, +.chroma .mo { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .kt),:is(:where(.dark) +.chroma .nv),:is(:where(.dark) +.chroma .vi),:is(:where(.dark) +.chroma .vm),:is(:where(.dark) +.chroma .m),:is(:where(.dark) +.chroma .mb),:is(:where(.dark) +.chroma .mf),:is(:where(.dark) +.chroma .mh),:is(:where(.dark) +.chroma .mi),:is(:where(.dark) +.chroma .il),:is(:where(.dark) +.chroma .mo) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-600), var(--tw-text-opacity)) +} + +/* Name */ + +/* NameDecorator */ + +/* NameEntity */ + +/* NameLabel */ + +.chroma .n, +.chroma .nd, +.chroma .ni, +.chroma .nl { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-900), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .n),:is(:where(.dark) +.chroma .nd),:is(:where(.dark) +.chroma .ni),:is(:where(.dark) +.chroma .nl) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-200), var(--tw-text-opacity)) +} + +/* NameAttribute */ + +/* NameBuiltin */ + +/* NameBuiltinPseudo */ + +/* NameOther */ + +/* NameProperty */ + +/* NameTag */ + +.chroma .na, +.chroma .nb, +.chroma .bp, +.chroma .nx, +.chroma .py, +.chroma .nt { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .na),:is(:where(.dark) +.chroma .nb),:is(:where(.dark) +.chroma .bp),:is(:where(.dark) +.chroma .nx),:is(:where(.dark) +.chroma .py),:is(:where(.dark) +.chroma .nt) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-300), var(--tw-text-opacity)) +} + +/* NameConstant */ + +/* NameException */ + +/* NameVariableGlobal */ + +.chroma .no, +.chroma .ne, +.chroma .vg { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-secondary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .no),:is(:where(.dark) +.chroma .ne),:is(:where(.dark) +.chroma .vg) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-500), var(--tw-text-opacity)) +} + +/* NameFunction */ + +.chroma .nf { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-600), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .nf) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-500), var(--tw-text-opacity)) +} + +/* Literal */ + +/* LiteralDate */ + +/* LiteralString */ + +/* LiteralStringAffix */ + +/* LiteralStringBacktick */ + +/* LiteralStringChar */ + +/* LiteralStringDelimiter */ + +/* LiteralStringDoc */ + +/* LiteralStringDouble */ + +/* LiteralStringHeredoc */ + +/* LiteralStringInterpol */ + +/* LiteralStringOther */ + +/* LiteralStringSingle */ + +/* GenericInserted */ + +/* GenericOutput */ + +/* GenericPrompt */ + +.chroma .l, +.chroma .ld, +.chroma .s, +.chroma .sa, +.chroma .sb, +.chroma .sc, +.chroma .dl, +.chroma .sd, +.chroma .s2, +.chroma .sh, +.chroma .si, +.chroma .sx, +.chroma .s1, +.chroma .gi, +.chroma .go, +.chroma .gp { + --tw-text-opacity:1; + color:rgba(var(--color-primary-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .l),:is(:where(.dark) +.chroma .ld),:is(:where(.dark) +.chroma .s),:is(:where(.dark) +.chroma .sa),:is(:where(.dark) +.chroma .sb),:is(:where(.dark) +.chroma .sc),:is(:where(.dark) +.chroma .dl),:is(:where(.dark) +.chroma .sd),:is(:where(.dark) +.chroma .s2),:is(:where(.dark) +.chroma .sh),:is(:where(.dark) +.chroma .si),:is(:where(.dark) +.chroma .sx),:is(:where(.dark) +.chroma .s1),:is(:where(.dark) +.chroma .gi),:is(:where(.dark) +.chroma .go),:is(:where(.dark) +.chroma .gp) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +/* LiteralStringEscape */ + +.chroma .se { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-secondary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .se) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-500), var(--tw-text-opacity)) +} + +/* LiteralStringRegex */ + +/* LiteralStringSymbol */ + +.chroma .sr, +.chroma .ss { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-primary-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .sr),:is(:where(.dark) +.chroma .ss) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +/* OperatorWord */ + +.chroma .ow { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .ow) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +/* Comment */ + +/* CommentMultiline */ + +/* CommentSingle */ + +/* CommentSpecial */ + +/* CommentPreproc */ + +/* CommentPreprocFile */ + +.chroma .c, +.chroma .cm, +.chroma .c1, +.chroma .cs, +.chroma .cp, +.chroma .cpf { + font-style:italic; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .c),:is(:where(.dark) +.chroma .cm),:is(:where(.dark) +.chroma .c1),:is(:where(.dark) +.chroma .cs),:is(:where(.dark) +.chroma .cp),:is(:where(.dark) +.chroma .cpf) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +/* CommentHashbang */ + +.chroma .ch { + font-weight:600; + font-style:italic; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .ch) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +/* GenericEmph */ + +.chroma .ge { + font-style:italic +} + +/* GenericHeading */ + +.chroma .gh { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +/* GenericStrong */ + +.chroma .gs { + font-weight:600 +} + +/* GenericSubheading */ + +/* GenericTraceback */ + +.chroma .gu, +.chroma .gt { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +/* GenericUnderline */ + +.chroma .gl { + text-decoration-line:underline +} + +/* Custom */ + +pre { + text-align: left; +} + +.thumbnail { + min-width: 300px; + height: 180px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card { + height: 200px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card_related { + height: 150px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card_term { + height: 150px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.single_hero_basic { + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.single_hero_round { + max-height: 50vh; + -o-object-fit: cover; + object-fit: cover; +} + +.single_hero_background { + background-repeat:no-repeat; + background-size:cover; + background-position:center; + width: calc(100% + 40px); + z-index: -10; + margin-left: -20px; +} + +.hero_gradient { + width: 100%; + height: 100%; +} + +.thumbnailshadow { + box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3); +} + +.anchor { + display: block; + position: relative; + top: -150px; + height: 0px; + visibility: hidden; +} + +@media (min-width: 640px) { + .thumbnail { + min-width: 100%; + height: 180px; + } + + .article { + flex-wrap: wrap; + } +} + +@media (min-width: 853px) { + .thumbnail { + min-width: 300px; + min-height: 180px; + height: auto; + } + + .article { + flex-wrap: nowrap; + } +} + +.medium-zoom-image--opened { + z-index: 100; +} + +.nested-menu:hover + .menuhide { + visibility: visible; + opacity: 1; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; +} + +.menuhide:hover { + visibility: visible; + opacity: 1; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; +} + +.menuhide { + visibility: hidden; + opacity: 0; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; + z-index: 1000; +} + +.active { + text-decoration-line: underline; + text-decoration-thickness: 3px; + text-underline-offset: 4px; +} + +/* Gallery Specific Styles */ + +.grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; +} + +.grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; +} + +.grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; +} + +.grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; +} + +.grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; +} + +.grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; +} + +.grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; +} + +.grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; +} + +.grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; +} + +.grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; +} + +.grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; +} + +.grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; +} + +.grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; +} + +.grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; +} + +.grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; +} + +.grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; +} + +.grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; +} + +.grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; +} + +.grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; +} + +.grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; +} + +.grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; +} + +@media (min-width: 640px) { + .sm\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .sm\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .sm\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .sm\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .sm\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .sm\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .sm\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .sm\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .sm\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .sm\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .sm\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .sm\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .sm\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .sm\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .sm\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .sm\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .sm\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .sm\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .sm\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .sm\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .sm\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +@media (min-width: 853px) { + .md\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .md\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .md\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .md\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .md\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .md\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .md\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .md\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .md\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .md\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .md\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .md\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .md\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .md\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .md\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .md\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .md\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .md\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .md\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .md\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .md\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +@media (min-width: 1024px) { + .lg\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .lg\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .lg\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .lg\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .lg\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .lg\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .lg\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .lg\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .lg\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .lg\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .lg\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .lg\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .lg\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .lg\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .lg\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .lg\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .lg\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .lg\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .lg\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .lg\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .lg\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +@media (min-width: 1280px) { + .xl\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .xl\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .xl\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .xl\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .xl\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .xl\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .xl\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .xl\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .xl\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .xl\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .xl\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .xl\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .xl\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .xl\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .xl\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .xl\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .xl\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .xl\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .xl\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .xl\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .xl\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +@media (min-width: 1536px) { + .2xl\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +/* Carousel Specific Styles */ + +.ratio-16-9 { + padding-top: 56.25%; +} + +/* 16:9 Aspect Ratio */ + +.ratio-21-9 { + padding-top: 42.85%; +} + +/* 21:9 Aspect Ratio */ + +.ratio-32-9 { + padding-top: 28.125%; +} + +/* 32:9 Aspect Ratio */ + +@media (min-width: 640px) { + .sm\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .sm\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .sm\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +@media (min-width: 853px) { + .md\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .md\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .md\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +@media (min-width: 1024px) { + .lg\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .lg\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .lg\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +@media (min-width: 1280px) { + .xl\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .xl\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .xl\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +@media (min-width: 1536px) { + .2xl\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .2xl\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .2xl\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +:is(:where(.dark) .dark\:prose-invert) { + --tw-prose-body:var(--tw-prose-invert-body); + --tw-prose-headings:var(--tw-prose-invert-headings); + --tw-prose-lead:var(--tw-prose-invert-lead); + --tw-prose-links:var(--tw-prose-invert-links); + --tw-prose-bold:var(--tw-prose-invert-bold); + --tw-prose-counters:var(--tw-prose-invert-counters); + --tw-prose-bullets:var(--tw-prose-invert-bullets); + --tw-prose-hr:var(--tw-prose-invert-hr); + --tw-prose-quotes:var(--tw-prose-invert-quotes); + --tw-prose-quote-borders:var(--tw-prose-invert-quote-borders); + --tw-prose-captions:var(--tw-prose-invert-captions); + --tw-prose-kbd:var(--tw-prose-invert-kbd); + --tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows); + --tw-prose-code:var(--tw-prose-invert-code); + --tw-prose-pre-code:var(--tw-prose-invert-pre-code); + --tw-prose-pre-bg:var(--tw-prose-invert-pre-bg); + --tw-prose-th-borders:var(--tw-prose-invert-th-borders); + --tw-prose-td-borders:var(--tw-prose-invert-td-borders); +} + +:is(:where(.dark) .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-neutral-600), 1); +} + +:is(:where(.dark) .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover { + color:rgba(var(--color-primary-400), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:rgba(var(--color-neutral-200), 1); + background-color:rgba(var(--color-neutral-700), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color:rgba(var(--color-primary-400), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color:rgba(var(--color-neutral-700), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +.after\:clear-both::after { + content:var(--tw-content); + clear:both +} + +.after\:block::after { + content:var(--tw-content); + display:block +} + +.after\:content-\[\'\'\]::after { + --tw-content:''; + content:var(--tw-content) +} + +.first\:mt-8:first-child { + margin-top:2rem +} + +.hover\:border-transparent:hover { + border-color:transparent +} + +.hover\:\!bg-primary-500:hover { + --tw-bg-opacity:1 !important; + background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity)) !important +} + +.hover\:bg-primary-100:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) +} + +.hover\:bg-primary-500:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity)) +} + +.hover\:bg-primary-600:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity)) +} + +.hover\:text-neutral:hover { + --tw-text-opacity:1; + color:rgba(var(--color-neutral), var(--tw-text-opacity)) +} + +.hover\:text-primary-400:hover { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +.hover\:text-primary-500:hover { + --tw-text-opacity:1; + color:rgba(var(--color-primary-500), var(--tw-text-opacity)) +} + +.hover\:text-primary-600:hover { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +.hover\:text-primary-700:hover { + --tw-text-opacity:1; + color:rgba(var(--color-primary-700), var(--tw-text-opacity)) +} + +.hover\:underline:hover { + text-decoration-line:underline +} + +.hover\:no-underline:hover { + text-decoration-line:none +} + +.hover\:decoration-primary-400:hover { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +.hover\:decoration-2:hover { + text-decoration-thickness:2px +} + +.hover\:underline-offset-2:hover { + text-underline-offset:2px +} + +.hover\:opacity-90:hover { + opacity:0.9 +} + +.hover\:outline-none:hover { + outline:2px solid transparent; + outline-offset:2px +} + +.focus\:translate-y-0:focus { + --tw-translate-y:0px; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.focus\:bg-primary-100:focus { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) +} + +.focus\:no-underline:focus { + text-decoration-line:none +} + +.focus\:opacity-90:focus { + opacity:0.9 +} + +.focus\:outline-none:focus { + outline:2px solid transparent; + outline-offset:2px +} + +.focus\:outline-dotted:focus { + outline-style:dotted +} + +.focus\:outline-2:focus { + outline-width:2px +} + +.focus\:outline-transparent:focus { + outline-color:transparent +} + +.group:hover .group-hover\:text-primary-300 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-300), var(--tw-text-opacity)) +} + +.group:hover .group-hover\:text-primary-600 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +.group:hover .group-hover\:underline { + text-decoration-line:underline +} + +.group:hover .group-hover\:decoration-primary-500 { + text-decoration-color:rgba(var(--color-primary-500), 1) +} + +.group:hover .group-hover\:opacity-100 { + opacity:1 +} + +@media (prefers-reduced-motion: reduce) { + .motion-reduce\:transition-none { + transition-property:none + } +} + +@media print { + .print\:hidden { + display:none + } +} + +@media (min-width: 640px) { + .sm\:mb-0 { + margin-bottom:0px + } + + .sm\:ms-4 { + margin-inline-start:1rem + } + + .sm\:mt-16 { + margin-top:4rem + } + + .sm\:block { + display:block + } + + .sm\:w-1\/2 { + width:50% + } + + .sm\:max-w-xl { + max-width:36rem + } + + .sm\:grid-cols-2 { + grid-template-columns:repeat(2, minmax(0, 1fr)) + } + + .sm\:flex-row { + flex-direction:row + } + + .sm\:overflow-hidden { + overflow:hidden + } + + .sm\:p-6 { + padding:1.5rem + } + + .sm\:px-14 { + padding-left:3.5rem; + padding-right:3.5rem + } + + .sm\:px-6 { + padding-left:1.5rem; + padding-right:1.5rem + } + + .sm\:py-24 { + padding-top:6rem; + padding-bottom:6rem + } + + .sm\:text-3xl { + font-size:1.875rem; + line-height:2.25rem + } + + .sm\:text-5xl { + font-size:3rem; + line-height:1 + } + + .sm\:text-lg { + font-size:1.125rem; + line-height:1.75rem + } + + .sm\:text-xl\/relaxed { + font-size:1.25rem; + line-height:1.625 + } +} + +@media (min-width: 853px) { + .md\:-mr-16 { + margin-right:-4rem + } + + .md\:ml-12 { + margin-left:3rem + } + + .md\:mr-7 { + margin-right:1.75rem + } + + .md\:mt-0 { + margin-top:0px + } + + .md\:flex { + display:flex + } + + .md\:hidden { + display:none + } + + .md\:h-56 { + height:14rem + } + + .md\:h-\[200px\] { + height:200px + } + + .md\:w-1\/3 { + width:33.333333% + } + + .md\:w-auto { + width:auto + } + + .md\:max-w-full { + max-width:100% + } + + .md\:grid-cols-3 { + grid-template-columns:repeat(3, minmax(0, 1fr)) + } + + .md\:justify-start { + justify-content:flex-start + } + + .md\:gap-12 { + gap:3rem + } + + .md\:p-\[10vh\] { + padding:10vh + } + + .md\:px-24 { + padding-left:6rem; + padding-right:6rem + } + + .md\:text-\[1\.3rem\] { + font-size:1.3rem + } +} + +@media (min-width: 1024px) { + .lg\:absolute { + position:absolute + } + + .lg\:relative { + position:relative + } + + .lg\:sticky { + position:sticky + } + + .lg\:left-0 { + left:0px + } + + .lg\:top-10 { + top:2.5rem + } + + .lg\:top-\[140px\] { + top:140px + } + + .lg\:order-last { + order:9999 + } + + .lg\:col-start-1 { + grid-column-start:1 + } + + .lg\:col-start-2 { + grid-column-start:2 + } + + .lg\:col-end-2 { + grid-column-end:2 + } + + .lg\:row-start-1 { + grid-row-start:1 + } + + .lg\:m-0 { + margin:0px + } + + .lg\:mx-0 { + margin-left:0px; + margin-right:0px + } + + .lg\:mx-auto { + margin-left:auto; + margin-right:auto + } + + .lg\:mb-14 { + margin-bottom:3.5rem + } + + .lg\:ml-auto { + margin-left:auto + } + + .lg\:mt-0 { + margin-top:0px + } + + .lg\:block { + display:block + } + + .lg\:flex { + display:flex + } + + .lg\:grid { + display:grid + } + + .lg\:hidden { + display:none + } + + .lg\:h-72 { + height:18rem + } + + .lg\:h-full { + height:100% + } + + .lg\:w-1\/4 { + width:25% + } + + .lg\:w-2\/5 { + width:40% + } + + .lg\:w-auto { + width:auto + } + + .lg\:max-w-7xl { + max-width:80rem + } + + .lg\:max-w-none { + max-width:none + } + + .lg\:max-w-screen-xl { + max-width:1280px + } + + .lg\:max-w-xs { + max-width:20rem + } + + .lg\:flex-1 { + flex:1 1 0% + } + + .lg\:grid-flow-col-dense { + grid-auto-flow:column dense + } + + .lg\:grid-cols-2 { + grid-template-columns:repeat(2, minmax(0, 1fr)) + } + + .lg\:grid-cols-3 { + grid-template-columns:repeat(3, minmax(0, 1fr)) + } + + .lg\:grid-cols-4 { + grid-template-columns:repeat(4, minmax(0, 1fr)) + } + + .lg\:flex-row { + flex-direction:row + } + + .lg\:items-center { + align-items:center + } + + .lg\:gap-24 { + gap:6rem + } + + .lg\:gap-8 { + gap:2rem + } + + .lg\:p-\[12vh\] { + padding:12vh + } + + .lg\:px-0 { + padding-left:0px; + padding-right:0px + } + + .lg\:px-32 { + padding-left:8rem; + padding-right:8rem + } + + .lg\:px-8 { + padding-left:2rem; + padding-right:2rem + } + + .lg\:py-14 { + padding-top:3.5rem; + padding-bottom:3.5rem + } + + .lg\:py-16 { + padding-top:4rem; + padding-bottom:4rem + } + + .lg\:py-20 { + padding-top:5rem; + padding-bottom:5rem + } + + .lg\:py-32 { + padding-top:8rem; + padding-bottom:8rem + } + + .lg\:py-6 { + padding-top:1.5rem; + padding-bottom:1.5rem + } + + .lg\:pr-16 { + padding-right:4rem + } +} + +@media (min-width: 1280px) { + .xl\:w-1\/4 { + width:25% + } + + .xl\:grid-cols-4 { + grid-template-columns:repeat(4, minmax(0, 1fr)) + } +} + +@media (min-width: 1536px) { + .\32xl\:grid-cols-5 { + grid-template-columns:repeat(5, minmax(0, 1fr)) + } +} + +:is(:where([dir="ltr"]) .ltr\:-left-6) { + left:-1.5rem +} + +:is(:where([dir="ltr"]) .ltr\:right-0) { + right:0px +} + +:is(:where([dir="ltr"]) .ltr\:-ml-5) { + margin-left:-1.25rem +} + +:is(:where([dir="ltr"]) .ltr\:ml-2) { + margin-left:0.5rem +} + +:is(:where([dir="ltr"]) .ltr\:mr-14) { + margin-right:3.5rem +} + +:is(:where([dir="ltr"]) .ltr\:mr-4) { + margin-right:1rem +} + +:is(:where([dir="ltr"]) .ltr\:block) { + display:block +} + +:is(:where([dir="ltr"]) .ltr\:inline) { + display:inline +} + +:is(:where([dir="ltr"]) .ltr\:hidden) { + display:none +} + +:is(:where([dir="ltr"]) .ltr\:border-l) { + border-left-width:1px +} + +:is(:where([dir="ltr"]) .ltr\:pl-5) { + padding-left:1.25rem +} + +:is(:where([dir="ltr"]) .ltr\:pr-2) { + padding-right:0.5rem +} + +:is(:where([dir="ltr"]) .ltr\:pr-3) { + padding-right:0.75rem +} + +:is(:where([dir="ltr"]) .ltr\:text-right) { + text-align:right +} + +@media (min-width: 640px) { + :is(:where([dir="ltr"]) .ltr\:sm\:mr-7) { + margin-right:1.75rem + } + + :is(:where([dir="ltr"]) .ltr\:sm\:last\:mr-0:last-child) { + margin-right:0px + } +} + +@media (min-width: 1024px) { + :is(:where([dir="ltr"]) .ltr\:lg\:pl-8) { + padding-left:2rem + } +} + +:is(:where([dir="rtl"]) .rtl\:-right-6) { + right:-1.5rem +} + +:is(:where([dir="rtl"]) .rtl\:left-0) { + left:0px +} + +:is(:where([dir="rtl"]) .rtl\:-mr-5) { + margin-right:-1.25rem +} + +:is(:where([dir="rtl"]) .rtl\:ml-14) { + margin-left:3.5rem +} + +:is(:where([dir="rtl"]) .rtl\:ml-4) { + margin-left:1rem +} + +:is(:where([dir="rtl"]) .rtl\:mr-2) { + margin-right:0.5rem +} + +:is(:where([dir="rtl"]) .rtl\:block) { + display:block +} + +:is(:where([dir="rtl"]) .rtl\:inline) { + display:inline +} + +:is(:where([dir="rtl"]) .rtl\:hidden) { + display:none +} + +:is(:where([dir="rtl"]) .rtl\:rotate-180) { + --tw-rotate:180deg; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +:is(:where([dir="rtl"]) .rtl\:border-r) { + border-right-width:1px +} + +:is(:where([dir="rtl"]) .rtl\:pl-2) { + padding-left:0.5rem +} + +:is(:where([dir="rtl"]) .rtl\:pl-3) { + padding-left:0.75rem +} + +:is(:where([dir="rtl"]) .rtl\:pr-5) { + padding-right:1.25rem +} + +:is(:where([dir="rtl"]) .rtl\:text-left) { + text-align:left +} + +@media (min-width: 640px) { + :is(:where([dir="rtl"]) .rtl\:sm\:ml-7) { + margin-left:1.75rem + } + + :is(:where([dir="rtl"]) .rtl\:sm\:last\:ml-0:last-child) { + margin-left:0px + } +} + +@media (min-width: 1024px) { + :is(:where([dir="rtl"]) .rtl\:lg\:pr-8) { + padding-right:2rem + } +} + +:is(:where(.dark) .dark\:flex) { + display:flex +} + +:is(:where(.dark) .dark\:hidden) { + display:none +} + +:is(:where(.dark) .dark\:border-neutral-600) { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-600), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-neutral-700) { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-700), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-primary-300) { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-300), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-primary-600) { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-600), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-400) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-400), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-600) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-700) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-800) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-800), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-800\/50) { + background-color:rgba(var(--color-neutral-800), 0.5) +} + +:is(:where(.dark) .dark\:bg-neutral-900\/50) { + background-color:rgba(var(--color-neutral-900), 0.5) +} + +:is(:where(.dark) .dark\:bg-primary-200) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-200), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-primary-300) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-300), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-primary-400) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-400), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-primary-800) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-800), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-primary-900) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:from-neutral-800) { + --tw-gradient-from:rgba(var(--color-neutral-800), 1) var(--tw-gradient-from-position); + --tw-gradient-to:rgba(var(--color-neutral-800), 0) var(--tw-gradient-to-position); + --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to) +} + +:is(:where(.dark) .dark\:from-primary-600) { + --tw-gradient-from:rgba(var(--color-primary-600), 1) var(--tw-gradient-from-position); + --tw-gradient-to:rgba(var(--color-primary-600), 0) var(--tw-gradient-to-position); + --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to) +} + +:is(:where(.dark) .dark\:to-neutral-800) { + --tw-gradient-to:rgba(var(--color-neutral-800), 1) var(--tw-gradient-to-position) +} + +:is(:where(.dark) .dark\:to-secondary-800) { + --tw-gradient-to:rgba(var(--color-secondary-800), 1) var(--tw-gradient-to-position) +} + +:is(:where(.dark) .dark\:text-neutral) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-100) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-100), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-200) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-200), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-300) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-300), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-400) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-500) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-700) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-800) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-primary-200) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-200), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-primary-400) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:opacity-60) { + opacity:0.6 +} + +:is(:where(.dark) .dark\:hover\:\!bg-primary-700:hover) { + --tw-bg-opacity:1 !important; + background-color:rgba(var(--color-primary-700), var(--tw-bg-opacity)) !important +} + +:is(:where(.dark) .dark\:hover\:bg-primary-400:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-400), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:hover\:bg-primary-900:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:hover\:text-neutral-800:hover) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:hover\:text-primary-400:hover) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:focus\:bg-primary-900:focus) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .group:hover .dark\:group-hover\:text-neutral-700) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +:is(:where(.dark) .group:hover .dark\:group-hover\:text-primary-400) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} \ No newline at end of file diff --git a/assets/css/components/zen-mode.css b/assets/css/components/zen-mode.css new file mode 100644 index 0000000..bf0c31c --- /dev/null +++ b/assets/css/components/zen-mode.css @@ -0,0 +1,16 @@ +#zen-mode-button { + cursor:pointer +} + +.zen-mode { + position: relative; +} + +body.zen-mode-enable { + #bmc-wbtn, .author { + display:none !important; + } +} + + + diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..ef96540 --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,659 @@ +/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */ + +@import 'components/zen-mode.css'; + +@tailwind base; +@tailwind components; +@tailwind utilities; + +body a, +body button { + @apply transition-colors; +} + +/* Scale SVG icons to text size */ +.icon svg { + @apply h-[1em] w-[1em]; +} + +/* Search */ +#search-query::-webkit-search-cancel-button, +#search-query::-webkit-search-decoration, +#search-query::-webkit-search-results-button, +#search-query::-webkit-search-results-decoration { + @apply hidden; +} + +/* Hamburger menu */ +body:has(#menu-controller:checked) { + @apply overflow-y-hidden; +} + +#menu-button:has(#menu-controller:checked) { + @apply invisible; +} + +#menu-controller:checked~#menu-wrapper { + @apply visible opacity-100; +} + +/* RTL support */ +.prose blockquote { + @apply rtl:pr-4 rtl:border-l-0 rtl:border-r-4; +} + +.prose ul>li, +.prose ol>li { + @apply rtl:pl-0 rtl:pr-2 rtl:mr-7; +} + +.prose ol>li:before, +.prose ul>li:before { + @apply rtl:left-auto rtl:right-1; +} + +.prose thead td:first-child, +.prose thead th:first-child { + @apply rtl:pr-0; +} + +.prose thead td:last-child, +.prose thead th:last-child { + @apply rtl:pl-0; +} + +/* Adjust first child within prose */ +.prose div.min-w-0.max-w-prose>*:first-child { + @apply mt-3; +} + +/* Table of Contents */ +.toc ul, +.toc li { + @apply px-0 leading-snug list-none; +} + +.toc ul ul { + @apply ltr:pl-4 rtl:pr-4; +} + +.toc a { + @apply font-normal text-neutral-700 dark:text-neutral-400; +} + +.toc ul>li { + @apply rtl:mr-0; +} + +/* Code Copy */ +.highlight-wrapper { + @apply block; +} + +.highlight { + @apply relative z-0; +} + +.highlight:hover>.copy-button { + @apply visible; +} + +.copy-button { + @apply absolute top-0 right-0 z-10 invisible w-20 py-1 font-mono text-sm cursor-pointer opacity-90 bg-neutral-200 whitespace-nowrap rounded-bl-md rounded-tr-md text-neutral-700 dark:bg-neutral-600 dark:text-neutral-200; +} + +.copy-button:hover, +.copy-button:focus, +.copy-button:active, +.copy-button:active:hover { + @apply bg-primary-100 dark:bg-primary-600; +} + +.copy-textarea { + @apply absolute opacity-5 -z-10; +} + +/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */ +.katex-display { overflow: auto hidden } + +/* Fix long tables breaking out of article on mobile */ +table { + display: block; + overflow: auto; +} + +/* Fix long inline code sections breaking out of article on mobile */ +code { + word-wrap: break-word; /* All browsers since IE 5.5+ */ + overflow-wrap: break-word; /* Renamed property in CSS3 draft spec */ +} + +/* -- Chroma Highlight -- */ +/* Background */ +.prose .chroma { + @apply static rounded-md text-neutral-700 bg-neutral-50 dark:bg-neutral-700 dark:text-neutral-200; +} + +/* LineTableTD */ +.chroma .lntd, +.chroma .lntd pre { + @apply p-0 m-0 align-top border-none; +} + +/* LineTable */ +.chroma .lntable { + @apply block w-auto px-4 py-3 overflow-hidden text-base; + border-spacing: 0; +} + +/* LineHighlight */ +.chroma .hl { + @apply block w-auto px-4 -mx-4 bg-primary-100 dark:bg-primary-900; +} + +.chroma .lntd .hl { + @apply p-0 m-0; +} + +/* LineNumbersTable */ +/* LineNumbers */ +.chroma .lnt, +.chroma .ln { + @apply text-neutral-600 dark:text-neutral-300 mr-[0.4em] px-[0.4em] py-0; +} + +/* Keyword */ +/* KeywordDeclaration */ +/* KeywordNamespace */ +/* KeywordPseudo */ +/* KeywordReserved */ +/* NameClass */ +/* NameFunctionMagic */ +/* NameNamespace */ +/* NameVariableClass */ +/* Operator */ +.chroma .k, +.chroma .kd, +.chroma .kn, +.chroma .kp, +.chroma .kr, +.chroma .nc, +.chroma .fm, +.chroma .nn, +.chroma .vc, +.chroma .o { + @apply text-primary-600 dark:text-primary-300; +} + +/* KeywordConstant */ +.chroma .kc { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} + +/* KeywordType */ +/* NameVariable */ +/* NameVariableInstance */ +/* NameVariableMagic */ +/* LiteralNumber */ +/* LiteralNumberBin */ +/* LiteralNumberFloat */ +/* LiteralNumberHex */ +/* LiteralNumberInteger */ +/* LiteralNumberIntegerLong */ +/* LiteralNumberOct */ +.chroma .kt, +.chroma .nv, +.chroma .vi, +.chroma .vm, +.chroma .m, +.chroma .mb, +.chroma .mf, +.chroma .mh, +.chroma .mi, +.chroma .il, +.chroma .mo { + @apply text-secondary-400 dark:text-secondary-600; +} + +/* Name */ +/* NameDecorator */ +/* NameEntity */ +/* NameLabel */ +.chroma .n, +.chroma .nd, +.chroma .ni, +.chroma .nl { + @apply text-secondary-900 dark:text-secondary-200; +} + +/* NameAttribute */ +/* NameBuiltin */ +/* NameBuiltinPseudo */ +/* NameOther */ +/* NameProperty */ +/* NameTag */ +.chroma .na, +.chroma .nb, +.chroma .bp, +.chroma .nx, +.chroma .py, +.chroma .nt { + @apply text-secondary-800 dark:text-secondary-300; +} + +/* NameConstant */ +/* NameException */ +/* NameVariableGlobal */ +.chroma .no, +.chroma .ne, +.chroma .vg { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} + +/* NameFunction */ +.chroma .nf { + @apply text-secondary-600 dark:text-secondary-500; +} + +/* Literal */ +/* LiteralDate */ +/* LiteralString */ +/* LiteralStringAffix */ +/* LiteralStringBacktick */ +/* LiteralStringChar */ +/* LiteralStringDelimiter */ +/* LiteralStringDoc */ +/* LiteralStringDouble */ +/* LiteralStringHeredoc */ +/* LiteralStringInterpol */ +/* LiteralStringOther */ +/* LiteralStringSingle */ +/* GenericInserted */ +/* GenericOutput */ +/* GenericPrompt */ +.chroma .l, +.chroma .ld, +.chroma .s, +.chroma .sa, +.chroma .sb, +.chroma .sc, +.chroma .dl, +.chroma .sd, +.chroma .s2, +.chroma .sh, +.chroma .si, +.chroma .sx, +.chroma .s1, +.chroma .gi, +.chroma .go, +.chroma .gp { + @apply text-primary-800 dark:text-primary-400; +} + +/* LiteralStringEscape */ +.chroma .se { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} + +/* LiteralStringRegex */ +/* LiteralStringSymbol */ +.chroma .sr, +.chroma .ss { + @apply font-semibold text-primary-800 dark:text-primary-400; +} + +/* OperatorWord */ +.chroma .ow { + @apply font-semibold text-primary-400 dark:text-primary-600; +} + +/* Comment */ +/* CommentMultiline */ +/* CommentSingle */ +/* CommentSpecial */ +/* CommentPreproc */ +/* CommentPreprocFile */ +.chroma .c, +.chroma .cm, +.chroma .c1, +.chroma .cs, +.chroma .cp, +.chroma .cpf { + @apply italic text-neutral-500 dark:text-neutral-400; +} + +/* CommentHashbang */ +.chroma .ch { + @apply italic font-semibold text-neutral-500 dark:text-neutral-400; +} + +/* GenericEmph */ +.chroma .ge { + @apply italic; +} + +/* GenericHeading */ +.chroma .gh { + @apply font-semibold text-neutral-500; +} + +/* GenericStrong */ +.chroma .gs { + @apply font-semibold; +} + +/* GenericSubheading */ +/* GenericTraceback */ +.chroma .gu, +.chroma .gt { + @apply text-neutral-500; +} + +/* GenericUnderline */ +.chroma .gl { + @apply underline; +} + +/* Custom */ + +pre { + text-align: left; +} + +.thumbnail { + min-width: 300px; + height: 180px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card { + height: 200px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card_related { + height: 150px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card_term { + height: 150px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.single_hero_basic { + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.single_hero_round { + max-height: 50vh; + object-fit: cover; +} + +.single_hero_background { + background-repeat:no-repeat; + background-size:cover; + background-position:center; + width: calc(100% + 40px); + z-index: -10; + margin-left: -20px; +} + +.hero_gradient { + width: 100%; + height: 100%; +} + +.thumbnailshadow { + box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3); +} + +.anchor { + display: block; + position: relative; + top: -150px; + height: 0px; + visibility: hidden; +} + +@screen sm { + .thumbnail { + min-width: 100%; + height: 180px; + } + .article { + flex-wrap: wrap; + } +} + +@screen md { + .thumbnail { + min-width: 300px; + min-height: 180px; + height: auto; + } + .article { + flex-wrap: nowrap; + } +} + +.medium-zoom-image--opened { + z-index: 100; +} + +.nested-menu:hover + .menuhide { + visibility: visible; + opacity: 1; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; +} + +.menuhide:hover { + visibility: visible; + opacity: 1; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; +} + +.menuhide { + visibility: hidden; + opacity: 0; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; + z-index: 1000; +} + +.active { + text-decoration-line: underline; + text-decoration-thickness: 3px; + text-underline-offset: 4px; +} + +.text-9xl { + font-size: 9rem; +} + +/* Gallery Specific Styles */ +.grid-w10 { width: calc(10% - 5px); margin: 0px !important; } +.grid-w15 { width: calc(15% - 5px); margin: 0px !important; } +.grid-w20 { width: calc(20% - 5px); margin: 0px !important; } +.grid-w25 { width: calc(25% - 5px); margin: 0px !important; } +.grid-w30 { width: calc(30% - 5px); margin: 0px !important; } +.grid-w33 { width: calc(33% - 5px); margin: 0px !important; } +.grid-w35 { width: calc(35% - 5px); margin: 0px !important; } +.grid-w40 { width: calc(40% - 5px); margin: 0px !important; } +.grid-w45 { width: calc(45% - 5px); margin: 0px !important; } +.grid-w50 { width: calc(50% - 5px); margin: 0px !important; } +.grid-w55 { width: calc(55% - 5px); margin: 0px !important; } +.grid-w60 { width: calc(60% - 5px); margin: 0px !important; } +.grid-w65 { width: calc(65% - 5px); margin: 0px !important; } +.grid-w66 { width: calc(66% - 5px); margin: 0px !important; } +.grid-w70 { width: calc(70% - 5px); margin: 0px !important; } +.grid-w75 { width: calc(75% - 5px); margin: 0px !important; } +.grid-w80 { width: calc(80% - 5px); margin: 0px !important; } +.grid-w85 { width: calc(85% - 5px); margin: 0px !important; } +.grid-w90 { width: calc(90% - 5px); margin: 0px !important; } +.grid-w95 { width: calc(95% - 5px); margin: 0px !important; } +.grid-w100 { width: calc(100% - 5px); margin: 0px !important; } + +@screen sm { + .sm\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .sm\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .sm\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .sm\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .sm\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .sm\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .sm\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .sm\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .sm\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .sm\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .sm\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .sm\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .sm\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .sm\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .sm\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .sm\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .sm\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .sm\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .sm\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .sm\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .sm\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +@screen md { + .md\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .md\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .md\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .md\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .md\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .md\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .md\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .md\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .md\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .md\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .md\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .md\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .md\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .md\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .md\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .md\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .md\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .md\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .md\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .md\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .md\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +@screen lg { + .lg\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .lg\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .lg\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .lg\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .lg\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .lg\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .lg\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .lg\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .lg\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .lg\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .lg\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .lg\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .lg\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .lg\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .lg\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .lg\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .lg\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .lg\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .lg\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .lg\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .lg\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +@screen xl { + .xl\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .xl\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .xl\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .xl\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .xl\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .xl\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .xl\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .xl\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .xl\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .xl\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .xl\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .xl\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .xl\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .xl\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .xl\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .xl\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .xl\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .xl\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .xl\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .xl\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .xl\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +@screen 2xl { + .2xl\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .2xl\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .2xl\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .2xl\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .2xl\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .2xl\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .2xl\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .2xl\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .2xl\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .2xl\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .2xl\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .2xl\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .2xl\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .2xl\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .2xl\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .2xl\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .2xl\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .2xl\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .2xl\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .2xl\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .2xl\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +/* Carousel Specific Styles */ +.ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ +.ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ +.ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ + +@screen sm { + .sm\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .sm\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .sm\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} + +@screen md { + .md\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .md\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .md\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} + +@screen lg { + .lg\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .lg\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .lg\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} + +@screen xl { + .xl\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .xl\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .xl\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} + +@screen 2xl { + .2xl\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .2xl\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .2xl\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} \ No newline at end of file diff --git a/assets/css/schemes/autumn.css b/assets/css/schemes/autumn.css new file mode 100644 index 0000000..7f88604 --- /dev/null +++ b/assets/css/schemes/autumn.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 214,251,252; +--color-neutral-200: 142,245,247; +--color-neutral-300: 70,239,243; +--color-neutral-400: 15,217,222; +--color-neutral-500: 10,147,150; +--color-neutral-600: 7,110,112; +--color-neutral-700: 5,72,74; +--color-neutral-800: 2,35,35; +--color-neutral-900: 0,0,0; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 255,240,212; +--color-primary-300: 255,213,136; +--color-primary-400: 255,187,59; +--color-primary-500: 238,155,0; +--color-primary-600: 197,128,0; +--color-primary-700: 156,102,0; +--color-primary-800: 116,75,0; +--color-primary-900: 75,49,0; +--color-secondary-50: 255,255,255; +--color-secondary-100: 255,246,241; +--color-secondary-200: 254,194,166; +--color-secondary-300: 252,142,91; +--color-secondary-400: 251,91,15; +--color-secondary-500: 187,62,3; +--color-secondary-600: 147,49,2; +--color-secondary-700: 107,35,2; +--color-secondary-800: 67,22,1; +--color-secondary-900: 26,9,0; +} \ No newline at end of file diff --git a/assets/css/schemes/avocado.css b/assets/css/schemes/avocado.css new file mode 100644 index 0000000..911e895 --- /dev/null +++ b/assets/css/schemes/avocado.css @@ -0,0 +1,37 @@ +/* Avocado scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Stone */ + --color-neutral-50: 250, 250, 249; + --color-neutral-100: 245, 245, 244; + --color-neutral-200: 231, 229, 228; + --color-neutral-300: 214, 211, 209; + --color-neutral-400: 168, 162, 158; + --color-neutral-500: 120, 113, 108; + --color-neutral-600: 87, 83, 78; + --color-neutral-700: 68, 64, 60; + --color-neutral-800: 41, 37, 36; + --color-neutral-900: 28, 25, 23; + /* Lime */ + --color-primary-50: 247, 254, 231; + --color-primary-100: 236, 252, 203; + --color-primary-200: 217, 249, 157; + --color-primary-300: 190, 242, 100; + --color-primary-400: 163, 230, 53; + --color-primary-500: 132, 204, 22; + --color-primary-600: 101, 163, 13; + --color-primary-700: 77, 124, 15; + --color-primary-800: 63, 98, 18; + --color-primary-900: 54, 83, 20; + /* Emerald */ + --color-secondary-50: 236, 253, 245; + --color-secondary-100: 209, 250, 229; + --color-secondary-200: 167, 243, 208; + --color-secondary-300: 110, 231, 183; + --color-secondary-400: 52, 211, 153; + --color-secondary-500: 16, 185, 129; + --color-secondary-600: 5, 150, 105; + --color-secondary-700: 4, 120, 87; + --color-secondary-800: 6, 95, 70; + --color-secondary-900: 6, 78, 59; +} diff --git a/assets/css/schemes/bloody.css b/assets/css/schemes/bloody.css new file mode 100644 index 0000000..5d0de8a --- /dev/null +++ b/assets/css/schemes/bloody.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 254,197,207; +--color-neutral-200: 253,121,144; +--color-neutral-300: 251,46,82; +--color-neutral-400: 217,4,41; +--color-neutral-500: 177,3,33; +--color-neutral-600: 137,3,26; +--color-neutral-700: 97,2,18; +--color-neutral-800: 57,1,11; +--color-neutral-900: 17,0,3; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 230,233,238; +--color-primary-300: 186,193,206; +--color-primary-400: 141,153,174; +--color-primary-500: 117,132,157; +--color-primary-600: 97,111,136; +--color-primary-700: 80,92,113; +--color-primary-800: 63,72,89; +--color-primary-900: 46,53,65; +--color-secondary-50: 255,255,255; +--color-secondary-100: 217,230,238; +--color-secondary-200: 164,195,215; +--color-secondary-300: 111,160,192; +--color-secondary-400: 69,123,157; +--color-secondary-500: 57,101,129; +--color-secondary-600: 44,79,100; +--color-secondary-700: 32,56,72; +--color-secondary-800: 19,34,44; +--color-secondary-900: 7,12,15; +} \ No newline at end of file diff --git a/assets/css/schemes/blowfish.css b/assets/css/schemes/blowfish.css new file mode 100644 index 0000000..e5dc5aa --- /dev/null +++ b/assets/css/schemes/blowfish.css @@ -0,0 +1,37 @@ +/* Blowfish scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 248, 250, 252; + --color-neutral-100: 241, 245, 249; + --color-neutral-200: 226, 232, 240; + --color-neutral-300: 203, 213, 225; + --color-neutral-400: 148, 163, 184; + --color-neutral-500: 100, 116, 139; + --color-neutral-600: 71, 85, 105; + --color-neutral-700: 51, 65, 85; + --color-neutral-800: 30, 41, 59; + --color-neutral-900: 15, 23, 42; + /* Blue */ + --color-primary-50: 239, 246, 255; + --color-primary-100: 219, 234, 254; + --color-primary-200: 191, 219, 254; + --color-primary-300: 147, 197, 253; + --color-primary-400: 96, 165, 250; + --color-primary-500: 59, 130, 246; + --color-primary-600: 37, 99, 235; + --color-primary-700: 29, 78, 216; + --color-primary-800: 30, 64, 175; + --color-primary-900: 30, 58, 138; + /* Cyan */ + --color-secondary-50: 236, 254, 255; + --color-secondary-100: 207, 250, 254; + --color-secondary-200: 165, 243, 252; + --color-secondary-300: 103, 232, 249; + --color-secondary-400: 34, 211, 238; + --color-secondary-500: 6, 182, 212; + --color-secondary-600: 8, 145, 178; + --color-secondary-700: 14, 116, 144; + --color-secondary-800: 21, 94, 117; + --color-secondary-900: 22, 78, 99; +} diff --git a/assets/css/schemes/congo.css b/assets/css/schemes/congo.css new file mode 100644 index 0000000..c98055e --- /dev/null +++ b/assets/css/schemes/congo.css @@ -0,0 +1,37 @@ +/* Blowfish scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 250, 250, 250; + --color-neutral-100: 244, 244, 245; + --color-neutral-200: 228, 228, 231; + --color-neutral-300: 212, 212, 216; + --color-neutral-400: 161, 161, 170; + --color-neutral-500: 113, 113, 122; + --color-neutral-600: 82, 82, 91; + --color-neutral-700: 63, 63, 70; + --color-neutral-800: 39, 39, 42; + --color-neutral-900: 24, 24, 27; + /* Violet */ + --color-primary-50: 245, 243, 255; + --color-primary-100: 237, 233, 254; + --color-primary-200: 221, 214, 254; + --color-primary-300: 196, 181, 253; + --color-primary-400: 167, 139, 250; + --color-primary-500: 139, 92, 246; + --color-primary-600: 124, 58, 237; + --color-primary-700: 109, 40, 217; + --color-primary-800: 91, 33, 182; + --color-primary-900: 76, 29, 149; + /* Fuchsia */ + --color-secondary-50: 253, 244, 255; + --color-secondary-100: 250, 232, 255; + --color-secondary-200: 245, 208, 254; + --color-secondary-300: 240, 171, 252; + --color-secondary-400: 232, 121, 249; + --color-secondary-500: 217, 70, 239; + --color-secondary-600: 192, 38, 211; + --color-secondary-700: 162, 28, 175; + --color-secondary-800: 134, 25, 143; + --color-secondary-900: 112, 26, 117; +} diff --git a/assets/css/schemes/fire.css b/assets/css/schemes/fire.css new file mode 100644 index 0000000..ed69d5c --- /dev/null +++ b/assets/css/schemes/fire.css @@ -0,0 +1,37 @@ +/* Fire scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Stone */ + --color-neutral-50: 250, 250, 249; + --color-neutral-100: 245, 245, 244; + --color-neutral-200: 231, 229, 228; + --color-neutral-300: 214, 211, 209; + --color-neutral-400: 168, 162, 158; + --color-neutral-500: 120, 113, 108; + --color-neutral-600: 87, 83, 78; + --color-neutral-700: 68, 64, 60; + --color-neutral-800: 41, 37, 36; + --color-neutral-900: 28, 25, 23; + /* Orange */ + --color-primary-50: 255, 247, 237; + --color-primary-100: 255, 237, 213; + --color-primary-200: 254, 215, 170; + --color-primary-300: 253, 186, 116; + --color-primary-400: 251, 146, 60; + --color-primary-500: 249, 115, 22; + --color-primary-600: 234, 88, 12; + --color-primary-700: 194, 65, 12; + --color-primary-800: 154, 52, 18; + --color-primary-900: 124, 45, 18; + /* Rose */ + --color-secondary-50: 255, 241, 242; + --color-secondary-100: 255, 228, 230; + --color-secondary-200: 254, 205, 211; + --color-secondary-300: 253, 164, 175; + --color-secondary-400: 251, 113, 133; + --color-secondary-500: 244, 63, 94; + --color-secondary-600: 225, 29, 72; + --color-secondary-700: 190, 18, 60; + --color-secondary-800: 159, 18, 57; + --color-secondary-900: 136, 19, 55; +} diff --git a/assets/css/schemes/forest.css b/assets/css/schemes/forest.css new file mode 100644 index 0000000..784895f --- /dev/null +++ b/assets/css/schemes/forest.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 232,238,237; +--color-neutral-200: 188,206,203; +--color-neutral-300: 143,174,170; +--color-neutral-400: 101,140,134; +--color-neutral-500: 84,116,111; +--color-neutral-600: 67,93,89; +--color-neutral-700: 50,69,66; +--color-neutral-800: 33,45,43; +--color-neutral-900: 16,21,21; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 205,252,247; +--color-primary-300: 132,249,235; +--color-primary-400: 59,245,223; +--color-primary-500: 20,243,217; +--color-primary-600: 11,212,188; +--color-primary-700: 9,173,153; +--color-primary-800: 7,134,119; +--color-primary-900: 5,95,84; +--color-secondary-50: 255,255,255; +--color-secondary-100: 194,253,219; +--color-secondary-200: 120,251,175; +--color-secondary-300: 45,249,130; +--color-secondary-400: 6,212,92; +--color-secondary-500: 5,172,75; +--color-secondary-600: 4,133,58; +--color-secondary-700: 3,93,40; +--color-secondary-800: 2,53,23; +--color-secondary-900: 0,14,6; +} \ No newline at end of file diff --git a/assets/css/schemes/marvel.css b/assets/css/schemes/marvel.css new file mode 100644 index 0000000..b6ec5a8 --- /dev/null +++ b/assets/css/schemes/marvel.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 255,255,255; +--color-neutral-200: 201,209,244; +--color-neutral-300: 137,156,231; +--color-neutral-400: 74,103,217; +--color-neutral-500: 37,65,178; +--color-neutral-600: 30,53,144; +--color-neutral-700: 23,40,110; +--color-neutral-800: 16,28,77; +--color-neutral-900: 9,16,43; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 252,211,226; +--color-primary-300: 246,140,178; +--color-primary-400: 240,69,131; +--color-primary-500: 216,17,89; +--color-primary-600: 178,14,73; +--color-primary-700: 140,11,58; +--color-primary-800: 103,8,42; +--color-primary-900: 65,5,27; +--color-secondary-50: 255,255,255; +--color-secondary-100: 255,255,255; +--color-secondary-200: 255,255,255; +--color-secondary-300: 255,242,219; +--color-secondary-400: 255,215,143; +--color-secondary-500: 255,188,66; +--color-secondary-600: 255,174,25; +--color-secondary-700: 239,155,0; +--color-secondary-800: 199,128,0; +--color-secondary-900: 158,102,0; +} \ No newline at end of file diff --git a/assets/css/schemes/neon.css b/assets/css/schemes/neon.css new file mode 100644 index 0000000..c04284d --- /dev/null +++ b/assets/css/schemes/neon.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 255,255,255; +--color-neutral-200: 218,196,249; +--color-neutral-300: 175,126,243; +--color-neutral-400: 131,56,236; +--color-neutral-500: 108,22,229; +--color-neutral-600: 91,18,192; +--color-neutral-700: 73,15,155; +--color-neutral-800: 56,11,118; +--color-neutral-900: 38,8,80; +--color-primary-50: 255,255,255; +--color-primary-100: 255,230,241; +--color-primary-200: 255,153,197; +--color-primary-300: 255,77,154; +--color-primary-400: 255,0,110; +--color-primary-500: 214,0,92; +--color-primary-600: 173,0,75; +--color-primary-700: 133,0,57; +--color-primary-800: 92,0,40; +--color-primary-900: 51,0,22; +--color-secondary-50: 255,255,255; +--color-secondary-100: 255,255,255; +--color-secondary-200: 211,228,255; +--color-secondary-300: 135,181,255; +--color-secondary-400: 58,134,255; +--color-secondary-500: 17,109,255; +--color-secondary-600: 0,89,231; +--color-secondary-700: 0,74,191; +--color-secondary-800: 0,58,150; +--color-secondary-900: 0,42,109; +} \ No newline at end of file diff --git a/assets/css/schemes/noir.css b/assets/css/schemes/noir.css new file mode 100644 index 0000000..3ce7ac0 --- /dev/null +++ b/assets/css/schemes/noir.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 255,255,255; +--color-neutral-200: 214,219,222; +--color-neutral-300: 172,183,188; +--color-neutral-400: 129,146,154; +--color-neutral-500: 92,107,115; +--color-neutral-600: 74,86,92; +--color-neutral-700: 56,65,70; +--color-neutral-800: 38,44,47; +--color-neutral-900: 19,23,24; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 255,255,255; +--color-primary-300: 250,251,252; +--color-primary-400: 204,216,222; +--color-primary-500: 157,180,192; +--color-primary-600: 132,161,176; +--color-primary-700: 107,142,160; +--color-primary-800: 89,121,138; +--color-primary-900: 73,99,113; +--color-secondary-50: 255,255,255; +--color-secondary-100: 255,255,255; +--color-secondary-200: 182,240,255; +--color-secondary-300: 105,225,255; +--color-secondary-400: 28,209,255; +--color-secondary-500: 0,165,207; +--color-secondary-600: 0,132,166; +--color-secondary-700: 0,100,125; +--color-secondary-800: 0,67,85; +--color-secondary-900: 0,35,44; +} \ No newline at end of file diff --git a/assets/css/schemes/ocean.css b/assets/css/schemes/ocean.css new file mode 100644 index 0000000..cc6d2d6 --- /dev/null +++ b/assets/css/schemes/ocean.css @@ -0,0 +1,37 @@ +/* Ocean scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 248, 250, 252; + --color-neutral-100: 241, 245, 249; + --color-neutral-200: 226, 232, 240; + --color-neutral-300: 203, 213, 225; + --color-neutral-400: 148, 163, 184; + --color-neutral-500: 100, 116, 139; + --color-neutral-600: 71, 85, 105; + --color-neutral-700: 51, 65, 85; + --color-neutral-800: 30, 41, 59; + --color-neutral-900: 15, 23, 42; + /* Blue */ + --color-primary-50: 239, 246, 255; + --color-primary-100: 219, 234, 254; + --color-primary-200: 191, 219, 254; + --color-primary-300: 147, 197, 253; + --color-primary-400: 96, 165, 250; + --color-primary-500: 59, 130, 246; + --color-primary-600: 37, 99, 235; + --color-primary-700: 29, 78, 216; + --color-primary-800: 30, 64, 175; + --color-primary-900: 30, 58, 138; + /* Cyan */ + --color-secondary-50: 236, 254, 255; + --color-secondary-100: 207, 250, 254; + --color-secondary-200: 165, 243, 252; + --color-secondary-300: 103, 232, 249; + --color-secondary-400: 34, 211, 238; + --color-secondary-500: 6, 182, 212; + --color-secondary-600: 8, 145, 178; + --color-secondary-700: 14, 116, 144; + --color-secondary-800: 21, 94, 117; + --color-secondary-900: 22, 78, 99; +} diff --git a/assets/css/schemes/princess.css b/assets/css/schemes/princess.css new file mode 100644 index 0000000..ebe38b4 --- /dev/null +++ b/assets/css/schemes/princess.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 238,232,238; +--color-neutral-200: 206,188,206; +--color-neutral-300: 174,143,174; +--color-neutral-400: 140,101,140; +--color-neutral-500: 116,84,116; +--color-neutral-600: 93,67,93; +--color-neutral-700: 69,50,69; +--color-neutral-800: 45,33,45; +--color-neutral-900: 21,16,21; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 252,205,252; +--color-primary-300: 249,132,247; +--color-primary-400: 245,59,242; +--color-primary-500: 243,20,239; +--color-primary-600: 212,11,208; +--color-primary-700: 173,9,170; +--color-primary-800: 134,7,132; +--color-primary-900: 95,5,94; +--color-secondary-50: 255,255,255; +--color-secondary-100: 227,194,253; +--color-secondary-200: 192,120,251; +--color-secondary-300: 157,45,249; +--color-secondary-400: 119,6,212; +--color-secondary-500: 97,5,172; +--color-secondary-600: 74,4,133; +--color-secondary-700: 52,3,93; +--color-secondary-800: 30,2,53; +--color-secondary-900: 8,0,14; +} \ No newline at end of file diff --git a/assets/css/schemes/slate.css b/assets/css/schemes/slate.css new file mode 100644 index 0000000..54831e8 --- /dev/null +++ b/assets/css/schemes/slate.css @@ -0,0 +1,37 @@ +/* Slate scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 249, 250, 251; + --color-neutral-100: 243, 244, 246; + --color-neutral-200: 229, 231, 235; + --color-neutral-300: 209, 213, 219; + --color-neutral-400: 156, 163, 175; + --color-neutral-500: 107, 114, 128; + --color-neutral-600: 75, 85, 99; + --color-neutral-700: 55, 65, 81; + --color-neutral-800: 31, 41, 55; + --color-neutral-900: 17, 24, 39; + /* Slate */ + --color-primary-50: 248, 250, 252; + --color-primary-100: 241, 245, 249; + --color-primary-200: 226, 232, 240; + --color-primary-300: 203, 213, 225; + --color-primary-400: 148, 163, 184; + --color-primary-500: 100, 116, 139; + --color-primary-600: 71, 85, 105; + --color-primary-700: 51, 65, 85; + --color-primary-800: 30, 41, 59; + --color-primary-900: 15, 23, 42; + /* Gray */ + --color-secondary-50: 249, 250, 251; + --color-secondary-100: 243, 244, 246; + --color-secondary-200: 229, 231, 235; + --color-secondary-300: 209, 213, 219; + --color-secondary-400: 156, 163, 175; + --color-secondary-500: 107, 114, 128; + --color-secondary-600: 75, 85, 99; + --color-secondary-700: 55, 65, 81; + --color-secondary-800: 31, 41, 55; + --color-secondary-900: 17, 24, 39; +} diff --git a/assets/css/schemes/terminal.css b/assets/css/schemes/terminal.css new file mode 100644 index 0000000..b96872d --- /dev/null +++ b/assets/css/schemes/terminal.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 203,255,227; +--color-neutral-100: 126,255,186; +--color-neutral-200: 49,255,145; +--color-neutral-300: 0,228,106; +--color-neutral-400: 0,152,71; +--color-neutral-500: 0,75,35; +--color-neutral-600: 0,50,23; +--color-neutral-700: 0,24,11; +--color-neutral-800: 0,24,11; +--color-neutral-900: 0,0,0; +--color-primary-50: 255,255,255; +--color-primary-100: 236,255,227; +--color-primary-200: 184,255,150; +--color-primary-300: 132,255,74; +--color-primary-400: 80,252,0; +--color-primary-500: 56,176,0; +--color-primary-600: 48,151,0; +--color-primary-700: 40,125,0; +--color-primary-800: 40,125,0; +--color-primary-900: 7,23,0; +--color-secondary-50: 255,255,255; +--color-secondary-100: 239,248,252; +--color-secondary-200: 173,220,242; +--color-secondary-300: 107,192,231; +--color-secondary-400: 41,164,220; +--color-secondary-500: 26,117,159; +--color-secondary-600: 22,101,137; +--color-secondary-700: 19,85,115; +--color-secondary-800: 19,85,115; +--color-secondary-900: 4,20,28; +} \ No newline at end of file diff --git a/assets/img/author2.png b/assets/img/author2.png new file mode 100644 index 0000000..c1a3c06 Binary files /dev/null and b/assets/img/author2.png differ diff --git a/assets/img/banner.webp b/assets/img/banner.webp new file mode 100644 index 0000000..92c5929 Binary files /dev/null and b/assets/img/banner.webp differ diff --git a/assets/img/bg-triangles.svg b/assets/img/bg-triangles.svg new file mode 100644 index 0000000..c2d584a --- /dev/null +++ b/assets/img/bg-triangles.svg @@ -0,0 +1 @@ + diff --git a/assets/img/bg.jpg b/assets/img/bg.jpg new file mode 100644 index 0000000..3a7617d Binary files /dev/null and b/assets/img/bg.jpg differ diff --git a/assets/img/blowfish.jpg b/assets/img/blowfish.jpg new file mode 100644 index 0000000..ad842ea Binary files /dev/null and b/assets/img/blowfish.jpg differ diff --git a/assets/img/direction.webp b/assets/img/direction.webp new file mode 100644 index 0000000..195a32a Binary files /dev/null and b/assets/img/direction.webp differ diff --git a/assets/img/dog.webp b/assets/img/dog.webp new file mode 100644 index 0000000..7c80773 Binary files /dev/null and b/assets/img/dog.webp differ diff --git a/assets/img/iceland.jpg b/assets/img/iceland.jpg new file mode 100644 index 0000000..6352a78 Binary files /dev/null and b/assets/img/iceland.jpg differ diff --git a/assets/img/icons/.gitkeep b/assets/img/icons/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/assets/img/icons/people-teamwork-svgrepo-com.svg b/assets/img/icons/people-teamwork-svgrepo-com.svg new file mode 100644 index 0000000..5816738 --- /dev/null +++ b/assets/img/icons/people-teamwork-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/assets/img/icons/ying-yang.svg b/assets/img/icons/ying-yang.svg new file mode 100644 index 0000000..e82570a --- /dev/null +++ b/assets/img/icons/ying-yang.svg @@ -0,0 +1,15 @@ + + + + 927 + + + + + + + + + + + \ No newline at end of file diff --git a/assets/img/map.webp b/assets/img/map.webp new file mode 100644 index 0000000..f7b3d3d Binary files /dev/null and b/assets/img/map.webp differ diff --git a/assets/img/nuno_avatar.jpg b/assets/img/nuno_avatar.jpg new file mode 100644 index 0000000..c350016 Binary files /dev/null and b/assets/img/nuno_avatar.jpg differ diff --git a/assets/img/ocean.jpg b/assets/img/ocean.jpg new file mode 100644 index 0000000..9f1220a Binary files /dev/null and b/assets/img/ocean.jpg differ diff --git a/assets/img/paint.png b/assets/img/paint.png new file mode 100644 index 0000000..6f6659a Binary files /dev/null and b/assets/img/paint.png differ diff --git a/assets/img/people-teamwork-svgrepo-com.svg b/assets/img/people-teamwork-svgrepo-com.svg new file mode 100644 index 0000000..5816738 --- /dev/null +++ b/assets/img/people-teamwork-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/assets/img/roots.webp b/assets/img/roots.webp new file mode 100644 index 0000000..5f673fb Binary files /dev/null and b/assets/img/roots.webp differ diff --git a/assets/img/ying-yang.svg b/assets/img/ying-yang.svg new file mode 100644 index 0000000..e82570a --- /dev/null +++ b/assets/img/ying-yang.svg @@ -0,0 +1,15 @@ + + + + 927 + + + + + + + + + + + \ No newline at end of file diff --git a/assets/media/author2.png b/assets/media/author2.png new file mode 100644 index 0000000..c1a3c06 Binary files /dev/null and b/assets/media/author2.png differ diff --git a/assets/media/banner.webp b/assets/media/banner.webp new file mode 100644 index 0000000..92c5929 Binary files /dev/null and b/assets/media/banner.webp differ diff --git a/assets/media/bg-triangles.svg b/assets/media/bg-triangles.svg new file mode 100644 index 0000000..c2d584a --- /dev/null +++ b/assets/media/bg-triangles.svg @@ -0,0 +1 @@ + diff --git a/assets/media/bg.jpg b/assets/media/bg.jpg new file mode 100644 index 0000000..3a7617d Binary files /dev/null and b/assets/media/bg.jpg differ diff --git a/assets/media/blowfish.jpg b/assets/media/blowfish.jpg new file mode 100644 index 0000000..ad842ea Binary files /dev/null and b/assets/media/blowfish.jpg differ diff --git a/assets/media/direction.webp b/assets/media/direction.webp new file mode 100644 index 0000000..195a32a Binary files /dev/null and b/assets/media/direction.webp differ diff --git a/assets/media/dog.webp b/assets/media/dog.webp new file mode 100644 index 0000000..7c80773 Binary files /dev/null and b/assets/media/dog.webp differ diff --git a/assets/media/iceland.jpg b/assets/media/iceland.jpg new file mode 100644 index 0000000..6352a78 Binary files /dev/null and b/assets/media/iceland.jpg differ diff --git a/assets/media/icons/.gitkeep b/assets/media/icons/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/assets/media/icons/people-teamwork-svgrepo-com.svg b/assets/media/icons/people-teamwork-svgrepo-com.svg new file mode 100644 index 0000000..5816738 --- /dev/null +++ b/assets/media/icons/people-teamwork-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/assets/media/icons/ying-yang.svg b/assets/media/icons/ying-yang.svg new file mode 100644 index 0000000..e82570a --- /dev/null +++ b/assets/media/icons/ying-yang.svg @@ -0,0 +1,15 @@ + + + + 927 + + + + + + + + + + + \ No newline at end of file diff --git a/assets/media/img/author2.png b/assets/media/img/author2.png new file mode 100644 index 0000000..c1a3c06 Binary files /dev/null and b/assets/media/img/author2.png differ diff --git a/assets/media/img/banner.webp b/assets/media/img/banner.webp new file mode 100644 index 0000000..92c5929 Binary files /dev/null and b/assets/media/img/banner.webp differ diff --git a/assets/media/img/bg-triangles.svg b/assets/media/img/bg-triangles.svg new file mode 100644 index 0000000..c2d584a --- /dev/null +++ b/assets/media/img/bg-triangles.svg @@ -0,0 +1 @@ + diff --git a/assets/media/img/bg.jpg b/assets/media/img/bg.jpg new file mode 100644 index 0000000..3a7617d Binary files /dev/null and b/assets/media/img/bg.jpg differ diff --git a/assets/media/img/blowfish.jpg b/assets/media/img/blowfish.jpg new file mode 100644 index 0000000..ad842ea Binary files /dev/null and b/assets/media/img/blowfish.jpg differ diff --git a/assets/media/img/direction.webp b/assets/media/img/direction.webp new file mode 100644 index 0000000..195a32a Binary files /dev/null and b/assets/media/img/direction.webp differ diff --git a/assets/media/img/dog.webp b/assets/media/img/dog.webp new file mode 100644 index 0000000..7c80773 Binary files /dev/null and b/assets/media/img/dog.webp differ diff --git a/assets/media/img/iceland.jpg b/assets/media/img/iceland.jpg new file mode 100644 index 0000000..6352a78 Binary files /dev/null and b/assets/media/img/iceland.jpg differ diff --git a/assets/media/img/icons/.gitkeep b/assets/media/img/icons/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/assets/media/img/icons/people-teamwork-svgrepo-com.svg b/assets/media/img/icons/people-teamwork-svgrepo-com.svg new file mode 100644 index 0000000..5816738 --- /dev/null +++ b/assets/media/img/icons/people-teamwork-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/assets/media/img/icons/ying-yang.svg b/assets/media/img/icons/ying-yang.svg new file mode 100644 index 0000000..e82570a --- /dev/null +++ b/assets/media/img/icons/ying-yang.svg @@ -0,0 +1,15 @@ + + + + 927 + + + + + + + + + + + \ No newline at end of file diff --git a/assets/media/img/map.webp b/assets/media/img/map.webp new file mode 100644 index 0000000..f7b3d3d Binary files /dev/null and b/assets/media/img/map.webp differ diff --git a/assets/media/img/nuno_avatar.jpg b/assets/media/img/nuno_avatar.jpg new file mode 100644 index 0000000..c350016 Binary files /dev/null and b/assets/media/img/nuno_avatar.jpg differ diff --git a/assets/media/img/ocean.jpg b/assets/media/img/ocean.jpg new file mode 100644 index 0000000..9f1220a Binary files /dev/null and b/assets/media/img/ocean.jpg differ diff --git a/assets/media/img/paint.png b/assets/media/img/paint.png new file mode 100644 index 0000000..6f6659a Binary files /dev/null and b/assets/media/img/paint.png differ diff --git a/assets/media/img/people-teamwork-svgrepo-com.svg b/assets/media/img/people-teamwork-svgrepo-com.svg new file mode 100644 index 0000000..5816738 --- /dev/null +++ b/assets/media/img/people-teamwork-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/assets/media/img/roots.webp b/assets/media/img/roots.webp new file mode 100644 index 0000000..5f673fb Binary files /dev/null and b/assets/media/img/roots.webp differ diff --git a/assets/media/img/ying-yang.svg b/assets/media/img/ying-yang.svg new file mode 100644 index 0000000..e82570a --- /dev/null +++ b/assets/media/img/ying-yang.svg @@ -0,0 +1,15 @@ + + + + 927 + + + + + + + + + + + \ No newline at end of file diff --git a/assets/media/map.webp b/assets/media/map.webp new file mode 100644 index 0000000..f7b3d3d Binary files /dev/null and b/assets/media/map.webp differ diff --git a/assets/media/nuno_avatar.jpg b/assets/media/nuno_avatar.jpg new file mode 100644 index 0000000..c350016 Binary files /dev/null and b/assets/media/nuno_avatar.jpg differ diff --git a/assets/media/ocean.jpg b/assets/media/ocean.jpg new file mode 100644 index 0000000..9f1220a Binary files /dev/null and b/assets/media/ocean.jpg differ diff --git a/assets/media/paint.png b/assets/media/paint.png new file mode 100644 index 0000000..6f6659a Binary files /dev/null and b/assets/media/paint.png differ diff --git a/assets/media/people-teamwork-svgrepo-com.svg b/assets/media/people-teamwork-svgrepo-com.svg new file mode 100644 index 0000000..5816738 --- /dev/null +++ b/assets/media/people-teamwork-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/assets/media/roots.webp b/assets/media/roots.webp new file mode 100644 index 0000000..5f673fb Binary files /dev/null and b/assets/media/roots.webp differ diff --git a/assets/media/ying-yang.svg b/assets/media/ying-yang.svg new file mode 100644 index 0000000..e82570a --- /dev/null +++ b/assets/media/ying-yang.svg @@ -0,0 +1,15 @@ + + + + 927 + + + + + + + + + + + \ No newline at end of file diff --git a/config/_default/config.toml b/config/_default/config.toml new file mode 100644 index 0000000..968d4de --- /dev/null +++ b/config/_default/config.toml @@ -0,0 +1,65 @@ +# -- Site Configuration -- +# Refer to the theme docs for more details about each of these parameters. +# https://blowfish.page/docs/getting-started/ + +theme = "blowfish" +# baseURL = "https://your_domain.com/" +defaultContentLanguage = "en" + +# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles + +enableRobotsTXT = true +paginate = 10 +summaryLength = 0 + +buildDrafts = false +buildFuture = false + +# googleAnalytics = "G-XXXXXXXXX" + +[imaging] + anchor = 'Center' + +[taxonomies] + tag = "tags" + category = "categories" + author = "authors" + series = "series" + +[sitemap] + changefreq = 'daily' + filename = 'sitemap.xml' + priority = 0.5 + +[outputs] + home = ["HTML", "RSS", "JSON"] + +[related] + threshold = 0 + toLower = false + + [[related.indices]] + name = "tags" + weight = 100 + + [[related.indices]] + name = "categories" + weight = 100 + + [[related.indices]] + name = "series" + weight = 50 + + [[related.indices]] + name = "authors" + weight = 20 + + [[related.indices]] + name = "date" + weight = 10 + + [[related.indices]] + applyFilter = false + name = 'fragmentrefs' + type = 'fragments' + weight = 10 diff --git a/config/_default/languages.cs.toml b/config/_default/languages.cs.toml new file mode 100644 index 0000000..bbd69c7 --- /dev/null +++ b/config/_default/languages.cs.toml @@ -0,0 +1,65 @@ +languageCode = "cs" +languageName = "Czech" +weight = 1 +title = "Blowfish" + +[params] + displayName = "CZ" + isoCode = "cs" + rtl = false + dateFormat = "2 January 2006" + # logo = "img/logo.png" + # secondaryLogo = "img/secondary-logo.png" + # description = "My awesome website" + # copyright = "Copy, _right?_ :thinking_face:" + +[author] + name = "Your name here" + image = "img/blowfish_logo.png" + headline = "I'm only human" + bio = "A little bit about you" + links = [ + { email = "mailto:hello@your_domain.com" }, +# { link = "https://link-to-some-website.com/" }, +# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" }, +# { apple = "https://www.apple.com" }, +# { blogger = "https://username.blogspot.com/" }, +# { codepen = "https://codepen.io/username" }, +# { dev = "https://dev.to/username" }, +# { discord = "https://discord.gg/invitecode" }, +# { dribbble = "https://dribbble.com/username" }, +# { facebook = "https://facebook.com/username" }, +# { flickr = "https://www.flickr.com/photos/username/" }, +# { foursquare = "https://foursquare.com/username" }, +# { github = "https://github.com/username" }, +# { gitlab = "https://gitlab.com/username" }, +# { google = "https://www.google.com/" }, +# { hashnode = "https://username.hashnode.dev" }, +# { instagram = "https://instagram.com/username" }, +# { keybase = "https://keybase.io/username" }, +# { kickstarter = "https://www.kickstarter.com/profile/username" }, +# { lastfm = "https://lastfm.com/user/username" }, +# { linkedin = "https://linkedin.com/in/username" }, +# { mastodon = "https://mastodon.instance/@username" }, +# { medium = "https://medium.com/username" }, +# { microsoft = "https://www.microsoft.com/" }, +# { orcid = "https://orcid.org/userid" }, +# { patreon = "https://www.patreon.com/username" }, +# { pinterest = "https://pinterest.com/username" }, +# { reddit = "https://reddit.com/user/username" }, +# { researchgate = "https://www.researchgate.net/profile/username" }, +# { slack = "https://workspace.url/team/userid" }, +# { snapchat = "https://snapchat.com/add/username" }, +# { soundcloud = "https://soundcloud.com/username" }, +# { stack-overflow = "https://stackoverflow.com/users/userid/username" }, +# { steam = "https://steamcommunity.com/profiles/userid" }, +# { telegram = "https://t.me/username" }, +# { tiktok = "https://tiktok.com/@username" }, +# { tumblr = "https://username.tumblr.com" }, +# { twitch = "https://twitch.tv/username" }, +# { twitter = "https://twitter.com/username" }, +# { x-twitter = "https://twitter.com/username" }, +# { whatsapp = "https://wa.me/phone-number" }, +# { youtube = "https://youtube.com/username" }, +# { ko-fi = "https://ko-fi.com/username" }, +] diff --git a/config/_default/languages.en.toml b/config/_default/languages.en.toml new file mode 100644 index 0000000..fd41f12 --- /dev/null +++ b/config/_default/languages.en.toml @@ -0,0 +1,65 @@ +languageCode = "en" +languageName = "English" +weight = 1 +title = "Blowfish" + +[params] + displayName = "EN" + isoCode = "en" + rtl = false + dateFormat = "2 January 2006" + logo = "img/logo.png" + secondaryLogo = "img/secondary-logo.png" + description = "My awesome website" + copyright = "Copy, _right?_ :thinking_face:" + +[author] + name = "Your name here" + image = "img/blowfish_logo.png" + headline = "I'm only human" + bio = "A little bit about you" + links = [ + { email = "mailto:hello@your_domain.com" }, +# { link = "https://link-to-some-website.com/" }, +# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" }, +# { apple = "https://www.apple.com" }, +# { blogger = "https://username.blogspot.com/" }, +# { codepen = "https://codepen.io/username" }, +# { dev = "https://dev.to/username" }, +# { discord = "https://discord.gg/invitecode" }, +# { dribbble = "https://dribbble.com/username" }, +# { facebook = "https://facebook.com/username" }, +# { flickr = "https://www.flickr.com/photos/username/" }, +# { foursquare = "https://foursquare.com/username" }, +# { github = "https://github.com/username" }, +# { gitlab = "https://gitlab.com/username" }, +# { google = "https://www.google.com/" }, +# { hashnode = "https://username.hashnode.dev" }, +# { instagram = "https://instagram.com/username" }, +# { keybase = "https://keybase.io/username" }, +# { kickstarter = "https://www.kickstarter.com/profile/username" }, +# { lastfm = "https://lastfm.com/user/username" }, +# { linkedin = "https://linkedin.com/in/username" }, +# { mastodon = "https://mastodon.instance/@username" }, +# { medium = "https://medium.com/username" }, +# { microsoft = "https://www.microsoft.com/" }, +# { orcid = "https://orcid.org/userid" }, +# { patreon = "https://www.patreon.com/username" }, +# { pinterest = "https://pinterest.com/username" }, +# { reddit = "https://reddit.com/user/username" }, +# { researchgate = "https://www.researchgate.net/profile/username" }, +# { slack = "https://workspace.url/team/userid" }, +# { snapchat = "https://snapchat.com/add/username" }, +# { soundcloud = "https://soundcloud.com/username" }, +# { stack-overflow = "https://stackoverflow.com/users/userid/username" }, +# { steam = "https://steamcommunity.com/profiles/userid" }, +# { telegram = "https://t.me/username" }, +# { tiktok = "https://tiktok.com/@username" }, +# { tumblr = "https://username.tumblr.com" }, +# { twitch = "https://twitch.tv/username" }, +# { twitter = "https://twitter.com/username" }, +# { x-twitter = "https://twitter.com/username" }, +# { whatsapp = "https://wa.me/phone-number" }, +# { youtube = "https://youtube.com/username" }, +# { ko-fi = "https://ko-fi.com/username" }, +] diff --git a/config/_default/languages.es.toml b/config/_default/languages.es.toml new file mode 100644 index 0000000..d4fba88 --- /dev/null +++ b/config/_default/languages.es.toml @@ -0,0 +1,65 @@ +languageCode = "es" +languageName = "Spanish" +weight = 1 +title = "Blowfish" + +[params] + displayName = "ES" + isoCode = "es" + rtl = false + dateFormat = "2 January 2006" + logo = "img/logo.png" + secondaryLogo = "img/secondary-logo.png" + description = "My awesome website" + copyright = "Copy, _right?_ :thinking_face:" + +[author] + name = "Your name here" + image = "img/blowfish_logo.png" + headline = "I'm only human" + bio = "A little bit about you" + links = [ + { email = "mailto:hello@your_domain.com" }, +# { link = "https://link-to-some-website.com/" }, +# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" }, +# { apple = "https://www.apple.com" }, +# { blogger = "https://username.blogspot.com/" }, +# { codepen = "https://codepen.io/username" }, +# { dev = "https://dev.to/username" }, +# { discord = "https://discord.gg/invitecode" }, +# { dribbble = "https://dribbble.com/username" }, +# { facebook = "https://facebook.com/username" }, +# { flickr = "https://www.flickr.com/photos/username/" }, +# { foursquare = "https://foursquare.com/username" }, +# { github = "https://github.com/username" }, +# { gitlab = "https://gitlab.com/username" }, +# { google = "https://www.google.com/" }, +# { hashnode = "https://username.hashnode.dev" }, +# { instagram = "https://instagram.com/username" }, +# { keybase = "https://keybase.io/username" }, +# { kickstarter = "https://www.kickstarter.com/profile/username" }, +# { lastfm = "https://lastfm.com/user/username" }, +# { linkedin = "https://linkedin.com/in/username" }, +# { mastodon = "https://mastodon.instance/@username" }, +# { medium = "https://medium.com/username" }, +# { microsoft = "https://www.microsoft.com/" }, +# { orcid = "https://orcid.org/userid" }, +# { patreon = "https://www.patreon.com/username" }, +# { pinterest = "https://pinterest.com/username" }, +# { reddit = "https://reddit.com/user/username" }, +# { researchgate = "https://www.researchgate.net/profile/username" }, +# { slack = "https://workspace.url/team/userid" }, +# { snapchat = "https://snapchat.com/add/username" }, +# { soundcloud = "https://soundcloud.com/username" }, +# { stack-overflow = "https://stackoverflow.com/users/userid/username" }, +# { steam = "https://steamcommunity.com/profiles/userid" }, +# { telegram = "https://t.me/username" }, +# { tiktok = "https://tiktok.com/@username" }, +# { tumblr = "https://username.tumblr.com" }, +# { twitch = "https://twitch.tv/username" }, +# { twitter = "https://twitter.com/username" }, +# { x-twitter = "https://twitter.com/username" }, +# { whatsapp = "https://wa.me/phone-number" }, +# { youtube = "https://youtube.com/username" }, +# { ko-fi = "https://ko-fi.com/username" }, +] diff --git a/config/_default/markup.toml b/config/_default/markup.toml new file mode 100644 index 0000000..c5449fc --- /dev/null +++ b/config/_default/markup.toml @@ -0,0 +1,13 @@ +# -- Markup -- +# These settings are required for the theme to function. + +[goldmark] +[goldmark.renderer] + unsafe = true + +[highlight] + noClasses = false + +[tableOfContents] + startLevel = 2 + endLevel = 4 diff --git a/config/_default/menus.cs.toml b/config/_default/menus.cs.toml new file mode 100644 index 0000000..684e13a --- /dev/null +++ b/config/_default/menus.cs.toml @@ -0,0 +1,140 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Poslání" + pageRef = "posts" + weight = 10 + +[[main]] + name = "About" + parent = "Poslání" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Příběhy Úspěchu" + parent = "Poslání" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Neúspěch a Učební Zkušenosti" + parent = "Poslání" + pageRef = "posts" + weight = 30 + +[[main]] + name = "Události" + weight = 20 + +[[main]] + name = "Nadcházející Akce" + parent = "Události" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Veřejné Skupiny" + parent = "Události" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Publikace" + weight = 30 + +[[main]] + name = "Články" + parent = "Publikace" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Knihy" + parent = "Publikace" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Kurzy" + weight = 40 + +[[main]] + name = "Kurz Spojení" + parent = "Courses" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Praxe Spojení" + parent = "Courses" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Zdroje" + weight = 50 + +[[main]] + name = "Čtu" + parent = "Zdroje" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Stránky" + parent = "Zdroje" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Sitemap" + parent = "Zdroje" + pageRef = "posts" + weight = 30 + +[[main]] + name = "Kontakt" + weight = 60 + +[[main]] + name = "Kontakní Forma" + parent = "Contact" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Vnitřní Skupina" + parent = "Contact" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Eventbrite" + parent = "Contact" + pageRef = "posts" + weight = 30 + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +[[footer]] + name = "Tags" + pageRef = "tags" + weight = 10 + +[[footer]] + name = "Categories" + pageRef = "categories" + weight = 20 diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml new file mode 100644 index 0000000..52150d9 --- /dev/null +++ b/config/_default/menus.en.toml @@ -0,0 +1,140 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Mission" + pageRef = "posts" + weight = 10 + +[[main]] + name = "About" + parent = "Mission" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Success Stories" + parent = "Mission" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Failures and Learnings" + parent = "Mission" + pageRef = "posts" + weight = 30 + +[[main]] + name = "Events" + weight = 20 + +[[main]] + name = "Upcoming Events" + parent = "Events" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Public Group" + parent = "Events" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Publications" + weight = 30 + +[[main]] + name = "Posts" + parent = "Publications" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Books" + parent = "Publications" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Courses" + weight = 40 + +[[main]] + name = "Course Connection" + parent = "Courses" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Course Practice" + parent = "Courses" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Sources" + weight = 50 + +[[main]] + name = "Reading" + parent = "Sources" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Links" + parent = "Sources" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Sitemap" + parent = "Sources" + pageRef = "posts" + weight = 30 + +[[main]] + name = "Contact" + weight = 60 + +[[main]] + name = "Contact Form" + parent = "Contact" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Inner Group" + parent = "Contact" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Eventbrite" + parent = "Contact" + pageRef = "posts" + weight = 30 + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +[[footer]] + name = "Tags" + pageRef = "tags" + weight = 10 + +[[footer]] + name = "Categories" + pageRef = "categories" + weight = 20 diff --git a/config/_default/menus.es.toml b/config/_default/menus.es.toml new file mode 100644 index 0000000..e7c6fa1 --- /dev/null +++ b/config/_default/menus.es.toml @@ -0,0 +1,140 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Misión" + pageRef = "posts" + weight = 10 + +[[main]] + name = "About" + parent = "Misión" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Historias de Éxito" + parent = "Misión" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Fracaso Y Aprendizaje" + parent = "Misión" + pageRef = "posts" + weight = 30 + +[[main]] + name = "Eventos" + weight = 20 + +[[main]] + name = "Próximos Eventos" + parent = "Eventos" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Grupo Público" + parent = "Eventos" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Publicaciones" + weight = 30 + +[[main]] + name = "Artículos" + parent = "Publicaciones" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Libros" + parent = "Publicaciones" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Cursos" + weight = 40 + +[[main]] + name = "Curso de Conexión" + parent = "Cursos" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Práctica de Conexión" + parent = "Cursos" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Recursos" + weight = 50 + +[[main]] + name = "Leyendo" + parent = "Recursos" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Enlaces" + parent = "Recursos" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Sitemap" + parent = "Recursos" + pageRef = "posts" + weight = 30 + +[[main]] + name = "Contacto" + weight = 60 + +[[main]] + name = "Formulario de Contacto" + parent = "Contacto" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Grupo interior" + parent = "Contacto" + pageRef = "posts" + weight = 20 + +[[main]] + name = "Eventbrite" + parent = "Contacto" + pageRef = "posts" + weight = 30 + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +[[footer]] + name = "Tags" + pageRef = "tags" + weight = 10 + +[[footer]] + name = "Categories" + pageRef = "categories" + weight = 20 diff --git a/config/_default/module.toml b/config/_default/module.toml new file mode 100644 index 0000000..74f7727 --- /dev/null +++ b/config/_default/module.toml @@ -0,0 +1,3 @@ +[hugoVersion] + extended = false + min = "0.87.0" diff --git a/config/_default/params.toml b/config/_default/params.toml new file mode 100644 index 0000000..3592869 --- /dev/null +++ b/config/_default/params.toml @@ -0,0 +1,142 @@ +# -- Theme Options -- +# These options control how the theme functions and allow you to +# customise the display of your website. +# +# Refer to the theme docs for more details about each of these parameters. +# https://blowfish.page/docs/configuration/#theme-parameters + +colorScheme = "blowfish" +defaultAppearance = "light" # valid options: light or dark +autoSwitchAppearance = true + +enableSearch = true +enableCodeCopy = false + +# mainSections = ["section1", "section2"] +# robots = "" + +disableImageOptimization = false +disableTextInHeader = false + +# defaultBackgroundImage = "IMAGE.jpg" # used as default for background images +# defaultFeaturedImage = "IMAGE.jpg" # used as default for featured images in all articles + +# highlightCurrentMenuArea = true +# smartTOC = true +# smartTOCHideUnfocusedChildren = true + +[header] + layout = "basic" # valid options: basic, fixed, fixed-fill, fixed-fill-blur + +[footer] + showMenu = true + showCopyright = true + showThemeAttribution = true + showAppearanceSwitcher = true + showScrollToTop = true + +[homepage] + layout = "page" # valid options: page, profile, hero, card, background, custom + # homepageImage = "banner.webp" # used in: hero, and card + showRecent = false + showRecentItems = 3 + showMoreLink = false + showMoreLinkDest = "/posts" + cardView = false + cardViewScreenWidth = false + layoutBackgroundBlur = false # only used when layout equals background + +[article] + showDate = true + showViews = false + showLikes = false + showDateUpdated = true + showAuthor = true + showHero = false + # heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground + layoutBackgroundBlur = false # only used when heroStyle equals background or thumbAndBackground + layoutBackgroundHeaderSpace = true # only used when heroStyle equals background + showBreadcrumbs = true + showDraftLabel = true + showEdit = false + # editURL = "https://github.com/username/repo/" + editAppendPath = true + seriesOpened = false + showHeadingAnchors = true + showPagination = true + invertPagination = true + showReadingTime = true + showTableOfContents = true + showRelatedContent = true + relatedContentLimit = 3 + showTaxonomies = true + showAuthorsBadges = true + showWordCount = true + sharingLinks = [ "linkedin", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram"] + showZenMode = false + +[list] + showHero = false + # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + layoutBackgroundBlur = false # only used when heroStyle equals background or thumbAndBackground + layoutBackgroundHeaderSpace = true # only used when heroStyle equals background + showBreadcrumbs = true + showSummary = true + showViews = false + showLikes = false + showTableOfContents = false + showCards = false + groupByYear = true + cardView = true + cardViewScreenWidth = false + constrainItemsWidth = false + +[sitemap] + excludedKinds = ["taxonomy", "term"] + +[taxonomy] + showTermCount = true + showHero = false + # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + showBreadcrumbs = false + showViews = false + showLikes = false + showTableOfContents = false + cardView = false + +[term] + showHero = false + # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + showBreadcrumbs = false + showViews = false + showLikes = false + showTableOfContents = true + groupByYear = false + cardView = false + cardViewScreenWidth = false + +[firebase] + # apiKey = "XXXXXX" + # authDomain = "XXXXXX" + # projectId = "XXXXXX" + # storageBucket = "XXXXXX" + # messagingSenderId = "XXXXXX" + # appId = "XXXXXX" + # measurementId = "XXXXXX" + +[fathomAnalytics] + # site = "ABC12345" + # domain = "llama.yoursite.com" + +[buymeacoffee] + # identifier = "" + # globalWidget = true + # globalWidgetMessage = "Hello" + # globalWidgetColor = "#FFDD00" + # globalWidgetPosition = "Right" + +[verification] + # google = "" + # bing = "" + # pinterest = "" + # yandex = "" diff --git a/content/_index.cs.md b/content/_index.cs.md new file mode 100755 index 0000000..ce7df8d --- /dev/null +++ b/content/_index.cs.md @@ -0,0 +1,613 @@ +--- +title: "" +description: "" +--- + +{{< rawhtml >}} + +
+
+

+ Ahoj +

+

template for Astro 4.0 + Tailwind CSS +

+

+ AstroWind is a free, customizable and production-ready template for Astro 4.0 + Tailwind CSS. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs.

+ + Learn more + {{< typeit + tag=h3 + speed=50 + breakLines=false + loop=true +>}} +Lorem ipsum dolor sit amet +{{< /typeit >}} + + + Ask a Question + + +
+ {{< figure + src="/static/banner.webp" + alt="Abstract purple artwork" + >}} + {{ $image := resources.Get "images/banner.webp" }} +
+ + +
+
+Philosophy: Keep It Simple Stupid principle. Delicate dance of flow and elegance! +
+
+ + +
+
+FEATURES. What you get with AstroWind. One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +
+ + +
+
+
+

Features

+

+ What you get with AstroWind +

+

+ One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +

+
+
+
+
+
+ + + +
+
+

+ Awards good deed +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Liste greta deed +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ I am good camper +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Really. Ok that's fine +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ demo demo demo +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ More connected I become +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Plan

+

+ Blueprint +

+

+ Do or don't +

+
+
+
+
+ {{< figure + src="direction.webp" + alt="Abstract purple artwork" + >}} +
+
+
+
+
+
+ +
+
+
+
+
+
+

Step 1

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Step 2

+

+ The first mate and his Skipper too will do their very best to make the others comfortable in their tropic island nest. Michael Knight a young loner. +

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

Step 3

+

+ Tell them I hate them. Is the Space Pope reptilian!? Tell her she looks thin. Hello, little man. I will destroy you! +

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

Step 4

+

+ If one examines precultural libertarianism, one is faced with a choice: either accept rationalism or conclude that context is a product. +

+
+
+
+
+
+ +
+
+
+
+

Success

+

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

Events

+

+ Get somewthing +

+

+ Yummi yam +

+
+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Shjfsdractice

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+
+

Bio

+

+ I don't care +

+

+ He knows what he knows +

+
+
+
+ {{< figure + src="map1.webp" + alt="Abstract purple artwork" + >}} +
+
+
+

Real & Imaginatory

+

+ All recipes are written using certain conventions, which define the characteristics of common ingredients. The rules vary from place to place. +

+
+
+
+
+ + +
+
+
+

Toolbox

+

+ Favorite tools +

+

+ Pool of resources +

+
+
+
+ +

Sjsdfkjsdhsd

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

fuhusrhfrfirei

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

eiohfwuhfrwiu

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

No way we can do this

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

Don't get caught

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

Yummi yumii yum

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+
+
+

Recent

+

+ Publications +

+

+ Learning +

+
+
+
+
+ {{< list cardView=true limit=3 where="Type" value="posts" >}} + +
+
+ + +
+
+
+

FAQ

+

+ Frequently asked questions +

+

+ About life +

+
+
+
+
+
+ + + +
+
+

+ What exactly is +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ I struggle or not +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ thoughts? +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ Are we there yet? +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ Meaning is abstract +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+

+ Doesn't do that and this +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Contact

+

+ Ask and You shall receive +

+

+ I'll answer in working days in 48 hours +

+
+

+ Languages spoken and written: English 🇬🇧, Spanish 🇪🇸, Czech 🇨🇿 +

+ + 📨 Contact form + +
+
+
+ + +
+
+
+

Stats

+

+ I walk the talk +

+

+ Learning from ees +

+
+
+
+

7K

+

Shows

+
+
+

7K

+

Y. Views

+
+
+

7K

+

Winnings

+
+
+

7K

+

Experience

+
+
+
+ +{{< /rawhtml >}} + + diff --git a/content/_index.es.md b/content/_index.es.md new file mode 100755 index 0000000..9838562 --- /dev/null +++ b/content/_index.es.md @@ -0,0 +1,610 @@ +--- +title: "" +description: "" +--- + +{{< rawhtml >}} + +
+
+

+ Hola +

+

template for Astro 4.0 + Tailwind CSS +

+

+ AstroWind is a free, customizable and production-ready template for Astro 4.0 + Tailwind CSS. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs.

+ + Learn more + {{< typeit + tag=h3 + speed=50 + breakLines=false + loop=true +>}} +Lorem ipsum dolor sit amet +{{< /typeit >}} + + + Ask a Question + + +
+ {{< figure + src="banner.webp" + alt="Abstract purple artwork" + >}} +
+ + +
+
+Philosophy: Keep It Simple Stupid principle. Delicate dance of flow and elegance! +
+
+ + +
+
+FEATURES. What you get with AstroWind. One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +
+ + +
+
+
+

Features

+

+ What you get with AstroWind +

+

+ One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +

+
+
+
+
+
+ + + +
+
+

+ Awards good deed +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Liste greta deed +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ I am good camper +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Really. Ok that's fine +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ demo demo demo +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ More connected I become +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Plan

+

+ Blueprint +

+

+ Do or don't +

+
+
+
+
+ {{< figure + src="direction.webp" + alt="Abstract purple artwork" + >}} +
+
+
+
+
+
+ +
+
+
+
+
+
+

Step 1

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Step 2

+

+ The first mate and his Skipper too will do their very best to make the others comfortable in their tropic island nest. Michael Knight a young loner. +

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

Step 3

+

+ Tell them I hate them. Is the Space Pope reptilian!? Tell her she looks thin. Hello, little man. I will destroy you! +

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

Step 4

+

+ If one examines precultural libertarianism, one is faced with a choice: either accept rationalism or conclude that context is a product. +

+
+
+
+
+
+ +
+
+
+
+

Success

+

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

Events

+

+ Get somewthing +

+

+ Yummi yam +

+
+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Shjfsdractice

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+
+

Bio

+

+ I don't care +

+

+ He knows what he knows +

+
+
+
+ {{< figure + src="map1.webp" + alt="Abstract purple artwork" + >}} +
+
+
+

Real & Imaginatory

+

+ All recipes are written using certain conventions, which define the characteristics of common ingredients. The rules vary from place to place. +

+
+
+
+
+ + +
+
+
+

Toolbox

+

+ Favorite tools +

+

+ Pool of resources +

+
+
+
+ +

Sjsdfkjsdhsd

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

fuhusrhfrfirei

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

eiohfwuhfrwiu

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

No way we can do this

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

Don't get caught

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

Yummi yumii yum

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+
+
+

Recent

+

+ Publications +

+

+ Learning +

+
+
+
+
+ {{< list cardView=true limit=3 where="Type" value="posts" >}} + +
+
+ + +
+
+
+

FAQ

+

+ Frequently asked questions +

+

+ About life +

+
+
+
+
+
+ + + +
+
+

+ What exactly is +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ I struggle or not +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ thoughts? +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ Are we there yet? +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ Meaning is abstract +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+

+ Doesn't do that and this +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Contact

+

+ Ask and You shall receive +

+

+ I'll answer in working days in 48 hours +

+
+

+ Languages spoken and written: English 🇬🇧, Spanish 🇪🇸, Czech 🇨🇿 +

+ + 📨 Contact form + +
+
+
+ + +
+
+
+

Stats

+

+ I walk the talk +

+

+ Learning from ees +

+
+
+
+

7K

+

Shows

+
+
+

7K

+

Y. Views

+
+
+

7K

+

Winnings

+
+
+

7K

+

Experience

+
+
+
+ +{{< /rawhtml >}} \ No newline at end of file diff --git a/content/_index.md b/content/_index.md new file mode 100755 index 0000000..f2c9b86 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,612 @@ +--- +title: "" +description: "" +--- + +{{< rawhtml >}} + +
+
+

+ Title +

+

template for Astro 4.0 + Tailwind CSS +

+

+ AstroWind is a free, customizable and production-ready template for Astro 4.0 + Tailwind CSS. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs.

+ + Learn more + {{< typeit + tag=h3 + speed=50 + breakLines=false + loop=true +>}} +Lorem ipsum dolor sit amet +{{< /typeit >}} + + + Ask a Question + + +
+ {{< figure + src="banner.webp" + alt="Abstract purple artwork" + >}} +
+ + +
+
+Philosophy: Keep It Simple Stupid principle. Delicate dance of flow and elegance! +
+
+ + +
+
+FEATURES. What you get with AstroWind. One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +
+ + +
+
+
+

Features

+

+ What you get with AstroWind +

+

+ One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +

+
+
+
+
+
+ + + +
+
+

+ Awards good deed +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Liste greta deed +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ I am good camper +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Really. Ok that's fine +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ demo demo demo +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ More connected I become +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Plan

+

+ Blueprint +

+

+ Do or don't +

+
+
+
+
+ {{< figure + src="direction.webp" + alt="Abstract purple artwork" + >}} +
+
+
+
+
+
+ +
+
+
+
+
+
+

Step 1

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Step 2

+

+ The first mate and his Skipper too will do their very best to make the others comfortable in their tropic island nest. Michael Knight a young loner. +

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

Step 3

+

+ Tell them I hate them. Is the Space Pope reptilian!? Tell her she looks thin. Hello, little man. I will destroy you! +

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

Step 4

+

+ If one examines precultural libertarianism, one is faced with a choice: either accept rationalism or conclude that context is a product. +

+
+
+
+
+
+ +
+
+
+
+

Success

+

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

Events

+

+ Get somewthing +

+

+ Yummi yam +

+
+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Shjfsdractice

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+
+

Bio

+

+ I don't care +

+

+ He knows what he knows +

+
+
+
+ {{< figure + src="map1.webp" + alt="Abstract purple artwork" + >}} +
+
+
+

Real & Imaginatory

+

+ All recipes are written using certain conventions, which define the characteristics of common ingredients. The rules vary from place to place. +

+
+
+
+
+ + +
+
+
+

Toolbox

+

+ Favorite tools +

+

+ Pool of resources +

+
+
+
+ +

Sjsdfkjsdhsd

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

fuhusrhfrfirei

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

eiohfwuhfrwiu

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

No way we can do this

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

Don't get caught

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

Yummi yumii yum

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+
+
+

Recent

+

+ Publications +

+

+ Learning +

+
+
+
+
+ {{< list cardView=true limit=3 where="Type" value="posts" >}} + +
+
+ + +
+
+
+

FAQ

+

+ Frequently asked questions +

+

+ About life +

+
+
+
+
+
+ + + +
+
+

+ What exactly is +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ I struggle or not +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ thoughts? +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ Are we there yet? +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + +
+
+

+ Meaning is abstract +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+

+ Doesn't do that and this +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Contact

+

+ Ask and You shall receive +

+

+ I'll answer in working days in 48 hours +

+
+

+ Languages spoken and written: English 🇬🇧, Spanish 🇪🇸, Czech 🇨🇿 +

+ + 📨 Contact form + +
+
+
+ + +
+
+
+

Stats

+

+ I walk the talk +

+

+ Learning from ees +

+
+
+
+

7K

+

Shows

+
+
+

7K

+

Y. Views

+
+
+

7K

+

Winnings

+
+
+

7K

+

Experience

+
+
+
+ +{{< /rawhtml >}} + + diff --git a/content/banner.webp b/content/banner.webp new file mode 100644 index 0000000..92c5929 Binary files /dev/null and b/content/banner.webp differ diff --git a/content/map1.webp b/content/map1.webp new file mode 100644 index 0000000..f7b3d3d Binary files /dev/null and b/content/map1.webp differ diff --git a/content/posts/_index.cs.md b/content/posts/_index.cs.md new file mode 100755 index 0000000..3f2fd64 --- /dev/null +++ b/content/posts/_index.cs.md @@ -0,0 +1,17 @@ +--- +title: "Posts" +description: "Learn how to use Blowfish and its features." + +cascade: + showDate: true + showAuthor: true + invertPagination: true +--- + +{{< lead >}} +Simple, yet powerful. Learn how to use Blowfish and its features. +{{< /lead >}} + +This section contains everything you need to know about Blowfish. If you're new, check out the guide to begin or visit the section to see what Blowfish can do. + +--- diff --git a/content/posts/_index.es.md b/content/posts/_index.es.md new file mode 100755 index 0000000..3f2fd64 --- /dev/null +++ b/content/posts/_index.es.md @@ -0,0 +1,17 @@ +--- +title: "Posts" +description: "Learn how to use Blowfish and its features." + +cascade: + showDate: true + showAuthor: true + invertPagination: true +--- + +{{< lead >}} +Simple, yet powerful. Learn how to use Blowfish and its features. +{{< /lead >}} + +This section contains everything you need to know about Blowfish. If you're new, check out the guide to begin or visit the section to see what Blowfish can do. + +--- diff --git a/content/posts/_index.md b/content/posts/_index.md new file mode 100755 index 0000000..3f2fd64 --- /dev/null +++ b/content/posts/_index.md @@ -0,0 +1,17 @@ +--- +title: "Posts" +description: "Learn how to use Blowfish and its features." + +cascade: + showDate: true + showAuthor: true + invertPagination: true +--- + +{{< lead >}} +Simple, yet powerful. Learn how to use Blowfish and its features. +{{< /lead >}} + +This section contains everything you need to know about Blowfish. If you're new, check out the guide to begin or visit the section to see what Blowfish can do. + +--- diff --git a/content/posts/tryout (copy 1)/index.cs.md b/content/posts/tryout (copy 1)/index.cs.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 1)/index.cs.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout (copy 1)/index.es.md b/content/posts/tryout (copy 1)/index.es.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 1)/index.es.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout (copy 1)/index.md b/content/posts/tryout (copy 1)/index.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 1)/index.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout (copy 2)/index.cs.md b/content/posts/tryout (copy 2)/index.cs.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 2)/index.cs.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout (copy 2)/index.es.md b/content/posts/tryout (copy 2)/index.es.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 2)/index.es.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout (copy 2)/index.md b/content/posts/tryout (copy 2)/index.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 2)/index.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout (copy 3)/index.cs.md b/content/posts/tryout (copy 3)/index.cs.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 3)/index.cs.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout (copy 3)/index.es.md b/content/posts/tryout (copy 3)/index.es.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 3)/index.es.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout (copy 3)/index.md b/content/posts/tryout (copy 3)/index.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout (copy 3)/index.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout/index.cs.md b/content/posts/tryout/index.cs.md new file mode 100644 index 0000000..9920f0f --- /dev/null +++ b/content/posts/tryout/index.cs.md @@ -0,0 +1,18 @@ +--- +title: "Instalace" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout/index.es.md b/content/posts/tryout/index.es.md new file mode 100644 index 0000000..c4c5904 --- /dev/null +++ b/content/posts/tryout/index.es.md @@ -0,0 +1,18 @@ +--- +title: "Installacion" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/posts/tryout/index.md b/content/posts/tryout/index.md new file mode 100644 index 0000000..0f11c40 --- /dev/null +++ b/content/posts/tryout/index.md @@ -0,0 +1,18 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 1 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. \ No newline at end of file diff --git a/content/privacy.cs.md b/content/privacy.cs.md new file mode 100644 index 0000000..fc383ac --- /dev/null +++ b/content/privacy.cs.md @@ -0,0 +1,24 @@ +--- +title: 🕵️ Zásady ochrany osobních údajů +date: '2018-06-28T00:00:00+01:00' +draft: false +share: false +commentable: false +editable: false + +# Optional header image (relative to `static/media/` folder). +header: + caption: '' + image: '' +--- + +Tato stránka je publikována pomocí [Wowchemy theme](https://wowchemy.com/) pro [CSM Hugo](https://gohugo.io). Jelikož se jedná o [statickou stránku](https://en.wikipedia.org/wiki/Static_web_page), neshromažďuje ani nesdílí žádné osobní údaje s třetími stranami. Využívá však externí služby k přidání různých funkcí, které jsou podrobně uvedeny v následujícím seznamu. + +- [ Gitlab](https://about.gitlab.com/privacy/) pro hostování svého zdrojového kódu. +- [ Formspree](https://formspree.io/legal/privacy-policy/) pro kontaktní formulář +- [ Cloudfare](https://www.cloudflare.com/en-gb/privacypolicy/) pro jeho obsluhu a pro webovou analytiku. +- [ Creative Commons](https://creativecommons.org/privacy/) za licenci. + +Tyto webové stránky a jejich obsah jsem vytvořil jako soukromá osoba. Vyjádřené názory jsou mé vlastní a nemusí nutně vyjadřovat názory lidí, se kterými jsem dělal rozhovory nebo převzal myšlenky z jejich knih, videí a/nebo článků. + +Tyto webové stránky obsahují odkazy na webové stránky třetích stran ("externí odkazy"). Vzhledem k tomu, že obsah těchto webových stránek není pod mou kontrolou, nemohu za takový externí obsah nést žádnou odpovědnost. Ve všech případech odpovídá za obsah a správnost poskytovaných informací poskytovatel informací odkazovaných webových stránek. V době, kdy byly odkazy umístěny, jsem nepoznal žádné porušení zákona. Jakmile mi bude porušení zákona známo, neprodleně daný odkaz odstraním. diff --git a/content/privacy.es.md b/content/privacy.es.md new file mode 100644 index 0000000..0b316fa --- /dev/null +++ b/content/privacy.es.md @@ -0,0 +1,26 @@ +--- +title: 🕵️ Política de privacidad +date: '2018-06-28T00:00:00+01:00' +draft: false +share: false +commentable: false +editable: false + +# Optional header image (relative to `static/media/` folder). +header: + caption: '' + image: '' +--- + + Está página está publicada con [plantilla Wowchemy](https://wowchemy.com/) para [CSM Hugo](https://gohugo.io). Al ser un [sitio web estático](https://es.wikipedia.org/wiki/Página_web_estática), no recoge ni comparte con terceros ningún dato personal. Sin embargo, utiliza servicios externos para añadir diversas funcionalidades, las cuales se detallan en la siguiente lista. + + Se enlazan también sus respectivas políticas de privacidad. + +- [ Gitlab](https://about.gitlab.com/privacy/) para el alojamiento de su código fuente. +- [ Formspree](https://formspree.io/legal/privacy-policy/) para su formulario del contacto. +- [ Cloudfare](https://www.cloudflare.com/en-gb/privacypolicy/) para su servicio y para las analíticas web. +- [ Creative Commons](https://creativecommons.org/privacy/) para la licencia. + +Este sitio web y sus contenidos han sido creados a título personal. Las opiniones expresadas son mías y no representan necesariamente las de personas a las que he entrevistado o de las que he tomado ideas de sus libros, vídeos y/o artículos. + +Este sitio web contiene enlaces a sitios web de terceros ("enlaces externos"). Dado que el contenido de estos sitios web no está bajo mi control, no puedo asumir ninguna responsabilidad por dicho contenido externo. En todos los casos, el proveedor de la información de los sitios web enlazados es responsable del contenido y la exactitud de la información facilitada. En el momento de colocar los enlaces, no tenía conocimiento de ninguna infracción de la ley. En cuanto tenga conocimiento de una infracción de la ley, eliminaré inmediatamente el enlace en cuestión. diff --git a/content/privacy.md b/content/privacy.md new file mode 100644 index 0000000..f926b53 --- /dev/null +++ b/content/privacy.md @@ -0,0 +1,33 @@ +--- +title: 🕵️ Privacy Policy +date: '2023-07-28T00:00:00+01:00' +authors: +- vladimir-klimsa +tags: +- Privacy +categories: +- Site +draft: false +share: false +commentable: false +editable: false + +# Optional header image (relative to `static/media/` folder). +header: + caption: '' + image: '' +pager: true +show_breadcrumb: true +--- + + This page is published with [Wowchemy theme](https://wowchemy.com/) for [CSM Hugo](https://gohugo.io). Being a [static website](https://en.wikipedia.org/wiki/Static_web_page), it does not collect or share any personal data with third parties. However, it uses external services to add various functionalities, which are detailed in the following list. + +- [ Gitlab](https://about.gitlab.com/privacy/) for hosting it's source code. +- [ Formspree](https://formspree.io/legal/privacy-policy/) for contact form. +- [ Cloudfare](https://www.cloudflare.com/en-gb/privacypolicy/) for serving the page and analytics. +- [ Creative Commons](https://creativecommons.org/privacy/) for the license. [licence](/licence). + +This website and its contents were created in my personal capacity. The views expressed are my own and do not necessarily represent the views of people I have interviewed or taken ideas from their books, videos or/and articles. + +This website contains links to the websites of third parties („external links“). As the content of these websites is not under my control, I cannot assume any liability for such external content. In all cases, the provider of information of the linked websites is liable for the content and accuracy of the information provided. At the point in time when the links were placed, no infringements of the law were recognizable to me. As soon as an infringement of the law becomes known to me, I will immediately remove the link in question. + diff --git a/content/terms.cs.md b/content/terms.cs.md new file mode 100644 index 0000000..0629ea0 --- /dev/null +++ b/content/terms.cs.md @@ -0,0 +1,15 @@ +--- +title: Terms +date: '2018-06-28T00:00:00+01:00' +draft: true +share: false +commentable: false +editable: false + +# Optional header image (relative to `static/media/` folder). +header: + caption: '' + image: '' +--- + +Add your terms here and set `draft: false` to publish it. Otherwise, delete this file if you don't need it. diff --git a/content/terms.es.md b/content/terms.es.md new file mode 100644 index 0000000..0629ea0 --- /dev/null +++ b/content/terms.es.md @@ -0,0 +1,15 @@ +--- +title: Terms +date: '2018-06-28T00:00:00+01:00' +draft: true +share: false +commentable: false +editable: false + +# Optional header image (relative to `static/media/` folder). +header: + caption: '' + image: '' +--- + +Add your terms here and set `draft: false` to publish it. Otherwise, delete this file if you don't need it. diff --git a/content/terms.md b/content/terms.md new file mode 100644 index 0000000..26970a5 --- /dev/null +++ b/content/terms.md @@ -0,0 +1,15 @@ +--- +title: Terms +date: '2023-07-28T00:00:00+01:00' +draft: true +share: false +commentable: false +editable: false + +# Optional header image (relative to `static/media/` folder). +header: + caption: '' + image: '' +--- + +Add your terms here and set `draft: false` to publish it. Otherwise, delete this file if you don't need it. diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..7e568b8 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,3 @@ +baseURL = 'https://example.org/' +languageCode = 'en-us' +title = 'My New Hugo Site' diff --git a/layouts/partials/extend-footer.html b/layouts/partials/extend-footer.html new file mode 100644 index 0000000..b051ac1 --- /dev/null +++ b/layouts/partials/extend-footer.html @@ -0,0 +1,40 @@ + +
+
+
+
+
+ + + + +

Join 31,000+ other

+
+
+ +
+
+
+

About

+ Company +
+ +
+

Blog

+ Tec +
+ +
+

Products

+ Mega cloud +
+ +
+

Contact

+ +1 526 654 8965 +
+
+
+
+
+
\ No newline at end of file diff --git a/layouts/partials/home/custom.html b/layouts/partials/home/custom.html new file mode 100644 index 0000000..b46b0e4 --- /dev/null +++ b/layouts/partials/home/custom.html @@ -0,0 +1,565 @@ + +
+
+

+ Title +

+

template for Astro 4.0 + Tailwind CSS +

+

+ AstroWind is a free, customizable and production-ready template for Astro 4.0 + Tailwind CSS. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs.

+ + Learn more + + + Ask a Question + + +
+
+ + +
+
+Philosophy: Keep It Simple Stupid principle. Delicate dance of flow and elegance! +
+
+ + +
+
+FEATURES. What you get with AstroWind. One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +
+ + +
+
+
+

Features

+

+ What you get with AstroWind +

+

+ One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +

+
+
+
+
+
+ + + +
+
+

+ Awards good deed +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Liste greta deed +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ I am good camper +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Really. Ok that's fine +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ demo demo demo +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ More connected I become +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Plan

+

+ Blueprint +

+

+ Do or don't +

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

Step 1

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Step 2

+

+ The first mate and his Skipper too will do their very best to make the others comfortable in their tropic island nest. Michael Knight a young loner. +

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

Step 3

+

+ Tell them I hate them. Is the Space Pope reptilian!? Tell her she looks thin. Hello, little man. I will destroy you! +

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

Step 4

+

+ If one examines precultural libertarianism, one is faced with a choice: either accept rationalism or conclude that context is a product. +

+
+
+
+
+
+ +
+
+
+
+

Success

+

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

Events

+

+ Get somewthing +

+

+ Yummi yam +

+
+
+
+
+ +
+

Romy

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ +
+

Shjfsdractice

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+
+

Bio

+

+ I don't care +

+

+ He knows what he knows +

+
+
+
+ +
+
+
+

Real & Imaginatory

+

+ All recipes are written using certain conventions, which define the characteristics of common ingredients. The rules vary from place to place. +

+
+
+
+
+ + +
+
+
+

Toolbox

+

+ Favorite tools +

+

+ Pool of resources +

+
+
+
+ +

Sjsdfkjsdhsd

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

fuhusrhfrfirei

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

eiohfwuhfrwiu

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

No way we can do this

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

Don't get caught

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+ +

Yummi yumii yum

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + +
+
+
+

FAQ

+

+ Frequently asked questions +

+

+ About life +

+
+
+
+
+
+ + + +
+
+

+ What exactly is +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + + +
+
+

+ I struggle or not +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + + +
+
+

+ thoughts? +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + + +
+
+

+ Are we there yet? +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+ + + +
+
+

+ Meaning is abstract +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

+
+
+
+
+ + + +
+
+

+ Doesn't do that and this +

+

+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +

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

Recent

+

+ Publications +

+

+ Learning +

+
+
+
+
+ {{ partial "recent-articles/main.html" . }} +
+
+ + +
+
+
+
+

Contact

+

+ Ask and You shall receive +

+

+ I'll answer in working days in 48 hours +

+
+

+ Languages spoken and written: English 🇬🇧, Spanish 🇪🇸, Czech 🇨🇿 +

+ + 📨 Contact form + +
+
+
+ + +
+
+
+

Stats

+

+ I walk the talk +

+

+ Learning from ees +

+
+
+
+

7K

+

Shows

+
+
+

7K

+

Y. Views

+
+
+

7K

+

Winnings

+
+
+

7K

+

Experience

+
+
+
+ \ No newline at end of file diff --git a/layouts/partials/home/page.html b/layouts/partials/home/page.html new file mode 100644 index 0000000..f975914 --- /dev/null +++ b/layouts/partials/home/page.html @@ -0,0 +1,11 @@ +
+ {{ with .Title }} +
+

{{ . | emojify }}

+
+ {{ end }} +
{{ .Content | emojify }}
+
+
+ {{ partial "recent-articles/main.html" . }} +
diff --git a/layouts/shortcodes/list.html b/layouts/shortcodes/list.html new file mode 100644 index 0000000..e1f9533 --- /dev/null +++ b/layouts/shortcodes/list.html @@ -0,0 +1,45 @@ + +{{ $limit := .Get "limit" | default 1 }} +{{ $parent := .Page.RelPermalink }} +{{ $cardView := .Get "cardView" }} +{{ $where := .Get "where" }} +{{ $value := .Get "value" }} + + +{{ if $cardView | default false}} + +
+ {{ if $where }} + {{ range ( where .Site.RegularPages $where $value | first $limit ) }} + {{ if not (eq .RelPermalink $parent) }} + {{ partial "article-link/card.html" . }} + {{ end }} + {{end}} + {{ else }} + {{ range .Site.RegularPages | first $limit }} + {{ if not (eq .RelPermalink $parent) }} + {{ partial "article-link/card.html" . }} + {{ end }} + {{end}} + {{ end }} +
+ +{{ else }} + +
+ {{ if $where }} + {{ range ( where .Site.RegularPages $where $value | first $limit ) }} + {{ if not (eq .RelPermalink $parent) }} + {{ partial "article-link/simple.html" . }} + {{ end }} + {{end}} + {{ else }} + {{ range .Site.RegularPages | first $limit }} + {{ if not (eq .RelPermalink $parent) }} + {{ partial "article-link/simple.html" . }} + {{ end }} + {{end}} + {{ end }} +
+ +{{ end }} diff --git a/layouts/shortcodes/rawhtml.html b/layouts/shortcodes/rawhtml.html new file mode 100644 index 0000000..520ec17 --- /dev/null +++ b/layouts/shortcodes/rawhtml.html @@ -0,0 +1,2 @@ + +{{.Inner}} \ No newline at end of file diff --git a/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_1024x0_resize_q75_h2_box_2.webp b/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_1024x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..94f2006 Binary files /dev/null and b/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_1024x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_1320x0_resize_q75_h2_box_2.webp b/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_1320x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..b4c551b Binary files /dev/null and b/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_1320x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_330x0_resize_q75_h2_box_2.webp b/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_330x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..b14bf36 Binary files /dev/null and b/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_330x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_660x0_resize_q75_h2_box_2.webp b/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_660x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..0842347 Binary files /dev/null and b/resources/_gen/images/banner_hu0082d07535ed0530f2b90623953b6986_211638_660x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_1024x0_resize_q75_h2_box_2.webp b/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_1024x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..918f100 Binary files /dev/null and b/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_1024x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_1320x0_resize_q75_h2_box_2.webp b/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_1320x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..380e14d Binary files /dev/null and b/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_1320x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_330x0_resize_q75_h2_box_2.webp b/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_330x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..d6adffe Binary files /dev/null and b/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_330x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_660x0_resize_q75_h2_box_2.webp b/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_660x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..21aa13b Binary files /dev/null and b/resources/_gen/images/banner_huf298b8ec26a630e286ce9ac5c2b451d7_215846_660x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_192x192_fill_box_center_3.png b/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_192x192_fill_box_center_3.png new file mode 100644 index 0000000..d809d64 Binary files /dev/null and b/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_192x192_fill_box_center_3.png differ diff --git a/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_288x288_fill_box_center_3.png b/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_288x288_fill_box_center_3.png new file mode 100644 index 0000000..fa2a03e Binary files /dev/null and b/resources/_gen/images/blowfish_logo_hu184ea2fa12490a2458ca388a16ab730e_227816_288x288_fill_box_center_3.png differ diff --git a/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_1024x0_resize_q75_h2_box_2.webp b/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_1024x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..d703bd2 Binary files /dev/null and b/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_1024x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_1320x0_resize_q75_h2_box_2.webp b/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_1320x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..c793790 Binary files /dev/null and b/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_1320x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_330x0_resize_q75_h2_box_2.webp b/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_330x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..4e18316 Binary files /dev/null and b/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_330x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_660x0_resize_q75_h2_box_2.webp b/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_660x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..1805c24 Binary files /dev/null and b/resources/_gen/images/direction_hu00def4f934c8e3d654e09be3bd8f1211_162692_660x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_1024x0_resize_q75_h2_box_2.webp b/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_1024x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..454a243 Binary files /dev/null and b/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_1024x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_1320x0_resize_q75_h2_box_2.webp b/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_1320x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..7e0cbe5 Binary files /dev/null and b/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_1320x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_330x0_resize_q75_h2_box_2.webp b/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_330x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..aa21d0e Binary files /dev/null and b/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_330x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_660x0_resize_q75_h2_box_2.webp b/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_660x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..f84095e Binary files /dev/null and b/resources/_gen/images/map1_hu3d2e21e28212e3d13ea092e7b21ac38d_96582_660x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_1024x0_resize_q75_h2_box_2.webp b/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_1024x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..94a478d Binary files /dev/null and b/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_1024x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_1320x0_resize_q75_h2_box_2.webp b/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_1320x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..5445c39 Binary files /dev/null and b/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_1320x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_330x0_resize_q75_h2_box_2.webp b/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_330x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..f35b789 Binary files /dev/null and b/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_330x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_660x0_resize_q75_h2_box_2.webp b/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_660x0_resize_q75_h2_box_2.webp new file mode 100644 index 0000000..3e25755 Binary files /dev/null and b/resources/_gen/images/map1_hu40685f5be44b8a67056253b012b6ed5e_122492_660x0_resize_q75_h2_box_2.webp differ diff --git a/resources/_gen/images/posts/installation/featured_huf9c0ee880080a2c5ce74f9306a5c5593_602354_600x0_resize_box_3.png b/resources/_gen/images/posts/installation/featured_huf9c0ee880080a2c5ce74f9306a5c5593_602354_600x0_resize_box_3.png new file mode 100644 index 0000000..695de11 Binary files /dev/null and b/resources/_gen/images/posts/installation/featured_huf9c0ee880080a2c5ce74f9306a5c5593_602354_600x0_resize_box_3.png differ diff --git a/static/author2.png b/static/author2.png new file mode 100644 index 0000000..c1a3c06 Binary files /dev/null and b/static/author2.png differ diff --git a/static/banner.webp b/static/banner.webp new file mode 100644 index 0000000..92c5929 Binary files /dev/null and b/static/banner.webp differ diff --git a/static/bg-triangles.svg b/static/bg-triangles.svg new file mode 100644 index 0000000..c2d584a --- /dev/null +++ b/static/bg-triangles.svg @@ -0,0 +1 @@ + diff --git a/static/bg.jpg b/static/bg.jpg new file mode 100644 index 0000000..3a7617d Binary files /dev/null and b/static/bg.jpg differ diff --git a/static/blowfish.jpg b/static/blowfish.jpg new file mode 100644 index 0000000..ad842ea Binary files /dev/null and b/static/blowfish.jpg differ diff --git a/static/direction.webp b/static/direction.webp new file mode 100644 index 0000000..195a32a Binary files /dev/null and b/static/direction.webp differ diff --git a/static/dog.webp b/static/dog.webp new file mode 100644 index 0000000..7c80773 Binary files /dev/null and b/static/dog.webp differ diff --git a/static/iceland.jpg b/static/iceland.jpg new file mode 100644 index 0000000..6352a78 Binary files /dev/null and b/static/iceland.jpg differ diff --git a/static/icons/.gitkeep b/static/icons/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/static/icons/people-teamwork-svgrepo-com.svg b/static/icons/people-teamwork-svgrepo-com.svg new file mode 100644 index 0000000..5816738 --- /dev/null +++ b/static/icons/people-teamwork-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/static/icons/ying-yang.svg b/static/icons/ying-yang.svg new file mode 100644 index 0000000..e82570a --- /dev/null +++ b/static/icons/ying-yang.svg @@ -0,0 +1,15 @@ + + + + 927 + + + + + + + + + + + \ No newline at end of file diff --git a/static/map.webp b/static/map.webp new file mode 100644 index 0000000..f7b3d3d Binary files /dev/null and b/static/map.webp differ diff --git a/static/nuno_avatar.jpg b/static/nuno_avatar.jpg new file mode 100644 index 0000000..c350016 Binary files /dev/null and b/static/nuno_avatar.jpg differ diff --git a/static/ocean.jpg b/static/ocean.jpg new file mode 100644 index 0000000..9f1220a Binary files /dev/null and b/static/ocean.jpg differ diff --git a/static/paint.png b/static/paint.png new file mode 100644 index 0000000..6f6659a Binary files /dev/null and b/static/paint.png differ diff --git a/static/people-teamwork-svgrepo-com.svg b/static/people-teamwork-svgrepo-com.svg new file mode 100644 index 0000000..5816738 --- /dev/null +++ b/static/people-teamwork-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/static/roots.webp b/static/roots.webp new file mode 100644 index 0000000..5f673fb Binary files /dev/null and b/static/roots.webp differ diff --git a/static/ying-yang.svg b/static/ying-yang.svg new file mode 100644 index 0000000..e82570a --- /dev/null +++ b/static/ying-yang.svg @@ -0,0 +1,15 @@ + + + + 927 + + + + + + + + + + + \ No newline at end of file diff --git a/themes/blowfish/.firebaserc b/themes/blowfish/.firebaserc new file mode 100644 index 0000000..c3e300d --- /dev/null +++ b/themes/blowfish/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "blowfish-21fff" + } +} diff --git a/themes/blowfish/.github/ISSUE_TEMPLATE/bug_report.md b/themes/blowfish/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..8e7eaf1 --- /dev/null +++ b/themes/blowfish/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,35 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Hugo & Blowfish versions** +Which version of Hugo and Blowfish are you using? + +**Additional context** +Add any other context about the problem here. diff --git a/themes/blowfish/.github/ISSUE_TEMPLATE/feature_request.md b/themes/blowfish/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/themes/blowfish/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/themes/blowfish/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/themes/blowfish/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md new file mode 100644 index 0000000..ed2536f --- /dev/null +++ b/themes/blowfish/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -0,0 +1,7 @@ +## Describe your changes + +## Issue ticket number and link + +## Checklist before requesting a review +- [ ] I have performed a self-review of my code +- [ ] Will this be part of a product update? If yes, please write one phrase about this update. \ No newline at end of file diff --git a/themes/blowfish/.github/dependabot.yml b/themes/blowfish/.github/dependabot.yml new file mode 100644 index 0000000..0e5daa2 --- /dev/null +++ b/themes/blowfish/.github/dependabot.yml @@ -0,0 +1,25 @@ +# To get started with Dependabot version updates, you'll need to specify which +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + target-branch: "dev" + schedule: + interval: "weekly" + day: "wednesday" + commit-message: + prefix: "📌" + labels: + - "dependencies" + - package-ecosystem: "github-actions" + directory: "/" + target-branch: "dev" + schedule: + interval: "weekly" + day: "wednesday" + commit-message: + prefix: "👷" + labels: + - "dependencies" diff --git a/themes/blowfish/.github/workflows/build.yml b/themes/blowfish/.github/workflows/build.yml new file mode 100644 index 0000000..9bbec18 --- /dev/null +++ b/themes/blowfish/.github/workflows/build.yml @@ -0,0 +1,47 @@ +name: Build Theme + +on: [pull_request_target] + +jobs: + build: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: "${{ github.head_ref }}" + - name: Install dependencies and Build Theme + uses: actions/setup-node@v4 + - run: npm install + - run: npm run assets + - name: Commit and push Chart.js changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: "${{ github.head_ref }}" + push_options: "--dry-run" + file_pattern: "assets/lib/chart/*" + commit_message: "📦 Update packaged ChartJS" + - name: Commit Fuse changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: "${{ github.head_ref }}" + push_options: "--dry-run" + file_pattern: "assets/lib/fuse/*" + commit_message: "📦 Update packaged FuseJS" + - name: Commit KaTeX changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: "${{ github.head_ref }}" + push_options: "--dry-run" + file_pattern: "assets/lib/katex/*" + commit_message: "📦 Update packaged KaTeX" + - run: npm run build + - name: Commit CSS changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: "${{ github.head_ref }}" + push_options: "--dry-run" + file_pattern: "assets/css/compiled/main.css" + commit_message: "💄 Rebuild CSS" + - run: git push \ No newline at end of file diff --git a/themes/blowfish/.github/workflows/firebase-preview.yml b/themes/blowfish/.github/workflows/firebase-preview.yml new file mode 100644 index 0000000..caa90cf --- /dev/null +++ b/themes/blowfish/.github/workflows/firebase-preview.yml @@ -0,0 +1,38 @@ +name: Deploy Preview to Firebase +'on': pull_request +jobs: + build_and_preview: + if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}' + runs-on: ubuntu-latest + steps: + + - name: Hugo setup + uses: peaceiris/actions-hugo@v2.6.0 + with: + hugo-version: 0.120.4 + extended: true + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' + + - name: Check out code into the Go module directory + uses: actions/checkout@v4 + with: + submodules: true # Fetch Hugo themes (true OR recursive) + fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod + + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo -E -F --minify -s exampleSite --themesDir ../.. -d ../public --baseURL https://blowfish.page + + - name: Deploy preview + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_BLOWFISH_21FFF }}' + expires: 30d + channelId: preview-${{ github.event.number }} + projectId: blowfish-21fff diff --git a/themes/blowfish/.github/workflows/firebase-production.yml b/themes/blowfish/.github/workflows/firebase-production.yml new file mode 100644 index 0000000..7f276ca --- /dev/null +++ b/themes/blowfish/.github/workflows/firebase-production.yml @@ -0,0 +1,39 @@ +name: Deploy Production to Firebase +'on': + push: + branches: + - main +jobs: + build_and_deploy: + runs-on: ubuntu-latest + steps: + + - name: Hugo setup + uses: peaceiris/actions-hugo@v2.6.0 + with: + hugo-version: 0.120.4 + extended: true + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' + + - name: Check out code into the Go module directory + uses: actions/checkout@v4 + with: + submodules: true # Fetch Hugo themes (true OR recursive) + fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod + + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo -E -F --minify -s exampleSite --themesDir ../.. -d ../public --baseURL https://blowfish.page + + - name: Deploy Production + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_BLOWFISH_21FFF }}' + channelId: live + projectId: blowfish-21fff \ No newline at end of file diff --git a/themes/blowfish/.github/workflows/greetings.yml b/themes/blowfish/.github/workflows/greetings.yml new file mode 100644 index 0000000..0f38512 --- /dev/null +++ b/themes/blowfish/.github/workflows/greetings.yml @@ -0,0 +1,16 @@ +name: Greetings + +on: [pull_request_target, issues] + +jobs: + greeting: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/first-interaction@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: "Thanks for contributing to Blowfish" + pr-message: "Thanks for contributing to Blowfish" diff --git a/themes/blowfish/.github/workflows/pages.yml b/themes/blowfish/.github/workflows/pages.yml new file mode 100644 index 0000000..6aa8df8 --- /dev/null +++ b/themes/blowfish/.github/workflows/pages.yml @@ -0,0 +1,68 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Blowfish Docs Deploy + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.102.3 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Setup Pages + id: pages + uses: actions/configure-pages@v4 + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/ + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./docs + + # Deployment job + deploy: + environment: + name: github-pages + url: https://nunocoracao.github.io/blowfish/ + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/themes/blowfish/.github/workflows/stale.yml b/themes/blowfish/.github/workflows/stale.yml new file mode 100644 index 0000000..af00fdc --- /dev/null +++ b/themes/blowfish/.github/workflows/stale.yml @@ -0,0 +1,27 @@ +# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. +# +# You can adjust the behavior by modifying this file. +# For more information, see: +# https://github.com/actions/stale +name: Mark stale issues and pull requests + +on: + schedule: + - cron: '60 1 * * *' + +jobs: + stale: + + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + + steps: + - uses: actions/stale@v9 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'This issue will be closed since it has been stale for 60 days.' + stale-pr-message: 'This pull request will be closed since it has been stale for 60 days.' + stale-issue-label: 'no-issue-activity' + stale-pr-label: 'no-pr-activity' diff --git a/themes/blowfish/.github/workflows/test.yml b/themes/blowfish/.github/workflows/test.yml new file mode 100644 index 0000000..14cdafe --- /dev/null +++ b/themes/blowfish/.github/workflows/test.yml @@ -0,0 +1,25 @@ +name: Test Build + +on: [push] + +jobs: + build: + name: Build Example Site + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2.6.0 + with: + hugo-version: "latest" + + - name: Build + working-directory: ./exampleSite + run: hugo --minify --themesDir ../.. --baseURL https://nunocoracao.github.io/blowfish/ \ No newline at end of file diff --git a/themes/blowfish/.gitignore b/themes/blowfish/.gitignore new file mode 100644 index 0000000..e61adca --- /dev/null +++ b/themes/blowfish/.gitignore @@ -0,0 +1,32 @@ +# Hugo and Blowfish +public/ +resources/ +exampleSite/resources/ + +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Dependency directories (remove the comment below to include it) +# vendor/ + +#others +node_modules +.hugo_build.lock + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +.idea diff --git a/themes/blowfish/.vscode/blowfish.code-snippets b/themes/blowfish/.vscode/blowfish.code-snippets new file mode 100644 index 0000000..265bdc8 --- /dev/null +++ b/themes/blowfish/.vscode/blowfish.code-snippets @@ -0,0 +1,211 @@ +{ + "alert": { + "prefix": ["BFS-alert", "HSC-alert", "alert"], + "body": [ + "{{< alert ${1| ,icon=\"iconName\"|}${2| , iconColor=\"iconColor\"|}${3| , cardColor=\"cardColor\"|}${4| , textColor=\"textColor\"|} >}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{< /alert >}}" + ], + "description": "Outputs its contents as a stylised message box within your article. Blowfish alert Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#alert ", + }, + "article": { + "prefix": ["BFS-article", "HSC-article", "article"], + "body": [ + "{{< article link=\"${1:RelPermalink_Of_Target_Article}\">}}", + "$0" + ], + "description": " Embed a single article into a markdown file. The link to the file should be the .RelPermalink of the file to be embedded. Blowfish article Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#article ", + }, + "badge": { + "prefix": ["BFS-badge", "HSC-badge", "badge"], + "body": [ + "{{< badge >}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{< /badge >}}" + ], + "description": "Outputs a styled badge component which is useful for displaying metadata. Blowfish badge Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#badge ", + }, + "button": { + "prefix": ["BFS-button", "HSC-button", "button"], + "body": [ + "{{< button href=\"${1:url}\" target=\"${2:target}\" >}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{< /button >}}" + ], + "description": "Output a styled button component which can be used to highlight a primary action. Blowfish button Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#button ", + }, + "carousel": { + "prefix": ["BFS-carousel", "HSC-carousel", "carousel"], + "body": [ + "{{< carousel images=\"{${1:regex matching images }}\" aspectRatio=\"${2|16-9,21-9,32-9|}\" interval=\"${3:2000}\" >}}", + "$0" + ], + "description": "Showcase multiple images in an interactive and visually appealing way. Blowfish carousel Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#carousel ", + }, + "chart-bar": { + "prefix": ["BFS-chart-bar", "HSC-chart-bar", "chart-bar"], + "body": [ + "{{< chart >}} $0", + "type: 'bar',\r\ndata: {\r\n labels: ['January', 'February', 'March'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [65, 59, 80],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132, 0.2)',\r\n 'rgba(255, 159, 64, 0.2)',\r\n 'rgba(255, 205, 86, 0.2)'\r\n ],\r\n borderColor: [ \r\n 'rgb(255, 99, 132)',\r\n 'rgb(255, 159, 64)',\r\n 'rgb(255, 205, 86)'\r\n ],\r\n borderWidth: 1\r\n }]\r\n}" + "{{< /chart >}}" + ], + "description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ", + }, + "chart-doughnut": { + "prefix": ["BFS-chart-doughnut", "HSC-chart-doughnut", "chart-doughnut"], + "body": [ + "{{< chart >}} $0", + "type: 'doughnut',\r\ndata: {\r\n labels: ['Red', 'Blue', 'Yellow'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [300, 50, 100],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132, 0.7)',\r\n 'rgba(54, 162, 235, 0.7)',\r\n 'rgba(255, 205, 86, 0.7)'\r\n ],\r\n borderWidth: 0,\r\n hoverOffset: 4\r\n }]\r\n}", + "{{< /chart >}}" + ], + "description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ", + }, + "chart-line": { + "prefix": ["BFS-chart-line", "HSC-chart-line", "chart-line"], + "body": [ + "{{< chart >}} $0", + "type: 'line',\r\ndata: {\r\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [65, 59, 80, 81, 56, 55, 40],\r\n tension: 0.2\r\n }]\r\n}", + "{{< /chart >}}" + ], + "description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ", + }, + "chart": { + "prefix": ["BFS-chart", "HSC-chart", "chart"], + "body": [ + "{{< chart >}} $0", + "type: 'bar',\r\ndata: {\r\n labels: ['January', 'February', 'March'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [65, 59, 80],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132, 0.2)',\r\n 'rgba(255, 159, 64, 0.2)',\r\n 'rgba(255, 205, 86, 0.2)'\r\n ],\r\n borderColor: [ \r\n 'rgb(255, 99, 132)',\r\n 'rgb(255, 159, 64)',\r\n 'rgb(255, 205, 86)'\r\n ],\r\n borderWidth: 1\r\n }]\r\n}", + "type: 'doughnut',\r\ndata: {\r\n labels: ['Red', 'Blue', 'Yellow'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [300, 50, 100],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132, 0.7)',\r\n 'rgba(54, 162, 235, 0.7)',\r\n 'rgba(255, 205, 86, 0.7)'\r\n ],\r\n borderWidth: 0,\r\n hoverOffset: 4\r\n }]\r\n}", + "type: 'line',\r\ndata: {\r\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [65, 59, 80, 81, 56, 55, 40],\r\n tension: 0.2\r\n }]\r\n}", + "{{< /chart >}}" + ], + "description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ", + }, + "figure": { + "prefix": ["BFS-figure", "HSC-figure", "figure"], + "body": [ + "{{< figure src=\"${1:asset-src}\"${2| , alt=\"2:alt text\"|}${3| , caption=\"MD String to display beneath asset\"|}${4| , class=\"CSS Class to add to asset\"|}${5| , href=\"url to link asset to\"|}${6| , nozoom=true, nozoom=false|}${7| , default=true|} >}}", + ], + "description": "Add images to content. Blowfish figure Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#figure ", + }, + "gallery": { + "prefix": ["BFS-gallery", "HSC-gallery", "gallery"], + "body": [ + "{{< gallery >}}", + "", + "", + "$0", + "{{< /gallery >}}" + ], + "description": "Showcase multiple images at once, in a responsive manner with more varied and interesting layouts. Blowfish gallery Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#gallery ", + }, + "github": { + "prefix": ["BFS-github", "HSC-github", "github"], + "body": [ + "{{< github repo=\"${1:nunocoracao/blowfish}\" >}}$0", + ], + "description": "Quickly link a github repository. Blowfish github Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#github ", + }, + "gitlab": { + "prefix": ["BFS-gitlab", "HSC-gitlab", "gitlab"], + "body": [ + "{{< gitlab projectID=\"${1:278964}\"${2| , baseURL=\"https://gitlab.com\"|}$0 >}}", + ], + "description": "Quickly link a GitLab Project. Blowfish gitlab Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#gitlab ", + }, + "icon": { + "prefix": ["BFS-icon", "HSC-icon", "icon"], + "body": [ + "{{< icon \"${1:star}$0\" >}}", + ], + "description": "Output an SVG icon. Blowfish icon Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#icon ", + }, + "katex": { + "prefix": ["BFS-katex", "HSC-katex", "katex"], + "body": [ + "{{< katex >}}", + "$0" + ], + "description": "Add mathematical expressions to article content using the KaTeX package. Blowfish katex Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#katex ", + }, + "lead": { + "prefix": ["BFS-lead", "HSC-lead", "lead"], + "body": [ + "{{< lead >}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{< /lead >}}" + ], + "description": "Bring emphasis to the start of an article. Blowfish lead Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#lead ", + }, + "list": { + "prefix": ["BFS-list", "HSC-list", "list"], + "body": [ + "{{< list limit=\"${1:5}\"${2| , title=\"Recent\"|}${3| , where=\"Type\"|}${4| ,value=\"article\"|} >}}", + "{{/* The where and value values are used in the following query where .Site.RegularPages $where $value in the code of the shortcode. See Hugo Docs: https://gohugo.io/variables/page/ */}} $0", + ], + "description": "Display a list of recent articles. Blowfish list Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#list ", + }, + "ltr": { + "prefix": ["BFS-ltr", "HSC-ltr", "ltr"], + "body": [ + "{{% ltr %}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{% /ltr %}}" + ], + "description": "Allows you to mix your contents' reading direction. Blowfish ltr Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#ltr ", + }, + "mermaid": { + "prefix": ["BFS-mermaid", "HSC-mermaid", "mermaid"], + "body": [ + "{{< mermaid >}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{< /mermaid >}}" + ], + "description": "Draw detailed diagrams and visualisations using text. Blowfish mermaid Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#mermaid ", + }, + "rtl": { + "prefix": ["BFS-rtl", "HSC-rtl", "rtl"], + "body": [ + "{{% rtl %}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{% /rtl %}}" + ], + "description": "allows you to mix your contents. Blowfish rtl Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#rtl ", + }, + "swatches": { + "prefix": ["BFS-swatches", "HSC-swatches", "swatches"], + "body": [ + "{{< swatches \"#${1:00ff00}\"${2| , \"#0000FF\"|}${3| , \"#FF00FF\"|} >}}$0", + ], + "description": "Output a set of up to three different colors. Blowfish swatches Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#swatches ", + }, + "timeline": { + "prefix": ["BFS-timeline", "HSC-timeline", "timeline"], + "body": [ + "{{< timeline >}}", + "{{< timelineItem ${1| , icon=\"star\"|}${2| , header=\"Header\"|}${3| , badge=\"Badge Text\"|}${4| , subheader=\"SubHeader\"|} >}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{< /timelineItem >}}", + "{{< /timeline >}}" + ], + "description": "Create a linear visual timeline that can be used in different use-cases. Blowfish timeline Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#timeline ", + }, + "timelineItem": { + "prefix": ["BFS-timelineItem", "HSC-timelineItem", "timelineItem"], + "body": [ + "{{< timelineItem ${1| , icon=\"star\"|}${2| , header=\"Header\"|}${3| , badge=\"Badge Text\"|}${4| , subheader=\"SubHeader\"|} >}}", + "${TM_SELECTED_TEXT:${CLIPBOARD}}$0", + "{{< /timelineItem >}}", + ], + "description": "Create an element within a timeline. Blowfish timelineItem Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#timeline ", + }, + "typeit": { + "prefix": ["BFS-typeit", "HSC-typeit", "typeit"], + "body": [ + "${1:Type-Initial-String-then-press-tab}\r{{< typeit tag=\"${2|div,span,aside,p,header,footer,main,section,h1,h2,h3,h4,h5,h6,hgroup,code,kbd,q,samp,portal|}\"${3| , classList=\"rounded\"|} initialString=\"${1:Type-Initial-Text-and-hit-tab}\"${4| , speed=\"19\"|}${5| , lifeLike=true, lifeLike=false|}${6| , startDelay=\"250\"|}${7| , breakLines=true, breakLines=false|}${8| , waitUntilVisible=true, waitUntilVisible=false|}${9| , loop=true, loop=false|} >}}", + "${TM_SELECTED_TEXT:$CLIPBOARD} $0", + "{{< /typeit >}}" + ], + "description": "Typewriter-Like text. Blowfish typeit Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#typeit https://www.typeitjs.com/docs/vanilla/usage/ ", + }, + +} \ No newline at end of file diff --git a/themes/blowfish/.vscode/codesnippets-doc.md b/themes/blowfish/.vscode/codesnippets-doc.md new file mode 100644 index 0000000..c527dd6 --- /dev/null +++ b/themes/blowfish/.vscode/codesnippets-doc.md @@ -0,0 +1,237 @@ +# [Making VSCode Snippets][vscode-snippets-docs] + +This info sourced from: [VSCode's docs][vscode-snippets-docs] + +A useful bit of info is that VSCode Snippets are intended to be compatible with [textmate code snippets](https://macromates.com/textmate/manual/snippets) + +## [Creating your own](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets) + +### [File template snippets](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_file-template-snippets) + +You can add the `isFileTemplate` attribute to your snippet's definition if the snippet is intended to populate or replace a file's contents. File template snippets are displayed in a dropdown when you run the **Snippets: Populate File from Snippet** command in a new or existing file. + +## [Snippet scope](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-scope) + +Snippets are scoped so that only relevant snippets are suggested. Snippets can be scoped by either: + +1. the **language(s)** to which snippets are scoped (possibly all) +2. the **project(s)** to which snippets are scoped (probably all) + +### [Language snippet scope](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_language-snippet-scope) + +Every snippet is scoped to one, several, or all ("global") languages based on whether it is defined in: + +1. a **language** snippet file +2. a **global** snippet file + +Single-language user-defined snippets are defined in a specific language's snippet file (for example `javascript.json`), which you can access by language identifier through **Snippets: Configure User Snippets**. A snippet is only accessible when editing the language for which it is defined. + +Multi-language and global user-defined snippets are all defined in "global" snippet files (JSON with the file suffix `.code-snippets`), which is also accessible through **Snippets: Configure User Snippets**. In a global snippets file, a snippet definition may have an additional `scope` property that takes one or more [language identifiers](https://code.visualstudio.com/docs/languages/identifiers), which makes the snippet available only for those specified languages. If no `scope`property is given, then the global snippet is available in **all** languages. + +Most user-defined snippets are scoped to a single language, and so are defined in a language-specific snippet file. + +### [Project snippet scope](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_project-snippet-scope) + +You can also have a global snippets file (JSON with file suffix `.code-snippets`) scoped to your project. Project-folder snippets are created with the **New Snippets file for ''...** option in the **Snippets: Configure User Snippets** dropdown menu and are located at the root of the project in a `.vscode` folder. Project snippet files are useful for sharing snippets with all users working in that project. Project-folder snippets are similar to global snippets and can be scoped to specific languages through the `scope` property. + + +## [Snippet syntax](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax) + +The `body` of a snippet can use special constructs to control cursors and the text being inserted. The following are supported features and their syntaxes: + +### [Tabstops](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_tabstops) + +With tabstops, you can make the editor cursor move inside a snippet. Use `$1`, `$2` to specify cursor locations. The number is the order in which tabstops will be visited, whereas `$0` denotes the final cursor position. Multiple occurrences of the same tabstop are linked and updated in sync. + +### [Placeholders](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_placeholders) + +Placeholders are tabstops with values, like `${1:foo}`. The placeholder text will be inserted and selected such that it can be easily changed. +Placeholders can be nested, like `${1:another ${2:placeholder}}`. + +### [Choice](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_choice) + +Placeholders can have choices as values. The syntax is a comma-separated enumeration of values, enclosed with the pipe-character, for example `${1|one,two,three|}`. When the snippet is inserted and the placeholder selected, choices will prompt the user to pick one of the values. + +### [Variables](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables) + +With `$name` or `${name:default}`, you can insert the value of a variable. When a variable isn't set, its **default** or the empty string is inserted. When a variable is unknown (that is, its name isn't defined) the name of the variable is inserted and it is transformed into a placeholder. + +The following variables can be used: + +`TM_SELECTED_TEXT` +: The currently selected text or the empty string + +`TM_CURRENT_LINE` +: The contents of the current line + +`TM_CURRENT_WORD` +: The contents of the word under cursor or the empty string + +`TM_LINE_INDEX` +: The zero-index based line number + +`TM_LINE_NUMBER` +: The one-index based line number + +`TM_FILENAME` +: The filename of the current document + +`TM_FILENAME_BASE` +: The filename of the current document without its extensions + +`TM_DIRECTORY` +: The directory of the current document + +`TM_FILEPATH` +: The full file path of the current document + +`RELATIVE_FILEPATH` +: The relative (to the opened workspace or folder) file path of the current document + +`CLIPBOARD` +: The contents of your clipboard + +`WORKSPACE_NAME` +: The name of the opened workspace or folder + +`WORKSPACE_FOLDER` +: The path of the opened workspace or folder + +`CURSOR_INDEX` +: The zero-index based cursor number + +`CURSOR_NUMBER` +: The one-index based cursor number + +#### Inserting the current date and time: + +`CURRENT_YEAR` +: The current year + +`CURRENT_YEAR_SHORT` +: The current year's last two digits + +`CURRENT_MONTH` +: The month as two digits (example '02') + +`CURRENT_MONTH_NAME` +: The full name of the month (example 'July') + +`CURRENT_MONTH_NAME_SHORT` +: The short name of the month (example 'Jul') + +`CURRENT_DATE` +: The day of the month as two digits (example '08') + +`CURRENT_DAY_NAME` +: The name of day (example 'Monday') + +`CURRENT_DAY_NAME_SHORT` +: The short name of the day (example 'Mon') + +`CURRENT_HOUR` +: The current hour in 24-hour clock format + +`CURRENT_MINUTE` +: The current minute as two digits + +`CURRENT_SECOND` +: The current second as two digits + +`CURRENT_SECONDS_UNIX` +: The number of seconds since the Unix epoch + +`CURRENT_TIMEZONE_OFFSET` +: The current UTC time zone offset as +HH:MM or -HH:MM (example -07:00). + + +#### Inserting random values: + +RANDOM 6 random Base-10 digits +RANDOM_HEX 6 random Base-16 digits +UUID A Version 4 UUID +#### Inserting line or block comments, honoring the current language: + +`BLOCK_COMMENT_START` +: Example output: in PHP `/*` or in HTML `` + +`LINE_COMMENT` +: Example output: in PHP `//` + + +### [Variable transforms](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variable-transforms) + +Transformations allow you to modify the value of a variable before it is inserted. The definition of a transformation consists of three parts: + +1. A regular expression that is matched against the value of a variable, or the empty string when the variable cannot be resolved. +2. A "format string" that allows to reference matching groups from the regular expression. The format string allows for conditional inserts and simple modifications. +3. Options that are passed to the regular expression. + +The following example inserts the name of the current file without its ending, so from `foo.txt` it makes `foo`. + +``` +${TM_FILENAME/(.*)\\..+$/$1/} + | | | | + | | | |-> no options + | | | + | | |-> references the contents of the first + | | capture group + | | + | |-> regex to capture everything before + | the final `.suffix` + | + |-> resolves to the filename +``` + +### [Placeholder-Transform](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_placeholdertransform) + +Like a Variable-Transform, a transformation of a placeholder allows changing the inserted text for the placeholder when moving to the next tab stop. The inserted text is matched with the regular expression and the match or matches - depending on the options - are replaced with the specified replacement format text. Every occurrence of a placeholder can define its own transformation independently using the value of the first placeholder. The format for Placeholder-Transforms is the same as for Variable-Transforms. + +### [Transform examples](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_transform-examples) + +The examples are shown within double quotes, as they would appear inside a snippet body, to illustrate the need to double escape certain characters. Sample transformations and the resulting output for the filename `example-123.456-TEST.js`. + +|Example|Output|Explanation| +|---|---|---| +|`"${TM_FILENAME/[\\.]/_/}"`|`example-123_456-TEST.js`|Replace the first `.` with `_`| +|`"${TM_FILENAME/[\\.-]/_/g}"`|`example_123_456_TEST_js`|Replace each `.` or `-`with `_`| +|`"${TM_FILENAME/(.*)/${1:/upcase}/}"`|`EXAMPLE-123.456-TEST.JS`|Change to all uppercase| +|`"${TM_FILENAME/[^0-9^a-z]//gi}"`|`example123456TESTjs`|Remove non-alphanumeric characters| + +### [Grammar](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_grammar) + +Below is the EBNF ([extended Backus-Naur form](https://en.wikipedia.org/wiki/Extended_Backus-Naur_form)) for snippets. With `\` (backslash), you can escape `$`, `}`, and `\`. Within choice elements, the backslash also escapes comma and pipe characters. + +``` +any ::= tabstop | placeholder | choice | variable | text +tabstop ::= '$' int + | '${' int '}' + | '${' int transform '}' +placeholder ::= '${' int ':' any '}' +choice ::= '${' int '|' text (',' text)* '|}' +variable ::= '$' var | '${' var '}' + | '${' var ':' any '}' + | '${' var transform '}' +transform ::= '/' regex '/' (format | text)+ '/' options +format ::= '$' int | '${' int '}' + | '${' int ':' '/upcase' | '/downcase' | '/capitalize' | '/camelcase' | '/pascalcase' '}' + | '${' int ':+' if '}' + | '${' int ':?' if ':' else '}' + | '${' int ':-' else '}' | '${' int ':' else '}' +regex ::= JavaScript Regular Expression value (ctor-string) +options ::= JavaScript Regular Expression option (ctor-options) +var ::= [_a-zA-Z] [_a-zA-Z0-9]* +int ::= [0-9]+ +text ::= .* +if ::= text +else ::= text +``` + + + + +[vscode-snippets-docs]: + diff --git a/themes/blowfish/.vscode/textmate-code-snippets.md b/themes/blowfish/.vscode/textmate-code-snippets.md new file mode 100644 index 0000000..b0d87fe --- /dev/null +++ b/themes/blowfish/.vscode/textmate-code-snippets.md @@ -0,0 +1,185 @@ +# [Textmate Code Snippets](https://macromates.com/textmate/manual/snippets) + + +A snippet is a piece of text that you would like to insert in your document. It can include code to run at insertion time, variables (like selected text), tab stops/placeholders for missing information (which you can tab through after insertion) and perform transformations on the data which you enter in the placeholders. + +Snippets are created in the bundle editor and are often assigned a tab trigger for easy insertion. + +## Grammar + +Snippets support the following constructs: + +``` +$«int» +${«int»} +${«int»:«any»} +${«int»/«regexp»/«format»/«options»} +${«int»|«choice 1»,…,«choice n»|} +`«code»` +«format» +``` + +In the above, `«format»` is a format string and `«any»` refers to any of the above. + +The next sections will give examples of each of the above. + +## Plain Text + +In the simplest case, you can use snippets to insert text that you do not want to type again and again, either because you type it a lot, or because the actual text to insert is hard to remember (like your bank account details or the HTML entities for the Apple modifier keys). + +If you use snippets to insert plain text there is only one thing you should be aware of: `$` and `` ` `` are reserved characters. So if you want to insert one of these, prefix it with an escape (i.e. `\$`). An escape not followed by one of these two characters (or followed by another escape) will be inserted as a literal character. + +## Variables + +You can use any of TextMate’s defined variables by prefixing the name of the variable with `$`. All the normal dynamic variables are supported, the most useful probably being `TM_SELECTED_TEXT`. If for example we want to create a snippet which wraps the selection in a LaTeX `\textbf` command, we can make a snippet which is: + +``` +\textbf{$TM_SELECTED_TEXT} +``` + +If no text is selected the variable will not be set, so nothing will be inserted in its place. We can provide a default value by using format string syntax: `${«variable»:«default value»}`. For example: + +``` +\textbf{${TM_SELECTED_TEXT:no text was selected}} +``` + +The default value can itself contain variables or shell code. If you want the default text to contain a `}`, you need to escape it. But all other characters are used verbatim. + +Variables also support regular expression replacements using this syntax: `${«variable»/«regexp»/«format»/«options»}`. If the variable is not set the replacement will be performed on the empty string. For example, to prepend a bullet to each non-empty line in the selection (and insert that) we can do: + +``` +${TM_SELECTED_TEXT/^.+$/• $0/g} +``` + +## Interpolated Shell Code + +You can use backticks to have shell code executed when the snippet is inserted. The result from running the code gets inserted into the snippet, though with the last newline in the result removed (if present). So for example to create a snippet that wraps the selection in an HTML link, where the URL of that link comes from the clipboard, we can do: + +``` +$TM_SELECTED_TEXT +``` + +Since this is normal shell code, we can write a small program. For example we can let it verify that the clipboard contains only a single line of text like this: + +``` +$TM_SELECTED_TEXT +``` + +Inside shell code, the only character you need to escape is the backtick. + +## Tab Stops + +After insertion, the caret will be placed after the last character of the snippet. This is not always desirable and we can change that by using `$0` to mark where we want the caret to be. So if for example we make an HTML `div`-snippet and want the caret to end between the opening and closing tags, we could make it like this: + +``` +
+ $0 +
+``` + +Often though we want to fill in text in several places in the snippet. Multiple tab stops can be provided by inserting `$1`-`$n`. The caret will start at `$1`, then when pressing tab it will move to `$2` and `$3` on next tab etc. until there are no more tab stops. If you do not explicitly set `$0`, the caret will be at the end of the snippet. + +So we could for example change the above to: + +``` + + $0 +
+``` + +This allows us to fill in an argument and then tab on to `$0`. + +## Placeholders + +Like variables, tab stops can also have default values (and are generally referred to as placeholders when they do). The syntax is the same: `${«tab stop»:«default value»}`. And the default value can contain both text, shell code and other placeholders. So we can refine the previous example further: + +``` + + $0 +
+``` + +Inserting this snippet will insert a `div` tag with the `id` argument selected and we can then decide either to overtype the argument (i.e. delete it) and press tab again to reach `$0`, or we can press tab immediately to get to the second tab stop (the value part of the argument) and edit that. + +When you edit the placeholder text, any embedded tab stops will be removed. + +## Mirrors + +There are times when you need to provide the same value several places in the inserted text and in these situations you can re-use the tab stop to signal that you want it mirrored at that location. So for example to create a LaTeX environment with a snippet, we can use: + +``` +\begin{${1:enumerate}} + $0 +\end{$1} +``` + +After inserting this snippet, `enumerate` will be selected and if we edit it, the changes will be reflected in the `\end` part as well. + +## Transformations + +There are situations where we want our placeholder text mirrored but with slight changes or where we want some text to appear depending on the value/presence of a placeholder. + +We can accomplish this by doing a regular expression substitution on the placeholder text (when mirroring it). The syntax for this is: `${«tab stop»/«regexp»/«format»/«options»}`. + +As an example, the Objective-C getter/setter methods (prior to the `@property` keyword) often look like this (in the [thread-unsafe form](http://ticket.macromates.com/show?ticket_id=E11D9EAF)): + +``` +- (id)foo +{ + return foo; +} + +- (void)setFoo:(id)aValue +{ + [foo autorelease]; + foo = [aValue retain]; +} +``` + +In the format string we can use `${«var»:/upcase}` to uppercase the matched character, so a snippet that only asks for the name of the instance variable once could look like this: + +``` +- (${1:id})${2:foo} +{ + return $2; +} + +- (void)set${2/./${0:/upcase}/}:($1)aValue +{ + [$2 autorelease]; + $2 = [aValue retain]; +} +``` + +We can also use conditional insertions in the format string (`${«var»:+«if-set»}`) to make decisions. For example if we create a snippet for a method we can let the return type decide whether or not the method should include a `return` statement like this: + +``` +- (${1:void})${2:methodName} +{${1/void$|(.+)/${1:+\n\treturn nil;}/} +} +``` + +Here we match placeholder 1 against `void` or anything (`.+`) and put the latter match in capture register 1. Then only if we did match something (other than `void`) will we insert a newline, tab and the `return nil;` text. + +## Multiple Choices + +Sometimes a placeholder can only take a limited number of values in which case we may want to show a menu with these choices. + +This can be done with the `${«int»|«choice 1»,…,«choice n»|}` syntax. + +For example: + +``` +color: ${1|red,green,blue|} +``` + + [Text Editing](https://macromates.com/textmate/manual/text-editing) + + [Table of Contents](https://macromates.com/textmate/manual/) + +[Commands](https://macromates.com/textmate/manual/commands)  \ No newline at end of file diff --git a/themes/blowfish/CODE_OF_CONDUCT.md b/themes/blowfish/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..1a1619c --- /dev/null +++ b/themes/blowfish/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## 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, 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 +https://twitter.com/nunocoracao. +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][homepage], +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](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +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/themes/blowfish/CONTRIBUTING.md b/themes/blowfish/CONTRIBUTING.md new file mode 100644 index 0000000..d91ed1f --- /dev/null +++ b/themes/blowfish/CONTRIBUTING.md @@ -0,0 +1,53 @@ +## How to contribute to Blowfish + +### Bugs & other issues + +#### Found a bug? 🐛 + +- **Ensure the bug has not already been reported** by searching [GitHub Issues](https://github.com/nunocoracao/blowfish/issues). If there's already an open issue, feel free to add any extra information you might have about the issue. +- If you're unable to find an open issue matching the problem, [open a new one](https://github.com/nunocoracao/blowfish/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample**, **screenshot**, or a **test case** demonstrating the expected behavior that is not occurring. +- Where possible, use the bug report templates to create the issue. Avoid including descriptions like "bug", "feature", etc in the issue title as these will be handled by labels. + +#### Have a patch that fixes an issue? + +- Great! Open a new GitHub pull request with the patch. +- All development occurs on the `dev` branch and new PRs should be forked from here. +- The command `npm run example` can be used to test local changes using the example site. +- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number, if applicable. +- **Before submitting**, check the [coding conventions](#coding-conventions) section below to learn more about coding and commit message expectations. + +### New features & enhancements + +#### Do you intend to add a new feature, or change an existing one? + +- Enhancements are welcome but before implementing any features, be sure to suggest your change by opening a [new discussion](https://github.com/nunocoracao/blowfish/discussions/new) about your idea. Enhancements are discussed to ensure they fit with the project's design intent and overall roadmap. +- Before opening a discussion, [check to see](https://github.com/nunocoracao/blowfish/discussions/categories/ideas) if a similar idea is already being discussed. +- All ideas and suggestions are welcome and will be judged on their merits. +- If the community supports your idea, go ahead and submit a PR with the implemented feature. + +### Questions? 🙋‍♀️ + +- If you have a general question, these should be asked using [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions). Feel free to open a [new discussion](https://github.com/nunocoracao/blowfish/discussions/new) to ask your question using the "Q&A" category. +- Be sure to check if your question has already been answered by searching [existing Q&A discussions](https://github.com/nunocoracao/blowfish/discussions/categories/q-a). + +### Coding conventions + +- Indent using 2 spaces (soft tabs). +- Put spaces between list items (ie. `[1, 2, 3]`, not `[1,2,3]`), around operators (ie. `1 + 1`, not `1+1`) and inside go templating tags (ie. `{{< alert >}}`, not `{{}}`). +- Avoid code reuse in templates by extracting components into partials. +- Layout code in a logical manner that prioritises readibility. +- Add comments when the intent of the code isn't immediately apparent or to break up large blocks of logic. +- Use relative paths to assets without including the preceeding slash but, when referring to a folder, including a trailing slash (ie. `static/img/`, not `/static/img/` or `/static/img`). +- Any static text must be referenced using the `i18n` methods and included in the localisation assets. +- Commit often, preferring incremental changes rather than bundling everything into a single, large commit. + +The project includes a Prettier config that helps to format code in line with these guidelines. + +#### Commit message guidelines + +- Use [Gitmoji](https://gitmoji.dev) in commit messages to provide context. +- Clearly describe the change with a short summary in the first 72 characters. +- Place more detailed explanations in paragraphs below the summary, separated by a blank line. +- Use imperative language (ie. "Fix bug", not "Fixed bug" or "Fixes bug"). +- Do not end the summary line with a period. +- Reference any issues fixed using their GitHub issue number. \ No newline at end of file diff --git a/themes/blowfish/FUNDING.yml b/themes/blowfish/FUNDING.yml new file mode 100644 index 0000000..97cf971 --- /dev/null +++ b/themes/blowfish/FUNDING.yml @@ -0,0 +1,2 @@ +github: [nunocoracao] +custom: ["https://www.paypal.me/nunocoracao", "https://www.buymeacoffee.com/nunocoracao"] \ No newline at end of file diff --git a/themes/blowfish/LICENSE b/themes/blowfish/LICENSE new file mode 100644 index 0000000..37b1ead --- /dev/null +++ b/themes/blowfish/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2021 James Panther (https://jamespanther.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/blowfish/README.md b/themes/blowfish/README.md new file mode 100644 index 0000000..648efd9 --- /dev/null +++ b/themes/blowfish/README.md @@ -0,0 +1,149 @@ +# Blowfish + +Buy Me A Coffee + + +[![Deploy Production to Firebase](https://github.com/nunocoracao/blowfish/actions/workflows/firebase-production.yml/badge.svg)](https://github.com/nunocoracao/blowfish/actions/workflows/firebase-production.yml) +[![Deploy Production to GitHub pages](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml/badge.svg)](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml) +[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.87.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.87.0) +[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE) +[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/) +![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish) + +Blowfish is designed to be a powerful, lightweight theme for [Hugo](https://gohugo.io). It's built using Tailwind CSS with a clean and minimalist design that prioritises to your content. The theme is a fork of [Congo](https://github.com/jpanther/congo). + +🌏 [Demo site](https://blowfish.page/) +📑 [Theme documentation](https://blowfish.page/docs/) +💎 [Merch Store](http://tee.pub/lic/qwSlWVBL5zc) +🐛 [Bug reports & issues](https://github.com/nunocoracao/blowfish/issues) +💡 [Questions & feature requests](https://github.com/nunocoracao/blowfish/discussions) + +![blowfish logo](https://github.com/nunocoracao/blowfish/blob/main/logo.png?raw=true) + + +## Features + +- Fully responsive layout built with Tailwind CSS 3.0 +- Multiple colour schemes (or fully customise your own) +- Dark mode (forced on/off or auto-switching with user toggle) +- Highly customisable configuration +- Firebase integration to support dynamic data +- Views count & like mechanism +- Related articles +- Multiple homepage layouts +- Multiple authors +- Series of articles +- Zen mode for article reading +- Flexible with any content types, taxonomies and menus +- Header and footer menus +- Nested menus & sub-navigation menu +- Multilingual content support inlcuding support for RTL languages +- Ability to link to posts on third-party websites +- Support for several shortcodes like Gallery, Timeline, GitHub cards, and Carousels +- Buymeacoffee integration +- Client-side site search powered by Fuse.js +- Diagrams and visualisations using Mermaid +- Charts using Chart.js +- TypeIt integration +- Mathematical notation using KaTeX +- SVG icons from FontAwesome 6 +- Automatic image resizing using Hugo Pipes +- Heading anchors, Tables of Contents, Code copy, Buttons, Badges and more +- HTML and Emoji support in articles 🎉 +- SEO friendly with links for sharing to social media +- Fathom Analytics and Google Analytics support +- RSS feeds, Favicons and comments support +- Advanced customisation using simple Tailwind colour definitions and styles +- Optimised for performance and accessibility with perfect Lighthouse scores +- Fully documented with regular updates + +--- + +## Documentation + +Blowfish has [extensive documentation](https://blowfish.page/docs/) that covers all aspects of the theme. Be sure to [read the docs](https://blowfish.page/docs/) to learn more about how to use the theme and its features. + +--- + +## Installation + +Blowfish supports several installation methods - as a git submodule, a Hugo Module, or as a completely manual install. + +Detailed instructions for each method can be found in the [Installation](https://blowfish.page/docs/installation) docs. You should consult the documentation for the simplest setup experience. Below is a quick start guide using submodules if you are using git, or Hugo modules if you're already confident installing Hugo themes. + +### Quick start using git submodules + +> **Note:** Ensure you have **Git**, **Go**, and **Hugo** installed, and that you have created a new Hugo project before proceeding. + +1. From your project directory, initialise git: + + ```shell + git init + ``` + +2. Configure Blowfish as a git submodule: + + ```shell + git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish + ``` + +3. In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder. + + You will find these theme config files in the Hugo cache directory, or [download a copy](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/nunocoracao/blowfish/tree/main/config/_default) from GitHub. + +4. Follow the [Getting Started](https://blowfish.page/docs/getting-started/) instructions to configure your website. + +### Quick start using Hugo + +> **Note:** Ensure you have **Go** and **Hugo** installed, and that you have created a new Hugo project before proceeding. + +1. From your project directory, initialise Hugo Modules: + + ```shell + hugo mod init github.com// + ``` + +2. Create `config/_default/module.toml` and add the following: + + ```toml + [[imports]] + path = "github.com/nunocoracao/blowfish/v2" + ``` + +3. Start your server using `hugo server` and the theme will be downloaded automatically. + +4. In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder. + + > **Note:** Do not overwrite the `module.toml` file you created above! + + You will find these theme config files in the Hugo cache directory, or [download a copy](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/nunocoracao/blowfish/tree/main/config/_default) from GitHub. + +5. Follow the [Getting Started](https://blowfish.page/docs/getting-started/) instructions to configure your website. + +### Installing theme updates + +As new releases are posted, you can update the theme using Hugo. Simply run `hugo mod get -u` from your project directory and the theme will automatically update to the latest release. + +Detailed [update instructions](https://blowfish.page/docs/installation/#installing-updates) are available in the docs. + +--- + +## Contributing + +Blowfish is expected to evolve over time. I intend to keep adding features and making changes as required. + +Feel free to get in touch with any issues or suggestions for new features you'd like to see. + +- 🐛 **Bug reports & issues:** Use [GitHub Issues](https://github.com/nunocoracao/blowfish/issues) +- 💡 **Ideas for new features:** Open a discussion on [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions) +- 🙋‍♀️ **General questions:** Head to [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions) + +If you're able to fix a bug or implement a new feature, I welcome PRs for this purpose. Learn more in the [contributing guidelines](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md). + +--- + +## Stargazers over time + +[![Stargazers over time](https://starchart.cc/nunocoracao/blowfish.svg)](https://starchart.cc/nunocoracao/blowfish) + +Mastodon diff --git a/themes/blowfish/archetypes/default.md b/themes/blowfish/archetypes/default.md new file mode 100644 index 0000000..97f90a6 --- /dev/null +++ b/themes/blowfish/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +description: "" +--- diff --git a/themes/blowfish/archetypes/external.md b/themes/blowfish/archetypes/external.md new file mode 100644 index 0000000..80f16dc --- /dev/null +++ b/themes/blowfish/archetypes/external.md @@ -0,0 +1,10 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +externalUrl: "" +summary: "" +showReadingTime: false +_build: + render: "false" + list: "local" +--- diff --git a/themes/blowfish/assets/css/compiled/main.css b/themes/blowfish/assets/css/compiled/main.css new file mode 100644 index 0000000..b36cdd9 --- /dev/null +++ b/themes/blowfish/assets/css/compiled/main.css @@ -0,0 +1,8179 @@ +/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */ + +#zen-mode-button { + cursor:pointer +} + +.zen-mode { + position: relative; +} + +body.zen-mode-enable { + #bmc-wbtn, .author { + display:none !important; + } +} + +/*! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com */ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: currentColor; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +7. Disable tap highlights on iOS +*/ + +html, +:host { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ + -webkit-tap-highlight-color: transparent; + /* 7 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font-family by default. +2. Use the user's configured `mono` font-feature-settings by default. +3. Use the user's configured `mono` font-variation-settings by default. +4. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-feature-settings: normal; + /* 2 */ + font-variation-settings: normal; + /* 3 */ + font-size: 1em; + /* 4 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden] { + display: none; +} + +[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + background-color:#fff; + border-color:#6b7280; + border-width:1px; + border-radius:0px; + padding-top:0.5rem; + padding-right:0.75rem; + padding-bottom:0.5rem; + padding-left:0.75rem; + font-size:1rem; + line-height:1.5rem; + --tw-shadow:0 0 #0000; +} + +[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { + outline:2px solid transparent; + outline-offset:2px; + --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width:0px; + --tw-ring-offset-color:#fff; + --tw-ring-color:#2563eb; + --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + border-color:#2563eb +} + +input::-moz-placeholder, textarea::-moz-placeholder { + color:#6b7280; + opacity:1 +} + +input::placeholder,textarea::placeholder { + color:#6b7280; + opacity:1 +} + +::-webkit-datetime-edit-fields-wrapper { + padding:0 +} + +::-webkit-date-and-time-value { + min-height:1.5em; + text-align:inherit +} + +::-webkit-datetime-edit { + display:inline-flex +} + +::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { + padding-top:0; + padding-bottom:0 +} + +select { + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); + background-position:right 0.5rem center; + background-repeat:no-repeat; + background-size:1.5em 1.5em; + padding-right:2.5rem; + -webkit-print-color-adjust:exact; + print-color-adjust:exact +} + +[multiple],[size]:where(select:not([size="1"])) { + background-image:initial; + background-position:initial; + background-repeat:unset; + background-size:initial; + padding-right:0.75rem; + -webkit-print-color-adjust:unset; + print-color-adjust:unset +} + +[type='checkbox'],[type='radio'] { + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + padding:0; + -webkit-print-color-adjust:exact; + print-color-adjust:exact; + display:inline-block; + vertical-align:middle; + background-origin:border-box; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; + flex-shrink:0; + height:1rem; + width:1rem; + color:#2563eb; + background-color:#fff; + border-color:#6b7280; + border-width:1px; + --tw-shadow:0 0 #0000 +} + +[type='checkbox'] { + border-radius:0px +} + +[type='radio'] { + border-radius:100% +} + +[type='checkbox']:focus,[type='radio']:focus { + outline:2px solid transparent; + outline-offset:2px; + --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width:2px; + --tw-ring-offset-color:#fff; + --tw-ring-color:#2563eb; + --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) +} + +[type='checkbox']:checked,[type='radio']:checked { + border-color:transparent; + background-color:currentColor; + background-size:100% 100%; + background-position:center; + background-repeat:no-repeat +} + +[type='checkbox']:checked { + background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); +} + +@media (forced-colors: active) { + [type='checkbox']:checked { + -webkit-appearance:auto; + -moz-appearance:auto; + appearance:auto + } +} + +[type='radio']:checked { + background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); +} + +@media (forced-colors: active) { + [type='radio']:checked { + -webkit-appearance:auto; + -moz-appearance:auto; + appearance:auto + } +} + +[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { + border-color:transparent; + background-color:currentColor +} + +[type='checkbox']:indeterminate { + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); + border-color:transparent; + background-color:currentColor; + background-size:100% 100%; + background-position:center; + background-repeat:no-repeat; +} + +@media (forced-colors: active) { + [type='checkbox']:indeterminate { + -webkit-appearance:auto; + -moz-appearance:auto; + appearance:auto + } +} + +[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { + border-color:transparent; + background-color:currentColor +} + +[type='file'] { + background:unset; + border-color:inherit; + border-width:0; + border-radius:0; + padding:0; + font-size:unset; + line-height:inherit +} + +[type='file']:focus { + outline:1px solid ButtonText; + outline:1px auto -webkit-focus-ring-color +} + +*, ::before, ::after { + --tw-border-spacing-x:0; + --tw-border-spacing-y:0; + --tw-translate-x:0; + --tw-translate-y:0; + --tw-rotate:0; + --tw-skew-x:0; + --tw-skew-y:0; + --tw-scale-x:1; + --tw-scale-y:1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness:proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width:0px; + --tw-ring-offset-color:#fff; + --tw-ring-color:rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow:0 0 #0000; + --tw-ring-shadow:0 0 #0000; + --tw-shadow:0 0 #0000; + --tw-shadow-colored:0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +::backdrop { + --tw-border-spacing-x:0; + --tw-border-spacing-y:0; + --tw-translate-x:0; + --tw-translate-y:0; + --tw-rotate:0; + --tw-skew-x:0; + --tw-skew-y:0; + --tw-scale-x:1; + --tw-scale-y:1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness:proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width:0px; + --tw-ring-offset-color:#fff; + --tw-ring-color:rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow:0 0 #0000; + --tw-ring-shadow:0 0 #0000; + --tw-shadow:0 0 #0000; + --tw-shadow-colored:0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.container { + width:100% +} + +@media (min-width: 640px) { + .container { + max-width:640px + } +} + +@media (min-width: 853px) { + .container { + max-width:853px + } +} + +@media (min-width: 1024px) { + .container { + max-width:1024px + } +} + +@media (min-width: 1280px) { + .container { + max-width:1280px + } +} + +@media (min-width: 1536px) { + .container { + max-width:1536px + } +} + +.prose { + color:var(--tw-prose-body); + max-width:65ch; +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:1.25em; + margin-bottom:1.25em +} + +.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-lead); + font-size:1.25em; + line-height:1.6; + margin-top:1.2em; + margin-bottom:1.2em +} + +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-links); + text-decoration:none; + font-weight:500; + text-decoration-color:rgba(var(--color-primary-300), 1); +} + +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover { + color:rgba(var(--color-primary-600), 1); + text-decoration:none; + border-radius:0.09rem +} + +.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-bold); + font-weight:600 +} + +.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:decimal; + margin-top:1.25em; + margin-bottom:1.25em; + padding-left:1.625em +} + +.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:upper-alpha +} + +.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:lower-alpha +} + +.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:upper-alpha +} + +.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:lower-alpha +} + +.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:upper-roman +} + +.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:lower-roman +} + +.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:upper-roman +} + +.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:lower-roman +} + +.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:decimal +} + +.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type:disc; + margin-top:1.25em; + margin-bottom:1.25em; + padding-left:1.625em +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + font-weight:400; + color:var(--tw-prose-counters) +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + color:var(--tw-prose-bullets) +} + +.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:600; + margin-top:1.25em +} + +.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-color:var(--tw-prose-hr); + border-top-width:1px; + margin-top:3em; + margin-bottom:3em +} + +.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:500; + font-style:italic; + color:var(--tw-prose-quotes); + border-left-width:0.25rem; + border-left-color:var(--tw-prose-quote-borders); + quotes:"\201C""\201D""\2018""\2019"; + margin-top:1.6em; + margin-bottom:1.6em; + padding-left:1em +} + +.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content:open-quote +} + +.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content:close-quote +} + +.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:800; + font-size:2.25em; + margin-top:0; + margin-bottom:0.8888889em; + line-height:1.1111111 +} + +.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:900; + color:inherit +} + +.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:700; + font-size:1.5em; + margin-top:2em; + margin-bottom:1em; + line-height:1.3333333 +} + +.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:800; + color:inherit +} + +.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:600; + font-size:1.25em; + margin-top:1.6em; + margin-bottom:0.6em; + line-height:1.6 +} + +.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:700; + color:inherit +} + +.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:600; + margin-top:1.5em; + margin-bottom:0.5em; + line-height:1.5 +} + +.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:700; + color:inherit +} + +.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:2em; + margin-bottom:2em +} + +.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + display:block; + margin-top:2em; + margin-bottom:2em +} + +.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight:600; + font-family:inherit; + color:var(--tw-prose-kbd); + box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%); + font-size:0.9rem; + border-radius:0.25rem; + padding-top:0.1875em; + padding-right:0.375em; + padding-bottom:0.1875em; + padding-left:0.375em; + background-color:rgba(var(--color-neutral-200), 1); + padding:0.1rem 0.4rem +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-code); + font-weight:600; + font-size:0.875em; + background-color:rgba(var(--color-neutral-50), 1); + padding-top:3px; + padding-bottom:3px; + padding-left:5px; + padding-right:5px; + border-radius:0.25rem +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content:"`"; + display:none +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content:"`"; + display:none +} + +.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-code) +} + +.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit; + font-size:0.875em +} + +.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit; + font-size:0.9em +} + +.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:inherit +} + +.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-pre-code); + background-color:var(--tw-prose-pre-bg); + overflow-x:auto; + font-weight:400; + font-size:0.875em; + line-height:1.7142857; + margin-top:1.7142857em; + margin-bottom:1.7142857em; + border-radius:0.375rem; + padding-top:0.8571429em; + padding-right:1.1428571em; + padding-bottom:0.8571429em; + padding-left:1.1428571em +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color:transparent; + border-width:0; + border-radius:0; + padding:0; + font-weight:inherit; + color:inherit; + font-size:inherit; + font-family:inherit; + line-height:inherit +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content:none +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content:none +} + +.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + width:100%; + table-layout:auto; + text-align:left; + margin-top:2em; + margin-bottom:2em; + font-size:0.875em; + line-height:1.7142857 +} + +.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width:1px; + border-bottom-color:var(--tw-prose-th-borders) +} + +.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-headings); + font-weight:600; + vertical-align:bottom; + padding-right:0.5714286em; + padding-bottom:0.5714286em; + padding-left:0.5714286em +} + +.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width:1px; + border-bottom-color:var(--tw-prose-td-borders) +} + +.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width:0 +} + +.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align:baseline +} + +.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-top-width:1px; + border-top-color:var(--tw-prose-th-borders) +} + +.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align:top +} + +.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0; + margin-bottom:0 +} + +.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:var(--tw-prose-captions); + font-size:0.875em; + line-height:1.4285714; + margin-top:0.8571429em +} + +.prose { + --tw-prose-body:rgba(var(--color-neutral-700), 1); + --tw-prose-headings:rgba(var(--color-neutral-800), 1); + --tw-prose-lead:rgba(var(--color-neutral-500), 1); + --tw-prose-links:rgba(var(--color-primary-600), 1); + --tw-prose-bold:rgba(var(--color-neutral-900), 1); + --tw-prose-counters:rgba(var(--color-neutral-800), 1); + --tw-prose-bullets:rgba(var(--color-neutral-500), 1); + --tw-prose-hr:rgba(var(--color-neutral-200), 1); + --tw-prose-quotes:rgba(var(--color-neutral-700), 1); + --tw-prose-quote-borders:rgba(var(--color-primary-200), 1); + --tw-prose-captions:rgba(var(--color-neutral-500), 1); + --tw-prose-kbd:#111827; + --tw-prose-kbd-shadows:17 24 39; + --tw-prose-code:rgba(var(--color-secondary-700), 1); + --tw-prose-pre-code:rgba(var(--color-neutral-700), 1); + --tw-prose-pre-bg:rgba(var(--color-neutral-50), 1); + --tw-prose-th-borders:rgba(var(--color-neutral-500), 1); + --tw-prose-td-borders:rgba(var(--color-neutral-300), 1); + --tw-prose-invert-body:rgba(var(--color-neutral-300), 1); + --tw-prose-invert-headings:rgba(var(--color-neutral-50), 1); + --tw-prose-invert-lead:rgba(var(--color-neutral-500), 1); + --tw-prose-invert-links:rgba(var(--color-primary-400), 1); + --tw-prose-invert-bold:rgba(var(--color-neutral), 1); + --tw-prose-invert-counters:rgba(var(--color-neutral-400), 1); + --tw-prose-invert-bullets:rgba(var(--color-neutral-600), 1); + --tw-prose-invert-hr:rgba(var(--color-neutral-500), 1); + --tw-prose-invert-quotes:rgba(var(--color-neutral-200), 1); + --tw-prose-invert-quote-borders:rgba(var(--color-primary-900), 1); + --tw-prose-invert-captions:rgba(var(--color-neutral-400), 1); + --tw-prose-invert-kbd:#fff; + --tw-prose-invert-kbd-shadows:255 255 255; + --tw-prose-invert-code:rgba(var(--color-secondary-400), 1); + --tw-prose-invert-pre-code:rgba(var(--color-neutral-200), 1); + --tw-prose-invert-pre-bg:rgba(var(--color-neutral-700), 1); + --tw-prose-invert-th-borders:rgba(var(--color-neutral-500), 1); + --tw-prose-invert-td-borders:rgba(var(--color-neutral-700), 1); + font-size:1rem; + line-height:1.75 +} + +.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0; + margin-bottom:0 +} + +.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:2em; + margin-bottom:2em +} + +.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0.5em; + margin-bottom:0.5em +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left:0.375em +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left:0.375em +} + +.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0.75em; + margin-bottom:0.75em +} + +.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:1.25em +} + +.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom:1.25em +} + +.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:1.25em +} + +.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom:1.25em +} + +.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0.75em; + margin-bottom:0.75em +} + +.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:1.25em; + margin-bottom:1.25em +} + +.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0.5em; + padding-left:1.625em +} + +.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left:0 +} + +.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right:0 +} + +.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top:0.5714286em; + padding-right:0.5714286em; + padding-bottom:0.5714286em; + padding-left:0.5714286em +} + +.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left:0 +} + +.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right:0 +} + +.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:2em; + margin-bottom:2em +} + +.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top:0 +} + +.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom:0 +} + +.prose :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:rgba(var(--color-neutral-800), 1); + background-color:rgba(var(--color-primary-600), 1); + padding:0.1rem 0.2rem; + border-radius:0.25rem +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + display:none +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + display:none +} + +.prose :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-600), 1) +} + +.prose :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-600), 1) +} + +.prose-invert :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +.prose-invert :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +.sr-only { + position:absolute; + width:1px; + height:1px; + padding:0; + margin:-1px; + overflow:hidden; + clip:rect(0, 0, 0, 0); + white-space:nowrap; + border-width:0 +} + +.pointer-events-none { + pointer-events:none +} + +.pointer-events-auto { + pointer-events:auto +} + +.\!visible { + visibility:visible !important +} + +.visible { + visibility:visible +} + +.invisible { + visibility:hidden +} + +.collapse { + visibility:collapse +} + +.static { + position:static +} + +.\!fixed { + position:fixed !important +} + +.fixed { + position:fixed +} + +.\!absolute { + position:absolute !important +} + +.absolute { + position:absolute +} + +.relative { + position:relative +} + +.sticky { + position:sticky +} + +.inset-0 { + inset:0px +} + +.inset-x-0 { + left:0px; + right:0px +} + +.-bottom-\[47px\] { + bottom:-47px +} + +.-left-\[15px\] { + left:-15px +} + +.-left-\[9999px\] { + left:-9999px +} + +.-top-\[18px\] { + top:-18px +} + +.-top-\[21px\] { + top:-21px +} + +.-top-\[35px\] { + top:-35px +} + +.bottom-0 { + bottom:0px +} + +.bottom-0\.5 { + bottom:0.125rem +} + +.bottom-1\/2 { + bottom:50% +} + +.left-0 { + left:0px +} + +.left-1\/2 { + left:50% +} + +.left-3 { + left:0.75rem +} + +.left-\[50\%\] { + left:50% +} + +.left-\[50px\] { + left:50px +} + +.left-\[calc\(50\%-1px\)\] { + left:calc(50% - 1px) +} + +.right-0 { + right:0px +} + +.right-0\.5 { + right:0.125rem +} + +.right-1 { + right:0.25rem +} + +.right-1\.5 { + right:0.375rem +} + +.right-3 { + right:0.75rem +} + +.right-9 { + right:2.25rem +} + +.top-0 { + top:0px +} + +.top-1 { + top:0.25rem +} + +.top-1\/2 { + top:50% +} + +.top-2 { + top:0.5rem +} + +.top-20 { + top:5rem +} + +.top-\[110vh\] { + top:110vh +} + +.top-\[11px\] { + top:11px +} + +.top-\[13px\] { + top:13px +} + +.top-\[50\%\] { + top:50% +} + +.top-\[50px\] { + top:50px +} + +.top-\[calc\(100vh-5\.5rem\)\] { + top:calc(100vh - 5.5rem) +} + +.top-full { + top:100% +} + +.\!z-40 { + z-index:40 !important +} + +.z-0 { + z-index:0 +} + +.z-10 { + z-index:10 +} + +.z-20 { + z-index:20 +} + +.z-30 { + z-index:30 +} + +.z-40 { + z-index:40 +} + +.z-50 { + z-index:50 +} + +.z-\[1035\] { + z-index:1035 +} + +.z-\[1040\] { + z-index:1040 +} + +.z-\[1065\] { + z-index:1065 +} + +.z-\[1066\] { + z-index:1066 +} + +.z-\[1070\] { + z-index:1070 +} + +.z-\[1080\] { + z-index:1080 +} + +.z-\[1100\] { + z-index:1100 +} + +.z-\[1\] { + z-index:1 +} + +.z-\[2\] { + z-index:2 +} + +.z-\[999\] { + z-index:999 +} + +.order-1 { + order:1 +} + +.order-2 { + order:2 +} + +.order-3 { + order:3 +} + +.order-first { + order:-9999 +} + +.float-right { + float:right +} + +.float-left { + float:left +} + +.\!-m-px { + margin:-1px !important +} + +.-m-px { + margin:-1px +} + +.m-0 { + margin:0px +} + +.m-1 { + margin:0.25rem +} + +.m-2 { + margin:0.5rem +} + +.m-auto { + margin:auto +} + +.\!my-0 { + margin-top:0px !important; + margin-bottom:0px !important +} + +.-mx-2 { + margin-left:-0.5rem; + margin-right:-0.5rem +} + +.-my-2 { + margin-top:-0.5rem; + margin-bottom:-0.5rem +} + +.mx-1 { + margin-left:0.25rem; + margin-right:0.25rem +} + +.mx-\[10px\] { + margin-left:10px; + margin-right:10px +} + +.mx-\[15\%\] { + margin-left:15%; + margin-right:15% +} + +.mx-\[3px\] { + margin-left:3px; + margin-right:3px +} + +.mx-auto { + margin-left:auto; + margin-right:auto +} + +.my-0 { + margin-top:0px; + margin-bottom:0px +} + +.my-3 { + margin-top:0.75rem; + margin-bottom:0.75rem +} + +.my-4 { + margin-top:1rem; + margin-bottom:1rem +} + +.my-\[5px\] { + margin-top:5px; + margin-bottom:5px +} + +.\!mb-0 { + margin-bottom:0px !important +} + +.\!mb-9 { + margin-bottom:2.25rem !important +} + +.\!mt-0 { + margin-top:0px !important +} + +.-mb-1 { + margin-bottom:-0.25rem +} + +.-ml-12 { + margin-left:-3rem +} + +.-ml-\[1\.5rem\] { + margin-left:-1.5rem +} + +.-mr-2 { + margin-right:-0.5rem +} + +.-mr-48 { + margin-right:-12rem +} + +.-mr-\[100\%\] { + margin-right:-100% +} + +.-mt-1 { + margin-top:-0.25rem +} + +.-mt-3 { + margin-top:-0.75rem +} + +.mb-0 { + margin-bottom:0px +} + +.mb-1 { + margin-bottom:0.25rem +} + +.mb-10 { + margin-bottom:2.5rem +} + +.mb-12 { + margin-bottom:3rem +} + +.mb-16 { + margin-bottom:4rem +} + +.mb-2 { + margin-bottom:0.5rem +} + +.mb-2\.5 { + margin-bottom:0.625rem +} + +.mb-20 { + margin-bottom:5rem +} + +.mb-3 { + margin-bottom:0.75rem +} + +.mb-5 { + margin-bottom:1.25rem +} + +.mb-6 { + margin-bottom:1.5rem +} + +.mb-8 { + margin-bottom:2rem +} + +.mb-\[0\.125rem\] { + margin-bottom:0.125rem +} + +.mb-\[10px\] { + margin-bottom:10px +} + +.mb-\[2px\] { + margin-bottom:2px +} + +.ml-2 { + margin-left:0.5rem +} + +.ml-3 { + margin-left:0.75rem +} + +.ml-6 { + margin-left:1.5rem +} + +.ml-\[30px\] { + margin-left:30px +} + +.ml-\[3px\] { + margin-left:3px +} + +.ml-auto { + margin-left:auto +} + +.mr-1 { + margin-right:0.25rem +} + +.mr-2 { + margin-right:0.5rem +} + +.mr-3 { + margin-right:0.75rem +} + +.mr-4 { + margin-right:1rem +} + +.mr-5 { + margin-right:1.25rem +} + +.mr-6 { + margin-right:1.5rem +} + +.mr-\[6px\] { + margin-right:6px +} + +.mr-\[8px\] { + margin-right:8px +} + +.mr-auto { + margin-right:auto +} + +.mt-0 { + margin-top:0px +} + +.mt-1 { + margin-top:0.25rem +} + +.mt-10 { + margin-top:2.5rem +} + +.mt-12 { + margin-top:3rem +} + +.mt-2 { + margin-top:0.5rem +} + +.mt-2\.5 { + margin-top:0.625rem +} + +.mt-20 { + margin-top:5rem +} + +.mt-3 { + margin-top:0.75rem +} + +.mt-4 { + margin-top:1rem +} + +.mt-5 { + margin-top:1.25rem +} + +.mt-6 { + margin-top:1.5rem +} + +.mt-8 { + margin-top:2rem +} + +.mt-\[-2px\] { + margin-top:-2px +} + +.mt-\[0\.15rem\] { + margin-top:0.15rem +} + +.mt-\[0\.1rem\] { + margin-top:0.1rem +} + +.box-border { + box-sizing:border-box +} + +.box-content { + box-sizing:content-box +} + +.\!block { + display:block !important +} + +.block { + display:block +} + +.inline-block { + display:inline-block +} + +.inline { + display:inline +} + +.flex { + display:flex +} + +.table { + display:table +} + +.grid { + display:grid +} + +.hidden { + display:none +} + +.\!h-0 { + height:0px !important +} + +.\!h-px { + height:1px !important +} + +.h-0 { + height:0px +} + +.h-1 { + height:0.25rem +} + +.h-1\.5 { + height:0.375rem +} + +.h-1\/2 { + height:50% +} + +.h-10 { + height:2.5rem +} + +.h-12 { + height:3rem +} + +.h-14 { + height:3.5rem +} + +.h-2\/5 { + height:40% +} + +.h-24 { + height:6rem +} + +.h-3 { + height:0.75rem +} + +.h-36 { + height:9rem +} + +.h-4 { + height:1rem +} + +.h-48 { + height:12rem +} + +.h-5 { + height:1.25rem +} + +.h-6 { + height:1.5rem +} + +.h-7 { + height:1.75rem +} + +.h-8 { + height:2rem +} + +.h-9 { + height:2.25rem +} + +.h-\[0\.9375rem\] { + height:0.9375rem +} + +.h-\[1\.125rem\] { + height:1.125rem +} + +.h-\[1\.4rem\] { + height:1.4rem +} + +.h-\[1000px\] { + height:1000px +} + +.h-\[100px\] { + height:100px +} + +.h-\[10px\] { + height:10px +} + +.h-\[120px\] { + height:120px +} + +.h-\[150px\] { + height:150px +} + +.h-\[160px\] { + height:160px +} + +.h-\[260px\] { + height:260px +} + +.h-\[2px\] { + height:2px +} + +.h-\[30px\] { + height:30px +} + +.h-\[32px\] { + height:32px +} + +.h-\[380px\] { + height:380px +} + +.h-\[3px\] { + height:3px +} + +.h-\[40px\] { + height:40px +} + +.h-\[42px\] { + height:42px +} + +.h-\[48px\] { + height:48px +} + +.h-\[4px\] { + height:4px +} + +.h-\[50px\] { + height:50px +} + +.h-\[512px\] { + height:512px +} + +.h-\[56px\] { + height:56px +} + +.h-\[6px\] { + height:6px +} + +.h-\[72px\] { + height:72px +} + +.h-\[800px\] { + height:800px +} + +.h-\[calc\(100\%-100px\)\] { + height:calc(100% - 100px) +} + +.h-auto { + height:auto +} + +.h-full { + height:100% +} + +.h-px { + height:1px +} + +.h-screen { + height:100vh +} + +.max-h-3 { + max-height:0.75rem +} + +.max-h-\[5rem\] { + max-height:5rem +} + +.max-h-\[calc\(100\%-64px\)\] { + max-height:calc(100% - 64px) +} + +.max-h-full { + max-height:100% +} + +.min-h-0 { + min-height:0px +} + +.min-h-\[1\.5rem\] { + min-height:1.5rem +} + +.min-h-\[148px\] { + min-height:148px +} + +.min-h-\[305px\] { + min-height:305px +} + +.min-h-\[325px\] { + min-height:325px +} + +.min-h-\[40px\] { + min-height:40px +} + +.min-h-\[auto\] { + min-height:auto +} + +.min-h-full { + min-height:100% +} + +.\!w-px { + width:1px !important +} + +.w-0 { + width:0px +} + +.w-1 { + width:0.25rem +} + +.w-1\.5 { + width:0.375rem +} + +.w-1\/2 { + width:50% +} + +.w-10 { + width:2.5rem +} + +.w-12 { + width:3rem +} + +.w-2 { + width:0.5rem +} + +.w-24 { + width:6rem +} + +.w-3 { + width:0.75rem +} + +.w-36 { + width:9rem +} + +.w-4 { + width:1rem +} + +.w-5 { + width:1.25rem +} + +.w-6 { + width:1.5rem +} + +.w-7 { + width:1.75rem +} + +.w-8 { + width:2rem +} + +.w-9 { + width:2.25rem +} + +.w-\[0\.9375rem\] { + width:0.9375rem +} + +.w-\[1\.125rem\] { + width:1.125rem +} + +.w-\[1\.4rem\] { + width:1.4rem +} + +.w-\[15\%\] { + width:15% +} + +.w-\[150px\] { + width:150px +} + +.w-\[15px\] { + width:15px +} + +.w-\[160px\] { + width:160px +} + +.w-\[260px\] { + width:260px +} + +.w-\[2px\] { + width:2px +} + +.w-\[300px\] { + width:300px +} + +.w-\[304px\] { + width:304px +} + +.w-\[30px\] { + width:30px +} + +.w-\[328px\] { + width:328px +} + +.w-\[32px\] { + width:32px +} + +.w-\[45\%\] { + width:45% +} + +.w-\[4px\] { + width:4px +} + +.w-\[50px\] { + width:50px +} + +.w-\[6px\] { + width:6px +} + +.w-\[70px\] { + width:70px +} + +.w-\[72px\] { + width:72px +} + +.w-\[76px\] { + width:76px +} + +.w-\[calc\(100\%-100px\)\] { + width:calc(100% - 100px) +} + +.w-auto { + width:auto +} + +.w-full { + width:100% +} + +.w-px { + width:1px +} + +.w-screen { + width:100vw +} + +.min-w-0 { + min-width:0px +} + +.min-w-\[1\.8rem\] { + min-width:1.8rem +} + +.min-w-\[100px\] { + min-width:100px +} + +.min-w-\[220px\] { + min-width:220px +} + +.min-w-\[30px\] { + min-width:30px +} + +.min-w-\[310px\] { + min-width:310px +} + +.min-w-\[48px\] { + min-width:48px +} + +.min-w-\[64px\] { + min-width:64px +} + +.min-w-full { + min-width:100% +} + +.max-w-3xl { + max-width:48rem +} + +.max-w-7xl { + max-width:80rem +} + +.max-w-\[1600px\] { + max-width:1600px +} + +.max-w-\[200px\] { + max-width:200px +} + +.max-w-\[267px\] { + max-width:267px +} + +.max-w-\[325px\] { + max-width:325px +} + +.max-w-\[5rem\] { + max-width:5rem +} + +.max-w-\[64rem\] { + max-width:64rem +} + +.max-w-\[90\%\] { + max-width:90% +} + +.max-w-\[calc\(100\%-1rem\)\] { + max-width:calc(100% - 1rem) +} + +.max-w-fit { + max-width:-moz-fit-content; + max-width:fit-content +} + +.max-w-full { + max-width:100% +} + +.max-w-prose { + max-width:65ch +} + +.max-w-xl { + max-width:36rem +} + +.flex-1 { + flex:1 1 0% +} + +.flex-auto { + flex:1 1 auto +} + +.flex-initial { + flex:0 1 auto +} + +.flex-none { + flex:none +} + +.shrink-0 { + flex-shrink:0 +} + +.grow { + flex-grow:1 +} + +.grow-0 { + flex-grow:0 +} + +.basis-auto { + flex-basis:auto +} + +.origin-\[0_0\] { + transform-origin:0 0 +} + +.origin-\[50\%_50\%\] { + transform-origin:50% 50% +} + +.origin-\[center_bottom_0\] { + transform-origin:center bottom 0 +} + +.origin-bottom { + transform-origin:bottom +} + +.-translate-x-1\/2 { + --tw-translate-x:-50%; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.-translate-x-\[50\%\] { + --tw-translate-x:-50%; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.-translate-x-\[6px\] { + --tw-translate-x:-6px; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.-translate-x-full { + --tw-translate-x:-100%; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.-translate-y-1\/2 { + --tw-translate-y:-50%; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.-translate-y-8 { + --tw-translate-y:-2rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.-translate-y-\[50\%\] { + --tw-translate-y:-50%; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.translate-x-\[150\%\] { + --tw-translate-x:150%; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.translate-x-full { + --tw-translate-x:100%; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.translate-y-\[6px\] { + --tw-translate-y:6px; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.-rotate-45 { + --tw-rotate:-45deg; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.rotate-180 { + --tw-rotate:180deg; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.rotate-45 { + --tw-rotate:45deg; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.scale-0 { + --tw-scale-x:0; + --tw-scale-y:0; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.scale-100 { + --tw-scale-x:1; + --tw-scale-y:1; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.scale-\[0\.25\] { + --tw-scale-x:0.25; + --tw-scale-y:0.25; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.scale-\[1\.02\] { + --tw-scale-x:1.02; + --tw-scale-y:1.02; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.scale-y-\[0\.8\] { + --tw-scale-y:0.8; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.transform { + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.transform-none { + transform:none +} + +.animate-\[fade-in_0\.15s_both\] { + animation:fade-in 0.15s both +} + +.animate-\[fade-in_0\.3s_both\] { + animation:fade-in 0.3s both +} + +.animate-\[fade-in_350ms_ease-in-out\] { + animation:fade-in 350ms ease-in-out +} + +.animate-\[fade-out_0\.15s_both\] { + animation:fade-out 0.15s both +} + +.animate-\[fade-out_0\.3s_both\] { + animation:fade-out 0.3s both +} + +.animate-\[fade-out_350ms_ease-in-out\] { + animation:fade-out 350ms ease-in-out +} + +.animate-\[progress_3s_ease-in-out_infinite\] { + animation:progress 3s ease-in-out infinite +} + +.animate-\[show-up-clock_350ms_linear\] { + animation:show-up-clock 350ms linear +} + +.animate-\[slide-in-left_0\.8s_both\] { + animation:slide-in-left 0.8s both +} + +.animate-\[slide-in-right_0\.8s_both\] { + animation:slide-in-right 0.8s both +} + +.animate-\[slide-out-left_0\.8s_both\] { + animation:slide-out-left 0.8s both +} + +.animate-\[slide-out-right_0\.8s_both\] { + animation:slide-out-right 0.8s both +} + +.animate-\[spinner-grow_0\.75s_linear_infinite\] { + animation:spinner-grow 0.75s linear infinite +} + +@keyframes pulse { + 50% { + opacity:.5 + } +} + +.animate-pulse { + animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite +} + +@keyframes spin { + to { + transform:rotate(360deg) + } +} + +.animate-spin { + animation:spin 1s linear infinite +} + +.cursor-default { + cursor:default +} + +.cursor-none { + cursor:none +} + +.cursor-pointer { + cursor:pointer +} + +.touch-none { + touch-action:none +} + +.touch-pan-y { + --tw-pan-y:pan-y; + touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom) +} + +.select-none { + -webkit-user-select:none; + -moz-user-select:none; + user-select:none +} + +.select-all { + -webkit-user-select:all; + -moz-user-select:all; + user-select:all +} + +.resize { + resize:both +} + +.list-none { + list-style-type:none +} + +.appearance-none { + -webkit-appearance:none; + -moz-appearance:none; + appearance:none +} + +.\!flex-row { + flex-direction:row !important +} + +.flex-row { + flex-direction:row +} + +.flex-col { + flex-direction:column +} + +.flex-wrap { + flex-wrap:wrap +} + +.items-end { + align-items:flex-end +} + +.items-center { + align-items:center +} + +.justify-end { + justify-content:flex-end +} + +.justify-center { + justify-content:center +} + +.justify-between { + justify-content:space-between +} + +.justify-around { + justify-content:space-around +} + +.justify-evenly { + justify-content:space-evenly +} + +.gap-4 { + gap:1rem +} + +.space-x-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse:0; + margin-right:calc(0.5rem * var(--tw-space-x-reverse)); + margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse))) +} + +.space-x-3 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse:0; + margin-right:calc(0.75rem * var(--tw-space-x-reverse)); + margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse))) +} + +.space-x-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse:0; + margin-right:calc(1rem * var(--tw-space-x-reverse)); + margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse))) +} + +.space-x-5 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse:0; + margin-right:calc(1.25rem * var(--tw-space-x-reverse)); + margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse))) +} + +.space-y-10 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse:0; + margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom:calc(2.5rem * var(--tw-space-y-reverse)) +} + +.space-y-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse:0; + margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom:calc(0.5rem * var(--tw-space-y-reverse)) +} + +.space-y-3 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse:0; + margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom:calc(0.75rem * var(--tw-space-y-reverse)) +} + +.place-self-center { + place-self:center +} + +.self-center { + align-self:center +} + +.overflow-auto { + overflow:auto +} + +.\!overflow-hidden { + overflow:hidden !important +} + +.overflow-hidden { + overflow:hidden +} + +.overflow-visible { + overflow:visible +} + +.overflow-y-auto { + overflow-y:auto +} + +.overflow-x-hidden { + overflow-x:hidden +} + +.overflow-y-hidden { + overflow-y:hidden +} + +.scroll-smooth { + scroll-behavior:smooth +} + +.truncate { + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap +} + +.text-ellipsis { + text-overflow:ellipsis +} + +.text-clip { + text-overflow:clip +} + +.whitespace-normal { + white-space:normal +} + +.\!whitespace-nowrap { + white-space:nowrap !important +} + +.whitespace-nowrap { + white-space:nowrap +} + +.break-normal { + overflow-wrap:normal; + word-break:normal +} + +.break-words { + overflow-wrap:break-word +} + +.\!rounded-md { + border-radius:0.375rem !important +} + +.rounded { + border-radius:0.25rem +} + +.rounded-2xl { + border-radius:1rem +} + +.rounded-\[0\.25rem\] { + border-radius:0.25rem +} + +.rounded-\[0\.5rem\] { + border-radius:0.5rem +} + +.rounded-\[0\.6rem\] { + border-radius:0.6rem +} + +.rounded-\[100\%\] { + border-radius:100% +} + +.rounded-\[10px\] { + border-radius:10px +} + +.rounded-\[16px\] { + border-radius:16px +} + +.rounded-\[50\%\] { + border-radius:50% +} + +.rounded-\[999px\] { + border-radius:999px +} + +.rounded-full { + border-radius:9999px +} + +.rounded-lg { + border-radius:0.5rem +} + +.rounded-md { + border-radius:0.375rem +} + +.rounded-xl { + border-radius:0.75rem +} + +.rounded-b-lg { + border-bottom-right-radius:0.5rem; + border-bottom-left-radius:0.5rem +} + +.rounded-l-\[0\.25rem\] { + border-top-left-radius:0.25rem; + border-bottom-left-radius:0.25rem +} + +.rounded-r-\[0\.25rem\] { + border-top-right-radius:0.25rem; + border-bottom-right-radius:0.25rem +} + +.rounded-t-\[0\.6rem\] { + border-top-left-radius:0.6rem; + border-top-right-radius:0.6rem +} + +.rounded-t-lg { + border-top-left-radius:0.5rem; + border-top-right-radius:0.5rem +} + +.rounded-bl-none { + border-bottom-left-radius:0px +} + +.rounded-br-2xl { + border-bottom-right-radius:1rem +} + +.rounded-tl-2xl { + border-top-left-radius:1rem +} + +.rounded-tr-2xl { + border-top-right-radius:1rem +} + +.\!border-0 { + border-width:0px !important +} + +.\!border-\[3px\] { + border-width:3px !important +} + +.border { + border-width:1px +} + +.border-0 { + border-width:0px +} + +.border-2 { + border-width:2px +} + +.border-4 { + border-width:4px +} + +.border-\[\.125rem\] { + border-width:.125rem +} + +.border-\[0\.125rem\] { + border-width:0.125rem +} + +.border-\[0\.15em\] { + border-width:0.15em +} + +.border-\[14px\] { + border-width:14px +} + +.border-\[1px\] { + border-width:1px +} + +.border-y-\[10px\] { + border-top-width:10px; + border-bottom-width:10px +} + +.border-b { + border-bottom-width:1px +} + +.border-b-2 { + border-bottom-width:2px +} + +.border-l-0 { + border-left-width:0px +} + +.border-l-2 { + border-left-width:2px +} + +.border-l-\[0\.125rem\] { + border-left-width:0.125rem +} + +.border-r-0 { + border-right-width:0px +} + +.border-t { + border-top-width:1px +} + +.border-t-0 { + border-top-width:0px +} + +.\!border-solid { + border-style:solid !important +} + +.border-solid { + border-style:solid +} + +.border-dotted { + border-style:dotted +} + +.border-none { + border-style:none +} + +.\!border-\[\#14a44d\] { + --tw-border-opacity:1 !important; + border-color:rgb(20 164 77 / var(--tw-border-opacity)) !important +} + +.\!border-\[\#b2b3b4\] { + --tw-border-opacity:1 !important; + border-color:rgb(178 179 180 / var(--tw-border-opacity)) !important +} + +.\!border-\[\#dc4c64\] { + --tw-border-opacity:1 !important; + border-color:rgb(220 76 100 / var(--tw-border-opacity)) !important +} + +.border-\[\#14a44d\] { + --tw-border-opacity:1; + border-color:rgb(20 164 77 / var(--tw-border-opacity)) +} + +.border-\[\#3b71ca\] { + --tw-border-opacity:1; + border-color:rgb(59 113 202 / var(--tw-border-opacity)) +} + +.border-\[\#dc4c64\] { + --tw-border-opacity:1; + border-color:rgb(220 76 100 / var(--tw-border-opacity)) +} + +.border-\[\#eee\] { + --tw-border-opacity:1; + border-color:rgb(238 238 238 / var(--tw-border-opacity)) +} + +.border-neutral-100 { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-100), var(--tw-border-opacity)) +} + +.border-neutral-200 { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-200), var(--tw-border-opacity)) +} + +.border-neutral-300 { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-300), var(--tw-border-opacity)) +} + +.border-primary-400 { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-400), var(--tw-border-opacity)) +} + +.border-primary-500 { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-500), var(--tw-border-opacity)) +} + +.border-transparent { + border-color:transparent +} + +.border-r-transparent { + border-right-color:transparent +} + +.border-t-transparent { + border-top-color:transparent +} + +.\!bg-\[\#858585\] { + --tw-bg-opacity:1 !important; + background-color:rgb(133 133 133 / var(--tw-bg-opacity)) !important +} + +.\!bg-neutral-100 { + --tw-bg-opacity:1 !important; + background-color:rgba(var(--color-neutral-100), var(--tw-bg-opacity)) !important +} + +.\!bg-primary-100 { + --tw-bg-opacity:1 !important; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) !important +} + +.bg-\[\#00000012\] { + background-color:#00000012 +} + +.bg-\[\#00000066\] { + background-color:#00000066 +} + +.bg-\[\#000000e6\] { + background-color:#000000e6 +} + +.bg-\[\#3b71ca\] { + --tw-bg-opacity:1; + background-color:rgb(59 113 202 / var(--tw-bg-opacity)) +} + +.bg-\[\#6d6d6d\] { + --tw-bg-opacity:1; + background-color:rgb(109 109 109 / var(--tw-bg-opacity)) +} + +.bg-\[\#aaa\] { + --tw-bg-opacity:1; + background-color:rgb(170 170 170 / var(--tw-bg-opacity)) +} + +.bg-\[\#eceff1\] { + --tw-bg-opacity:1; + background-color:rgb(236 239 241 / var(--tw-bg-opacity)) +} + +.bg-\[\#eee\] { + --tw-bg-opacity:1; + background-color:rgb(238 238 238 / var(--tw-bg-opacity)) +} + +.bg-\[rgba\(0\2c 0\2c 0\2c 0\.4\)\] { + background-color:rgba(0,0,0,0.4) +} + +.bg-neutral { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral), var(--tw-bg-opacity)) +} + +.bg-neutral-100 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-100), var(--tw-bg-opacity)) +} + +.bg-neutral-100\/50 { + background-color:rgba(var(--color-neutral-100), 0.5) +} + +.bg-neutral-300 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-300), var(--tw-bg-opacity)) +} + +.bg-neutral-500\/50 { + background-color:rgba(var(--color-neutral-500), 0.5) +} + +.bg-neutral-600 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity)) +} + +.bg-neutral-700 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity)) +} + +.bg-neutral\/50 { + background-color:rgba(var(--color-neutral), 0.5) +} + +.bg-primary-100 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) +} + +.bg-primary-200 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-200), var(--tw-bg-opacity)) +} + +.bg-primary-400 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-400), var(--tw-bg-opacity)) +} + +.bg-primary-500 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity)) +} + +.bg-primary-600 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity)) +} + +.bg-transparent { + background-color:transparent +} + +.bg-gradient-to-b { + background-image:linear-gradient(to bottom, var(--tw-gradient-stops)) +} + +.bg-gradient-to-r { + background-image:linear-gradient(to right, var(--tw-gradient-stops)) +} + +.bg-gradient-to-t { + background-image:linear-gradient(to top, var(--tw-gradient-stops)) +} + +.bg-none { + background-image:none +} + +.from-neutral { + --tw-gradient-from:rgba(var(--color-neutral), 1) var(--tw-gradient-from-position); + --tw-gradient-to:rgba(var(--color-neutral), 0) var(--tw-gradient-to-position); + --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to) +} + +.from-primary-500 { + --tw-gradient-from:rgba(var(--color-primary-500), 1) var(--tw-gradient-from-position); + --tw-gradient-to:rgba(var(--color-primary-500), 0) var(--tw-gradient-to-position); + --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to) +} + +.to-neutral { + --tw-gradient-to:rgba(var(--color-neutral), 1) var(--tw-gradient-to-position) +} + +.to-neutral-100 { + --tw-gradient-to:rgba(var(--color-neutral-100), 1) var(--tw-gradient-to-position) +} + +.to-secondary-700 { + --tw-gradient-to:rgba(var(--color-secondary-700), 1) var(--tw-gradient-to-position) +} + +.to-transparent { + --tw-gradient-to:transparent var(--tw-gradient-to-position) +} + +.bg-clip-padding { + background-clip:padding-box +} + +.fill-\[\#afafaf\] { + fill:#afafaf +} + +.object-cover { + -o-object-fit:cover; + object-fit:cover +} + +.object-scale-down { + -o-object-fit:scale-down; + object-fit:scale-down +} + +.object-left { + -o-object-position:left; + object-position:left +} + +.\!p-0 { + padding:0px !important +} + +.p-0 { + padding:0px +} + +.p-1 { + padding:0.25rem +} + +.p-1\.5 { + padding:0.375rem +} + +.p-2 { + padding:0.5rem +} + +.p-2\.5 { + padding:0.625rem +} + +.p-4 { + padding:1rem +} + +.p-5 { + padding:1.25rem +} + +.p-6 { + padding:1.5rem +} + +.p-\[1rem\] { + padding:1rem +} + +.p-\[5px\] { + padding:5px +} + +.p-\[auto\] { + padding:auto +} + +.\!py-0 { + padding-top:0px !important; + padding-bottom:0px !important +} + +.\!py-2 { + padding-top:0.5rem !important; + padding-bottom:0.5rem !important +} + +.px-0 { + padding-left:0px; + padding-right:0px +} + +.px-0\.5 { + padding-left:0.125rem; + padding-right:0.125rem +} + +.px-1 { + padding-left:0.25rem; + padding-right:0.25rem +} + +.px-1\.5 { + padding-left:0.375rem; + padding-right:0.375rem +} + +.px-2 { + padding-left:0.5rem; + padding-right:0.5rem +} + +.px-2\.5 { + padding-left:0.625rem; + padding-right:0.625rem +} + +.px-3 { + padding-left:0.75rem; + padding-right:0.75rem +} + +.px-4 { + padding-left:1rem; + padding-right:1rem +} + +.px-6 { + padding-left:1.5rem; + padding-right:1.5rem +} + +.px-8 { + padding-left:2rem; + padding-right:2rem +} + +.px-\[0\.4rem\] { + padding-left:0.4rem; + padding-right:0.4rem +} + +.px-\[1\.4rem\] { + padding-left:1.4rem; + padding-right:1.4rem +} + +.px-\[10px\] { + padding-left:10px; + padding-right:10px +} + +.px-\[12px\] { + padding-left:12px; + padding-right:12px +} + +.px-\[30px\] { + padding-left:30px; + padding-right:30px +} + +.px-\[auto\] { + padding-left:auto; + padding-right:auto +} + +.py-0 { + padding-top:0px; + padding-bottom:0px +} + +.py-1 { + padding-top:0.25rem; + padding-bottom:0.25rem +} + +.py-1\.5 { + padding-top:0.375rem; + padding-bottom:0.375rem +} + +.py-10 { + padding-top:2.5rem; + padding-bottom:2.5rem +} + +.py-16 { + padding-top:4rem; + padding-bottom:4rem +} + +.py-2 { + padding-top:0.5rem; + padding-bottom:0.5rem +} + +.py-3 { + padding-top:0.75rem; + padding-bottom:0.75rem +} + +.py-4 { + padding-top:1rem; + padding-bottom:1rem +} + +.py-6 { + padding-top:1.5rem; + padding-bottom:1.5rem +} + +.py-8 { + padding-top:2rem; + padding-bottom:2rem +} + +.py-\[0\.32rem\] { + padding-top:0.32rem; + padding-bottom:0.32rem +} + +.py-\[0\.33rem\] { + padding-top:0.33rem; + padding-bottom:0.33rem +} + +.py-\[0\.4375rem\] { + padding-top:0.4375rem; + padding-bottom:0.4375rem +} + +.py-\[0\.4rem\] { + padding-top:0.4rem; + padding-bottom:0.4rem +} + +.py-\[10px\] { + padding-top:10px; + padding-bottom:10px +} + +.py-\[1px\] { + padding-top:1px; + padding-bottom:1px +} + +.py-\[5px\] { + padding-top:5px; + padding-bottom:5px +} + +.pb-0 { + padding-bottom:0px +} + +.pb-2 { + padding-bottom:0.5rem +} + +.pb-3 { + padding-bottom:0.75rem +} + +.pb-32 { + padding-bottom:8rem +} + +.pb-4 { + padding-bottom:1rem +} + +.pb-\[5px\] { + padding-bottom:5px +} + +.pl-1 { + padding-left:0.25rem +} + +.pl-2 { + padding-left:0.5rem +} + +.pl-\[1\.5rem\] { + padding-left:1.5rem +} + +.pl-\[18px\] { + padding-left:18px +} + +.pl-\[24px\] { + padding-left:24px +} + +.pl-\[50px\] { + padding-left:50px +} + +.pl-\[8px\] { + padding-left:8px +} + +.pr-2 { + padding-right:0.5rem +} + +.pr-\[24px\] { + padding-right:24px +} + +.pt-16 { + padding-top:4rem +} + +.pt-2 { + padding-top:0.5rem +} + +.pt-2\.5 { + padding-top:0.625rem +} + +.pt-3 { + padding-top:0.75rem +} + +.pt-4 { + padding-top:1rem +} + +.pt-8 { + padding-top:2rem +} + +.pt-\[0\.37rem\] { + padding-top:0.37rem +} + +.pt-\[6px\] { + padding-top:6px +} + +.text-left { + text-align:left +} + +.text-center { + text-align:center +} + +.text-right { + text-align:right +} + +.-indent-\[999px\] { + text-indent:-999px +} + +.align-top { + vertical-align:top +} + +.align-middle { + vertical-align:middle +} + +.align-bottom { + vertical-align:bottom +} + +.align-text-bottom { + vertical-align:text-bottom +} + +.align-\[-0\.125em\] { + vertical-align:-0.125em +} + +.text-2xl { + font-size:1.5rem; + line-height:2rem +} + +.text-4xl { + font-size:2.25rem; + line-height:2.5rem +} + +.text-\[0\.6rem\] { + font-size:0.6rem +} + +.text-\[0\.8rem\] { + font-size:0.8rem +} + +.text-\[0\.9rem\] { + font-size:0.9rem +} + +.text-\[1\.1rem\] { + font-size:1.1rem +} + +.text-\[10px\] { + font-size:10px +} + +.text-\[12px\] { + font-size:12px +} + +.text-\[13px\] { + font-size:13px +} + +.text-\[16px\] { + font-size:16px +} + +.text-\[18px\] { + font-size:18px +} + +.text-\[2\.5rem\] { + font-size:2.5rem +} + +.text-\[3\.75rem\] { + font-size:3.75rem +} + +.text-\[34px\] { + font-size:34px +} + +.text-base { + font-size:1rem; + line-height:1.5rem +} + +.text-lg { + font-size:1.125rem; + line-height:1.75rem +} + +.text-sm { + font-size:0.875rem; + line-height:1.25rem +} + +.text-xl { + font-size:1.25rem; + line-height:1.75rem +} + +.text-xs { + font-size:0.75rem; + line-height:1rem +} + +.font-black { + font-weight:900 +} + +.font-bold { + font-weight:700 +} + +.font-extrabold { + font-weight:800 +} + +.font-light { + font-weight:300 +} + +.font-medium { + font-weight:500 +} + +.font-normal { + font-weight:400 +} + +.font-semibold { + font-weight:600 +} + +.uppercase { + text-transform:uppercase +} + +.normal-case { + text-transform:none +} + +.italic { + font-style:italic +} + +.not-italic { + font-style:normal +} + +.leading-10 { + line-height:2.5rem +} + +.leading-3 { + line-height:.75rem +} + +.leading-6 { + line-height:1.5rem +} + +.leading-7 { + line-height:1.75rem +} + +.leading-9 { + line-height:2.25rem +} + +.leading-\[1\.2\] { + line-height:1.2 +} + +.leading-\[1\.5\] { + line-height:1.5 +} + +.leading-\[1\.6\] { + line-height:1.6 +} + +.leading-\[2\.15\] { + line-height:2.15 +} + +.leading-\[40px\] { + line-height:40px +} + +.leading-loose { + line-height:2 +} + +.leading-normal { + line-height:1.5 +} + +.tracking-\[-0\.00833em\] { + letter-spacing:-0.00833em +} + +.tracking-\[\.1rem\] { + letter-spacing:.1rem +} + +.tracking-\[0\.1rem\] { + letter-spacing:0.1rem +} + +.tracking-\[1\.7px\] { + letter-spacing:1.7px +} + +.tracking-normal { + letter-spacing:0em +} + +.\!text-\[\#14a44d\] { + --tw-text-opacity:1 !important; + color:rgb(20 164 77 / var(--tw-text-opacity)) !important +} + +.\!text-\[\#dc4c64\] { + --tw-text-opacity:1 !important; + color:rgb(220 76 100 / var(--tw-text-opacity)) !important +} + +.\!text-neutral { + --tw-text-opacity:1 !important; + color:rgba(var(--color-neutral), var(--tw-text-opacity)) !important +} + +.\!text-primary-700 { + --tw-text-opacity:1 !important; + color:rgba(var(--color-primary-700), var(--tw-text-opacity)) !important +} + +.text-\[\#14a44d\] { + --tw-text-opacity:1; + color:rgb(20 164 77 / var(--tw-text-opacity)) +} + +.text-\[\#212529\] { + --tw-text-opacity:1; + color:rgb(33 37 41 / var(--tw-text-opacity)) +} + +.text-\[\#3b71ca\] { + --tw-text-opacity:1; + color:rgb(59 113 202 / var(--tw-text-opacity)) +} + +.text-\[\#4f4f4f\] { + --tw-text-opacity:1; + color:rgb(79 79 79 / var(--tw-text-opacity)) +} + +.text-\[\#b3afaf\] { + --tw-text-opacity:1; + color:rgb(179 175 175 / var(--tw-text-opacity)) +} + +.text-\[\#b3b3b3\] { + --tw-text-opacity:1; + color:rgb(179 179 179 / var(--tw-text-opacity)) +} + +.text-\[\#dc4c64\] { + --tw-text-opacity:1; + color:rgb(220 76 100 / var(--tw-text-opacity)) +} + +.text-\[\#ffffff8a\] { + color:#ffffff8a +} + +.text-\[rgb\(220\2c 76\2c 100\)\] { + --tw-text-opacity:1; + color:rgb(220 76 100 / var(--tw-text-opacity)) +} + +.text-neutral-200 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-200), var(--tw-text-opacity)) +} + +.text-neutral-300 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-300), var(--tw-text-opacity)) +} + +.text-neutral-400 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +.text-neutral-50 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-50), var(--tw-text-opacity)) +} + +.text-neutral-500 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +.text-neutral-600 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-600), var(--tw-text-opacity)) +} + +.text-neutral-700 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +.text-neutral-800 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-800), var(--tw-text-opacity)) +} + +.text-neutral-900 { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-900), var(--tw-text-opacity)) +} + +.text-primary-300 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-300), var(--tw-text-opacity)) +} + +.text-primary-400 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +.text-primary-500 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-500), var(--tw-text-opacity)) +} + +.text-primary-600 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +.text-primary-700 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-700), var(--tw-text-opacity)) +} + +.text-primary-800 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-800), var(--tw-text-opacity)) +} + +.text-transparent { + color:transparent +} + +.underline { + text-decoration-line:underline +} + +.\!no-underline { + text-decoration-line:none !important +} + +.no-underline { + text-decoration-line:none +} + +.decoration-neutral-300 { + text-decoration-color:rgba(var(--color-neutral-300), 1) +} + +.decoration-primary-500 { + text-decoration-color:rgba(var(--color-primary-500), 1) +} + +.underline-offset-auto { + text-underline-offset:auto +} + +.\!opacity-0 { + opacity:0 !important +} + +.\!opacity-100 { + opacity:1 !important +} + +.opacity-0 { + opacity:0 +} + +.opacity-100 { + opacity:1 +} + +.opacity-30 { + opacity:0.3 +} + +.opacity-50 { + opacity:0.5 +} + +.opacity-60 { + opacity:0.6 +} + +.opacity-\[\.53\] { + opacity:.53 +} + +.opacity-\[\.54\] { + opacity:.54 +} + +.mix-blend-normal { + mix-blend-mode:normal +} + +.mix-blend-multiply { + mix-blend-mode:multiply +} + +.shadow { + --tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-2xl { + --tw-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25); + --tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-\[0_0px_3px_0_rgba\(0\2c 0\2c 0\2c 0\.07\)\2c 0_2px_2px_0_rgba\(0\2c 0\2c 0\2c 0\.04\)\] { + --tw-shadow:0 0px 3px 0 rgba(0,0,0,0.07),0 2px 2px 0 rgba(0,0,0,0.04); + --tw-shadow-colored:0 0px 3px 0 var(--tw-shadow-color), 0 2px 2px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-\[0_10px_15px_-3px_rgba\(0\2c 0\2c 0\2c 0\.07\)\2c 0_4px_6px_-2px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] { + --tw-shadow:0 10px 15px -3px rgba(0,0,0,0.07),0 4px 6px -2px rgba(0,0,0,0.05); + --tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -2px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-\[0_2px_5px_0_rgba\(0\2c 0\2c 0\2c 0\.16\)\2c _0_2px_10px_0_rgba\(0\2c 0\2c 0\2c 0\.12\)\] { + --tw-shadow:0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12); + --tw-shadow-colored:0 2px 5px 0 var(--tw-shadow-color), 0 2px 10px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-\[0_4px_9px_-4px_\#3b71ca\] { + --tw-shadow:0 4px 9px -4px #3b71ca; + --tw-shadow-colored:0 4px 9px -4px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-\[0px_2px_15px_-3px_rgba\(0\2c 0\2c 0\2c \.07\)\2c _0px_10px_20px_-2px_rgba\(0\2c 0\2c 0\2c \.04\)\] { + --tw-shadow:0px 2px 15px -3px rgba(0,0,0,.07), 0px 10px 20px -2px rgba(0,0,0,.04); + --tw-shadow-colored:0px 2px 15px -3px var(--tw-shadow-color), 0px 10px 20px -2px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-lg { + --tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-none { + --tw-shadow:0 0 #0000; + --tw-shadow-colored:0 0 #0000; + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-sm { + --tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.shadow-xl { + --tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.outline-none { + outline:2px solid transparent; + outline-offset:2px +} + +.outline { + outline-style:solid +} + +.blur { + --tw-blur:blur(8px); + filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) +} + +.filter { + filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) +} + +.backdrop-blur { + --tw-backdrop-blur:blur(8px); + -webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.backdrop-blur-2xl { + --tw-backdrop-blur:blur(40px); + -webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.backdrop-blur-sm { + --tw-backdrop-blur:blur(4px); + -webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.transition { + transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-\[background-color\2c _opacity\] { + transition-property:background-color, opacity; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-\[background-color\2c box-shadow\2c border\] { + transition-property:background-color,box-shadow,border; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-\[height\] { + transition-property:height; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-\[opacity\] { + transition-property:opacity; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-\[transform\2c _opacity\] { + transition-property:transform, opacity; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-\[transform\2c height\] { + transition-property:transform,height; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-\[width\] { + transition-property:width; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-all { + transition-property:all; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-colors { + transition-property:color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-opacity { + transition-property:opacity; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.transition-transform { + transition-property:transform; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.delay-\[0ms\] { + transition-delay:0ms +} + +.duration-150 { + transition-duration:150ms +} + +.duration-200 { + transition-duration:200ms +} + +.duration-300 { + transition-duration:300ms +} + +.duration-\[1000ms\] { + transition-duration:1000ms +} + +.duration-\[150ms\] { + transition-duration:150ms +} + +.duration-\[200ms\] { + transition-duration:200ms +} + +.duration-\[250ms\] { + transition-duration:250ms +} + +.duration-\[350ms\] { + transition-duration:350ms +} + +.duration-\[400ms\] { + transition-duration:400ms +} + +.duration-\[600ms\] { + transition-duration:600ms +} + +.ease-\[cubic-bezier\(0\2c 0\2c 0\.15\2c 1\)\2c _cubic-bezier\(0\2c 0\2c 0\.15\2c 1\)\] { + transition-timing-function:cubic-bezier(0,0,0.15,1), cubic-bezier(0,0,0.15,1) +} + +.ease-\[cubic-bezier\(0\.25\2c 0\.1\2c 0\.25\2c 1\)\] { + transition-timing-function:cubic-bezier(0.25,0.1,0.25,1) +} + +.ease-\[cubic-bezier\(0\.25\2c 0\.1\2c 0\.25\2c 1\.0\)\] { + transition-timing-function:cubic-bezier(0.25,0.1,0.25,1.0) +} + +.ease-\[cubic-bezier\(0\.4\2c 0\2c 0\.2\2c 1\)\] { + transition-timing-function:cubic-bezier(0.4,0,0.2,1) +} + +.ease-\[ease\] { + transition-timing-function:ease +} + +.ease-in-out { + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1) +} + +.ease-linear { + transition-timing-function:linear +} + +.ease-out { + transition-timing-function:cubic-bezier(0, 0, 0.2, 1) +} + +.will-change-transform { + will-change:transform +} + +.\!\[clip\:rect\(0\2c 0\2c 0\2c 0\)\] { + clip:rect(0,0,0,0) !important +} + +.\[clip\:rect\(0\2c 0\2c 0\2c 0\)\] { + clip:rect(0,0,0,0) +} + +.\[direction\:ltr\] { + direction:ltr +} + +.\[overflow-anchor\:none\] { + overflow-anchor:none +} + +.\[transition\:background-color_\.2s_linear\2c _height_\.2s_ease-in-out\] { + transition:background-color .2s linear, height .2s ease-in-out +} + +.\[transition\:background-color_\.2s_linear\2c _width_\.2s_ease-in-out\2c _opacity\] { + transition:background-color .2s linear, width .2s ease-in-out, opacity +} + +.\[transition\:background-color_250ms_cubic-bezier\(0\.4\2c 0\2c 0\.2\2c 1\)_0ms\2c box-shadow_250ms_cubic-bezier\(0\.4\2c 0\2c 0\.2\2c 1\)_0ms\2c border_250ms_cubic-bezier\(0\.4\2c 0\2c 0\.2\2c 1\)_0ms\] { + transition:background-color 250ms cubic-bezier(0.4,0,0.2,1) 0ms,box-shadow 250ms cubic-bezier(0.4,0,0.2,1) 0ms,border 250ms cubic-bezier(0.4,0,0.2,1) 0ms +} + +body a, +body button { + transition-property:color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +/* Scale SVG icons to text size */ + +.icon svg { + height:1em; + width:1em +} + +/* Search */ + +#search-query::-webkit-search-cancel-button, +#search-query::-webkit-search-decoration, +#search-query::-webkit-search-results-button, +#search-query::-webkit-search-results-decoration { + display:none +} + +/* Hamburger menu */ + +body:has(#menu-controller:checked) { + overflow-y:hidden +} + +#menu-button:has(#menu-controller:checked) { + visibility:hidden +} + +#menu-controller:checked~#menu-wrapper { + visibility:visible; + opacity:1 +} + +/* RTL support */ + +:is(:where([dir="rtl"]) .prose blockquote) { + border-left-width:0px; + border-right-width:4px; + padding-right:1rem +} + +:is(:where([dir="rtl"]) .prose ul>li),:is(:where([dir="rtl"]) +.prose ol>li) { + margin-right:1.75rem; + padding-left:0px; + padding-right:0.5rem +} + +:is(:where([dir="rtl"]) .prose ol>li):before,:is(:where([dir="rtl"]) +.prose ul>li):before { + left:auto; + right:0.25rem +} + +:is(:where([dir="rtl"]) .prose thead td:first-child),:is(:where([dir="rtl"]) +.prose thead th:first-child) { + padding-right:0px +} + +:is(:where([dir="rtl"]) .prose thead td:last-child),:is(:where([dir="rtl"]) +.prose thead th:last-child) { + padding-left:0px +} + +/* Adjust first child within prose */ + +.prose div.min-w-0.max-w-prose>*:first-child { + margin-top:0.75rem +} + +/* Table of Contents */ + +.toc ul, +.toc li { + list-style-type:none; + padding-left:0px; + padding-right:0px; + line-height:1.375 +} + +:is(:where([dir="ltr"]) .toc ul ul) { + padding-left:1rem +} + +:is(:where([dir="rtl"]) .toc ul ul) { + padding-right:1rem +} + +.toc a { + font-weight:400; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +:is(:where(.dark) .toc a) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +:is(:where([dir="rtl"]) .toc ul>li) { + margin-right:0px +} + +/* Code Copy */ + +.highlight-wrapper { + display:block +} + +.highlight { + position:relative; + z-index:0 +} + +.highlight:hover>.copy-button { + visibility:visible +} + +.copy-button { + visibility:hidden; + position:absolute; + top:0px; + right:0px; + z-index:10; + width:5rem; + cursor:pointer; + white-space:nowrap; + border-bottom-left-radius:0.375rem; + border-top-right-radius:0.375rem; + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-200), var(--tw-bg-opacity)); + padding-top:0.25rem; + padding-bottom:0.25rem; + font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size:0.875rem; + line-height:1.25rem; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)); + opacity:0.9 +} + +:is(:where(.dark) .copy-button) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity)); + --tw-text-opacity:1; + color:rgba(var(--color-neutral-200), var(--tw-text-opacity)) +} + +.copy-button:hover, +.copy-button:focus, +.copy-button:active, +.copy-button:active:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .copy-button:hover),:is(:where(.dark) +.copy-button:focus),:is(:where(.dark) +.copy-button:active),:is(:where(.dark) +.copy-button:active:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity)) +} + +.copy-textarea { + position:absolute; + z-index:-10; + opacity:0.05 +} + +/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */ + +.katex-display { + overflow: auto hidden +} + +/* Fix long tables breaking out of article on mobile */ + +table { + display: block; + overflow: auto; +} + +/* Fix long inline code sections breaking out of article on mobile */ + +code { + word-wrap: break-word; + /* All browsers since IE 5.5+ */ + overflow-wrap: break-word; + /* Renamed property in CSS3 draft spec */ +} + +/* -- Chroma Highlight -- */ + +/* Background */ + +.prose .chroma { + position:static; + border-radius:0.375rem; + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-50), var(--tw-bg-opacity)); + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +:is(:where(.dark) .prose .chroma) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity)); + --tw-text-opacity:1; + color:rgba(var(--color-neutral-200), var(--tw-text-opacity)) +} + +/* LineTableTD */ + +.chroma .lntd, +.chroma .lntd pre { + margin:0px; + border-style:none; + padding:0px; + vertical-align:top +} + +/* LineTable */ + +.chroma .lntable { + display:block; + width:auto; + overflow:hidden; + padding-left:1rem; + padding-right:1rem; + padding-top:0.75rem; + padding-bottom:0.75rem; + font-size:1rem; + line-height:1.5rem; + border-spacing: 0 +} + +/* LineHighlight */ + +.chroma .hl { + margin-left:-1rem; + margin-right:-1rem; + display:block; + width:auto; + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)); + padding-left:1rem; + padding-right:1rem +} + +:is(:where(.dark) .chroma .hl) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity)) +} + +.chroma .lntd .hl { + margin:0px; + padding:0px +} + +/* LineNumbersTable */ + +/* LineNumbers */ + +.chroma .lnt, +.chroma .ln { + margin-right:0.4em; + padding-left:0.4em; + padding-right:0.4em; + padding-top:0px; + padding-bottom:0px; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-600), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .lnt),:is(:where(.dark) +.chroma .ln) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-300), var(--tw-text-opacity)) +} + +/* Keyword */ + +/* KeywordDeclaration */ + +/* KeywordNamespace */ + +/* KeywordPseudo */ + +/* KeywordReserved */ + +/* NameClass */ + +/* NameFunctionMagic */ + +/* NameNamespace */ + +/* NameVariableClass */ + +/* Operator */ + +.chroma .k, +.chroma .kd, +.chroma .kn, +.chroma .kp, +.chroma .kr, +.chroma .nc, +.chroma .fm, +.chroma .nn, +.chroma .vc, +.chroma .o { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .k),:is(:where(.dark) +.chroma .kd),:is(:where(.dark) +.chroma .kn),:is(:where(.dark) +.chroma .kp),:is(:where(.dark) +.chroma .kr),:is(:where(.dark) +.chroma .nc),:is(:where(.dark) +.chroma .fm),:is(:where(.dark) +.chroma .nn),:is(:where(.dark) +.chroma .vc),:is(:where(.dark) +.chroma .o) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-300), var(--tw-text-opacity)) +} + +/* KeywordConstant */ + +.chroma .kc { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-secondary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .kc) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-500), var(--tw-text-opacity)) +} + +/* KeywordType */ + +/* NameVariable */ + +/* NameVariableInstance */ + +/* NameVariableMagic */ + +/* LiteralNumber */ + +/* LiteralNumberBin */ + +/* LiteralNumberFloat */ + +/* LiteralNumberHex */ + +/* LiteralNumberInteger */ + +/* LiteralNumberIntegerLong */ + +/* LiteralNumberOct */ + +.chroma .kt, +.chroma .nv, +.chroma .vi, +.chroma .vm, +.chroma .m, +.chroma .mb, +.chroma .mf, +.chroma .mh, +.chroma .mi, +.chroma .il, +.chroma .mo { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .kt),:is(:where(.dark) +.chroma .nv),:is(:where(.dark) +.chroma .vi),:is(:where(.dark) +.chroma .vm),:is(:where(.dark) +.chroma .m),:is(:where(.dark) +.chroma .mb),:is(:where(.dark) +.chroma .mf),:is(:where(.dark) +.chroma .mh),:is(:where(.dark) +.chroma .mi),:is(:where(.dark) +.chroma .il),:is(:where(.dark) +.chroma .mo) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-600), var(--tw-text-opacity)) +} + +/* Name */ + +/* NameDecorator */ + +/* NameEntity */ + +/* NameLabel */ + +.chroma .n, +.chroma .nd, +.chroma .ni, +.chroma .nl { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-900), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .n),:is(:where(.dark) +.chroma .nd),:is(:where(.dark) +.chroma .ni),:is(:where(.dark) +.chroma .nl) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-200), var(--tw-text-opacity)) +} + +/* NameAttribute */ + +/* NameBuiltin */ + +/* NameBuiltinPseudo */ + +/* NameOther */ + +/* NameProperty */ + +/* NameTag */ + +.chroma .na, +.chroma .nb, +.chroma .bp, +.chroma .nx, +.chroma .py, +.chroma .nt { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .na),:is(:where(.dark) +.chroma .nb),:is(:where(.dark) +.chroma .bp),:is(:where(.dark) +.chroma .nx),:is(:where(.dark) +.chroma .py),:is(:where(.dark) +.chroma .nt) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-300), var(--tw-text-opacity)) +} + +/* NameConstant */ + +/* NameException */ + +/* NameVariableGlobal */ + +.chroma .no, +.chroma .ne, +.chroma .vg { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-secondary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .no),:is(:where(.dark) +.chroma .ne),:is(:where(.dark) +.chroma .vg) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-500), var(--tw-text-opacity)) +} + +/* NameFunction */ + +.chroma .nf { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-600), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .nf) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-500), var(--tw-text-opacity)) +} + +/* Literal */ + +/* LiteralDate */ + +/* LiteralString */ + +/* LiteralStringAffix */ + +/* LiteralStringBacktick */ + +/* LiteralStringChar */ + +/* LiteralStringDelimiter */ + +/* LiteralStringDoc */ + +/* LiteralStringDouble */ + +/* LiteralStringHeredoc */ + +/* LiteralStringInterpol */ + +/* LiteralStringOther */ + +/* LiteralStringSingle */ + +/* GenericInserted */ + +/* GenericOutput */ + +/* GenericPrompt */ + +.chroma .l, +.chroma .ld, +.chroma .s, +.chroma .sa, +.chroma .sb, +.chroma .sc, +.chroma .dl, +.chroma .sd, +.chroma .s2, +.chroma .sh, +.chroma .si, +.chroma .sx, +.chroma .s1, +.chroma .gi, +.chroma .go, +.chroma .gp { + --tw-text-opacity:1; + color:rgba(var(--color-primary-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .l),:is(:where(.dark) +.chroma .ld),:is(:where(.dark) +.chroma .s),:is(:where(.dark) +.chroma .sa),:is(:where(.dark) +.chroma .sb),:is(:where(.dark) +.chroma .sc),:is(:where(.dark) +.chroma .dl),:is(:where(.dark) +.chroma .sd),:is(:where(.dark) +.chroma .s2),:is(:where(.dark) +.chroma .sh),:is(:where(.dark) +.chroma .si),:is(:where(.dark) +.chroma .sx),:is(:where(.dark) +.chroma .s1),:is(:where(.dark) +.chroma .gi),:is(:where(.dark) +.chroma .go),:is(:where(.dark) +.chroma .gp) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +/* LiteralStringEscape */ + +.chroma .se { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-secondary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .se) { + --tw-text-opacity:1; + color:rgba(var(--color-secondary-500), var(--tw-text-opacity)) +} + +/* LiteralStringRegex */ + +/* LiteralStringSymbol */ + +.chroma .sr, +.chroma .ss { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-primary-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .sr),:is(:where(.dark) +.chroma .ss) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +/* OperatorWord */ + +.chroma .ow { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .ow) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +/* Comment */ + +/* CommentMultiline */ + +/* CommentSingle */ + +/* CommentSpecial */ + +/* CommentPreproc */ + +/* CommentPreprocFile */ + +.chroma .c, +.chroma .cm, +.chroma .c1, +.chroma .cs, +.chroma .cp, +.chroma .cpf { + font-style:italic; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .c),:is(:where(.dark) +.chroma .cm),:is(:where(.dark) +.chroma .c1),:is(:where(.dark) +.chroma .cs),:is(:where(.dark) +.chroma .cp),:is(:where(.dark) +.chroma .cpf) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +/* CommentHashbang */ + +.chroma .ch { + font-weight:600; + font-style:italic; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +:is(:where(.dark) .chroma .ch) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +/* GenericEmph */ + +.chroma .ge { + font-style:italic +} + +/* GenericHeading */ + +.chroma .gh { + font-weight:600; + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +/* GenericStrong */ + +.chroma .gs { + font-weight:600 +} + +/* GenericSubheading */ + +/* GenericTraceback */ + +.chroma .gu, +.chroma .gt { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +/* GenericUnderline */ + +.chroma .gl { + text-decoration-line:underline +} + +/* Custom */ + +pre { + text-align: left; +} + +.thumbnail { + min-width: 300px; + height: 180px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card { + height: 200px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card_related { + height: 150px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card_term { + height: 150px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.single_hero_basic { + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.single_hero_round { + max-height: 50vh; + -o-object-fit: cover; + object-fit: cover; +} + +.single_hero_background { + background-repeat:no-repeat; + background-size:cover; + background-position:center; + width: calc(100% + 40px); + z-index: -10; + margin-left: -20px; +} + +.hero_gradient { + width: 100%; + height: 100%; +} + +.thumbnailshadow { + box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3); +} + +.anchor { + display: block; + position: relative; + top: -150px; + height: 0px; + visibility: hidden; +} + +@media (min-width: 640px) { + .thumbnail { + min-width: 100%; + height: 180px; + } + + .article { + flex-wrap: wrap; + } +} + +@media (min-width: 853px) { + .thumbnail { + min-width: 300px; + min-height: 180px; + height: auto; + } + + .article { + flex-wrap: nowrap; + } +} + +.medium-zoom-image--opened { + z-index: 100; +} + +.nested-menu:hover + .menuhide { + visibility: visible; + opacity: 1; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; +} + +.menuhide:hover { + visibility: visible; + opacity: 1; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; +} + +.menuhide { + visibility: hidden; + opacity: 0; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; + z-index: 1000; +} + +.active { + text-decoration-line: underline; + text-decoration-thickness: 3px; + text-underline-offset: 4px; +} + +/* Gallery Specific Styles */ + +.grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; +} + +.grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; +} + +.grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; +} + +.grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; +} + +.grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; +} + +.grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; +} + +.grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; +} + +.grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; +} + +.grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; +} + +.grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; +} + +.grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; +} + +.grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; +} + +.grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; +} + +.grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; +} + +.grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; +} + +.grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; +} + +.grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; +} + +.grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; +} + +.grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; +} + +.grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; +} + +.grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; +} + +@media (min-width: 640px) { + .sm\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .sm\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .sm\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .sm\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .sm\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .sm\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .sm\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .sm\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .sm\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .sm\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .sm\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .sm\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .sm\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .sm\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .sm\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .sm\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .sm\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .sm\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .sm\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .sm\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .sm\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +@media (min-width: 853px) { + .md\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .md\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .md\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .md\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .md\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .md\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .md\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .md\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .md\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .md\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .md\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .md\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .md\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .md\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .md\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .md\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .md\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .md\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .md\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .md\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .md\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +@media (min-width: 1024px) { + .lg\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .lg\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .lg\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .lg\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .lg\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .lg\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .lg\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .lg\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .lg\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .lg\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .lg\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .lg\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .lg\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .lg\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .lg\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .lg\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .lg\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .lg\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .lg\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .lg\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .lg\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +@media (min-width: 1280px) { + .xl\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .xl\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .xl\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .xl\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .xl\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .xl\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .xl\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .xl\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .xl\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .xl\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .xl\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .xl\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .xl\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .xl\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .xl\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .xl\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .xl\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .xl\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .xl\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .xl\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .xl\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +@media (min-width: 1536px) { + .2xl\:grid-w10 { + width: calc(10% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w15 { + width: calc(15% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w20 { + width: calc(20% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w25 { + width: calc(25% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w30 { + width: calc(30% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w33 { + width: calc(33% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w35 { + width: calc(35% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w40 { + width: calc(40% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w45 { + width: calc(45% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w50 { + width: calc(50% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w55 { + width: calc(55% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w60 { + width: calc(60% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w65 { + width: calc(65% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w66 { + width: calc(66% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w70 { + width: calc(70% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w75 { + width: calc(75% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w80 { + width: calc(80% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w85 { + width: calc(85% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w90 { + width: calc(90% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w95 { + width: calc(95% - 5px); + margin: 0px !important; + } + + .2xl\:grid-w100 { + width: calc(100% - 5px); + margin: 0px !important; + } +} + +/* Carousel Specific Styles */ + +.ratio-16-9 { + padding-top: 56.25%; +} + +/* 16:9 Aspect Ratio */ + +.ratio-21-9 { + padding-top: 42.85%; +} + +/* 21:9 Aspect Ratio */ + +.ratio-32-9 { + padding-top: 28.125%; +} + +/* 32:9 Aspect Ratio */ + +@media (min-width: 640px) { + .sm\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .sm\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .sm\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +@media (min-width: 853px) { + .md\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .md\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .md\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +@media (min-width: 1024px) { + .lg\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .lg\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .lg\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +@media (min-width: 1280px) { + .xl\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .xl\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .xl\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +@media (min-width: 1536px) { + .2xl\:ratio-16-9 { + padding-top: 56.25%; + } + + /* 16:9 Aspect Ratio */ + + .2xl\:ratio-21-9 { + padding-top: 42.85%; + } + + /* 21:9 Aspect Ratio */ + + .2xl\:ratio-32-9 { + padding-top: 28.125%; + } + + /* 32:9 Aspect Ratio */ +} + +:is(:where(.dark) .dark\:prose-invert) { + --tw-prose-body:var(--tw-prose-invert-body); + --tw-prose-headings:var(--tw-prose-invert-headings); + --tw-prose-lead:var(--tw-prose-invert-lead); + --tw-prose-links:var(--tw-prose-invert-links); + --tw-prose-bold:var(--tw-prose-invert-bold); + --tw-prose-counters:var(--tw-prose-invert-counters); + --tw-prose-bullets:var(--tw-prose-invert-bullets); + --tw-prose-hr:var(--tw-prose-invert-hr); + --tw-prose-quotes:var(--tw-prose-invert-quotes); + --tw-prose-quote-borders:var(--tw-prose-invert-quote-borders); + --tw-prose-captions:var(--tw-prose-invert-captions); + --tw-prose-kbd:var(--tw-prose-invert-kbd); + --tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows); + --tw-prose-code:var(--tw-prose-invert-code); + --tw-prose-pre-code:var(--tw-prose-invert-pre-code); + --tw-prose-pre-bg:var(--tw-prose-invert-pre-bg); + --tw-prose-th-borders:var(--tw-prose-invert-th-borders); + --tw-prose-td-borders:var(--tw-prose-invert-td-borders); +} + +:is(:where(.dark) .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-neutral-600), 1); +} + +:is(:where(.dark) .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover { + color:rgba(var(--color-primary-400), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color:rgba(var(--color-neutral-200), 1); + background-color:rgba(var(--color-neutral-700), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color:rgba(var(--color-primary-400), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color:rgba(var(--color-neutral-700), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +:is(:where(.dark) .dark\:prose-invert) :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +.selection\:bg-transparent *::-moz-selection { + background-color:transparent +} + +.selection\:bg-transparent *::selection { + background-color:transparent +} + +.selection\:bg-transparent::-moz-selection { + background-color:transparent +} + +.selection\:bg-transparent::selection { + background-color:transparent +} + +.before\:pointer-events-none::before { + content:var(--tw-content); + pointer-events:none +} + +.before\:absolute::before { + content:var(--tw-content); + position:absolute +} + +.before\:h-\[0\.875rem\]::before { + content:var(--tw-content); + height:0.875rem +} + +.before\:w-\[0\.875rem\]::before { + content:var(--tw-content); + width:0.875rem +} + +.before\:scale-0::before { + content:var(--tw-content); + --tw-scale-x:0; + --tw-scale-y:0; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.before\:rounded-full::before { + content:var(--tw-content); + border-radius:9999px +} + +.before\:bg-transparent::before { + content:var(--tw-content); + background-color:transparent +} + +.before\:opacity-0::before { + content:var(--tw-content); + opacity:0 +} + +.before\:shadow-\[0px_0px_0px_13px_transparent\]::before { + content:var(--tw-content); + --tw-shadow:0px 0px 0px 13px transparent; + --tw-shadow-colored:0px 0px 0px 13px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.before\:content-\[\'\'\]::before { + --tw-content:''; + content:var(--tw-content) +} + +.after\:clear-both::after { + content:var(--tw-content); + clear:both +} + +.after\:block::after { + content:var(--tw-content); + display:block +} + +.after\:content-\[\'\'\]::after { + --tw-content:''; + content:var(--tw-content) +} + +.first\:mt-8:first-child { + margin-top:2rem +} + +.checked\:\!border-\[\#14a44d\]:checked { + --tw-border-opacity:1 !important; + border-color:rgb(20 164 77 / var(--tw-border-opacity)) !important +} + +.checked\:\!border-\[\#dc4c64\]:checked { + --tw-border-opacity:1 !important; + border-color:rgb(220 76 100 / var(--tw-border-opacity)) !important +} + +.checked\:\!bg-\[\#14a44d\]:checked { + --tw-bg-opacity:1 !important; + background-color:rgb(20 164 77 / var(--tw-bg-opacity)) !important +} + +.checked\:\!bg-\[\#dc4c64\]:checked { + --tw-bg-opacity:1 !important; + background-color:rgb(220 76 100 / var(--tw-bg-opacity)) !important +} + +.checked\:before\:opacity-\[0\.16\]:checked::before { + content:var(--tw-content); + opacity:0.16 +} + +.checked\:after\:absolute:checked::after { + content:var(--tw-content); + position:absolute +} + +.checked\:after\:-mt-px:checked::after { + content:var(--tw-content); + margin-top:-1px +} + +.checked\:after\:ml-\[0\.25rem\]:checked::after { + content:var(--tw-content); + margin-left:0.25rem +} + +.checked\:after\:block:checked::after { + content:var(--tw-content); + display:block +} + +.checked\:after\:h-\[0\.8125rem\]:checked::after { + content:var(--tw-content); + height:0.8125rem +} + +.checked\:after\:w-\[0\.375rem\]:checked::after { + content:var(--tw-content); + width:0.375rem +} + +.checked\:after\:rotate-45:checked::after { + content:var(--tw-content); + --tw-rotate:45deg; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.checked\:after\:border-\[0\.125rem\]:checked::after { + content:var(--tw-content); + border-width:0.125rem +} + +.checked\:after\:border-l-0:checked::after { + content:var(--tw-content); + border-left-width:0px +} + +.checked\:after\:border-t-0:checked::after { + content:var(--tw-content); + border-top-width:0px +} + +.checked\:after\:border-solid:checked::after { + content:var(--tw-content); + border-style:solid +} + +.checked\:after\:\!bg-\[\#14a44d\]:checked::after { + content:var(--tw-content); + --tw-bg-opacity:1 !important; + background-color:rgb(20 164 77 / var(--tw-bg-opacity)) !important +} + +.checked\:after\:\!bg-\[\#dc4c64\]:checked::after { + content:var(--tw-content); + --tw-bg-opacity:1 !important; + background-color:rgb(220 76 100 / var(--tw-bg-opacity)) !important +} + +.checked\:after\:bg-transparent:checked::after { + content:var(--tw-content); + background-color:transparent +} + +.checked\:after\:content-\[\'\'\]:checked::after { + --tw-content:''; + content:var(--tw-content) +} + +.empty\:hidden:empty { + display:none +} + +.hover\:cursor-pointer:hover { + cursor:pointer +} + +.hover\:rounded-\[50\%\]:hover { + border-radius:50% +} + +.hover\:border-transparent:hover { + border-color:transparent +} + +.hover\:\!bg-\[\#eee\]:hover { + --tw-bg-opacity:1 !important; + background-color:rgb(238 238 238 / var(--tw-bg-opacity)) !important +} + +.hover\:\!bg-primary-500:hover { + --tw-bg-opacity:1 !important; + background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity)) !important +} + +.hover\:bg-\[\#00000014\]:hover { + background-color:#00000014 +} + +.hover\:bg-\[\#00000026\]:hover { + background-color:#00000026 +} + +.hover\:bg-\[unset\]:hover { + background-color:unset +} + +.hover\:bg-neutral-100:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-100), var(--tw-bg-opacity)) +} + +.hover\:bg-neutral-200:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-200), var(--tw-bg-opacity)) +} + +.hover\:bg-primary-100:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) +} + +.hover\:bg-primary-500:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity)) +} + +.hover\:bg-primary-600:hover { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity)) +} + +.hover\:fill-\[\#8b8b8b\]:hover { + fill:#8b8b8b +} + +.hover\:text-\[\#3b71ca\]:hover { + --tw-text-opacity:1; + color:rgb(59 113 202 / var(--tw-text-opacity)) +} + +.hover\:text-\[\#8b8b8b\]:hover { + --tw-text-opacity:1; + color:rgb(139 139 139 / var(--tw-text-opacity)) +} + +.hover\:text-neutral:hover { + --tw-text-opacity:1; + color:rgba(var(--color-neutral), var(--tw-text-opacity)) +} + +.hover\:text-primary-400:hover { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +.hover\:text-primary-500:hover { + --tw-text-opacity:1; + color:rgba(var(--color-primary-500), var(--tw-text-opacity)) +} + +.hover\:text-primary-600:hover { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +.hover\:text-primary-700:hover { + --tw-text-opacity:1; + color:rgba(var(--color-primary-700), var(--tw-text-opacity)) +} + +.hover\:underline:hover { + text-decoration-line:underline +} + +.hover\:no-underline:hover { + text-decoration-line:none +} + +.hover\:decoration-primary-400:hover { + text-decoration-color:rgba(var(--color-primary-400), 1) +} + +.hover\:decoration-2:hover { + text-decoration-thickness:2px +} + +.hover\:underline-offset-2:hover { + text-underline-offset:2px +} + +.hover\:\!opacity-90:hover { + opacity:0.9 !important +} + +.hover\:opacity-100:hover { + opacity:1 +} + +.hover\:opacity-90:hover { + opacity:0.9 +} + +.hover\:\!shadow-none:hover { + --tw-shadow:0 0 #0000 !important; + --tw-shadow-colored:0 0 #0000 !important; + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important +} + +.hover\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.3\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.2\)\]:hover { + --tw-shadow:0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); + --tw-shadow-colored:0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.hover\:outline-none:hover { + outline:2px solid transparent; + outline-offset:2px +} + +.hover\:ease-in-out:hover { + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1) +} + +.hover\:before\:opacity-\[0\.04\]:hover::before { + content:var(--tw-content); + opacity:0.04 +} + +.hover\:before\:shadow-\[0px_0px_0px_13px_rgba\(0\2c 0\2c 0\2c 0\.6\)\]:hover::before { + content:var(--tw-content); + --tw-shadow:0px 0px 0px 13px rgba(0,0,0,0.6); + --tw-shadow-colored:0px 0px 0px 13px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.focus\:translate-y-0:focus { + --tw-translate-y:0px; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.focus\:rounded-\[50\%\]:focus { + border-radius:50% +} + +.focus\:\!border-\[\#14a44d\]:focus { + --tw-border-opacity:1 !important; + border-color:rgb(20 164 77 / var(--tw-border-opacity)) !important +} + +.focus\:\!border-\[\#dc4c64\]:focus { + --tw-border-opacity:1 !important; + border-color:rgb(220 76 100 / var(--tw-border-opacity)) !important +} + +.focus\:\!bg-\[\#eee\]:focus { + --tw-bg-opacity:1 !important; + background-color:rgb(238 238 238 / var(--tw-bg-opacity)) !important +} + +.focus\:bg-\[\#00000014\]:focus { + background-color:#00000014 +} + +.focus\:bg-\[\#00000026\]:focus { + background-color:#00000026 +} + +.focus\:bg-neutral-200:focus { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-200), var(--tw-bg-opacity)) +} + +.focus\:bg-primary-100:focus { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity)) +} + +.focus\:bg-primary-600:focus { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity)) +} + +.focus\:text-\[\#3b71ca\]:focus { + --tw-text-opacity:1; + color:rgb(59 113 202 / var(--tw-text-opacity)) +} + +.focus\:text-primary-600:focus { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +.focus\:no-underline:focus { + text-decoration-line:none +} + +.focus\:\!opacity-90:focus { + opacity:0.9 !important +} + +.focus\:opacity-90:focus { + opacity:0.9 +} + +.focus\:\!shadow-\[inset_0_0_0_1px_\#14a44d\]:focus { + --tw-shadow:inset 0 0 0 1px #14a44d !important; + --tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color) !important; + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important +} + +.focus\:\!shadow-\[inset_0_0_0_1px_\#dc4c64\]:focus { + --tw-shadow:inset 0 0 0 1px #dc4c64 !important; + --tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color) !important; + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important +} + +.focus\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.3\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.2\)\]:focus { + --tw-shadow:0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); + --tw-shadow-colored:0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.focus\:shadow-none:focus { + --tw-shadow:0 0 #0000; + --tw-shadow-colored:0 0 #0000; + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.focus\:outline-none:focus { + outline:2px solid transparent; + outline-offset:2px +} + +.focus\:outline-dotted:focus { + outline-style:dotted +} + +.focus\:outline-2:focus { + outline-width:2px +} + +.focus\:outline-transparent:focus { + outline-color:transparent +} + +.focus\:ring-0:focus { + --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) +} + +.focus\:transition-\[border-color_0\.2s\]:focus { + transition-property:border-color 0.2s; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.focus\:placeholder\:opacity-100:focus::-moz-placeholder { + opacity:1 +} + +.focus\:placeholder\:opacity-100:focus::placeholder { + opacity:1 +} + +.focus\:before\:scale-100:focus::before { + content:var(--tw-content); + --tw-scale-x:1; + --tw-scale-y:1; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.focus\:before\:opacity-\[0\.12\]:focus::before { + content:var(--tw-content); + opacity:0.12 +} + +.focus\:before\:shadow-\[0px_0px_0px_13px_rgba\(0\2c 0\2c 0\2c 0\.6\)\]:focus::before { + content:var(--tw-content); + --tw-shadow:0px 0px 0px 13px rgba(0,0,0,0.6); + --tw-shadow-colored:0px 0px 0px 13px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.focus\:before\:transition-\[box-shadow_0\.2s\2c transform_0\.2s\]:focus::before { + content:var(--tw-content); + transition-property:box-shadow 0.2s,transform 0.2s; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.focus\:after\:absolute:focus::after { + content:var(--tw-content); + position:absolute +} + +.focus\:after\:z-\[1\]:focus::after { + content:var(--tw-content); + z-index:1 +} + +.focus\:after\:block:focus::after { + content:var(--tw-content); + display:block +} + +.focus\:after\:h-\[0\.875rem\]:focus::after { + content:var(--tw-content); + height:0.875rem +} + +.focus\:after\:w-\[0\.875rem\]:focus::after { + content:var(--tw-content); + width:0.875rem +} + +.focus\:after\:rounded-\[0\.125rem\]:focus::after { + content:var(--tw-content); + border-radius:0.125rem +} + +.focus\:after\:content-\[\'\'\]:focus::after { + --tw-content:''; + content:var(--tw-content) +} + +.checked\:focus\:before\:scale-100:focus:checked::before { + content:var(--tw-content); + --tw-scale-x:1; + --tw-scale-y:1; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.checked\:focus\:before\:shadow-\[0px_0px_0px_13px_\#3b71ca\]:focus:checked::before { + content:var(--tw-content); + --tw-shadow:0px 0px 0px 13px #3b71ca; + --tw-shadow-colored:0px 0px 0px 13px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.checked\:focus\:before\:transition-\[box-shadow_0\.2s\2c transform_0\.2s\]:focus:checked::before { + content:var(--tw-content); + transition-property:box-shadow 0.2s,transform 0.2s; + transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); + transition-duration:150ms +} + +.checked\:focus\:after\:-mt-px:focus:checked::after { + content:var(--tw-content); + margin-top:-1px +} + +.checked\:focus\:after\:ml-\[0\.25rem\]:focus:checked::after { + content:var(--tw-content); + margin-left:0.25rem +} + +.checked\:focus\:after\:h-\[0\.8125rem\]:focus:checked::after { + content:var(--tw-content); + height:0.8125rem +} + +.checked\:focus\:after\:w-\[0\.375rem\]:focus:checked::after { + content:var(--tw-content); + width:0.375rem +} + +.checked\:focus\:after\:rotate-45:focus:checked::after { + content:var(--tw-content); + --tw-rotate:45deg; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.checked\:focus\:after\:rounded-none:focus:checked::after { + content:var(--tw-content); + border-radius:0px +} + +.checked\:focus\:after\:border-\[0\.125rem\]:focus:checked::after { + content:var(--tw-content); + border-width:0.125rem +} + +.checked\:focus\:after\:border-l-0:focus:checked::after { + content:var(--tw-content); + border-left-width:0px +} + +.checked\:focus\:after\:border-t-0:focus:checked::after { + content:var(--tw-content); + border-top-width:0px +} + +.checked\:focus\:after\:border-solid:focus:checked::after { + content:var(--tw-content); + border-style:solid +} + +.checked\:focus\:after\:bg-transparent:focus:checked::after { + content:var(--tw-content); + background-color:transparent +} + +.active\:bg-\[\#c4d4ef\]:active { + --tw-bg-opacity:1; + background-color:rgb(196 212 239 / var(--tw-bg-opacity)) +} + +.active\:bg-\[\#cacfd1\]:active { + --tw-bg-opacity:1; + background-color:rgb(202 207 209 / var(--tw-bg-opacity)) +} + +.active\:bg-primary-700:active { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-700), var(--tw-bg-opacity)) +} + +.active\:text-primary-700:active { + --tw-text-opacity:1; + color:rgba(var(--color-primary-700), var(--tw-text-opacity)) +} + +.active\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.3\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.2\)\]:active { + --tw-shadow:0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); + --tw-shadow-colored:0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.disabled\:hover\:bg-transparent:hover:disabled { + background-color:transparent +} + +.group\/x:hover .group-hover\/x\:h-\[11px\] { + height:11px +} + +.group\/y:hover .group-hover\/y\:w-\[11px\] { + width:11px +} + +.group\/x:hover .group-hover\/x\:bg-\[\#999\] { + --tw-bg-opacity:1; + background-color:rgb(153 153 153 / var(--tw-bg-opacity)) +} + +.group\/y:hover .group-hover\/y\:bg-\[\#999\] { + --tw-bg-opacity:1; + background-color:rgb(153 153 153 / var(--tw-bg-opacity)) +} + +.group:hover .group-hover\:text-primary-300 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-300), var(--tw-text-opacity)) +} + +.group:hover .group-hover\:text-primary-600 { + --tw-text-opacity:1; + color:rgba(var(--color-primary-600), var(--tw-text-opacity)) +} + +.group:hover .group-hover\:underline { + text-decoration-line:underline +} + +.group:hover .group-hover\:decoration-primary-500 { + text-decoration-color:rgba(var(--color-primary-500), 1) +} + +.group\/ps:hover .group-hover\/ps\:opacity-60 { + opacity:0.6 +} + +.group:hover .group-hover\:opacity-100 { + opacity:1 +} + +.group\/x:focus .group-focus\/x\:h-\[0\.6875rem\] { + height:0.6875rem +} + +.group\/y:focus .group-focus\/y\:w-\[0\.6875rem\] { + width:0.6875rem +} + +.group\/x:focus .group-focus\/x\:bg-\[\#999\] { + --tw-bg-opacity:1; + background-color:rgb(153 153 153 / var(--tw-bg-opacity)) +} + +.group\/y:focus .group-focus\/y\:bg-\[\#999\] { + --tw-bg-opacity:1; + background-color:rgb(153 153 153 / var(--tw-bg-opacity)) +} + +.group\/ps:focus .group-focus\/ps\:opacity-100 { + opacity:1 +} + +.group\/ps:focus .group-focus\/ps\:opacity-60 { + opacity:0.6 +} + +.group\/ps:active .group-active\/ps\:opacity-100 { + opacity:1 +} + +.group\/ps.ps--active-x .group-\[\&\.ps--active-x\]\/ps\:block { + display:block +} + +.group\/ps.ps--active-y .group-\[\&\.ps--active-y\]\/ps\:block { + display:block +} + +.group\/x.ps--clicking .group-\[\&\.ps--clicking\]\/x\:h-\[11px\] { + height:11px +} + +.group\/y.ps--clicking .group-\[\&\.ps--clicking\]\/y\:w-\[11px\] { + width:11px +} + +.group[data-te-datepicker-cell-current] .group-\[\[data-te-datepicker-cell-current\]\]\:border { + border-width:1px +} + +.group[data-te-datepicker-cell-current] .group-\[\[data-te-datepicker-cell-current\]\]\:border-solid { + border-style:solid +} + +.group\/ps.ps--active-x .group-\[\&\.ps--active-x\]\/ps\:bg-transparent { + background-color:transparent +} + +.group\/ps.ps--active-y .group-\[\&\.ps--active-y\]\/ps\:bg-transparent { + background-color:transparent +} + +.group\/x.ps--clicking .group-\[\&\.ps--clicking\]\/x\:bg-\[\#999\] { + --tw-bg-opacity:1; + background-color:rgb(153 153 153 / var(--tw-bg-opacity)) +} + +.group\/y.ps--clicking .group-\[\&\.ps--clicking\]\/y\:bg-\[\#999\] { + --tw-bg-opacity:1; + background-color:rgb(153 153 153 / var(--tw-bg-opacity)) +} + +.group:not([data-te-datepicker-cell-disabled]):not([data-te-datepicker-cell-selected]):hover .group-\[\:not\(\[data-te-datepicker-cell-disabled\]\)\:not\(\[data-te-datepicker-cell-selected\]\)\:hover\]\:bg-neutral-300 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-300), var(--tw-bg-opacity)) +} + +.group:not([data-te-datepicker-cell-selected])[data-te-datepicker-cell-focused] .group-\[\:not\(\[data-te-datepicker-cell-selected\]\)\[data-te-datepicker-cell-focused\]\]\:bg-neutral-100 { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-100), var(--tw-bg-opacity)) +} + +.group\/ps.ps--scrolling-x .group-\[\&\.ps--scrolling-x\]\/ps\:opacity-60 { + opacity:0.6 +} + +.group\/ps.ps--scrolling-y .group-\[\&\.ps--scrolling-y\]\/ps\:opacity-60 { + opacity:0.6 +} + +.peer:focus ~ .peer-focus\:-translate-y-\[0\.75rem\] { + --tw-translate-y:-0.75rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.peer:focus ~ .peer-focus\:-translate-y-\[0\.9rem\] { + --tw-translate-y:-0.9rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.peer:focus ~ .peer-focus\:-translate-y-\[1\.15rem\] { + --tw-translate-y:-1.15rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.peer:focus ~ .peer-focus\:scale-\[0\.8\] { + --tw-scale-x:0.8; + --tw-scale-y:0.8; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.data-\[te-datepicker-cell-disabled\]\:pointer-events-none[data-te-datepicker-cell-disabled] { + pointer-events:none +} + +.data-\[te-active\]\:-top-\[38px\][data-te-active] { + top:-38px +} + +.data-\[te-carousel-fade\]\:z-0[data-te-carousel-fade] { + z-index:0 +} + +.data-\[te-carousel-fade\]\:z-\[1\][data-te-carousel-fade] { + z-index:1 +} + +.data-\[te-input-state-active\]\:block[data-te-input-state-active] { + display:block +} + +.data-\[popper-reference-hidden\]\:hidden[data-popper-reference-hidden] { + display:none +} + +.data-\[te-input-state-active\]\:-translate-y-\[0\.75rem\][data-te-input-state-active] { + --tw-translate-y:-0.75rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.data-\[te-input-state-active\]\:-translate-y-\[0\.9rem\][data-te-input-state-active] { + --tw-translate-y:-0.9rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.data-\[te-input-state-active\]\:-translate-y-\[1\.15rem\][data-te-input-state-active] { + --tw-translate-y:-1.15rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.data-\[te-active\]\:scale-100[data-te-active] { + --tw-scale-x:1; + --tw-scale-y:1; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.data-\[te-input-state-active\]\:scale-\[0\.8\][data-te-input-state-active] { + --tw-scale-x:0.8; + --tw-scale-y:0.8; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.data-\[te-select-open\]\:scale-100[data-te-select-open] { + --tw-scale-x:1; + --tw-scale-y:1; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.data-\[te-autocomplete-state-open\]\:scale-y-100[data-te-autocomplete-state-open] { + --tw-scale-y:1; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.data-\[data-te-autocomplete-option-disabled\]\:cursor-default[data-data-te-autocomplete-option-disabled] { + cursor:default +} + +.data-\[te-datepicker-cell-disabled\]\:cursor-default[data-te-datepicker-cell-disabled] { + cursor:default +} + +.data-\[te-input-disabled\]\:cursor-default[data-te-input-disabled] { + cursor:default +} + +.data-\[te-select-option-disabled\]\:cursor-default[data-te-select-option-disabled] { + cursor:default +} + +.data-\[te-select-selected\]\:data-\[te-select-option-disabled\]\:cursor-default[data-te-select-option-disabled][data-te-select-selected] { + cursor:default +} + +.data-\[te-input-disabled\]\:bg-\[\#e9ecef\][data-te-input-disabled] { + --tw-bg-opacity:1; + background-color:rgb(233 236 239 / var(--tw-bg-opacity)) +} + +.data-\[te-select-selected\]\:data-\[te-select-option-disabled\]\:bg-transparent[data-te-select-option-disabled][data-te-select-selected] { + background-color:transparent +} + +.data-\[te-datepicker-cell-disabled\]\:text-neutral-300[data-te-datepicker-cell-disabled] { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-300), var(--tw-text-opacity)) +} + +.data-\[te-autocomplete-state-open\]\:opacity-100[data-te-autocomplete-state-open] { + opacity:1 +} + +.data-\[te-carousel-fade\]\:opacity-0[data-te-carousel-fade] { + opacity:0 +} + +.data-\[te-carousel-fade\]\:opacity-100[data-te-carousel-fade] { + opacity:1 +} + +.data-\[te-select-open\]\:opacity-100[data-te-select-open] { + opacity:1 +} + +.data-\[te-carousel-fade\]\:duration-\[600ms\][data-te-carousel-fade] { + transition-duration:600ms +} + +.data-\[te-input-state-active\]\:placeholder\:opacity-100[data-te-input-state-active]::-moz-placeholder { + opacity:1 +} + +.data-\[te-input-state-active\]\:placeholder\:opacity-100[data-te-input-state-active]::placeholder { + opacity:1 +} + +.data-\[te-datepicker-cell-disabled\]\:hover\:cursor-default:hover[data-te-datepicker-cell-disabled] { + cursor:default +} + +.group\/validation[data-te-was-validated] .group-data-\[te-was-validated\]\/validation\:mb-4 { + margin-bottom:1rem +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:border-x-0 { + border-left-width:0px; + border-right-width:0px +} + +.group[data-te-input-state-active] .group-data-\[te-input-state-active\]\:border-x-0 { + border-left-width:0px; + border-right-width:0px +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:border-l-0 { + border-left-width:0px +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:border-r-0 { + border-right-width:0px +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:border-t { + border-top-width:1px +} + +.group[data-te-input-state-active] .group-data-\[te-input-state-active\]\:border-l-0 { + border-left-width:0px +} + +.group[data-te-input-state-active] .group-data-\[te-input-state-active\]\:border-r-0 { + border-right-width:0px +} + +.group[data-te-input-state-active] .group-data-\[te-input-state-active\]\:border-t { + border-top-width:1px +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:border-solid { + border-style:solid +} + +.group[data-te-input-state-active] .group-data-\[te-input-state-active\]\:border-solid { + border-style:solid +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:border-\[\#14a44d\] { + --tw-border-opacity:1; + border-color:rgb(20 164 77 / var(--tw-border-opacity)) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:border-\[\#dc4c64\] { + --tw-border-opacity:1; + border-color:rgb(220 76 100 / var(--tw-border-opacity)) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:border-t-transparent { + border-top-color:transparent +} + +.group[data-te-input-state-active] .group-data-\[te-input-state-active\]\:border-t-transparent { + border-top-color:transparent +} + +.group\/opt[data-te-select-option-group-ref] .group-data-\[te-select-option-group-ref\]\/opt\:pl-7 { + padding-left:1.75rem +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[-1px_0_0_\#14a44d\2c _0_1px_0_0_\#14a44d\2c _0_-1px_0_0_\#14a44d\] { + --tw-shadow:-1px 0 0 #14a44d, 0 1px 0 0 #14a44d, 0 -1px 0 0 #14a44d; + --tw-shadow-colored:-1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[-1px_0_0_\#3b71ca\2c _0_1px_0_0_\#3b71ca\2c _0_-1px_0_0_\#3b71ca\] { + --tw-shadow:-1px 0 0 #3b71ca, 0 1px 0 0 #3b71ca, 0 -1px 0 0 #3b71ca; + --tw-shadow-colored:-1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[-1px_0_0_\#dc4c64\2c _0_1px_0_0_\#dc4c64\2c _0_-1px_0_0_\#dc4c64\] { + --tw-shadow:-1px 0 0 #dc4c64, 0 1px 0 0 #dc4c64, 0 -1px 0 0 #dc4c64; + --tw-shadow-colored:-1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[-1px_0_0_\#ffffff\2c _0_1px_0_0_\#ffffff\2c _0_-1px_0_0_\#ffffff\] { + --tw-shadow:-1px 0 0 #ffffff, 0 1px 0 0 #ffffff, 0 -1px 0 0 #ffffff; + --tw-shadow-colored:-1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[0_1px_0_0_\#14a44d\] { + --tw-shadow:0 1px 0 0 #14a44d; + --tw-shadow-colored:0 1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[0_1px_0_0_\#3b71ca\] { + --tw-shadow:0 1px 0 0 #3b71ca; + --tw-shadow-colored:0 1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[0_1px_0_0_\#dc4c64\] { + --tw-shadow:0 1px 0 0 #dc4c64; + --tw-shadow-colored:0 1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[0_1px_0_0_\#ffffff\] { + --tw-shadow:0 1px 0 0 #ffffff; + --tw-shadow-colored:0 1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[1px_0_0_\#14a44d\2c _0_-1px_0_0_\#14a44d\2c _0_1px_0_0_\#14a44d\] { + --tw-shadow:1px 0 0 #14a44d, 0 -1px 0 0 #14a44d, 0 1px 0 0 #14a44d; + --tw-shadow-colored:1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[1px_0_0_\#3b71ca\2c _0_-1px_0_0_\#3b71ca\2c _0_1px_0_0_\#3b71ca\] { + --tw-shadow:1px 0 0 #3b71ca, 0 -1px 0 0 #3b71ca, 0 1px 0 0 #3b71ca; + --tw-shadow-colored:1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[1px_0_0_\#dc4c64\2c _0_-1px_0_0_\#dc4c64\2c _0_1px_0_0_\#dc4c64\] { + --tw-shadow:1px 0 0 #dc4c64, 0 -1px 0 0 #dc4c64, 0 1px 0 0 #dc4c64; + --tw-shadow-colored:1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group[data-te-input-focused] .group-data-\[te-input-focused\]\:shadow-\[1px_0_0_\#ffffff\2c _0_-1px_0_0_\#ffffff\2c _0_1px_0_0_\#ffffff\] { + --tw-shadow:1px 0 0 #ffffff, 0 -1px 0 0 #ffffff, 0 1px 0 0 #ffffff; + --tw-shadow-colored:1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.group\/validation[data-te-was-validated] .peer:valid ~ .group-data-\[te-was-validated\]\/validation\:peer-valid\:block { + display:block +} + +.group\/validation[data-te-was-validated] .peer:invalid ~ .group-data-\[te-was-validated\]\/validation\:peer-invalid\:block { + display:block +} + +.group\/validation[data-te-was-validated] .peer:invalid ~ .group-data-\[te-was-validated\]\/validation\:peer-invalid\:text-\[rgb\(220\2c 76\2c 100\)\] { + --tw-text-opacity:1; + color:rgb(220 76 100 / var(--tw-text-opacity)) +} + +.peer[data-te-input-state-active] ~ .peer-data-\[te-input-state-active\]\:-translate-y-\[0\.75rem\] { + --tw-translate-y:-0.75rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.peer[data-te-input-state-active] ~ .peer-data-\[te-input-state-active\]\:-translate-y-\[0\.9rem\] { + --tw-translate-y:-0.9rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.peer[data-te-input-state-active] ~ .peer-data-\[te-input-state-active\]\:-translate-y-\[1\.15rem\] { + --tw-translate-y:-1.15rem; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.peer[data-te-input-state-active] ~ .peer-data-\[te-input-state-active\]\:scale-\[0\.8\] { + --tw-scale-x:0.8; + --tw-scale-y:0.8; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +@media (prefers-reduced-motion: reduce) { + .motion-reduce\:transform-none { + transform:none + } + + @keyframes spin { + to { + transform:rotate(360deg) + } + } + + .motion-reduce\:animate-\[spin_1\.5s_linear_infinite\] { + animation:spin 1.5s linear infinite + } + + .motion-reduce\:animate-\[spinner-grow_1\.5s_linear_infinite\] { + animation:spinner-grow 1.5s linear infinite + } + + .motion-reduce\:animate-none { + animation:none + } + + .motion-reduce\:transition-none { + transition-property:none + } +} + +@media print { + .print\:hidden { + display:none + } +} + +@media (min-width: 640px) { + .sm\:mb-0 { + margin-bottom:0px + } + + .sm\:mt-16 { + margin-top:4rem + } + + .sm\:w-1\/2 { + width:50% + } + + .sm\:grid-cols-2 { + grid-template-columns:repeat(2, minmax(0, 1fr)) + } + + .sm\:flex-row { + flex-direction:row + } + + .sm\:overflow-hidden { + overflow:hidden + } + + .sm\:p-6 { + padding:1.5rem + } + + .sm\:px-14 { + padding-left:3.5rem; + padding-right:3.5rem + } + + .sm\:px-6 { + padding-left:1.5rem; + padding-right:1.5rem + } + + .sm\:py-24 { + padding-top:6rem; + padding-bottom:6rem + } + + .sm\:text-lg { + font-size:1.125rem; + line-height:1.75rem + } +} + +@media (min-width: 853px) { + .md\:order-none { + order:0 + } + + .md\:my-0 { + margin-top:0px; + margin-bottom:0px + } + + .md\:-mr-16 { + margin-right:-4rem + } + + .md\:mb-0 { + margin-bottom:0px + } + + .md\:ml-12 { + margin-left:3rem + } + + .md\:mr-7 { + margin-right:1.75rem + } + + .md\:mt-0 { + margin-top:0px + } + + .md\:flex { + display:flex + } + + .md\:hidden { + display:none + } + + .md\:h-56 { + height:14rem + } + + .md\:h-\[200px\] { + height:200px + } + + .md\:w-1\/3 { + width:33.333333% + } + + .md\:w-auto { + width:auto + } + + .md\:grid-cols-3 { + grid-template-columns:repeat(3, minmax(0, 1fr)) + } + + .md\:flex-row { + flex-direction:row + } + + .md\:justify-start { + justify-content:flex-start + } + + .md\:p-\[10vh\] { + padding:10vh + } + + .md\:px-24 { + padding-left:6rem; + padding-right:6rem + } + + .md\:pr-1 { + padding-right:0.25rem + } + + .md\:pr-\[17px\] { + padding-right:17px + } +} + +@media (min-width: 1024px) { + .lg\:absolute { + position:absolute + } + + .lg\:relative { + position:relative + } + + .lg\:sticky { + position:sticky + } + + .lg\:left-0 { + left:0px + } + + .lg\:top-10 { + top:2.5rem + } + + .lg\:top-\[140px\] { + top:140px + } + + .lg\:order-last { + order:9999 + } + + .lg\:m-0 { + margin:0px + } + + .lg\:mx-0 { + margin-left:0px; + margin-right:0px + } + + .lg\:mx-auto { + margin-left:auto; + margin-right:auto + } + + .lg\:ml-auto { + margin-left:auto + } + + .lg\:mt-0 { + margin-top:0px + } + + .lg\:block { + display:block + } + + .lg\:grid { + display:grid + } + + .lg\:hidden { + display:none + } + + .lg\:h-72 { + height:18rem + } + + .lg\:h-full { + height:100% + } + + .lg\:w-1\/4 { + width:25% + } + + .lg\:w-auto { + width:auto + } + + .lg\:max-w-7xl { + max-width:80rem + } + + .lg\:max-w-none { + max-width:none + } + + .lg\:max-w-xs { + max-width:20rem + } + + .lg\:grid-flow-col-dense { + grid-auto-flow:column dense + } + + .lg\:grid-cols-2 { + grid-template-columns:repeat(2, minmax(0, 1fr)) + } + + .lg\:flex-row { + flex-direction:row + } + + .lg\:gap-24 { + gap:6rem + } + + .lg\:p-\[12vh\] { + padding:12vh + } + + .lg\:px-0 { + padding-left:0px; + padding-right:0px + } + + .lg\:px-32 { + padding-left:8rem; + padding-right:8rem + } + + .lg\:px-8 { + padding-left:2rem; + padding-right:2rem + } + + .lg\:py-16 { + padding-top:4rem; + padding-bottom:4rem + } + + .lg\:py-32 { + padding-top:8rem; + padding-bottom:8rem + } +} + +@media (min-width: 1280px) { + .xl\:w-1\/4 { + width:25% + } + + .xl\:grid-cols-4 { + grid-template-columns:repeat(4, minmax(0, 1fr)) + } +} + +@media (min-width: 1536px) { + .\32xl\:grid-cols-5 { + grid-template-columns:repeat(5, minmax(0, 1fr)) + } +} + +@media (min-width: 320px) { + @media (max-width: 825px) { + @media (orientation: landscape) { + .min-\[320px\]\:max-\[825px\]\:landscape\:h-auto { + height:auto + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:min-h-\[305px\] { + min-height:305px + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:min-h-\[auto\] { + min-height:auto + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:min-w-\[auto\] { + min-width:auto + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:\!flex-row { + flex-direction:row !important + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:flex-col { + flex-direction:column + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:\!justify-around { + justify-content:space-around !important + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:overflow-y-auto { + overflow-y:auto + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:rounded-lg { + border-radius:0.5rem + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:rounded-bl-lg { + border-bottom-left-radius:0.5rem + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:rounded-bl-none { + border-bottom-left-radius:0px + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:rounded-tr-none { + border-top-right-radius:0px + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:p-\[10px\] { + padding:10px + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:pr-\[10px\] { + padding-right:10px + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:text-5xl { + font-size:3rem; + line-height:1 + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:text-\[3rem\] { + font-size:3rem + } + + .min-\[320px\]\:max-\[825px\]\:landscape\:font-normal { + font-weight:400 + } + } + } +} + +:is(:where([dir="ltr"]) .ltr\:-left-6) { + left:-1.5rem +} + +:is(:where([dir="ltr"]) .ltr\:right-0) { + right:0px +} + +:is(:where([dir="ltr"]) .ltr\:-ml-5) { + margin-left:-1.25rem +} + +:is(:where([dir="ltr"]) .ltr\:ml-2) { + margin-left:0.5rem +} + +:is(:where([dir="ltr"]) .ltr\:mr-14) { + margin-right:3.5rem +} + +:is(:where([dir="ltr"]) .ltr\:mr-4) { + margin-right:1rem +} + +:is(:where([dir="ltr"]) .ltr\:block) { + display:block +} + +:is(:where([dir="ltr"]) .ltr\:inline) { + display:inline +} + +:is(:where([dir="ltr"]) .ltr\:hidden) { + display:none +} + +:is(:where([dir="ltr"]) .ltr\:border-l) { + border-left-width:1px +} + +:is(:where([dir="ltr"]) .ltr\:pl-5) { + padding-left:1.25rem +} + +:is(:where([dir="ltr"]) .ltr\:pr-2) { + padding-right:0.5rem +} + +:is(:where([dir="ltr"]) .ltr\:pr-3) { + padding-right:0.75rem +} + +:is(:where([dir="ltr"]) .ltr\:text-right) { + text-align:right +} + +@media (min-width: 640px) { + :is(:where([dir="ltr"]) .ltr\:sm\:mr-7) { + margin-right:1.75rem + } + + :is(:where([dir="ltr"]) .ltr\:sm\:last\:mr-0:last-child) { + margin-right:0px + } +} + +@media (min-width: 1024px) { + :is(:where([dir="ltr"]) .ltr\:lg\:pl-8) { + padding-left:2rem + } +} + +:is(:where([dir="rtl"]) .rtl\:\!left-auto) { + left:auto !important +} + +:is(:where([dir="rtl"]) .rtl\:-right-6) { + right:-1.5rem +} + +:is(:where([dir="rtl"]) .rtl\:left-0) { + left:0px +} + +:is(:where([dir="rtl"]) .rtl\:-mr-5) { + margin-right:-1.25rem +} + +:is(:where([dir="rtl"]) .rtl\:ml-14) { + margin-left:3.5rem +} + +:is(:where([dir="rtl"]) .rtl\:ml-4) { + margin-left:1rem +} + +:is(:where([dir="rtl"]) .rtl\:mr-2) { + margin-right:0.5rem +} + +:is(:where([dir="rtl"]) .rtl\:block) { + display:block +} + +:is(:where([dir="rtl"]) .rtl\:inline) { + display:inline +} + +:is(:where([dir="rtl"]) .rtl\:hidden) { + display:none +} + +:is(:where([dir="rtl"]) .rtl\:\!origin-\[50\%_50\%_0\]) { + transform-origin:50% 50% 0 !important +} + +:is(:where([dir="rtl"]) .rtl\:border-r) { + border-right-width:1px +} + +:is(:where([dir="rtl"]) .rtl\:pl-2) { + padding-left:0.5rem +} + +:is(:where([dir="rtl"]) .rtl\:pl-3) { + padding-left:0.75rem +} + +:is(:where([dir="rtl"]) .rtl\:pr-5) { + padding-right:1.25rem +} + +:is(:where([dir="rtl"]) .rtl\:text-left) { + text-align:left +} + +:is(:where([dir="rtl"]) .rtl\:\[direction\:rtl\]) { + direction:rtl +} + +@media (min-width: 640px) { + :is(:where([dir="rtl"]) .rtl\:sm\:ml-7) { + margin-left:1.75rem + } + + :is(:where([dir="rtl"]) .rtl\:sm\:last\:ml-0:last-child) { + margin-left:0px + } +} + +@media (min-width: 1024px) { + :is(:where([dir="rtl"]) .rtl\:lg\:pr-8) { + padding-right:2rem + } +} + +:is(:where(.dark) .dark\:flex) { + display:flex +} + +:is(:where(.dark) .dark\:hidden) { + display:none +} + +:is(:where(.dark) .dark\:border-0) { + border-width:0px +} + +:is(:where(.dark) .dark\:border-\[\#14a44d\]) { + --tw-border-opacity:1; + border-color:rgb(20 164 77 / var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-\[\#4f4f4f\]) { + --tw-border-opacity:1; + border-color:rgb(79 79 79 / var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-\[\#dc4c64\]) { + --tw-border-opacity:1; + border-color:rgb(220 76 100 / var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-neutral-400) { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-400), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-neutral-500) { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-500), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-neutral-600) { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-600), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-neutral-700) { + --tw-border-opacity:1; + border-color:rgba(var(--color-neutral-700), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-primary-300) { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-300), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-primary-400) { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-400), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:border-primary-600) { + --tw-border-opacity:1; + border-color:rgba(var(--color-primary-600), var(--tw-border-opacity)) +} + +:is(:where(.dark) .dark\:\!bg-neutral-600) { + --tw-bg-opacity:1 !important; + background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity)) !important +} + +:is(:where(.dark) .dark\:bg-\[\#4f4f4f\]) { + --tw-bg-opacity:1; + background-color:rgb(79 79 79 / var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-400) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-400), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-600) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-700) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-800) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-800), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-neutral-800\/50) { + background-color:rgba(var(--color-neutral-800), 0.5) +} + +:is(:where(.dark) .dark\:bg-neutral-900\/50) { + background-color:rgba(var(--color-neutral-900), 0.5) +} + +:is(:where(.dark) .dark\:bg-primary-300) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-300), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-primary-400) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-400), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-primary-600) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-primary-800) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-800), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-primary-900) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:bg-transparent) { + background-color:transparent +} + +:is(:where(.dark) .dark\:from-neutral-800) { + --tw-gradient-from:rgba(var(--color-neutral-800), 1) var(--tw-gradient-from-position); + --tw-gradient-to:rgba(var(--color-neutral-800), 0) var(--tw-gradient-to-position); + --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to) +} + +:is(:where(.dark) .dark\:from-primary-600) { + --tw-gradient-from:rgba(var(--color-primary-600), 1) var(--tw-gradient-from-position); + --tw-gradient-to:rgba(var(--color-primary-600), 0) var(--tw-gradient-to-position); + --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to) +} + +:is(:where(.dark) .dark\:to-neutral-800) { + --tw-gradient-to:rgba(var(--color-neutral-800), 1) var(--tw-gradient-to-position) +} + +:is(:where(.dark) .dark\:to-secondary-800) { + --tw-gradient-to:rgba(var(--color-secondary-800), 1) var(--tw-gradient-to-position) +} + +:is(:where(.dark) .dark\:\!text-primary-400) { + --tw-text-opacity:1 !important; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) !important +} + +:is(:where(.dark) .dark\:text-neutral) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-100) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-100), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-200) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-200), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-300) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-300), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-400) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-500) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-700) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-neutral-800) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-primary-200) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-200), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:text-primary-400) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:opacity-60) { + opacity:0.6 +} + +:is(:where(.dark) .dark\:shadow-\[0_4px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.5\)\]) { + --tw-shadow:0 4px 9px -4px rgba(59,113,202,0.5); + --tw-shadow-colored:0 4px 9px -4px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +:is(:where(.dark) .dark\:hover\:\!bg-\[\#555\]:hover) { + --tw-bg-opacity:1 !important; + background-color:rgb(85 85 85 / var(--tw-bg-opacity)) !important +} + +:is(:where(.dark) .dark\:hover\:\!bg-primary-700:hover) { + --tw-bg-opacity:1 !important; + background-color:rgba(var(--color-primary-700), var(--tw-bg-opacity)) !important +} + +:is(:where(.dark) .dark\:hover\:bg-neutral-500:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-500), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:hover\:bg-neutral-600:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:hover\:bg-neutral-700:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:hover\:bg-primary-400:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-400), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:hover\:bg-primary-900:hover) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:hover\:text-\[\#3b71ca\]:hover) { + --tw-text-opacity:1; + color:rgb(59 113 202 / var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:hover\:text-neutral-800:hover) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-800), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:hover\:text-primary-400:hover) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:hover\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.2\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.1\)\]:hover) { + --tw-shadow:0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1); + --tw-shadow-colored:0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +:is(:where(.dark) .dark\:focus\:\!bg-\[\#555\]:focus) { + --tw-bg-opacity:1 !important; + background-color:rgb(85 85 85 / var(--tw-bg-opacity)) !important +} + +:is(:where(.dark) .dark\:focus\:bg-primary-900:focus) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .dark\:focus\:text-\[\#3b71ca\]:focus) { + --tw-text-opacity:1; + color:rgb(59 113 202 / var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:focus\:text-primary-400:focus) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:focus\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.2\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.1\)\]:focus) { + --tw-shadow:0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1); + --tw-shadow-colored:0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +:is(:where(.dark) .dark\:focus\:before\:shadow-\[0px_0px_0px_13px_rgba\(255\2c 255\2c 255\2c 0\.4\)\]:focus)::before { + content:var(--tw-content); + --tw-shadow:0px 0px 0px 13px rgba(255,255,255,0.4); + --tw-shadow-colored:0px 0px 0px 13px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +:is(:where(.dark) .dark\:checked\:focus\:before\:shadow-\[0px_0px_0px_13px_\#3b71ca\]:focus:checked)::before { + content:var(--tw-content); + --tw-shadow:0px 0px 0px 13px #3b71ca; + --tw-shadow-colored:0px 0px 0px 13px var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +:is(:where(.dark) .dark\:active\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.2\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.1\)\]:active) { + --tw-shadow:0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1); + --tw-shadow-colored:0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); + box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +:is(:where(.dark) .dark\:disabled\:text-neutral-600:disabled) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-600), var(--tw-text-opacity)) +} + +:is(:where(.dark) .dark\:disabled\:hover\:bg-transparent:hover:disabled) { + background-color:transparent +} + +:is(:where(.dark) .group:hover .dark\:group-hover\:text-neutral-700) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-700), var(--tw-text-opacity)) +} + +:is(:where(.dark) .group:hover .dark\:group-hover\:text-primary-400) { + --tw-text-opacity:1; + color:rgba(var(--color-primary-400), var(--tw-text-opacity)) +} + +:is(:where(.dark) .group[data-te-datepicker-cell-disabled] .dark\:group-\[\[data-te-datepicker-cell-disabled\]\]\:text-neutral-500) { + --tw-text-opacity:1; + color:rgba(var(--color-neutral-500), var(--tw-text-opacity)) +} + +.\[\&\.ps--clicking\]\:\!bg-\[\#eee\].ps--clicking { + --tw-bg-opacity:1 !important; + background-color:rgb(238 238 238 / var(--tw-bg-opacity)) !important +} + +.\[\&\.ps--clicking\]\:\!opacity-90.ps--clicking { + opacity:0.9 !important +} + +:is(:where(.dark) .dark\:\[\&\.ps--clicking\]\:\!bg-\[\#555\].ps--clicking) { + --tw-bg-opacity:1 !important; + background-color:rgb(85 85 85 / var(--tw-bg-opacity)) !important +} + +.\[\&\:\:-webkit-scrollbar-button\]\:block::-webkit-scrollbar-button { + display:block +} + +.\[\&\:\:-webkit-scrollbar-button\]\:h-0::-webkit-scrollbar-button { + height:0px +} + +.\[\&\:\:-webkit-scrollbar-button\]\:bg-transparent::-webkit-scrollbar-button { + background-color:transparent +} + +.\[\&\:\:-webkit-scrollbar-thumb\]\:h-\[50px\]::-webkit-scrollbar-thumb { + height:50px +} + +.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded::-webkit-scrollbar-thumb { + border-radius:0.25rem +} + +.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-\[\#999\]::-webkit-scrollbar-thumb { + --tw-bg-opacity:1; + background-color:rgb(153 153 153 / var(--tw-bg-opacity)) +} + +.\[\&\:\:-webkit-scrollbar-track-piece\]\:rounded-none::-webkit-scrollbar-track-piece { + border-radius:0px +} + +.\[\&\:\:-webkit-scrollbar-track-piece\]\:rounded-l::-webkit-scrollbar-track-piece { + border-top-left-radius:0.25rem; + border-bottom-left-radius:0.25rem +} + +.\[\&\:\:-webkit-scrollbar-track-piece\]\:bg-transparent::-webkit-scrollbar-track-piece { + background-color:transparent +} + +.\[\&\:\:-webkit-scrollbar\]\:h-1::-webkit-scrollbar { + height:0.25rem +} + +.\[\&\:\:-webkit-scrollbar\]\:w-1::-webkit-scrollbar { + width:0.25rem +} + +.\[\&\:not\(\[data-te-input-placeholder-active\]\)\]\:placeholder\:opacity-0:not([data-te-input-placeholder-active])::-moz-placeholder { + opacity:0 +} + +.\[\&\:not\(\[data-te-input-placeholder-active\]\)\]\:placeholder\:opacity-0:not([data-te-input-placeholder-active])::placeholder { + opacity:0 +} + +.\[\&\:nth-child\(odd\)\]\:bg-neutral-50:nth-child(odd) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-50), var(--tw-bg-opacity)) +} + +:is(:where(.dark) .\[\&\:nth-child\(odd\)\]\:dark\:bg-neutral-700):nth-child(odd) { + --tw-bg-opacity:1; + background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity)) +} + +.\[\&\>svg\]\:pointer-events-none>svg { + pointer-events:none +} + +.\[\&\>svg\]\:mx-auto>svg { + margin-left:auto; + margin-right:auto +} + +.\[\&\>svg\]\:h-4>svg { + height:1rem +} + +.\[\&\>svg\]\:h-5>svg { + height:1.25rem +} + +.\[\&\>svg\]\:h-6>svg { + height:1.5rem +} + +.\[\&\>svg\]\:w-4>svg { + width:1rem +} + +.\[\&\>svg\]\:w-5>svg { + width:1.25rem +} + +.\[\&\>svg\]\:w-6>svg { + width:1.5rem +} + +.\[\&\>svg\]\:rotate-180>svg { + --tw-rotate:180deg; + transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.\[\&\>svg\]\:fill-neutral-500>svg { + fill:rgba(var(--color-neutral-500), 1) +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/components/zen-mode.css b/themes/blowfish/assets/css/components/zen-mode.css new file mode 100644 index 0000000..bf0c31c --- /dev/null +++ b/themes/blowfish/assets/css/components/zen-mode.css @@ -0,0 +1,16 @@ +#zen-mode-button { + cursor:pointer +} + +.zen-mode { + position: relative; +} + +body.zen-mode-enable { + #bmc-wbtn, .author { + display:none !important; + } +} + + + diff --git a/themes/blowfish/assets/css/main.css b/themes/blowfish/assets/css/main.css new file mode 100644 index 0000000..7f46d01 --- /dev/null +++ b/themes/blowfish/assets/css/main.css @@ -0,0 +1,655 @@ +/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */ + +@import 'components/zen-mode.css'; + +@tailwind base; +@tailwind components; +@tailwind utilities; + +body a, +body button { + @apply transition-colors; +} + +/* Scale SVG icons to text size */ +.icon svg { + @apply h-[1em] w-[1em]; +} + +/* Search */ +#search-query::-webkit-search-cancel-button, +#search-query::-webkit-search-decoration, +#search-query::-webkit-search-results-button, +#search-query::-webkit-search-results-decoration { + @apply hidden; +} + +/* Hamburger menu */ +body:has(#menu-controller:checked) { + @apply overflow-y-hidden; +} + +#menu-button:has(#menu-controller:checked) { + @apply invisible; +} + +#menu-controller:checked~#menu-wrapper { + @apply visible opacity-100; +} + +/* RTL support */ +.prose blockquote { + @apply rtl:pr-4 rtl:border-l-0 rtl:border-r-4; +} + +.prose ul>li, +.prose ol>li { + @apply rtl:pl-0 rtl:pr-2 rtl:mr-7; +} + +.prose ol>li:before, +.prose ul>li:before { + @apply rtl:left-auto rtl:right-1; +} + +.prose thead td:first-child, +.prose thead th:first-child { + @apply rtl:pr-0; +} + +.prose thead td:last-child, +.prose thead th:last-child { + @apply rtl:pl-0; +} + +/* Adjust first child within prose */ +.prose div.min-w-0.max-w-prose>*:first-child { + @apply mt-3; +} + +/* Table of Contents */ +.toc ul, +.toc li { + @apply px-0 leading-snug list-none; +} + +.toc ul ul { + @apply ltr:pl-4 rtl:pr-4; +} + +.toc a { + @apply font-normal text-neutral-700 dark:text-neutral-400; +} + +.toc ul>li { + @apply rtl:mr-0; +} + +/* Code Copy */ +.highlight-wrapper { + @apply block; +} + +.highlight { + @apply relative z-0; +} + +.highlight:hover>.copy-button { + @apply visible; +} + +.copy-button { + @apply absolute top-0 right-0 z-10 invisible w-20 py-1 font-mono text-sm cursor-pointer opacity-90 bg-neutral-200 whitespace-nowrap rounded-bl-md rounded-tr-md text-neutral-700 dark:bg-neutral-600 dark:text-neutral-200; +} + +.copy-button:hover, +.copy-button:focus, +.copy-button:active, +.copy-button:active:hover { + @apply bg-primary-100 dark:bg-primary-600; +} + +.copy-textarea { + @apply absolute opacity-5 -z-10; +} + +/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */ +.katex-display { overflow: auto hidden } + +/* Fix long tables breaking out of article on mobile */ +table { + display: block; + overflow: auto; +} + +/* Fix long inline code sections breaking out of article on mobile */ +code { + word-wrap: break-word; /* All browsers since IE 5.5+ */ + overflow-wrap: break-word; /* Renamed property in CSS3 draft spec */ +} + +/* -- Chroma Highlight -- */ +/* Background */ +.prose .chroma { + @apply static rounded-md text-neutral-700 bg-neutral-50 dark:bg-neutral-700 dark:text-neutral-200; +} + +/* LineTableTD */ +.chroma .lntd, +.chroma .lntd pre { + @apply p-0 m-0 align-top border-none; +} + +/* LineTable */ +.chroma .lntable { + @apply block w-auto px-4 py-3 overflow-hidden text-base; + border-spacing: 0; +} + +/* LineHighlight */ +.chroma .hl { + @apply block w-auto px-4 -mx-4 bg-primary-100 dark:bg-primary-900; +} + +.chroma .lntd .hl { + @apply p-0 m-0; +} + +/* LineNumbersTable */ +/* LineNumbers */ +.chroma .lnt, +.chroma .ln { + @apply text-neutral-600 dark:text-neutral-300 mr-[0.4em] px-[0.4em] py-0; +} + +/* Keyword */ +/* KeywordDeclaration */ +/* KeywordNamespace */ +/* KeywordPseudo */ +/* KeywordReserved */ +/* NameClass */ +/* NameFunctionMagic */ +/* NameNamespace */ +/* NameVariableClass */ +/* Operator */ +.chroma .k, +.chroma .kd, +.chroma .kn, +.chroma .kp, +.chroma .kr, +.chroma .nc, +.chroma .fm, +.chroma .nn, +.chroma .vc, +.chroma .o { + @apply text-primary-600 dark:text-primary-300; +} + +/* KeywordConstant */ +.chroma .kc { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} + +/* KeywordType */ +/* NameVariable */ +/* NameVariableInstance */ +/* NameVariableMagic */ +/* LiteralNumber */ +/* LiteralNumberBin */ +/* LiteralNumberFloat */ +/* LiteralNumberHex */ +/* LiteralNumberInteger */ +/* LiteralNumberIntegerLong */ +/* LiteralNumberOct */ +.chroma .kt, +.chroma .nv, +.chroma .vi, +.chroma .vm, +.chroma .m, +.chroma .mb, +.chroma .mf, +.chroma .mh, +.chroma .mi, +.chroma .il, +.chroma .mo { + @apply text-secondary-400 dark:text-secondary-600; +} + +/* Name */ +/* NameDecorator */ +/* NameEntity */ +/* NameLabel */ +.chroma .n, +.chroma .nd, +.chroma .ni, +.chroma .nl { + @apply text-secondary-900 dark:text-secondary-200; +} + +/* NameAttribute */ +/* NameBuiltin */ +/* NameBuiltinPseudo */ +/* NameOther */ +/* NameProperty */ +/* NameTag */ +.chroma .na, +.chroma .nb, +.chroma .bp, +.chroma .nx, +.chroma .py, +.chroma .nt { + @apply text-secondary-800 dark:text-secondary-300; +} + +/* NameConstant */ +/* NameException */ +/* NameVariableGlobal */ +.chroma .no, +.chroma .ne, +.chroma .vg { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} + +/* NameFunction */ +.chroma .nf { + @apply text-secondary-600 dark:text-secondary-500; +} + +/* Literal */ +/* LiteralDate */ +/* LiteralString */ +/* LiteralStringAffix */ +/* LiteralStringBacktick */ +/* LiteralStringChar */ +/* LiteralStringDelimiter */ +/* LiteralStringDoc */ +/* LiteralStringDouble */ +/* LiteralStringHeredoc */ +/* LiteralStringInterpol */ +/* LiteralStringOther */ +/* LiteralStringSingle */ +/* GenericInserted */ +/* GenericOutput */ +/* GenericPrompt */ +.chroma .l, +.chroma .ld, +.chroma .s, +.chroma .sa, +.chroma .sb, +.chroma .sc, +.chroma .dl, +.chroma .sd, +.chroma .s2, +.chroma .sh, +.chroma .si, +.chroma .sx, +.chroma .s1, +.chroma .gi, +.chroma .go, +.chroma .gp { + @apply text-primary-800 dark:text-primary-400; +} + +/* LiteralStringEscape */ +.chroma .se { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} + +/* LiteralStringRegex */ +/* LiteralStringSymbol */ +.chroma .sr, +.chroma .ss { + @apply font-semibold text-primary-800 dark:text-primary-400; +} + +/* OperatorWord */ +.chroma .ow { + @apply font-semibold text-primary-400 dark:text-primary-600; +} + +/* Comment */ +/* CommentMultiline */ +/* CommentSingle */ +/* CommentSpecial */ +/* CommentPreproc */ +/* CommentPreprocFile */ +.chroma .c, +.chroma .cm, +.chroma .c1, +.chroma .cs, +.chroma .cp, +.chroma .cpf { + @apply italic text-neutral-500 dark:text-neutral-400; +} + +/* CommentHashbang */ +.chroma .ch { + @apply italic font-semibold text-neutral-500 dark:text-neutral-400; +} + +/* GenericEmph */ +.chroma .ge { + @apply italic; +} + +/* GenericHeading */ +.chroma .gh { + @apply font-semibold text-neutral-500; +} + +/* GenericStrong */ +.chroma .gs { + @apply font-semibold; +} + +/* GenericSubheading */ +/* GenericTraceback */ +.chroma .gu, +.chroma .gt { + @apply text-neutral-500; +} + +/* GenericUnderline */ +.chroma .gl { + @apply underline; +} + +/* Custom */ + +pre { + text-align: left; +} + +.thumbnail { + min-width: 300px; + height: 180px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card { + height: 200px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card_related { + height: 150px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.thumbnail_card_term { + height: 150px; + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.single_hero_basic { + background-repeat:no-repeat; + background-size:cover; + background-position:center; +} + +.single_hero_round { + max-height: 50vh; + object-fit: cover; +} + +.single_hero_background { + background-repeat:no-repeat; + background-size:cover; + background-position:center; + width: calc(100% + 40px); + z-index: -10; + margin-left: -20px; +} + +.hero_gradient { + width: 100%; + height: 100%; +} + +.thumbnailshadow { + box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3); +} + +.anchor { + display: block; + position: relative; + top: -150px; + height: 0px; + visibility: hidden; +} + +@screen sm { + .thumbnail { + min-width: 100%; + height: 180px; + } + .article { + flex-wrap: wrap; + } +} + +@screen md { + .thumbnail { + min-width: 300px; + min-height: 180px; + height: auto; + } + .article { + flex-wrap: nowrap; + } +} + +.medium-zoom-image--opened { + z-index: 100; +} + +.nested-menu:hover + .menuhide { + visibility: visible; + opacity: 1; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; +} + +.menuhide:hover { + visibility: visible; + opacity: 1; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; +} + +.menuhide { + visibility: hidden; + opacity: 0; + transition: visibility 0.3s, opacity 0.3s ease-in-out ; + z-index: 1000; +} + +.active { + text-decoration-line: underline; + text-decoration-thickness: 3px; + text-underline-offset: 4px; +} + +/* Gallery Specific Styles */ +.grid-w10 { width: calc(10% - 5px); margin: 0px !important; } +.grid-w15 { width: calc(15% - 5px); margin: 0px !important; } +.grid-w20 { width: calc(20% - 5px); margin: 0px !important; } +.grid-w25 { width: calc(25% - 5px); margin: 0px !important; } +.grid-w30 { width: calc(30% - 5px); margin: 0px !important; } +.grid-w33 { width: calc(33% - 5px); margin: 0px !important; } +.grid-w35 { width: calc(35% - 5px); margin: 0px !important; } +.grid-w40 { width: calc(40% - 5px); margin: 0px !important; } +.grid-w45 { width: calc(45% - 5px); margin: 0px !important; } +.grid-w50 { width: calc(50% - 5px); margin: 0px !important; } +.grid-w55 { width: calc(55% - 5px); margin: 0px !important; } +.grid-w60 { width: calc(60% - 5px); margin: 0px !important; } +.grid-w65 { width: calc(65% - 5px); margin: 0px !important; } +.grid-w66 { width: calc(66% - 5px); margin: 0px !important; } +.grid-w70 { width: calc(70% - 5px); margin: 0px !important; } +.grid-w75 { width: calc(75% - 5px); margin: 0px !important; } +.grid-w80 { width: calc(80% - 5px); margin: 0px !important; } +.grid-w85 { width: calc(85% - 5px); margin: 0px !important; } +.grid-w90 { width: calc(90% - 5px); margin: 0px !important; } +.grid-w95 { width: calc(95% - 5px); margin: 0px !important; } +.grid-w100 { width: calc(100% - 5px); margin: 0px !important; } + +@screen sm { + .sm\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .sm\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .sm\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .sm\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .sm\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .sm\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .sm\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .sm\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .sm\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .sm\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .sm\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .sm\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .sm\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .sm\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .sm\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .sm\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .sm\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .sm\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .sm\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .sm\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .sm\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +@screen md { + .md\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .md\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .md\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .md\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .md\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .md\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .md\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .md\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .md\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .md\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .md\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .md\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .md\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .md\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .md\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .md\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .md\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .md\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .md\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .md\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .md\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +@screen lg { + .lg\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .lg\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .lg\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .lg\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .lg\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .lg\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .lg\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .lg\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .lg\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .lg\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .lg\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .lg\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .lg\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .lg\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .lg\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .lg\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .lg\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .lg\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .lg\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .lg\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .lg\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +@screen xl { + .xl\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .xl\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .xl\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .xl\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .xl\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .xl\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .xl\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .xl\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .xl\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .xl\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .xl\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .xl\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .xl\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .xl\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .xl\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .xl\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .xl\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .xl\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .xl\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .xl\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .xl\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +@screen 2xl { + .2xl\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; } + .2xl\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; } + .2xl\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; } + .2xl\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; } + .2xl\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; } + .2xl\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; } + .2xl\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; } + .2xl\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; } + .2xl\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; } + .2xl\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; } + .2xl\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; } + .2xl\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; } + .2xl\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; } + .2xl\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; } + .2xl\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; } + .2xl\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; } + .2xl\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; } + .2xl\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; } + .2xl\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; } + .2xl\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; } + .2xl\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; } +} + +/* Carousel Specific Styles */ +.ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ +.ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ +.ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ + +@screen sm { + .sm\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .sm\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .sm\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} + +@screen md { + .md\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .md\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .md\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} + +@screen lg { + .lg\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .lg\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .lg\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} + +@screen xl { + .xl\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .xl\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .xl\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} + +@screen 2xl { + .2xl\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */ + .2xl\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */ + .2xl\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */ +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/schemes/autumn.css b/themes/blowfish/assets/css/schemes/autumn.css new file mode 100644 index 0000000..7f88604 --- /dev/null +++ b/themes/blowfish/assets/css/schemes/autumn.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 214,251,252; +--color-neutral-200: 142,245,247; +--color-neutral-300: 70,239,243; +--color-neutral-400: 15,217,222; +--color-neutral-500: 10,147,150; +--color-neutral-600: 7,110,112; +--color-neutral-700: 5,72,74; +--color-neutral-800: 2,35,35; +--color-neutral-900: 0,0,0; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 255,240,212; +--color-primary-300: 255,213,136; +--color-primary-400: 255,187,59; +--color-primary-500: 238,155,0; +--color-primary-600: 197,128,0; +--color-primary-700: 156,102,0; +--color-primary-800: 116,75,0; +--color-primary-900: 75,49,0; +--color-secondary-50: 255,255,255; +--color-secondary-100: 255,246,241; +--color-secondary-200: 254,194,166; +--color-secondary-300: 252,142,91; +--color-secondary-400: 251,91,15; +--color-secondary-500: 187,62,3; +--color-secondary-600: 147,49,2; +--color-secondary-700: 107,35,2; +--color-secondary-800: 67,22,1; +--color-secondary-900: 26,9,0; +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/schemes/avocado.css b/themes/blowfish/assets/css/schemes/avocado.css new file mode 100644 index 0000000..911e895 --- /dev/null +++ b/themes/blowfish/assets/css/schemes/avocado.css @@ -0,0 +1,37 @@ +/* Avocado scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Stone */ + --color-neutral-50: 250, 250, 249; + --color-neutral-100: 245, 245, 244; + --color-neutral-200: 231, 229, 228; + --color-neutral-300: 214, 211, 209; + --color-neutral-400: 168, 162, 158; + --color-neutral-500: 120, 113, 108; + --color-neutral-600: 87, 83, 78; + --color-neutral-700: 68, 64, 60; + --color-neutral-800: 41, 37, 36; + --color-neutral-900: 28, 25, 23; + /* Lime */ + --color-primary-50: 247, 254, 231; + --color-primary-100: 236, 252, 203; + --color-primary-200: 217, 249, 157; + --color-primary-300: 190, 242, 100; + --color-primary-400: 163, 230, 53; + --color-primary-500: 132, 204, 22; + --color-primary-600: 101, 163, 13; + --color-primary-700: 77, 124, 15; + --color-primary-800: 63, 98, 18; + --color-primary-900: 54, 83, 20; + /* Emerald */ + --color-secondary-50: 236, 253, 245; + --color-secondary-100: 209, 250, 229; + --color-secondary-200: 167, 243, 208; + --color-secondary-300: 110, 231, 183; + --color-secondary-400: 52, 211, 153; + --color-secondary-500: 16, 185, 129; + --color-secondary-600: 5, 150, 105; + --color-secondary-700: 4, 120, 87; + --color-secondary-800: 6, 95, 70; + --color-secondary-900: 6, 78, 59; +} diff --git a/themes/blowfish/assets/css/schemes/bloody.css b/themes/blowfish/assets/css/schemes/bloody.css new file mode 100644 index 0000000..5d0de8a --- /dev/null +++ b/themes/blowfish/assets/css/schemes/bloody.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 254,197,207; +--color-neutral-200: 253,121,144; +--color-neutral-300: 251,46,82; +--color-neutral-400: 217,4,41; +--color-neutral-500: 177,3,33; +--color-neutral-600: 137,3,26; +--color-neutral-700: 97,2,18; +--color-neutral-800: 57,1,11; +--color-neutral-900: 17,0,3; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 230,233,238; +--color-primary-300: 186,193,206; +--color-primary-400: 141,153,174; +--color-primary-500: 117,132,157; +--color-primary-600: 97,111,136; +--color-primary-700: 80,92,113; +--color-primary-800: 63,72,89; +--color-primary-900: 46,53,65; +--color-secondary-50: 255,255,255; +--color-secondary-100: 217,230,238; +--color-secondary-200: 164,195,215; +--color-secondary-300: 111,160,192; +--color-secondary-400: 69,123,157; +--color-secondary-500: 57,101,129; +--color-secondary-600: 44,79,100; +--color-secondary-700: 32,56,72; +--color-secondary-800: 19,34,44; +--color-secondary-900: 7,12,15; +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/schemes/blowfish.css b/themes/blowfish/assets/css/schemes/blowfish.css new file mode 100644 index 0000000..e5dc5aa --- /dev/null +++ b/themes/blowfish/assets/css/schemes/blowfish.css @@ -0,0 +1,37 @@ +/* Blowfish scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 248, 250, 252; + --color-neutral-100: 241, 245, 249; + --color-neutral-200: 226, 232, 240; + --color-neutral-300: 203, 213, 225; + --color-neutral-400: 148, 163, 184; + --color-neutral-500: 100, 116, 139; + --color-neutral-600: 71, 85, 105; + --color-neutral-700: 51, 65, 85; + --color-neutral-800: 30, 41, 59; + --color-neutral-900: 15, 23, 42; + /* Blue */ + --color-primary-50: 239, 246, 255; + --color-primary-100: 219, 234, 254; + --color-primary-200: 191, 219, 254; + --color-primary-300: 147, 197, 253; + --color-primary-400: 96, 165, 250; + --color-primary-500: 59, 130, 246; + --color-primary-600: 37, 99, 235; + --color-primary-700: 29, 78, 216; + --color-primary-800: 30, 64, 175; + --color-primary-900: 30, 58, 138; + /* Cyan */ + --color-secondary-50: 236, 254, 255; + --color-secondary-100: 207, 250, 254; + --color-secondary-200: 165, 243, 252; + --color-secondary-300: 103, 232, 249; + --color-secondary-400: 34, 211, 238; + --color-secondary-500: 6, 182, 212; + --color-secondary-600: 8, 145, 178; + --color-secondary-700: 14, 116, 144; + --color-secondary-800: 21, 94, 117; + --color-secondary-900: 22, 78, 99; +} diff --git a/themes/blowfish/assets/css/schemes/congo.css b/themes/blowfish/assets/css/schemes/congo.css new file mode 100644 index 0000000..c98055e --- /dev/null +++ b/themes/blowfish/assets/css/schemes/congo.css @@ -0,0 +1,37 @@ +/* Blowfish scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 250, 250, 250; + --color-neutral-100: 244, 244, 245; + --color-neutral-200: 228, 228, 231; + --color-neutral-300: 212, 212, 216; + --color-neutral-400: 161, 161, 170; + --color-neutral-500: 113, 113, 122; + --color-neutral-600: 82, 82, 91; + --color-neutral-700: 63, 63, 70; + --color-neutral-800: 39, 39, 42; + --color-neutral-900: 24, 24, 27; + /* Violet */ + --color-primary-50: 245, 243, 255; + --color-primary-100: 237, 233, 254; + --color-primary-200: 221, 214, 254; + --color-primary-300: 196, 181, 253; + --color-primary-400: 167, 139, 250; + --color-primary-500: 139, 92, 246; + --color-primary-600: 124, 58, 237; + --color-primary-700: 109, 40, 217; + --color-primary-800: 91, 33, 182; + --color-primary-900: 76, 29, 149; + /* Fuchsia */ + --color-secondary-50: 253, 244, 255; + --color-secondary-100: 250, 232, 255; + --color-secondary-200: 245, 208, 254; + --color-secondary-300: 240, 171, 252; + --color-secondary-400: 232, 121, 249; + --color-secondary-500: 217, 70, 239; + --color-secondary-600: 192, 38, 211; + --color-secondary-700: 162, 28, 175; + --color-secondary-800: 134, 25, 143; + --color-secondary-900: 112, 26, 117; +} diff --git a/themes/blowfish/assets/css/schemes/fire.css b/themes/blowfish/assets/css/schemes/fire.css new file mode 100644 index 0000000..ed69d5c --- /dev/null +++ b/themes/blowfish/assets/css/schemes/fire.css @@ -0,0 +1,37 @@ +/* Fire scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Stone */ + --color-neutral-50: 250, 250, 249; + --color-neutral-100: 245, 245, 244; + --color-neutral-200: 231, 229, 228; + --color-neutral-300: 214, 211, 209; + --color-neutral-400: 168, 162, 158; + --color-neutral-500: 120, 113, 108; + --color-neutral-600: 87, 83, 78; + --color-neutral-700: 68, 64, 60; + --color-neutral-800: 41, 37, 36; + --color-neutral-900: 28, 25, 23; + /* Orange */ + --color-primary-50: 255, 247, 237; + --color-primary-100: 255, 237, 213; + --color-primary-200: 254, 215, 170; + --color-primary-300: 253, 186, 116; + --color-primary-400: 251, 146, 60; + --color-primary-500: 249, 115, 22; + --color-primary-600: 234, 88, 12; + --color-primary-700: 194, 65, 12; + --color-primary-800: 154, 52, 18; + --color-primary-900: 124, 45, 18; + /* Rose */ + --color-secondary-50: 255, 241, 242; + --color-secondary-100: 255, 228, 230; + --color-secondary-200: 254, 205, 211; + --color-secondary-300: 253, 164, 175; + --color-secondary-400: 251, 113, 133; + --color-secondary-500: 244, 63, 94; + --color-secondary-600: 225, 29, 72; + --color-secondary-700: 190, 18, 60; + --color-secondary-800: 159, 18, 57; + --color-secondary-900: 136, 19, 55; +} diff --git a/themes/blowfish/assets/css/schemes/forest.css b/themes/blowfish/assets/css/schemes/forest.css new file mode 100644 index 0000000..784895f --- /dev/null +++ b/themes/blowfish/assets/css/schemes/forest.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 232,238,237; +--color-neutral-200: 188,206,203; +--color-neutral-300: 143,174,170; +--color-neutral-400: 101,140,134; +--color-neutral-500: 84,116,111; +--color-neutral-600: 67,93,89; +--color-neutral-700: 50,69,66; +--color-neutral-800: 33,45,43; +--color-neutral-900: 16,21,21; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 205,252,247; +--color-primary-300: 132,249,235; +--color-primary-400: 59,245,223; +--color-primary-500: 20,243,217; +--color-primary-600: 11,212,188; +--color-primary-700: 9,173,153; +--color-primary-800: 7,134,119; +--color-primary-900: 5,95,84; +--color-secondary-50: 255,255,255; +--color-secondary-100: 194,253,219; +--color-secondary-200: 120,251,175; +--color-secondary-300: 45,249,130; +--color-secondary-400: 6,212,92; +--color-secondary-500: 5,172,75; +--color-secondary-600: 4,133,58; +--color-secondary-700: 3,93,40; +--color-secondary-800: 2,53,23; +--color-secondary-900: 0,14,6; +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/schemes/marvel.css b/themes/blowfish/assets/css/schemes/marvel.css new file mode 100644 index 0000000..b6ec5a8 --- /dev/null +++ b/themes/blowfish/assets/css/schemes/marvel.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 255,255,255; +--color-neutral-200: 201,209,244; +--color-neutral-300: 137,156,231; +--color-neutral-400: 74,103,217; +--color-neutral-500: 37,65,178; +--color-neutral-600: 30,53,144; +--color-neutral-700: 23,40,110; +--color-neutral-800: 16,28,77; +--color-neutral-900: 9,16,43; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 252,211,226; +--color-primary-300: 246,140,178; +--color-primary-400: 240,69,131; +--color-primary-500: 216,17,89; +--color-primary-600: 178,14,73; +--color-primary-700: 140,11,58; +--color-primary-800: 103,8,42; +--color-primary-900: 65,5,27; +--color-secondary-50: 255,255,255; +--color-secondary-100: 255,255,255; +--color-secondary-200: 255,255,255; +--color-secondary-300: 255,242,219; +--color-secondary-400: 255,215,143; +--color-secondary-500: 255,188,66; +--color-secondary-600: 255,174,25; +--color-secondary-700: 239,155,0; +--color-secondary-800: 199,128,0; +--color-secondary-900: 158,102,0; +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/schemes/neon.css b/themes/blowfish/assets/css/schemes/neon.css new file mode 100644 index 0000000..c04284d --- /dev/null +++ b/themes/blowfish/assets/css/schemes/neon.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 255,255,255; +--color-neutral-200: 218,196,249; +--color-neutral-300: 175,126,243; +--color-neutral-400: 131,56,236; +--color-neutral-500: 108,22,229; +--color-neutral-600: 91,18,192; +--color-neutral-700: 73,15,155; +--color-neutral-800: 56,11,118; +--color-neutral-900: 38,8,80; +--color-primary-50: 255,255,255; +--color-primary-100: 255,230,241; +--color-primary-200: 255,153,197; +--color-primary-300: 255,77,154; +--color-primary-400: 255,0,110; +--color-primary-500: 214,0,92; +--color-primary-600: 173,0,75; +--color-primary-700: 133,0,57; +--color-primary-800: 92,0,40; +--color-primary-900: 51,0,22; +--color-secondary-50: 255,255,255; +--color-secondary-100: 255,255,255; +--color-secondary-200: 211,228,255; +--color-secondary-300: 135,181,255; +--color-secondary-400: 58,134,255; +--color-secondary-500: 17,109,255; +--color-secondary-600: 0,89,231; +--color-secondary-700: 0,74,191; +--color-secondary-800: 0,58,150; +--color-secondary-900: 0,42,109; +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/schemes/noir.css b/themes/blowfish/assets/css/schemes/noir.css new file mode 100644 index 0000000..3ce7ac0 --- /dev/null +++ b/themes/blowfish/assets/css/schemes/noir.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 255,255,255; +--color-neutral-200: 214,219,222; +--color-neutral-300: 172,183,188; +--color-neutral-400: 129,146,154; +--color-neutral-500: 92,107,115; +--color-neutral-600: 74,86,92; +--color-neutral-700: 56,65,70; +--color-neutral-800: 38,44,47; +--color-neutral-900: 19,23,24; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 255,255,255; +--color-primary-300: 250,251,252; +--color-primary-400: 204,216,222; +--color-primary-500: 157,180,192; +--color-primary-600: 132,161,176; +--color-primary-700: 107,142,160; +--color-primary-800: 89,121,138; +--color-primary-900: 73,99,113; +--color-secondary-50: 255,255,255; +--color-secondary-100: 255,255,255; +--color-secondary-200: 182,240,255; +--color-secondary-300: 105,225,255; +--color-secondary-400: 28,209,255; +--color-secondary-500: 0,165,207; +--color-secondary-600: 0,132,166; +--color-secondary-700: 0,100,125; +--color-secondary-800: 0,67,85; +--color-secondary-900: 0,35,44; +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/schemes/ocean.css b/themes/blowfish/assets/css/schemes/ocean.css new file mode 100644 index 0000000..cc6d2d6 --- /dev/null +++ b/themes/blowfish/assets/css/schemes/ocean.css @@ -0,0 +1,37 @@ +/* Ocean scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 248, 250, 252; + --color-neutral-100: 241, 245, 249; + --color-neutral-200: 226, 232, 240; + --color-neutral-300: 203, 213, 225; + --color-neutral-400: 148, 163, 184; + --color-neutral-500: 100, 116, 139; + --color-neutral-600: 71, 85, 105; + --color-neutral-700: 51, 65, 85; + --color-neutral-800: 30, 41, 59; + --color-neutral-900: 15, 23, 42; + /* Blue */ + --color-primary-50: 239, 246, 255; + --color-primary-100: 219, 234, 254; + --color-primary-200: 191, 219, 254; + --color-primary-300: 147, 197, 253; + --color-primary-400: 96, 165, 250; + --color-primary-500: 59, 130, 246; + --color-primary-600: 37, 99, 235; + --color-primary-700: 29, 78, 216; + --color-primary-800: 30, 64, 175; + --color-primary-900: 30, 58, 138; + /* Cyan */ + --color-secondary-50: 236, 254, 255; + --color-secondary-100: 207, 250, 254; + --color-secondary-200: 165, 243, 252; + --color-secondary-300: 103, 232, 249; + --color-secondary-400: 34, 211, 238; + --color-secondary-500: 6, 182, 212; + --color-secondary-600: 8, 145, 178; + --color-secondary-700: 14, 116, 144; + --color-secondary-800: 21, 94, 117; + --color-secondary-900: 22, 78, 99; +} diff --git a/themes/blowfish/assets/css/schemes/princess.css b/themes/blowfish/assets/css/schemes/princess.css new file mode 100644 index 0000000..ebe38b4 --- /dev/null +++ b/themes/blowfish/assets/css/schemes/princess.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 255,255,255; +--color-neutral-100: 238,232,238; +--color-neutral-200: 206,188,206; +--color-neutral-300: 174,143,174; +--color-neutral-400: 140,101,140; +--color-neutral-500: 116,84,116; +--color-neutral-600: 93,67,93; +--color-neutral-700: 69,50,69; +--color-neutral-800: 45,33,45; +--color-neutral-900: 21,16,21; +--color-primary-50: 255,255,255; +--color-primary-100: 255,255,255; +--color-primary-200: 252,205,252; +--color-primary-300: 249,132,247; +--color-primary-400: 245,59,242; +--color-primary-500: 243,20,239; +--color-primary-600: 212,11,208; +--color-primary-700: 173,9,170; +--color-primary-800: 134,7,132; +--color-primary-900: 95,5,94; +--color-secondary-50: 255,255,255; +--color-secondary-100: 227,194,253; +--color-secondary-200: 192,120,251; +--color-secondary-300: 157,45,249; +--color-secondary-400: 119,6,212; +--color-secondary-500: 97,5,172; +--color-secondary-600: 74,4,133; +--color-secondary-700: 52,3,93; +--color-secondary-800: 30,2,53; +--color-secondary-900: 8,0,14; +} \ No newline at end of file diff --git a/themes/blowfish/assets/css/schemes/slate.css b/themes/blowfish/assets/css/schemes/slate.css new file mode 100644 index 0000000..54831e8 --- /dev/null +++ b/themes/blowfish/assets/css/schemes/slate.css @@ -0,0 +1,37 @@ +/* Slate scheme */ +:root { + --color-neutral: 255, 255, 255; + /* Gray */ + --color-neutral-50: 249, 250, 251; + --color-neutral-100: 243, 244, 246; + --color-neutral-200: 229, 231, 235; + --color-neutral-300: 209, 213, 219; + --color-neutral-400: 156, 163, 175; + --color-neutral-500: 107, 114, 128; + --color-neutral-600: 75, 85, 99; + --color-neutral-700: 55, 65, 81; + --color-neutral-800: 31, 41, 55; + --color-neutral-900: 17, 24, 39; + /* Slate */ + --color-primary-50: 248, 250, 252; + --color-primary-100: 241, 245, 249; + --color-primary-200: 226, 232, 240; + --color-primary-300: 203, 213, 225; + --color-primary-400: 148, 163, 184; + --color-primary-500: 100, 116, 139; + --color-primary-600: 71, 85, 105; + --color-primary-700: 51, 65, 85; + --color-primary-800: 30, 41, 59; + --color-primary-900: 15, 23, 42; + /* Gray */ + --color-secondary-50: 249, 250, 251; + --color-secondary-100: 243, 244, 246; + --color-secondary-200: 229, 231, 235; + --color-secondary-300: 209, 213, 219; + --color-secondary-400: 156, 163, 175; + --color-secondary-500: 107, 114, 128; + --color-secondary-600: 75, 85, 99; + --color-secondary-700: 55, 65, 81; + --color-secondary-800: 31, 41, 55; + --color-secondary-900: 17, 24, 39; +} diff --git a/themes/blowfish/assets/css/schemes/terminal.css b/themes/blowfish/assets/css/schemes/terminal.css new file mode 100644 index 0000000..b96872d --- /dev/null +++ b/themes/blowfish/assets/css/schemes/terminal.css @@ -0,0 +1,32 @@ +:root { --color-neutral: 255, 255, 255; +--color-neutral-50: 203,255,227; +--color-neutral-100: 126,255,186; +--color-neutral-200: 49,255,145; +--color-neutral-300: 0,228,106; +--color-neutral-400: 0,152,71; +--color-neutral-500: 0,75,35; +--color-neutral-600: 0,50,23; +--color-neutral-700: 0,24,11; +--color-neutral-800: 0,24,11; +--color-neutral-900: 0,0,0; +--color-primary-50: 255,255,255; +--color-primary-100: 236,255,227; +--color-primary-200: 184,255,150; +--color-primary-300: 132,255,74; +--color-primary-400: 80,252,0; +--color-primary-500: 56,176,0; +--color-primary-600: 48,151,0; +--color-primary-700: 40,125,0; +--color-primary-800: 40,125,0; +--color-primary-900: 7,23,0; +--color-secondary-50: 255,255,255; +--color-secondary-100: 239,248,252; +--color-secondary-200: 173,220,242; +--color-secondary-300: 107,192,231; +--color-secondary-400: 41,164,220; +--color-secondary-500: 26,117,159; +--color-secondary-600: 22,101,137; +--color-secondary-700: 19,85,115; +--color-secondary-800: 19,85,115; +--color-secondary-900: 4,20,28; +} \ No newline at end of file diff --git a/themes/blowfish/assets/icons/amazon.svg b/themes/blowfish/assets/icons/amazon.svg new file mode 100644 index 0000000..32047db --- /dev/null +++ b/themes/blowfish/assets/icons/amazon.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/apple.svg b/themes/blowfish/assets/icons/apple.svg new file mode 100644 index 0000000..d1c2233 --- /dev/null +++ b/themes/blowfish/assets/icons/apple.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/bars.svg b/themes/blowfish/assets/icons/bars.svg new file mode 100644 index 0000000..6e5941d --- /dev/null +++ b/themes/blowfish/assets/icons/bars.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/bell.svg b/themes/blowfish/assets/icons/bell.svg new file mode 100644 index 0000000..ea35572 --- /dev/null +++ b/themes/blowfish/assets/icons/bell.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/blogger.svg b/themes/blowfish/assets/icons/blogger.svg new file mode 100644 index 0000000..194dd9b --- /dev/null +++ b/themes/blowfish/assets/icons/blogger.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/bomb.svg b/themes/blowfish/assets/icons/bomb.svg new file mode 100644 index 0000000..2ac7dbb --- /dev/null +++ b/themes/blowfish/assets/icons/bomb.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/bug.svg b/themes/blowfish/assets/icons/bug.svg new file mode 100644 index 0000000..97cae6e --- /dev/null +++ b/themes/blowfish/assets/icons/bug.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/check.svg b/themes/blowfish/assets/icons/check.svg new file mode 100644 index 0000000..a6938bd --- /dev/null +++ b/themes/blowfish/assets/icons/check.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/chevron-down.svg b/themes/blowfish/assets/icons/chevron-down.svg new file mode 100644 index 0000000..9368d7f --- /dev/null +++ b/themes/blowfish/assets/icons/chevron-down.svg @@ -0,0 +1,12 @@ + diff --git a/themes/blowfish/assets/icons/circle-info.svg b/themes/blowfish/assets/icons/circle-info.svg new file mode 100644 index 0000000..bd32225 --- /dev/null +++ b/themes/blowfish/assets/icons/circle-info.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/code.svg b/themes/blowfish/assets/icons/code.svg new file mode 100644 index 0000000..f9ee250 --- /dev/null +++ b/themes/blowfish/assets/icons/code.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/codepen.svg b/themes/blowfish/assets/icons/codepen.svg new file mode 100644 index 0000000..52ec58a --- /dev/null +++ b/themes/blowfish/assets/icons/codepen.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/comment.svg b/themes/blowfish/assets/icons/comment.svg new file mode 100644 index 0000000..2305041 --- /dev/null +++ b/themes/blowfish/assets/icons/comment.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/dev.svg b/themes/blowfish/assets/icons/dev.svg new file mode 100644 index 0000000..7311e84 --- /dev/null +++ b/themes/blowfish/assets/icons/dev.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/discord.svg b/themes/blowfish/assets/icons/discord.svg new file mode 100644 index 0000000..75f1fc7 --- /dev/null +++ b/themes/blowfish/assets/icons/discord.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/discourse.svg b/themes/blowfish/assets/icons/discourse.svg new file mode 100644 index 0000000..d217008 --- /dev/null +++ b/themes/blowfish/assets/icons/discourse.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/docker.svg b/themes/blowfish/assets/icons/docker.svg new file mode 100644 index 0000000..9a82fb0 --- /dev/null +++ b/themes/blowfish/assets/icons/docker.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/download.svg b/themes/blowfish/assets/icons/download.svg new file mode 100644 index 0000000..f1d5796 --- /dev/null +++ b/themes/blowfish/assets/icons/download.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/dribbble.svg b/themes/blowfish/assets/icons/dribbble.svg new file mode 100644 index 0000000..c2613fe --- /dev/null +++ b/themes/blowfish/assets/icons/dribbble.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/edit.svg b/themes/blowfish/assets/icons/edit.svg new file mode 100644 index 0000000..50be4d2 --- /dev/null +++ b/themes/blowfish/assets/icons/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/email.svg b/themes/blowfish/assets/icons/email.svg new file mode 100644 index 0000000..fa215c6 --- /dev/null +++ b/themes/blowfish/assets/icons/email.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/envelope.svg b/themes/blowfish/assets/icons/envelope.svg new file mode 100644 index 0000000..9285f23 --- /dev/null +++ b/themes/blowfish/assets/icons/envelope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/expand.svg b/themes/blowfish/assets/icons/expand.svg new file mode 100644 index 0000000..c307f42 --- /dev/null +++ b/themes/blowfish/assets/icons/expand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/eye.svg b/themes/blowfish/assets/icons/eye.svg new file mode 100644 index 0000000..c54e996 --- /dev/null +++ b/themes/blowfish/assets/icons/eye.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/facebook.svg b/themes/blowfish/assets/icons/facebook.svg new file mode 100644 index 0000000..1535831 --- /dev/null +++ b/themes/blowfish/assets/icons/facebook.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/fire.svg b/themes/blowfish/assets/icons/fire.svg new file mode 100644 index 0000000..a4d8f4f --- /dev/null +++ b/themes/blowfish/assets/icons/fire.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/flickr.svg b/themes/blowfish/assets/icons/flickr.svg new file mode 100644 index 0000000..fcd57c4 --- /dev/null +++ b/themes/blowfish/assets/icons/flickr.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/fork.svg b/themes/blowfish/assets/icons/fork.svg new file mode 100644 index 0000000..38b9e05 --- /dev/null +++ b/themes/blowfish/assets/icons/fork.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/foursquare.svg b/themes/blowfish/assets/icons/foursquare.svg new file mode 100644 index 0000000..74c28e6 --- /dev/null +++ b/themes/blowfish/assets/icons/foursquare.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/ghost.svg b/themes/blowfish/assets/icons/ghost.svg new file mode 100644 index 0000000..1c1b841 --- /dev/null +++ b/themes/blowfish/assets/icons/ghost.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/github.svg b/themes/blowfish/assets/icons/github.svg new file mode 100644 index 0000000..ed8c470 --- /dev/null +++ b/themes/blowfish/assets/icons/github.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/gitlab.svg b/themes/blowfish/assets/icons/gitlab.svg new file mode 100644 index 0000000..998e306 --- /dev/null +++ b/themes/blowfish/assets/icons/gitlab.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/globe.svg b/themes/blowfish/assets/icons/globe.svg new file mode 100644 index 0000000..1b4af7a --- /dev/null +++ b/themes/blowfish/assets/icons/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/goodreads.svg b/themes/blowfish/assets/icons/goodreads.svg new file mode 100644 index 0000000..0960d13 --- /dev/null +++ b/themes/blowfish/assets/icons/goodreads.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/google.svg b/themes/blowfish/assets/icons/google.svg new file mode 100644 index 0000000..7e10132 --- /dev/null +++ b/themes/blowfish/assets/icons/google.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/graduation-cap.svg b/themes/blowfish/assets/icons/graduation-cap.svg new file mode 100644 index 0000000..4c50bd0 --- /dev/null +++ b/themes/blowfish/assets/icons/graduation-cap.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/hackernews.svg b/themes/blowfish/assets/icons/hackernews.svg new file mode 100644 index 0000000..67a1e74 --- /dev/null +++ b/themes/blowfish/assets/icons/hackernews.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/hashnode.svg b/themes/blowfish/assets/icons/hashnode.svg new file mode 100644 index 0000000..6ebe2db --- /dev/null +++ b/themes/blowfish/assets/icons/hashnode.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/heart-empty.svg b/themes/blowfish/assets/icons/heart-empty.svg new file mode 100644 index 0000000..b9476ef --- /dev/null +++ b/themes/blowfish/assets/icons/heart-empty.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/heart.svg b/themes/blowfish/assets/icons/heart.svg new file mode 100644 index 0000000..ed7e8c8 --- /dev/null +++ b/themes/blowfish/assets/icons/heart.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/image.svg b/themes/blowfish/assets/icons/image.svg new file mode 100644 index 0000000..507f65e --- /dev/null +++ b/themes/blowfish/assets/icons/image.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/instagram.svg b/themes/blowfish/assets/icons/instagram.svg new file mode 100644 index 0000000..3cd3d33 --- /dev/null +++ b/themes/blowfish/assets/icons/instagram.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/keybase.svg b/themes/blowfish/assets/icons/keybase.svg new file mode 100644 index 0000000..998110e --- /dev/null +++ b/themes/blowfish/assets/icons/keybase.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/kickstarter.svg b/themes/blowfish/assets/icons/kickstarter.svg new file mode 100644 index 0000000..4496981 --- /dev/null +++ b/themes/blowfish/assets/icons/kickstarter.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/ko-fi.svg b/themes/blowfish/assets/icons/ko-fi.svg new file mode 100644 index 0000000..c91ce51 --- /dev/null +++ b/themes/blowfish/assets/icons/ko-fi.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/blowfish/assets/icons/lastfm.svg b/themes/blowfish/assets/icons/lastfm.svg new file mode 100644 index 0000000..2b53341 --- /dev/null +++ b/themes/blowfish/assets/icons/lastfm.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/lightbulb.svg b/themes/blowfish/assets/icons/lightbulb.svg new file mode 100644 index 0000000..5ffc710 --- /dev/null +++ b/themes/blowfish/assets/icons/lightbulb.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/link.svg b/themes/blowfish/assets/icons/link.svg new file mode 100644 index 0000000..eb283c2 --- /dev/null +++ b/themes/blowfish/assets/icons/link.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/linkedin.svg b/themes/blowfish/assets/icons/linkedin.svg new file mode 100644 index 0000000..4e3948b --- /dev/null +++ b/themes/blowfish/assets/icons/linkedin.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/list.svg b/themes/blowfish/assets/icons/list.svg new file mode 100644 index 0000000..f7a7df4 --- /dev/null +++ b/themes/blowfish/assets/icons/list.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/location-dot.svg b/themes/blowfish/assets/icons/location-dot.svg new file mode 100644 index 0000000..764a4b9 --- /dev/null +++ b/themes/blowfish/assets/icons/location-dot.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/lock.svg b/themes/blowfish/assets/icons/lock.svg new file mode 100644 index 0000000..e0f2ee9 --- /dev/null +++ b/themes/blowfish/assets/icons/lock.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/mastodon.svg b/themes/blowfish/assets/icons/mastodon.svg new file mode 100644 index 0000000..2c9db56 --- /dev/null +++ b/themes/blowfish/assets/icons/mastodon.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/medium.svg b/themes/blowfish/assets/icons/medium.svg new file mode 100644 index 0000000..07d095d --- /dev/null +++ b/themes/blowfish/assets/icons/medium.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/microsoft.svg b/themes/blowfish/assets/icons/microsoft.svg new file mode 100644 index 0000000..1bdb0c2 --- /dev/null +++ b/themes/blowfish/assets/icons/microsoft.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/moon.svg b/themes/blowfish/assets/icons/moon.svg new file mode 100644 index 0000000..8356307 --- /dev/null +++ b/themes/blowfish/assets/icons/moon.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/mug-hot.svg b/themes/blowfish/assets/icons/mug-hot.svg new file mode 100644 index 0000000..30a69cc --- /dev/null +++ b/themes/blowfish/assets/icons/mug-hot.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/music.svg b/themes/blowfish/assets/icons/music.svg new file mode 100644 index 0000000..cdf3124 --- /dev/null +++ b/themes/blowfish/assets/icons/music.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/orcid.svg b/themes/blowfish/assets/icons/orcid.svg new file mode 100644 index 0000000..b7f1b25 --- /dev/null +++ b/themes/blowfish/assets/icons/orcid.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/patreon.svg b/themes/blowfish/assets/icons/patreon.svg new file mode 100644 index 0000000..bd2e994 --- /dev/null +++ b/themes/blowfish/assets/icons/patreon.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/paypal.svg b/themes/blowfish/assets/icons/paypal.svg new file mode 100644 index 0000000..889ed3b --- /dev/null +++ b/themes/blowfish/assets/icons/paypal.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/pencil.svg b/themes/blowfish/assets/icons/pencil.svg new file mode 100644 index 0000000..29bd525 --- /dev/null +++ b/themes/blowfish/assets/icons/pencil.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/pgpkey.svg b/themes/blowfish/assets/icons/pgpkey.svg new file mode 100644 index 0000000..4adaeb4 --- /dev/null +++ b/themes/blowfish/assets/icons/pgpkey.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/phone.svg b/themes/blowfish/assets/icons/phone.svg new file mode 100644 index 0000000..fb8ebdd --- /dev/null +++ b/themes/blowfish/assets/icons/phone.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/pinterest.svg b/themes/blowfish/assets/icons/pinterest.svg new file mode 100644 index 0000000..386481c --- /dev/null +++ b/themes/blowfish/assets/icons/pinterest.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/poo.svg b/themes/blowfish/assets/icons/poo.svg new file mode 100644 index 0000000..5489fb4 --- /dev/null +++ b/themes/blowfish/assets/icons/poo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/reddit.svg b/themes/blowfish/assets/icons/reddit.svg new file mode 100644 index 0000000..bb55eb5 --- /dev/null +++ b/themes/blowfish/assets/icons/reddit.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/researchgate.svg b/themes/blowfish/assets/icons/researchgate.svg new file mode 100644 index 0000000..ad176db --- /dev/null +++ b/themes/blowfish/assets/icons/researchgate.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/rss-square.svg b/themes/blowfish/assets/icons/rss-square.svg new file mode 100644 index 0000000..d074561 --- /dev/null +++ b/themes/blowfish/assets/icons/rss-square.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/rss.svg b/themes/blowfish/assets/icons/rss.svg new file mode 100644 index 0000000..a4f1848 --- /dev/null +++ b/themes/blowfish/assets/icons/rss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/scale-balanced.svg b/themes/blowfish/assets/icons/scale-balanced.svg new file mode 100644 index 0000000..67d365f --- /dev/null +++ b/themes/blowfish/assets/icons/scale-balanced.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/search.svg b/themes/blowfish/assets/icons/search.svg new file mode 100644 index 0000000..15fe892 --- /dev/null +++ b/themes/blowfish/assets/icons/search.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/shield.svg b/themes/blowfish/assets/icons/shield.svg new file mode 100644 index 0000000..955806a --- /dev/null +++ b/themes/blowfish/assets/icons/shield.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/skull-crossbones.svg b/themes/blowfish/assets/icons/skull-crossbones.svg new file mode 100644 index 0000000..4e19f6e --- /dev/null +++ b/themes/blowfish/assets/icons/skull-crossbones.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/slack.svg b/themes/blowfish/assets/icons/slack.svg new file mode 100644 index 0000000..69909d8 --- /dev/null +++ b/themes/blowfish/assets/icons/slack.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/snapchat.svg b/themes/blowfish/assets/icons/snapchat.svg new file mode 100644 index 0000000..b6efeef --- /dev/null +++ b/themes/blowfish/assets/icons/snapchat.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/soundcloud.svg b/themes/blowfish/assets/icons/soundcloud.svg new file mode 100644 index 0000000..301c3d1 --- /dev/null +++ b/themes/blowfish/assets/icons/soundcloud.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/stack-overflow.svg b/themes/blowfish/assets/icons/stack-overflow.svg new file mode 100644 index 0000000..bba4159 --- /dev/null +++ b/themes/blowfish/assets/icons/stack-overflow.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/star.svg b/themes/blowfish/assets/icons/star.svg new file mode 100644 index 0000000..7b974c4 --- /dev/null +++ b/themes/blowfish/assets/icons/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/steam.svg b/themes/blowfish/assets/icons/steam.svg new file mode 100644 index 0000000..6efd1fd --- /dev/null +++ b/themes/blowfish/assets/icons/steam.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/stripe.svg b/themes/blowfish/assets/icons/stripe.svg new file mode 100644 index 0000000..1fc477d --- /dev/null +++ b/themes/blowfish/assets/icons/stripe.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/substack.svg b/themes/blowfish/assets/icons/substack.svg new file mode 100644 index 0000000..fa0a954 --- /dev/null +++ b/themes/blowfish/assets/icons/substack.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/sun.svg b/themes/blowfish/assets/icons/sun.svg new file mode 100644 index 0000000..34a57ec --- /dev/null +++ b/themes/blowfish/assets/icons/sun.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/tag.svg b/themes/blowfish/assets/icons/tag.svg new file mode 100644 index 0000000..c78e65b --- /dev/null +++ b/themes/blowfish/assets/icons/tag.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/telegram.svg b/themes/blowfish/assets/icons/telegram.svg new file mode 100644 index 0000000..4101aef --- /dev/null +++ b/themes/blowfish/assets/icons/telegram.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/tiktok.svg b/themes/blowfish/assets/icons/tiktok.svg new file mode 100644 index 0000000..792a850 --- /dev/null +++ b/themes/blowfish/assets/icons/tiktok.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/triangle-exclamation.svg b/themes/blowfish/assets/icons/triangle-exclamation.svg new file mode 100644 index 0000000..f501ce9 --- /dev/null +++ b/themes/blowfish/assets/icons/triangle-exclamation.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/tumblr.svg b/themes/blowfish/assets/icons/tumblr.svg new file mode 100644 index 0000000..1457d68 --- /dev/null +++ b/themes/blowfish/assets/icons/tumblr.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/twitch.svg b/themes/blowfish/assets/icons/twitch.svg new file mode 100644 index 0000000..a35fa55 --- /dev/null +++ b/themes/blowfish/assets/icons/twitch.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/twitter.svg b/themes/blowfish/assets/icons/twitter.svg new file mode 100644 index 0000000..3ab4c1c --- /dev/null +++ b/themes/blowfish/assets/icons/twitter.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/wand-magic-sparkles.svg b/themes/blowfish/assets/icons/wand-magic-sparkles.svg new file mode 100644 index 0000000..9655689 --- /dev/null +++ b/themes/blowfish/assets/icons/wand-magic-sparkles.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/whatsapp.svg b/themes/blowfish/assets/icons/whatsapp.svg new file mode 100644 index 0000000..c1df966 --- /dev/null +++ b/themes/blowfish/assets/icons/whatsapp.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/x-twitter.svg b/themes/blowfish/assets/icons/x-twitter.svg new file mode 100644 index 0000000..627453e --- /dev/null +++ b/themes/blowfish/assets/icons/x-twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/blowfish/assets/icons/xmark.svg b/themes/blowfish/assets/icons/xmark.svg new file mode 100644 index 0000000..a4c5121 --- /dev/null +++ b/themes/blowfish/assets/icons/xmark.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/icons/youtube.svg b/themes/blowfish/assets/icons/youtube.svg new file mode 100644 index 0000000..3fa4dad --- /dev/null +++ b/themes/blowfish/assets/icons/youtube.svg @@ -0,0 +1 @@ + diff --git a/themes/blowfish/assets/img/blowfish_banner.png b/themes/blowfish/assets/img/blowfish_banner.png new file mode 100644 index 0000000..d97bbf2 Binary files /dev/null and b/themes/blowfish/assets/img/blowfish_banner.png differ diff --git a/themes/blowfish/assets/img/blowfish_banner_transparent.png b/themes/blowfish/assets/img/blowfish_banner_transparent.png new file mode 100644 index 0000000..73079b7 Binary files /dev/null and b/themes/blowfish/assets/img/blowfish_banner_transparent.png differ diff --git a/themes/blowfish/assets/img/blowfish_logo.png b/themes/blowfish/assets/img/blowfish_logo.png new file mode 100644 index 0000000..26fa15d Binary files /dev/null and b/themes/blowfish/assets/img/blowfish_logo.png differ diff --git a/themes/blowfish/assets/img/blowfish_logo_transparent.png b/themes/blowfish/assets/img/blowfish_logo_transparent.png new file mode 100644 index 0000000..197a309 Binary files /dev/null and b/themes/blowfish/assets/img/blowfish_logo_transparent.png differ diff --git a/themes/blowfish/assets/js/appearance.js b/themes/blowfish/assets/js/appearance.js new file mode 100644 index 0000000..1da4b69 --- /dev/null +++ b/themes/blowfish/assets/js/appearance.js @@ -0,0 +1,101 @@ +const sitePreference = document.documentElement.getAttribute("data-default-appearance"); +const userPreference = localStorage.getItem("appearance"); + +if ((sitePreference === "dark" && userPreference === null) || userPreference === "dark") { + document.documentElement.classList.add("dark"); +} + +if (document.documentElement.getAttribute("data-auto-appearance") === "true") { + if ( + window.matchMedia && + window.matchMedia("(prefers-color-scheme: dark)").matches && + userPreference !== "light" + ) { + document.documentElement.classList.add("dark"); + } + window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", (event) => { + if (event.matches) { + document.documentElement.classList.add("dark"); + } else { + document.documentElement.classList.remove("dark"); + } + }); +} + +window.addEventListener("DOMContentLoaded", (event) => { + const switcher = document.getElementById("appearance-switcher"); + const switcherMobile = document.getElementById("appearance-switcher-mobile"); + + updateMeta(); + this.updateLogo?.(getTargetAppearance()); + + if (switcher) { + switcher.addEventListener("click", () => { + document.documentElement.classList.toggle("dark"); + var targetAppearance = getTargetAppearance(); + localStorage.setItem( + "appearance", + targetAppearance + ); + updateMeta(); + this.updateLogo?.(targetAppearance); + }); + switcher.addEventListener("contextmenu", (event) => { + event.preventDefault(); + localStorage.removeItem("appearance"); + }); + } + if (switcherMobile) { + switcherMobile.addEventListener("click", () => { + document.documentElement.classList.toggle("dark"); + var targetAppearance = getTargetAppearance(); + localStorage.setItem( + "appearance", + targetAppearance + ); + updateMeta(); + this.updateLogo?.(targetAppearance); + }); + switcherMobile.addEventListener("contextmenu", (event) => { + event.preventDefault(); + localStorage.removeItem("appearance"); + }); + } +}); + + +var updateMeta = () => { + var elem, style; + elem = document.querySelector('body'); + style = getComputedStyle(elem); + document.querySelector('meta[name="theme-color"]').setAttribute('content', style.backgroundColor); +} + +{{ if and (.Site.Params.Logo) (.Site.Params.SecondaryLogo) }} +{{ $primaryLogo := resources.Get .Site.Params.Logo }} +{{ $secondaryLogo := resources.Get .Site.Params.SecondaryLogo }} +{{ if and ($primaryLogo) ($secondaryLogo) }} +var updateLogo = (targetAppearance) => { + var elems; + elems = document.querySelectorAll("img.logo") + targetLogoPath = + targetAppearance == "{{ .Site.Params.DefaultAppearance }}" ? + "{{ $primaryLogo.RelPermalink }}" : "{{ $secondaryLogo.RelPermalink }}" + for (const elem of elems) { + elem.setAttribute("src", targetLogoPath) + } +} +{{ end }} +{{- end }} + +var getTargetAppearance = () => { + return document.documentElement.classList.contains("dark") ? "dark" : "light" +} + +window.addEventListener("DOMContentLoaded", (event) => { + const scroller = document.getElementById("top-scroller"); + const footer = document.getElementById("site-footer"); + if(scroller && footer && scroller.getBoundingClientRect().top > footer.getBoundingClientRect().top) { + scroller.hidden = true; + } +}); diff --git a/themes/blowfish/assets/js/chart.js b/themes/blowfish/assets/js/chart.js new file mode 100644 index 0000000..ccf950d --- /dev/null +++ b/themes/blowfish/assets/js/chart.js @@ -0,0 +1,13 @@ +function css(name) { + return "rgb(" + getComputedStyle(document.documentElement).getPropertyValue(name) + ")"; +} + +Chart.defaults.font.size = 14; +Chart.defaults.backgroundColor = css("--color-primary-300"); +Chart.defaults.elements.point.borderColor = css("--color-primary-400"); +Chart.defaults.elements.bar.borderColor = css("--color-primary-500"); +Chart.defaults.elements.bar.borderWidth = 1; +Chart.defaults.elements.line.borderColor = css("--color-primary-400"); +Chart.defaults.elements.arc.backgroundColor = css("--color-primary-200"); +Chart.defaults.elements.arc.borderColor = css("--color-primary-500"); +Chart.defaults.elements.arc.borderWidth = 1; diff --git a/themes/blowfish/assets/js/code.js b/themes/blowfish/assets/js/code.js new file mode 100644 index 0000000..2cd3474 --- /dev/null +++ b/themes/blowfish/assets/js/code.js @@ -0,0 +1,66 @@ +var scriptBundle = document.getElementById("script-bundle"); +var copyText = scriptBundle && scriptBundle.getAttribute("data-copy")? scriptBundle.getAttribute("data-copy") : "Copy"; +var copiedText = scriptBundle && scriptBundle.getAttribute("data-copied")? scriptBundle.getAttribute("data-copied") : "Copied"; + +function createCopyButton(highlightDiv) { + const button = document.createElement("button"); + button.className = "copy-button"; + button.type = "button"; + button.ariaLabel = copyText; + button.innerText = copyText; + button.addEventListener("click", () => copyCodeToClipboard(button, highlightDiv)); + addCopyButtonToDom(button, highlightDiv); +} + +async function copyCodeToClipboard(button, highlightDiv) { + const codeToCopy = highlightDiv.querySelector(":last-child > .chroma > code").innerText; + try { + result = await navigator.permissions.query({ name: "clipboard-write" }); + if (result.state == "granted" || result.state == "prompt") { + await navigator.clipboard.writeText(codeToCopy); + } else { + copyCodeBlockExecCommand(codeToCopy, highlightDiv); + } + } catch (_) { + copyCodeBlockExecCommand(codeToCopy, highlightDiv); + } finally { + codeWasCopied(button); + } +} + +function copyCodeBlockExecCommand(codeToCopy, highlightDiv) { + const textArea = document.createElement("textArea"); + textArea.contentEditable = "true"; + textArea.readOnly = "false"; + textArea.className = "copy-textarea"; + textArea.value = codeToCopy; + highlightDiv.insertBefore(textArea, highlightDiv.firstChild); + const range = document.createRange(); + range.selectNodeContents(textArea); + const sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); + textArea.setSelectionRange(0, 999999); + document.execCommand("copy"); + highlightDiv.removeChild(textArea); +} + +function codeWasCopied(button) { + button.blur(); + button.innerText = copiedText; + setTimeout(function () { + button.innerText = copyText; + }, 2000); +} + +function addCopyButtonToDom(button, highlightDiv) { + highlightDiv.insertBefore(button, highlightDiv.firstChild); + const wrapper = document.createElement("div"); + wrapper.className = "highlight-wrapper"; + highlightDiv.parentNode.insertBefore(wrapper, highlightDiv); + wrapper.appendChild(highlightDiv); +} + +window.addEventListener("DOMContentLoaded", (event) => { + document.querySelectorAll(".highlight").forEach((highlightDiv) => createCopyButton(highlightDiv)); +}); diff --git a/themes/blowfish/assets/js/page.js b/themes/blowfish/assets/js/page.js new file mode 100644 index 0000000..1593625 --- /dev/null +++ b/themes/blowfish/assets/js/page.js @@ -0,0 +1,106 @@ +var liked_page = false + +if (typeof auth !== 'undefined') { + var id = oid ? oid.replaceAll("/", "-") : oid + var viewed = localStorage.getItem(id); + + if (!viewed) { + auth.signInAnonymously() + .then(() => { + var docRef = db.collection('views').doc(id) + localStorage.setItem(id, true); + docRef.get().then((doc) => { + if (doc.exists) { + db.collection('views').doc(id).update({ + views: firebase.firestore.FieldValue.increment(1) + }); + } else { + db.collection('views').doc(id).set({ views: 1 }) + } + }).catch((error) => { + console.log("Error getting document:", error); + }); + }) + .catch((error) => { + var errorCode = error.code; + var errorMessage = error.message; + console.error(errorCode, errorMessage) + }); + } + + var id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes + var liked = localStorage.getItem(id_likes); + + if (liked) { + liked_page = true + document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "" + document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "none" + document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "" + } + +} + +function like_article(id_likes) { + auth.signInAnonymously() + .then(() => { + var docRef = db.collection('likes').doc(id_likes) + docRef.get().then((doc) => { + liked_page = true + localStorage.setItem(id_likes, true); + document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "" + document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "none" + document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "" + if (doc.exists) { + db.collection('likes').doc(id_likes).update({ + likes: firebase.firestore.FieldValue.increment(1) + }); + } else { + db.collection('likes').doc(id_likes).set({ likes: 1 }) + } + }).catch((error) => { + console.log("Error getting document:", error); + }); + }) + .catch((error) => { + var errorCode = error.code; + var errorMessage = error.message; + console.error(errorCode, errorMessage) + }); +} + +function remove_like_article(id_likes) { + auth.signInAnonymously() + .then(() => { + var docRef = db.collection('likes').doc(id_likes) + docRef.get().then((doc) => { + liked_page = false + localStorage.removeItem(id_likes); + document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "none" + document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "" + document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "\xa0Like" + if (doc.exists) { + db.collection('likes').doc(id_likes).update({ + likes: firebase.firestore.FieldValue.increment(-1) + }); + } else { + db.collection('likes').doc(id_likes).set({ likes: 0 }) + } + }).catch((error) => { + console.log("Error getting document:", error); + }); + }) + .catch((error) => { + var errorCode = error.code; + var errorMessage = error.message; + console.error(errorCode, errorMessage) + }); +} + +function process_article() { + var id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes + if (!liked_page) { + like_article(id_likes) + } else { + remove_like_article(id_likes) + } +} \ No newline at end of file diff --git a/themes/blowfish/assets/js/process.js b/themes/blowfish/assets/js/process.js new file mode 100644 index 0000000..a91afa7 --- /dev/null +++ b/themes/blowfish/assets/js/process.js @@ -0,0 +1,71 @@ +if (typeof auth !== 'undefined') { + var viewsCollection = db.collection('views'); + var likesCollection = db.collection('likes'); + + function numberWithCommas(x) { + return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); + } + + function toggleLoaders(node){ + var classesString = node.className; + if(classesString == "") return + var classes = classesString.split(" "); + for(var i in classes){ + node.classList.toggle(classes[i]) + } + } + + var update_views = function (node, id) { + viewsCollection.doc(id).onSnapshot(doc => { + var data = doc.data(); + if (data) { + node.innerText = numberWithCommas(data.views) + } else { + node.innerText = 0 + } + toggleLoaders(node) + }) + } + + var update_likes = function (node, id) { + likesCollection.doc(id).onSnapshot(doc => { + var data = doc.data(); + if (data) { + node.innerText = numberWithCommas(data.likes) + } else { + node.innerText = 0 + } + toggleLoaders(node) + + }) + } + + + auth.signInAnonymously() + .then(() => { + var views_nodes = document.querySelectorAll("span[id^='views_']") + + for (var i in views_nodes) { + var node = views_nodes[i] + var id = node.id ? node.id.replaceAll("/", "-") : node.id + if (id) { + update_views(node, id) + } + } + + var likes_nodes = document.querySelectorAll("span[id^='likes_']") + + for (var i in likes_nodes) { + var node = likes_nodes[i] + var id = node.id ? node.id.replaceAll("/", "-") : node.id + if (id) { + update_likes(node, id) + } + } + }) + .catch((error) => { + var errorCode = error.code; + var errorMessage = error.message; + console.error(errorCode, errorMessage) + }); +} \ No newline at end of file diff --git a/themes/blowfish/assets/js/rtl.js b/themes/blowfish/assets/js/rtl.js new file mode 100644 index 0000000..26852d4 --- /dev/null +++ b/themes/blowfish/assets/js/rtl.js @@ -0,0 +1,3 @@ +window.addEventListener("DOMContentLoaded", (event) => { + document.querySelectorAll("pre, .highlight-wrapper").forEach((tag) => (tag.dir = "auto")); +}); diff --git a/themes/blowfish/assets/js/search.js b/themes/blowfish/assets/js/search.js new file mode 100644 index 0000000..3f08cb3 --- /dev/null +++ b/themes/blowfish/assets/js/search.js @@ -0,0 +1,177 @@ +var fuse; +var showButton = document.getElementById("search-button"); +var showButtonMobile = document.getElementById("search-button-mobile"); +var hideButton = document.getElementById("close-search-button"); +var wrapper = document.getElementById("search-wrapper"); +var modal = document.getElementById("search-modal"); +var input = document.getElementById("search-query"); +var output = document.getElementById("search-results"); +var first = output.firstChild; +var last = output.lastChild; +var searchVisible = false; +var indexed = false; +var hasResults = false; + +// Listen for events +showButton? showButton.addEventListener("click", displaySearch) : null; +showButtonMobile? showButtonMobile.addEventListener("click", displaySearch) : null; +hideButton.addEventListener("click", hideSearch); +wrapper.addEventListener("click", hideSearch); +modal.addEventListener("click", function (event) { + event.stopPropagation(); + event.stopImmediatePropagation(); + return false; +}); +document.addEventListener("keydown", function (event) { + // Forward slash to open search wrapper + if (event.key == "/") { + if (!searchVisible) { + event.preventDefault(); + displaySearch(); + } + } + + // Esc to close search wrapper + if (event.key == "Escape") { + hideSearch(); + } + + // Down arrow to move down results list + if (event.key == "ArrowDown") { + if (searchVisible && hasResults) { + event.preventDefault(); + if (document.activeElement == input) { + first.focus(); + } else if (document.activeElement == last) { + last.focus(); + } else { + document.activeElement.parentElement.nextSibling.firstElementChild.focus(); + } + } + } + + // Up arrow to move up results list + if (event.key == "ArrowUp") { + if (searchVisible && hasResults) { + event.preventDefault(); + if (document.activeElement == input) { + input.focus(); + } else if (document.activeElement == first) { + input.focus(); + } else { + document.activeElement.parentElement.previousSibling.firstElementChild.focus(); + } + } + } + + // Enter to get to results + if (event.key == "Enter") { + if (searchVisible && hasResults) { + event.preventDefault(); + if (document.activeElement == input) { + first.focus(); + } else { + document.activeElement.click(); + } + }else{ + event.preventDefault(); + } + } + +}); + +// Update search on each keypress +input.onkeyup = function (event) { + executeQuery(this.value); +}; + +function displaySearch() { + if (!indexed) { + buildIndex(); + } + if (!searchVisible) { + document.body.style.overflow = "hidden"; + wrapper.style.visibility = "visible"; + input.focus(); + searchVisible = true; + } +} + +function hideSearch() { + if (searchVisible) { + document.body.style.overflow = "visible"; + wrapper.style.visibility = "hidden"; + input.value = ""; + output.innerHTML = ""; + document.activeElement.blur(); + searchVisible = false; + } +} + +function fetchJSON(path, callback) { + var httpRequest = new XMLHttpRequest(); + httpRequest.onreadystatechange = function () { + if (httpRequest.readyState === 4) { + if (httpRequest.status === 200) { + var data = JSON.parse(httpRequest.responseText); + if (callback) callback(data); + } + } + }; + httpRequest.open("GET", path); + httpRequest.send(); +} + +function buildIndex() { + var baseURL = wrapper.getAttribute("data-url"); + baseURL = baseURL.replace(/\/?$/, '/'); + fetchJSON(baseURL + "index.json", function (data) { + var options = { + shouldSort: true, + ignoreLocation: true, + threshold: 0.0, + includeMatches: true, + keys: [ + { name: "title", weight: 0.8 }, + { name: "section", weight: 0.2 }, + { name: "summary", weight: 0.6 }, + { name: "content", weight: 0.4 }, + ], + }; + fuse = new Fuse(data, options); + indexed = true; + }); +} + +function executeQuery(term) { + let results = fuse.search(term); + let resultsHTML = ""; + + if (results.length > 0) { + results.forEach(function (value, key) { + resultsHTML = + resultsHTML + + `
  • + +
    +
    ${value.item.title}
    +
    ${value.item.section}·${value.item.date}
    +
    ${value.item.summary}
    +
    +
    +
    +
    +
  • `; + }); + hasResults = true; + } else { + resultsHTML = ""; + hasResults = false; + } + + output.innerHTML = resultsHTML; + if (results.length > 0) { + first = output.firstChild.firstElementChild; + last = output.lastChild.firstElementChild; + } +} diff --git a/themes/blowfish/assets/js/shortcodes/gallery.js b/themes/blowfish/assets/js/shortcodes/gallery.js new file mode 100644 index 0000000..bc61fad --- /dev/null +++ b/themes/blowfish/assets/js/shortcodes/gallery.js @@ -0,0 +1,24 @@ +function _getDefaultPackeryOptions() { + return { + percentPosition: true, + gutter: 5, + resize: true + }; +} + +(function init() { + window.addEventListener("DOMContentLoaded", (event) => { + console.groupCollapsed('[DEBUG] Gallery feature enable'); + let packeries = []; + let nodeGalleries = document.querySelectorAll('.gallery'); + + nodeGalleries.forEach(nodeGallery => { + // TODO : implement a reader of Packery configuration _getPackeryOptions; for example by reading data-attribute + let packery = new Packery(nodeGallery, _getDefaultPackeryOptions()); + packeries.push(packery); + }); + + console.log("Galleries founded and initialized with packery", packeries); + console.groupEnd(); + }); +})(); \ No newline at end of file diff --git a/themes/blowfish/assets/js/zen-mode.js b/themes/blowfish/assets/js/zen-mode.js new file mode 100644 index 0000000..ff6acef --- /dev/null +++ b/themes/blowfish/assets/js/zen-mode.js @@ -0,0 +1,70 @@ +function _toogleZenMode(zendModeButton) { + // Nodes selection + const body = document.querySelector('body'); + const tocRight = document.querySelector('.toc-right'); + const tocInside = document.querySelector('.toc-inside'); + const articleContent = document.querySelector('.article-content'); + const header = document.querySelector('#single_header'); + + + // Add semantic class into body tag + body.classList.toggle('zen-mode-enable'); + + // Show/Hide 'toc right' and 'toc inside' + tocRight.classList.toggle('lg:block'); + tocInside.classList.toggle('lg:hidden'); + + // Change width of article content + articleContent.classList.toggle('max-w-fit'); + articleContent.classList.toggle('max-w-prose'); + + // Read i18n title from data-attributes + const titleI18nDisable = zendModeButton.getAttribute('data-title-i18n-disable'); + const titleI18nEnable = zendModeButton.getAttribute('data-title-i18n-enable'); + + if (body.classList.contains('zen-mode-enable')) { + // Persist configuration + //localStorage.setItem('blowfish-zen-mode-enabled', 'true'); + + // Change title to enable + zendModeButton.setAttribute('title', titleI18nEnable) + // Auto-scroll to title article + window.scrollTo(window.scrollX, header.getBoundingClientRect().top - 90); + } else { + //localStorage.setItem('blowfish-zen-mode-enabled', 'false'); + zendModeButton.setAttribute('title', titleI18nDisable); + document.querySelector('body').scrollIntoView(); + } +} + +function _registerZendModeButtonClick(zendModeButton) { + zendModeButton.addEventListener('click', function (event) { + event.preventDefault(); + + // Toggle zen-mode + _toogleZenMode(zendModeButton); + }); +} + +(function init() { + window.addEventListener("DOMContentLoaded", (event) => { + console.debug('[DEBUG] Zen-mode feature enable'); + + // Register click on 'zen-mode-button' node element + const zendModeButton = document.getElementById('zen-mode-button'); + if(zendModeButton !== null && zendModeButton !== undefined) { + _registerZendModeButtonClick(zendModeButton); + console.log('[DEBUG] Zen-mode button found'); + + }else{ + console.log('[DEBUG] Zen-mode button not found'); + } + + // Initialize localstorage option 'blowfish-zen-mode-enabled' to false, if it does not exist, otherwise enable it. + //if (localStorage.getItem('blowfish-zen-mode-enabled') === null) { + // localStorage.setItem('blowfish-zen-mode-enabled', 'false'); + //} else if (localStorage.getItem('blowfish-zen-mode-enabled') === 'true') { + // _toogleZenMode(zendModeButton) + //} + }); +})(); \ No newline at end of file diff --git a/themes/blowfish/assets/lib/chart/chart.min.js b/themes/blowfish/assets/lib/chart/chart.min.js new file mode 100644 index 0000000..44f8065 --- /dev/null +++ b/themes/blowfish/assets/lib/chart/chart.min.js @@ -0,0 +1,14 @@ +/*! + * Chart.js v4.4.1 + * https://www.chartjs.org + * (c) 2023 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Go},get Decimation(){return Qo},get Filler(){return ma},get Legend(){return ya},get SubTitle(){return ka},get Title(){return Ma},get Tooltip(){return Ba}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;at,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)t-e)).pop(),e}function N(t){return!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;sl&&h=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return nt[s][e]et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;ss&&t[n-1]>i;)n--;return s>0||n{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=J(Math.min(it(r,l,h).lo,i?s:it(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?J(Math.max(it(r,a.axis,c,!0).hi+1,i?0:it(e,l,a.getPixelForValue(c),!0).hi+1),n,s)-n:s-n}return{start:n,count:o}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class bt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var xt=new bt; +/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Zt{constructor(t){if(t instanceof Zt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Zt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Jt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Jt(t)?t:new Zt(t)}function te(t){return Jt(t)?t:new Zt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function be(t,e){return me(t).getPropertyValue(e)}const xe=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=xe[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=be(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;hi.length){for(h=0;h0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.xe.top-i&&t.y0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;ct[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Je(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Je(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Je(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Ze(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Je(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Ze(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;re"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const bi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,xi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(bi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(xi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;oi&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:Z,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;hx||l(n,b,p)&&0!==r(n,b),v=()=>!x||0===r(o,p)||l(o,b,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==b&&(x=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,b=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;nn&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r{t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Xi={evaluateInteractionItems:Hi,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?ji(t,n,o,s,a):Yi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?ji(t,n,o,s,a):Yi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;tji(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Yi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>Ui(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>Ui(t,ve(e,t),"y",i.intersect,s)}};const qi=["left","top","right","bottom"];function Ki(t,e){return t.filter((t=>t.pos===e))}function Gi(t,e){return t.filter((t=>-1===qi.indexOf(t.pos)&&t.box.axis===e))}function Zi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function Ji(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!qi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function ss(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;ot.box.fullSize)),!0),s=Zi(Ki(e,"left"),!0),n=Zi(Ki(e,"right")),o=Zi(Ki(e,"top"),!0),a=Zi(Ki(e,"bottom")),r=Gi(e,"x"),l=Gi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ki(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);ts(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=Ji(l.concat(h),d);ss(r.fullSize,g,d,p),ss(l,g,d,p),ss(h,g,d,p)&&ss(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),os(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,os(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class rs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class ls extends rs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const hs="$chartjs",cs={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ds=t=>null===t||""===t;const us=!!Se&&{passive:!0};function fs(t,e,i){t.canvas.removeEventListener(e,i,us)}function gs(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function ps(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||gs(i.addedNodes,s),e=e&&!gs(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function ms(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||gs(i.removedNodes,s),e=e&&!gs(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const bs=new Map;let xs=0;function _s(){const t=window.devicePixelRatio;t!==xs&&(xs=t,bs.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function ys(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){bs.size||window.addEventListener("resize",_s),bs.set(t,e)}(t,o),a}function vs(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){bs.delete(t),bs.size||window.removeEventListener("resize",_s)}(t)}function Ms(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=cs[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t.addEventListener(e,i,us)}(s,e,n),n}class ws extends rs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[hs]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",ds(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(ds(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[hs])return!1;const i=e[hs].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[hs],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:ps,detach:ms,resize:ys}[e]||Ms;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:vs,detach:vs,resize:vs}[e]||fs)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=ge(t);return!(!e||!e.isConnected)}}function ks(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?ls:ws}var Ss=Object.freeze({__proto__:null,BasePlatform:rs,BasicPlatform:ls,DomPlatform:ws,_detectPlatform:ks});const Ps="transparent",Ds={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Ps),n=s.valid&&Qt(e||Ps);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class Cs{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Ds[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new Cs(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(xt.add(this._chart,i),!0):void 0}}function As(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Ts(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n0||!i&&e<0)return n.index}return null}function zs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;ti[t].axis===e)).shift()}function Vs(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Bs=t=>"reset"===t||"none"===t,Ws=(t,e)=>e?t:Object.assign({},t);class Ns{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Es(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Vs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Fs(t,"x")),o=e.yAxisID=l(i.yAxisID,Fs(t,"y")),a=e.rAxisID=l(i.rAxisID,Fs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Vs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e))this._data=function(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]t&&!e.hidden&&e._stacked&&{keys:Ts(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s=0&&tthis.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Ws(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Os(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Bs(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Bs(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Bs(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function js(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;io)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;nn)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for($s(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t"top"===e||"left"===e?t[e]+i:t[e]-i,Us=(t,e)=>Math.min(e||t,t);function Xs(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;oa+r)))return h}function Ks(t){return t.drawTicks?t.tickLength:0}function Gs(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Zs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class Js extends Hs{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;rs?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=J(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Ks(t.grid)-e.padding-Gs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(J((h.highest.height+6)/o,-1,1)),Math.asin(J(a/r,-1,1))-Math.asin(J(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Gs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ks(n)+o):(t.height=this.maxHeight,t.width=Ks(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*s?a/i:r/s:r*s0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Ks(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,b=function(t){return Ae(i,t,p)};let x,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)x=b(this.bottom),w=this.bottom-u,S=x-m,D=b(t.top)+m,O=t.bottom;else if("bottom"===a)x=b(this.top),D=t.top,O=b(t.bottom)-m,w=x+m,S=this.top+u;else if("left"===a)x=b(this.right),M=this.right-u,k=x-m,P=b(t.left)+m,C=t.right;else if("right"===a)x=b(this.left),P=t.left,C=b(t.right)-m,M=x+m,k=this.left+u;else if("x"===e){if("center"===a)x=b((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];x=b(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=x+m,S=w+u}else if("y"===e){if("center"===a)x=b((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];x=b(this.chart.scales[t].getPixelForValue(e))}M=x-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}b.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return b}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class tn{constructor(){this.controllers=new Qs(Ns,"datasets",!0),this.elements=new Qs(Hs,"elements"),this.plugins=new Qs(Object,"plugins"),this.scales=new Qs(Js,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function nn(t,e){return e||!1!==t?!0===t?{}:t:null}function on(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function an(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function rn(t){if("x"===t||"y"===t||"r"===t)return t}function ln(t,...e){if(rn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&rn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function hn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function cn(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=an(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=ln(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return hn(t,"x",i[0])||hn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=x(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||an(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),x(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];x(e,[ue.scales[e.type],ue.scale])})),a}function dn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=cn(t,e)}function un(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const fn=new Map,gn=new Set;function pn(t,e){let i=fn.get(t);return i||(i=e(),fn.set(t,i),gn.add(i)),i}const mn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class bn{constructor(t){this._config=function(t){return(t=t||{}).data=un(t.data),dn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=un(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),dn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return pn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return pn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return pn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return pn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>mn(r,t,e)))),e.forEach((t=>mn(r,s,t))),e.forEach((t=>mn(r,re[n]||{},t))),e.forEach((t=>mn(r,ue,t))),e.forEach((t=>mn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),gn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=xn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||_n(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=xn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function xn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const _n=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const yn=["top","bottom","left","right","chartArea"];function vn(t,e){return"top"===t||"bottom"===t||-1===yn.indexOf(t)&&"x"===e}function Mn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function wn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function kn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Sn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Pn={},Dn=t=>{const e=Sn(t);return Object.values(Pn).filter((t=>t.canvas===e)).pop()};function Cn(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}function On(t,e,i){return t.options.clip?t[i]:e[i]}class An{static defaults=ue;static instances=Pn;static overrides=re;static registry=en;static version="4.4.1";static getChart=Dn;static register(...t){en.add(...t),Tn()}static unregister(...t){en.remove(...t),Tn()}constructor(t,e){const s=this.config=new bn(e),n=Sn(t),o=Dn(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ks(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new sn,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Pn[this.id]=this,r&&l?(xt.listen(this,"complete",wn),xt.listen(this,"progress",kn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return en}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return xt.stop(this),this}resize(t,e){xt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=ln(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=ln(o,n),r=l(n.type,e.dtype);void 0!==n.position&&vn(n.position,a)===vn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(en.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{as.configure(this,t,t.options),as.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Mn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{as.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){Cn(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;as.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:On(i,e,"left"),right:On(i,e,"right"),top:On(s,e,"top"),bottom:On(s,e,"bottom")}:e}(t,this.chartArea),o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Ie(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&ze(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Xi.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),xt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Tn(){return u(An.instances,(t=>t._plugins.invalidate()))}function Ln(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class En{static override(t){Object.assign(En.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return Ln()}parse(){return Ln()}format(){return Ln()}add(){return Ln()}diff(){return Ln()}startOf(){return Ln()}endOf(){return Ln()}}var Rn={_date:En};function In(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;et-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;sMath.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Fn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;ht.x,i="left",s="right"):(e=t.base"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;nZ(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>Z(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),b=g(C,h,d),x=g(C+E,c,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,a=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),b=(i.width-o)/f,x=(i.height-o)/g,_=Math.max(Math.min(b,x)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(se.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Yn=Object.freeze({__proto__:null,BarController:class extends Ns{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Fn(t,e,i,s)}parseArrayData(t,e,i,s){return Fn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;dt.controller.options.grouped)),o=i.options.stacked,a=[],r=t=>{const i=t.controller.getParsed(e),n=i&&i[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!r(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n=i?1:-1)}(u,e,r)*a,f===r&&(b-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);b=Math.max(Math.min(b,h),o),d=b+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(b))}if(b===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;b+=t,u-=t}return{size:u,base:b,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,l="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=b?g:{};if(i=x){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),b||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends jn{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:$n,RadarController:class extends Ns{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(i[f]-_[f])>b,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),x||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Un(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return J(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:J(n.innerStart,0,a),innerEnd:J(n.innerEnd,0,a)}}function Xn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function qn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,b=n-p-f,{outerStart:x,outerEnd:_,innerStart:y,innerEnd:v}=Un(e,u,d,b-m),M=d-x,w=d-_,k=m+x/M,S=b-_/w,P=u+y,D=u+v,O=m+y/P,A=b-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=Xn(w,S,a,r);t.arc(e.x,e.y,_,S,b+E)}const i=Xn(D,b,a,r);if(t.lineTo(i.x,i.y),v>0){const e=Xn(D,A,a,r);t.arc(e.x,e.y,v,b+E,A+Math.PI)}const s=(b-v/u+(m+y/u))/2;if(t.arc(a,r,u,b-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=Xn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=Xn(M,m,a,r);if(t.lineTo(n.x,n.y),x>0){const e=Xn(M,k,a,r);t.arc(e.x,e.y,x,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Kn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u}=l,f="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,f?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let g=e.endAngle;if(o){qn(t,e,i,s,g,n);for(let e=0;en?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,g),o||(qn(t,e,i,s,g,n),t.stroke())}function Gn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Zn(t,e,i){t.lineTo(i.x,i.y)}function Jn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=nr&&o>r;return{count:s,start:l,loop:e.loop,ilen:h(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[x(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[x(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(ig&&(g=i),m=(b*m+e)/++b):(_(),t.lineTo(e,i),u=s,b=0,f=g=i),p=i}_()}function eo(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?to:Qn}const io="function"==typeof Path2D;function so(t,e,i,s){io&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Gn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=eo(e);for(const r of n)Gn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class no extends Hs{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a)>=O||Z(n,a,r),g=tt(o,h+u,c+u);return f&&g}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){qn(t,e,i,s,l,n);for(let e=0;e("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function po(t){const e=this.getLabels();return t>=0&&ts=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,b=!s(a),x=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!b&&!x)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),b&&x&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=b?a:M,w=x?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(b&&(u&&M!==a?(i.push({value:a}),Mr)break;i.push({value:t})}return x&&u&&w!==r?i.length&&V(i[i.length-1].value,r,mo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):x&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class xo extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const _o=t=>Math.floor(z(t)),yo=(t,e)=>Math.pow(10,_o(t)+e);function vo(t){return 1===t/Math.pow(10,_o(t))}function Mo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function wo(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=_o(e);let o=function(t,e){let i=_o(e-t);for(;Mo(t,e,i)>10;)i++;for(;Mo(t,e,i)<10;)i--;return Math.min(i,_o(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:vo(g),significand:u}),s}class ko extends Js{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===yo(this.min,0)?yo(this.min,-1):yo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(yo(i,-1)),o(yo(s,1)))),i<=0&&n(yo(s,-1)),s<=0&&o(yo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=wo({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function So(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Po(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:tn?{start:e-i,end:e}:{start:e,end:e+i}}function Do(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;ue.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.starte.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Oo(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function Ao(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function To(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Lo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;ot,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(So(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/So(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Do(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));To(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash),o.lineDashOffset=n.dashOffset,o.beginPath(),Lo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Ro={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Io=Object.keys(Ro);function zo(t,e){return t-e}function Fo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Vo(t,e,i,s){const n=Io.length;for(let o=Io.indexOf(t);o=e?i[s]:i[n]]=!0}}else t[e]=!0}function Wo(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a=0&&(e[l].major=!0);return e}(t,s,n,i):s}class No extends Js{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new Rn._date(t.adapters.date);s.init(e),x(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Fo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Vo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=Io.length-1;o>=Io.indexOf(i);o--){const i=Io[o];if(Ro[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return Io[i?Io.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=Io.indexOf(t)+1,i=Io.length;e+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=J(s,0,o),n=J(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Vo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var jo=Object.freeze({__proto__:null,CategoryScale:class extends Js{static id="category";static defaults={ticks:{callback:po}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:J(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:go(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return po.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:xo,LogarithmicScale:ko,RadialLinearScale:Eo,TimeScale:No,TimeSeriesScale:class extends No{static id="timeseries";static defaults=No.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ho(e,this.min),this._tableRange=Ho(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;ot-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(Ho(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return Ho(this._table,i*this._tableRange+this._minPos,!0)}}});const $o=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Yo=$o.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Uo(t){return $o[t%$o.length]}function Xo(t){return Yo[t%Yo.length]}function qo(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof jn?e=function(t,e){return t.backgroundColor=t.data.map((()=>Uo(e++))),e}(i,e):n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Uo(e),t.backgroundColor=Xo(e),++e}(i,e))}}function Ko(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Go={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n;if(!i.forceOverride&&(Ko(s)||(a=n)&&(a.borderColor||a.backgroundColor)||o&&Ko(o)))return;var a;const r=qo(t);s.forEach(r)}};function Zo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Jo(t){t.data.datasets.forEach((t=>{Zo(t)}))}var Qo={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Jo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=J(it(e,o.axis,a).lo,0,i-1)),s=h?J(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Zo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;cu&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const b=[],x=e+i-1,_=t[e].x,y=t[x].x-_;for(o=e;og&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&b.push({...t[e],x:p}),s!==u&&s!==i&&b.push({...t[s],x:p})}o>0&&i!==u&&b.push(t[i]),b.push(a),h=e,m=0,f=g=l,c=d=u=o}}return b}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Jo(t)}};function ta(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ea(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function ia(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function sa(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ea(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new no({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function na(t){return t&&!1!==t.fill}function oa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function aa(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function ra(t,e,i){const s=[];for(let n=0;n=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&da(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;na(i)&&da(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;na(s)&&"beforeDatasetDraw"===i.drawTime&&da(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const ba=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class xa extends Hs{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=ba(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=_a(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=ba(o,d),b=this.isHorizontal(),x=this._computeTitleHeight();f=b?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+x,line:0}:{x:this.left+c,y:ft(n,this.top+x+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),b?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+x+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,b?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),b)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=_a(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;it.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class va extends Hs{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var Ma={id:"title",_element:va,start(t,e,i){!function(t,e){const i=new va({ctx:t.ctx,options:e,chart:t});as.configure(t,i,e),as.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;as.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;as.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const wa=new WeakMap;var ka={id:"subtitle",start(t,e,i){const s=new va({ctx:t.ctx,options:i,chart:t});as.configure(t,s,i),as.addBox(t,s),wa.set(t,s)},stop(t){as.removeBox(t,wa.get(t)),wa.delete(t)},beforeUpdate(t,e,i){const s=wa.get(t);as.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Sa={average(t){if(!t.length)return!1;let e,i,s=0,n=0,o=0;for(e=0,i=t.length;e-1?t.split("\n"):t}function Ca(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Oa(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,b=0,x=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(x+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),x){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(x-g)*l.lineHeight+(x-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){b=Math.max(b,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),b+=p.width,{width:b,height:m}}function Aa(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Ta(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return it.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||Aa(t,e,i,s),yAlign:s}}function La(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:J(g,0,s.width-e.width),y:J(p,0,s.height-e.height)}}function Ea(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Ra(t){return Pa([],Da(t))}function Ia(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const za={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex{const e={before:[],lines:[],after:[]},n=Ia(i,t);Pa(e.before,Da(Fa(n,"beforeLabel",this,t))),Pa(e.lines,Fa(n,"label",this,t)),Pa(e.after,Da(Fa(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return Ra(Fa(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Fa(i,"beforeFooter",this,t),n=Fa(i,"footer",this,t),o=Fa(i,"afterFooter",this,t);let a=[];return a=Pa(a,Da(s)),a=Pa(a,Da(n)),a=Pa(a,Da(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;at.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=Ia(t.callbacks,e);s.push(Fa(i,"labelColor",this,e)),n.push(Fa(i,"labelPointStyle",this,e)),o.push(Fa(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Sa[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Oa(this,i),a=Object.assign({},t,e),r=Ta(this.chart,i,a),l=La(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,b,x,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,x=_+o,y=_-o):(p=d+f,m=p+o,x=_-o,y=_+o),b=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(x=u,_=x-o,p=m-o,b=m+o):(x=u+g,_=x+o,p=m+o,b=m-o),y=x),{x1:p,x2:m,x3:b,y1:x,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ea(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let b,x,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ea(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Sa[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Oa(this,t),a=Object.assign({},i,this._size),r=Ta(e,t,a),l=La(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Sa[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Ba={id:"tooltip",_element:Va,positioners:Sa,afterInit(t,e,i){i&&(t.tooltip=new Va({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:za},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return An.register(Yn,jo,fo,t),An.helpers={...Wi},An._adapters=Rn,An.Animation=Cs,An.Animations=Os,An.animator=xt,An.controllers=en.controllers.items,An.DatasetController=Ns,An.Element=Hs,An.elements=fo,An.Interaction=Xi,An.layouts=as,An.platforms=Ss,An.Scale=Js,An.Ticks=ae,Object.assign(An,Yn,jo,fo,t,Ss),An.Chart=An,"undefined"!=typeof window&&(window.Chart=An),An})); +//# sourceMappingURL=chart.umd.js.map diff --git a/themes/blowfish/assets/lib/fuse/fuse.min.js b/themes/blowfish/assets/lib/fuse/fuse.min.js new file mode 100644 index 0000000..1f534ad --- /dev/null +++ b/themes/blowfish/assets/lib/fuse/fuse.min.js @@ -0,0 +1,9 @@ +/** + * Fuse.js v7.0.0 - Lightweight fuzzy-search (http://fusejs.io) + * + * Copyright (c) 2023 Kiro Risk (http://kiro.me) + * All Rights Reserved. Apache Software License 2.0 + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ +var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,i=void 0===n?$.getFn:n,o=t.fieldNormWeight,c=void 0===o?$.fieldNormWeight:o;r(this,e),this.norm=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=new Map,r=Math.pow(10,t);return{get:function(t){var i=t.match(F).length;if(n.has(i))return n.get(i);var o=1/Math.pow(i,.5*e),c=parseFloat(Math.round(o*r)/r);return n.set(i,c),c},clear:function(){n.clear()}}}(c,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return o(e,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=t,this._keysMap={},t.forEach((function(t,n){e._keysMap[t.id]=n}))}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,m(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();m(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?$.getFn:r,o=n.fieldNormWeight,c=void 0===o?$.fieldNormWeight:o,a=new R({getFn:i,fieldNormWeight:c});return a.setKeys(e.map(A)),a.setSources(t),a.create(),a}function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,c=t.expectedLocation,a=void 0===c?0:c,s=t.distance,u=void 0===s?$.distance:s,h=t.ignoreLocation,l=void 0===h?$.ignoreLocation:h,f=r/e.length;if(l)return f;var d=Math.abs(a-o);return u?f+d/u:d?1:f}var W=32;function T(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?$.location:i,c=r.distance,a=void 0===c?$.distance:c,s=r.threshold,u=void 0===s?$.threshold:s,h=r.findAllMatches,l=void 0===h?$.findAllMatches:h,f=r.minMatchCharLength,d=void 0===f?$.minMatchCharLength:f,v=r.includeMatches,g=void 0===v?$.includeMatches:v,y=r.ignoreLocation,p=void 0===y?$.ignoreLocation:y;if(t.length>W)throw new Error("Pattern length exceeds max of ".concat(W,"."));for(var m,k=t.length,M=e.length,b=Math.max(0,Math.min(o,M)),x=u,w=b,S=d>1||g,L=S?Array(M):[];(m=e.indexOf(t,w))>-1;){var _=N(t,{currentLocation:m,expectedLocation:b,distance:a,ignoreLocation:p});if(x=Math.min(_,x),w=m+k,S)for(var O=0;O=P;D-=1){var K=D-1,q=n[e.charAt(K)];if(S&&(L[K]=+!!q),z[D]=(z[D+1]<<1|1)&q,E&&(z[D]|=(j[D+1]|j[D])<<1|1|j[D+1]),z[D]&C&&(A=N(t,{errors:E,currentLocation:K,expectedLocation:b,distance:a,ignoreLocation:p}))<=x){if(x=A,(w=K)<=b)break;P=Math.max(1,2*b-w)}}if(N(t,{errors:E+1,currentLocation:b,expectedLocation:b,distance:a,ignoreLocation:p})>x)break;j=z}var B={isMatch:w>=0,score:Math.max(.001,A)};if(S){var J=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.minMatchCharLength,n=[],r=-1,i=-1,o=0,c=e.length;o=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}(L,d);J.length?g&&(B.indices=J):B.isMatch=!1}return B}function z(e){for(var t={},n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,c=void 0===o?$.location:o,a=i.threshold,s=void 0===a?$.threshold:a,u=i.distance,h=void 0===u?$.distance:u,l=i.includeMatches,f=void 0===l?$.includeMatches:l,d=i.findAllMatches,v=void 0===d?$.findAllMatches:d,g=i.minMatchCharLength,y=void 0===g?$.minMatchCharLength:g,p=i.isCaseSensitive,m=void 0===p?$.isCaseSensitive:p,k=i.ignoreLocation,M=void 0===k?$.ignoreLocation:k;if(r(this,e),this.options={location:c,threshold:s,distance:h,includeMatches:f,findAllMatches:v,minMatchCharLength:y,isCaseSensitive:m,ignoreLocation:M},this.pattern=m?t:t.toLowerCase(),this.chunks=[],this.pattern.length){var b=function(e,t){n.chunks.push({pattern:e,alphabet:z(e),startIndex:t})},x=this.pattern.length;if(x>W){for(var w=0,S=x%W,L=x-S;w1&&void 0!==arguments[1]?arguments[1]:{},c=o.location,a=void 0===c?$.location:c,s=o.threshold,u=void 0===s?$.threshold:s,h=o.distance,l=void 0===h?$.distance:h,f=o.includeMatches,d=void 0===f?$.includeMatches:f,v=o.findAllMatches,g=void 0===v?$.findAllMatches:v,y=o.minMatchCharLength,p=void 0===y?$.minMatchCharLength:y,m=o.isCaseSensitive,k=void 0===m?$.isCaseSensitive:m,M=o.ignoreLocation,b=void 0===M?$.ignoreLocation:M;return r(this,n),(i=t.call(this,e))._bitapSearch=new D(e,{location:a,threshold:u,distance:l,includeMatches:d,findAllMatches:g,minMatchCharLength:p,isCaseSensitive:k,ignoreLocation:b}),i}return o(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(K),X=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(K),Y=[B,X,U,V,H,G,J,Q],Z=Y.length,ee=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,te=new Set([Q.type,X.type]),ne=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.isCaseSensitive,o=void 0===i?$.isCaseSensitive:i,c=n.includeMatches,a=void 0===c?$.includeMatches:c,s=n.minMatchCharLength,u=void 0===s?$.minMatchCharLength:s,h=n.ignoreLocation,l=void 0===h?$.ignoreLocation:h,f=n.findAllMatches,d=void 0===f?$.findAllMatches:f,v=n.location,g=void 0===v?$.location:v,y=n.threshold,p=void 0===y?$.threshold:y,m=n.distance,k=void 0===m?$.distance:m;r(this,e),this.query=null,this.options={isCaseSensitive:o,includeMatches:a,minMatchCharLength:u,findAllMatches:d,ignoreLocation:l,location:g,threshold:p,distance:k},this.pattern=o?t:t.toLowerCase(),this.query=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(ee).filter((function(e){return e&&!!e.trim()})),r=[],i=0,o=n.length;i2&&void 0!==arguments[2]?arguments[2]:{}).auto,r=void 0===n||n;return ue(e)||(e=he(e)),function e(n){var i=Object.keys(n),o=function(e){return!!e[ae]}(n);if(!o&&i.length>1&&!ue(n))return e(he(n));if(function(e){return!g(e)&&b(e)&&!ue(e)}(n)){var c=o?n[ae]:i[0],a=o?n[se]:n[c];if(!m(a))throw new Error(function(e){return"Invalid value for key ".concat(e)}(c));var s={keyId:C(c),pattern:a};return r&&(s.searcher=ie(a,t)),s}var u={children:[],operator:i[0]};return i.forEach((function(t){var r=n[t];g(r)&&r.forEach((function(t){u.children.push(e(t))}))})),u}(e)}function fe(e,t){var n=e.matches;t.matches=[],x(n)&&n.forEach((function(e){if(x(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.src),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function de(e,t){t.score=e.score}var ve=function(){function e(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;r(this,e),this.options=t(t({},$),i),this.options.useExtendedSearch,this._keyStore=new j(this.options.keys),this.setCollection(n,o)}return o(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof R))throw new Error("Incorrect 'index' type");this._myIndex=t||P(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){x(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},t=[],n=0,r=this._docs.length;n1&&void 0!==arguments[1]?arguments[1]:{}).limit,n=void 0===t?-1:t,r=this.options,i=r.includeMatches,o=r.includeScore,c=r.shouldSort,a=r.sortFn,s=r.ignoreFieldNorm,u=m(e)?m(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,t){var n=t.ignoreFieldNorm,r=void 0===n?$.ignoreFieldNorm:n;e.forEach((function(e){var t=1;e.matches.forEach((function(e){var n=e.key,i=e.norm,o=e.score,c=n?n.weight:null;t*=Math.pow(0===o&&c?Number.EPSILON:o,(c||1)*(r?1:i))})),e.score=t}))}(u,{ignoreFieldNorm:s}),c&&u.sort(a),k(n)&&n>-1&&(u=u.slice(0,n)),function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?$.includeMatches:r,o=n.includeScore,c=void 0===o?$.includeScore:o,a=[];return i&&a.push(fe),c&&a.push(de),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return a.length&&a.forEach((function(t){t(e,r)})),r}))}(u,this._docs,{includeMatches:i,includeScore:o})}},{key:"_searchStringList",value:function(e){var t=ie(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(x(n)){var c=t.searchIn(n),a=c.isMatch,s=c.score,u=c.indices;a&&r.push({item:n,idx:i,matches:[{score:s,value:n,norm:o,indices:u}]})}})),r}},{key:"_searchLogical",value:function(e){var t=this,n=le(e,this.options),r=function e(n,r,i){if(!n.children){var o=n.keyId,c=n.searcher,a=t._findMatches({key:t._keyStore.get(o),value:t._myIndex.getValueForItemAtKeyId(r,o),searcher:c});return a&&a.length?[{idx:i,item:r,matches:a}]:[]}for(var s=[],u=0,h=n.children.length;u1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?$.getFn:n,i=t.fieldNormWeight,o=void 0===i?$.fieldNormWeight:i,c=e.keys,a=e.records,s=new R({getFn:r,fieldNormWeight:o});return s.setKeys(c),s.setIndexRecords(a),s},ve.config=$,function(){re.push.apply(re,arguments)}(ne),ve},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t(); \ No newline at end of file diff --git a/themes/blowfish/assets/lib/jquery/jquery.slim.min.js b/themes/blowfish/assets/lib/jquery/jquery.slim.min.js new file mode 100644 index 0000000..35906b9 --- /dev/null +++ b/themes/blowfish/assets/lib/jquery/jquery.slim.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},m=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||m).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),b=new RegExp(ge+"|>"),A=new RegExp(g),D=new RegExp("^"+t+"$"),N={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+d),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},L=/^(?:input|select|textarea|button)$/i,j=/^h\d$/i,O=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,P=/[+~]/,H=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),q=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},R=function(){V()},M=K(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{E.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){E={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(V(e),e=e||C,T)){if(11!==d&&(u=O.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return E.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return E.call(n,a),n}else{if(u[2])return E.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return E.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||p&&p.test(t))){if(c=t,f=e,1===d&&(b.test(t)||m.test(t))){(f=P.test(t)&&X(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=k)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+G(l[o]);c=l.join(",")}try{return E.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function B(e){return e[k]=!0,e}function F(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function $(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&M(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function U(a){return B(function(o){return o=+o,B(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function X(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=C&&9===n.nodeType&&n.documentElement&&(r=(C=n).documentElement,T=!ce.isXMLDoc(C),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=C&&(t=C.defaultView)&&t.top!==t&&t.addEventListener("unload",R),le.getById=F(function(e){return r.appendChild(e).id=ce.expando,!C.getElementsByName||!C.getElementsByName(ce.expando).length}),le.disconnectedMatch=F(function(e){return i.call(e,"*")}),le.scope=F(function(){return C.querySelectorAll(":scope")}),le.cssHas=F(function(){try{return C.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(x.filter.ID=function(e){var t=e.replace(H,q);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&T){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(H,q);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&T){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},x.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&T)return t.getElementsByClassName(e)},p=[],F(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||p.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+k+"-]").length||p.push("~="),e.querySelectorAll("a#"+k+"+*").length||p.push(".#.+[+~]"),e.querySelectorAll(":checked").length||p.push(":checked"),(t=C.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&p.push(":enabled",":disabled"),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||p.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||p.push(":has"),p=p.length&&new RegExp(p.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===C||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),C}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),T&&!h[t+" "]&&(!p||!p.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(H,q),e[3]=(e[3]||e[4]||e[5]||"").replace(H,q),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return N.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&A.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(H,q).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||E,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:k.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:m,!0)),C.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=m.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,E=ce(m);var S=/^(?:parents|prev(?:Until|All))/,A={children:!0,contents:!0,next:!0,prev:!0};function D(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;re=m.createDocumentFragment().appendChild(m.createElement("div")),(be=m.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),re.appendChild(be),le.checkClone=re.cloneNode(!0).cloneNode(!0).lastChild.checked,re.innerHTML="",le.noCloneChecked=!!re.cloneNode(!0).lastChild.defaultValue,re.innerHTML="",le.option=!!re.lastChild;var Te={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function Ee(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function ke(e,t){for(var n=0,r=e.length;n",""]);var Se=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Me(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ie(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function We(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n
    ",2===yt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=m.implementation.createHTMLDocument("")).createElement("base")).href=m.location.href,t.head.appendChild(r)):t=m),o=!n&&[],(i=C.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||K})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return R(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Qe(le.pixelPosition,function(e,t){if(t)return t=Ve(e,n),$e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return R(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 00&&(i.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));var l=t.findIndex((function(t){return e.startsWith(t.left)}));if(-1===(n=r(t[l].right,e,t[l].left.length)))break;var d=e.slice(0,n+t[l].right.length),s=a.test(d)?d:e.slice(t[l].left.length,n);i.push({type:"math",data:s,rawData:d,display:t[l].display}),e=e.slice(n+t[l].right.length)}return""!==e&&i.push({type:"text",data:e}),i},l=function(e,r){var n=o(e,r.delimiters);if(1===n.length&&"text"===n[0].type)return null;for(var i=document.createDocumentFragment(),a=0;a.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/themes/blowfish/assets/lib/katex/katex.min.js b/themes/blowfish/assets/lib/katex/katex.min.js new file mode 100644 index 0000000..18c62f7 --- /dev/null +++ b/themes/blowfish/assets/lib/katex/katex.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return na}});var r=function e(t,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n,a,i="KaTeX parse error: "+t,o=r&&r.loc;if(o&&o.start<=o.end){var s=o.lexer.input;n=o.start,a=o.end,n===s.length?i+=" at end of input: ":i+=" at position "+(n+1)+": ";var l=s.slice(n,a).replace(/[^]/g,"$&\u0332");i+=(n>15?"\u2026"+s.slice(n-15,n):s.slice(0,n))+l+(a+15":">","<":"<",'"':""","'":"'"},o=/[&><"']/g;var s=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(o,(function(e){return i[e]}))},hyphenate:function(e){return e.replace(a,"-$1").toLowerCase()},getBaseElem:s,isCharacterBox:function(e){var t=s(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){var t=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(e);return null!=t?t[1]:"_relative"}},h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:function(e){return"#"+e}},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:function(e,t){return t.push(e),t}},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:function(e){return Math.max(0,e)},cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:function(e){return Math.max(0,e)},cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:function(e){return Math.max(0,e)},cli:"-e, --max-expand ",cliProcessor:function(e){return"Infinity"===e?1/0:parseInt(e)}},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}var m=function(){function e(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},h)if(h.hasOwnProperty(t)){var r=h[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:c(r)}}var t=e.prototype;return t.reportNonstrict=function(e,t,r){var a=this.strict;if("function"==typeof a&&(a=a(e,t,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+t+" ["+e+"]")}},t.useStrictBehavior=function(e,t,r){var n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))},t.isTrusted=function(e){e.url&&!e.protocol&&(e.protocol=l.protocolFromUrl(e.url));var t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)},e}(),u=function(){function e(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}var t=e.prototype;return t.sup=function(){return p[d[this.id]]},t.sub=function(){return p[f[this.id]]},t.fracNum=function(){return p[g[this.id]]},t.fracDen=function(){return p[v[this.id]]},t.cramp=function(){return p[b[this.id]]},t.text=function(){return p[y[this.id]]},t.isTight=function(){return this.size>=2},e}(),p=[new u(0,0,!1),new u(1,0,!0),new u(2,1,!1),new u(3,1,!0),new u(4,2,!1),new u(5,2,!0),new u(6,3,!1),new u(7,3,!0)],d=[4,5,4,5,6,7,6,7],f=[5,5,5,5,7,7,7,7],g=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],x={DISPLAY:p[0],TEXT:p[2],SCRIPT:p[4],SCRIPTSCRIPT:p[6]},w=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];var k=[];function S(e){for(var t=0;t=k[t]&&e<=k[t+1])return!0;return!1}w.forEach((function(e){return e.blocks.forEach((function(e){return k.push.apply(k,e)}))}));var M=80,z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function e(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){for(var e=document.createDocumentFragment(),t=0;t=5?0:e>=3?1:2]){var r=q[t]={cssEmPerMu:B.quad[t]/18};for(var n in B)B.hasOwnProperty(n)&&(r[n]=B[n][t])}return q[t]}(this.size)),this._fontMetrics},t.getColor=function(){return this.phantom?"transparent":this.color},e}();O.BASESIZE=6;var E=O,L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},D={ex:!0,em:!0,mu:!0},V=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in D||"ex"===e},P=function(e,t){var r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{var a;if(a=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=a.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=a.fontMetrics().quad}a!==t&&(r*=a.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},F=function(e){return+e.toFixed(4)+"em"},G=function(e){return e.filter((function(e){return e})).join(" ")},U=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var n=t.getColor();n&&(this.style.color=n)}},Y=function(e){var t=document.createElement(e);for(var r in t.className=G(this.classes),this.style)this.style.hasOwnProperty(r)&&(t.style[r]=this.style[r]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&t.setAttribute(n,this.attributes[n]);for(var a=0;a"},W=function(){function e(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,e,r,n),this.children=t||[]}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){return Y.call(this,"span")},t.toMarkup=function(){return X.call(this,"span")},e}(),_=function(){function e(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){return Y.call(this,"a")},t.toMarkup=function(){return X.call(this,"a")},e}(),j=function(){function e(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createElement("img");for(var t in e.src=this.src,e.alt=this.alt,e.className="mord",this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e},t.toMarkup=function(){var e=""+this.alt+"=a[0]&&e<=a[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=$[this.text])}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createTextNode(this.text),t=null;for(var r in this.italic>0&&((t=document.createElement("span")).style.marginRight=F(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=G(this.classes)),this.style)this.style.hasOwnProperty(r)&&((t=t||document.createElement("span")).style[r]=this.style[r]);return t?(t.appendChild(e),t):e},t.toMarkup=function(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(n)&&(r+=l.hyphenate(n)+":"+this.style[n]+";");r&&(e=!0,t+=' style="'+l.escape(r)+'"');var a=l.escape(this.text);return e?(t+=">",t+=a,t+=""):a},e}(),K=function(){function e(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var r=0;r":""},e}(),Q=function(){function e(e){this.attributes=void 0,this.attributes=e||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e},t.toMarkup=function(){var e="","\\gt",!0),ie(oe,le,be,"\u2208","\\in",!0),ie(oe,le,be,"\ue020","\\@not"),ie(oe,le,be,"\u2282","\\subset",!0),ie(oe,le,be,"\u2283","\\supset",!0),ie(oe,le,be,"\u2286","\\subseteq",!0),ie(oe,le,be,"\u2287","\\supseteq",!0),ie(oe,he,be,"\u2288","\\nsubseteq",!0),ie(oe,he,be,"\u2289","\\nsupseteq",!0),ie(oe,le,be,"\u22a8","\\models"),ie(oe,le,be,"\u2190","\\leftarrow",!0),ie(oe,le,be,"\u2264","\\le"),ie(oe,le,be,"\u2264","\\leq",!0),ie(oe,le,be,"<","\\lt",!0),ie(oe,le,be,"\u2192","\\rightarrow",!0),ie(oe,le,be,"\u2192","\\to"),ie(oe,he,be,"\u2271","\\ngeq",!0),ie(oe,he,be,"\u2270","\\nleq",!0),ie(oe,le,ye,"\xa0","\\ "),ie(oe,le,ye,"\xa0","\\space"),ie(oe,le,ye,"\xa0","\\nobreakspace"),ie(se,le,ye,"\xa0","\\ "),ie(se,le,ye,"\xa0"," "),ie(se,le,ye,"\xa0","\\space"),ie(se,le,ye,"\xa0","\\nobreakspace"),ie(oe,le,ye,null,"\\nobreak"),ie(oe,le,ye,null,"\\allowbreak"),ie(oe,le,ve,",",","),ie(oe,le,ve,";",";"),ie(oe,he,me,"\u22bc","\\barwedge",!0),ie(oe,he,me,"\u22bb","\\veebar",!0),ie(oe,le,me,"\u2299","\\odot",!0),ie(oe,le,me,"\u2295","\\oplus",!0),ie(oe,le,me,"\u2297","\\otimes",!0),ie(oe,le,xe,"\u2202","\\partial",!0),ie(oe,le,me,"\u2298","\\oslash",!0),ie(oe,he,me,"\u229a","\\circledcirc",!0),ie(oe,he,me,"\u22a1","\\boxdot",!0),ie(oe,le,me,"\u25b3","\\bigtriangleup"),ie(oe,le,me,"\u25bd","\\bigtriangledown"),ie(oe,le,me,"\u2020","\\dagger"),ie(oe,le,me,"\u22c4","\\diamond"),ie(oe,le,me,"\u22c6","\\star"),ie(oe,le,me,"\u25c3","\\triangleleft"),ie(oe,le,me,"\u25b9","\\triangleright"),ie(oe,le,ge,"{","\\{"),ie(se,le,xe,"{","\\{"),ie(se,le,xe,"{","\\textbraceleft"),ie(oe,le,ue,"}","\\}"),ie(se,le,xe,"}","\\}"),ie(se,le,xe,"}","\\textbraceright"),ie(oe,le,ge,"{","\\lbrace"),ie(oe,le,ue,"}","\\rbrace"),ie(oe,le,ge,"[","\\lbrack",!0),ie(se,le,xe,"[","\\lbrack",!0),ie(oe,le,ue,"]","\\rbrack",!0),ie(se,le,xe,"]","\\rbrack",!0),ie(oe,le,ge,"(","\\lparen",!0),ie(oe,le,ue,")","\\rparen",!0),ie(se,le,xe,"<","\\textless",!0),ie(se,le,xe,">","\\textgreater",!0),ie(oe,le,ge,"\u230a","\\lfloor",!0),ie(oe,le,ue,"\u230b","\\rfloor",!0),ie(oe,le,ge,"\u2308","\\lceil",!0),ie(oe,le,ue,"\u2309","\\rceil",!0),ie(oe,le,xe,"\\","\\backslash"),ie(oe,le,xe,"\u2223","|"),ie(oe,le,xe,"\u2223","\\vert"),ie(se,le,xe,"|","\\textbar",!0),ie(oe,le,xe,"\u2225","\\|"),ie(oe,le,xe,"\u2225","\\Vert"),ie(se,le,xe,"\u2225","\\textbardbl"),ie(se,le,xe,"~","\\textasciitilde"),ie(se,le,xe,"\\","\\textbackslash"),ie(se,le,xe,"^","\\textasciicircum"),ie(oe,le,be,"\u2191","\\uparrow",!0),ie(oe,le,be,"\u21d1","\\Uparrow",!0),ie(oe,le,be,"\u2193","\\downarrow",!0),ie(oe,le,be,"\u21d3","\\Downarrow",!0),ie(oe,le,be,"\u2195","\\updownarrow",!0),ie(oe,le,be,"\u21d5","\\Updownarrow",!0),ie(oe,le,fe,"\u2210","\\coprod"),ie(oe,le,fe,"\u22c1","\\bigvee"),ie(oe,le,fe,"\u22c0","\\bigwedge"),ie(oe,le,fe,"\u2a04","\\biguplus"),ie(oe,le,fe,"\u22c2","\\bigcap"),ie(oe,le,fe,"\u22c3","\\bigcup"),ie(oe,le,fe,"\u222b","\\int"),ie(oe,le,fe,"\u222b","\\intop"),ie(oe,le,fe,"\u222c","\\iint"),ie(oe,le,fe,"\u222d","\\iiint"),ie(oe,le,fe,"\u220f","\\prod"),ie(oe,le,fe,"\u2211","\\sum"),ie(oe,le,fe,"\u2a02","\\bigotimes"),ie(oe,le,fe,"\u2a01","\\bigoplus"),ie(oe,le,fe,"\u2a00","\\bigodot"),ie(oe,le,fe,"\u222e","\\oint"),ie(oe,le,fe,"\u222f","\\oiint"),ie(oe,le,fe,"\u2230","\\oiiint"),ie(oe,le,fe,"\u2a06","\\bigsqcup"),ie(oe,le,fe,"\u222b","\\smallint"),ie(se,le,pe,"\u2026","\\textellipsis"),ie(oe,le,pe,"\u2026","\\mathellipsis"),ie(se,le,pe,"\u2026","\\ldots",!0),ie(oe,le,pe,"\u2026","\\ldots",!0),ie(oe,le,pe,"\u22ef","\\@cdots",!0),ie(oe,le,pe,"\u22f1","\\ddots",!0),ie(oe,le,xe,"\u22ee","\\varvdots"),ie(oe,le,ce,"\u02ca","\\acute"),ie(oe,le,ce,"\u02cb","\\grave"),ie(oe,le,ce,"\xa8","\\ddot"),ie(oe,le,ce,"~","\\tilde"),ie(oe,le,ce,"\u02c9","\\bar"),ie(oe,le,ce,"\u02d8","\\breve"),ie(oe,le,ce,"\u02c7","\\check"),ie(oe,le,ce,"^","\\hat"),ie(oe,le,ce,"\u20d7","\\vec"),ie(oe,le,ce,"\u02d9","\\dot"),ie(oe,le,ce,"\u02da","\\mathring"),ie(oe,le,de,"\ue131","\\@imath"),ie(oe,le,de,"\ue237","\\@jmath"),ie(oe,le,xe,"\u0131","\u0131"),ie(oe,le,xe,"\u0237","\u0237"),ie(se,le,xe,"\u0131","\\i",!0),ie(se,le,xe,"\u0237","\\j",!0),ie(se,le,xe,"\xdf","\\ss",!0),ie(se,le,xe,"\xe6","\\ae",!0),ie(se,le,xe,"\u0153","\\oe",!0),ie(se,le,xe,"\xf8","\\o",!0),ie(se,le,xe,"\xc6","\\AE",!0),ie(se,le,xe,"\u0152","\\OE",!0),ie(se,le,xe,"\xd8","\\O",!0),ie(se,le,ce,"\u02ca","\\'"),ie(se,le,ce,"\u02cb","\\`"),ie(se,le,ce,"\u02c6","\\^"),ie(se,le,ce,"\u02dc","\\~"),ie(se,le,ce,"\u02c9","\\="),ie(se,le,ce,"\u02d8","\\u"),ie(se,le,ce,"\u02d9","\\."),ie(se,le,ce,"\xb8","\\c"),ie(se,le,ce,"\u02da","\\r"),ie(se,le,ce,"\u02c7","\\v"),ie(se,le,ce,"\xa8",'\\"'),ie(se,le,ce,"\u02dd","\\H"),ie(se,le,ce,"\u25ef","\\textcircled");var we={"--":!0,"---":!0,"``":!0,"''":!0};ie(se,le,xe,"\u2013","--",!0),ie(se,le,xe,"\u2013","\\textendash"),ie(se,le,xe,"\u2014","---",!0),ie(se,le,xe,"\u2014","\\textemdash"),ie(se,le,xe,"\u2018","`",!0),ie(se,le,xe,"\u2018","\\textquoteleft"),ie(se,le,xe,"\u2019","'",!0),ie(se,le,xe,"\u2019","\\textquoteright"),ie(se,le,xe,"\u201c","``",!0),ie(se,le,xe,"\u201c","\\textquotedblleft"),ie(se,le,xe,"\u201d","''",!0),ie(se,le,xe,"\u201d","\\textquotedblright"),ie(oe,le,xe,"\xb0","\\degree",!0),ie(se,le,xe,"\xb0","\\degree"),ie(se,le,xe,"\xb0","\\textdegree",!0),ie(oe,le,xe,"\xa3","\\pounds"),ie(oe,le,xe,"\xa3","\\mathsterling",!0),ie(se,le,xe,"\xa3","\\pounds"),ie(se,le,xe,"\xa3","\\textsterling",!0),ie(oe,he,xe,"\u2720","\\maltese"),ie(se,he,xe,"\u2720","\\maltese");for(var ke='0123456789/@."',Se=0;Set&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>n&&(n=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Xe=function(e,t,r,n){var a=new W(e,t,r,n);return Ye(a),a},We=function(e,t,r,n){return new W(e,t,r,n)},_e=function(e){var t=new A(e);return Ye(t),t},je=function(e,t,r){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}return n+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")},$e={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Ze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ke={fontMap:$e,makeSymbol:Ge,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Fe(e,"Main-Bold",t).metrics?Ge(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===ae[t][e].font?Ge(e,"Main-Regular",t,r,n):Ge(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:Xe,makeSvgSpan:We,makeLineSpan:function(e,t,r){var n=Xe([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=F(n.height),n.maxFontSize=1,n},makeAnchor:function(e,t,r,n){var a=new _(e,t,r,n);return Ye(a),a},makeFragment:_e,wrapFragment:function(e,t){return e instanceof A?Xe([],[e],t):e},makeVList:function(e,t){for(var r=function(e){if("individualShift"===e.positionType){for(var t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth,a=n,i=1;i0)return Ge(i,h,a,t,o.concat(c));if(l){var u,p;if("boldsymbol"===l){var d=function(e,t,r,n,a){return"textord"!==a&&Fe(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(i,a,0,0,r);u=d.fontName,p=[d.fontClass]}else s?(u=$e[l].fontName,p=[l]):(u=je(l,t.fontWeight,t.fontShape),p=[l,t.fontWeight,t.fontShape]);if(Fe(i,u,a).metrics)return Ge(i,u,a,t,o.concat(p));if(we.hasOwnProperty(i)&&"Typewriter"===u.slice(0,10)){for(var f=[],g=0;g0&&(o.push(kt(s,t)),s=[]),o.push(a[l]));s.length>0&&o.push(kt(s,t)),r?((i=kt(ft(r,t,!0))).classes=["tag"],o.push(i)):n&&o.push(n);var c=ct(["katex-html"],o);if(c.setAttribute("aria-hidden","true"),i){var m=i.children[0];m.style.height=F(c.height+c.depth),c.depth&&(m.style.verticalAlign=F(-c.depth))}return c}function Mt(e){return new A(e)}var zt=function(){function e(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.getAttribute=function(e){return this.attributes[e]},t.toNode=function(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=G(this.classes));for(var r=0;r0&&(e+=' class ="'+l.escape(G(this.classes))+'"'),e+=">";for(var r=0;r"},t.toText=function(){return this.children.map((function(e){return e.toText()})).join("")},e}(),At=function(){function e(e){this.text=void 0,this.text=e}var t=e.prototype;return t.toNode=function(){return document.createTextNode(this.text)},t.toMarkup=function(){return l.escape(this.toText())},t.toText=function(){return this.text},e}(),Tt={MathNode:zt,TextNode:At,SpaceNode:function(){function e(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}var t=e.prototype;return t.toNode=function(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",F(this.width)),e},t.toMarkup=function(){return this.character?""+this.character+"":''},t.toText=function(){return this.character?this.character:" "},e}(),newDocumentFragment:Mt},Bt=function(e,t,r){return!ae[t][e]||!ae[t][e].replace||55349===e.charCodeAt(0)||we.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=ae[t][e].replace),new Tt.TextNode(e)},Ct=function(e){return 1===e.length?e[0]:new Tt.MathNode("mrow",e)},Nt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";var r=t.font;if(!r||"mathnormal"===r)return null;var n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var a=e.text;return l.contains(["\\imath","\\jmath"],a)?null:(ae[n][a]&&ae[n][a].replace&&(a=ae[n][a].replace),N(a,Ke.fontMap[r].fontName,n)?Ke.fontMap[r].variant:null)},qt=function(e,t,r){if(1===e.length){var n=Rt(e[0],t);return r&&n instanceof zt&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var a,i=[],o=0;o0&&(p.text=p.text.slice(0,1)+"\u0338"+p.text.slice(1),i.pop())}}}i.push(s),a=s}return i},It=function(e,t,r){return Ct(qt(e,t,r))},Rt=function(e,t){if(!e)return new Tt.MathNode("mrow");if(it[e.type])return it[e.type](e,t);throw new n("Got group of unknown type: '"+e.type+"'")};function Ht(e,t,r,n,a){var i,o=qt(e,r);i=1===o.length&&o[0]instanceof zt&&l.contains(["mrow","mtable"],o[0].type)?o[0]:new Tt.MathNode("mrow",o);var s=new Tt.MathNode("annotation",[new Tt.TextNode(t)]);s.setAttribute("encoding","application/x-tex");var h=new Tt.MathNode("semantics",[i,s]),c=new Tt.MathNode("math",[h]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");var m=a?"katex":"katex-mathml";return Ke.makeSpan([m],[c])}var Ot=function(e){return new E({style:e.displayMode?x.DISPLAY:x.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Et=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ke.makeSpan(r,[e])}return e},Lt=function(e,t,r){var n,a=Ot(r);if("mathml"===r.output)return Ht(e,t,a,r.displayMode,!0);if("html"===r.output){var i=St(e,a);n=Ke.makeSpan(["katex"],[i])}else{var o=Ht(e,t,a,r.displayMode,!1),s=St(e,a);n=Ke.makeSpan(["katex"],[o,s])}return Et(n,r)},Dt={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Vt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Pt=function(e,t,r,n,a){var i,o=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(i=Ke.makeSpan(["stretchy",t],[],a),"fbox"===t){var s=a.color&&a.getColor();s&&(i.style.borderColor=s)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new Q({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new Q({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new K(l,{width:"100%",height:F(o)});i=Ke.makeSvgSpan([],[h],a)}return i.height=o,i.style.height=F(o),i},Ft=function(e){var t=new Tt.MathNode("mo",[new Tt.TextNode(Dt[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Gt=function(e,t){var r=function(){var r=4e5,n=e.label.slice(1);if(l.contains(["widehat","widecheck","widetilde","utilde"],n)){var a,i,o,s="ordgroup"===(d=e.base).type?d.body.length:1;if(s>5)"widehat"===n||"widecheck"===n?(a=420,r=2364,o=.42,i=n+"4"):(a=312,r=2340,o=.34,i="tilde4");else{var h=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][h],a=[0,239,300,360,420][h],o=[0,.24,.3,.3,.36,.42][h],i=n+h):(r=[0,600,1033,2339,2340][h],a=[0,260,286,306,312][h],o=[0,.26,.286,.3,.306,.34][h],i="tilde"+h)}var c=new J(i),m=new K([c],{width:"100%",height:F(o),viewBox:"0 0 "+r+" "+a,preserveAspectRatio:"none"});return{span:Ke.makeSvgSpan([],[m],t),minWidth:0,height:o}}var u,p,d,f=[],g=Vt[n],v=g[0],b=g[1],y=g[2],x=y/1e3,w=v.length;if(1===w)u=["hide-tail"],p=[g[3]];else if(2===w)u=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==w)throw new Error("Correct katexImagesData or update code here to support\n "+w+" children.");u=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var k=0;k0&&(n.style.minWidth=F(a)),n};function Ut(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Yt(e){var t=Xt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Xt(e){return e&&("atom"===e.type||re.hasOwnProperty(e.type))?e:null}var Wt=function(e,t){var r,n,a;e&&"supsub"===e.type?(r=(n=Ut(e.base,"accent")).base,e.base=r,a=function(e){if(e instanceof W)return e;throw new Error("Expected span but got "+String(e)+".")}(wt(e,t)),e.base=n):r=(n=Ut(e,"accent")).base;var i=wt(r,t.havingCrampedStyle()),o=0;if(n.isShifty&&l.isCharacterBox(r)){var s=l.getBaseElem(r);o=ee(wt(s,t.havingCrampedStyle())).skew}var h,c="\\c"===n.label,m=c?i.height+i.depth:Math.min(i.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Gt(n,t),h=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+F(2*o)+")",marginLeft:F(2*o)}:void 0}]},t);else{var u,p;"\\vec"===n.label?(u=Ke.staticSvg("vec",t),p=Ke.svgData.vec[1]):((u=ee(u=Ke.makeOrd({mode:n.mode,text:n.label},t,"textord"))).italic=0,p=u.width,c&&(m+=u.depth)),h=Ke.makeSpan(["accent-body"],[u]);var d="\\textcircled"===n.label;d&&(h.classes.push("accent-full"),m=i.height);var f=o;d||(f-=p/2),h.style.left=F(f),"\\textcircled"===n.label&&(h.style.top=".2em"),h=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-m},{type:"elem",elem:h}]},t)}var g=Ke.makeSpan(["mord","accent"],[h],t);return a?(a.children[0]=g,a.height=Math.max(g.height,a.height),a.classes[0]="mord",a):g},_t=function(e,t){var r=e.isStretchy?Ft(e.label):new Tt.MathNode("mo",[Bt(e.label,e.mode)]),n=new Tt.MathNode("mover",[Rt(e.base,t),r]);return n.setAttribute("accent","true"),n},jt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((function(e){return"\\"+e})).join("|"));ot({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(e,t){var r=lt(t[0]),n=!jt.test(e.funcName),a=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:a,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:function(e,t){var r=t[0],n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:a}},htmlBuilder:function(e,t){var r=wt(e.base,t),n=Gt(e,t),a="\\utilde"===e.label?.12:0,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","accentunder"],[i],t)},mathmlBuilder:function(e,t){var r=Ft(e.label),n=new Tt.MathNode("munder",[Rt(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});var $t=function(e){var t=new Tt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};ot({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,r){var n=e.parser,a=e.funcName;return{type:"xArrow",mode:n.mode,label:a,body:t[0],below:r[0]}},htmlBuilder:function(e,t){var r,n=t.style,a=t.havingStyle(n.sup()),i=Ke.wrapFragment(wt(e.body,a,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";i.classes.push(o+"-arrow-pad"),e.below&&(a=t.havingStyle(n.sub()),(r=Ke.wrapFragment(wt(e.below,a,t),t)).classes.push(o+"-arrow-pad"));var s,l=Gt(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,c=-t.fontMetrics().axisHeight-.5*l.height-.111;if((i.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=i.depth),r){var m=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;s=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:c},{type:"elem",elem:l,shift:h},{type:"elem",elem:r,shift:m}]},t)}else s=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:c},{type:"elem",elem:l,shift:h}]},t);return s.children[0].children[0].children[1].classes.push("svg-align"),Ke.makeSpan(["mrel","x-arrow"],[s],t)},mathmlBuilder:function(e,t){var r,n=Ft(e.label);if(n.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var a=$t(Rt(e.body,t));if(e.below){var i=$t(Rt(e.below,t));r=new Tt.MathNode("munderover",[n,i,a])}else r=new Tt.MathNode("mover",[n,a])}else if(e.below){var o=$t(Rt(e.below,t));r=new Tt.MathNode("munder",[n,o])}else r=$t(),r=new Tt.MathNode("mover",[n,r]);return r}});var Zt=Ke.makeSpan;function Kt(e,t){var r=ft(e.body,t,!0);return Zt([e.mclass],r,t)}function Jt(e,t){var r,n=qt(e.body,t);return"minner"===e.mclass?r=new Tt.MathNode("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0]).type="mi":r=new Tt.MathNode("mi",n):(e.isCharacterBox?(r=n[0]).type="mo":r=new Tt.MathNode("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}ot({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:ht(a),isCharacterBox:l.isCharacterBox(a)}},htmlBuilder:Kt,mathmlBuilder:Jt});var Qt=function(e){var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};ot({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler:function(e,t){return{type:"mclass",mode:e.parser.mode,mclass:Qt(t[0]),body:ht(t[1]),isCharacterBox:l.isCharacterBox(t[1])}}}),ot({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler:function(e,t){var r,n=e.parser,a=e.funcName,i=t[1],o=t[0];r="\\stackrel"!==a?Qt(i):"mrel";var s={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==a,body:ht(i)},h={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===a?null:o,sub:"\\underset"===a?o:null};return{type:"mclass",mode:n.mode,mclass:r,body:[h],isCharacterBox:l.isCharacterBox(h)}},htmlBuilder:Kt,mathmlBuilder:Jt}),ot({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"pmb",mode:e.parser.mode,mclass:Qt(t[0]),body:ht(t[0])}},htmlBuilder:function(e,t){var r=ft(e.body,t,!0),n=Ke.makeSpan([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder:function(e,t){var r=qt(e.body,t),n=new Tt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var er={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},tr=function(e){return"textord"===e.type&&"@"===e.text};function rr(e,t,r){var n=er[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var a={type:"atom",text:n,mode:"math",family:"rel"},i={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[a],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[i],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}ot({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder:function(e,t){var r=t.havingStyle(t.style.sup()),n=Ke.wrapFragment(wt(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=F(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mrow",[Rt(e.label,t)]);return(r=new Tt.MathNode("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new Tt.MathNode("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),ot({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler:function(e,t){return{type:"cdlabelparent",mode:e.parser.mode,fragment:t[0]}},htmlBuilder:function(e,t){var r=Ke.wrapFragment(wt(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:function(e,t){return new Tt.MathNode("mrow",[Rt(e.fragment,t)])}}),ot({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var r=e.parser,a=Ut(t[0],"ordgroup").body,i="",o=0;o=1114111)throw new n("\\@char with invalid code point "+i);return l<=65535?s=String.fromCharCode(l):(l-=65536,s=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:r.mode,text:s}}});var nr=function(e,t){var r=ft(e.body,t.withColor(e.color),!1);return Ke.makeFragment(r)},ar=function(e,t){var r=qt(e.body,t.withColor(e.color)),n=new Tt.MathNode("mstyle",r);return n.setAttribute("mathcolor",e.color),n};ot({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler:function(e,t){var r=e.parser,n=Ut(t[0],"color-token").color,a=t[1];return{type:"color",mode:r.mode,color:n,body:ht(a)}},htmlBuilder:nr,mathmlBuilder:ar}),ot({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler:function(e,t){var r=e.parser,n=e.breakOnTokenText,a=Ut(t[0],"color-token").color;r.gullet.macros.set("\\current@color",a);var i=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:a,body:i}},htmlBuilder:nr,mathmlBuilder:ar}),ot({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a="["===n.gullet.future().text?n.parseSizeGroup(!0):null,i=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:i,size:a&&Ut(a,"size").value}},htmlBuilder:function(e,t){var r=Ke.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=F(P(e.size,t)))),r},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",F(P(e.size,t)))),r}});var ir={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},or=function(e){var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},sr=function(e,t,r,n){var a=e.gullet.macros.get(r.text);null==a&&(r.noexpand=!0,a={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,a,n)};ot({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.parser,r=e.funcName;t.consumeSpaces();var a=t.fetch();if(ir[a.text])return"\\global"!==r&&"\\\\globallong"!==r||(a.text=ir[a.text]),Ut(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",a)}}),ot({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new n("Expected a control sequence",a);for(var o,s=0,l=[[]];"{"!==t.gullet.future().text;)if("#"===(a=t.gullet.popToken()).text){if("{"===t.gullet.future().text){o=t.gullet.future(),l[s].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new n('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==s+1)throw new n('Argument number "'+a.text+'" out of order');s++,l.push([])}else{if("EOF"===a.text)throw new n("Expected a macro definition");l[s].push(a.text)}var h=t.gullet.consumeArg().tokens;return o&&h.unshift(o),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h)).reverse(),t.gullet.macros.set(i,{tokens:h,numArgs:s,delimiters:l},r===ir[r]),{type:"internal",mode:t.mode}}}),ot({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=or(t.gullet.popToken());t.gullet.consumeSpaces();var a=function(e){var t=e.gullet.popToken();return"="===t.text&&" "===(t=e.gullet.popToken()).text&&(t=e.gullet.popToken()),t}(t);return sr(t,n,a,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),ot({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=or(t.gullet.popToken()),a=t.gullet.popToken(),i=t.gullet.popToken();return sr(t,n,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(a),{type:"internal",mode:t.mode}}});var lr=function(e,t,r){var n=N(ae.math[e]&&ae.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},hr=function(e,t,r,n){var a=r.havingBaseStyle(t),i=Ke.makeSpan(n.concat(a.sizingClasses(r)),[e],r),o=a.sizeMultiplier/r.sizeMultiplier;return i.height*=o,i.depth*=o,i.maxFontSize=a.sizeMultiplier,i},cr=function(e,t,r){var n=t.havingBaseStyle(r),a=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=F(a),e.height-=a,e.depth+=a},mr=function(e,t,r,n,a,i){var o=function(e,t,r,n){return Ke.makeSymbol(e,"Size"+t+"-Regular",r,n)}(e,t,a,n),s=hr(Ke.makeSpan(["delimsizing","size"+t],[o],n),x.TEXT,n,i);return r&&cr(s,n,x.TEXT),s},ur=function(e,t,r){var n;return n="Size1-Regular"===t?"delim-size1":"delim-size4",{type:"elem",elem:Ke.makeSpan(["delimsizinginner",n],[Ke.makeSpan([],[Ke.makeSymbol(e,t,r)])])}},pr=function(e,t,r){var n=T["Size4-Regular"][e.charCodeAt(0)]?T["Size4-Regular"][e.charCodeAt(0)][4]:T["Size1-Regular"][e.charCodeAt(0)][4],a=new J("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),i=new K([a],{width:F(n),height:F(t),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),o=Ke.makeSvgSpan([],[i],r);return o.height=t,o.style.height=F(t),o.style.width=F(n),{type:"elem",elem:o}},dr={type:"kern",size:-.008},fr=["|","\\lvert","\\rvert","\\vert"],gr=["\\|","\\lVert","\\rVert","\\Vert"],vr=function(e,t,r,n,a,i){var o,s,h,c,m="",u=0;o=h=c=e,s=null;var p="Size1-Regular";"\\uparrow"===e?h=c="\u23d0":"\\Uparrow"===e?h=c="\u2016":"\\downarrow"===e?o=h="\u23d0":"\\Downarrow"===e?o=h="\u2016":"\\updownarrow"===e?(o="\\uparrow",h="\u23d0",c="\\downarrow"):"\\Updownarrow"===e?(o="\\Uparrow",h="\u2016",c="\\Downarrow"):l.contains(fr,e)?(h="\u2223",m="vert",u=333):l.contains(gr,e)?(h="\u2225",m="doublevert",u=556):"["===e||"\\lbrack"===e?(o="\u23a1",h="\u23a2",c="\u23a3",p="Size4-Regular",m="lbrack",u=667):"]"===e||"\\rbrack"===e?(o="\u23a4",h="\u23a5",c="\u23a6",p="Size4-Regular",m="rbrack",u=667):"\\lfloor"===e||"\u230a"===e?(h=o="\u23a2",c="\u23a3",p="Size4-Regular",m="lfloor",u=667):"\\lceil"===e||"\u2308"===e?(o="\u23a1",h=c="\u23a2",p="Size4-Regular",m="lceil",u=667):"\\rfloor"===e||"\u230b"===e?(h=o="\u23a5",c="\u23a6",p="Size4-Regular",m="rfloor",u=667):"\\rceil"===e||"\u2309"===e?(o="\u23a4",h=c="\u23a5",p="Size4-Regular",m="rceil",u=667):"("===e||"\\lparen"===e?(o="\u239b",h="\u239c",c="\u239d",p="Size4-Regular",m="lparen",u=875):")"===e||"\\rparen"===e?(o="\u239e",h="\u239f",c="\u23a0",p="Size4-Regular",m="rparen",u=875):"\\{"===e||"\\lbrace"===e?(o="\u23a7",s="\u23a8",c="\u23a9",h="\u23aa",p="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(o="\u23ab",s="\u23ac",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(o="\u23a7",c="\u23a9",h="\u23aa",p="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(o="\u23ab",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(o="\u23a7",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(o="\u23ab",c="\u23a9",h="\u23aa",p="Size4-Regular");var d=lr(o,p,a),f=d.height+d.depth,g=lr(h,p,a),v=g.height+g.depth,b=lr(c,p,a),y=b.height+b.depth,w=0,k=1;if(null!==s){var S=lr(s,p,a);w=S.height+S.depth,k=2}var M=f+y+w,z=M+Math.max(0,Math.ceil((t-M)/(k*v)))*k*v,A=n.fontMetrics().axisHeight;r&&(A*=n.sizeMultiplier);var T=z/2-A,B=[];if(m.length>0){var C=z-f-y,N=Math.round(1e3*z),q=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(m,Math.round(1e3*C)),I=new J(m,q),R=(u/1e3).toFixed(3)+"em",H=(N/1e3).toFixed(3)+"em",O=new K([I],{width:R,height:H,viewBox:"0 0 "+u+" "+N}),E=Ke.makeSvgSpan([],[O],n);E.height=N/1e3,E.style.width=R,E.style.height=H,B.push({type:"elem",elem:E})}else{if(B.push(ur(c,p,a)),B.push(dr),null===s){var L=z-f-y+.016;B.push(pr(h,L,n))}else{var D=(z-f-y-w)/2+.016;B.push(pr(h,D,n)),B.push(dr),B.push(ur(s,p,a)),B.push(dr),B.push(pr(h,D,n))}B.push(dr),B.push(ur(o,p,a))}var V=n.havingBaseStyle(x.TEXT),P=Ke.makeVList({positionType:"bottom",positionData:T,children:B},V);return hr(Ke.makeSpan(["delimsizing","mult"],[P],V),x.TEXT,n,i)},br=.08,yr=function(e,t,r,n,a){var i=function(e,t,r){t*=1e3;var n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,M);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,M,r)}return n}(e,n,r),o=new J(e,i),s=new K([o],{width:"400em",height:F(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Ke.makeSvgSpan(["hide-tail"],[s],a)},xr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],wr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],kr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Sr=[0,1.2,1.8,2.4,3],Mr=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],zr=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"stack"}],Ar=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Tr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Br=function(e,t,r,n){for(var a=Math.min(2,3-n.style.size);at)return r[a]}return r[r.length-1]},Cr=function(e,t,r,n,a,i){var o;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),o=l.contains(kr,e)?Mr:l.contains(xr,e)?Ar:zr;var s=Br(e,t,o,n);return"small"===s.type?function(e,t,r,n,a,i){var o=Ke.makeSymbol(e,"Main-Regular",a,n),s=hr(o,t,n,i);return r&&cr(s,n,t),s}(e,s.style,r,n,a,i):"large"===s.type?mr(e,s.size,r,n,a,i):vr(e,t,r,n,a,i)},Nr={sqrtImage:function(e,t){var r,n,a=t.havingBaseSizing(),i=Br("\\surd",e*a.sizeMultiplier,Ar,a),o=a.sizeMultiplier,s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),l=0,h=0,c=0;return"small"===i.type?(e<1?o=1:e<1.4&&(o=.7),h=(1+s)/o,(r=yr("sqrtMain",l=(1+s+br)/o,c=1e3+1e3*s+80,s,t)).style.minWidth="0.853em",n=.833/o):"large"===i.type?(c=1080*Sr[i.size],h=(Sr[i.size]+s)/o,l=(Sr[i.size]+s+br)/o,(r=yr("sqrtSize"+i.size,l,c,s,t)).style.minWidth="1.02em",n=1/o):(l=e+s+br,h=e+s,c=Math.floor(1e3*e+s)+80,(r=yr("sqrtTall",l,c,s,t)).style.minWidth="0.742em",n=1.056),r.height=h,r.style.height=F(l),{span:r,advanceWidth:n,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,a,i){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),l.contains(xr,e)||l.contains(kr,e))return mr(e,t,!1,r,a,i);if(l.contains(wr,e))return vr(e,Sr[t],!1,r,a,i);throw new n("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:Sr,customSizedDelim:Cr,leftRightDelim:function(e,t,r,n,a,i){var o=n.fontMetrics().axisHeight*n.sizeMultiplier,s=5/n.fontMetrics().ptPerEm,l=Math.max(t-o,r+o),h=Math.max(l/500*901,2*l-s);return Cr(e,h,!0,n,a,i)}},qr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Ir=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Rr(e,t){var r=Xt(e);if(r&&l.contains(Ir,r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function Hr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}ot({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:function(e,t){var r=Rr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:qr[e.funcName].size,mclass:qr[e.funcName].mclass,delim:r.text}},htmlBuilder:function(e,t){return"."===e.delim?Ke.makeSpan([e.mclass]):Nr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass])},mathmlBuilder:function(e){var t=[];"."!==e.delim&&t.push(Bt(e.delim,e.mode));var r=new Tt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=F(Nr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),ot({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Rr(t[0],e).text,color:r}}}),ot({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=Rr(t[0],e),n=e.parser;++n.leftrightDepth;var a=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var i=Ut(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:a,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:function(e,t){Hr(e);for(var r,n,a=ft(e.body,t,!0,["mopen","mclose"]),i=0,o=0,s=!1,l=0;l-1?"mpadded":"menclose",[Rt(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var a=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+a+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};ot({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler:function(e,t,r){var n=e.parser,a=e.funcName,i=Ut(t[0],"color-token").color,o=t[1];return{type:"enclose",mode:n.mode,label:a,backgroundColor:i,body:o}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler:function(e,t,r){var n=e.parser,a=e.funcName,i=Ut(t[0],"color-token").color,o=Ut(t[1],"color-token").color,s=t[2];return{type:"enclose",mode:n.mode,label:a,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\fbox",body:t[0]}}}),ot({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"enclose",mode:r.mode,label:n,body:a}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\angl",body:t[0]}}});var Lr={};function Dr(e){for(var t=e.type,r=e.names,n=e.props,a=e.handler,i=e.htmlBuilder,o=e.mathmlBuilder,s={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:a},l=0;l1||!m)&&g.pop(),b.length0&&(y+=.25),c.push({pos:y,isDashed:e[t]})}for(w(o[0]),r=0;r0&&(M<(B+=b)&&(M=B),B=0),e.addJot&&(M+=f),z.height=S,z.depth=M,y+=S,z.pos=y,y+=M+B,h[r]=z,w(o[r+1])}var C,N,q=y/2+t.fontMetrics().axisHeight,I=e.cols||[],R=[],H=[];if(e.tags&&e.tags.some((function(e){return e})))for(r=0;r=s)){var W=void 0;(a>0||e.hskipBeforeAndAfter)&&0!==(W=l.deflt(V.pregap,p))&&((C=Ke.makeSpan(["arraycolsep"],[])).style.width=F(W),R.push(C));var _=[];for(r=0;r0){for(var K=Ke.makeLineSpan("hline",t,m),J=Ke.makeLineSpan("hdashline",t,m),Q=[{type:"elem",elem:h,shift:0}];c.length>0;){var ee=c.pop(),te=ee.pos-q;ee.isDashed?Q.push({type:"elem",elem:J,shift:te}):Q.push({type:"elem",elem:K,shift:te})}h=Ke.makeVList({positionType:"individualShift",children:Q},t)}if(0===H.length)return Ke.makeSpan(["mord"],[h],t);var re=Ke.makeVList({positionType:"individualShift",children:H},t);return re=Ke.makeSpan(["tag"],[re],t),Ke.makeFragment([h,re])},$r={c:"center ",l:"left ",r:"right "},Zr=function(e,t){for(var r=[],n=new Tt.MathNode("mtd",[],["mtr-glue"]),a=new Tt.MathNode("mtd",[],["mml-eqn-num"]),i=0;i0){var p=e.cols,d="",f=!1,g=0,v=p.length;"separator"===p[0].type&&(m+="top ",g=1),"separator"===p[p.length-1].type&&(m+="bottom ",v-=1);for(var b=g;b0?"left ":"",m+=S[S.length-1].length>0?"right ":"";for(var M=1;M-1?"alignat":"align",o="split"===e.envName,s=Wr(e.parser,{cols:a,addJot:!0,autoTag:o?void 0:Xr(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:o?2:void 0,leqno:e.parser.settings.leqno},"display"),l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var c="",m=0;m0&&u&&(f=1),a[p]={type:"align",align:d,pregap:f,postgap:0}}return s.colSeparationType=u?"align":"alignat",s};Dr({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)})),a={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Wr(e.parser,a,_r(e.envName))},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler:function(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,-1==="lcr".indexOf(r))throw new n("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:r}]}}var o=Wr(e.parser,a,_r(e.envName)),s=Math.max.apply(Math,[0].concat(o.body.map((function(e){return e.length}))));return o.cols=new Array(s).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[o],left:t[0],right:t[1],rightColor:void 0}:o},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(e){var t=Wr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["subarray"],props:{numArgs:1},handler:function(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)}));if(r.length>1)throw new n("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=Wr(e.parser,a,"script")).body.length>0&&a.body[0].length>1)throw new n("{subarray} can contain only one column");return a},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler:function(e){var t=Wr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},_r(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler:function(e){l.contains(["gather","gather*"],e.envName)&&Yr(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Xr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["equation","equation*"],props:{numArgs:0},handler:function(e){Yr(e);var t={autoTag:Xr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["CD"],props:{numArgs:0},handler:function(e){return Yr(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}for(var a,i,o=[],s=[o],l=0;l-1);else{if(!("<>AV".indexOf(u)>-1))throw new n('Expected one of "<>AV=|." after @',h[m]);for(var d=0;d<2;d++){for(var f=!0,g=m+1;g=x.SCRIPT.id?r.text():x.DISPLAY:"text"===e&&r.size===x.DISPLAY.size?r=x.TEXT:"script"===e?r=x.SCRIPT:"scriptscript"===e&&(r=x.SCRIPTSCRIPT),r},nn=function(e,t){var r,n=rn(e.size,t.style),a=n.fracNum(),i=n.fracDen();r=t.havingStyle(a);var o=wt(e.numer,r,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,l=3.5/t.fontMetrics().ptPerEm;o.height=o.height0?3*m:7*m,d=t.fontMetrics().denom1):(c>0?(u=t.fontMetrics().num2,p=m):(u=t.fontMetrics().num3,p=3*m),d=t.fontMetrics().denom2),h){var w=t.fontMetrics().axisHeight;u-o.depth-(w+.5*c)0&&(t="."===(t=e)?null:t),t};ot({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var r,n=e.parser,a=t[4],i=t[5],o=lt(t[0]),s="atom"===o.type&&"open"===o.family?sn(o.text):null,l=lt(t[1]),h="atom"===l.type&&"close"===l.family?sn(l.text):null,c=Ut(t[2],"size"),m=null;r=!!c.isBlank||(m=c.value).number>0;var u="auto",p=t[3];if("ordgroup"===p.type){if(p.body.length>0){var d=Ut(p.body[0],"textord");u=on[Number(d.text)]}}else p=Ut(p,"textord"),u=on[Number(p.text)];return{type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:r,barSize:m,leftDelim:s,rightDelim:h,size:u}},htmlBuilder:nn,mathmlBuilder:an}),ot({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var r=e.parser,n=(e.funcName,e.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ut(t[0],"size").value,token:n}}}),ot({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var r=e.parser,n=(e.funcName,t[0]),a=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(Ut(t[1],"infix").size),i=t[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:nn,mathmlBuilder:an});var ln=function(e,t){var r,n,a=t.style;"supsub"===e.type?(r=e.sup?wt(e.sup,t.havingStyle(a.sup()),t):wt(e.sub,t.havingStyle(a.sub()),t),n=Ut(e.base,"horizBrace")):n=Ut(e,"horizBrace");var i,o=wt(n.base,t.havingBaseStyle(x.DISPLAY)),s=Gt(n,t);if(n.isOver?(i=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(i=Ke.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t);i=n.isOver?Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):Ke.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t)};ot({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:ln,mathmlBuilder:function(e,t){var r=Ft(e.label);return new Tt.MathNode(e.isOver?"mover":"munder",[Rt(e.base,t),r])}}),ot({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[1],a=Ut(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:a})?{type:"href",mode:r.mode,href:a,body:ht(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(e,t){var r=ft(e.body,t,!1);return Ke.makeAnchor(e.href,[],r,t)},mathmlBuilder:function(e,t){var r=It(e.body,t);return r instanceof zt||(r=new zt("mrow",[r])),r.setAttribute("href",e.href),r}}),ot({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=Ut(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var a=[],i=0;i0&&(n=P(e.totalheight,t)-r);var a=0;e.width.number>0&&(a=P(e.width,t));var i={height:F(r+n)};a>0&&(i.width=F(a)),n>0&&(i.verticalAlign=F(-n));var o=new j(e.src,e.alt,i);return o.height=r,o.depth=n,o},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);var n=P(e.height,t),a=0;if(e.totalheight.number>0&&(a=P(e.totalheight,t)-n,r.setAttribute("valign",F(-a))),r.setAttribute("height",F(n+a)),e.width.number>0){var i=P(e.width,t);r.setAttribute("width",F(i))}return r.setAttribute("src",e.src),r}}),ot({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=Ut(t[0],"size");if(r.settings.strict){var i="m"===n[1],o="mu"===a.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+a.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:a.value}},htmlBuilder:function(e,t){return Ke.makeGlue(e.dimension,t)},mathmlBuilder:function(e,t){var r=P(e.dimension,t);return new Tt.SpaceNode(r)}}),ot({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:a}},htmlBuilder:function(e,t){var r;"clap"===e.alignment?(r=Ke.makeSpan([],[wt(e.body,t)]),r=Ke.makeSpan(["inner"],[r],t)):r=Ke.makeSpan(["inner"],[wt(e.body,t)]);var n=Ke.makeSpan(["fix"],[]),a=Ke.makeSpan([e.alignment],[r,n],t),i=Ke.makeSpan(["strut"]);return i.style.height=F(a.height+a.depth),a.depth&&(i.style.verticalAlign=F(-a.depth)),a.children.unshift(i),a=Ke.makeSpan(["thinbox"],[a],t),Ke.makeSpan(["mord","vbox"],[a],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mpadded",[Rt(e.body,t)]);if("rlap"!==e.alignment){var n="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}}),ot({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){var r=e.funcName,n=e.parser,a=n.mode;n.switchMode("math");var i="\\("===r?"\\)":"$",o=n.parseExpression(!1,i);return n.expect(i),n.switchMode(a),{type:"styling",mode:n.mode,style:"text",body:o}}}),ot({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){throw new n("Mismatched "+e.funcName)}});var cn=function(e,t){switch(t.style.size){case x.DISPLAY.size:return e.display;case x.TEXT.size:return e.text;case x.SCRIPT.size:return e.script;case x.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};ot({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:function(e,t){return{type:"mathchoice",mode:e.parser.mode,display:ht(t[0]),text:ht(t[1]),script:ht(t[2]),scriptscript:ht(t[3])}},htmlBuilder:function(e,t){var r=cn(e,t),n=ft(r,t,!1);return Ke.makeFragment(n)},mathmlBuilder:function(e,t){var r=cn(e,t);return It(r,t)}});var mn=function(e,t,r,n,a,i,o){e=Ke.makeSpan([],[e]);var s,h,c,m=r&&l.isCharacterBox(r);if(t){var u=wt(t,n.havingStyle(a.sup()),n);h={elem:u,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-u.depth)}}if(r){var p=wt(r,n.havingStyle(a.sub()),n);s={elem:p,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-p.height)}}if(h&&s){var d=n.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+e.depth+o;c=Ke.makeVList({positionType:"bottom",positionData:d,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:F(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:F(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(s){var f=e.height-o;c=Ke.makeVList({positionType:"top",positionData:f,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:F(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e}]},n)}else{if(!h)return e;var g=e.depth+o;c=Ke.makeVList({positionType:"bottom",positionData:g,children:[{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:F(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}var v=[c];if(s&&0!==i&&!m){var b=Ke.makeSpan(["mspace"],[],n);b.style.marginRight=F(i),v.unshift(b)}return Ke.makeSpan(["mop","op-limits"],v,n)},un=["\\smallint"],pn=function(e,t){var r,n,a,i=!1;"supsub"===e.type?(r=e.sup,n=e.sub,a=Ut(e.base,"op"),i=!0):a=Ut(e,"op");var o,s=t.style,h=!1;if(s.size===x.DISPLAY.size&&a.symbol&&!l.contains(un,a.name)&&(h=!0),a.symbol){var c=h?"Size2-Regular":"Size1-Regular",m="";if("\\oiint"!==a.name&&"\\oiiint"!==a.name||(m=a.name.slice(1),a.name="oiint"===m?"\\iint":"\\iiint"),o=Ke.makeSymbol(a.name,c,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),m.length>0){var u=o.italic,p=Ke.staticSvg(m+"Size"+(h?"2":"1"),t);o=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:p,shift:h?.08:0}]},t),a.name="\\"+m,o.classes.unshift("mop"),o.italic=u}}else if(a.body){var d=ft(a.body,t,!0);1===d.length&&d[0]instanceof Z?(o=d[0]).classes[0]="mop":o=Ke.makeSpan(["mop"],d,t)}else{for(var f=[],g=1;g0){for(var s=a.body.map((function(e){var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),l=ft(s,t.withFont("mathrm"),!0),h=0;h=0?s.setAttribute("height",F(a)):(s.setAttribute("height",F(a)),s.setAttribute("depth",F(-a))),s.setAttribute("voffset",F(a)),s}});var yn=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];ot({type:"sizing",names:yn,props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!1,r);return{type:"sizing",mode:a.mode,size:yn.indexOf(n)+1,body:i}},htmlBuilder:function(e,t){var r=t.havingSize(e.size);return bn(e.body,r,t)},mathmlBuilder:function(e,t){var r=t.havingSize(e.size),n=qt(e.body,r),a=new Tt.MathNode("mstyle",n);return a.setAttribute("mathsize",F(r.sizeMultiplier)),a}}),ot({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a=!1,i=!1,o=r[0]&&Ut(r[0],"ordgroup");if(o)for(var s="",l=0;lr.height+r.depth+i&&(i=(i+m-r.height-r.depth)/2);var u=l.height-r.height-i-h;r.style.paddingLeft=F(c);var p=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:l},{type:"kern",size:h}]},t);if(e.index){var d=t.havingStyle(x.SCRIPTSCRIPT),f=wt(e.index,d,t),g=.6*(p.height-p.depth),v=Ke.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},t),b=Ke.makeSpan(["root"],[v]);return Ke.makeSpan(["mord","sqrt"],[b,p],t)}return Ke.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder:function(e,t){var r=e.body,n=e.index;return n?new Tt.MathNode("mroot",[Rt(r,t),Rt(n,t)]):new Tt.MathNode("msqrt",[Rt(r,t)])}});var xn={display:x.DISPLAY,text:x.TEXT,script:x.SCRIPT,scriptscript:x.SCRIPTSCRIPT};ot({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!0,r),o=n.slice(1,n.length-5);return{type:"styling",mode:a.mode,style:o,body:i}},htmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r).withFont("");return bn(e.body,n,t)},mathmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r),a=qt(e.body,n),i=new Tt.MathNode("mstyle",a),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});var wn=function(e,t){var r=e.base;return r?"op"===r.type?r.limits&&(t.style.size===x.DISPLAY.size||r.alwaysHandleSupSub)?pn:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===x.DISPLAY.size||r.limits)?vn:null:"accent"===r.type?l.isCharacterBox(r.base)?Wt:null:"horizBrace"===r.type&&!e.sub===r.isOver?ln:null:null};st({type:"supsub",htmlBuilder:function(e,t){var r=wn(e,t);if(r)return r(e,t);var n,a,i,o=e.base,s=e.sup,h=e.sub,c=wt(o,t),m=t.fontMetrics(),u=0,p=0,d=o&&l.isCharacterBox(o);if(s){var f=t.havingStyle(t.style.sup());n=wt(s,f,t),d||(u=c.height-f.fontMetrics().supDrop*f.sizeMultiplier/t.sizeMultiplier)}if(h){var g=t.havingStyle(t.style.sub());a=wt(h,g,t),d||(p=c.depth+g.fontMetrics().subDrop*g.sizeMultiplier/t.sizeMultiplier)}i=t.style===x.DISPLAY?m.sup1:t.style.cramped?m.sup3:m.sup2;var v,b=t.sizeMultiplier,y=F(.5/m.ptPerEm/b),w=null;if(a){var k=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(c instanceof Z||k)&&(w=F(-c.italic))}if(n&&a){u=Math.max(u,i,n.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var S=4*m.defaultRuleThickness;if(u-n.depth-(a.height-p)0&&(u+=M,p-=M)}var z=[{type:"elem",elem:a,shift:p,marginRight:y,marginLeft:w},{type:"elem",elem:n,shift:-u,marginRight:y}];v=Ke.makeVList({positionType:"individualShift",children:z},t)}else if(a){p=Math.max(p,m.sub1,a.height-.8*m.xHeight);var A=[{type:"elem",elem:a,marginLeft:w,marginRight:y}];v=Ke.makeVList({positionType:"shift",positionData:p,children:A},t)}else{if(!n)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,n.depth+.25*m.xHeight),v=Ke.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:n,marginRight:y}]},t)}var T=yt(c,"right")||"mord";return Ke.makeSpan([T],[c,Ke.makeSpan(["msupsub"],[v])],t)},mathmlBuilder:function(e,t){var r,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var a,i=[Rt(e.base,t)];if(e.sub&&i.push(Rt(e.sub,t)),e.sup&&i.push(Rt(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var o=e.base;a=o&&"op"===o.type&&o.limits&&t.style===x.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(t.style===x.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=e.base;a=s&&"op"===s.type&&s.limits&&(t.style===x.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||t.style===x.DISPLAY)?"munder":"msub"}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===x.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===x.DISPLAY)?"mover":"msup"}return new Tt.MathNode(a,i)}}),st({type:"atom",htmlBuilder:function(e,t){return Ke.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[Bt(e.text,e.mode)]);if("bin"===e.family){var n=Nt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});var kn={mi:"italic",mn:"normal",mtext:"normal"};st({type:"mathord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mi",[Bt(e.text,e.mode,t)]),n=Nt(e,t)||"italic";return n!==kn[r.type]&&r.setAttribute("mathvariant",n),r}}),st({type:"textord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var r,n=Bt(e.text,e.mode,t),a=Nt(e,t)||"normal";return r="text"===e.mode?new Tt.MathNode("mtext",[n]):/[0-9]/.test(e.text)?new Tt.MathNode("mn",[n]):"\\prime"===e.text?new Tt.MathNode("mo",[n]):new Tt.MathNode("mi",[n]),a!==kn[r.type]&&r.setAttribute("mathvariant",a),r}});var Sn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};st({type:"spacing",htmlBuilder:function(e,t){if(Mn.hasOwnProperty(e.text)){var r=Mn[e.text].className||"";if("text"===e.mode){var a=Ke.makeOrd(e,t,"textord");return a.classes.push(r),a}return Ke.makeSpan(["mspace",r],[Ke.mathsym(e.text,e.mode,t)],t)}if(Sn.hasOwnProperty(e.text))return Ke.makeSpan(["mspace",Sn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e,t){if(!Mn.hasOwnProperty(e.text)){if(Sn.hasOwnProperty(e.text))return new Tt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return new Tt.MathNode("mtext",[new Tt.TextNode("\xa0")])}});var zn=function(){var e=new Tt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};st({type:"tag",mathmlBuilder:function(e,t){var r=new Tt.MathNode("mtable",[new Tt.MathNode("mtr",[zn(),new Tt.MathNode("mtd",[It(e.body,t)]),zn(),new Tt.MathNode("mtd",[It(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var An={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Tn={"\\textbf":"textbf","\\textmd":"textmd"},Bn={"\\textit":"textit","\\textup":"textup"},Cn=function(e,t){var r=e.font;return r?An[r]?t.withTextFontFamily(An[r]):Tn[r]?t.withTextFontWeight(Tn[r]):t.withTextFontShape(Bn[r]):t};ot({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"text",mode:r.mode,body:ht(a),font:n}},htmlBuilder:function(e,t){var r=Cn(e,t),n=ft(e.body,r,!0);return Ke.makeSpan(["mord","text"],n,r)},mathmlBuilder:function(e,t){var r=Cn(e,t);return It(e.body,r)}}),ot({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=Ke.makeLineSpan("underline-line",t),a=t.fontMetrics().defaultRuleThickness,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:a},{type:"elem",elem:n},{type:"kern",size:3*a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","underline"],[i],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[new Tt.TextNode("\u203e")]);r.setAttribute("stretchy","true");var n=new Tt.MathNode("munder",[Rt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),ot({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler:function(e,t){return{type:"vcenter",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=t.fontMetrics().axisHeight,a=.5*(r.height-n-(r.depth+n));return Ke.makeVList({positionType:"shift",positionData:a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){return new Tt.MathNode("mpadded",[Rt(e.body,t)],["vcenter"])}}),ot({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var r=Nn(e),n=[],a=t.havingStyle(t.style.text()),i=0;i0;)this.endGroup()},t.has=function(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)},t.get=function(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]},t.set=function(e,t,r){if(void 0===r&&(r=!1),r){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t},e}(),Vn=Vr;Pr("\\noexpand",(function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Pr("\\expandafter",(function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Pr("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Pr("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Pr("\\@ifnextchar",(function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Pr("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Pr("\\TextOrMath",(function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));var Pn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Pr("\\char",(function(e){var t,r=e.popToken(),a="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if("\\"===(r=e.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");a=r.text.charCodeAt(0)}else t=10;if(t){if(null==(a=Pn[r.text])||a>=t)throw new n("Invalid base-"+t+" digit "+r.text);for(var i;null!=(i=Pn[e.future().text])&&i":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Pr("\\dots",(function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in Gn?t=Gn[r]:("\\not"===r.slice(0,4)||r in ae.math&&l.contains(["bin","rel"],ae.math[r].group))&&(t="\\dotsb"),t}));var Un={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Pr("\\dotso",(function(e){return e.future().text in Un?"\\ldots\\,":"\\ldots"})),Pr("\\dotsc",(function(e){var t=e.future().text;return t in Un&&","!==t?"\\ldots\\,":"\\ldots"})),Pr("\\cdots",(function(e){return e.future().text in Un?"\\@cdots\\,":"\\@cdots"})),Pr("\\dotsb","\\cdots"),Pr("\\dotsm","\\cdots"),Pr("\\dotsi","\\!\\cdots"),Pr("\\dotsx","\\ldots\\,"),Pr("\\DOTSI","\\relax"),Pr("\\DOTSB","\\relax"),Pr("\\DOTSX","\\relax"),Pr("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Pr("\\,","\\tmspace+{3mu}{.1667em}"),Pr("\\thinspace","\\,"),Pr("\\>","\\mskip{4mu}"),Pr("\\:","\\tmspace+{4mu}{.2222em}"),Pr("\\medspace","\\:"),Pr("\\;","\\tmspace+{5mu}{.2777em}"),Pr("\\thickspace","\\;"),Pr("\\!","\\tmspace-{3mu}{.1667em}"),Pr("\\negthinspace","\\!"),Pr("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Pr("\\negthickspace","\\tmspace-{5mu}{.277em}"),Pr("\\enspace","\\kern.5em "),Pr("\\enskip","\\hskip.5em\\relax"),Pr("\\quad","\\hskip1em\\relax"),Pr("\\qquad","\\hskip2em\\relax"),Pr("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Pr("\\tag@paren","\\tag@literal{({#1})}"),Pr("\\tag@literal",(function(e){if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Pr("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Pr("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Pr("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Pr("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Pr("\\newline","\\\\\\relax"),Pr("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Yn=F(T["Main-Regular"]["T".charCodeAt(0)][1]-.7*T["Main-Regular"]["A".charCodeAt(0)][1]);Pr("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Yn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Pr("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Yn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Pr("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Pr("\\@hspace","\\hskip #1\\relax"),Pr("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Pr("\\ordinarycolon",":"),Pr("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Pr("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Pr("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Pr("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Pr("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Pr("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Pr("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Pr("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Pr("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Pr("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Pr("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Pr("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Pr("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Pr("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Pr("\u2237","\\dblcolon"),Pr("\u2239","\\eqcolon"),Pr("\u2254","\\coloneqq"),Pr("\u2255","\\eqqcolon"),Pr("\u2a74","\\Coloneqq"),Pr("\\ratio","\\vcentcolon"),Pr("\\coloncolon","\\dblcolon"),Pr("\\colonequals","\\coloneqq"),Pr("\\coloncolonequals","\\Coloneqq"),Pr("\\equalscolon","\\eqqcolon"),Pr("\\equalscoloncolon","\\Eqqcolon"),Pr("\\colonminus","\\coloneq"),Pr("\\coloncolonminus","\\Coloneq"),Pr("\\minuscolon","\\eqcolon"),Pr("\\minuscoloncolon","\\Eqcolon"),Pr("\\coloncolonapprox","\\Colonapprox"),Pr("\\coloncolonsim","\\Colonsim"),Pr("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Pr("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Pr("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Pr("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Pr("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Pr("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Pr("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Pr("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Pr("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Pr("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Pr("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Pr("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Pr("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Pr("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Pr("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Pr("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Pr("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Pr("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Pr("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Pr("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Pr("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Pr("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Pr("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Pr("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Pr("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Pr("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Pr("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Pr("\\imath","\\html@mathml{\\@imath}{\u0131}"),Pr("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Pr("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Pr("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Pr("\u27e6","\\llbracket"),Pr("\u27e7","\\rrbracket"),Pr("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Pr("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Pr("\u2983","\\lBrace"),Pr("\u2984","\\rBrace"),Pr("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Pr("\u29b5","\\minuso"),Pr("\\darr","\\downarrow"),Pr("\\dArr","\\Downarrow"),Pr("\\Darr","\\Downarrow"),Pr("\\lang","\\langle"),Pr("\\rang","\\rangle"),Pr("\\uarr","\\uparrow"),Pr("\\uArr","\\Uparrow"),Pr("\\Uarr","\\Uparrow"),Pr("\\N","\\mathbb{N}"),Pr("\\R","\\mathbb{R}"),Pr("\\Z","\\mathbb{Z}"),Pr("\\alef","\\aleph"),Pr("\\alefsym","\\aleph"),Pr("\\Alpha","\\mathrm{A}"),Pr("\\Beta","\\mathrm{B}"),Pr("\\bull","\\bullet"),Pr("\\Chi","\\mathrm{X}"),Pr("\\clubs","\\clubsuit"),Pr("\\cnums","\\mathbb{C}"),Pr("\\Complex","\\mathbb{C}"),Pr("\\Dagger","\\ddagger"),Pr("\\diamonds","\\diamondsuit"),Pr("\\empty","\\emptyset"),Pr("\\Epsilon","\\mathrm{E}"),Pr("\\Eta","\\mathrm{H}"),Pr("\\exist","\\exists"),Pr("\\harr","\\leftrightarrow"),Pr("\\hArr","\\Leftrightarrow"),Pr("\\Harr","\\Leftrightarrow"),Pr("\\hearts","\\heartsuit"),Pr("\\image","\\Im"),Pr("\\infin","\\infty"),Pr("\\Iota","\\mathrm{I}"),Pr("\\isin","\\in"),Pr("\\Kappa","\\mathrm{K}"),Pr("\\larr","\\leftarrow"),Pr("\\lArr","\\Leftarrow"),Pr("\\Larr","\\Leftarrow"),Pr("\\lrarr","\\leftrightarrow"),Pr("\\lrArr","\\Leftrightarrow"),Pr("\\Lrarr","\\Leftrightarrow"),Pr("\\Mu","\\mathrm{M}"),Pr("\\natnums","\\mathbb{N}"),Pr("\\Nu","\\mathrm{N}"),Pr("\\Omicron","\\mathrm{O}"),Pr("\\plusmn","\\pm"),Pr("\\rarr","\\rightarrow"),Pr("\\rArr","\\Rightarrow"),Pr("\\Rarr","\\Rightarrow"),Pr("\\real","\\Re"),Pr("\\reals","\\mathbb{R}"),Pr("\\Reals","\\mathbb{R}"),Pr("\\Rho","\\mathrm{P}"),Pr("\\sdot","\\cdot"),Pr("\\sect","\\S"),Pr("\\spades","\\spadesuit"),Pr("\\sub","\\subset"),Pr("\\sube","\\subseteq"),Pr("\\supe","\\supseteq"),Pr("\\Tau","\\mathrm{T}"),Pr("\\thetasym","\\vartheta"),Pr("\\weierp","\\wp"),Pr("\\Zeta","\\mathrm{Z}"),Pr("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Pr("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Pr("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Pr("\\bra","\\mathinner{\\langle{#1}|}"),Pr("\\ket","\\mathinner{|{#1}\\rangle}"),Pr("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Pr("\\Bra","\\left\\langle#1\\right|"),Pr("\\Ket","\\left|#1\\right\\rangle");var Xn=function(e){return function(t){var r=t.consumeArg().tokens,n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,o=t.macros.get("|"),s=t.macros.get("\\|");t.macros.beginGroup();var l=function(t){return function(r){e&&(r.macros.set("|",o),a.length&&r.macros.set("\\|",s));var i=t;!t&&a.length&&("|"===r.future().text&&(r.popToken(),i=!0));return{tokens:i?a:n,numArgs:0}}};t.macros.set("|",l(!1)),a.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,c=t.expandTokens([].concat(i,h,r));return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}}};Pr("\\bra@ket",Xn(!1)),Pr("\\bra@set",Xn(!0)),Pr("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Pr("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Pr("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Pr("\\angln","{\\angl n}"),Pr("\\blue","\\textcolor{##6495ed}{#1}"),Pr("\\orange","\\textcolor{##ffa500}{#1}"),Pr("\\pink","\\textcolor{##ff00af}{#1}"),Pr("\\red","\\textcolor{##df0030}{#1}"),Pr("\\green","\\textcolor{##28ae7b}{#1}"),Pr("\\gray","\\textcolor{gray}{#1}"),Pr("\\purple","\\textcolor{##9d38bd}{#1}"),Pr("\\blueA","\\textcolor{##ccfaff}{#1}"),Pr("\\blueB","\\textcolor{##80f6ff}{#1}"),Pr("\\blueC","\\textcolor{##63d9ea}{#1}"),Pr("\\blueD","\\textcolor{##11accd}{#1}"),Pr("\\blueE","\\textcolor{##0c7f99}{#1}"),Pr("\\tealA","\\textcolor{##94fff5}{#1}"),Pr("\\tealB","\\textcolor{##26edd5}{#1}"),Pr("\\tealC","\\textcolor{##01d1c1}{#1}"),Pr("\\tealD","\\textcolor{##01a995}{#1}"),Pr("\\tealE","\\textcolor{##208170}{#1}"),Pr("\\greenA","\\textcolor{##b6ffb0}{#1}"),Pr("\\greenB","\\textcolor{##8af281}{#1}"),Pr("\\greenC","\\textcolor{##74cf70}{#1}"),Pr("\\greenD","\\textcolor{##1fab54}{#1}"),Pr("\\greenE","\\textcolor{##0d923f}{#1}"),Pr("\\goldA","\\textcolor{##ffd0a9}{#1}"),Pr("\\goldB","\\textcolor{##ffbb71}{#1}"),Pr("\\goldC","\\textcolor{##ff9c39}{#1}"),Pr("\\goldD","\\textcolor{##e07d10}{#1}"),Pr("\\goldE","\\textcolor{##a75a05}{#1}"),Pr("\\redA","\\textcolor{##fca9a9}{#1}"),Pr("\\redB","\\textcolor{##ff8482}{#1}"),Pr("\\redC","\\textcolor{##f9685d}{#1}"),Pr("\\redD","\\textcolor{##e84d39}{#1}"),Pr("\\redE","\\textcolor{##bc2612}{#1}"),Pr("\\maroonA","\\textcolor{##ffbde0}{#1}"),Pr("\\maroonB","\\textcolor{##ff92c6}{#1}"),Pr("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Pr("\\maroonD","\\textcolor{##ca337c}{#1}"),Pr("\\maroonE","\\textcolor{##9e034e}{#1}"),Pr("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Pr("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Pr("\\purpleC","\\textcolor{##aa87ff}{#1}"),Pr("\\purpleD","\\textcolor{##7854ab}{#1}"),Pr("\\purpleE","\\textcolor{##543b78}{#1}"),Pr("\\mintA","\\textcolor{##f5f9e8}{#1}"),Pr("\\mintB","\\textcolor{##edf2df}{#1}"),Pr("\\mintC","\\textcolor{##e0e5cc}{#1}"),Pr("\\grayA","\\textcolor{##f6f7f7}{#1}"),Pr("\\grayB","\\textcolor{##f0f1f2}{#1}"),Pr("\\grayC","\\textcolor{##e3e5e6}{#1}"),Pr("\\grayD","\\textcolor{##d6d8da}{#1}"),Pr("\\grayE","\\textcolor{##babec2}{#1}"),Pr("\\grayF","\\textcolor{##888d93}{#1}"),Pr("\\grayG","\\textcolor{##626569}{#1}"),Pr("\\grayH","\\textcolor{##3b3e40}{#1}"),Pr("\\grayI","\\textcolor{##21242c}{#1}"),Pr("\\kaBlue","\\textcolor{##314453}{#1}"),Pr("\\kaGreen","\\textcolor{##71B307}{#1}");var Wn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},_n=function(){function e(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Dn(Vn,t.macros),this.mode=r,this.stack=[]}var t=e.prototype;return t.feed=function(e){this.lexer=new Ln(e,this.settings)},t.switchMode=function(e){this.mode=e},t.beginGroup=function(){this.macros.beginGroup()},t.endGroup=function(){this.macros.endGroup()},t.endGroups=function(){this.macros.endGroups()},t.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},t.popToken=function(){return this.future(),this.stack.pop()},t.pushToken=function(e){this.stack.push(e)},t.pushTokens=function(e){var t;(t=this.stack).push.apply(t,e)},t.scanArgument=function(e){var t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken();var a=this.consumeArg(["]"]);n=a.tokens,r=a.end}else{var i=this.consumeArg();n=i.tokens,t=i.start,r=i.end}return this.pushToken(new Gr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")},t.consumeSpaces=function(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}},t.consumeArg=function(e){var t=[],r=e&&e.length>0;r||this.consumeSpaces();var a,i=this.future(),o=0,s=0;do{if(a=this.popToken(),t.push(a),"{"===a.text)++o;else if("}"===a.text){if(-1===--o)throw new n("Extra }",a)}else if("EOF"===a.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[s]:"}")+"'",a);if(e&&r)if((0===o||1===o&&"{"===e[s])&&a.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return"{"===i.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:a}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");for(var r=t[0],a=0;athis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting");var i=a.tokens,o=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs)for(var s=(i=i.slice()).length-1;s>=0;--s){var l=i[s];if("#"===l.text){if(0===s)throw new n("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--s]).text)i.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new n("Not a valid argument number",l);var h;(h=i).splice.apply(h,[s,2].concat(o[+l.text-1]))}}}return this.pushTokens(i),i.length},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error},t.expandMacro=function(e){return this.macros.has(e)?this.expandTokens([new Gr(e)]):void 0},t.expandTokens=function(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return t},t.expandMacroAsText=function(e){var t=this.expandMacro(e);return t?t.map((function(e){return e.text})).join(""):t},t._getExpansion=function(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var n="function"==typeof t?t(this):t;if("string"==typeof n){var a=0;if(-1!==n.indexOf("#"))for(var i=n.replace(/##/g,"");-1!==i.indexOf("#"+(a+1));)++a;for(var o=new Ln(n,this.settings),s=[],l=o.lex();"EOF"!==l.text;)s.push(l),l=o.lex();return s.reverse(),{tokens:s,numArgs:a}}return n},t.isDefined=function(e){return this.macros.has(e)||qn.hasOwnProperty(e)||ae.math.hasOwnProperty(e)||ae.text.hasOwnProperty(e)||Wn.hasOwnProperty(e)},t.isExpandable=function(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:qn.hasOwnProperty(e)&&!qn[e].primitive},e}(),jn=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,$n=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Zn={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Kn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"},Jn=function(){function e(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new _n(e,t,this.mode),this.settings=t,this.leftrightDepth=0}var t=e.prototype;return t.expect=function(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()},t.consume=function(){this.nextToken=null},t.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},t.switchMode=function(e){this.mode=e,this.gullet.switchMode(e)},t.parse=function(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}},t.subparse=function(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Gr("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r},t.parseExpression=function(t,r){for(var n=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(-1!==e.endOfExpression.indexOf(a.text))break;if(r&&a.text===r)break;if(t&&qn[a.text]&&qn[a.text].infix)break;var i=this.parseAtom(r);if(!i)break;"internal"!==i.type&&n.push(i)}return"text"===this.mode&&this.formLigatures(n),this.handleInfixNodes(n)},t.handleInfixNodes=function(e){for(var t,r=-1,a=0;a=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var s,l=ae[this.mode][t].group,h=Fr.range(e);if(te.hasOwnProperty(l)){var c=l;s={type:"atom",mode:this.mode,family:c,loc:h,text:t}}else s={type:l,mode:this.mode,loc:h,text:t};i=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(S(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),i={type:"textord",mode:"text",loc:Fr.range(e),text:t}}if(this.consume(),o)for(var m=0;me;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!c){c=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r=200==Math.round(t(o.width)),s.isBoxSizeOuter=r,i.removeChild(e)}}function s(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var s=n(e);if("none"==s.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var c=a.isBorderBox="border-box"==s.boxSizing,d=0;u>d;d++){var l=h[d],f=s[l],p=parseFloat(f);a[l]=isNaN(p)?0:p}var g=a.paddingLeft+a.paddingRight,m=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,x=a.borderTopWidth+a.borderBottomWidth,b=c&&r,E=t(s.width);E!==!1&&(a.width=E+(b?0:g+_));var w=t(s.height);return w!==!1&&(a.height=w+(b?0:m+x)),a.innerWidth=a.width-(g+_),a.innerHeight=a.height-(m+x),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var r,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,c=!1;return s}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o=t.x+e&&this.y+this.height>=t.y+i},e.overlaps=function(t){var e=this.x+this.width,i=this.y+this.height,n=t.x+t.width,o=t.y+t.height;return this.xt.x&&this.yt.y},e.getMaximalFreeRects=function(e){if(!this.overlaps(e))return!1;var i,n=[],o=this.x+this.width,s=this.y+this.height,r=e.x+e.width,a=e.y+e.height;return this.yr&&(i=new t({x:r,y:this.y,width:o-r,height:this.height}),n.push(i)),s>a&&(i=new t({x:this.x,y:a,width:this.width,height:s-a}),n.push(i)),this.x=t.width&&this.height>=t.height},t}),function(t,e){if("function"==typeof define&&define.amd)define("packery/js/packer",["./rect"],e);else if("object"==typeof module&&module.exports)module.exports=e(require("./rect"));else{var i=t.Packery=t.Packery||{};i.Packer=e(i.Rect)}}(window,function(t){"use strict";function e(t,e,i){this.width=t||0,this.height=e||0,this.sortDirection=i||"downwardLeftToRight",this.reset()}var i=e.prototype;i.reset=function(){this.spaces=[];var e=new t({x:0,y:0,width:this.width,height:this.height});this.spaces.push(e),this.sorter=n[this.sortDirection]||n.downwardLeftToRight},i.pack=function(t){for(var e=0;e=t.x+t.width&&i.height>=t.height-.01;if(n){t.y=i.y,this.placed(t);break}}},i.rowPack=function(t){for(var e=0;e=t.y+t.height&&i.width>=t.width-.01;if(n){t.x=i.x,this.placed(t);break}}},i.placeInSpace=function(t,e){t.x=e.x,t.y=e.y,this.placed(t)},i.placed=function(t){for(var e=[],i=0;ii&&1>n;return o?void this.goTo(t,e):void a.apply(this,arguments)},s.enablePlacing=function(){this.removeTransitionStyles(),this.isTransitioning&&n&&(this.element.style[n]="none"),this.isTransitioning=!1,this.getSize(),this.layout._setRectSize(this.element,this.rect),this.isPlacing=!0},s.disablePlacing=function(){this.isPlacing=!1},s.removeElem=function(){var t=this.element.parentNode;t&&t.removeChild(this.element),this.layout.packer.addSpace(this.rect),this.emitEvent("remove",[this])},s.showDropPlaceholder=function(){var t=this.dropPlaceholder;t||(t=this.dropPlaceholder=document.createElement("div"),t.className="packery-drop-placeholder",t.style.position="absolute"),t.style.width=this.size.width+"px",t.style.height=this.size.height+"px",this.positionDropPlaceholder(),this.layout.element.appendChild(t)},s.positionDropPlaceholder=function(){this.dropPlaceholder.style[n]="translate("+this.rect.x+"px, "+this.rect.y+"px)"},s.hideDropPlaceholder=function(){var t=this.dropPlaceholder.parentNode;t&&t.removeChild(this.dropPlaceholder)},o}),function(t,e){"function"==typeof define&&define.amd?define(["get-size/get-size","outlayer/outlayer","packery/js/rect","packery/js/packer","packery/js/item"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer"),require("./rect"),require("./packer"),require("./item")):t.Packery=e(t.getSize,t.Outlayer,t.Packery.Rect,t.Packery.Packer,t.Packery.Item)}(window,function(t,e,i,n,o){"use strict";function s(t,e){return t.position.y-e.position.y||t.position.x-e.position.x}function r(t,e){return t.position.x-e.position.x||t.position.y-e.position.y}function a(t,e){var i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)}i.prototype.canFit=function(t){return this.width>=t.width-1&&this.height>=t.height-1};var h=e.create("packery");h.Item=o;var u=h.prototype;u._create=function(){e.prototype._create.call(this),this.packer=new n,this.shiftPacker=new n,this.isEnabled=!0,this.dragItemCount=0;var t=this;this.handleDraggabilly={dragStart:function(){t.itemDragStart(this.element)},dragMove:function(){t.itemDragMove(this.element,this.position.x,this.position.y)},dragEnd:function(){t.itemDragEnd(this.element)}},this.handleUIDraggable={start:function(e,i){i&&t.itemDragStart(e.currentTarget)},drag:function(e,i){i&&t.itemDragMove(e.currentTarget,i.position.left,i.position.top)},stop:function(e,i){i&&t.itemDragEnd(e.currentTarget)}}},u._resetLayout=function(){this.getSize(),this._getMeasurements();var t,e,i;this._getOption("horizontal")?(t=1/0,e=this.size.innerHeight+this.gutter,i="rightwardTopToBottom"):(t=this.size.innerWidth+this.gutter,e=1/0,i="downwardLeftToRight"),this.packer.width=this.shiftPacker.width=t,this.packer.height=this.shiftPacker.height=e,this.packer.sortDirection=this.shiftPacker.sortDirection=i,this.packer.reset(),this.maxY=0,this.maxX=0},u._getMeasurements=function(){this._getMeasurement("columnWidth","width"),this._getMeasurement("rowHeight","height"),this._getMeasurement("gutter","width")},u._getItemLayoutPosition=function(t){if(this._setRectSize(t.element,t.rect),this.isShifting||this.dragItemCount>0){var e=this._getPackMethod();this.packer[e](t.rect)}else this.packer.pack(t.rect);return this._setMaxXY(t.rect),t.rect},u.shiftLayout=function(){this.isShifting=!0,this.layout(),delete this.isShifting},u._getPackMethod=function(){return this._getOption("horizontal")?"rowPack":"columnPack"},u._setMaxXY=function(t){this.maxX=Math.max(t.x+t.width,this.maxX),this.maxY=Math.max(t.y+t.height,this.maxY)},u._setRectSize=function(e,i){var n=t(e),o=n.outerWidth,s=n.outerHeight;(o||s)&&(o=this._applyGridGutter(o,this.columnWidth),s=this._applyGridGutter(s,this.rowHeight)),i.width=Math.min(o,this.packer.width),i.height=Math.min(s,this.packer.height)},u._applyGridGutter=function(t,e){if(!e)return t+this.gutter;e+=this.gutter;var i=t%e,n=i&&1>i?"round":"ceil";return t=Math[n](t/e)*e},u._getContainerSize=function(){return this._getOption("horizontal")?{width:this.maxX-this.gutter}:{height:this.maxY-this.gutter}},u._manageStamp=function(t){var e,n=this.getItem(t);if(n&&n.isPlacing)e=n.rect;else{var o=this._getElementOffset(t);e=new i({x:this._getOption("originLeft")?o.left:o.right,y:this._getOption("originTop")?o.top:o.bottom})}this._setRectSize(t,e),this.packer.placed(e),this._setMaxXY(e)},u.sortItemsByPosition=function(){var t=this._getOption("horizontal")?r:s;this.items.sort(t)},u.fit=function(t,e,i){var n=this.getItem(t);n&&(this.stamp(n.element),n.enablePlacing(),this.updateShiftTargets(n),e=void 0===e?n.rect.x:e,i=void 0===i?n.rect.y:i,this.shift(n,e,i),this._bindFitEvents(n),n.moveTo(n.rect.x,n.rect.y),this.shiftLayout(),this.unstamp(n.element),this.sortItemsByPosition(),n.disablePlacing())},u._bindFitEvents=function(t){function e(){n++,2==n&&i.dispatchEvent("fitComplete",null,[t])}var i=this,n=0;t.once("layout",e),this.once("layoutComplete",e)},u.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&(this.options.shiftPercentResize?this.resizeShiftPercentLayout():this.layout())},u.needsResizeLayout=function(){var e=t(this.element),i=this._getOption("horizontal")?"innerHeight":"innerWidth";return e[i]!=this.size[i]},u.resizeShiftPercentLayout=function(){var e=this._getItemsForLayout(this.items),i=this._getOption("horizontal"),n=i?"y":"x",o=i?"height":"width",s=i?"rowHeight":"columnWidth",r=i?"innerHeight":"innerWidth",a=this[s];if(a=a&&a+this.gutter){this._getMeasurements();var h=this[s]+this.gutter;e.forEach(function(t){var e=Math.round(t.rect[n]/a);t.rect[n]=e*h})}else{var u=t(this.element)[r]+this.gutter,c=this.packer[o];e.forEach(function(t){t.rect[n]=t.rect[n]/c*u})}this.shiftLayout()},u.itemDragStart=function(t){if(this.isEnabled){this.stamp(t);var e=this.getItem(t);e&&(e.enablePlacing(),e.showDropPlaceholder(),this.dragItemCount++,this.updateShiftTargets(e))}},u.updateShiftTargets=function(t){this.shiftPacker.reset(),this._getBoundingRect();var e=this._getOption("originLeft"),n=this._getOption("originTop");this.stamps.forEach(function(t){var o=this.getItem(t);if(!o||!o.isPlacing){var s=this._getElementOffset(t),r=new i({x:e?s.left:s.right,y:n?s.top:s.bottom});this._setRectSize(t,r),this.shiftPacker.placed(r)}},this);var o=this._getOption("horizontal"),s=o?"rowHeight":"columnWidth",r=o?"height":"width";this.shiftTargetKeys=[],this.shiftTargets=[];var a,h=this[s];if(h=h&&h+this.gutter){var u=Math.ceil(t.rect[r]/h),c=Math.floor((this.shiftPacker[r]+this.gutter)/h);a=(c-u)*h;for(var d=0;c>d;d++){var l=o?0:d*h,f=o?d*h:0;this._addShiftTarget(l,f,a)}}else a=this.shiftPacker[r]+this.gutter-t.rect[r],this._addShiftTarget(0,0,a);var p=this._getItemsForLayout(this.items),g=this._getPackMethod();p.forEach(function(t){var e=t.rect;this._setRectSize(t.element,e),this.shiftPacker[g](e),this._addShiftTarget(e.x,e.y,a);var i=o?e.x+e.width:e.x,n=o?e.y:e.y+e.height;if(this._addShiftTarget(i,n,a),h)for(var s=Math.round(e[r]/h),u=1;s>u;u++){var c=o?i:e.x+h*u,d=o?e.y+h*u:n;this._addShiftTarget(c,d,a)}},this)},u._addShiftTarget=function(t,e,i){var n=this._getOption("horizontal")?e:t;if(!(0!==n&&n>i)){var o=t+","+e,s=-1!=this.shiftTargetKeys.indexOf(o);s||(this.shiftTargetKeys.push(o),this.shiftTargets.push({x:t,y:e}))}},u.shift=function(t,e,i){var n,o=1/0,s={x:e,y:i};this.shiftTargets.forEach(function(t){ +var e=a(t,s);o>e&&(n=t,o=e)}),t.rect.x=n.x,t.rect.y=n.y};var c=120;u.itemDragMove=function(t,e,i){function n(){s.shift(o,e,i),o.positionDropPlaceholder(),s.layout()}var o=this.isEnabled&&this.getItem(t);if(o){e-=this.size.paddingLeft,i-=this.size.paddingTop;var s=this,r=new Date,a=this._itemDragTime&&r-this._itemDragTimemt in N?xL(N,mt,{enumerable:!0,configurable:!0,writable:!0,value:O}):N[mt]=O;var ke=(N,mt,O)=>(CL(N,typeof mt!="symbol"?mt+"":mt,O),O);const mt=(()=>{const s={};let t=1;return{set(e,i,n){typeof e[i]>"u"&&(e[i]={key:i,id:t},t++),s[e[i].id]=n},get(e,i){if(!e||typeof e[i]>"u")return null;const n=e[i];return n.key===i?s[n.id]:null},delete(e,i){if(typeof e[i]>"u")return;const n=e[i];n.key===i&&(delete s[n.id],delete e[i])}}})(),O={setData(s,t,e){mt.set(s,t,e)},getData(s,t){return mt.get(s,t)},removeData(s,t){mt.delete(s,t)}},lm=1e6,cm=1e3,xa="transitionend",hm=s=>s==null?`${s}`:{}.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase(),bt=s=>{do s+=Math.floor(Math.random()*lm);while(document.getElementById(s));return s},ch=s=>{let t=s.getAttribute("data-te-target");if(!t||t==="#"){let e=s.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),t=e&&e!=="#"?e.trim():null}return t},Ca=s=>{const t=ch(s);return t&&document.querySelector(t)?t:null},Ne=s=>{const t=ch(s);return t?document.querySelector(t):null},oo=s=>{if(!s)return 0;let{transitionDuration:t,transitionDelay:e}=window.getComputedStyle(s);const i=Number.parseFloat(t),n=Number.parseFloat(e);return!i&&!n?0:(t=t.split(",")[0],e=e.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(e))*cm)},hh=s=>{s.dispatchEvent(new Event(xa))},Wi=s=>!s||typeof s!="object"?!1:(typeof s.jquery<"u"&&(s=s[0]),typeof s.nodeType<"u"),Be=s=>Wi(s)?s.jquery?s[0]:s:typeof s=="string"&&s.length>0?document.querySelector(s):null,L=(s,t,e)=>{Object.keys(e).forEach(i=>{const n=e[i],o=t[i],r=o&&Wi(o)?"element":hm(o);if(!new RegExp(n).test(r))throw new Error(`${s.toUpperCase()}: Option "${i}" provided type "${r}" but expected type "${n}".`)})},ae=s=>{if(!s||s.getClientRects().length===0)return!1;if(s.style&&s.parentNode&&s.parentNode.style){const t=getComputedStyle(s),e=getComputedStyle(s.parentNode);return getComputedStyle(s).getPropertyValue("visibility")==="visible"||t.display!=="none"&&e.display!=="none"&&t.visibility!=="hidden"}return!1},ci=s=>!s||s.nodeType!==Node.ELEMENT_NODE||s.classList.contains("disabled")?!0:typeof s.disabled<"u"?s.disabled:s.hasAttribute("disabled")&&s.getAttribute("disabled")!=="false",dh=s=>{if(!document.documentElement.attachShadow)return null;if(typeof s.getRootNode=="function"){const t=s.getRootNode();return t instanceof ShadowRoot?t:null}return s instanceof ShadowRoot?s:s.parentNode?dh(s.parentNode):null},ro=()=>function(){},zi=s=>{s.offsetHeight},uh=()=>{const{jQuery:s}=window;return s&&!document.body.hasAttribute("data-te-no-jquery")?s:null},Aa=[],ph=s=>{document.readyState==="loading"?(Aa.length||document.addEventListener("DOMContentLoaded",()=>{Aa.forEach(t=>t())}),Aa.push(s)):s()},et=()=>document.documentElement.dir==="rtl",dm=s=>Array.from(s),$=s=>document.createElement(s),hi=s=>{typeof s=="function"&&s()},fh=(s,t,e=!0)=>{if(!e){hi(s);return}const i=5,n=oo(t)+i;let o=!1;const r=({target:a})=>{a===t&&(o=!0,t.removeEventListener(xa,r),hi(s))};t.addEventListener(xa,r),setTimeout(()=>{o||hh(t)},n)},_h=(s,t,e,i)=>{let n=s.indexOf(t);if(n===-1)return s[!e&&i?s.length-1:0];const o=s.length;return n+=e?1:-1,i&&(n=(n+o)%o),s[Math.max(0,Math.min(n,o-1))]},um=/[^.]*(?=\..*)\.|.*/,pm=/\..*/,fm=/::\d+$/,wa={};let gh=1;const _m={mouseenter:"mouseover",mouseleave:"mouseout"},gm=/^(mouseenter|mouseleave)/i,mh=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 bh(s,t){return t&&`${t}::${gh++}`||s.uidEvent||gh++}function vh(s){const t=bh(s);return s.uidEvent=t,wa[t]=wa[t]||{},wa[t]}function mm(s,t){return function e(i){return i.delegateTarget=s,e.oneOff&&_.off(s,i.type,t),t.apply(s,[i])}}function bm(s,t,e){return function i(n){const o=s.querySelectorAll(t);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;"")if(o[a]===r)return n.delegateTarget=r,i.oneOff&&_.off(s,n.type,e),e.apply(r,[n]);return null}}function yh(s,t,e=null){const i=Object.keys(s);for(let n=0,o=i.length;nfunction(b){if(!b.relatedTarget||b.relatedTarget!==b.delegateTarget&&!b.delegateTarget.contains(b.relatedTarget))return f.call(this,b)};i?i=p(i):e=p(e)}const[o,r,a]=Th(t,e,i),l=vh(s),c=l[a]||(l[a]={}),h=yh(c,r,o?e:null);if(h){h.oneOff=h.oneOff&&n;return}const d=bh(r,t.replace(um,"")),u=o?bm(s,e,i):mm(s,e);u.delegationSelector=o?e:null,u.originalHandler=r,u.oneOff=n,u.uidEvent=d,c[d]=u,s.addEventListener(a,u,o)}function ka(s,t,e,i,n){const o=yh(t[e],i,n);o&&(s.removeEventListener(e,o,!!n),delete t[e][o.uidEvent])}function vm(s,t,e,i){const n=t[e]||{};Object.keys(n).forEach(o=>{if(o.includes(i)){const r=n[o];ka(s,t,e,r.originalHandler,r.delegationSelector)}})}function xh(s){return s=s.replace(pm,""),_m[s]||s}const _={on(s,t,e,i){Eh(s,t,e,i,!1)},one(s,t,e,i){Eh(s,t,e,i,!0)},off(s,t,e,i){if(typeof t!="string"||!s)return;const[n,o,r]=Th(t,e,i),a=r!==t,l=vh(s),c=t.startsWith(".");if(typeof o<"u"){if(!l||!l[r])return;ka(s,l,r,o,n?e:null);return}c&&Object.keys(l).forEach(d=>{vm(s,l,d,t.slice(1))});const h=l[r]||{};Object.keys(h).forEach(d=>{const u=d.replace(fm,"");if(!a||t.includes(u)){const p=h[d];ka(s,l,r,p.originalHandler,p.delegationSelector)}})},trigger(s,t,e){if(typeof t!="string"||!s)return null;const i=uh(),n=xh(t),o=t!==n,r=mh.has(n);let a,l=!0,c=!0,h=!1,d=null;return o&&i&&(a=i.Event(t,e),i(s).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(n,l,!0)):d=new CustomEvent(t,{bubbles:l,cancelable:!0}),typeof e<"u"&&Object.keys(e).forEach(u=>{Object.defineProperty(d,u,{get(){return e[u]}})}),h&&d.preventDefault(),c&&s.dispatchEvent(d),d.defaultPrevented&&typeof a<"u"&&a.preventDefault(),d}},ct={on(s,t,e,i){const n=t.split(" ");for(let o=0;o{this[t]=null})}_queueCallback(t,e,i=!0){fh(t,e,i)}static getInstance(t){return O.getData(Be(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static get VERSION(){return ym}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`te.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const Tm="button",Em="active";class ao extends Mt{static get NAME(){return Tm}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Em))}static jQueryInterface(t){return this.each(function(){const e=ao.getOrCreateInstance(this);t==="toggle"&&e[t]()})}}var vt="top",Lt="bottom",$t="right",yt="left",Ps="auto",ji=[vt,Lt,$t,yt],di="start",Yi="end",Ch="clippingParents",Sa="viewport",Ki="popper",Ah="reference",Oa=ji.reduce(function(s,t){return s.concat([t+"-"+di,t+"-"+Yi])},[]),Ia=[].concat(ji,[Ps]).reduce(function(s,t){return s.concat([t,t+"-"+di,t+"-"+Yi])},[]),wh="beforeRead",kh="read",Sh="afterRead",Oh="beforeMain",Ih="main",Dh="afterMain",Mh="beforeWrite",Lh="write",$h="afterWrite",lo=[wh,kh,Sh,Oh,Ih,Dh,Mh,Lh,$h];function le(s){return s?(s.nodeName||"").toLowerCase():null}function Rt(s){if(s==null)return window;if(s.toString()!=="[object Window]"){var t=s.ownerDocument;return t&&t.defaultView||window}return s}function ui(s){var t=Rt(s).Element;return s instanceof t||s instanceof Element}function Pt(s){var t=Rt(s).HTMLElement;return s instanceof t||s instanceof HTMLElement}function Da(s){if(typeof ShadowRoot>"u")return!1;var t=Rt(s).ShadowRoot;return s instanceof t||s instanceof ShadowRoot}function xm(s){var t=s.state;Object.keys(t.elements).forEach(function(e){var i=t.styles[e]||{},n=t.attributes[e]||{},o=t.elements[e];!Pt(o)||!le(o)||(Object.assign(o.style,i),Object.keys(n).forEach(function(r){var a=n[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function Cm(s){var t=s.state,e={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,e.popper),t.styles=e,t.elements.arrow&&Object.assign(t.elements.arrow.style,e.arrow),function(){Object.keys(t.elements).forEach(function(i){var n=t.elements[i],o=t.attributes[i]||{},r=Object.keys(t.styles.hasOwnProperty(i)?t.styles[i]:e[i]),a=r.reduce(function(l,c){return l[c]="",l},{});!Pt(n)||!le(n)||(Object.assign(n.style,a),Object.keys(o).forEach(function(l){n.removeAttribute(l)}))})}}const Ma={name:"applyStyles",enabled:!0,phase:"write",fn:xm,effect:Cm,requires:["computeStyles"]};function Qt(s){return s.split("-")[0]}var pi=Math.max,co=Math.min,Ui=Math.round;function La(){var s=navigator.userAgentData;return s!=null&&s.brands&&Array.isArray(s.brands)?s.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Rh(){return!/^((?!chrome|android).)*safari/i.test(La())}function Xi(s,t,e){t===void 0&&(t=!1),e===void 0&&(e=!1);var i=s.getBoundingClientRect(),n=1,o=1;t&&Pt(s)&&(n=s.offsetWidth>0&&Ui(i.width)/s.offsetWidth||1,o=s.offsetHeight>0&&Ui(i.height)/s.offsetHeight||1);var r=ui(s)?Rt(s):window,a=r.visualViewport,l=!Rh()&&e,c=(i.left+(l&&a?a.offsetLeft:0))/n,h=(i.top+(l&&a?a.offsetTop:0))/o,d=i.width/n,u=i.height/o;return{width:d,height:u,top:h,right:c+d,bottom:h+u,left:c,x:c,y:h}}function $a(s){var t=Xi(s),e=s.offsetWidth,i=s.offsetHeight;return Math.abs(t.width-e)<=1&&(e=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:s.offsetLeft,y:s.offsetTop,width:e,height:i}}function Ph(s,t){var e=t.getRootNode&&t.getRootNode();if(s.contains(t))return!0;if(e&&Da(e)){var i=t;do{if(i&&s.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Jt(s){return Rt(s).getComputedStyle(s)}function Am(s){return["table","td","th"].indexOf(le(s))>=0}function He(s){return((ui(s)?s.ownerDocument:s.document)||window.document).documentElement}function ho(s){return le(s)==="html"?s:s.assignedSlot||s.parentNode||(Da(s)?s.host:null)||He(s)}function Nh(s){return!Pt(s)||Jt(s).position==="fixed"?null:s.offsetParent}function wm(s){var t=/firefox/i.test(La()),e=/Trident/i.test(La());if(e&&Pt(s)){var i=Jt(s);if(i.position==="fixed")return null}var n=ho(s);for(Da(n)&&(n=n.host);Pt(n)&&["html","body"].indexOf(le(n))<0;){var o=Jt(n);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return n;n=n.parentNode}return null}function Ns(s){for(var t=Rt(s),e=Nh(s);e&&Am(e)&&Jt(e).position==="static";)e=Nh(e);return e&&(le(e)==="html"||le(e)==="body"&&Jt(e).position==="static")?t:e||wm(s)||t}function Ra(s){return["top","bottom"].indexOf(s)>=0?"x":"y"}function Bs(s,t,e){return pi(s,co(t,e))}function km(s,t,e){var i=Bs(s,t,e);return i>e?e:i}function Bh(){return{top:0,right:0,bottom:0,left:0}}function Hh(s){return Object.assign({},Bh(),s)}function Vh(s,t){return t.reduce(function(e,i){return e[i]=s,e},{})}var Sm=function(t,e){return t=typeof t=="function"?t(Object.assign({},e.rects,{placement:e.placement})):t,Hh(typeof t!="number"?t:Vh(t,ji))};function Om(s){var t,e=s.state,i=s.name,n=s.options,o=e.elements.arrow,r=e.modifiersData.popperOffsets,a=Qt(e.placement),l=Ra(a),c=[yt,$t].indexOf(a)>=0,h=c?"height":"width";if(!(!o||!r)){var d=Sm(n.padding,e),u=$a(o),p=l==="y"?vt:yt,f=l==="y"?Lt:$t,b=e.rects.reference[h]+e.rects.reference[l]-r[l]-e.rects.popper[h],v=r[l]-e.rects.reference[l],y=Ns(o),T=y?l==="y"?y.clientHeight||0:y.clientWidth||0:0,x=b/2-v/2,E=d[p],C=T-u[h]-d[f],A=T/2-u[h]/2+x,w=Bs(E,A,C),S=l;e.modifiersData[i]=(t={},t[S]=w,t.centerOffset=w-A,t)}}function Im(s){var t=s.state,e=s.options,i=e.element,n=i===void 0?"[data-popper-arrow]":i;if(n!=null&&!(typeof n=="string"&&(n=t.elements.popper.querySelector(n),!n))){if({}.NODE_ENV!=="production"&&(Pt(n)||console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).',"To use an SVG arrow, wrap it in an HTMLElement that will be used as","the arrow."].join(" "))),!Ph(t.elements.popper,n)){({}).NODE_ENV!=="production"&&console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper',"element."].join(" "));return}t.elements.arrow=n}}const Fh={name:"arrow",enabled:!0,phase:"main",fn:Om,effect:Im,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Gi(s){return s.split("-")[1]}var Dm={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mm(s,t){var e=s.x,i=s.y,n=t.devicePixelRatio||1;return{x:Ui(e*n)/n||0,y:Ui(i*n)/n||0}}function Wh(s){var t,e=s.popper,i=s.popperRect,n=s.placement,o=s.variation,r=s.offsets,a=s.position,l=s.gpuAcceleration,c=s.adaptive,h=s.roundOffsets,d=s.isFixed,u=r.x,p=u===void 0?0:u,f=r.y,b=f===void 0?0:f,v=typeof h=="function"?h({x:p,y:b}):{x:p,y:b};p=v.x,b=v.y;var y=r.hasOwnProperty("x"),T=r.hasOwnProperty("y"),x=yt,E=vt,C=window;if(c){var A=Ns(e),w="clientHeight",S="clientWidth";if(A===Rt(e)&&(A=He(e),Jt(A).position!=="static"&&a==="absolute"&&(w="scrollHeight",S="scrollWidth")),A=A,n===vt||(n===yt||n===$t)&&o===Yi){E=Lt;var k=d&&A===C&&C.visualViewport?C.visualViewport.height:A[w];b-=k-i.height,b*=l?1:-1}if(n===yt||(n===vt||n===Lt)&&o===Yi){x=$t;var D=d&&A===C&&C.visualViewport?C.visualViewport.width:A[S];p-=D-i.width,p*=l?1:-1}}var I=Object.assign({position:a},c&&Dm),M=h===!0?Mm({x:p,y:b},Rt(e)):{x:p,y:b};if(p=M.x,b=M.y,l){var P;return Object.assign({},I,(P={},P[E]=T?"0":"",P[x]=y?"0":"",P.transform=(C.devicePixelRatio||1)<=1?"translate("+p+"px, "+b+"px)":"translate3d("+p+"px, "+b+"px, 0)",P))}return Object.assign({},I,(t={},t[E]=T?b+"px":"",t[x]=y?p+"px":"",t.transform="",t))}function Lm(s){var t=s.state,e=s.options,i=e.gpuAcceleration,n=i===void 0?!0:i,o=e.adaptive,r=o===void 0?!0:o,a=e.roundOffsets,l=a===void 0?!0:a;if({}.NODE_ENV!=="production"){var c=Jt(t.elements.popper).transitionProperty||"";r&&["transform","top","right","bottom","left"].some(function(d){return c.indexOf(d)>=0})&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',` + +`,'Disable the "computeStyles" modifier\'s `adaptive` option to allow',"for smooth transitions, or remove these properties from the CSS","transition declaration on the popper element if only transitioning","opacity or background-color for example.",` + +`,"We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "))}var h={placement:Qt(t.placement),variation:Gi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Wh(Object.assign({},h,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Wh(Object.assign({},h,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Pa={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Lm,data:{}};var uo={passive:!0};function $m(s){var t=s.state,e=s.instance,i=s.options,n=i.scroll,o=n===void 0?!0:n,r=i.resize,a=r===void 0?!0:r,l=Rt(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(h){h.addEventListener("scroll",e.update,uo)}),a&&l.addEventListener("resize",e.update,uo),function(){o&&c.forEach(function(h){h.removeEventListener("scroll",e.update,uo)}),a&&l.removeEventListener("resize",e.update,uo)}}const Na={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:$m,data:{}};var Rm={left:"right",right:"left",bottom:"top",top:"bottom"};function po(s){return s.replace(/left|right|bottom|top/g,function(t){return Rm[t]})}var Pm={start:"end",end:"start"};function zh(s){return s.replace(/start|end/g,function(t){return Pm[t]})}function Ba(s){var t=Rt(s),e=t.pageXOffset,i=t.pageYOffset;return{scrollLeft:e,scrollTop:i}}function Ha(s){return Xi(He(s)).left+Ba(s).scrollLeft}function Nm(s,t){var e=Rt(s),i=He(s),n=e.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(n){o=n.width,r=n.height;var c=Rh();(c||!c&&t==="fixed")&&(a=n.offsetLeft,l=n.offsetTop)}return{width:o,height:r,x:a+Ha(s),y:l}}function Bm(s){var t,e=He(s),i=Ba(s),n=(t=s.ownerDocument)==null?void 0:t.body,o=pi(e.scrollWidth,e.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),r=pi(e.scrollHeight,e.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-i.scrollLeft+Ha(s),l=-i.scrollTop;return Jt(n||e).direction==="rtl"&&(a+=pi(e.clientWidth,n?n.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Va(s){var t=Jt(s),e=t.overflow,i=t.overflowX,n=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+n+i)}function jh(s){return["html","body","#document"].indexOf(le(s))>=0?s.ownerDocument.body:Pt(s)&&Va(s)?s:jh(ho(s))}function Hs(s,t){var e;t===void 0&&(t=[]);var i=jh(s),n=i===((e=s.ownerDocument)==null?void 0:e.body),o=Rt(i),r=n?[o].concat(o.visualViewport||[],Va(i)?i:[]):i,a=t.concat(r);return n?a:a.concat(Hs(ho(r)))}function Fa(s){return Object.assign({},s,{left:s.x,top:s.y,right:s.x+s.width,bottom:s.y+s.height})}function Hm(s,t){var e=Xi(s,!1,t==="fixed");return e.top=e.top+s.clientTop,e.left=e.left+s.clientLeft,e.bottom=e.top+s.clientHeight,e.right=e.left+s.clientWidth,e.width=s.clientWidth,e.height=s.clientHeight,e.x=e.left,e.y=e.top,e}function Yh(s,t,e){return t===Sa?Fa(Nm(s,e)):ui(t)?Hm(t,e):Fa(Bm(He(s)))}function Vm(s){var t=Hs(ho(s)),e=["absolute","fixed"].indexOf(Jt(s).position)>=0,i=e&&Pt(s)?Ns(s):s;return ui(i)?t.filter(function(n){return ui(n)&&Ph(n,i)&&le(n)!=="body"}):[]}function Fm(s,t,e,i){var n=t==="clippingParents"?Vm(s):[].concat(t),o=[].concat(n,[e]),r=o[0],a=o.reduce(function(l,c){var h=Yh(s,c,i);return l.top=pi(h.top,l.top),l.right=co(h.right,l.right),l.bottom=co(h.bottom,l.bottom),l.left=pi(h.left,l.left),l},Yh(s,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Kh(s){var t=s.reference,e=s.element,i=s.placement,n=i?Qt(i):null,o=i?Gi(i):null,r=t.x+t.width/2-e.width/2,a=t.y+t.height/2-e.height/2,l;switch(n){case vt:l={x:r,y:t.y-e.height};break;case Lt:l={x:r,y:t.y+t.height};break;case $t:l={x:t.x+t.width,y:a};break;case yt:l={x:t.x-e.width,y:a};break;default:l={x:t.x,y:t.y}}var c=n?Ra(n):null;if(c!=null){var h=c==="y"?"height":"width";switch(o){case di:l[c]=l[c]-(t[h]/2-e[h]/2);break;case Yi:l[c]=l[c]+(t[h]/2-e[h]/2);break}}return l}function qi(s,t){t===void 0&&(t={});var e=t,i=e.placement,n=i===void 0?s.placement:i,o=e.strategy,r=o===void 0?s.strategy:o,a=e.boundary,l=a===void 0?Ch:a,c=e.rootBoundary,h=c===void 0?Sa:c,d=e.elementContext,u=d===void 0?Ki:d,p=e.altBoundary,f=p===void 0?!1:p,b=e.padding,v=b===void 0?0:b,y=Hh(typeof v!="number"?v:Vh(v,ji)),T=u===Ki?Ah:Ki,x=s.rects.popper,E=s.elements[f?T:u],C=Fm(ui(E)?E:E.contextElement||He(s.elements.popper),l,h,r),A=Xi(s.elements.reference),w=Kh({reference:A,element:x,strategy:"absolute",placement:n}),S=Fa(Object.assign({},x,w)),k=u===Ki?S:A,D={top:C.top-k.top+y.top,bottom:k.bottom-C.bottom+y.bottom,left:C.left-k.left+y.left,right:k.right-C.right+y.right},I=s.modifiersData.offset;if(u===Ki&&I){var M=I[n];Object.keys(D).forEach(function(P){var X=[$t,Lt].indexOf(P)>=0?1:-1,R=[vt,Lt].indexOf(P)>=0?"y":"x";D[P]+=M[R]*X})}return D}function Wm(s,t){t===void 0&&(t={});var e=t,i=e.placement,n=e.boundary,o=e.rootBoundary,r=e.padding,a=e.flipVariations,l=e.allowedAutoPlacements,c=l===void 0?Ia:l,h=Gi(i),d=h?a?Oa:Oa.filter(function(f){return Gi(f)===h}):ji,u=d.filter(function(f){return c.indexOf(f)>=0});u.length===0&&(u=d,{}.NODE_ENV!=="production"&&console.error(["Popper: The `allowedAutoPlacements` option did not allow any","placements. Ensure the `placement` option matches the variation","of the allowed placements.",'For example, "auto" cannot be used to allow "bottom-start".','Use "auto-start" instead.'].join(" ")));var p=u.reduce(function(f,b){return f[b]=qi(s,{placement:b,boundary:n,rootBoundary:o,padding:r})[Qt(b)],f},{});return Object.keys(p).sort(function(f,b){return p[f]-p[b]})}function zm(s){if(Qt(s)===Ps)return[];var t=po(s);return[zh(s),t,zh(t)]}function jm(s){var t=s.state,e=s.options,i=s.name;if(!t.modifiersData[i]._skip){for(var n=e.mainAxis,o=n===void 0?!0:n,r=e.altAxis,a=r===void 0?!0:r,l=e.fallbackPlacements,c=e.padding,h=e.boundary,d=e.rootBoundary,u=e.altBoundary,p=e.flipVariations,f=p===void 0?!0:p,b=e.allowedAutoPlacements,v=t.options.placement,y=Qt(v),T=y===v,x=l||(T||!f?[po(v)]:zm(v)),E=[v].concat(x).reduce(function(we,Zt){return we.concat(Qt(Zt)===Ps?Wm(t,{placement:Zt,boundary:h,rootBoundary:d,padding:c,flipVariations:f,allowedAutoPlacements:b}):Zt)},[]),C=t.rects.reference,A=t.rects.popper,w=new Map,S=!0,k=E[0],D=0;D=0,R=X?"width":"height",z=qi(t,{placement:I,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),Y=X?P?$t:yt:P?Lt:vt;C[R]>A[R]&&(Y=po(Y));var Gt=po(Y),oe=[];if(o&&oe.push(z[M]<=0),a&&oe.push(z[Y]<=0,z[Gt]<=0),oe.every(function(we){return we})){k=I,S=!1;break}w.set(I,oe)}if(S)for(var re=f?3:1,li=function(Zt){var Pe=E.find(function(Ta){var Vi=w.get(Ta);if(Vi)return Vi.slice(0,Zt).every(function(rh){return rh})});if(Pe)return k=Pe,"break"},qt=re;qt>0;qt--){var Ae=li(qt);if(Ae==="break")break}t.placement!==k&&(t.modifiersData[i]._skip=!0,t.placement=k,t.reset=!0)}}const Uh={name:"flip",enabled:!0,phase:"main",fn:jm,requiresIfExists:["offset"],data:{_skip:!1}};function Xh(s,t,e){return e===void 0&&(e={x:0,y:0}),{top:s.top-t.height-e.y,right:s.right-t.width+e.x,bottom:s.bottom-t.height+e.y,left:s.left-t.width-e.x}}function Gh(s){return[vt,$t,Lt,yt].some(function(t){return s[t]>=0})}function Ym(s){var t=s.state,e=s.name,i=t.rects.reference,n=t.rects.popper,o=t.modifiersData.preventOverflow,r=qi(t,{elementContext:"reference"}),a=qi(t,{altBoundary:!0}),l=Xh(r,i),c=Xh(a,n,o),h=Gh(l),d=Gh(c);t.modifiersData[e]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}const qh={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Ym};function Km(s,t,e){var i=Qt(s),n=[yt,vt].indexOf(i)>=0?-1:1,o=typeof e=="function"?e(Object.assign({},t,{placement:s})):e,r=o[0],a=o[1];return r=r||0,a=(a||0)*n,[yt,$t].indexOf(i)>=0?{x:a,y:r}:{x:r,y:a}}function Um(s){var t=s.state,e=s.options,i=s.name,n=e.offset,o=n===void 0?[0,0]:n,r=Ia.reduce(function(h,d){return h[d]=Km(d,t.rects,o),h},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=r}const Zh={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Um};function Xm(s){var t=s.state,e=s.name;t.modifiersData[e]=Kh({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Wa={name:"popperOffsets",enabled:!0,phase:"read",fn:Xm,data:{}};function Gm(s){return s==="x"?"y":"x"}function qm(s){var t=s.state,e=s.options,i=s.name,n=e.mainAxis,o=n===void 0?!0:n,r=e.altAxis,a=r===void 0?!1:r,l=e.boundary,c=e.rootBoundary,h=e.altBoundary,d=e.padding,u=e.tether,p=u===void 0?!0:u,f=e.tetherOffset,b=f===void 0?0:f,v=qi(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),y=Qt(t.placement),T=Gi(t.placement),x=!T,E=Ra(y),C=Gm(E),A=t.modifiersData.popperOffsets,w=t.rects.reference,S=t.rects.popper,k=typeof b=="function"?b(Object.assign({},t.rects,{placement:t.placement})):b,D=typeof k=="number"?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),I=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,M={x:0,y:0};if(A){if(o){var P,X=E==="y"?vt:yt,R=E==="y"?Lt:$t,z=E==="y"?"height":"width",Y=A[E],Gt=Y+v[X],oe=Y-v[R],re=p?-S[z]/2:0,li=T===di?w[z]:S[z],qt=T===di?-S[z]:-w[z],Ae=t.elements.arrow,we=p&&Ae?$a(Ae):{width:0,height:0},Zt=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Bh(),Pe=Zt[X],Ta=Zt[R],Vi=Bs(0,w[z],we[z]),rh=x?w[z]/2-re-Vi-Pe-D.mainAxis:li-Vi-Pe-D.mainAxis,mL=x?-w[z]/2+re+Vi+Ta+D.mainAxis:qt+Vi+Ta+D.mainAxis,ah=t.elements.arrow&&Ns(t.elements.arrow),bL=ah?E==="y"?ah.clientTop||0:ah.clientLeft||0:0,Zg=(P=I==null?void 0:I[E])!=null?P:0,vL=Y+rh-Zg-bL,yL=Y+mL-Zg,Qg=Bs(p?co(Gt,vL):Gt,Y,p?pi(oe,yL):oe);A[E]=Qg,M[E]=Qg-Y}if(a){var Jg,TL=E==="x"?vt:yt,EL=E==="x"?Lt:$t,Fi=A[C],Ea=C==="y"?"height":"width",tm=Fi+v[TL],em=Fi-v[EL],lh=[vt,yt].indexOf(y)!==-1,im=(Jg=I==null?void 0:I[C])!=null?Jg:0,sm=lh?tm:Fi-w[Ea]-S[Ea]-im+D.altAxis,nm=lh?Fi+w[Ea]+S[Ea]-im-D.altAxis:em,om=p&&lh?km(sm,Fi,nm):Bs(p?sm:tm,Fi,p?nm:em);A[C]=om,M[C]=om-Fi}t.modifiersData[i]=M}}const Qh={name:"preventOverflow",enabled:!0,phase:"main",fn:qm,requiresIfExists:["offset"]};function Zm(s){return{scrollLeft:s.scrollLeft,scrollTop:s.scrollTop}}function Qm(s){return s===Rt(s)||!Pt(s)?Ba(s):Zm(s)}function Jm(s){var t=s.getBoundingClientRect(),e=Ui(t.width)/s.offsetWidth||1,i=Ui(t.height)/s.offsetHeight||1;return e!==1||i!==1}function tb(s,t,e){e===void 0&&(e=!1);var i=Pt(t),n=Pt(t)&&Jm(t),o=He(t),r=Xi(s,n,e),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!e)&&((le(t)!=="body"||Va(o))&&(a=Qm(t)),Pt(t)?(l=Xi(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=Ha(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function eb(s){var t=new Map,e=new Set,i=[];s.forEach(function(o){t.set(o.name,o)});function n(o){e.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!e.has(a)){var l=t.get(a);l&&n(l)}}),i.push(o)}return s.forEach(function(o){e.has(o.name)||n(o)}),i}function ib(s){var t=eb(s);return lo.reduce(function(e,i){return e.concat(t.filter(function(n){return n.phase===i}))},[])}function sb(s){var t;return function(){return t||(t=new Promise(function(e){Promise.resolve().then(function(){t=void 0,e(s())})})),t}}function Ve(s){for(var t=arguments.length,e=new Array(t>1?t-1:0),i=1;i100)){console.error(lb);break}if(h.reset===!0){h.reset=!1,C=-1;continue}var A=h.orderedModifiers[C],w=A.fn,S=A.options,k=S===void 0?{}:S,D=A.name;typeof w=="function"&&(h=w({state:h,options:k,name:D,instance:p})||h)}}},update:sb(function(){return new Promise(function(v){p.forceUpdate(),v(h)})}),destroy:function(){b(),u=!0}};if(!id(a,l))return{}.NODE_ENV!=="production"&&console.error(td),p;p.setOptions(c).then(function(v){!u&&c.onFirstUpdate&&c.onFirstUpdate(v)});function f(){h.orderedModifiers.forEach(function(v){var y=v.name,T=v.options,x=T===void 0?{}:T,E=v.effect;if(typeof E=="function"){var C=E({state:h,name:y,instance:p,options:x}),A=function(){};d.push(C||A)}})}function b(){d.forEach(function(v){return v()}),d=[]}return p}}var cb=fo(),hb=[Na,Wa,Pa,Ma],db=fo({defaultModifiers:hb}),ub=[Na,Wa,Pa,Ma,Zh,Uh,Qh,Fh,qh],Fe=fo({defaultModifiers:ub});const sd=Object.freeze(Object.defineProperty({__proto__:null,afterMain:Dh,afterRead:Sh,afterWrite:$h,applyStyles:Ma,arrow:Fh,auto:Ps,basePlacements:ji,beforeMain:Oh,beforeRead:wh,beforeWrite:Mh,bottom:Lt,clippingParents:Ch,computeStyles:Pa,createPopper:Fe,createPopperBase:cb,createPopperLite:db,detectOverflow:qi,end:Yi,eventListeners:Na,flip:Uh,hide:qh,left:yt,main:Ih,modifierPhases:lo,offset:Zh,placements:Ia,popper:Ki,popperGenerator:fo,popperOffsets:Wa,preventOverflow:Qh,read:kh,reference:Ah,right:$t,start:di,top:vt,variationPlacements:Oa,viewport:Sa,write:Lh},Symbol.toStringTag,{value:"Module"}));function za(s){return s==="true"?!0:s==="false"?!1:s===Number(s).toString()?Number(s):s===""||s==="null"?null:s}function ja(s){return s.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const g={setDataAttribute(s,t,e){s.setAttribute(`data-te-${ja(t)}`,e)},removeDataAttribute(s,t){s.removeAttribute(`data-te-${ja(t)}`)},getDataAttributes(s){if(!s)return{};const t={};return Object.keys(s.dataset).filter(e=>e.startsWith("te")).forEach(e=>{if(e.startsWith("teClass"))return;let i=e.replace(/^te/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),t[i]=za(s.dataset[e])}),t},getDataClassAttributes(s){if(!s)return{};const t={...s.dataset};return Object.keys(t).filter(e=>e.startsWith("teClass")).forEach(e=>{let i=e.replace(/^teClass/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),t[i]=za(t[e])}),t},getDataAttribute(s,t){return za(s.getAttribute(`data-te-${ja(t)}`))},offset(s){const t=s.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},position(s){return{top:s.offsetTop,left:s.offsetLeft}},style(s,t){Object.assign(s.style,t)},toggleClass(s,t){s&&Ya(t).forEach(e=>{s.classList.contains(e)?s.classList.remove(e):s.classList.add(e)})},addClass(s,t){Ya(t).forEach(e=>!s.classList.contains(e)&&s.classList.add(e))},addStyle(s,t){Object.keys(t).forEach(e=>{s.style[e]=t[e]})},removeClass(s,t){Ya(t).forEach(e=>s.classList.contains(e)&&s.classList.remove(e))},hasClass(s,t){return s.classList.contains(t)},maxOffset(s){const t=s.getBoundingClientRect();return{top:t.top+Math.max(document.body.scrollTop,document.documentElement.scrollTop,window.scrollY),left:t.left+Math.max(document.body.scrollLeft,document.documentElement.scrollLeft,window.scrollX)}}};function Ya(s){return typeof s=="string"?s.split(" "):Array.isArray(s)?s:!1}const pb=3,m={closest(s,t){return s.closest(t)},matches(s,t){return s.matches(t)},find(s,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,s))},findOne(s,t=document.documentElement){return Element.prototype.querySelector.call(t,s)},children(s,t){return[].concat(...s.children).filter(i=>i.matches(t))},parents(s,t){const e=[];let i=s.parentNode;for(;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==pb;)this.matches(i,t)&&e.push(i),i=i.parentNode;return e},prev(s,t){let e=s.previousElementSibling;for(;e;){if(e.matches(t))return[e];e=e.previousElementSibling}return[]},next(s,t){let e=s.nextElementSibling;for(;e;){if(this.matches(e,t))return[e];e=e.nextElementSibling}return[]},focusableChildren(s){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(", ");return this.find(t,s).filter(e=>!ci(e)&&ae(e))}},Ka="dropdown",_i=".te.dropdown",Ua=".data-api",_o="Escape",nd="Space",od="Tab",Xa="ArrowUp",go="ArrowDown",fb=2,_b=new RegExp(`${Xa}|${go}|${_o}`),gb=`hide${_i}`,mb=`hidden${_i}`,bb=`show${_i}`,vb=`shown${_i}`,yb=`click${_i}${Ua}`,rd=`keydown${_i}${Ua}`,Tb=`keyup${_i}${Ua}`,We="show",Eb="dropup",xb="dropend",Cb="dropstart",Ab="[data-te-navbar-ref]",mo="[data-te-dropdown-toggle-ref]",Ga="[data-te-dropdown-menu-ref]",wb="[data-te-navbar-nav-ref]",kb="[data-te-dropdown-menu-ref] [data-te-dropdown-item-ref]:not(.disabled):not(:disabled)",Sb=et()?"top-end":"top-start",Ob=et()?"top-start":"top-end",Ib=et()?"bottom-end":"bottom-start",Db=et()?"bottom-start":"bottom-end",Mb=et()?"left-start":"right-start",Lb=et()?"right-start":"left-start",$b=[{opacity:"0"},{opacity:"1"}],Rb=[{opacity:"1"},{opacity:"0"}],ad={iterations:1,easing:"ease",fill:"both"},Pb={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0,dropdownAnimation:"on",animationDuration:550},Nb={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)",dropdownAnimation:"string",animationDuration:"number"};class Ft extends Mt{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._fadeOutAnimate=null;const i=window.matchMedia("(prefers-reduced-motion: reduce)").matches;this._animationCanPlay=this._config.dropdownAnimation==="on"&&!i,this._didInit=!1,this._init()}static get Default(){return Pb}static get DefaultType(){return Nb}static get NAME(){return Ka}toggle(){return this._isShown()?this.hide():this.show()}show(){if(ci(this._element)||this._isShown(this._menu))return;const t={relatedTarget:this._element};if(_.trigger(this._element,bb,t).defaultPrevented)return;const i=Ft.getParentFromElement(this._element);this._inNavbar?g.setDataAttribute(this._menu,"popper","none"):this._createPopper(i),"ontouchstart"in document.documentElement&&!i.closest(wb)&&[].concat(...document.body.children).forEach(n=>_.on(n,"mouseover",ro)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.setAttribute(`data-te-dropdown-${We}`,""),this._animationCanPlay&&this._menu.animate($b,{...ad,duration:this._config.animationDuration}),this._element.setAttribute(`data-te-dropdown-${We}`,""),setTimeout(()=>{_.trigger(this._element,vb,t)},this._animationCanPlay?this._config.animationDuration:0)}hide(){if(ci(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_init(){this._didInit||(_.on(document,rd,mo,Ft.dataApiKeydownHandler),_.on(document,rd,Ga,Ft.dataApiKeydownHandler),_.on(document,yb,Ft.clearMenus),_.on(document,Tb,Ft.clearMenus),this._didInit=!0)}_completeHide(t){this._fadeOutAnimate&&this._fadeOutAnimate.playState==="running"||_.trigger(this._element,gb,t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(i=>_.off(i,"mouseover",ro)),this._animationCanPlay&&(this._fadeOutAnimate=this._menu.animate(Rb,{...ad,duration:this._config.animationDuration})),setTimeout(()=>{this._popper&&this._popper.destroy(),this._menu.removeAttribute(`data-te-dropdown-${We}`),this._element.removeAttribute(`data-te-dropdown-${We}`),this._element.setAttribute("aria-expanded","false"),g.removeDataAttribute(this._menu,"popper"),_.trigger(this._element,mb,t)},this._animationCanPlay?this._config.animationDuration:0))}_getConfig(t){if(t={...this.constructor.Default,...g.getDataAttributes(this._element),...t},L(Ka,t,this.constructor.DefaultType),typeof t.reference=="object"&&!Wi(t.reference)&&typeof t.reference.getBoundingClientRect!="function")throw new TypeError(`${Ka.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(typeof sd>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;this._config.reference==="parent"?e=t:Wi(this._config.reference)?e=Be(this._config.reference):typeof this._config.reference=="object"&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find(o=>o.name==="applyStyles"&&o.enabled===!1);this._popper=Fe(e,this._menu,i),n&&g.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.dataset[`teDropdown${We.charAt(0).toUpperCase()+We.slice(1)}`]===""}_getMenuElement(){return m.next(this._element,Ga)[0]}_getPlacement(){const t=this._element.parentNode;if(t.dataset.teDropdownPosition===xb)return Mb;if(t.dataset.teDropdownPosition===Cb)return Lb;const e=t.dataset.teDropdownAlignment==="end";return t.dataset.teDropdownPosition===Eb?e?Ob:Sb:e?Db:Ib}_detectNavbar(){return this._element.closest(Ab)!==null}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?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._config.display==="static"&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...typeof this._config.popperConfig=="function"?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=m.find(kb,this._menu).filter(ae);i.length&&_h(i,e,t===go,!i.includes(e)).focus()}static jQueryInterface(t){return this.each(function(){const e=Ft.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}static clearMenus(t){if(t&&(t.button===fb||t.type==="keyup"&&t.key!==od))return;const e=m.find(mo);for(let i=0,n=e.length;ih===this._element);l!==null&&c.length&&(this._selector=l,this._triggerArray.push(a))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return cd}static get NAME(){return qa}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[],e;if(this._config.parent){const h=m.find(dd,this._config.parent);t=m.find(Kb,this._config.parent).filter(d=>!h.includes(d))}const i=m.findOne(this._selector);if(t.length){const h=t.find(d=>i!==d);if(e=h?ce.getInstance(h):null,e&&e._isTransitioning)return}if(_.trigger(this._element,Hb).defaultPrevented)return;t.forEach(h=>{i!==h&&ce.getOrCreateInstance(h,{toggle:!1}).hide(),e||O.setData(h,ld,null)});const o=this._getDimension(),r=o==="height"?this._classes.collapsing:this._classes.collapsingHorizontal;g.removeClass(this._element,this._classes.visible),g.removeClass(this._element,this._classes.hidden),g.addClass(this._element,r),this._element.removeAttribute(Zi),this._element.setAttribute(vo,""),this._element.style[o]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const a=()=>{this._isTransitioning=!1,g.removeClass(this._element,this._classes.hidden),g.removeClass(this._element,r),g.addClass(this._element,this._classes.visible),this._element.removeAttribute(vo),this._element.setAttribute(Zi,""),this._element.setAttribute(Za,""),this._element.style[o]="",_.trigger(this._element,Vb)},c=`scroll${o[0].toUpperCase()+o.slice(1)}`;this._queueCallback(a,this._element,!0),this._element.style[o]=`${this._element[c]}px`}hide(){if(this._isTransitioning||!this._isShown()||_.trigger(this._element,Fb).defaultPrevented)return;const e=this._getDimension(),i=e==="height"?this._classes.collapsing:this._classes.collapsingHorizontal;this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,zi(this._element),g.addClass(this._element,i),g.removeClass(this._element,this._classes.visible),g.removeClass(this._element,this._classes.hidden),this._element.setAttribute(vo,""),this._element.removeAttribute(Zi),this._element.removeAttribute(Za);const n=this._triggerArray.length;for(let r=0;r{this._isTransitioning=!1,g.removeClass(this._element,i),g.addClass(this._element,this._classes.visible),g.addClass(this._element,this._classes.hidden),this._element.removeAttribute(vo),this._element.setAttribute(Zi,""),_.trigger(this._element,Wb)};this._element.style[e]="",this._queueCallback(o,this._element,!0)}_isShown(t=this._element){return t.hasAttribute(Za)}_getConfig(t){return t={...cd,...g.getDataAttributes(this._element),...t},t.toggle=!!t.toggle,t.parent=Be(t.parent),L(qa,t,Bb),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...Ub,...e,...t},L(qa,t,Xb),t}_getDimension(){return this._element.hasAttribute(zb)?jb:Yb}_initializeChildren(){if(!this._config.parent)return;const t=m.find(dd,this._config.parent);m.find(ud,this._config.parent).filter(e=>!t.includes(e)).forEach(e=>{const i=Ne(e);i&&this._addAriaAndCollapsedClass([e],this._isShown(i))})}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach(i=>{e?i.removeAttribute(hd):i.setAttribute(`${hd}`,""),i.setAttribute("aria-expanded",e)})}static jQueryInterface(t){return this.each(function(){const e={};typeof t=="string"&&/show|hide/.test(t)&&(e.toggle=!1);const i=ce.getOrCreateInstance(this,e);if(typeof t=="string"){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t]()}})}}const pd=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",fd=".sticky-top";class Qi{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,"paddingRight",e=>e+t),this._setElementAttributes(pd,"paddingRight",e=>e+t),this._setElementAttributes(fd,"marginRight",e=>e-t)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth(),o=r=>{if(r!==this._element&&window.innerWidth>r.clientWidth+n)return;this._saveInitialAttribute(r,e);const a=window.getComputedStyle(r)[e];r.style[e]=`${i(Number.parseFloat(a))}px`};this._applyManipulationCallback(t,o)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(pd,"paddingRight"),this._resetElementAttributes(fd,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&g.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){const i=n=>{const o=g.getDataAttribute(n,e);typeof o>"u"?n.style.removeProperty(e):(g.removeDataAttribute(n,e),n.style[e]=o)};this._applyManipulationCallback(t,i)}_applyManipulationCallback(t,e){Wi(t)?e(t):m.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const Gb={isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null,backdropClasses:null},qb={isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)",backdropClasses:"(array|string|null)"},_d="backdrop",gd=`mousedown.te.${_d}`;class Qa{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){if(!this._config.isVisible){hi(t);return}this._append(),this._config.isAnimated&&zi(this._getElement());const e=this._config.backdropClasses||["opacity-50","transition-all","duration-300","ease-in-out","fixed","top-0","left-0","z-[1040]","bg-black","w-screen","h-screen"];g.removeClass(this._getElement(),"opacity-0"),g.addClass(this._getElement(),e),this._element.setAttribute("data-te-backdrop-show",""),this._emulateAnimation(()=>{hi(t)})}hide(t){if(!this._config.isVisible){hi(t);return}this._element.removeAttribute("data-te-backdrop-show"),this._getElement().classList.add("opacity-0"),this._getElement().classList.remove("opacity-50"),this._emulateAnimation(()=>{this.dispose(),hi(t)})}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("opacity-50"),this._element=t}return this._element}_getConfig(t){return t={...Gb,...typeof t=="object"?t:{}},t.rootElement=Be(t.rootElement),L(_d,t,qb),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),_.on(this._getElement(),gd,()=>{hi(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(_.off(this._element,gd),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){fh(t,this._getElement(),this._config.isAnimated)}}class Vs{constructor(t,e={},i){this._element=t,this._toggler=i,this._event=e.event||"blur",this._condition=e.condition||(()=>!0),this._selector=e.selector||'button, a, input, select, textarea, [tabindex]:not([tabindex="-1"])',this._onlyVisible=e.onlyVisible||!1,this._focusableElements=[],this._firstElement=null,this._lastElement=null,this.handler=n=>{this._condition(n)&&!n.shiftKey&&n.target===this._lastElement?(n.preventDefault(),this._firstElement.focus()):this._condition(n)&&n.shiftKey&&n.target===this._firstElement&&(n.preventDefault(),this._lastElement.focus())}}trap(){this._setElements(),this._init(),this._setFocusTrap()}disable(){this._focusableElements.forEach(t=>{t.removeEventListener(this._event,this.handler)}),this._toggler&&this._toggler.focus()}update(){this._setElements(),this._setFocusTrap()}_init(){const t=e=>{!this._firstElement||e.key!=="Tab"||this._focusableElements.includes(e.target)||(e.preventDefault(),this._firstElement.focus(),window.removeEventListener("keydown",t))};window.addEventListener("keydown",t)}_filterVisible(t){return t.filter(e=>{if(!ae(e))return!1;const i=m.parents(e,"*");for(let n=0;n{e===this._focusableElements.length-1||e===0?t.addEventListener(this._event,this.handler):t.removeEventListener(this._event,this.handler)})}}let md=[];const yo=(s,t="hide")=>{const e=`click.dismiss${s.EVENT_KEY}`,i=s.NAME;md.includes(i)||(md.push(i),_.on(document,e,`[data-te-${i}-dismiss]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),ci(this))return;const o=Ne(this)||this.closest(`.${i}`)||this.closest(`[data-te-${i}-init]`);if(!o)return;s.getOrCreateInstance(o)[t]()}))},bd="offcanvas",Ji=".te.offcanvas",Zb=`load${Ji}.data-api`,Qb="Escape",vd={backdrop:!0,keyboard:!0,scroll:!1},Jb={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},yd="show",tv="[data-te-offcanvas-init][data-te-offcanvas-show]",ev=`show${Ji}`,iv=`shown${Ji}`,sv=`hide${Ji}`,nv=`hidden${Ji}`,ov=`keydown.dismiss${Ji}`;class ts extends Mt{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners(),this._didInit=!1,this._init()}static get NAME(){return bd}static get Default(){return vd}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||_.trigger(this._element,ev,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||new Qi().hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.setAttribute(`data-te-offcanvas-${yd}`,"");const i=()=>{this._config.scroll||this._focustrap.trap(),_.trigger(this._element,iv,{relatedTarget:t})};this._queueCallback(i,this._element,!0)}hide(){if(!this._isShown||_.trigger(this._element,sv).defaultPrevented)return;this._focustrap.disable(),this._element.blur(),this._isShown=!1,this._element.removeAttribute(`data-te-offcanvas-${yd}`),this._backdrop.hide();const e=()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||new Qi().reset(),_.trigger(this._element,nv)};this._queueCallback(e,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.disable(),super.dispose()}_init(){this._didInit||(_.on(window,Zb,()=>m.find(tv).forEach(t=>ts.getOrCreateInstance(t).show())),this._didInit=!0,yo(ts))}_getConfig(t){return t={...vd,...g.getDataAttributes(this._element),...typeof t=="object"?t:{}},L(bd,t,Jb),t}_initializeBackDrop(){return new Qa({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Vs(this._element,{event:"keydown",condition:t=>t.key==="Tab"})}_addEventListeners(){_.on(this._element,ov,t=>{this._config.keyboard&&t.key===Qb&&this.hide()})}static jQueryInterface(t){return this.each(function(){const e=ts.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}const Ja="alert",Td=".te.alert",rv=`close${Td}`,av=`closed${Td}`,Fs="data-te-alert-show",lv={animation:"boolean",autohide:"boolean",autoclose:"boolean",delay:"number"},Ed={animation:!0,autohide:!0,autoclose:!1,delay:1e3},cv={fadeIn:"animate-[fade-in_0.3s_both] p-[auto] motion-reduce:transition-none motion-reduce:animate-none",fadeOut:"animate-[fade-out_0.3s_both] p-[auto] motion-reduce:transition-none motion-reduce:animate-none"},hv={fadeIn:"string",fadeOut:"string"};class Ws extends Mt{constructor(t,e,i){super(t),this._element=t,this._config=this._getConfig(e),this._classes=this._getClasses(i),this._didInit=!1,this._init()}static get DefaultType(){return lv}static get Default(){return Ed}static get NAME(){return Ja}close(){if(_.trigger(this._element,rv).defaultPrevented)return;let e=0;this._config.animation&&(e=300,g.addClass(this._element,this._classes.fadeOut)),this._element.removeAttribute(Fs),setTimeout(()=>{this._queueCallback(()=>this._destroyElement(),this._element,this._config.animation)},e)}show(){if(this._element){if(this._config.autohide&&this._setupAutohide(),(this._config.autoclose||this._config.autoclose&&this._config.autohide)&&this._setupAutoclose(),!this._element.hasAttribute(Fs)&&(g.removeClass(this._element,"hidden"),g.addClass(this._element,"block"),ae(this._element))){const t=e=>{g.removeClass(this._element,"hidden"),g.addClass(this._element,"block"),_.off(e.target,"animationend",t)};this._element.setAttribute(Fs,""),_.on(this._element,"animationend",t)}this._config.animation&&(g.removeClass(this._element,this._classes.fadeOut),g.addClass(this._element,this._classes.fadeIn))}}hide(){if(this._element&&this._element.hasAttribute(Fs)){this._element.removeAttribute(Fs);const t=e=>{g.addClass(this._element,"hidden"),g.removeClass(this._element,"block"),this._timeout!==null&&(clearTimeout(this._timeout),this._timeout=null),_.off(e.target,"animationend",t)};_.on(this._element,"animationend",t),g.removeClass(this._element,this._classes.fadeIn),g.addClass(this._element,this._classes.fadeOut)}}_init(){this._didInit||(yo(Ws,"close"),this._didInit=!0)}_getConfig(t){return t={...Ed,...g.getDataAttributes(this._element),...typeof t=="object"&&t?t:{}},L(Ja,t,this.constructor.DefaultType),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...cv,...e,...t},L(Ja,t,hv),t}_setupAutohide(){this._timeout=setTimeout(()=>{this.hide()},this._config.delay)}_setupAutoclose(){this._timeout=setTimeout(()=>{this.close()},this._config.delay)}_destroyElement(){this._element.remove(),_.trigger(this._element,av),this.dispose()}static jQueryInterface(t){return this.each(function(){const e=Ws.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}const tl="carousel",Nt=".te.carousel",xd=".data-api",dv="ArrowLeft",uv="ArrowRight",pv=500,fv=40,Cd={interval:5e3,keyboard:!0,ride:!1,pause:"hover",wrap:!0,touch:!0},_v={interval:"(number|boolean)",keyboard:"boolean",ride:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},gv={pointer:"touch-pan-y",block:"!block",visible:"data-[te-carousel-fade]:opacity-100 data-[te-carousel-fade]:z-[1]",invisible:"data-[te-carousel-fade]:z-0 data-[te-carousel-fade]:opacity-0 data-[te-carousel-fade]:duration-[600ms] data-[te-carousel-fade]:delay-600",slideRight:"translate-x-full",slideLeft:"-translate-x-full"},mv={pointer:"string",block:"string",visible:"string",invisible:"string",slideRight:"string",slideLeft:"string"},gi="next",mi="prev",bi="left",zs="right",bv={[dv]:zs,[uv]:bi},vv=`slide${Nt}`,el=`slid${Nt}`,yv=`keydown${Nt}`,Tv=`mouseenter${Nt}`,Ev=`mouseleave${Nt}`,xv=`touchstart${Nt}`,Cv=`touchmove${Nt}`,Av=`touchend${Nt}`,wv=`pointerdown${Nt}`,kv=`pointerup${Nt}`,Sv=`dragstart${Nt}`,Ov=`load${Nt}${xd}`,Iv=`click${Nt}${xd}`,Ad="data-te-carousel-init",vi="data-te-carousel-active",Dv="data-te-carousel-item-end",il="data-te-carousel-item-start",Mv="data-te-carousel-item-next",Lv="data-te-carousel-item-prev",$v="data-te-carousel-pointer-event",Rv="[data-te-carousel-init]",wd="[data-te-carousel-active]",sl="[data-te-carousel-item]",es=`${wd}${sl}`,Pv=`${sl} img`,Nv="[data-te-carousel-item-next], [data-te-carousel-item-prev]",Bv="[data-te-carousel-indicators]",Hv="[data-te-target]",Vv="[data-te-slide], [data-te-slide-to]",Fv="touch",Wv="pen";class he extends Mt{constructor(t,e,i){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._classes=this._getClasses(i),this._indicatorsElement=m.findOne(Bv,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=!!window.PointerEvent,this._setActiveElementClass(),this._addEventListeners(),this._didInit=!1,this._init(),this._config.ride==="carousel"&&this.cycle()}static get Default(){return Cd}static get NAME(){return tl}next(){this._slide(gi)}nextWhenVisible(){!document.hidden&&ae(this._element)&&this.next()}prev(){this._slide(mi)}pause(t){t||(this._isPaused=!0),m.findOne(Nv,this._element)&&(hh(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=m.findOne(es,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding){_.one(this._element,el,()=>this.to(t));return}if(e===t){this.pause(),this.cycle();return}const i=t>e?gi:mi;this._slide(i,this._items[t])}_init(){this._didInit||(_.on(document,Iv,Vv,he.dataApiClickHandler),_.on(window,Ov,()=>{const t=m.find(Rv);for(let e=0,i=t.length;ethis.cycle());return}this.cycle()}}_applyInitialClasses(){const t=m.findOne(es,this._element);t.classList.add(this._classes.block,...this._classes.visible.split(" ")),this._setActiveIndicatorElement(t)}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=fv)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?zs:bi)}_setActiveElementClass(){this._activeElement=m.findOne(es,this._element),g.addClass(this._activeElement,"hidden")}_addEventListeners(){this._config.keyboard&&_.on(this._element,yv,t=>this._keydown(t)),this._config.pause==="hover"&&(_.on(this._element,Tv,t=>this.pause(t)),_.on(this._element,Ev,t=>this._enableCycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners(),this._applyInitialClasses()}_addTouchEventListeners(){const t=o=>this._pointerEvent&&(o.pointerType===Wv||o.pointerType===Fv),e=o=>{t(o)?this.touchStartX=o.clientX:this._pointerEvent||(this.touchStartX=o.touches[0].clientX)},i=o=>{this.touchDeltaX=o.touches&&o.touches.length>1?0:o.touches[0].clientX-this.touchStartX},n=o=>{t(o)&&(this.touchDeltaX=o.clientX-this.touchStartX),this._handleSwipe(),this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(r=>this._enableCycle(r),pv+this._config.interval))};m.find(Pv,this._element).forEach(o=>{_.on(o,Sv,r=>r.preventDefault())}),this._pointerEvent?(_.on(this._element,wv,o=>e(o)),_.on(this._element,kv,o=>n(o)),this._element.classList.add(this._classes.pointer),this._element.setAttribute(`${$v}`,"")):(_.on(this._element,xv,o=>e(o)),_.on(this._element,Cv,o=>i(o)),_.on(this._element,Av,o=>n(o)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=bv[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?m.find(sl,t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===gi;return _h(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(m.findOne(es,this._element));return _.trigger(this._element,vv,{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=m.findOne(wd,this._indicatorsElement);e.removeAttribute(vi),e.removeAttribute("aria-current"),e.classList.remove("!opacity-100");const i=m.find(Hv,this._indicatorsElement);for(let n=0;n{_.trigger(this._element,el,{relatedTarget:r,direction:u,from:o,to:a})};if(this._element.hasAttribute(Ad)){r.setAttribute(`${d}`,""),r.classList.add(this._classes.block,f),zi(r),n.setAttribute(`${h}`,""),n.classList.add(p,...this._classes.invisible.split(" ")),n.classList.remove(...this._classes.visible.split(" ")),r.setAttribute(`${h}`,""),r.classList.add(...this._classes.visible.split(" ")),r.classList.remove(this._classes.slideRight,this._classes.slideLeft);const y=()=>{r.removeAttribute(h),r.removeAttribute(d),r.setAttribute(`${vi}`,""),n.removeAttribute(vi),n.classList.remove(p,...this._classes.invisible.split(" "),this._classes.block),n.removeAttribute(d),n.removeAttribute(h),this._isSliding=!1,setTimeout(v,0)};this._queueCallback(y,n,!0)}else n.removeAttribute(vi),n.classList.remove(this._classes.block),r.setAttribute(`${vi}`,""),r.classList.add(this._classes.block),this._isSliding=!1,v();l&&this.cycle()}_directionToOrder(t){return[zs,bi].includes(t)?et()?t===bi?mi:gi:t===bi?gi:mi:t}_orderToDirection(t){return[gi,mi].includes(t)?et()?t===mi?bi:zs:t===mi?zs:bi:t}static carouselInterface(t,e){const i=he.getOrCreateInstance(t,e);let{_config:n}=i;typeof e=="object"&&(n={...n,...e});const o=typeof e=="string"?e:e.slide;if(typeof e=="number"){i.to(e);return}if(typeof o=="string"){if(typeof i[o]>"u")throw new TypeError(`No method named "${o}"`);i[o]()}else n.interval&&n.ride===!0&&i.pause()}static jQueryInterface(t){return this.each(function(){he.carouselInterface(this,t)})}static dataApiClickHandler(t){const e=Ne(this);if(!e||!e.hasAttribute(Ad))return;const i={...g.getDataAttributes(e),...g.getDataAttributes(this)},n=this.getAttribute("data-te-slide-to");n&&(i.interval=!1),he.carouselInterface(e,i),n&&he.getInstance(e).to(n),t.preventDefault()}}const nl="modal",te=".te.modal",kd="Escape",Sd={backdrop:!0,keyboard:!0,focus:!0,modalNonInvasive:!1},zv={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",modalNonInvasive:"boolean"},jv={show:"transform-none",static:"scale-[1.02]",staticProperties:"transition-scale duration-300 ease-in-out",backdrop:"opacity-50 transition-all duration-300 ease-in-out fixed top-0 left-0 z-[1040] bg-black w-screen h-screen"},Yv={show:"string",static:"string",staticProperties:"string",backdrop:"string"},Kv=`hide${te}`,Uv=`hidePrevented${te}`,Xv=`hidden${te}`,Gv=`show${te}`,qv=`shown${te}`,Od=`resize${te}`,Id=`click.dismiss${te}`,Dd=`keydown.dismiss${te}`,Zv=`mouseup.dismiss${te}`,Md=`mousedown.dismiss${te}`,Ld="data-te-modal-open",$d="data-te-open",js="[data-te-modal-dialog-ref]",Qv="[data-te-modal-body-ref]";class Ys extends Mt{constructor(t,e,i){super(t),this._config=this._getConfig(e),this._classes=this._getClasses(i),this._dialog=m.findOne(js,this._element),this._backdrop=this._config.modalNonInvasive?null:this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new Qi,this._didInit=!1,this._init()}static get Default(){return Sd}static get NAME(){return nl}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||_.trigger(this._element,Gv,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),!this._config.modalNonInvasive&&this._scrollBar.hide(),document.body.setAttribute(Ld,"true"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),_.on(this._dialog,Md,()=>{_.one(this._element,Zv,i=>{i.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showElement(t),!this._config.modalNonInvasive&&this._showBackdrop())}hide(){if(!this._isShown||this._isTransitioning||_.trigger(this._element,Kv).defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.disable(),m.findOne(js,this._element).classList.remove(this._classes.show),_.off(this._element,Id),_.off(this._dialog,Md),this._queueCallback(()=>this._hideModal(),this._element,e),this._element.removeAttribute($d)}dispose(){[window,document,this._dialog].forEach(t=>_.off(t,te)),this._backdrop&&this._backdrop.dispose(),this._focustrap.disable(),super.dispose()}handleUpdate(){this._adjustDialog()}_init(){this._didInit||(yo(Ys),this._didInit=!0)}_initializeBackDrop(){return new Qa({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated(),backdropClasses:this._classes.backdrop})}_initializeFocusTrap(){return new Vs(this._element,{event:"keydown",condition:t=>t.key==="Tab"})}_getConfig(t){return t={...Sd,...g.getDataAttributes(this._element),...typeof t=="object"?t:{}},L(nl,t,zv),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...jv,...e,...t},L(nl,t,Yv),t}_showElement(t){const e=this._isAnimated(),i=m.findOne(Qv,this._dialog);(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE)&&document.body.append(this._element),this._element.style.display="block",this._element.classList.remove("hidden"),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.setAttribute(`${$d}`,"true"),this._element.scrollTop=0;const n=m.findOne(js,this._element);n.classList.add(this._classes.show),n.classList.remove("opacity-0"),n.classList.add("opacity-100"),i&&(i.scrollTop=0),e&&zi(this._element);const o=()=>{this._config.focus&&this._focustrap.trap(),this._isTransitioning=!1,_.trigger(this._element,qv,{relatedTarget:t})};this._queueCallback(o,this._dialog,e)}_setEscapeEvent(){this._isShown?_.on(document,Dd,t=>{this._config.keyboard&&t.key===kd?(t.preventDefault(),this.hide()):!this._config.keyboard&&t.key===kd&&this._triggerBackdropTransition()}):_.off(this._element,Dd)}_setResizeEvent(){this._isShown?_.on(window,Od,()=>this._adjustDialog()):_.off(window,Od)}_hideModal(){const t=m.findOne(js,this._element);t.classList.remove(this._classes.show),t.classList.remove("opacity-100"),t.classList.add("opacity-0");const e=oo(t);setTimeout(()=>{this._element.style.display="none"},e),this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop&&this._backdrop.hide(()=>{document.body.removeAttribute(Ld),this._resetAdjustments(),!this._config.modalNonInvasive&&this._scrollBar.reset(),_.trigger(this._element,Xv)})}_showBackdrop(t){_.on(this._element,Id,e=>{if(this._ignoreBackdropClick){this._ignoreBackdropClick=!1;return}e.target===e.currentTarget&&(this._config.backdrop===!0?this.hide():this._config.backdrop==="static"&&this._triggerBackdropTransition())}),this._backdrop&&this._backdrop.show(t)}_isAnimated(){return!!m.findOne(js,this._element)}_triggerBackdropTransition(){if(_.trigger(this._element,Uv).defaultPrevented)return;const{classList:e,scrollHeight:i,style:n}=this._element,o=i>document.documentElement.clientHeight;if(!o&&n.overflowY==="hidden"||e.contains(this._classes.static))return;o||(n.overflowY="hidden"),e.add(...this._classes.static.split(" ")),e.add(...this._classes.staticProperties.split(" "));const r=oo(this._element);this._queueCallback(()=>{e.remove(this._classes.static),setTimeout(()=>{e.remove(...this._classes.staticProperties.split(" "))},r),o||this._queueCallback(()=>{n.overflowY=""},this._dialog)},this._dialog),this._element.focus()}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!et()||i&&!t&&et())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!et()||!i&&t&&et())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each(function(){const i=Ys.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}}const Jv=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Rd=/^aria-[\w-]*$/i,t0=/^data-te-[\w-]*$/i,e0=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,i0=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,s0=(s,t)=>{const e=s.nodeName.toLowerCase();if(t.includes(e))return Jv.has(e)?!!(e0.test(s.nodeValue)||i0.test(s.nodeValue)):!0;const i=t.filter(n=>n instanceof RegExp);for(let n=0,o=i.length;n{s0(u,d)||l.removeAttribute(u.nodeName)})}return n.body.innerHTML}const Nd="tooltip",de=".te.tooltip",o0="te-tooltip",r0=new Set(["sanitize","allowList","sanitizeFn"]),a0={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},l0={AUTO:"auto",TOP:"top",RIGHT:et()?"left":"right",BOTTOM:"bottom",LEFT:et()?"right":"left"},c0={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:n0,popperConfig:{hide:!0}},h0={HIDE:`hide${de}`,HIDDEN:`hidden${de}`,SHOW:`show${de}`,SHOWN:`shown${de}`,INSERTED:`inserted${de}`,CLICK:`click${de}`,FOCUSIN:`focusin${de}`,FOCUSOUT:`focusout${de}`,MOUSEENTER:`mouseenter${de}`,MOUSELEAVE:`mouseleave${de}`},d0="fade",u0="modal",ol="show",Ks="show",rl="out",Bd=".tooltip-inner",Hd=`.${u0}`,Vd="hide.te.modal",Us="hover",al="focus",p0="click",f0="manual";let is=class rm extends Mt{constructor(t,e){if(typeof sd>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return c0}static get NAME(){return Nd}static get Event(){return h0}static get DefaultType(){return a0}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(ol)){this._leave(null,this);return}this._enter(null,this)}}dispose(){clearTimeout(this._timeout),_.off(this._element.closest(Hd),Vd,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this.isWithContent()&&this._isEnabled))return;const t=_.trigger(this._element,this.constructor.Event.SHOW),e=dh(this._element),i=e===null?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;this.constructor.NAME==="tooltip"&&this.tip&&this.getTitle()!==this.tip.querySelector(Bd).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),o=bt(this.constructor.NAME);n.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this._config.animation&&setTimeout(()=>{this.tip.classList.add("opacity-100"),this.tip.classList.remove("opacity-0")},100);const r=typeof this._config.placement=="function"?this._config.placement.call(this,n,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;if(O.setData(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.append(n),_.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=Fe(this._element,n,this._getPopperConfig(a)),n.getAttribute("id").includes("tooltip"))switch(r){case"bottom":n.classList.add("py-[0.4rem]");break;case"left":n.classList.add("px-[0.4rem]");break;case"right":n.classList.add("px-[0.4rem]");break;default:n.classList.add("py-[0.4rem]");break}const h=this._resolvePossibleFunction(this._config.customClass);h&&n.classList.add(...h.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(p=>{_.on(p,"mouseover",ro)});const d=()=>{const p=this._hoverState;this._hoverState=null,_.trigger(this._element,this.constructor.Event.SHOWN),p===rl&&this._leave(null,this)},u=this.tip.classList.contains("transition-opacity");this._queueCallback(d,this.tip,u)}hide(){if(!this._popper)return;const t=this.getTipElement(),e=()=>{this._isWithActiveTrigger()||(this._hoverState!==Ks&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),_.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())};if(_.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.add("opacity-0"),t.classList.remove("opacity-100"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(o=>_.off(o,"mouseover",ro)),this._activeTrigger[p0]=!1,this._activeTrigger[al]=!1,this._activeTrigger[Us]=!1;const n=this.tip.classList.contains("opacity-0");this._queueCallback(e,this.tip,n),this._hoverState=""}update(){this._popper!==null&&this._popper.update()}isWithContent(){return!!this.getTitle()}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(d0,ol),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),Bd)}_sanitizeAndSetContent(t,e,i){const n=m.findOne(i,t);if(!e&&n){n.remove();return}this.setElementContent(n,e)}setElementContent(t,e){if(t!==null){if(Wi(e)){e=Be(e),this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent;return}this._config.html?(this._config.sanitize&&(e=To(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e}}getTitle(){const t=this._element.getAttribute("data-te-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return t==="right"?"end":t==="left"?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_resolvePossibleFunction(t){return typeof t=="function"?t.call(this._element):t}_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:"onChange",enabled:!0,phase:"afterWrite",fn:i=>this._handlePopperPlacementChange(i)}],onFirstUpdate:i=>{i.options.placement!==i.placement&&this._handlePopperPlacementChange(i)}};return{...e,...typeof this._config.popperConfig=="function"?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return l0[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(e=>{if(e==="click")_.on(this._element,this.constructor.Event.CLICK,this._config.selector,i=>this.toggle(i));else if(e!==f0){const i=e===Us?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,n=e===Us?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;_.on(this._element,i,this._config.selector,o=>this._enter(o)),_.on(this._element,n,this._config.selector,o=>this._leave(o))}}),this._hideModalHandler=()=>{this._element&&this.hide()},_.on(this._element.closest(Hd),Vd,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-te-original-title");(t||e!=="string")&&(this._element.setAttribute("data-te-original-title",t||""),t&&!this._element.getAttribute("aria-label")&&!this._element.textContent&&this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){if(e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger[t.type==="focusin"?al:Us]=!0),e.getTipElement().classList.contains(ol)||e._hoverState===Ks){e._hoverState=Ks;return}if(clearTimeout(e._timeout),e._hoverState=Ks,!e._config.delay||!e._config.delay.show){e.show();return}e._timeout=setTimeout(()=>{e._hoverState===Ks&&e.show()},e._config.delay.show)}_leave(t,e){if(e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger[t.type==="focusout"?al:Us]=e._element.contains(t.relatedTarget)),!e._isWithActiveTrigger()){if(clearTimeout(e._timeout),e._hoverState=rl,!e._config.delay||!e._config.delay.hide){e.hide();return}e._timeout=setTimeout(()=>{e._hoverState===rl&&e.hide()},e._config.delay.hide)}}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=g.getDataAttributes(this._element);return Object.keys(e).forEach(i=>{r0.has(i)&&delete e[i]}),t={...this.constructor.Default,...e,...typeof t=="object"&&t?t:{}},t.container=t.container===!1?document.body:Be(t.container),typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),typeof t.title=="number"&&(t.title=t.title.toString()),typeof t.content=="number"&&(t.content=t.content.toString()),L(Nd,t,this.constructor.DefaultType),t.sanitize&&(t.template=To(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);i!==null&&i.length>0&&i.map(n=>n.trim()).forEach(n=>t.classList.remove(n))}_getBasicClassPrefix(){return o0}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each(function(){const e=rm.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}};const _0="popover",ue=".te.popover",g0="te-popover",m0={...is.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},b0={...is.DefaultType,content:"(string|element|function)"},v0={HIDE:`hide${ue}`,HIDDEN:`hidden${ue}`,SHOW:`show${ue}`,SHOWN:`shown${ue}`,INSERTED:`inserted${ue}`,CLICK:`click${ue}`,FOCUSIN:`focusin${ue}`,FOCUSOUT:`focusout${ue}`,MOUSEENTER:`mouseenter${ue}`,MOUSELEAVE:`mouseleave${ue}`},y0=".popover-header",T0=".popover-body";class Eo extends is{static get Default(){return m0}static get NAME(){return _0}static get Event(){return v0}static get DefaultType(){return b0}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),y0),this._sanitizeAndSetContent(t,this._getContent(),T0)}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return g0}static jQueryInterface(t){return this.each(function(){const e=Eo.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}const ll="scrollspy",cl=".te.scrollspy",Fd={offset:10,method:"auto",target:""},E0={offset:"number",method:"string",target:"(string|element)"},x0={active:"!text-primary dark:!text-primary-400 font-semibold border-l-[0.125rem] border-solid border-primary dark:border-primary-400"},C0={active:"string"},A0=`activate${cl}`,w0=`scroll${cl}`,hl="data-te-nav-link-active",Wd="[data-te-dropdown-item-ref]",k0="[data-te-nav-list-ref]",dl="[data-te-nav-link-ref]",S0="[data-te-nav-item-ref]",zd="[data-te-list-group-item-ref]",ul=`${dl}, ${zd}, ${Wd}`,O0="[data-te-dropdown-ref]",I0="[data-te-dropdown-toggle-ref]",D0="maxOffset",jd="position";class xo extends Mt{constructor(t,e,i){super(t),this._scrollElement=this._element.tagName==="BODY"?window:this._element,this._config=this._getConfig(e),this._classes=this._getClasses(i),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,_.on(this._scrollElement,w0,()=>this._process()),this.refresh(),this._process()}static get Default(){return Fd}static get NAME(){return ll}refresh(){const t=this._scrollElement===this._scrollElement.window?D0:jd,e=this._config.method==="auto"?t:this._config.method,i=e===jd?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),m.find(ul,this._config.target).map(o=>{const r=Ca(o),a=r?m.findOne(r):null;if(a){const l=a.getBoundingClientRect();if(l.width||l.height)return[g[e](a).top+i,r]}return null}).filter(o=>o).sort((o,r)=>o[0]-r[0]).forEach(o=>{this._offsets.push(o[0]),this._targets.push(o[1])})}dispose(){_.off(this._scrollElement,cl),super.dispose()}_getConfig(t){return t={...Fd,...g.getDataAttributes(this._element),...typeof t=="object"&&t?t:{}},t.target=Be(t.target)||document.documentElement,L(ll,t,E0),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...x0,...e,...t},L(ll,t,C0),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const n=this._targets[this._targets.length-1];this._activeTarget!==n&&this._activate(n);return}if(this._activeTarget&&t0){this._activeTarget=null,this._clear();return}for(let n=this._offsets.length;n--;)this._activeTarget!==this._targets[n]&&t>=this._offsets[n]&&(typeof this._offsets[n+1]>"u"||t`${n}[data-te-target="${t}"],${n}[href="${t}"]`),i=m.findOne(e.join(","),this._config.target);i.classList.add(...this._classes.active.split(" ")),i.setAttribute(hl,""),i.getAttribute(Wd)?m.findOne(I0,i.closest(O0)).classList.add(...this._classes.active.split(" ")):m.parents(i,k0).forEach(n=>{m.prev(n,`${dl}, ${zd}`).forEach(o=>{o.classList.add(...this._classes.active.split(" ")),o.setAttribute(hl,"")}),m.prev(n,S0).forEach(o=>{m.children(o,dl).forEach(r=>r.classList.add(...this._classes.active.split(" ")))})}),_.trigger(this._scrollElement,A0,{relatedTarget:t})}_clear(){m.find(ul,this._config.target).filter(t=>t.classList.contains(...this._classes.active.split(" "))).forEach(t=>{t.classList.remove(...this._classes.active.split(" ")),t.removeAttribute(hl)})}static jQueryInterface(t){return this.each(function(){const e=xo.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}const Yd="tab",Co=".te.tab",M0=`hide${Co}`,L0=`hidden${Co}`,$0=`show${Co}`,R0=`shown${Co}`,P0="data-te-dropdown-menu-ref",ss="data-te-tab-active",Ao="data-te-nav-active",N0="[data-te-dropdown-ref]",B0="[data-te-nav-ref]",Kd=`[${ss}]`,H0=`[${Ao}]`,Ud=":scope > li > .active",V0="[data-te-dropdown-toggle-ref]",F0=":scope > [data-te-dropdown-menu-ref] [data-te-dropdown-show]",W0={show:"opacity-100",hide:"opacity-0"},z0={show:"string",hide:"string"};class wo extends Mt{constructor(t,e){super(t),this._classes=this._getClasses(e)}static get NAME(){return Yd}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.getAttribute(Ao)==="")return;let t;const e=Ne(this._element),i=this._element.closest(B0),n=m.findOne(H0,i);if(i){const l=i.nodeName==="UL"||i.nodeName==="OL"?Ud:Kd;t=m.find(l,i),t=t[t.length-1]}const o=t?_.trigger(t,M0,{relatedTarget:this._element}):null;if(_.trigger(this._element,$0,{relatedTarget:t}).defaultPrevented||o!==null&&o.defaultPrevented)return;this._activate(this._element,i,null,n,this._element);const a=()=>{_.trigger(t,L0,{relatedTarget:this._element}),_.trigger(this._element,R0,{relatedTarget:t})};e?this._activate(e,e.parentNode,a,n,this._element):a()}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...W0,...e,...t},L(Yd,t,z0),t}_activate(t,e,i,n,o){const a=(e&&(e.nodeName==="UL"||e.nodeName==="OL")?m.find(Ud,e):m.children(e,Kd))[0],l=i&&a&&a.hasAttribute(ss),c=()=>this._transitionComplete(t,a,i,n,o);a&&l?(g.removeClass(a,this._classes.show),g.addClass(a,this._classes.hide),this._queueCallback(c,t,!0)):c()}_transitionComplete(t,e,i,n,o){if(e&&n){e.removeAttribute(ss),n.removeAttribute(Ao);const a=m.findOne(F0,e.parentNode);a&&a.removeAttribute(ss),e.getAttribute("role")==="tab"&&e.setAttribute("aria-selected",!1)}t.setAttribute(ss,""),o.setAttribute(Ao,""),t.getAttribute("role")==="tab"&&t.setAttribute("aria-selected",!0),zi(t),t.classList.contains(this._classes.hide)&&(g.removeClass(t,this._classes.hide),g.addClass(t,this._classes.show));let r=t.parentNode;if(r&&r.nodeName==="LI"&&(r=r.parentNode),r&&r.hasAttribute(P0)){const a=t.closest(N0);a&&m.find(V0,a).forEach(l=>l.setAttribute(ss,"")),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each(function(){const e=wo.getOrCreateInstance(this);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}const pl="toast",ze=".te.toast",j0=`mouseover${ze}`,Y0=`mouseout${ze}`,K0=`focusin${ze}`,U0=`focusout${ze}`,X0=`hide${ze}`,G0=`hidden${ze}`,q0=`show${ze}`,Z0=`shown${ze}`,Xd="data-te-toast-hide",fl="data-te-toast-show",ko="data-te-toast-showing",Q0={animation:"boolean",autohide:"boolean",delay:"number"},Gd={animation:!0,autohide:!0,delay:5e3},J0={fadeIn:"animate-[fade-in_0.3s_both] p-[auto] motion-reduce:transition-none motion-reduce:animate-none",fadeOut:"animate-[fade-out_0.3s_both] p-[auto] motion-reduce:transition-none motion-reduce:animate-none"},ty={fadeIn:"string",fadeOut:"string"};class Xs extends Mt{constructor(t,e,i){super(t),this._config=this._getConfig(e),this._classes=this._getClasses(i),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners(),this._didInit=!1,this._init()}static get DefaultType(){return Q0}static get Default(){return Gd}static get NAME(){return pl}show(){if(_.trigger(this._element,q0).defaultPrevented)return;this._clearTimeout(),this._config.animation&&(g.removeClass(this._element,this._classes.fadeOut),g.addClass(this._element,this._classes.fadeIn));const e=()=>{this._element.removeAttribute(ko),_.trigger(this._element,Z0),this._maybeScheduleHide()};this._element.removeAttribute(Xd),zi(this._element),this._element.setAttribute(fl,""),this._element.setAttribute(ko,""),this._queueCallback(e,this._element,this._config.animation)}hide(){if(!this._element||this._element.dataset.teToastShow===void 0||_.trigger(this._element,X0).defaultPrevented)return;const e=()=>{let i=0;this._config.animation&&(i=300,g.removeClass(this._element,this._classes.fadeIn),g.addClass(this._element,this._classes.fadeOut)),setTimeout(()=>{this._element.setAttribute(Xd,""),this._element.removeAttribute(ko),this._element.removeAttribute(fl),_.trigger(this._element,G0)},i)};this._element.setAttribute(ko,""),this._queueCallback(e,this._element,this._config.animation)}dispose(){this._clearTimeout(),this._element.dataset.teToastShow!==void 0&&this._element.removeAttribute(fl),super.dispose()}_init(){this._didInit||(yo(Xs),this._didInit=!0)}_getConfig(t){return t={...Gd,...g.getDataAttributes(this._element),...typeof t=="object"&&t?t:{}},L(pl,t,this.constructor.DefaultType),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...J0,...e,...t},L(pl,t,ty),t}_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;break}if(e){this._clearTimeout();return}const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){_.on(this._element,j0,t=>this._onInteraction(t,!0)),_.on(this._element,Y0,t=>this._onInteraction(t,!1)),_.on(this._element,K0,t=>this._onInteraction(t,!0)),_.on(this._element,U0,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const e=Xs.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}(()=>{var s={454:(i,n,o)=>{o.d(n,{Z:()=>l});var r=o(645),a=o.n(r)()(function(c){return c[1]});a.push([i.id,"INPUT:-webkit-autofill,SELECT:-webkit-autofill,TEXTAREA:-webkit-autofill{animation-name:onautofillstart}INPUT:not(:-webkit-autofill),SELECT:not(:-webkit-autofill),TEXTAREA:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{}@keyframes onautofillcancel{}",""]);const l=a},645:i=>{i.exports=function(n){var o=[];return o.toString=function(){return this.map(function(r){var a=n(r);return r[2]?"@media ".concat(r[2]," {").concat(a,"}"):a}).join("")},o.i=function(r,a,l){typeof r=="string"&&(r=[[null,r,""]]);var c={};if(l)for(var h=0;h{(function(){if(typeof window<"u")try{var i=new window.CustomEvent("test",{cancelable:!0});if(i.preventDefault(),i.defaultPrevented!==!0)throw new Error("Could not prevent default")}catch{var n=function(r,a){var l,c;return(a=a||{}).bubbles=!!a.bubbles,a.cancelable=!!a.cancelable,(l=document.createEvent("CustomEvent")).initCustomEvent(r,a.bubbles,a.cancelable,a.detail),c=l.preventDefault,l.preventDefault=function(){c.call(this);try{Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})}catch{this.defaultPrevented=!0}},l};n.prototype=window.Event.prototype,window.CustomEvent=n}})()},379:(i,n,o)=>{var r,a=function(){var x={};return function(E){if(x[E]===void 0){var C=document.querySelector(E);if(window.HTMLIFrameElement&&C instanceof window.HTMLIFrameElement)try{C=C.contentDocument.head}catch{C=null}x[E]=C}return x[E]}}(),l=[];function c(x){for(var E=-1,C=0;C{var n=i&&i.__esModule?()=>i.default:()=>i;return e.d(n,{a:n}),n},e.d=(i,n)=>{for(var o in n)e.o(n,o)&&!e.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:n[o]})},e.o=(i,n)=>Object.prototype.hasOwnProperty.call(i,n),(()=>{var i=e(379),n=e.n(i),o=e(454);function r(l){if(!l.hasAttribute("autocompleted")){l.setAttribute("autocompleted","");var c=new window.CustomEvent("onautocomplete",{bubbles:!0,cancelable:!0,detail:null});l.dispatchEvent(c)||(l.value="")}}function a(l){l.hasAttribute("autocompleted")&&(l.removeAttribute("autocompleted"),l.dispatchEvent(new window.CustomEvent("onautocomplete",{bubbles:!0,cancelable:!1,detail:null})))}n()(o.Z,{insert:"head",singleton:!1}),o.Z.locals,e(810),document.addEventListener("animationstart",function(l){l.animationName==="onautofillstart"?r(l.target):a(l.target)},!0),document.addEventListener("input",function(l){l.inputType!=="insertReplacementText"&&"data"in l?a(l.target):r(l.target)},!0)})()})();const _l="input",So="te.input",qd="data-te-input-wrapper-init",Zd="data-te-input-notch-ref",Qd="data-te-input-notch-leading-ref",Jd="data-te-input-notch-middle-ref",ey="data-te-input-notch-trailing-ref",iy="data-te-input-helper-ref",sy="data-te-input-placeholder-active",je="data-te-input-state-active",tu="data-te-input-focused",eu="data-te-input-form-counter",Oo=`[${qd}] input`,Io=`[${qd}] textarea`,ns=`[${Zd}]`,iu=`[${Qd}]`,su=`[${Jd}]`,ny=`[${iy}]`,oy={inputFormWhite:!1},ry={inputFormWhite:"(boolean)"},nu={notch:"group flex absolute left-0 top-0 w-full max-w-full h-full text-left pointer-events-none",notchLeading:"pointer-events-none border border-solid box-border bg-transparent transition-all duration-200 ease-linear motion-reduce:transition-none left-0 top-0 h-full w-2 border-r-0 rounded-l-[0.25rem] group-data-[te-input-focused]:border-r-0 group-data-[te-input-state-active]:border-r-0",notchLeadingNormal:"border-neutral-300 dark:border-neutral-600 group-data-[te-input-focused]:shadow-[-1px_0_0_#3b71ca,_0_1px_0_0_#3b71ca,_0_-1px_0_0_#3b71ca] group-data-[te-input-focused]:border-primary",notchLeadingWhite:"border-neutral-200 group-data-[te-input-focused]:shadow-[-1px_0_0_#ffffff,_0_1px_0_0_#ffffff,_0_-1px_0_0_#ffffff] group-data-[te-input-focused]:border-white",notchMiddle:"pointer-events-none border border-solid box-border bg-transparent transition-all duration-200 ease-linear motion-reduce:transition-none grow-0 shrink-0 basis-auto w-auto max-w-[calc(100%-1rem)] h-full border-r-0 border-l-0 group-data-[te-input-focused]:border-x-0 group-data-[te-input-state-active]:border-x-0 group-data-[te-input-focused]:border-t group-data-[te-input-state-active]:border-t group-data-[te-input-focused]:border-solid group-data-[te-input-state-active]:border-solid group-data-[te-input-focused]:border-t-transparent group-data-[te-input-state-active]:border-t-transparent",notchMiddleNormal:"border-neutral-300 dark:border-neutral-600 group-data-[te-input-focused]:shadow-[0_1px_0_0_#3b71ca] group-data-[te-input-focused]:border-primary",notchMiddleWhite:"border-neutral-200 group-data-[te-input-focused]:shadow-[0_1px_0_0_#ffffff] group-data-[te-input-focused]:border-white",notchTrailing:"pointer-events-none border border-solid box-border bg-transparent transition-all duration-200 ease-linear motion-reduce:transition-none grow h-full border-l-0 rounded-r-[0.25rem] group-data-[te-input-focused]:border-l-0 group-data-[te-input-state-active]:border-l-0",notchTrailingNormal:"border-neutral-300 dark:border-neutral-600 group-data-[te-input-focused]:shadow-[1px_0_0_#3b71ca,_0_-1px_0_0_#3b71ca,_0_1px_0_0_#3b71ca] group-data-[te-input-focused]:border-primary",notchTrailingWhite:"border-neutral-200 group-data-[te-input-focused]:shadow-[1px_0_0_#ffffff,_0_-1px_0_0_#ffffff,_0_1px_0_0_#ffffff] group-data-[te-input-focused]:border-white",counter:"text-right leading-[1.6]"},ay={notch:"string",notchLeading:"string",notchLeadingNormal:"string",notchLeadingWhite:"string",notchMiddle:"string",notchMiddleNormal:"string",notchMiddleWhite:"string",notchTrailing:"string",notchTrailingNormal:"string",notchTrailingWhite:"string",counter:"string"};class Z{constructor(t,e,i){this._config=this._getConfig(e,t),this._element=t,this._classes=this._getClasses(i),this._label=null,this._labelWidth=0,this._labelMarginLeft=0,this._notchLeading=null,this._notchMiddle=null,this._notchTrailing=null,this._initiated=!1,this._helper=null,this._counter=!1,this._counterElement=null,this._maxLength=0,this._leadingIcon=null,this._element&&(O.setData(t,So,this),this.init())}static get NAME(){return _l}get input(){return m.findOne("input",this._element)||m.findOne("textarea",this._element)}init(){this._initiated||(this._getLabelData(),this._applyDivs(),this._applyNotch(),this._activate(),this._getHelper(),this._getCounter(),this._getEvents(),this._initiated=!0)}update(){this._getLabelData(),this._getNotchData(),this._applyNotch(),this._activate(),this._getHelper(),this._getCounter()}forceActive(){this.input.setAttribute(je,""),m.findOne(ns,this.input.parentNode).setAttribute(je,"")}forceInactive(){this.input.removeAttribute(je),m.findOne(ns,this.input.parentNode).removeAttribute(je)}dispose(){this._removeBorder(),O.removeData(this._element,So),this._element=null}_getConfig(t,e){return t={...oy,...g.getDataAttributes(e),...typeof t=="object"?t:{}},L(_l,t,ry),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...nu,...e,...t},L(_l,t,ay),t}_getLabelData(){this._label=m.findOne("label",this._element),this._label===null?this._showPlaceholder():(this._getLabelWidth(),this._getLabelPositionInInputGroup(),this._toggleDefaultDatePlaceholder())}_getHelper(){this._helper=m.findOne(ny,this._element)}_getCounter(){this._counter=g.getDataAttribute(this.input,"inputShowcounter"),this._counter&&(this._maxLength=this.input.maxLength,this._showCounter())}_getEvents(){_.on(this._element,"focus","input",Z.activate(new Z)),_.on(this._element,"input","input",Z.activate(new Z)),_.on(this._element,"blur","input",Z.deactivate(new Z)),_.on(this._element,"focus","textarea",Z.activate(new Z)),_.on(this._element,"input","textarea",Z.activate(new Z)),_.on(this._element,"blur","textarea",Z.deactivate(new Z)),_.on(window,"shown.te.modal",t=>{m.find(Oo,t.target).forEach(e=>{const i=Z.getInstance(e.parentNode);i&&i.update()}),m.find(Io,t.target).forEach(e=>{const i=Z.getInstance(e.parentNode);i&&i.update()})}),_.on(window,"shown.te.dropdown",t=>{const e=t.target.parentNode.querySelector("[data-te-dropdown-menu-ref]");e&&(m.find(Oo,e).forEach(i=>{const n=Z.getInstance(i.parentNode);n&&n.update()}),m.find(Io,e).forEach(i=>{const n=Z.getInstance(i.parentNode);n&&n.update()}))}),_.on(window,"shown.te.tab",t=>{let e;t.target.href?e=t.target.href.split("#")[1]:e=g.getDataAttribute(t.target,"target").split("#")[1];const i=m.findOne(`#${e}`);m.find(Oo,i).forEach(n=>{const o=Z.getInstance(n.parentNode);o&&o.update()}),m.find(Io,i).forEach(n=>{const o=Z.getInstance(n.parentNode);o&&o.update()})}),_.on(window,"reset",t=>{m.find(Oo,t.target).forEach(e=>{const i=Z.getInstance(e.parentNode);i&&i.forceInactive()}),m.find(Io,t.target).forEach(e=>{const i=Z.getInstance(e.parentNode);i&&i.forceInactive()})}),_.on(window,"onautocomplete",t=>{const e=Z.getInstance(t.target.parentNode);!e||!t.cancelable||e.forceActive()})}_showCounter(){if(m.find(`[${eu}]`,this._element).length>0)return;this._counterElement=document.createElement("div"),g.addClass(this._counterElement,this._classes.counter),this._counterElement.setAttribute(eu,"");const e=this.input.value.length;this._counterElement.innerHTML=`${e} / ${this._maxLength}`,this._helper.appendChild(this._counterElement),this._bindCounter()}_bindCounter(){_.on(this.input,"input",()=>{const t=this.input.value.length;this._counterElement.innerHTML=`${t} / ${this._maxLength}`})}_toggleDefaultDatePlaceholder(t=this.input){if(!(t.getAttribute("type")==="date"))return;!(document.activeElement===t)&&!t.value?t.style.opacity=0:t.style.opacity=1}_showPlaceholder(){this.input.setAttribute(sy,"")}_getNotchData(){this._notchMiddle=m.findOne(su,this._element),this._notchLeading=m.findOne(iu,this._element)}_getLabelWidth(){this._labelWidth=this._label.clientWidth*.8+8}_getLabelPositionInInputGroup(){if(this._labelMarginLeft=0,!this._element.hasAttribute("data-te-input-group-ref"))return;const t=this.input,e=m.prev(t,"[data-te-input-group-text-ref]")[0];e===void 0?this._labelMarginLeft=0:this._labelMarginLeft=e.offsetWidth-1}_applyDivs(){const t=this._config.inputFormWhite?this._classes.notchLeadingWhite:this._classes.notchLeadingNormal,e=this._config.inputFormWhite?this._classes.notchMiddleWhite:this._classes.notchMiddleNormal,i=this._config.inputFormWhite?this._classes.notchTrailingWhite:this._classes.notchTrailingNormal,n=m.find(ns,this._element),o=$("div");g.addClass(o,this._classes.notch),o.setAttribute(Zd,""),this._notchLeading=$("div"),g.addClass(this._notchLeading,`${this._classes.notchLeading} ${t}`),this._notchLeading.setAttribute(Qd,""),this._notchMiddle=$("div"),g.addClass(this._notchMiddle,`${this._classes.notchMiddle} ${e}`),this._notchMiddle.setAttribute(Jd,""),this._notchTrailing=$("div"),g.addClass(this._notchTrailing,`${this._classes.notchTrailing} ${i}`),this._notchTrailing.setAttribute(ey,""),!(n.length>=1)&&(o.append(this._notchLeading),o.append(this._notchMiddle),o.append(this._notchTrailing),this._element.append(o))}_applyNotch(){this._notchMiddle.style.width=`${this._labelWidth}px`,this._notchLeading.style.width=`${this._labelMarginLeft+9}px`,this._label!==null&&(this._label.style.marginLeft=`${this._labelMarginLeft}px`)}_removeBorder(){const t=m.findOne(ns,this._element);t&&t.remove()}_activate(t){ph(()=>{this._getElements(t);const e=t?t.target:this.input,i=m.findOne(ns,this._element);t&&t.type==="focus"&&i&&i.setAttribute(tu,""),e.value!==""&&(e.setAttribute(je,""),i&&i.setAttribute(je,"")),this._toggleDefaultDatePlaceholder(e)})}_getElements(t){if(t&&(this._element=t.target.parentNode,this._label=m.findOne("label",this._element)),t&&this._label){const e=this._labelWidth;this._getLabelData(),e!==this._labelWidth&&(this._notchMiddle=m.findOne(su,t.target.parentNode),this._notchLeading=m.findOne(iu,t.target.parentNode),this._applyNotch())}}_deactivate(t){const e=t?t.target:this.input,i=m.findOne(ns,e.parentNode);i.removeAttribute(tu),e.value===""&&(e.removeAttribute(je),i.removeAttribute(je)),this._toggleDefaultDatePlaceholder(e)}static activate(t){return function(e){t._activate(e)}}static deactivate(t){return function(e){t._deactivate(e)}}static jQueryInterface(t,e){return this.each(function(){let i=O.getData(this,So);const n=typeof t=="object"&&t;if(!(!i&&/dispose/.test(t))&&(i||(i=new Z(this,n)),typeof t=="string")){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}static getInstance(t){return O.getData(t,So)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const ou="animation",gl="te.animation",ly={animation:"string",animationStart:"string",animationShowOnLoad:"boolean",onStart:"(null|function)",onEnd:"(null|function)",onHide:"(null|function)",onShow:"(null|function)",animationOnScroll:"(string)",animationWindowHeight:"number",animationOffset:"(number|string)",animationDelay:"(number|string)",animationReverse:"boolean",animationInterval:"(number|string)",animationRepeat:"(number|boolean)",animationReset:"boolean"},cy={animation:"fade",animationStart:"onClick",animationShowOnLoad:!0,onStart:null,onEnd:null,onHide:null,onShow:null,animationOnScroll:"once",animationWindowHeight:0,animationOffset:0,animationDelay:0,animationReverse:!1,animationInterval:0,animationRepeat:!1,animationReset:!1};class Gs{constructor(t,e){this._element=t,this._animateElement=this._getAnimateElement(),this._isFirstScroll=!0,this._repeatAnimateOnScroll=!0,this._options=this._getConfig(e),this._element&&(O.setData(t,gl,this),this._init())}static get NAME(){return ou}init(){this._init()}startAnimation(){this._startAnimation()}stopAnimation(){this._clearAnimationClass()}changeAnimationType(t){this._options.animation=t}dispose(){_.off(this._element,"mousedown"),_.off(this._animateElement,"animationend"),_.off(window,"scroll"),_.off(this._element,"mouseover"),O.removeData(this._element,gl),this._element=null,this._animateElement=null,this._isFirstScroll=null,this._repeatAnimateOnScroll=null,this._options=null}_init(){switch(this._options.animationStart){case"onHover":this._bindHoverEvents();break;case"onLoad":this._startAnimation();break;case"onScroll":this._bindScrollEvents();break;case"onClick":this._bindClickEvents();break}this._bindTriggerOnEndCallback(),this._options.animationReset&&this._bindResetAnimationAfterFinish()}_getAnimateElement(){const t=g.getDataAttribute(this._element,"animation-target");return t?m.find(t)[0]:this._element}_getConfig(t){const e=g.getDataAttributes(this._animateElement);return t={...cy,...e,...t},L(ou,t,ly),t}_animateOnScroll(){const t=g.offset(this._animateElement).top,e=this._animateElement.offsetHeight,i=window.innerHeight,n=t+this._options.animationOffset<=i&&t+this._options.animationOffset+e>=0,o=this._animateElement.style.visibility==="visible";switch(!0){case(n&&this._isFirstScroll):this._isFirstScroll=!1,this._startAnimation();break;case(!n&&this._isFirstScroll):this._isFirstScroll=!1,this._hideAnimateElement();break;case(n&&!o&&this._repeatAnimateOnScroll):this._options.animationOnScroll!=="repeat"&&(this._repeatAnimateOnScroll=!1),this._callback(this._options.onShow),this._showAnimateElement(),this._startAnimation();break;case(!n&&o&&this._repeatAnimateOnScroll):this._hideAnimateElement(),this._clearAnimationClass(),this._callback(this._options.onHide);break}}_addAnimatedClass(){g.addClass(this._animateElement,`animate-${this._options.animation}`)}_clearAnimationClass(){this._animateElement.classList.remove(`animate-${this._options.animation}`)}_startAnimation(){this._callback(this._options.onStart),this._addAnimatedClass(),this._options.animationRepeat&&!this._options.animationInterval&&this._setAnimationRepeat(),this._options.animationReverse&&this._setAnimationReverse(),this._options.animationDelay&&this._setAnimationDelay(),this._options.animationDuration&&this._setAnimationDuration(),this._options.animationInterval&&this._setAnimationInterval()}_setAnimationReverse(){g.style(this._animateElement,{animationIterationCount:this._options.animationRepeat===!0?"infinite":"2",animationDirection:"alternate"})}_setAnimationDuration(){g.style(this._animateElement,{animationDuration:`${this._options.animationDuration}ms`})}_setAnimationDelay(){g.style(this._animateElement,{animationDelay:`${this._options.animationDelay}ms`})}_setAnimationRepeat(){g.style(this._animateElement,{animationIterationCount:this._options.animationRepeat===!0?"infinite":this._options.animationRepeat})}_setAnimationInterval(){_.on(this._animateElement,"animationend",()=>{this._clearAnimationClass(),setTimeout(()=>{this._addAnimatedClass()},this._options.animationInterval)})}_hideAnimateElement(){g.style(this._animateElement,{visibility:"hidden"})}_showAnimateElement(){g.style(this._animateElement,{visibility:"visible"})}_bindResetAnimationAfterFinish(){_.on(this._animateElement,"animationend",()=>{this._clearAnimationClass()})}_bindTriggerOnEndCallback(){_.on(this._animateElement,"animationend",()=>{this._callback(this._options.onEnd)})}_bindScrollEvents(){this._options.animationShowOnLoad||this._animateOnScroll(),_.on(window,"scroll",()=>{this._animateOnScroll()})}_bindClickEvents(){_.on(this._element,"mousedown",()=>{this._startAnimation()})}_bindHoverEvents(){_.one(this._element,"mouseover",()=>{this._startAnimation()}),_.one(this._animateElement,"animationend",()=>{setTimeout(()=>{this._bindHoverEvents()},100)})}_callback(t){t instanceof Function&&t()}static autoInit(t){t._init()}static jQueryInterface(t){new Gs(this[0],t).init()}static getInstance(t){return O.getData(t,gl)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const hy={property:"color",defaultValue:null,inherit:!0},os=(s,t)=>{const{property:e,defaultValue:i,inherit:n}={...hy,...t},o=document.createElement("div");o.classList.add(s),document.body.appendChild(o);const a=window.getComputedStyle(o)[e]||i,c=window.getComputedStyle(o.parentElement)[e];return document.body.removeChild(o),!n&&c&&a===c?i:a||i},ml="ripple",Do="te.ripple",dy="rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%",uy=["[data-te-ripple-init]"],Mo=[0,0,0],py=[{name:"primary",gradientColor:os("text-primary",{defaultValue:"#3B71CA",inherit:!1})},{name:"secondary",gradientColor:os("text-secondary",{defaultValue:"#9FA6B2",inherit:!1})},{name:"success",gradientColor:os("text-success",{defaultValue:"#14A44D",inherit:!1})},{name:"danger",gradientColor:os("text-danger",{defaultValue:"#DC4C64",inherit:!1})},{name:"warning",gradientColor:os("text-warning",{defaultValue:"#E4A11B",inherit:!1})},{name:"info",gradientColor:os("text-info",{defaultValue:"#54B4D3",inherit:!1})},{name:"light",gradientColor:"#fbfbfb"},{name:"dark",gradientColor:"#262626"}],ru=.5,fy={rippleCentered:!1,rippleColor:"",rippleColorDark:"",rippleDuration:"500ms",rippleRadius:0,rippleUnbound:!1},_y={rippleCentered:"boolean",rippleColor:"string",rippleColorDark:"string",rippleDuration:"string",rippleRadius:"number",rippleUnbound:"boolean"},gy={ripple:"relative overflow-hidden inline-block align-bottom",rippleWave:"rounded-[50%] opacity-50 pointer-events-none absolute touch-none scale-0 transition-[transform,_opacity] ease-[cubic-bezier(0,0,0.15,1),_cubic-bezier(0,0,0.15,1)] z-[999]",unbound:"overflow-visible"},my={ripple:"string",rippleWave:"string",unbound:"string"};class Ye{constructor(t,e,i){this._element=t,this._options=this._getConfig(e),this._classes=this._getClasses(i),this._element&&(O.setData(t,Do,this),g.addClass(this._element,this._classes.ripple)),this._clickHandler=this._createRipple.bind(this),this._rippleTimer=null,this._isMinWidthSet=!1,this._initialClasses=null,this.init()}static get NAME(){return ml}init(){this._addClickEvent(this._element)}dispose(){O.removeData(this._element,Do),_.off(this._element,"click",this._clickHandler),this._element=null,this._options=null}_autoInit(t){uy.forEach(e=>{m.closest(t.target,e)&&(this._element=m.closest(t.target,e))}),this._element.style.minWidth||(g.style(this._element,{"min-width":getComputedStyle(this._element).width}),this._isMinWidthSet=!0),this._options=this._getConfig(),this._classes=this._getClasses(),this._initialClasses=[...this._element.classList],g.addClass(this._element,this._classes.ripple),this._createRipple(t)}_addClickEvent(t){_.on(t,"mousedown",this._clickHandler)}_createRipple(t){this._element.className.indexOf(this._classes.ripple)<0&&g.addClass(this._element,this._classes.ripple);const{layerX:e,layerY:i}=t,n=t.offsetX||e,o=t.offsetY||i,r=this._element.offsetHeight,a=this._element.offsetWidth,l=this._durationToMsNumber(this._options.rippleDuration),c={offsetX:this._options.rippleCentered?r/2:n,offsetY:this._options.rippleCentered?a/2:o,height:r,width:a},h=this._getDiameter(c),d=this._options.rippleRadius||h/2,u={delay:l*ru,duration:l-l*ru},p={left:this._options.rippleCentered?`${a/2-d}px`:`${n-d}px`,top:this._options.rippleCentered?`${r/2-d}px`:`${o-d}px`,height:`${this._options.rippleRadius*2||h}px`,width:`${this._options.rippleRadius*2||h}px`,transitionDelay:`0s, ${u.delay}ms`,transitionDuration:`${l}ms, ${u.duration}ms`},f=$("div");this._createHTMLRipple({wrapper:this._element,ripple:f,styles:p}),this._removeHTMLRipple({ripple:f,duration:l})}_createHTMLRipple({wrapper:t,ripple:e,styles:i}){Object.keys(i).forEach(n=>e.style[n]=i[n]),g.addClass(e,this._classes.rippleWave),e.setAttribute("data-te-ripple-ref",""),this._addColor(e,t),this._toggleUnbound(t),this._appendRipple(e,t)}_removeHTMLRipple({ripple:t,duration:e}){this._rippleTimer&&(clearTimeout(this._rippleTimer),this._rippleTimer=null),t&&setTimeout(()=>{t.classList.add("!opacity-0")},10),this._rippleTimer=setTimeout(()=>{if(t&&(t.remove(),this._element)){m.find("[data-te-ripple-ref]",this._element).forEach(n=>{n.remove()}),this._isMinWidthSet&&(g.style(this._element,{"min-width":""}),this._isMinWidthSet=!1);const i=this._initialClasses?this._addedNewRippleClasses(this._classes.ripple,this._initialClasses):this._classes.ripple.split(" ");g.removeClass(this._element,i)}},e)}_addedNewRippleClasses(t,e){return t.split(" ").filter(i=>e.findIndex(n=>i===n)===-1)}_durationToMsNumber(t){return Number(t.replace("ms","").replace("s","000"))}_getConfig(t={}){const e=g.getDataAttributes(this._element);return t={...fy,...e,...t},L(ml,t,_y),t}_getClasses(t={}){const e=g.getDataClassAttributes(this._element);return t={...gy,...e,...t},L(ml,t,my),t}_getDiameter({offsetX:t,offsetY:e,height:i,width:n}){const o=e<=i/2,r=t<=n/2,a=(u,p)=>Math.sqrt(u**2+p**2),l=e===i/2&&t===n/2,c={first:o===!0&&r===!1,second:o===!0&&r===!0,third:o===!1&&r===!0,fourth:o===!1&&r===!1},h={topLeft:a(t,e),topRight:a(n-t,e),bottomLeft:a(t,i-e),bottomRight:a(n-t,i-e)};let d=0;return l||c.fourth?d=h.topLeft:c.third?d=h.topRight:c.second?d=h.bottomRight:c.first&&(d=h.bottomLeft),d*2}_appendRipple(t,e){e.appendChild(t),setTimeout(()=>{g.addClass(t,"opacity-0 scale-100")},50)}_toggleUnbound(t){this._options.rippleUnbound===!0?g.addClass(t,this._classes.unbound):g.removeClass(t,this._classes.unbound)}_addColor(t){let e=this._options.rippleColor||"rgb(0,0,0)";(localStorage.theme==="dark"||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&(e=this._options.rippleColorDark||this._options.rippleColor);const i=py.find(r=>r.name===e.toLowerCase()),n=i?this._colorToRGB(i.gradientColor).join(","):this._colorToRGB(e).join(","),o=dy.split("{{color}}").join(`${n}`);t.style.backgroundImage=`radial-gradient(circle, ${o})`}_colorToRGB(t){function e(o){return o.length<7&&(o=`#${o[1]}${o[1]}${o[2]}${o[2]}${o[3]}${o[3]}`),[parseInt(o.substr(1,2),16),parseInt(o.substr(3,2),16),parseInt(o.substr(5,2),16)]}function i(o){const r=document.body.appendChild(document.createElement("fictum")),a="rgb(1, 2, 3)";return r.style.color=a,r.style.color!==a||(r.style.color=o,r.style.color===a||r.style.color==="")?Mo:(o=getComputedStyle(r).color,document.body.removeChild(r),o)}function n(o){return o=o.match(/[.\d]+/g).map(r=>+Number(r)),o.length=3,o}return t.toLowerCase()==="transparent"?Mo:t[0]==="#"?e(t):(t.indexOf("rgb")===-1&&(t=i(t)),t.indexOf("rgb")===0?n(t):Mo)}static autoInitial(t){return function(e){t._autoInit(e)}}static jQueryInterface(t){return this.each(function(){return O.getData(this,Do)?null:new Ye(this,t)})}static getInstance(t){return O.getData(t,Do)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}function Tt(s){return s.getDate()}function Lo(s){return s.getDay()}function ot(s){return s.getMonth()}function K(s){return s.getFullYear()}function by(s,t,e){const i=e.startDay,n=i>0?7-i:0,r=new Date(s,t).getDay()+n;return r>=7?r-7:r}function bl(s){return vy(s).getDate()}function vy(s){return ee(s.getFullYear(),s.getMonth()+1,0)}function rs(){return new Date}function kt(s,t){return St(s,t*12)}function St(s,t){const e=ee(s.getFullYear(),s.getMonth()+t,s.getDate()),i=Tt(s),n=Tt(e);return i!==n&&e.setDate(0),e}function as(s,t){return ee(s.getFullYear(),s.getMonth(),s.getDate()+t)}function ee(s,t,e){const i=new Date(s,t,e);return s>=0&&s<100&&i.setFullYear(i.getFullYear()-1900),i}function au(s){const t=s.split("-"),e=t[0],i=t[1],n=t[2];return ee(e,i,n)}function yy(s){return!Number.isNaN(s.getTime())}function ls(s,t){return K(s)-K(t)||ot(s)-ot(t)||Tt(s)-Tt(t)}function yi(s,t){return s.setHours(0,0,0,0),t.setHours(0,0,0,0),s.getTime()===t.getTime()}function $o(s,t){const i=K(s)-Ey();return Ty(i,t)}function Ty(s,t){return(s%t+t)%t}function Ey(s,t,e){let i=0;return e?i=K(e)-s+1:t&&(i=K(t)),i}function Ro(s,t,e,i,n,o){const r=new Date;r.setHours(0,0,0,0);const a=t&&ls(s,t)<=-1,l=e&&ls(s,e)>=1,c=n&&ls(s,r)<=-1,h=o&&ls(s,r)>=1,d=i&&i(s)===!1;return a||l||d||c||h}function lu(s,t,e,i,n,o){const r=new Date,a=i&&K(i),l=i&&ot(i),c=e&&K(e),h=e&&ot(e),d=K(r),u=ot(r),p=l&&a&&(t>a||t===a&&s>l),f=h&&c&&(td||t===d&&s>u);return p||f||b||v}function vl(s,t,e,i,n){const o=t&&K(t),r=e&&K(e),a=K(new Date),l=r&&s>r,c=o&&sa;return l||c||h||d}function xy(s,t,e,i,n,o,r,a){const l=new Date;return l.setHours(0,0,0,0),(s&&o&&ls(o,l)<0||s)&&(o=l),o&&qs(t,o,e,i,n,o,r,a)}function Cy(s,t,e,i,n,o,r,a){const l=new Date;return l.setHours(0,0,0,0),(s&&n&&ls(n,l)<0||s)&&(n=l),n&&qs(t,n,e,i,n,o,r,a)}function qs(s,t,e,i,n,o,r,a){return e==="days"?K(s)===K(t)&&ot(s)===ot(t):e==="months"?K(s)===K(t):e==="years"?K(t)>=a&&K(t)<=r:!1}const Ay="data-te-datepicker-modal-container-ref",wy="data-te-datepicker-dropdown-container-ref",ky="data-te-dropdown-backdrop-ref",Sy="data-te-datepicker-date-text-ref",cu="data-te-datepicker-view-ref",Oy="data-te-datepicker-previous-button-ref",Iy="data-te-datepicker-next-button-ref",Dy="data-te-datepicker-ok-button-ref",My="data-te-datepicker-cancel-button-ref",Ly="data-te-datepicker-clear-button-ref",$y="data-te-datepicker-view-change-button-ref";function Ry(s,t,e,i,n,o,r,a,l,c){const h=ot(s),d=K(s),u=Tt(s),p=Lo(s),f=$("div"),b=` + ${hu(s,h,d,t,e,i,n,o,r,a,c)} + `,v=` + ${Ny(u,p,h,n,c)} + ${hu(s,h,d,t,e,i,n,o,r,a,c)} + `;return n.inline?(g.addClass(f,c.datepickerDropdownContainer),f.setAttribute(wy,l),f.innerHTML=b):(g.addClass(f,c.modalContainer),f.setAttribute(Ay,l),f.innerHTML=v),f}function Py(s){const t=$("div");return g.addClass(t,s),t.setAttribute(ky,""),t}function Ny(s,t,e,i,n){return` +
    +
    + ${i.title} +
    +
    + ${i.weekdaysShort[t]}, ${i.monthsShort[e]} ${s} +
    +
    + `}function hu(s,t,e,i,n,o,r,a,l,c,h){let d;return r.inline?d=` +
    + ${uu(t,e,r,h)} +
    + ${du(s,e,i,n,o,r,a,l,c,h)} +
    +
    + `:d=` +
    + ${uu(t,e,r,h)} +
    + ${du(s,e,i,n,o,r,a,l,c,h)} +
    + ${By(r,h)} +
    + `,d}function du(s,t,e,i,n,o,r,a,l,c){let h;return o.view==="days"?h=Po(s,e,o,c):o.view==="months"?h=No(t,i,n,o,r,c):h=Bo(s,i,o,a,l,c),h}function uu(s,t,e,i){return` +
    + +
    + + +
    +
    + `}function pe(s,t){return` + + ${s.viewChangeIconTemplate} + + `}function By(s,t){const e=``,i=``,n=``;return` +
    + + ${s.removeClearBtn?"":n} + ${s.removeCancelBtn?"":i} + ${s.removeOkBtn?"":e} +
    + `}function Po(s,t,e,i){const n=Hy(s,t,e),r=` + + ${e.weekdaysNarrow.map((l,c)=>`${l}`).join("")} + + `,a=n.map(l=>` + + ${l.map(c=>` + +
    + ${c.dayNumber} +
    + + `).join("")} + + `).join("");return` + + + ${r} + + + ${a} + +
    + `}function Hy(s,t,e){const i=[],n=ot(s),o=ot(St(s,-1)),r=ot(St(s,1)),a=K(s),l=by(a,n,e),c=bl(s),h=bl(St(s,-1)),d=7;let u=1,p=!1;for(let f=1;fc&&(u=1,p=!1);const y=ee(a,p?n:r,u);b.push({date:y,currentMonth:p,isSelected:t&&yi(y,t),isToday:yi(y,rs()),dayNumber:Tt(y),disabled:Ro(y,e.min,e.max,e.filter,e.disablePast,e.disableFuture)}),u++}i.push(b)}return i}function No(s,t,e,i,n,o){const r=Vy(i,n),a=ot(rs()),l=K(rs()),c=` + ${r.map(h=>` + + ${h.map(d=>{const u=i.monthsShort.indexOf(d);return` + +
    ${d}
    + + `}).join("")} + + `).join("")} + `;return` + + + ${c} + +
    + `}function Vy(s,t){const e=[];let i=[];for(let n=0;n` + + ${c.map(h=>` + +
    ${h}
    + + `).join("")} + + `).join("")} + `;return` + + + ${l} + +
    + `}function Fy(s,t,e){const i=[],n=K(s),o=$o(s,t),r=n-o;let a=[];for(let l=0;l + + + + + `}const cs=37,ut=38,hs=39,ht=40,Ti=36,Ei=35,yl=33,Tl=34,Et=13,Ho=32,xi=27,Ci=9,zy=8,jy=46,ie=24,Vo=4,Fo=4,El="datepicker",Wo="te.datepicker",zo=`.${Wo}`,Yy=".data-api",Ky=`close${zo}`,Uy=`open${zo}`,Xy=`dateChange${zo}`,jo=`click${zo}${Yy}`,pu="data-te-datepicker-modal-container-ref",fu="data-te-datepicker-dropdown-container-ref",Yo="[data-te-datepicker-toggle-ref]",Gy=`[${pu}]`,qy=`[${fu}]`,Zy="[data-te-datepicker-view-change-button-ref]",Qy="[data-te-datepicker-previous-button-ref]",Jy="[data-te-datepicker-next-button-ref]",tT="[data-te-datepicker-ok-button-ref]",eT="[data-te-datepicker-cancel-button-ref]",iT="[data-te-datepicker-clear-button-ref]",sT="[data-te-datepicker-view-ref]",nT="[data-te-datepicker-toggle-button-ref]",oT="[data-te-datepicker-date-text-ref]",rT="[data-te-dropdown-backdrop-ref]",aT="animate-[fade-in_0.3s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none",lT="animate-[fade-out_0.3s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none",cT="animate-[fade-in_0.15s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none",hT="animate-[fade-out_0.15s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none",dT="flex flex-col fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[328px] h-[512px] bg-white rounded-[0.6rem] shadow-lg z-[1066] xs:max-md:landscape:w-[475px] xs:max-md:landscape:h-[360px] xs:max-md:landscape:flex-row dark:bg-zinc-700",uT="w-full h-full fixed top-0 right-0 left-0 bottom-0 bg-black/40 z-[1065]",pT="relative h-full",fT="xs:max-md:landscape:h-full h-[120px] px-6 bg-primary flex flex-col rounded-t-lg dark:bg-zinc-800",_T="h-8 flex flex-col justify-end",gT="text-[10px] font-normal uppercase tracking-[1.7px] text-white",mT="xs:max-md:landscape:mt-24 h-[72px] flex flex-col justify-end",bT="text-[34px] font-normal text-white",vT="outline-none px-3",yT="px-3 pt-2.5 pb-0 flex justify-between text-black/[64]",TT="flex items-center outline-none p-2.5 text-neutral-500 font-medium text-[0.9rem] rounded-xl shadow-none bg-transparent m-0 border-none hover:bg-neutral-200 focus:bg-neutral-200 dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10",ET="mt-2.5",xT="p-0 w-10 h-10 leading-10 border-none outline-none m-0 text-gray-600 bg-transparent mr-6 hover:bg-neutral-200 hover:rounded-[50%] focus:bg-neutral-200 focus:rounded-[50%] dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10 [&>svg]:w-4 [&>svg]:h-4 [&>svg]:mx-auto",CT="p-0 w-10 h-10 leading-10 border-none outline-none m-0 text-gray-600 bg-transparent hover:bg-neutral-200 hover:rounded-[50%] focus:bg-neutral-200 focus:rounded-[50%] dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10 [&>svg]:w-4 [&>svg]:h-4 [&>svg]:rotate-180 [&>svg]:mx-auto",AT="h-14 flex absolute w-full bottom-0 justify-end items-center px-3",wT="outline-none bg-white text-primary border-none cursor-pointer py-0 px-2.5 uppercase text-[0.8rem] leading-10 font-medium h-10 tracking-[.1rem] rounded-[10px] mb-2.5 hover:bg-neutral-200 focus:bg-neutral-200 dark:bg-transparent dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10",kT="mr-auto",ST="w-10 h-10 text-center text-[12px] font-normal dark:text-white",OT="text-center data-[te-datepicker-cell-disabled]:text-neutral-300 data-[te-datepicker-cell-disabled]:cursor-default data-[te-datepicker-cell-disabled]:pointer-events-none data-[te-datepicker-cell-disabled]:hover:cursor-default hover:cursor-pointer group",IT="w-10 h-10 xs:max-md:landscape:w-8 xs:max-md:landscape:h-8",DT="w-[76px] h-[42px]",MT="mx-auto group-[:not([data-te-datepicker-cell-disabled]):not([data-te-datepicker-cell-selected]):hover]:bg-neutral-300 group-[[data-te-datepicker-cell-selected]]:bg-primary group-[[data-te-datepicker-cell-selected]]:text-white group-[:not([data-te-datepicker-cell-selected])[data-te-datepicker-cell-focused]]:bg-neutral-100 group-[[data-te-datepicker-cell-focused]]:data-[te-datepicker-cell-selected]:bg-primary group-[[data-te-datepicker-cell-current]]:border-solid group-[[data-te-datepicker-cell-current]]:border-black group-[[data-te-datepicker-cell-current]]:border dark:group-[:not([data-te-datepicker-cell-disabled]):not([data-te-datepicker-cell-selected]):hover]:bg-white/10 dark:group-[[data-te-datepicker-cell-current]]:border-white dark:text-white dark:group-[:not([data-te-datepicker-cell-selected])[data-te-datepicker-cell-focused]]:bg-white/10 dark:group-[[data-te-datepicker-cell-disabled]]:text-neutral-500",LT="w-9 h-9 leading-9 rounded-[50%] text-[13px]",$T="w-[72px] h-10 leading-10 py-[1px] px-0.5 rounded-[999px]",RT="mx-auto w-[304px]",PT="flex items-center justify-content-center [&>svg]:w-5 [&>svg]:h-5 absolute outline-none border-none bg-transparent right-0.5 top-1/2 -translate-x-1/2 -translate-y-1/2 hover:text-primary focus:text-primary dark:hover:text-primary-400 dark:focus:text-primary-400 dark:text-neutral-200",NT="inline-block pointer-events-none ml-[3px] [&>svg]:w-4 [&>svg]:h-4 [&>svg]:fill-neutral-500 dark:[&>svg]:fill-white",BT="w-[328px] h-[380px] bg-white rounded-lg shadow-[0px_2px_15px_-3px_rgba(0,0,0,.07),_0px_10px_20px_-2px_rgba(0,0,0,.04)] z-[1066] dark:bg-zinc-700",HT={title:"Select date",container:"body",disablePast:!1,disableFuture:!1,monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysNarrow:["S","M","T","W","T","F","S"],okBtnText:"Ok",clearBtnText:"Clear",cancelBtnText:"Cancel",okBtnLabel:"Confirm selection",clearBtnLabel:"Clear selection",cancelBtnLabel:"Cancel selection",nextMonthLabel:"Next month",prevMonthLabel:"Previous month",nextYearLabel:"Next year",prevYearLabel:"Previous year",changeMonthIconTemplate:` + + + `,nextMultiYearLabel:"Next 24 years",prevMultiYearLabel:"Previous 24 years",switchToMultiYearViewLabel:"Choose year and month",switchToMonthViewLabel:"Choose date",switchToDayViewLabel:"Choose date",startDate:null,startDay:0,format:"dd/mm/yyyy",view:"days",viewChangeIconTemplate:` + + + `,min:null,max:null,filter:null,inline:!1,toggleButton:!0,disableToggleButton:!1,disableInput:!1,animations:!0,confirmDateOnSelect:!1,removeOkBtn:!1,removeCancelBtn:!1,removeClearBtn:!1},VT={title:"string",container:"string",disablePast:"boolean",disableFuture:"boolean",monthsFull:"array",monthsShort:"array",weekdaysFull:"array",weekdaysShort:"array",weekdaysNarrow:"array",okBtnText:"string",clearBtnText:"string",cancelBtnText:"string",okBtnLabel:"string",clearBtnLabel:"string",cancelBtnLabel:"string",nextMonthLabel:"string",prevMonthLabel:"string",nextYearLabel:"string",prevYearLabel:"string",nextMultiYearLabel:"string",prevMultiYearLabel:"string",changeMonthIconTemplate:"string",switchToMultiYearViewLabel:"string",switchToMonthViewLabel:"string",switchToDayViewLabel:"string",startDate:"(null|string|date)",startDay:"number",format:"string",view:"string",viewChangeIconTemplate:"string",min:"(null|string|date)",max:"(null|string|date)",filter:"(null|function)",inline:"boolean",toggleButton:"boolean",disableToggleButton:"boolean",disableInput:"boolean",animations:"boolean",confirmDateOnSelect:"boolean",removeOkBtn:"boolean",removeCancelBtn:"boolean",removeClearBtn:"boolean"},FT={fadeIn:aT,fadeOut:lT,fadeInShort:cT,fadeOutShort:hT,modalContainer:dT,datepickerBackdrop:uT,datepickerMain:pT,datepickerHeader:fT,datepickerTitle:_T,datepickerTitleText:gT,datepickerDate:mT,datepickerDateText:bT,datepickerView:vT,datepickerDateControls:yT,datepickerViewChangeButton:TT,datepickerViewChangeIcon:NT,datepickerArrowControls:ET,datepickerPreviousButton:xT,datepickerNextButton:CT,datepickerFooter:AT,datepickerFooterBtn:wT,datepickerClearBtn:kT,datepickerDayHeading:ST,datepickerCell:OT,datepickerCellSmall:IT,datepickerCellLarge:DT,datepickerCellContent:MT,datepickerCellContentSmall:LT,datepickerCellContentLarge:$T,datepickerTable:RT,datepickerToggleButton:PT,datepickerDropdownContainer:BT},WT={fadeIn:"string",fadeOut:"string",fadeInShort:"string",fadeOutShort:"string",modalContainer:"string",datepickerBackdrop:"string",datepickerMain:"string",datepickerHeader:"string",datepickerTitle:"string",datepickerTitleText:"string",datepickerDate:"string",datepickerDateText:"string",datepickerView:"string",datepickerDateControls:"string",datepickerViewChangeButton:"string",datepickerArrowControls:"string",datepickerPreviousButton:"string",datepickerNextButton:"string",datepickerFooter:"string",datepickerFooterBtn:"string",datepickerClearBtn:"string",datepickerDayHeading:"string",datepickerCell:"string",datepickerCellSmall:"string",datepickerCellLarge:"string",datepickerCellContent:"string",datepickerCellContentSmall:"string",datepickerCellContentLarge:"string",datepickerTable:"string",datepickerToggleButton:"string",datepickerDropdownContainer:"string"};class xl{constructor(t,e,i){this._element=t,this._input=m.findOne("input",this._element),this._options=this._getConfig(e),this._classes=this._getClasses(i),this._activeDate=new Date,this._selectedDate=null,this._selectedYear=null,this._selectedMonth=null,this._headerDate=null,this._headerYear=null,this._headerMonth=null,this._view=this._options.view,this._popper=null,this._focusTrap=null,this._isOpen=!1,this._toggleButtonId=bt("datepicker-toggle-"),this._animations=!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&this._options.animations,this._scrollBar=new Qi,this._element&&O.setData(t,Wo,this),this._init(),this.toggleButton&&this._options.disableToggle&&(this.toggleButton.disabled="true"),this._options.disableInput&&(this._input.disabled="true")}static get NAME(){return El}get container(){return m.findOne(`[${pu}='${this._toggleButtonId}']`)||m.findOne(`[${fu}='${this._toggleButtonId}']`)}get options(){return this._options}get activeCell(){let t;return this._view==="days"&&(t=this._getActiveDayCell()),this._view==="months"&&(t=this._getActiveMonthCell()),this._view==="years"&&(t=this._getActiveYearCell()),t}get activeDay(){return Tt(this._activeDate)}get activeMonth(){return ot(this._activeDate)}get activeYear(){return K(this._activeDate)}get firstYearInView(){return this.activeYear-$o(this._activeDate,ie)}get lastYearInView(){return this.firstYearInView+ie-1}get viewChangeButton(){return m.findOne(Zy,this.container)}get previousButton(){return m.findOne(Qy,this.container)}get nextButton(){return m.findOne(Jy,this.container)}get okButton(){return m.findOne(tT,this.container)}get cancelButton(){return m.findOne(eT,this.container)}get clearButton(){return m.findOne(iT,this.container)}get datesContainer(){return m.findOne(sT,this.container)}get toggleButton(){return m.findOne(nT,this._element)}update(t={}){this._options=this._getConfig({...this._options,...t})}_getConfig(t){const e=g.getDataAttributes(this._element);if(t={...HT,...e,...t},L(El,t,VT),t.max&&typeof t.max=="string"&&(t.max=new Date(t.max)),t.min&&typeof t.min=="string"&&(t.min=new Date(t.min)),t.startDay&&t.startDay!==0){const i=this._getNewDaysOrderArray(t);t.weekdaysNarrow=i}return t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...FT,...e,...t},L(El,t,WT),t}_getContainer(){return m.findOne(this._options.container)}_getNewDaysOrderArray(t){const e=t.startDay,i=t.weekdaysNarrow;return i.slice(e).concat(i.slice(0,e))}_init(){!this.toggleButton&&this._options.toggleButton&&(this._appendToggleButton(),(this._input.readOnly||this._input.disabled)&&(this.toggleButton.style.pointerEvents="none")),this._listenToUserInput(),this._listenToToggleClick(),this._listenToToggleKeydown()}_appendToggleButton(){const t=Wy(this._toggleButtonId,this._classes.datepickerToggleButton);this._element.insertAdjacentHTML("beforeend",t)}open(){if(this._input.readOnly||this._input.disabled)return;const t=_.trigger(this._element,Uy);if(this._isOpen||t.defaultPrevented)return;this._setInitialDate();const e=Py(this._classes.datepickerBackdrop),i=Ry(this._activeDate,this._selectedDate,this._selectedYear,this._selectedMonth,this._options,Fo,ie,Vo,this._toggleButtonId,this._classes);this._options.inline?this._openDropdown(i):(this._openModal(e,i),this._scrollBar.hide()),this._animations&&(g.addClass(this.container,this._classes.fadeIn),g.addClass(e,this._classes.fadeInShort)),this._setFocusTrap(this.container),this._listenToDateSelection(),this._addControlsListeners(),this._updateControlsDisabledState(),this._listenToEscapeClick(),this._listenToKeyboardNavigation(),this._listenToDatesContainerFocus(),this._listenToDatesContainerBlur(),this._asyncFocusDatesContainer(),this._updateViewControlsAndAttributes(this._view),this._isOpen=!0,setTimeout(()=>{this._listenToOutsideClick()},0)}_openDropdown(t){this._popper=Fe(this._input,t,{placement:"bottom-start"}),this._getContainer().appendChild(t)}_openModal(t,e){const i=this._getContainer();i.appendChild(t),i.appendChild(e)}_setFocusTrap(t){this._focusTrap=new Vs(t,{event:"keydown",condition:e=>e.key==="Tab"}),this._focusTrap.trap()}_listenToUserInput(){_.on(this._input,"input",t=>{this._handleUserInput(t.target.value)})}_listenToToggleClick(){_.on(this._element,jo,Yo,t=>{t.preventDefault(),this.open()})}_listenToToggleKeydown(){_.on(this._element,"keydown",Yo,t=>{t.keyCode===Et&&!this._isOpen&&this.open()})}_listenToDateSelection(){_.on(this.datesContainer,"click",t=>{this._handleDateSelection(t)})}_handleDateSelection(t){const e=t.target.nodeName==="DIV"?t.target.parentNode.dataset:t.target.dataset,i=t.target.nodeName==="DIV"?t.target.parentNode:t.target;if(e.teDate&&this._pickDay(e.teDate,i),e.teMonth&&e.teYear){const n=parseInt(e.teMonth,10),o=parseInt(e.teYear,10);this._pickMonth(n,o)}if(e.teYear&&!e.teMonth){const n=parseInt(e.teYear,10);this._pickYear(n)}this._options.inline||this._updateHeaderDate(this._activeDate,this._options.monthsShort,this._options.weekdaysShort)}_updateHeaderDate(t,e,i){const n=m.findOne(oT,this.container),o=ot(t),r=Tt(t),a=Lo(t);n.innerHTML=`${i[a]}, ${e[o]} ${r}`}_addControlsListeners(){_.on(this.nextButton,"click",()=>{this._view==="days"?this.nextMonth():this._view==="years"?this.nextYears():this.nextYear(),this._updateControlsDisabledState()}),_.on(this.previousButton,"click",()=>{this._view==="days"?this.previousMonth():this._view==="years"?this.previousYears():this.previousYear(),this._updateControlsDisabledState()}),_.on(this.viewChangeButton,"click",()=>{this._view==="days"?this._changeView("years"):(this._view==="years"||this._view==="months")&&this._changeView("days")}),this._options.inline||this._listenToFooterButtonsClick()}_listenToFooterButtonsClick(){_.on(this.okButton,"click",()=>this.handleOk()),_.on(this.cancelButton,"click",()=>this.handleCancel()),_.on(this.clearButton,"click",()=>this.handleClear())}_listenToOutsideClick(){_.on(document,jo,t=>{const e=t.target===this.container,i=this.container&&this.container.contains(t.target);!e&&!i&&this.close()})}_listenToEscapeClick(){_.on(document,"keydown",t=>{t.keyCode===xi&&this._isOpen&&this.close()})}_listenToKeyboardNavigation(){_.on(this.datesContainer,"keydown",t=>{this._handleKeydown(t)})}_listenToDatesContainerFocus(){_.on(this.datesContainer,"focus",()=>{this._focusActiveCell(this.activeCell)})}_listenToDatesContainerBlur(){_.on(this.datesContainer,"blur",()=>{this._removeCurrentFocusStyles()})}_handleKeydown(t){this._view==="days"&&this._handleDaysViewKeydown(t),this._view==="months"&&this._handleMonthsViewKeydown(t),this._view==="years"&&this._handleYearsViewKeydown(t)}_handleDaysViewKeydown(t){const e=this._activeDate,i=this.activeCell;switch(t.keyCode){case cs:this._activeDate=as(this._activeDate,et()?1:-1);break;case hs:this._activeDate=as(this._activeDate,et()?-1:1);break;case ut:this._activeDate=as(this._activeDate,-7);break;case ht:this._activeDate=as(this._activeDate,7);break;case Ti:this._activeDate=as(this._activeDate,1-Tt(this._activeDate));break;case Ei:this._activeDate=as(this._activeDate,bl(this._activeDate)-Tt(this._activeDate));break;case yl:this._activeDate=St(this._activeDate,-1);break;case Tl:this._activeDate=St(this._activeDate,1);break;case Et:case Ho:this._selectDate(this._activeDate),this._handleDateSelection(t),t.preventDefault();return;default:return}qs(e,this._activeDate,this._view,ie,this._options.min,this._options.max)||this._changeView("days"),this._removeHighlightFromCell(i),this._focusActiveCell(this.activeCell),t.preventDefault()}_asyncFocusDatesContainer(){setTimeout(()=>{this.datesContainer.focus()},0)}_focusActiveCell(t){t&&t.setAttribute("data-te-datepicker-cell-focused","")}_removeHighlightFromCell(t){t&&t.removeAttribute("data-te-datepicker-cell-focused")}_getActiveDayCell(){const t=m.find("td",this.datesContainer);return Array.from(t).find(i=>{const n=au(i.dataset.teDate);return yi(n,this._activeDate)})}_handleMonthsViewKeydown(t){const e=this._activeDate,i=this.activeCell;switch(t.keyCode){case cs:this._activeDate=St(this._activeDate,et()?1:-1);break;case hs:this._activeDate=St(this._activeDate,et()?-1:1);break;case ut:this._activeDate=St(this._activeDate,-4);break;case ht:this._activeDate=St(this._activeDate,4);break;case Ti:this._activeDate=St(this._activeDate,-this.activeMonth);break;case Ei:this._activeDate=St(this._activeDate,11-this.activeMonth);break;case yl:this._activeDate=kt(this._activeDate,-1);break;case Tl:this._activeDate=kt(this._activeDate,1);break;case Et:case Ho:this._selectMonth(this.activeMonth);return;default:return}qs(e,this._activeDate,this._view,ie,this._options.min,this._options.max)||this._changeView("months"),this._removeHighlightFromCell(i),this._focusActiveCell(this.activeCell),t.preventDefault()}_getActiveMonthCell(){const t=m.find("td",this.datesContainer);return Array.from(t).find(i=>{const n=parseInt(i.dataset.teYear,10),o=parseInt(i.dataset.teMonth,10);return n===this.activeYear&&o===this.activeMonth})}_handleYearsViewKeydown(t){const e=this._activeDate,i=this.activeCell,n=4,o=24;switch(t.keyCode){case cs:this._activeDate=kt(this._activeDate,et()?1:-1);break;case hs:this._activeDate=kt(this._activeDate,et()?-1:1);break;case ut:this._activeDate=kt(this._activeDate,-n);break;case ht:this._activeDate=kt(this._activeDate,n);break;case Ti:this._activeDate=kt(this._activeDate,-$o(this._activeDate,o));break;case Ei:this._activeDate=kt(this._activeDate,o-$o(this._activeDate,o)-1);break;case yl:this._activeDate=kt(this._activeDate,-o);break;case Tl:this._activeDate=kt(this._activeDate,o);break;case Et:case Ho:this._selectYear(this.activeYear);return;default:return}qs(e,this._activeDate,this._view,ie,this._options.min,this._options.max)||this._changeView("years"),this._removeHighlightFromCell(i),this._focusActiveCell(this.activeCell),t.preventDefault()}_getActiveYearCell(){const t=m.find("td",this.datesContainer);return Array.from(t).find(i=>parseInt(i.dataset.teYear,10)===this.activeYear)}_setInitialDate(){this._input.value?this._handleUserInput(this._input.value):this._options.startDate?this._activeDate=new Date(this._options.startDate):this._activeDate=new Date}close(){const t=_.trigger(this._element,Ky);!this._isOpen||t.defaultPrevented||(this._removeDatepickerListeners(),this._animations&&g.addClass(this.container,this._classes.fadeOut),this._options.inline?this._closeDropdown():this._closeModal(),this._isOpen=!1,this._view=this._options.view,this.toggleButton?this.toggleButton.focus():this._input.focus())}_closeDropdown(){const t=m.findOne(qy),e=this._getContainer();window.matchMedia("(prefers-reduced-motion: reduce)").matches&&(t&&e.removeChild(t),this._popper&&this._popper.destroy()),t.addEventListener("animationend",()=>{t&&e.removeChild(t),this._popper&&this._popper.destroy()}),this._removeFocusTrap()}_closeModal(){const t=m.findOne(rT),e=m.findOne(Gy);!e||!t||(this._animations?(g.addClass(t,this._classes.fadeOutShort),t.addEventListener("animationend",()=>{this._removePicker(t,e),this._scrollBar.reset()})):(this._removePicker(t,e),this._scrollBar.reset()))}_removePicker(t,e){const i=this._getContainer();i.removeChild(t),i.removeChild(e)}_removeFocusTrap(){this._focusTrap&&(this._focusTrap.disable(),this._focusTrap=null)}_removeDatepickerListeners(){_.off(this.nextButton,"click"),_.off(this.previousButton,"click"),_.off(this.viewChangeButton,"click"),_.off(this.okButton,"click"),_.off(this.cancelButton,"click"),_.off(this.clearButton,"click"),_.off(this.datesContainer,"click"),_.off(this.datesContainer,"keydown"),_.off(this.datesContainer,"focus"),_.off(this.datesContainer,"blur"),_.off(document,jo)}dispose(){this._isOpen&&this.close(),this._removeInputAndToggleListeners();const t=m.findOne(`#${this._toggleButtonId}`);t&&this._element.removeChild(t),O.removeData(this._element,Wo),this._element=null,this._input=null,this._options=null,this._activeDate=null,this._selectedDate=null,this._selectedYear=null,this._selectedMonth=null,this._headerDate=null,this._headerYear=null,this._headerMonth=null,this._view=null,this._popper=null,this._focusTrap=null}_removeInputAndToggleListeners(){_.off(this._input,"input"),_.off(this._element,jo,Yo),_.off(this._element,"keydown",Yo)}handleOk(){this._confirmSelection(this._headerDate),this.close()}_selectDate(t,e=this.activeCell){const{min:i,max:n,filter:o,disablePast:r,disableFuture:a}=this._options;Ro(t,i,n,o,r,a)||(this._removeCurrentSelectionStyles(),this._removeCurrentFocusStyles(),this._addSelectedStyles(e),this._selectedDate=t,this._selectedYear=K(t),this._selectedMonth=ot(t),this._headerDate=t,(this._options.inline||this.options.confirmDateOnSelect)&&(this._confirmSelection(t),this.close()))}_selectYear(t,e=this.activeCell){this._removeCurrentSelectionStyles(),this._removeCurrentFocusStyles(),this._addSelectedStyles(e),this._headerYear=t,this._asyncChangeView("months")}_selectMonth(t,e=this.activeCell){this._removeCurrentSelectionStyles(),this._removeCurrentFocusStyles(),this._addSelectedStyles(e),this._headerMonth=t,this._asyncChangeView("days")}_removeSelectedStyles(t){t&&t.removeAttribute("data-te-datepicker-cell-selected")}_addSelectedStyles(t){t&&t.setAttribute("data-te-datepicker-cell-selected","")}_confirmSelection(t){if(t){const e=this.formatDate(t);this._input.value=e,_.trigger(this._element,Xy,{date:t}),_.trigger(this._input,"input")}}handleCancel(){this._selectedDate=null,this._selectedYear=null,this._selectedMonth=null,this.close()}handleClear(){this._selectedDate=null,this._selectedMonth=null,this._selectedYear=null,this._headerDate=null,this._headerMonth=null,this._headerYear=null,this._removeCurrentSelectionStyles(),this._input.value="",this._setInitialDate(),this._changeView("days"),this._updateHeaderDate(this._activeDate,this._options.monthsShort,this._options.weekdaysShort)}_removeCurrentSelectionStyles(){const t=m.findOne("[data-te-datepicker-cell-selected]",this.container);t&&t.removeAttribute("data-te-datepicker-cell-selected")}_removeCurrentFocusStyles(){const t=m.findOne("[data-te-datepicker-cell-focused]",this.container);t&&t.removeAttribute("data-te-datepicker-cell-focused")}formatDate(t){const e=Tt(t),i=this._addLeadingZero(Tt(t)),n=this._options.weekdaysShort[Lo(t)],o=this._options.weekdaysFull[Lo(t)],r=ot(t)+1,a=this._addLeadingZero(ot(t)+1),l=this._options.monthsShort[ot(t)],c=this._options.monthsFull[ot(t)],h=K(t).toString().length===2?K(t):K(t).toString().slice(2,4),d=K(t),u=this._options.format.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g);let p="";return u.forEach(f=>{switch(f){case"dddd":f=f.replace(f,o);break;case"ddd":f=f.replace(f,n);break;case"dd":f=f.replace(f,i);break;case"d":f=f.replace(f,e);break;case"mmmm":f=f.replace(f,c);break;case"mmm":f=f.replace(f,l);break;case"mm":f=f.replace(f,a);break;case"m":f=f.replace(f,r);break;case"yyyy":f=f.replace(f,d);break;case"yy":f=f.replace(f,h);break}p+=f}),p}_addLeadingZero(t){return parseInt(t,10)<10?`0${t}`:t}_pickDay(t,e){const i=au(t),{min:n,max:o,filter:r,disablePast:a,disableFuture:l}=this._options;Ro(i,n,o,r,a,l)||(this._activeDate=i,this._selectDate(i,e))}_pickYear(t){const{min:e,max:i,disablePast:n,disableFuture:o}=this._options;if(vl(t,e,i,n,o))return;const r=ee(t,this.activeMonth,this.activeDay);this._activeDate=r,this._selectedDate=r,this._selectYear(t)}_pickMonth(t,e){const{min:i,max:n,disablePast:o,disableFuture:r}=this._options;if(lu(t,e,i,n,o,r)||vl(e,i,n,o,r))return;const a=ee(e,t,this.activeDay);this._activeDate=a,this._selectMonth(t)}nextMonth(){const t=St(this._activeDate,1),e=Po(t,this._headerDate,this._options,this._classes);this._activeDate=t,this.viewChangeButton.textContent=`${this._options.monthsFull[this.activeMonth]} ${this.activeYear}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes),this.datesContainer.innerHTML=e}previousMonth(){const t=St(this._activeDate,-1);this._activeDate=t;const e=Po(t,this._headerDate,this._options,this._classes);this.viewChangeButton.textContent=`${this._options.monthsFull[this.activeMonth]} ${this.activeYear}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes),this.datesContainer.innerHTML=e}nextYear(){const t=kt(this._activeDate,1);this._activeDate=t,this.viewChangeButton.textContent=`${this.activeYear}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes);const e=No(this.activeYear,this._selectedYear,this._selectedMonth,this._options,Fo,this._classes);this.datesContainer.innerHTML=e}previousYear(){const t=kt(this._activeDate,-1);this._activeDate=t,this.viewChangeButton.textContent=`${this.activeYear}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes);const e=No(this.activeYear,this._selectedYear,this._selectedMonth,this._options,Fo,this._classes);this.datesContainer.innerHTML=e}nextYears(){const t=kt(this._activeDate,24);this._activeDate=t;const e=Bo(t,this._selectedYear,this._options,ie,Vo,this._classes);this.viewChangeButton.textContent=`${this.firstYearInView} - ${this.lastYearInView}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes),this.datesContainer.innerHTML=e}previousYears(){const t=kt(this._activeDate,-24);this._activeDate=t;const e=Bo(t,this._selectedYear,this._options,ie,Vo,this._classes);this.viewChangeButton.textContent=`${this.firstYearInView} - ${this.lastYearInView}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes),this.datesContainer.innerHTML=e}_asyncChangeView(t){setTimeout(()=>{this._changeView(t)},0)}_changeView(t){this._view=t,this.datesContainer.blur(),t==="days"&&(this.datesContainer.innerHTML=Po(this._activeDate,this._headerDate,this._options,this._classes)),t==="months"&&(this.datesContainer.innerHTML=No(this.activeYear,this._selectedYear,this._selectedMonth,this._options,Fo,this._classes)),t==="years"&&(this.datesContainer.innerHTML=Bo(this._activeDate,this._selectedYear,this._options,ie,Vo,this._classes)),this.datesContainer.focus(),this._updateViewControlsAndAttributes(t),this._updateControlsDisabledState()}_updateViewControlsAndAttributes(t){t==="days"&&(this.viewChangeButton.textContent=`${this._options.monthsFull[this.activeMonth]} ${this.activeYear}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes),this.viewChangeButton.setAttribute("aria-label",this._options.switchToMultiYearViewLabel),this.previousButton.setAttribute("aria-label",this._options.prevMonthLabel),this.nextButton.setAttribute("aria-label",this._options.nextMonthLabel)),t==="months"&&(this.viewChangeButton.textContent=`${this.activeYear}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes),this.viewChangeButton.setAttribute("aria-label",this._options.switchToDayViewLabel),this.previousButton.setAttribute("aria-label",this._options.prevYearLabel),this.nextButton.setAttribute("aria-label",this._options.nextYearLabel)),t==="years"&&(this.viewChangeButton.textContent=`${this.firstYearInView} - ${this.lastYearInView}`,this.viewChangeButton.innerHTML+=pe(this._options,this._classes),this.viewChangeButton.setAttribute("aria-label",this._options.switchToMonthViewLabel),this.previousButton.setAttribute("aria-label",this._options.prevMultiYearLabel),this.nextButton.setAttribute("aria-label",this._options.nextMultiYearLabel))}_updateControlsDisabledState(){xy(this._options.disableFuture,this._activeDate,this._view,ie,this._options.min,this._options.max,this.lastYearInView,this.firstYearInView)?this.nextButton.disabled=!0:this.nextButton.disabled=!1,Cy(this._options.disablePast,this._activeDate,this._view,ie,this._options.min,this._options.max,this.lastYearInView,this.firstYearInView)?this.previousButton.disabled=!0:this.previousButton.disabled=!1}_handleUserInput(t){const e=this._getDelimeters(this._options.format),i=this._parseDate(t,this._options.format,e);yy(i)?(this._activeDate=i,this._selectedDate=i,this._selectedYear=K(i),this._selectedMonth=ot(i),this._headerDate=i):(this._activeDate=new Date,this._selectedDate=null,this._selectedMonth=null,this._selectedYear=null,this._headerDate=null,this._headerMonth=null,this._headerYear=null)}_getDelimeters(t){return t.match(/[^(dmy)]{1,}/g)}_parseDate(t,e,i){let n;i[0]!==i[1]?n=i[0]+i[1]:n=i[0];const o=new RegExp(`[${n}]`),r=t.split(o),a=e.split(o),l=e.indexOf("mmm")!==-1,c=[];for(let b=0;bi===t)}static getInstance(t){return O.getData(t,Wo)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const zT=({format24:s,okLabel:t,cancelLabel:e,headID:i,footerID:n,bodyID:o,pickerID:r,clearLabel:a,inline:l,showClearBtn:c,amLabel:h,pmLabel:d},u)=>{const p=`
    +
    +
    +
    +
    +
    + + + + + + + +
    + ${s?"":`
    + + +
    `} +
    +
    + ${l?"":`
    +
    + +
    +
    +
    + ${s?'
    ':""} +
    +
    `} +
    +
    +
    + ${c?``:""} + + +
    +
    +
    +
    `,f=`
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + ${s?"":`
    + + + +
    `} + ${s?``:""} +
    +
    +
    +
    +
    `;return l?f:p},jT=(s,t,e)=>{const{iconSVG:i}=s;return` + +`},Ko="data-te-timepicker-disabled",Uo="data-te-timepicker-active",Ai=s=>{if(s==="")return;let t,e,i,n;return _u(s)?(t=s.getHours(),n=t,e=s.getMinutes(),t%=12,n===0&&t===0&&(i="AM"),t=t||12,i===void 0&&(i=Number(n)>=12?"PM":"AM"),e=e<10?`0${e}`:e):([t,e,i]=j(s,!1),n=t,t%=12,n===0&&t===0&&(i="AM"),t=t||12,i===void 0&&(i=Number(n)>=12?"PM":"AM")),{hours:t,minutes:e,amOrPm:i}},_u=s=>s&&Object.prototype.toString.call(s)==="[object Date]"&&!Number.isNaN(s),gu=s=>{if(s==="")return;let t,e;return _u(s)?(t=s.getHours(),e=s.getMinutes()):[t,e]=j(s,!1),e=Number(e)<10?`0${Number(e)}`:e,{hours:t,minutes:e}},YT=(s,t,e)=>_.on(document,s,t,({target:i})=>{if(i.hasAttribute(Uo))return;document.querySelectorAll(t).forEach(o=>{o.hasAttribute(Uo)&&(g.removeClass(o,e.opacity),o.removeAttribute(Uo))}),g.addClass(i,e.opacity),i.setAttribute(Uo,"")}),mu=({clientX:s,clientY:t,touches:e},i,n=!1)=>{const{left:o,top:r}=i.getBoundingClientRect();let a={};return!n||!e?a={x:s-o,y:t-r}:n&&Object.keys(e).length>0&&(a={x:e[0].clientX-o,y:e[0].clientY-r}),a},Xo=()=>navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)||/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),j=(s,t=!0)=>t?s.value.replace(/:/gi," ").split(" "):s.replace(/:/gi," ").split(" "),bu=(s,t)=>{const[e,i,n]=j(s,!1),[o,r,a]=j(t,!1);return n==="PM"&&a==="AM"||n===a&&e>o||i>r},vu=()=>{const s=new Date,t=s.getHours(),e=s.getMinutes();return`${t}:${e<10?`0${e}`:e}`},Ke=(s,t,e)=>{if(!t)return s;let i=vu();return e&&(i=`${Ai(i).hours}:${Ai(i).minutes} ${Ai(i).amOrPm}`),(s!==""&&bu(i,s)||s==="")&&(s=i),s},Ue=(s,t,e)=>{if(!t)return s;let i=vu();return e&&(i=`${Ai(i).hours}:${Ai(i).minutes} ${Ai(i).amOrPm}`),(s!==""&&!bu(i,s)||s==="")&&(s=i),s},KT=({format12:s,maxTime:t,minTime:e,disablePast:i,disableFuture:n},o,r)=>{const a=j(o)[1];e=Ke(e,i,s),t=Ue(t,n,s);const[l,c,h]=j(t,!1),[d,u,p]=j(e,!1);if(h!==void 0||p!==void 0)return[r,a];if(!(l!==""&&d===""&&Number(r)>Number(l))&&!(l===""&&d!==""&&c===void 0&&u!==""&&Number(r){s.forEach(n=>{t=t==="12"&&i?"0":t,(n.textContent==="00"||Number(n.textContent==="12"&&i?"0":n.textContent)>t)&&(g.addClass(n,e.tipsDisabled),n.setAttribute(Ko,""))})},Tu=(s,t,e,i)=>{s.forEach(n=>{t=t==="12"&&i?"0":t,n.textContent!=="00"&&Number(n.textContent==="12"&&i?"0":n.textContent){if(t==="12"||t==="24")return;const n=e?12:24;return i==="max"?(Number(s)===n?0:Number(s))>Number(t):(Number(s)===n?0:Number(s)){s.forEach(r=>{(Eu(i,e,o,"max")||Number(r.textContent)>t&&Number(i)===Number(e))&&(g.addClass(r,n.tipsDisabled),r.setAttribute(Ko,""))})},XT=(s,t,e,i,n,o)=>{s.forEach(r=>{(Eu(i,e,o,"min")||Number(r.textContent)s.startsWith("0")?Number(s.slice(1)):Number(s),Zs="timepicker",W=`data-te-${Zs}`,xu="[data-te-toggle]",Go=`te.${Zs}`,fe=`.${Go}`,_e=".data-api",Cu=`click${fe}${_e}`,qo=`keydown${fe}${_e}`,Au=`mousedown${fe}${_e}`,wu=`mouseup${fe}${_e}`,ku=`mousemove${fe}${_e}`,Su=`mouseleave${fe}${_e}`,Ou=`mouseover${fe}${_e}`,Iu=`touchmove${fe}${_e}`,Du=`touchend${fe}${_e}`,Mu=`touchstart${fe}${_e}`,qT=`[${W}-am]`,ZT=`[${W}-pm]`,QT=`[${W}-format24]`,Zo=`[${W}-current]`,Qo=`[${W}-hour-mode]`,JT=`[${W}-toggle-button]`,Cl=`${W}-cancel`,Lu=`${W}-clear`,Al=`${W}-submit`,tE=`${W}-icon`,wl=`${W}-icon-up`,kl=`${W}-icon-down`,eE=`${W}-icon-inline-hour`,iE=`${W}-icon-inline-minute`,$u=`${W}-inline-hour-icons`,sE=`${W}-current-inline`,nE="readonly",oE=`${W}-invalid-feedback`,Sl=`${W}-is-invalid`,Xe=`${W}-disabled`,J=`${W}-active`,rE=`${W}-input`,wi=`${W}-clock`,Qs=`${W}-clock-inner`,Ol=`${W}-wrapper`,Ru=`${W}-clock-wrapper`,Jo=`${W}-hour`,Il=`${W}-minute`,tr=`${W}-tips-element`,_t=`${W}-tips-hours`,xt=`${W}-tips-minutes`,Bt=`${W}-tips-inner`,er=`${W}-tips-inner-element`,Pu=`${W}-middle-dot`,Dl=`${W}-hand-pointer`,Ml=`${W}-circle`,Nu=`${W}-modal`,aE={appendValidationInfo:!0,bodyID:"",cancelLabel:"Cancel",clearLabel:"Clear",closeModalOnBackdropClick:!0,closeModalOnMinutesClick:!1,container:"body",defaultTime:"",disabled:!1,disablePast:!1,disableFuture:!1,enableValidation:!0,focusInputAfterApprove:!1,footerID:"",format12:!0,format24:!1,headID:"",increment:!1,inline:!1,invalidLabel:"Invalid Time Format",maxTime:"",minTime:"",modalID:"",okLabel:"Ok",overflowHidden:!0,pickerID:"",readOnly:!1,showClearBtn:!0,switchHoursToMinutesOnClick:!0,iconSVG:` + +`,withIcon:!0,pmLabel:"PM",amLabel:"AM",animations:!0},lE={appendValidationInfo:"boolean",bodyID:"string",cancelLabel:"string",clearLabel:"string",closeModalOnBackdropClick:"boolean",closeModalOnMinutesClick:"boolean",container:"string",disabled:"boolean",disablePast:"boolean",disableFuture:"boolean",enableValidation:"boolean",footerID:"string",format12:"boolean",format24:"boolean",headID:"string",increment:"boolean",inline:"boolean",invalidLabel:"string",modalID:"string",okLabel:"string",overflowHidden:"boolean",pickerID:"string",readOnly:"boolean",showClearBtn:"boolean",switchHoursToMinutesOnClick:"boolean",defaultTime:"(string|date|number)",iconSVG:"string",withIcon:"boolean",pmLabel:"string",amLabel:"string",animations:"boolean"},cE={tips:"absolute rounded-[100%] w-[32px] h-[32px] text-center cursor-pointer text-[1.1rem] rounded-[100%] bg-transparent flex justify-center items-center font-light focus:outline-none selection:bg-transparent",tipsActive:"text-white bg-[#3b71ca] font-normal",tipsDisabled:"text-[#b3afaf] pointer-events-none bg-transparent",transform:"transition-[transform,height] ease-in-out duration-[400ms]",modal:"z-[1065]",clockAnimation:"animate-[show-up-clock_350ms_linear]",opacity:"!opacity-100",timepickerWrapper:"touch-none opacity-100 z-[1065] inset-0 bg-[#00000066] h-full flex items-center justify-center flex-col fixed",timepickerContainer:"flex items-center justify-center flex-col max-h-[calc(100%-64px)] overflow-y-auto shadow-[0_10px_15px_-3px_rgba(0,0,0,0.07),0_4px_6px_-2px_rgba(0,0,0,0.05)] min-[320px]:max-[825px]:landscape:rounded-lg",timepickerElements:"flex flex-col min-w-[310px] min-h-[325px] bg-white rounded-t-[0.6rem] min-[320px]:max-[825px]:landscape:!flex-row min-[320px]:max-[825px]:landscape:min-w-[auto] min-[320px]:max-[825px]:landscape:min-h-[auto] min-[320px]:max-[825px]:landscape:overflow-y-auto justify-around",timepickerHead:"bg-[#3b71ca] dark:bg-zinc-700 h-[100px] rounded-t-lg pr-[24px] pl-[50px] py-[10px] min-[320px]:max-[825px]:landscape:rounded-tr-none min-[320px]:max-[825px]:landscape:rounded-bl-none min-[320px]:max-[825px]:landscape:p-[10px] min-[320px]:max-[825px]:landscape:pr-[10px] min-[320px]:max-[825px]:landscape:h-auto min-[320px]:max-[825px]:landscape:min-h-[305px] flex flex-row items-center justify-center",timepickerHeadContent:"min-[320px]:max-[825px]:landscape:flex-col flex w-full justify-evenly",timepickerCurrentWrapper:"[direction:ltr] rtl:[direction:rtl]",timepickerCurrentButtonWrapper:"relative h-full",timepickerCurrentButton:"text-[3.75rem] font-light leading-[1.2] tracking-[-0.00833em] text-white opacity-[.54] border-none bg-transparent p-0 min-[320px]:max-[825px]:landscape:text-5xl min-[320px]:max-[825px]:landscape:font-normal cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none ",timepickerDot:"font-light leading-[1.2] tracking-[-0.00833em] text-[3.75rem] opacity-[.54] border-none bg-transparent p-0 text-white min-[320px]:max-[825px]:landscape:text-[3rem] min-[320px]:max-[825px]:landscape:font-normal",timepickerModeWrapper:"flex flex-col justify-center text-[18px] text-[#ffffff8a] min-[320px]:max-[825px]:landscape:!justify-around min-[320px]:max-[825px]:landscape:!flex-row",timepickerModeAm:"p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none",timepickerModePm:"p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none",timepickerClockWrapper:"min-w-[310px] max-w-[325px] min-h-[305px] overflow-x-hidden h-full flex justify-center flex-col items-center dark:bg-zinc-500",timepickerClock:"relative rounded-[100%] w-[260px] h-[260px] cursor-default my-0 mx-auto bg-[#00000012] dark:bg-zinc-600/50",timepickerMiddleDot:"top-1/2 left-1/2 w-[6px] h-[6px] -translate-y-1/2 -translate-x-1/2 rounded-[50%] bg-[#3b71ca] absolute",timepickerHandPointer:"bg-[#3b71ca] bottom-1/2 h-2/5 left-[calc(50%-1px)] rtl:!left-auto origin-[center_bottom_0] rtl:!origin-[50%_50%_0] w-[2px] absolute",timepickerPointerCircle:"-top-[21px] -left-[15px] w-[4px] border-[14px] border-solid border-[#3b71ca] h-[4px] box-content rounded-[100%] absolute",timepickerClockInner:"absolute top-1/2 left-1/2 -translate-y-1/2 -translate-x-1/2 w-[160px] h-[160px] rounded-[100%]",timepickerFooterWrapper:"rounded-b-lg flex justify-between items-center w-full h-[56px] px-[12px] bg-white dark:bg-zinc-500",timepickerFooter:"w-full flex justify-between",timepickerFooterButton:"text-[0.8rem] min-w-[64px] box-border font-medium leading-[40px] rounded-[10px] tracking-[0.1rem] uppercase text-[#3b71ca] dark:text-white border-none bg-transparent transition-[background-color,box-shadow,border] duration-[250ms] ease-[cubic-bezier(0.4,0,0.2,1)] delay-[0ms] outline-none py-0 px-[10px] h-[40px] mb-[10px] hover:bg-[#00000014] focus:bg-[#00000014] focus:outline-none",timepickerInlineWrapper:"touch-none opacity-100 z-[1065] inset-0 bg-[#00000066] h-full flex items-center justify-center flex-col rounded-lg",timepickerInlineContainer:"flex items-center justify-center flex-col max-h-[calc(100%-64px)] overflow-y-auto shadow-[0_10px_15px_-3px_rgba(0,0,0,0.07),0_4px_6px_-2px_rgba(0,0,0,0.05)]",timepickerInlineElements:"flex flex-col min-h-[auto] min-w-[310px] bg-white rounded-[0.6rem] min-[320px]:max-[825px]:landscape:!flex-row min-[320px]:max-[825px]:landscape:rounded-bl-lg min-[320px]:max-[825px]:landscape:min-w-[auto] min-[320px]:max-[825px]:landscape::min-h-[auto] min-[320px]:max-[825px]:landscape:overflow-y-auto justify-around",timepickerInlineHead:"bg-[#3b71ca] dark:bg-zinc-700 h-[100px] rounded-t-lg min-[320px]:max-[825px]:landscape:rounded-tr-none min-[320px]:max-[825px]:landscape:rounded-bl-none min-[320px]:max-[825px]:landscape:p-[10px] min-[320px]:max-[825px]:landscape:pr-[10px] min-[320px]:max-[825px]:landscape:h-auto min-[320px]:max-[825px]:landscape:min-h-[305px] flex flex-row items-center justify-center p-0 rounded-b-lg",timepickerInlineHeadContent:"min-[320px]:max-[825px]:landscape:flex-col flex w-full justify-evenly items-center",timepickerInlineHourWrapper:"relative h-full !opacity-100",timepickerCurrentMinuteWrapper:"relative h-full",timepickerInlineIconUp:"absolute text-white -top-[35px] opacity-0 hover:opacity-100 transition-all duration-200 ease-[ease] cursor-pointer -translate-x-1/2 -translate-y-1/2 left-1/2 w-[30px] h-[30px] flex justify-center items-center",timepickerInlineIconSvg:"h-4 w-4",timepickerInlineCurrentButton:"font-light leading-[1.2] tracking-[-0.00833em] text-white border-none bg-transparent p-0 min-[320px]:max-[825px]:landscape:text-5xl min-[320px]:max-[825px]:landscape:font-normal !opacity-100 cursor-pointer focus:bg-[#00000026] hover:outline-none focus:outline-none text-[2.5rem] hover:bg-[unset]",timepickerInlineIconDown:"absolute text-white -bottom-[47px] opacity-0 hover:opacity-100 transition-all duration-200 ease-[ease] cursor-pointer -translate-x-1/2 -translate-y-1/2 left-1/2 w-[30px] h-[30px] flex justify-center items-center",timepickerInlineDot:"font-light leading-[1.2] tracking-[-0.00833em] opacity-[.54] border-none bg-transparent p-0 text-white min-[320px]:max-[825px]:landscape:text-[3rem] min-[320px]:max-[825px]:landscape:font-normal text-[2.5rem]",timepickerInlineModeWrapper:"flex justify-center text-[18px] text-[#ffffff8a] min-[320px]:max-[825px]:landscape:!justify-around min-[320px]:max-[825px]:landscape:!flex-row",timepickerInlineModeAm:"hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer mr-2 ml-6",timepickerInlineModePm:"hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer",timepickerInlineSubmitButton:"hover:bg-[#00000014] focus:bg-[#00000014] focus:outline-none text-[0.8rem] box-border font-medium leading-[40px] tracking-[.1rem] uppercase border-none bg-transparent [transition:background-color_250ms_cubic-bezier(0.4,0,0.2,1)_0ms,box-shadow_250ms_cubic-bezier(0.4,0,0.2,1)_0ms,border_250ms_cubic-bezier(0.4,0,0.2,1)_0ms] outline-none rounded-[100%] h-[48px] min-w-[48px] inline-block ml-[30px] text-white py-1 px-2 mb-0",timepickerToggleButton:"h-4 w-4 ml-auto absolute outline-none border-none bg-transparent right-1.5 top-1/2 -translate-x-1/2 -translate-y-1/2 transition-all duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] cursor-pointer hover:text-[#3b71ca] focus:text-[#3b71ca] dark:hover:text-[#3b71ca] dark:focus:text-[#3b71ca] dark:text-white"},hE={tips:"string",tipsActive:"string",tipsDisabled:"string",transform:"string",modal:"string",clockAnimation:"string",opacity:"string",timepickerWrapper:"string",timepickerContainer:"string",timepickerElements:"string",timepickerHead:"string",timepickerHeadContent:"string",timepickerCurrentWrapper:"string",timepickerCurrentButtonWrapper:"string",timepickerCurrentButton:"string",timepickerDot:"string",timepickerModeWrapper:"string",timepickerModeAm:"string",timepickerModePm:"string",timepickerClockWrapper:"string",timepickerClock:"string",timepickerMiddleDot:"string",timepickerHandPointer:"string",timepickerPointerCircle:"string",timepickerClockInner:"string",timepickerFooterWrapper:"string",timepickerFooterButton:"string",timepickerInlineWrapper:"string",timepickerInlineContainer:"string",timepickerInlineElements:"string",timepickerInlineHead:"string",timepickerInlineHeadContent:"string",timepickerInlineHourWrapper:"string",timepickerCurrentMinuteWrapper:"string",timepickerInlineIconUp:"string",timepickerInlineIconSvg:"string",timepickerInlineCurrentButton:"string",timepickerInlineIconDown:"string",timepickerInlineDot:"string",timepickerInlineModeWrapper:"string",timepickerInlineModeAm:"string",timepickerInlineModePm:"string",timepickerInlineSubmitButton:"string",timepickerToggleButton:"string"};class Ll{constructor(t,e={},i){ke(this,"_toggleAmPm",t=>{t==="PM"?(this._isPmEnabled=!0,this._isAmEnabled=!1):t==="AM"&&(this._isPmEnabled=!1,this._isAmEnabled=!0)});ke(this,"_toggleBackgroundColorCircle",t=>{if(this._modal.querySelector(`${t}[${J}]`)!==null){g.addStyle(this._circle,{backgroundColor:"#1976d2"});return}g.addStyle(this._circle,{backgroundColor:"transparent"})});ke(this,"_toggleClassActive",(t,{textContent:e},i)=>{const n=[...t].find(o=>Number(o)===Number(e));return i.forEach(o=>{if(!o.hasAttribute(Xe)){if(o.textContent===n){g.addClass(o,this._classes.tipsActive),o.setAttribute(J,"");return}g.removeClass(o,this._classes.tipsActive),o.removeAttribute(J)}})});ke(this,"_makeMinutesDegrees",(t,e)=>{const{increment:i}=this._options;return t<0?(e=Math.round(360+t/6)%60,t=360+Math.round(t/6)*6):(e=Math.round(t/6)%60,t=Math.round(t/6)*6),i&&(t=Math.round(t/30)*30,e=Math.round(t/6)*6/6,e===60&&(e="00")),t>=360&&(t=0),{degrees:t,minute:e,addDegrees:i?30:6}});ke(this,"_makeHourDegrees",(t,e,i)=>{if(t)return this._hasTargetInnerClass(t)?e<0?(i=Math.round(360+e/30)%24,e=360+e):(i=Math.round(e/30)+12,i===12&&(i="00")):e<0?(i=Math.round(360+e/30)%12,e=360+e):(i=Math.round(e/30)%12,(i===0||i>12)&&(i=12)),e>=360&&(e=0),{degrees:e,hour:i,addDegrees:30}});ke(this,"_makeInnerHoursDegrees",(t,e)=>(t<0?(e=Math.round(360+t/30)%24,t=360+t):(e=Math.round(t/30)+12,e===12&&(e="00")),{degrees:t,hour:e,addDegrees:30}));ke(this,"_getAppendClock",(t=[],e=`[${wi}]`,i)=>{let{minTime:n,maxTime:o}=this._options;const{inline:r,format12:a,disablePast:l,disableFuture:c}=this._options;n=Ke(n,l,a),o=Ue(o,c,a);const[h,d,u]=j(o,!1),[p,f,b]=j(n,!1);!r&&a&&this._isInvalidTimeFormat&&!this._AM.hasAttribute(J)&&(g.addClass(this._PM,this._classes.opacity),this._PM.setAttribute(J,""));const v=m.findOne(e),y=360/t.length;function T(A){return A*(Math.PI/180)}if(v===null)return;const x=(v.offsetWidth-32)/2,E=(v.offsetHeight-32)/2,C=x-4;setTimeout(()=>{let A;a&&(A=m.findOne(`${Qo}[${J}]`).textContent),this._handleDisablingTipsMinTime(A,b,f,p),this._handleDisablingTipsMaxTime(A,u,d,h)},0),[...t].forEach((A,w)=>{const S=T(w*y),k=$("span"),D=$("span");D.innerHTML=A,g.addClass(k,this._classes.tips),k.setAttribute(i,"");const I=k.offsetWidth,M=k.offsetHeight;return g.addStyle(k,{left:`${x+Math.sin(S)*C-I}px`,bottom:`${E+Math.cos(S)*C-M}px`}),t.includes("05")&&k.setAttribute(xt,""),t.includes("13")?D.setAttribute(er,""):D.setAttribute(tr,""),k.appendChild(D),v.appendChild(k)})});this._element=t,this._element&&O.setData(t,Go,this),this._document=document,this._options=this._getConfig(e),this._classes=this._getClasses(i),this._currentTime=null,this._toggleButtonId=bt("timepicker-toggle-"),this.hoursArray=["12","1","2","3","4","5","6","7","8","9","10","11"],this.innerHours=["00","13","14","15","16","17","18","19","20","21","22","23"],this.minutesArray=["00","05","10","15","20","25","30","35","40","45","50","55"],this.input=m.findOne("input",this._element),this.dataWithIcon=t.dataset.withIcon,this.dataToggle=t.dataset.toggle,this.customIcon=m.findOne(JT,this._element),this._checkToggleButton(),this.inputFormatShow=m.findOne(QT,this._element),this.inputFormat=this.inputFormatShow===null?"":Object.values(this.inputFormatShow.dataset)[0],this.elementToggle=m.findOne(xu,this._element),this.toggleElement=Object.values(t.querySelector(xu).dataset)[0],this._hour=null,this._minutes=null,this._AM=null,this._PM=null,this._wrapper=null,this._modal=null,this._hand=null,this._circle=null,this._focusTrap=null,this._popper=null,this._interval=null,this._timeoutInterval=null,this._inputValue=this._options.defaultTime!==""?this._options.defaultTime:this.input.value,this._options.format24&&(this._options.format12=!1,this._currentTime=gu(this._inputValue)),this._options.format12&&(this._options.format24=!1,this._currentTime=Ai(this._inputValue)),this._options.readOnly&&this.input.setAttribute(nE,!0),this.inputFormat==="true"&&this.inputFormat!==""&&(this._options.format12=!1,this._options.format24=!0,this._currentTime=gu(this._inputValue)),this._animations=!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&this._options.animations,this.init(),this._isHours=!0,this._isMinutes=!1,this._isInvalidTimeFormat=!1,this._isMouseMove=!1,this._isInner=!1,this._isAmEnabled=!1,this._isPmEnabled=!1,this._options.format12&&!this._options.defaultTime&&(this._isPmEnabled=!0),this._objWithDataOnChange={degrees:null},this._scrollBar=new Qi}static get NAME(){return Zs}init(){const{format12:t,format24:e,enableValidation:i}=this._options;let n,o,r;if(this.input.setAttribute(rE,""),this._currentTime!==void 0){const{hours:a,minutes:l,amOrPm:c}=this._currentTime;n=Number(a)<10?0:"",o=`${n}${Number(a)}:${l}`,r=c,t?this.input.value=`${o} ${r}`:e&&(this.input.value=`${o}`)}else n="",o="",r="",this.input.value="";this.input.value.length>0&&this.input.value!==""&&(this.input.setAttribute(J,""),_.trigger(this.input,"input")),!(this._options===null&&this._element===null)&&(i&&this._getValidate("keydown change blur focus"),this._handleOpen(),this._listenToToggleKeydown())}dispose(){this._removeModal(),this._element!==null&&O.removeData(this._element,Go),setTimeout(()=>{this._element=null,this._options=null,this.input=null,this._focusTrap=null},350),_.off(this._element,"click",`[data-te-toggle='${this.toggleElement}']`),_.off(this._element,"keydown",`[data-te-toggle='${this.toggleElement}']`)}update(t={}){this._options=this._getConfig({...this._options,...t})}_checkToggleButton(){this.customIcon===null&&(this.dataWithIcon!==void 0&&(this._options.withIcon=null,this.dataWithIcon==="true"&&this._appendToggleButton(this._options)),this._options.withIcon&&this._appendToggleButton(this._options))}_appendToggleButton(){const t=jT(this._options,this._toggleButtonId,this._classes);this.input.insertAdjacentHTML("afterend",t)}_getDomElements(){this._hour=m.findOne(`[${Jo}]`),this._minutes=m.findOne(`[${Il}]`),this._AM=m.findOne(qT),this._PM=m.findOne(ZT),this._wrapper=m.findOne(`[${Ol}]`),this._modal=m.findOne(`[${Nu}]`),this._hand=m.findOne(`[${Dl}]`),this._circle=m.findOne(`[${Ml}]`),this._clock=m.findOne(`[${wi}]`),this._clockInner=m.findOne(`[${Qs}]`)}_handlerMaxMinHoursOptions(t,e,i,n,o,r){if(!e&&!i)return!0;const{format24:a,format12:l,disablePast:c,disableFuture:h}=this._options,{_isAmEnabled:d,_isPmEnabled:u}=this,p=r.keyCode,f=r.target.hasAttribute(Qs)||r.target.hasAttribute(Bt)||r.target.hasAttribute(er);i=Ke(i,c,l),e=Ue(e,h,l),typeof e!="number"&&(e=j(e,!1)[0]);const b=e!==""?e*30:"",v=i!==""?i*30:"";t<0&&(t=360+t),t=t===360?0:t;const y=()=>{const w=document.querySelectorAll(`[${tr}]`),S=document.querySelectorAll(`[${er}]`),k=GT(this._hour.innerText);let D,I,M;return p===ut?I=1:p===ht&&(I=-1),k===12&&p===ut?M=1:k===0&&p===ut?M=13:k===0&&p===ht?M=23:k===13&&p===ht?M=0:k===1&&p===ht?M=12:M=k+I,w.forEach(P=>{Number(P.textContent)===M&&(D=P)}),S.forEach(P=>{Number(P.textContent)===M&&(D=P)}),!D.parentElement.hasAttribute(Xe)},T=()=>{const w=i!==""&&i>12?(i-12)*30:"",S=e!==""&&e>12?(e-12)*30:"";if(!(w&&tS||e&&e<12))return!0};if(a&&r.type!=="keydown"&&f)return T();if(r.type==="keydown")return y();const x=!o||o==="PM"&&u||i!==""&&o==="AM"&&d,E=!n||n==="PM"&&u||e!==""&&n==="AM"&&d,C=()=>{const w=v===360&&l?0:v;if(i){if(o==="PM"&&d||x&&t{const w=b===360&&l?0:b;if(e){if(n==="AM"&&u||E&&t>w)return}else return!0;return!0};return C()&&A()}_handleKeyboard(){_.on(this._document,qo,"",t=>{let e,i,n;const{increment:o,maxTime:r,minTime:a,format12:l,disablePast:c,disableFuture:h}=this._options;let d=j(a,!1)[0],u=j(r,!1)[0];const p=j(a,!1)[2],f=j(r,!1)[2];d=Ke(d,c,l),u=Ue(u,h,l),typeof u!="number"&&(u=j(u,!1)[0]);const b=m.findOne(`[${xt}]`)===null,v=m.findOne(`[${Bt}]`)!==null,y=Number(this._hand.style.transform.replace(/[^\d-]/g,"")),T=m.find(`[${xt}]`,this._modal),x=m.find(`[${_t}]`,this._modal),E=m.find(`[${Bt}]`,this._modal);let C=this._makeHourDegrees(t.target,y,e).hour;const{degrees:A,addDegrees:w}=this._makeHourDegrees(t.target,y,e);let{minute:S,degrees:k}=this._makeMinutesDegrees(y,i);const D=this._makeMinutesDegrees(y,i).addDegrees;let{hour:I}=this._makeInnerHoursDegrees(y,n);if(t.keyCode===xi){const M=m.findOne(`[${Cl}]`,this._modal);_.trigger(M,"click")}else if(b){if(v&&(t.keyCode===hs&&(this._isInner=!1,g.addStyle(this._hand,{height:"calc(40% + 1px)"}),this._hour.textContent=this._setHourOrMinute(C>12?1:C),this._toggleClassActive(this.hoursArray,this._hour,x),this._toggleClassActive(this.innerHours,this._hour,E)),t.keyCode===cs&&(this._isInner=!0,g.addStyle(this._hand,{height:"21.5%"}),this._hour.textContent=this._setHourOrMinute(I>=24||I==="00"?0:I),this._toggleClassActive(this.innerHours,this._hour,E),this._toggleClassActive(this.hoursArray,this._hour-1,x))),t.keyCode===ut){if(!this._handlerMaxMinHoursOptions(A+30,u,d,f,p,t))return;g.addStyle(this._hand,{transform:`rotateZ(${A+w}deg)`}),this._isInner?(I+=1,I===24?I=0:(I===25||I==="001")&&(I=13),this._hour.textContent=this._setHourOrMinute(I),this._toggleClassActive(this.innerHours,this._hour,E)):(C+=1,this._hour.textContent=this._setHourOrMinute(C>12?1:C),this._toggleClassActive(this.hoursArray,this._hour,x))}if(t.keyCode===ht){if(!this._handlerMaxMinHoursOptions(A-30,u,d,f,p,t))return;g.addStyle(this._hand,{transform:`rotateZ(${A-w}deg)`}),this._isInner?(I-=1,I===12?I=0:I===-1&&(I=23),this._hour.textContent=this._setHourOrMinute(I),this._toggleClassActive(this.innerHours,this._hour,E)):(C-=1,this._hour.textContent=this._setHourOrMinute(C===0?12:C),this._toggleClassActive(this.hoursArray,this._hour,x))}}else t.keyCode===ut&&(k+=D,g.addStyle(this._hand,{transform:`rotateZ(${k}deg)`}),S+=1,o&&(S+=4,S==="0014"&&(S=5)),this._minutes.textContent=this._setHourOrMinute(S>59?0:S),this._toggleClassActive(this.minutesArray,this._minutes,T),this._toggleBackgroundColorCircle(`[${xt}]`)),t.keyCode===ht&&(k-=D,g.addStyle(this._hand,{transform:`rotateZ(${k}deg)`}),o?S-=5:S-=1,S===-1?S=59:S===-5&&(S=55),this._minutes.textContent=this._setHourOrMinute(S),this._toggleClassActive(this.minutesArray,this._minutes,T),this._toggleBackgroundColorCircle(`[${xt}]`))})}_setActiveClassToTipsOnOpen(t,...e){if(!this._isInvalidTimeFormat)if(this._options.format24){const i=m.find(`[${_t}]`,this._modal),n=m.find(`[${Bt}]`,this._modal);this._addActiveClassToTip(i,t),this._addActiveClassToTip(n,t)}else{[...e].filter(n=>(n.toLowerCase()==="pm"?(g.addClass(this._PM,this._classes.opacity),this._PM.setAttribute(J,"")):n.toLowerCase()==="am"?(g.addClass(this._AM,this._classes.opacity),this._AM.setAttribute(J,"")):(g.removeClass(this._AM,this._classes.opacity),g.removeClass(this._PM,this._classes.opacity),this._AM.removeAttribute(J),this._PM.removeAttribute(J)),n));const i=m.find(`[${_t}]`,this._modal);this._addActiveClassToTip(i,t)}}_setTipsAndTimesDependOnInputValue(t,e){const{inline:i,format12:n}=this._options;if(this._isInvalidTimeFormat)this._hour.textContent="12",this._minutes.textContent="00",i||g.addStyle(this._hand,{transform:"rotateZ(0deg)"}),n&&(g.addClass(this._PM,this._classes.opacity),this._PM.setAttribute(J,""));else{const o=t>12?t*30-360:t*30;this._hour.textContent=t,this._minutes.textContent=e,i||(g.addStyle(this._hand,{transform:`rotateZ(${o}deg)`}),g.addStyle(this._circle,{backgroundColor:"#1976d2"}),(Number(t)>12||t==="00")&&g.addStyle(this._hand,{height:"21.5%"}))}}_listenToToggleKeydown(){_.on(this._element,"keydown",`[data-te-toggle='${this.toggleElement}']`,t=>{t.keyCode===Et&&(t.preventDefault(),_.trigger(this.elementToggle,"click"))})}_handleOpen(){const t=this._getContainer();ct.on(this._element,"click",`[data-te-toggle='${this.toggleElement}']`,e=>{if(this._options===null)return;const i=g.getDataAttribute(this.input,"toggle")!==null?200:0;setTimeout(()=>{g.addStyle(this.elementToggle,{pointerEvents:"none"}),this.elementToggle.blur();let n;j(this.input)[0]===""?n=["12","00","PM"]:n=j(this.input);const{modalID:o,inline:r,format12:a}=this._options,[l,c,h]=n,d=$("div");if((Number(l)>12||l==="00")&&(this._isInner=!0),this.input.blur(),e.target.blur(),d.innerHTML=zT(this._options,this._classes),g.addClass(d,this._classes.modal),d.setAttribute(Nu,""),d.setAttribute("role","dialog"),d.setAttribute("tabIndex","-1"),d.setAttribute("id",o),r?(this._popper=Fe(this.input,d,{placement:"bottom-start"}),t.appendChild(d)):(t.appendChild(d),this._scrollBar.hide()),this._getDomElements(),this._animations?this._toggleBackdropAnimation():g.addClass(this._wrapper,this._classes.opacity),this._setActiveClassToTipsOnOpen(l,c,h),this._appendTimes(),this._setActiveClassToTipsOnOpen(l,c,h),this._setTipsAndTimesDependOnInputValue(l,c),this.input.value===""){const u=m.find(`[${_t}]`,this._modal);a&&(g.addClass(this._PM,this._classes.opacity),this._PM.setAttribute(J,"")),this._hour.textContent="12",this._minutes.textContent="00",this._addActiveClassToTip(u,Number(this._hour.textContent))}if(this._handleSwitchTimeMode(),this._handleOkButton(),this._handleClose(),r)this._handleHoverInlineBtn(),this._handleDocumentClickInline(),this._handleInlineClicks();else{this._handleSwitchHourMinute(),this._handleClockClick(),this._handleKeyboard();const u=document.querySelector(`${Zo}[${J}]`);g.addClass(u,this._classes.opacity),g.addStyle(this._hour,{pointerEvents:"none"}),g.addStyle(this._minutes,{pointerEvents:""})}this._focusTrap=new Vs(this._wrapper,{event:"keydown",condition:({key:u})=>u==="Tab"}),this._focusTrap.trap()},i)})}_handleInlineClicks(){let t,e;const i=p=>{let f=p;return f>59?f=0:f<0&&(f=59),f},n=p=>{let f=p;return this._options.format24?(f>24?f=1:f<0&&(f=23),f>23&&(f=0)):(f>12?f=1:f<1&&(f=12),f>12&&(f=1)),f},o=p=>{const f=n(p);this._hour.textContent=this._setHourOrMinute(f)},r=p=>{const f=i(p);this._minutes.textContent=this._setHourOrMinute(f)},a=()=>{t=n(t)+1,o(t)},l=()=>{e=i(e)+1,r(e)},c=()=>{t=n(t)-1,o(t)},h=()=>{e=i(e)-1,r(e)},d=()=>{clearInterval(this._interval),clearTimeout(this._timeoutInterval)},u=p=>{d(),this._timeoutInterval=setTimeout(()=>{this._interval=setInterval(p,100)},500)};ct.on(this._modal,"click mousedown mouseup touchstart touchend contextmenu",`[${wl}], [${kl}]`,p=>{t=Number(this._hour.textContent),e=Number(this._minutes.textContent);const{target:f,type:b}=p,v=b==="mousedown"||b==="touchstart";f.closest(`[${wl}]`)?f.closest(`[${wl}]`).parentNode.hasAttribute($u)?v?u(a):b==="mouseup"||b==="touchend"||b==="contextmenu"?d():a():v?u(l):b==="mouseup"||b==="touchend"||b==="contextmenu"?d():l():f.closest(`[${kl}]`)&&(f.closest(`[${kl}]`).parentNode.hasAttribute($u)?v?u(c):b==="mouseup"||b==="touchend"?d():c():v?u(h):b==="mouseup"||b==="touchend"?d():h())}),_.on(window,qo,p=>{const f=p.code,b=document.activeElement.hasAttribute(Jo),v=document.activeElement.hasAttribute(Il),y=document.activeElement===document.body;switch(t=Number(this._hour.textContent),e=Number(this._minutes.textContent),f){case"ArrowUp":p.preventDefault(),y||b?(this._hour.focus(),a()):v&&l();break;case"ArrowDown":p.preventDefault(),y||b?(this._hour.focus(),c()):v&&h();break}})}_handleClose(){_.on(this._modal,"click",`[${Ol}], [${Cl}], [${Lu}]`,({target:t})=>{const{closeModalOnBackdropClick:e}=this._options,i=()=>{var n;g.addStyle(this.elementToggle,{pointerEvents:"auto"}),this._animations&&this._toggleBackdropAnimation(!0),this._removeModal(),(n=this._focusTrap)==null||n.disable(),this._focusTrap=null,this.elementToggle?this.elementToggle.focus():this.input&&this.input.focus()};if(t.hasAttribute(Lu)){this._toggleAmPm("PM"),this.input.value="",this.input.removeAttribute(J);let n;j(this.input)[0]===""?n=["12","00","PM"]:n=j(this.input);const[o,r,a]=n;this._setTipsAndTimesDependOnInputValue("12","00"),this._setActiveClassToTipsOnOpen(o,r,a),this._hour.click()}else(t.hasAttribute(Cl)||t.hasAttribute(Al)||t.hasAttribute(Ol)&&e)&&i()})}showValueInput(){return this.input.value}_handleOkButton(){ct.on(this._modal,"click",`[${Al}]`,()=>{let{maxTime:t,minTime:e}=this._options;const{format12:i,format24:n,readOnly:o,focusInputAfterApprove:r,disablePast:a,disableFuture:l}=this._options,c=this._document.querySelector(`${Qo}[${J}]`),h=`${this._hour.textContent}:${this._minutes.textContent}`,d=Number(this._hour.textContent),u=d===12&&i?0:d,p=Number(this._minutes.textContent);e=Ke(e,a,i),t=Ue(t,l,i);let[f,b,v]=j(t,!1),[y,T,x]=j(e,!1);y=y==="12"&&i?"00":y,f=f==="12"&&i?"00":f;const E=uNumber(f);let A=!0;c&&(A=v===c.textContent);let w=!0;c&&(w=x===c.textContent);const S=p>b&&u===Number(f),k=p{const i=m.find(`[${eE}]`,this._modal),n=m.find(`[${iE}]`,this._modal),o=(l,c)=>l.forEach(h=>{if(c){g.addClass(h,this._classes.opacity),h.setAttribute(J,"");return}g.removeClass(h,this._classes.opacity),h.removeAttribute(J)}),a=e.hasAttribute(Jo)?i:n;o(a,t==="mouseover")})}_handleDocumentClickInline(){_.on(document,Cu,({target:t})=>{if(this._modal&&!this._modal.contains(t)&&!t.hasAttribute(tE)){if(clearInterval(this._interval),g.addStyle(this.elementToggle,{pointerEvents:"auto"}),this._removeModal(),!this._animations)return;this._toggleBackdropAnimation(!0)}})}_handleSwitchHourMinute(){YT("click",Zo,this._classes),_.on(this._modal,"click",Zo,()=>{const{format24:t}=this._options,e=m.find(Zo,this._modal),i=m.find(`[${xt}]`,this._modal),n=m.find(`[${_t}]`,this._modal),o=m.find(`[${Bt}]`,this._modal),r=Number(this._hour.textContent),a=Number(this._minutes.textContent),l=(c,h)=>{n.forEach(u=>u.remove()),i.forEach(u=>u.remove()),g.addClass(this._hand,this._classes.transform),setTimeout(()=>{g.removeClass(this._hand,this._classes.transform)},401),this._getAppendClock(c,`[${wi}]`,h);const d=()=>{const u=m.find(`[${_t}]`,this._modal),p=m.find(`[${xt}]`,this._modal);this._addActiveClassToTip(u,r),this._addActiveClassToTip(p,a)};if(!t)setTimeout(()=>{d()},401);else{const u=m.find(`[${Bt}]`,this._modal);setTimeout(()=>{this._addActiveClassToTip(u,r),d()},401)}};e.forEach(c=>{c.hasAttribute(J)&&(c.hasAttribute(Il)?(g.addClass(this._hand,this._classes.transform),g.addStyle(this._hand,{transform:`rotateZ(${this._minutes.textContent*6}deg)`,height:"calc(40% + 1px)"}),t&&o.length>0&&o.forEach(h=>h.remove()),l(this.minutesArray,xt),this._hour.style.pointerEvents="",this._minutes.style.pointerEvents="none"):c.hasAttribute(Jo)&&(g.addStyle(this._hand,{transform:`rotateZ(${this._hour.textContent*30}deg)`}),Number(this._hour.textContent)>12?(g.addStyle(this._hand,{transform:`rotateZ(${this._hour.textContent*30-360}deg)`,height:"21.5%"}),Number(this._hour.textContent)>12&&g.addStyle(this._hand,{height:"21.5%"})):g.addStyle(this._hand,{height:"calc(40% + 1px)"}),t&&this._getAppendClock(this.innerHours,`[${Qs}]`,Bt),o.length>0&&o.forEach(h=>h.remove()),l(this.hoursArray,_t),g.addStyle(this._hour,{pointerEvents:"none"}),g.addStyle(this._minutes,{pointerEvents:""})))})})}_handleDisablingTipsMaxTime(t,e,i,n){if(!this._options.maxTime&&!this._options.disableFuture)return;const o=m.find(`[${_t}]`),r=m.find(`[${Bt}]`),a=m.find(`[${xt}]`);if(!e||e===t){yu(r,n,this._classes,this._options.format12),yu(o,n,this._classes,this._options.format12),UT(a,i,n,this._hour.textContent,this._classes,this._options.format12);return}e==="AM"&&t==="PM"&&(o.forEach(l=>{g.addClass(l,this._classes.tipsDisabled),l.setAttribute(Xe,"")}),a.forEach(l=>{g.addClass(l,this._classes.tipsDisabled),l.setAttribute(Xe,"")}))}_handleDisablingTipsMinTime(t,e,i,n){if(!this._options.minTime&&!this._options.disablePast)return;const o=m.find(`[${_t}]`),r=m.find(`[${Bt}]`),a=m.find(`[${xt}]`);!e||e===t?(Tu(o,n,this._classes,this._options.format12),Tu(r,n,this._classes,this._options.format12),XT(a,i,n,this._hour.textContent,this._classes,this._options.format12)):e==="PM"&&t==="AM"&&(o.forEach(l=>{g.addClass(l,this._classes.tipsDisabled),l.setAttribute(Xe,"")}),a.forEach(l=>{g.addClass(l,this._classes.tipsDisabled),l.setAttribute(Xe,"")}))}_handleSwitchTimeMode(){_.on(document,"click",Qo,({target:t})=>{let{maxTime:e,minTime:i}=this._options;const{disablePast:n,disableFuture:o,format12:r}=this._options;i=Ke(i,n,r),e=Ue(e,o,r);const[a,l,c]=j(e,!1),[h,d,u]=j(i,!1),p=m.find(`[${_t}]`),f=m.find(`[${xt}]`);(()=>{p.forEach(v=>{g.removeClass(v,this._classes.tipsDisabled),v.removeAttribute(Xe)}),f.forEach(v=>{g.removeClass(v,this._classes.tipsDisabled),v.removeAttribute(Xe)})})(),this._handleDisablingTipsMinTime(t.textContent,u,d,h),this._handleDisablingTipsMaxTime(t.textContent,c,l,a),this._toggleAmPm(t.textContent),t.hasAttribute(J)||(m.find(Qo).forEach(y=>{y.hasAttribute(J)&&(g.removeClass(y,this._classes.opacity),y.removeAttribute(J))}),g.addClass(t,this._classes.opacity),t.setAttribute(J,""))})}_handleClockClick(){let{maxTime:t,minTime:e}=this._options;const{disablePast:i,disableFuture:n,format12:o}=this._options;e=Ke(e,i,o),t=Ue(t,n,o);const r=j(t,!1)[2],a=j(e,!1)[2],l=j(t,!1)[0],c=j(e,!1)[0],h=m.findOne(`[${Ru}]`);ct.on(document,`${Au} ${wu} ${ku} ${Su} ${Ou} ${Mu} ${Iu} ${Du}`,"",d=>{Xo()||d.preventDefault();const{type:u,target:p}=d,{closeModalOnMinutesClick:f,switchHoursToMinutesOnClick:b}=this._options,v=m.findOne(`[${xt}]`,this._modal)!==null,y=m.findOne(`[${_t}]`,this._modal)!==null,T=m.findOne(`[${Bt}]`,this._modal)!==null,x=m.find(`[${xt}]`,this._modal),E=mu(d,h),C=h.offsetWidth/2;let A=Math.atan2(E.y-C,E.x-C);if(Xo()){const D=mu(d,h,!0);A=Math.atan2(D.y-C,D.x-C)}let w=null,S=null,k=null;if(u==="mousedown"||u==="mousemove"||u==="touchmove"||u==="touchstart")(u==="mousedown"||u==="touchstart"||u==="touchmove")&&(this._hasTargetInnerClass(p)||p.hasAttribute(Ru)||p.hasAttribute(wi)||p.hasAttribute(xt)||p.hasAttribute(_t)||p.hasAttribute(Ml)||p.hasAttribute(Dl)||p.hasAttribute(Pu)||p.hasAttribute(tr))&&(this._isMouseMove=!0,Xo()&&d.touches&&(w=d.touches[0].clientX,S=d.touches[0].clientY,k=document.elementFromPoint(w,S)));else if(u==="mouseup"||u==="touchend"){if(this._isMouseMove=!1,this._hasTargetInnerClass(p)||p.hasAttribute(wi)||p.hasAttribute(_t)||p.hasAttribute(Ml)||p.hasAttribute(Dl)||p.hasAttribute(Pu)||p.hasAttribute(tr)){if((y||T)&&b){const D=Number(this._hour.textContent)>l||Number(this._hour.textContent)R>=10||R==="00"?R:`0${R}`;this._minutes.textContent=z(),this._toggleClassActive(this.minutesArray,this._minutes,x),this._toggleBackgroundColorCircle(`[${xt}]`),this._objWithDataOnChange.degreesMinutes=X,this._objWithDataOnChange.minutes=R}}if(y||T){let D,I=Math.trunc(A*180/Math.PI)+90;if(I=Math.round(I/30)*30,g.addStyle(this._circle,{backgroundColor:"#1976d2"}),this._makeHourDegrees(p,I,D)===void 0)return;const M=()=>{if(Xo()&&I&&k){const{degrees:P,hour:X}=this._makeHourDegrees(k,I,D);return this._handleMoveHand(k,X,P)}else{const{degrees:P,hour:X}=this._makeHourDegrees(p,I,D);return this._handleMoveHand(p,X,P)}};this._objWithDataOnChange.degreesHours=I,this._handlerMaxMinHoursOptions(I,l,c,r,a,d)&&M()}d.stopPropagation()})}_hasTargetInnerClass(t){return t.hasAttribute(Qs)||t.hasAttribute(Bt)||t.hasAttribute(er)}_handleMoveHand(t,e,i){const n=m.find(`[${_t}]`,this._modal),o=m.find(`[${Bt}]`,this._modal);this._isMouseMove&&(this._hasTargetInnerClass(t)?g.addStyle(this._hand,{height:"21.5%"}):g.addStyle(this._hand,{height:"calc(40% + 1px)"}),g.addStyle(this._hand,{transform:`rotateZ(${i}deg)`}),this._hour.textContent=e>=10||e==="00"?e:`0${e}`,this._toggleClassActive(this.hoursArray,this._hour,n),this._toggleClassActive(this.innerHours,this._hour,o),this._objWithDataOnChange.hour=e>=10||e==="00"?e:`0${e}`)}_handlerMaxMinMinutesOptions(t,e){let{maxTime:i,minTime:n}=this._options;const{format12:o,increment:r,disablePast:a,disableFuture:l}=this._options;n=Ke(n,a,o),i=Ue(i,l,o);const c=j(i,!1)[1],h=j(n,!1)[1],d=j(i,!1)[0],u=j(n,!1)[0],p=u==="12"&&o?"0":u,f=d==="12"&&o?"0":d,b=j(i,!1)[2],v=j(n,!1)[2],y=c!==""?c*6:"",T=h!==""?h*6:"",x=Number(this._hour.textContent),E=x===12&&o?0:x;if(!b&&!v){if(i!==""&&n!==""){if(Number(f)===E&&t>y||Number(p)===E&&t=Number(f)&&t>=y+6)return t}else{if(n!==""){if(v==="PM"&&this._isAmEnabled)return;if(v==="PM"&&this._isPmEnabled){if(E=Number(f)&&t>=y+6)return t}else if(b==="AM"&&this._isAmEnabled&&E>=Number(f)&&t>=y+6)return t}}return r&&(t=Math.round(t/30)*30),t<0?t=360+t:t>=360&&(t=0),{degrees:t,minute:e}}_removeModal(){this._animations?setTimeout(()=>{this._removeModalElements(),this._scrollBar.reset()},300):(this._removeModalElements(),this._scrollBar.reset()),ct.off(this._document,`${Cu} ${qo} ${Au} ${wu} ${ku} ${Su} ${Ou} ${Mu} ${Iu} ${Du}`),_.off(window,qo)}_removeModalElements(){this._modal&&this._modal.remove()}_toggleBackdropAnimation(t=!1){t?this._wrapper.classList.add("animate-[fade-out_350ms_ease-in-out]"):(this._wrapper.classList.add("animate-[fade-in_350ms_ease-in-out]"),this._options.inline||g.addClass(this._clock,this._classes.clockAnimation)),setTimeout(()=>{this._wrapper.classList.remove("animate-[fade-out_350ms_ease-in-out]","animate-[fade-in_350ms_ease-in-out]")},351)}_addActiveClassToTip(t,e){t.forEach(i=>{Number(i.textContent)===Number(e)&&(g.addClass(i,this._classes.tipsActive),i.setAttribute(J,""))})}_setHourOrMinute(t){return t<10?`0${t}`:t}_appendTimes(){const{format24:t}=this._options;if(t){this._getAppendClock(this.hoursArray,`[${wi}]`,_t),this._getAppendClock(this.innerHours,`[${Qs}]`,Bt);return}this._getAppendClock(this.hoursArray,`[${wi}]`,_t)}_getConfig(t){const e=g.getDataAttributes(this._element);return t={...aE,...e,...t},L(Zs,t,lE),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...cE,...e,...t},L(Zs,t,hE),t}_getContainer(){return m.findOne(this._options.container)}_getValidate(t){const{format24:e,format12:i,appendValidationInfo:n}=this._options;ct.on(this.input,t,({target:o})=>{if(this._options===null||this.input.value==="")return;const r=/^(0?[1-9]|1[012])(:[0-5]\d) [APap][mM]$/,a=/^([01]\d|2[0-3])(:[0-5]\d)$/,l=r.test(o.value);if(a.test(o.value)!==!0&&e||l!==!0&&i){n&&this.input.setAttribute(Sl,""),g.addStyle(o,{marginBottom:0}),this._isInvalidTimeFormat=!0;return}this.input.removeAttribute(Sl),this._isInvalidTimeFormat=!1;const h=m.findOne(`[${oE}]`);h!==null&&h.remove()})}static getInstance(t){return O.getData(t,Go)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const dE={threshold:10,direction:"all"};let uE=class{constructor(t,e){this._element=t,this._startPosition=null,this._options={...dE,...e}}handleTouchStart(t){this._startPosition=this._getCoordinates(t)}handleTouchMove(t){if(!this._startPosition)return;const e=this._getCoordinates(t),i={x:e.x-this._startPosition.x,y:e.y-this._startPosition.y},n=this._getDirection(i);if(this._options.direction==="all"){if(n.y.valuen.x.value?n.y.direction:n.x.direction;_.trigger(this._element,`swipe${r}`),_.trigger(this._element,"swipe",{direction:r}),this._startPosition=null;return}const o=this._options.direction==="left"||this._options==="right"?"x":"y";n[o].direction===this._options.direction&&n[o].value>this._options.threshold&&(_.trigger(this._element,`swipe${n[o].direction}`),this._startPosition=null)}handleTouchEnd(){this._startPosition=null}_getCoordinates(t){const[e]=t.touches;return{x:e.clientX,y:e.clientY}}_getDirection(t){return{x:{direction:t.x<0?"left":"right",value:Math.abs(t.x)},y:{direction:t.y<0?"up":"down",value:Math.abs(t.y)}}}},pE=class{constructor(t,e="swipe",i={}){this._element=t,this._event=e,this.swipe=new uE(t,i),this._touchStartHandler=this._handleTouchStart.bind(this),this._touchMoveHandler=this._handleTouchMove.bind(this),this._touchEndHandler=this._handleTouchEnd.bind(this)}dispose(){this._element.removeEventListener("touchstart",this._touchStartHandler),this._element.removeEventListener("touchmove",this._touchMoveHandler),window.removeEventListener("touchend",this._touchEndHandler)}init(){this._element.addEventListener("touchstart",t=>this._handleTouchStart(t)),this._element.addEventListener("touchmove",t=>this._handleTouchMove(t)),window.addEventListener("touchend",t=>this._handleTouchEnd(t))}_handleTouchStart(t){this[this._event].handleTouchStart(t)}_handleTouchMove(t){this[this._event].handleTouchMove(t)}_handleTouchEnd(t){this[this._event].handleTouchEnd(t)}};const $l="stepper",ir="te.stepper",ds=`.${ir}`,Js=`data-te-${$l}`,tn="horizontal",ge="vertical",fE=`onChangeStep${ds}`,_E=`onChangedStep${ds}`,gE={stepperType:"string",stepperLinear:"boolean",stepperNoEditable:"boolean",stepperActive:"string",stepperCompleted:"string",stepperInvalid:"string",stepperDisabled:"string",stepperVerticalBreakpoint:"number",stepperMobileBreakpoint:"number",stepperMobileBarBreakpoint:"number",stepperAnimationDuration:"number",slideInLeftAnimation:"string",slideOutLeftAnimation:"string",slideInRightAnimation:"string",slideOutRightAnimation:"string"},mE={stepperType:tn,stepperLinear:!1,stepperNoEditable:!1,stepperActive:"",stepperCompleted:"",stepperInvalid:"",stepperDisabled:"",stepperVerticalBreakpoint:0,stepperMobileBreakpoint:0,stepperMobileBarBreakpoint:4,stepperAnimationDuration:800,slideInLeftAnimation:"animate-[slide-in-left_0.8s_both]",slideOutLeftAnimation:"animate-[slide-out-left_0.8s_both]",slideInRightAnimation:"animate-[slide-in-right_0.8s_both]",slideOutRightAnimation:"animate-[slide-out-right_0.8s_both]"},Bu=`mousedown${ds}`,Hu=`keydown${ds}`,bE=`keyup${ds}`,Vu=`resize${ds}`,Ge=`[${Js}-step-ref]`,Ct=`[${Js}-head-ref]`,Fu=`[${Js}-head-text-ref]`,sr=`[${Js}-head-icon-ref]`,At=`[${Js}-content-ref]`;class Wu{constructor(t,e){this._element=t,this._options=this._getConfig(e),this._elementHeight=0,this._steps=m.find(`${Ge}`,this._element),this._currentView="",this._activeStepIndex=0,this._verticalStepperStyles=[],this._timeout=0,this._element&&(O.setData(t,ir,this),this._init())}static get NAME(){return $l}get activeStep(){return this._steps[this._activeStepIndex]}get activeStepIndex(){return this._activeStepIndex}dispose(){this._steps.forEach(t=>{_.off(t,Bu),_.off(t,Hu)}),_.off(window,Vu),O.removeData(this._element,ir),this._element=null}changeStep(t){this._toggleStep(t)}nextStep(){this._toggleStep(this._activeStepIndex+1)}previousStep(){this._toggleStep(this._activeStepIndex-1)}_init(){const t=m.find(`${Ge}`,this._element)[this._activeStepIndex].setAttribute("data-te","active-step"),e=m.find(`${Fu}`,this._element),i=m.find(`${sr}`,this._element);switch(t?(this._activeStepIndex=this._steps.indexOf(t),this._toggleStepClass(this._activeStepIndex,"add",this._options.stepperActive),e[this._activeStepIndex].classList.add("font-medium"),i[this._activeStepIndex].classList.add("!bg-primary-100"),i[this._activeStepIndex].classList.add("!text-primary-700")):(e[this._activeStepIndex].classList.add("font-medium"),i[this._activeStepIndex].classList.add("!bg-primary-100"),i[this._activeStepIndex].classList.add("!text-primary-700"),this._toggleStepClass(this._activeStepIndex,"add",this._options.stepperActive)),this._bindMouseDown(),this._bindKeysNavigation(),this._options.stepperType){case ge:this._toggleVertical();break;default:this._toggleHorizontal();break}(this._options.stepperVerticalBreakpoint||this._options.stepperMobileBreakpoint)&&this._toggleStepperView(),this._bindResize()}_getConfig(t){const e=g.getDataAttributes(this._element);return t={...mE,...e,...t},L($l,t,gE),t}_bindMouseDown(){this._steps.forEach(t=>{const e=m.findOne(`${Ct}`,t);_.on(e,Bu,i=>{const n=m.parents(i.target,`${Ge}`)[0],o=this._steps.indexOf(n);i.preventDefault(),this._toggleStep(o)})})}_bindResize(){_.on(window,Vu,()=>{this._currentView===ge&&this._setSingleStepHeight(this.activeStep),this._currentView===tn&&this._setHeight(this.activeStep),(this._options.stepperVerticalBreakpoint||this._options.stepperMobileBreakpoint)&&this._toggleStepperView()})}_toggleStepperView(){const t=this._options.stepperVerticalBreakpointwindow.innerWidth,i=this._options.stepperMobileBreakpoint>window.innerWidth;t&&this._currentView!==tn&&this._toggleHorizontal(),e&&!i&&this._currentView!==ge&&(this._steps.forEach(n=>{const o=m.findOne(`${At}`,n);this._resetStepperHeight(),this._showElement(o)}),this._toggleVertical())}_toggleStep(t){if(this._activeStepIndex===t)return;this._options.stepperNoEditable&&this._toggleDisabled();const e=this._activeStepIndex,i=_.trigger(this.activeStep,fE,{currentStep:this._activeStepIndex,nextStep:t});t>this._activeStepIndex&&i.defaultPrevented||(this._showElement(m.findOne(`${At}`,this._steps[t])),this._toggleActive(t),t>this._activeStepIndex&&this._toggleCompleted(this._activeStepIndex),this._currentView===tn?this._animateHorizontalStep(t):(this._animateVerticalStep(t),this._setSingleStepHeight(this._steps[t])),this._toggleStepTabIndex(m.findOne(`${Ct}`,this.activeStep),m.findOne(`${Ct}`,this._steps[t])),this._activeStepIndex=t,this._steps[this._activeStepIndex].setAttribute("data-te","active-step"),this._steps.forEach((n,o)=>{n[this._activeStepIndex]!==o&&n.removeAttribute("data-te")}),_.trigger(this.activeStep,_E,{currentStep:this._activeStepIndex,prevStep:e}))}_resetStepperHeight(){this._element.style.height=""}_setStepsHeight(){this._steps.forEach(t=>{const e=m.findOne(`${At}`,t),i=window.getComputedStyle(e);this._verticalStepperStyles.push({paddingTop:parseFloat(i.paddingTop),paddingBottom:parseFloat(i.paddingBottom)});const n=e.scrollHeight;e.style.height=`${n}px`})}_setSingleStepHeight(t){const e=m.findOne(`${At}`,t),i=this.activeStep===t,n=this._steps.indexOf(t);let o;i?(e.style.height="",o=e.scrollHeight):o=e.scrollHeight+this._verticalStepperStyles[n].paddingTop+this._verticalStepperStyles[n].paddingBottom,e.style.height=`${o}px`}_toggleVertical(){this._currentView=ge,this._setStepsHeight(),this._hideInactiveSteps()}_toggleHorizontal(){this._currentView=tn,this._setHeight(this.activeStep),this._hideInactiveSteps()}_toggleStepperClass(){m.findOne("[data-te-stepper-type]",this._element)!==null&&this._steps.forEach(e=>{m.findOne(`${At}`,e).classList.remove("!my-0"),m.findOne(`${At}`,e).classList.remove("!py-0"),m.findOne(`${At}`,e).classList.remove("!h-0")})}_toggleStepClass(t,e,i){i&&this._steps[t].classList[e](i)}_bindKeysNavigation(){this._toggleStepTabIndex(!1,m.findOne(`${Ct}`,this.activeStep)),this._steps.forEach(t=>{const e=m.findOne(`${Ct}`,t);_.on(e,Hu,i=>{const n=m.parents(i.currentTarget,`${Ge}`)[0],o=m.next(n,`${Ge}`)[0],r=m.prev(n,`${Ge}`)[0],a=m.findOne(`${Ct}`,n),l=m.findOne(`${Ct}`,this.activeStep);let c=null,h=null;if(o&&(c=m.findOne(`${Ct}`,o)),r&&(h=m.findOne(`${Ct}`,r)),i.keyCode===cs&&this._currentView!==ge&&(h?(this._toggleStepTabIndex(a,h),this._toggleOutlineStyles(a,h),h.focus()):c&&(this._toggleStepTabIndex(a,c),this._toggleOutlineStyles(a,c),c.focus())),i.keyCode===hs&&this._currentView!==ge&&(c?(this._toggleStepTabIndex(a,c),this._toggleOutlineStyles(a,c),c.focus()):h&&(this._toggleStepTabIndex(a,h),this._toggleOutlineStyles(a,h),h.focus())),i.keyCode===ht&&this._currentView===ge&&(i.preventDefault(),c&&(this._toggleStepTabIndex(a,c),this._toggleOutlineStyles(a,c),c.focus())),i.keyCode===ut&&this._currentView===ge&&(i.preventDefault(),h&&(this._toggleStepTabIndex(a,h),this._toggleOutlineStyles(a,h),h.focus())),i.keyCode===Ti){const d=m.findOne(`${Ct}`,this._steps[0]);this._toggleStepTabIndex(a,d),this._toggleOutlineStyles(a,d),d.focus()}if(i.keyCode===Ei){const d=this._steps[this._steps.length-1],u=m.findOne(`${Ct}`,d);this._toggleStepTabIndex(a,u),this._toggleOutlineStyles(a,u),u.focus()}(i.keyCode===Et||i.keyCode===Ho)&&(i.preventDefault(),this.changeStep(this._steps.indexOf(n))),i.keyCode===Ci&&(this._toggleStepTabIndex(a,l),this._toggleOutlineStyles(a,!1),l.focus())}),_.on(e,bE,i=>{const n=m.parents(i.currentTarget,`${Ge}`)[0],o=m.findOne(`${Ct}`,n),r=m.findOne(`${Ct}`,this.activeStep);i.keyCode===Ci&&(this._toggleStepTabIndex(o,r),this._toggleOutlineStyles(!1,r),r.focus())})})}_toggleStepTabIndex(t,e){t&&t.setAttribute("tabIndex",-1),e&&e.setAttribute("tabIndex",0)}_toggleOutlineStyles(t,e){t&&(t.style.outline=""),e&&(e.style.outline="revert")}_toggleDisabled(){const t=m.find(`${Ct}`,this._element),e=m.find(`${sr}`,this._element);t[this._activeStepIndex].classList.add("color-[#858585]"),t[this._activeStepIndex].classList.add("cursor-default"),e[this._activeStepIndex].classList.add("!bg-[#858585]"),this._toggleStepClass(this._activeStepIndex,"add",this._options.stepperDisabled)}_toggleActive(t){const e=m.find(`${Fu}`,this._element),i=m.find(`${sr}`,this._element);e[t].classList.add("font-medium"),i[t].classList.add("!bg-primary-100"),i[t].classList.add("!text-primary-700"),i[t].classList.remove("!bg-success-100"),i[t].classList.remove("!text-success-700"),e[this._activeStepIndex].classList.remove("font-medium"),i[this._activeStepIndex].classList.remove("!bg-primary-100"),i[this._activeStepIndex].classList.remove("!text-primary-700"),this._toggleStepClass(t,"add",this._options.stepperActive),this._toggleStepClass(this._activeStepIndex,"remove",this._options.stepperActive)}_toggleCompleted(t){const e=m.find(`${sr}`,this._element);this._options.stepperNoEditable?this._steps[t].classList.add("pointer-events-none"):(e[t].classList.add("!bg-success-100"),e[t].classList.add("!text-success-700")),e[t].classList.remove("!bg-danger-100"),e[t].classList.remove("!text-danger-700"),this._toggleStepClass(t,"add",this._options.stepperCompleted),this._toggleStepClass(t,"remove",this._options.stepperInvalid)}_hideInactiveSteps(){this._steps.forEach(t=>{if(!t.getAttribute("data-te")){const e=m.findOne(`${At}`,t);e.classList.remove("translate-x-[150%]"),this._hideElement(e)}})}_setHeight(t){const e=m.findOne(`${At}`,t),i=getComputedStyle(e),n=m.findOne(`${Ct}`,t),o=getComputedStyle(n),r=e.offsetHeight+parseFloat(i.marginTop)+parseFloat(i.marginBottom),a=n.offsetHeight+parseFloat(o.marginTop)+parseFloat(o.marginBottom);this._element.style.height=`${a+r}px`}_hideElement(t){!m.parents(t,`${Ge}`)[0].getAttribute("data-te")&&this._currentView!==ge?t.style.display="none":(t.classList.add("!my-0"),t.classList.add("!py-0"),t.classList.add("!h-0"))}_showElement(t){this._currentView===ge?(t.classList.remove("!my-0"),t.classList.remove("!py-0"),t.classList.remove("!h-0")):t.style.display="block"}_animateHorizontalStep(t){clearTimeout(this._timeout),this._clearStepsAnimation();const e=t>this._activeStepIndex,i=m.findOne(`${At}`,this._steps[t]),n=m.findOne(`${At}`,this.activeStep);let o,r;this._steps.forEach((a,l)=>{const c=m.findOne(`${At}`,a);l!==t&&l!==this._activeStepIndex&&this._hideElement(c)}),e?(r=this._options.slideOutLeftAnimation,o=this._options.slideInRightAnimation):(r=this._options.slideOutRightAnimation,o=this._options.slideInLeftAnimation),n.classList.add(r),i.classList.add(o),this._setHeight(this._steps[t]),this._timeout=setTimeout(()=>{this._hideElement(n),this._clearStepsAnimation()},this._options.stepperAnimationDuration)}_clearStepsAnimation(){this._steps.forEach(t=>{m.findOne(`${At}`,t).classList.remove(this._options.slideInLeftAnimation,this._options.slideOutLeftAnimation,this._options.slideInRightAnimation,this._options.slideOutRightAnimation)})}_animateVerticalStep(t){const e=m.findOne(`${At}`,this._steps[t]),i=m.findOne(`${At}`,this.activeStep);this._hideElement(i),this._showElement(e)}static getInstance(t){return O.getData(t,ir)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const zu="data-te-input-state-active",nr="data-te-input-selected",ju="data-te-input-multiple-active",Yu="[data-te-form-check-input]";class Ku{constructor(t,e,i,n,o,r,a,l,c,h,d){this.id=t,this.nativeOption=e,this.multiple=i,this.value=n,this.label=o,this.selected=r,this.disabled=a,this.hidden=l,this.secondaryText=c,this.groupId=h,this.icon=d,this.node=null,this.active=!1}select(){this.multiple?this._selectMultiple():this._selectSingle()}_selectSingle(){this.selected||(this.node.setAttribute(nr,""),this.node.setAttribute("aria-selected",!0),this.selected=!0,this.nativeOption&&(this.nativeOption.selected=!0))}_selectMultiple(){if(!this.selected){const t=m.findOne(Yu,this.node);t.checked=!0,this.node.setAttribute(nr,""),this.node.setAttribute("aria-selected",!0),this.selected=!0,this.nativeOption&&(this.nativeOption.selected=!0)}}deselect(){this.multiple?this._deselectMultiple():this._deselectSingle()}_deselectSingle(){this.selected&&(this.node.removeAttribute(nr),this.node.setAttribute("aria-selected",!1),this.selected=!1,this.nativeOption&&(this.nativeOption.selected=!1))}_deselectMultiple(){if(this.selected){const t=m.findOne(Yu,this.node);t.checked=!1,this.node.removeAttribute(nr),this.node.setAttribute("aria-selected",!1),this.selected=!1,this.nativeOption&&(this.nativeOption.selected=!1)}}setNode(t){this.node=t}setActiveStyles(){if(!this.active){if(this.multiple){this.node.setAttribute(ju,"");return}this.active=!0,this.node.setAttribute(zu,"")}}removeActiveStyles(){this.active&&(this.active=!1,this.node.removeAttribute(zu)),this.multiple&&this.node.removeAttribute(ju)}}class vE{constructor(t=!1){this._multiple=t,this._selections=[]}select(t){this._multiple?this._selections.push(t):this._selections=[t]}deselect(t){if(this._multiple){const e=this._selections.findIndex(i=>t===i);this._selections.splice(e,1)}else this._selections=[]}clear(){this._selections=[]}get selection(){return this._selections[0]}get selections(){return this._selections}get label(){return this._selections[0]&&this.selection.label}get labels(){return this._selections.map(t=>t.label).join(", ")}get value(){return this.selections[0]&&this.selection.value}get values(){return this._selections.map(t=>t.value)}}function Rl(s){return s.filter(t=>!t.disabled).every(t=>t.selected)}const yE="data-te-select-form-outline-ref",TE="data-te-select-wrapper-ref",EE="data-te-select-input-ref",xE="data-te-select-clear-btn-ref",CE="data-te-select-dropdown-container-ref",AE="data-te-select-dropdown-ref",wE="data-te-select-options-wrapper-ref",kE="data-te-select-options-list-ref",SE="data-te-select-input-filter-ref",Uu="data-te-select-option-ref",OE="data-te-select-option-all-ref",IE="data-te-select-option-text-ref",DE="data-te-form-check-input",ME="data-te-select-option-group-ref",LE="data-te-select-option-group-label-ref",Xu="data-te-select-selected",$E=` + + + +`,RE=s=>{s.code==="Tab"||s.code==="Esc"||s.preventDefault()};function or(s,t,e,i,n){t.selectSize==="default"&&g.addClass(s,e),t.selectSize==="sm"&&g.addClass(s,i),t.selectSize==="lg"&&g.addClass(s,n)}function PE(s,t,e,i,n){const o=document.createElement("div");o.setAttribute("id",s),o.setAttribute(TE,"");const r=$("div");r.setAttribute(yE,""),g.addClass(r,i.formOutline);const a=$("input"),l=t.selectFilter?"combobox":"listbox",c=t.multiple?"true":"false",h=t.disabled?"true":"false";a.setAttribute(EE,""),g.addClass(a,i.selectInput),or(a,t,i.selectInputSizeDefault,i.selectInputSizeSm,i.selectInputSizeLg),t.selectFormWhite&&g.addClass(a,i.selectInputWhite),a.setAttribute("type","text"),a.setAttribute("role",l),a.setAttribute("aria-multiselectable",c),a.setAttribute("aria-disabled",h),a.setAttribute("aria-haspopup","true"),a.setAttribute("aria-expanded",!1),t.tabIndex&&a.setAttribute("tabIndex",t.tabIndex),t.disabled&&a.setAttribute("disabled",""),t.selectPlaceholder!==""&&a.setAttribute("placeholder",t.selectPlaceholder),t.selectValidation?(g.addStyle(a,{"pointer-events":"none","caret-color":"transparent"}),g.addStyle(r,{cursor:"pointer"})):a.setAttribute("readonly","true"),t.selectValidation&&(a.setAttribute("required","true"),a.setAttribute("aria-required","true"),a.addEventListener("keydown",RE));const d=$("div");g.addClass(d,i.selectValidationValid);const u=document.createTextNode(`${t.selectValidFeedback}`);d.appendChild(u);const p=$("div");g.addClass(p,i.selectValidationInvalid);const f=document.createTextNode(`${t.selectInvalidFeedback}`);p.appendChild(f);const b=$("span");b.setAttribute(xE,""),g.addClass(b,i.selectClearBtn),or(b,t,i.selectClearBtnDefault,i.selectClearBtnSm,i.selectClearBtnLg),t.selectFormWhite&&g.addClass(b,i.selectClearBtnWhite);const v=document.createTextNode("✕");b.appendChild(v),b.setAttribute("tabindex","0");const y=$("span");return g.addClass(y,i.selectArrow),or(y,t,i.selectArrowDefault,i.selectArrowSm,i.selectArrowLg),t.selectFormWhite&&g.addClass(y,i.selectArrowWhite),y.innerHTML=n||$E,r.appendChild(a),e&&(g.addClass(e,i.selectLabel),or(e,t,i.selectLabelSizeDefault,i.selectLabelSizeSm,i.selectLabelSizeLg),t.selectFormWhite&&g.addClass(e,i.selectLabelWhite),r.appendChild(e)),t.selectValidation&&(r.appendChild(d),r.appendChild(p)),t.selectClearButton&&r.appendChild(b),r.appendChild(y),o.appendChild(r),o}function Gu(s,t,e,i,n,o,r,a){const l=document.createElement("div");l.setAttribute(CE,""),g.addClass(l,a.selectDropdownContainer),l.setAttribute("id",`${s}`),l.style.width=`${e}px`;const c=document.createElement("div");c.setAttribute("tabindex",0),c.setAttribute(AE,""),g.addClass(c,a.dropdown);const h=$("div");h.setAttribute(wE,""),g.addClass(h,a.optionsWrapper),g.addClass(h,a.optionsWrapperScrollbar),h.style.maxHeight=`${i}px`;const d=qu(o,n,t,a);return h.appendChild(d),t.selectFilter&&c.appendChild(NE(t.selectSearchPlaceholder,a)),c.appendChild(h),r&&c.appendChild(r),l.appendChild(c),l}function qu(s,t,e,i){const n=$("div");n.setAttribute(kE,""),g.addClass(n,i.optionsList);let o;return e.multiple?o=HE(s,t,e,i):o=BE(s,e,i),o.forEach(r=>{n.appendChild(r)}),n}function NE(s,t){const e=$("div");g.addClass(e,t.inputGroup);const i=$("input");return i.setAttribute(SE,""),g.addClass(i,t.selectFilterInput),i.placeholder=s,i.setAttribute("role","searchbox"),i.setAttribute("type","text"),e.appendChild(i),e}function BE(s,t,e){return Zu(s,t,e)}function HE(s,t,e,i){let n=null;e.selectAll&&(n=VE(t,s,e,i));const o=Zu(s,e,i);return n?[n,...o]:o}function Zu(s,t,e){const i=[];return s.forEach(n=>{if(Object.prototype.hasOwnProperty.call(n,"options")){const r=jE(n,t,e);i.push(r)}else i.push(Qu(n,t,e))}),i}function VE(s,t,e,i){const n=Rl(t),o=$("div");o.setAttribute(Uu,"");const r=i.selectAllOption||i.selectOption;return g.addClass(o,r),o.setAttribute(OE,""),g.addStyle(o,{height:`${e.selectOptionHeight}px`}),o.setAttribute("role","option"),o.setAttribute("aria-selected",n),n&&o.setAttribute(Xu,""),o.appendChild(Ju(s,e,i)),s.setNode(o),o}function Qu(s,t,e){if(s.node)return s.node;const i=$("div");return i.setAttribute(Uu,""),g.addClass(i,e.selectOption),g.addStyle(i,{height:`${t.selectOptionHeight}px`}),g.setDataAttribute(i,"id",s.id),i.setAttribute("role","option"),i.setAttribute("aria-selected",s.selected),i.setAttribute("aria-disabled",s.disabled),s.selected&&i.setAttribute(Xu,""),s.disabled&&i.setAttribute("data-te-select-option-disabled",!0),s.hidden&&g.addClass(i,"hidden"),i.appendChild(Ju(s,t,e)),s.icon&&i.appendChild(zE(s,e)),s.setNode(i),i}function Ju(s,t,e){const i=$("span");i.setAttribute(IE,""),g.addClass(i,e.selectOptionText);const n=document.createTextNode(s.label);return t.multiple&&i.appendChild(WE(s,e)),i.appendChild(n),(s.secondaryText||typeof s.secondaryText=="number")&&i.appendChild(FE(s.secondaryText,e)),i}function FE(s,t){const e=$("span");g.addClass(e,t.selectOptionSecondaryText);const i=document.createTextNode(s);return e.appendChild(i),e}function WE(s,t){const e=$("input");e.setAttribute("type","checkbox"),g.addClass(e,t.formCheckInput),e.setAttribute(DE,"");const i=$("label");return s.selected&&e.setAttribute("checked",!0),s.disabled&&e.setAttribute("disabled",!0),e.appendChild(i),e}function zE(s,t){const e=$("span"),i=$("img");return g.addClass(i,t.selectOptionIcon),i.src=s.icon,e.appendChild(i),e}function jE(s,t,e){const i=$("div");i.setAttribute(ME,""),g.addClass(i,e.selectOptionGroup),i.setAttribute("role","group"),i.setAttribute("id",s.id),s.hidden&&g.addClass(i,"hidden");const n=$("label");return n.setAttribute(LE,""),g.addClass(n,e.selectOptionGroupLabel),g.addStyle(n,{height:`${t.selectOptionHeight}px`}),n.setAttribute("for",s.id),n.textContent=s.label,i.appendChild(n),s.options.forEach(o=>{i.appendChild(Qu(o,t,e))}),i}function YE(s,t){const e=$("div");return e.textContent=s,g.addClass(e,t.selectLabel),g.addClass(e,t.selectFakeValue),e}const Pl="select",en="te.select",sn=`.${en}`,KE=`close${sn}`,UE=`open${sn}`,tp=`optionSelect${sn}`,ep=`optionDeselect${sn}`,XE=`valueChange${sn}`,GE="change",ip="data-te-select-init",sp="data-te-select-no-results-ref",np="data-te-select-open",wt="data-te-input-state-active",qe="data-te-input-focused",Nl="data-te-input-disabled",qE="data-te-select-option-group-label-ref",ZE="data-te-select-option-all-ref",nn="data-te-select-selected",QE="[data-te-select-label-ref]",op="[data-te-select-input-ref]",JE="[data-te-select-input-filter-ref]",tx="[data-te-select-dropdown-ref]",ex="[data-te-select-options-wrapper-ref]",rp="[data-te-select-options-list-ref]",ix="[data-te-select-option-ref]",sx="[data-te-select-clear-btn-ref]",nx="[data-te-select-custom-content-ref]",ox=`[${sp}]`,ap="[data-te-select-form-outline-ref]",rx="[data-te-select-toggle]",Bl="[data-te-input-notch-ref]",ax={selectAutoSelect:!1,selectContainer:"body",selectClearButton:!1,disabled:!1,selectDisplayedLabels:5,selectFormWhite:!1,multiple:!1,selectOptionsSelectedLabel:"options selected",selectOptionHeight:38,selectAll:!0,selectAllLabel:"Select all",selectSearchPlaceholder:"Search...",selectSize:"default",selectVisibleOptions:5,selectFilter:!1,selectFilterDebounce:300,selectNoResultText:"No results",selectValidation:!1,selectValidFeedback:"Valid",selectInvalidFeedback:"Invalid",selectPlaceholder:""},lx={selectAutoSelect:"boolean",selectContainer:"string",selectClearButton:"boolean",disabled:"boolean",selectDisplayedLabels:"number",selectFormWhite:"boolean",multiple:"boolean",selectOptionsSelectedLabel:"string",selectOptionHeight:"number",selectAll:"boolean",selectAllLabel:"string",selectSearchPlaceholder:"string",selectSize:"string",selectVisibleOptions:"number",selectFilter:"boolean",selectFilterDebounce:"number",selectNoResultText:"string",selectValidation:"boolean",selectValidFeedback:"string",selectInvalidFeedback:"string",selectPlaceholder:"string"},cx={dropdown:"relative outline-none min-w-[100px] m-0 scale-y-[0.8] opacity-0 bg-white shadow-[0_2px_5px_0_rgba(0,0,0,0.16),_0_2px_10px_0_rgba(0,0,0,0.12)] transition duration-200 motion-reduce:transition-none data-[te-select-open]:scale-100 data-[te-select-open]:opacity-100 dark:bg-zinc-700",formCheckInput:"relative float-left mt-[0.15rem] mr-[8px] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 dark:border-neutral-600 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary dark:checked:border-primary checked:bg-primary dark:checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:ml-[0.25rem] checked:after:-mt-px checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-t-0 checked:after:border-l-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:ml-[0.25rem] checked:focus:after:-mt-px checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-t-0 checked:focus:after:border-l-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent",formOutline:"relative",initialized:"hidden",inputGroup:"flex items-center whitespace-nowrap p-2.5 text-center text-base font-normal leading-[1.6] text-gray-700 dark:bg-zinc-800 dark:text-gray-200 dark:placeholder:text-gray-200",noResult:"flex items-center px-4",optionsList:"list-none m-0 p-0",optionsWrapper:"overflow-y-auto",optionsWrapperScrollbar:"[&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar]:h-1 [&::-webkit-scrollbar-button]:block [&::-webkit-scrollbar-button]:h-0 [&::-webkit-scrollbar-button]:bg-transparent [&::-webkit-scrollbar-track-piece]:bg-transparent [&::-webkit-scrollbar-track-piece]:rounded-none [&::-webkit-scrollbar-track-piece]: [&::-webkit-scrollbar-track-piece]:rounded-l [&::-webkit-scrollbar-thumb]:h-[50px] [&::-webkit-scrollbar-thumb]:bg-[#999] [&::-webkit-scrollbar-thumb]:rounded",selectArrow:"absolute right-3 text-[0.8rem] cursor-pointer peer-focus:text-primary peer-data-[te-input-focused]:text-primary group-data-[te-was-validated]/validation:peer-valid:text-green-600 group-data-[te-was-validated]/validation:peer-invalid:text-[rgb(220,76,100)] w-5 h-5",selectArrowWhite:"text-gray-50 peer-focus:!text-white peer-data-[te-input-focused]:!text-white",selectArrowDefault:"top-2",selectArrowLg:"top-[13px]",selectArrowSm:"top-1",selectClearBtn:"absolute top-2 right-9 text-black cursor-pointer focus:text-primary outline-none dark:text-gray-200",selectClearBtnWhite:"!text-gray-50",selectClearBtnDefault:"top-2 text-base",selectClearBtnLg:"top-[11px] text-base",selectClearBtnSm:"top-1 text-[0.8rem]",selectDropdownContainer:"z-[1070]",selectFakeValue:"transform-none hidden data-[te-input-state-active]:block",selectFilterInput:"relative m-0 block w-full min-w-0 flex-auto rounded border border-solid border-gray-300 bg-transparent bg-clip-padding px-3 py-1.5 text-base font-normal text-gray-700 transition duration-300 ease-in-out motion-reduce:transition-none focus:border-primary focus:text-gray-700 focus:shadow-te-primary focus:outline-none dark:text-gray-200 dark:placeholder:text-gray-200",selectInput:"peer block min-h-[auto] w-full rounded border-0 bg-transparent outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 data-[te-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:text-gray-200 dark:placeholder:text-gray-200 [&:not([data-te-input-placeholder-active])]:placeholder:opacity-0 cursor-pointer data-[te-input-disabled]:bg-[#e9ecef] data-[te-input-disabled]:cursor-default group-data-[te-was-validated]/validation:mb-4 dark:data-[te-input-disabled]:bg-zinc-600",selectInputWhite:"!text-gray-50",selectInputSizeDefault:"py-[0.32rem] px-3 leading-[1.6]",selectInputSizeLg:"py-[0.32rem] px-3 leading-[2.15]",selectInputSizeSm:"py-[0.33rem] px-3 text-xs leading-[1.5]",selectLabel:"pointer-events-none absolute top-0 left-3 mb-0 max-w-[90%] origin-[0_0] truncate text-gray-500 transition-all duration-200 ease-out peer-focus:scale-[0.8] peer-focus:text-primary peer-data-[te-input-state-active]:scale-[0.8] motion-reduce:transition-none dark:text-gray-200 dark:peer-focus:text-gray-200 data-[te-input-state-active]:scale-[0.8] dark:peer-focus:text-primary",selectLabelWhite:"!text-gray-50",selectLabelSizeDefault:"pt-[0.37rem] leading-[1.6] peer-focus:-translate-y-[0.9rem] peer-data-[te-input-state-active]:-translate-y-[0.9rem] data-[te-input-state-active]:-translate-y-[0.9rem]",selectLabelSizeLg:"pt-[0.37rem] leading-[2.15] peer-focus:-translate-y-[1.15rem] peer-data-[te-input-state-active]:-translate-y-[1.15rem] data-[te-input-state-active]:-translate-y-[1.15rem]",selectLabelSizeSm:"pt-[0.37rem] text-xs leading-[1.5] peer-focus:-translate-y-[0.75rem] peer-data-[te-input-state-active]:-translate-y-[0.75rem] data-[te-input-state-active]:-translate-y-[0.75rem]",selectOption:"flex flex-row items-center justify-between w-full px-4 truncate text-gray-700 bg-transparent select-none cursor-pointer data-[te-input-multiple-active]:bg-black/5 hover:[&:not([data-te-select-option-disabled])]:bg-black/5 data-[te-input-state-active]:bg-black/5 data-[te-select-option-selected]:data-[te-input-state-active]:bg-black/5 data-[te-select-selected]:data-[te-select-option-disabled]:cursor-default data-[te-select-selected]:data-[te-select-option-disabled]:text-gray-400 data-[te-select-selected]:data-[te-select-option-disabled]:bg-transparent data-[te-select-option-selected]:bg-black/[0.02] data-[te-select-option-disabled]:text-gray-400 data-[te-select-option-disabled]:cursor-default group-data-[te-select-option-group-ref]/opt:pl-7 dark:text-gray-200 dark:hover:[&:not([data-te-select-option-disabled])]:bg-white/30 dark:data-[te-input-state-active]:bg-white/30 dark:data-[te-select-option-selected]:data-[te-input-state-active]:bg-white/30 dark:data-[te-select-option-disabled]:text-gray-400 dark:data-[te-input-multiple-active]:bg-white/30",selectAllOption:"",selectOptionGroup:"group/opt",selectOptionGroupLabel:"flex flex-row items-center w-full px-4 truncate bg-transparent text-black/50 select-none dark:text-gray-300",selectOptionIcon:"w-7 h-7 rounded-full",selectOptionSecondaryText:"block text-[0.8rem] text-gray-500 dark:text-gray-300",selectOptionText:"group",selectValidationValid:"hidden absolute -mt-3 w-auto text-sm text-green-600 cursor-pointer group-data-[te-was-validated]/validation:peer-valid:block",selectValidationInvalid:"hidden absolute -mt-3 w-auto text-sm text-[rgb(220,76,100)] cursor-pointer group-data-[te-was-validated]/validation:peer-invalid:block"},hx={dropdown:"string",formCheckInput:"string",formOutline:"string",initialized:"string",inputGroup:"string",noResult:"string",optionsList:"string",optionsWrapper:"string",optionsWrapperScrollbar:"string",selectArrow:"string",selectArrowDefault:"string",selectArrowLg:"string",selectArrowSm:"string",selectClearBtn:"string",selectClearBtnDefault:"string",selectClearBtnLg:"string",selectClearBtnSm:"string",selectDropdownContainer:"string",selectFakeValue:"string",selectFilterInput:"string",selectInput:"string",selectInputSizeDefault:"string",selectInputSizeLg:"string",selectInputSizeSm:"string",selectLabel:"string",selectLabelSizeDefault:"string",selectLabelSizeLg:"string",selectLabelSizeSm:"string",selectOption:"string",selectAllOption:"string",selectOptionGroup:"string",selectOptionGroupLabel:"string",selectOptionIcon:"string",selectOptionSecondaryText:"string",selectOptionText:"string"};class on{constructor(t,e,i){this._element=t,this._config=this._getConfig(e),this._classes=this._getClasses(i),this._config.selectPlaceholder&&!this._config.multiple&&this._addPlaceholderOption(),this._optionsToRender=this._getOptionsToRender(t),this._plainOptions=this._getPlainOptions(this._optionsToRender),this._filteredOptionsList=null,this._selectionModel=new vE(this.multiple),this._activeOptionIndex=-1,this._activeOption=null,this._wrapperId=bt("select-wrapper-"),this._dropdownContainerId=bt("select-dropdown-container-"),this._selectAllId=bt("select-all-"),this._debounceTimeoutId=null,this._dropdownHeight=this._config.selectOptionHeight*this._config.selectVisibleOptions,this._popper=null,this._input=null,this._label=m.next(this._element,QE)[0],this._notch=null,this._fakeValue=null,this._isFakeValueActive=!1,this._customContent=m.next(t,nx)[0],this._toggleButton=null,this._elementToggle=null,this._wrapper=null,this._inputEl=null,this._dropdownContainer=null,this._container=null,this._selectAllOption=null,this._init(),this._mutationObserver=null,this._isOpen=!1,this._addMutationObserver(),this._element&&O.setData(t,en,this)}static get NAME(){return Pl}get filterInput(){return m.findOne(JE,this._dropdownContainer)}get dropdown(){return m.findOne(tx,this._dropdownContainer)}get optionsList(){return m.findOne(rp,this._dropdownContainer)}get optionsWrapper(){return m.findOne(ex,this._dropdownContainer)}get clearButton(){return m.findOne(sx,this._wrapper)}get options(){return this._filteredOptionsList?this._filteredOptionsList:this._plainOptions}get value(){return this.multiple?this._selectionModel.values:this._selectionModel.value}get multiple(){return this._config.multiple}get hasSelectAll(){return this.multiple&&this._config.selectAll}get hasSelection(){return this._selectionModel.selection||this._selectionModel.selections.length>0}_getConfig(t){const e=g.getDataAttributes(this._element);return t={...ax,...e,...t},this._element.hasAttribute("multiple")&&(t.multiple=!0),this._element.hasAttribute("disabled")&&(t.disabled=!0),this._element.tabIndex&&(t.tabIndex=this._element.getAttribute("tabIndex")),L(Pl,t,lx),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...cx,...e,...t},L(Pl,t,hx),t}_addPlaceholderOption(){const t=new Option("","",!0,!0);t.hidden=!0,t.selected=!0,this._element.prepend(t)}_getOptionsToRender(t){const e=[];return t.childNodes.forEach(n=>{if(n.nodeName==="OPTGROUP"){const o={id:bt("group-"),label:n.label,disabled:n.hasAttribute("disabled"),hidden:n.hasAttribute("hidden"),options:[]};n.childNodes.forEach(a=>{a.nodeName==="OPTION"&&o.options.push(this._createOptionObject(a,o))}),e.push(o)}else n.nodeName==="OPTION"&&e.push(this._createOptionObject(n))}),e}_getPlainOptions(t){if(!m.findOne("optgroup",this._element))return t;const i=[];return t.forEach(n=>{Object.prototype.hasOwnProperty.call(n,"options")?n.options.forEach(r=>{i.push(r)}):i.push(n)}),i}_createOptionObject(t,e={}){const i=bt("option-"),n=e.id?e.id:null,o=e.disabled?e.disabled:!1,r=t.selected||t.hasAttribute(nn),a=t.hasAttribute("disabled")||o,l=t.hasAttribute("hidden")||e&&e.hidden,c=this.multiple,h=t.value,d=t.label,u=g.getDataAttribute(t,"selectSecondaryText"),p=g.getDataAttribute(t,"select-icon");return new Ku(i,t,c,h,d,r,a,l,u,n,p)}_getNavigationOptions(){const t=this.options.filter(e=>!e.hidden);return this.hasSelectAll?[this._selectAllOption,...t]:t}_init(){this._renderMaterialWrapper(),this._wrapper=m.findOne(`#${this._wrapperId}`),this._input=m.findOne(op,this._wrapper),this._config.disabled&&this._input.setAttribute(Nl,"");const t=this._config.selectContainer;t==="body"?this._container=document.body:this._container=m.findOne(t),this._initOutlineInput(),this._setDefaultSelections(),this._updateInputValue(),this._appendFakeValue(),this._updateFakeLabelPosition(),this._updateLabelPosition(),this._updateClearButtonVisibility(),this._bindComponentEvents(),this.hasSelectAll&&(this._selectAllOption=this._createSelectAllOption()),this._dropdownContainer=Gu(this._dropdownContainerId,this._config,this._input.offsetWidth,this._dropdownHeight,this._selectAllOption,this._optionsToRender,this._customContent,this._classes),this._setFirstActiveOption(),this._listenToFocusChange()}_renderMaterialWrapper(){const t=PE(this._wrapperId,this._config,this._label,this._classes,this._config.customArrow);this._element.parentNode.insertBefore(t,this._element),g.addClass(this._element,this._classes.initialized),t.appendChild(this._element)}_initOutlineInput(){const t=m.findOne(ap,this._wrapper);new Z(t,{inputFormWhite:this._config.selectFormWhite},this._classes).init(),this._notch=m.findOne(Bl,this._wrapper)}_bindComponentEvents(){this._listenToComponentKeydown(),this._listenToWrapperClick(),this._listenToClearBtnClick(),this._listenToClearBtnKeydown()}_setDefaultSelections(){this.options.forEach(t=>{t.selected&&this._selectionModel.select(t)})}_listenToComponentKeydown(){_.on(this._wrapper,"keydown",this._handleKeydown.bind(this))}_handleKeydown(t){this._isOpen&&!this._config.selectFilter?this._handleOpenKeydown(t):this._handleClosedKeydown(t)}_handleOpenKeydown(t){const e=t.keyCode,i=e===xi||e===ut&&t.altKey||e===Ci;if(e===Ci&&this._config.selectAutoSelect&&!this.multiple&&this._handleAutoSelection(this._activeOption),i){this.close(),this._input.focus();return}switch(e){case ht:this._setNextOptionActive(),this._scrollToOption(this._activeOption);break;case ut:this._setPreviousOptionActive(),this._scrollToOption(this._activeOption);break;case Ti:this._setFirstOptionActive(),this._scrollToOption(this._activeOption);break;case Ei:this._setLastOptionActive(),this._scrollToOption(this._activeOption);break;case Et:t.preventDefault(),this._activeOption&&(this.hasSelectAll&&this._activeOptionIndex===0?this._handleSelectAll():this._handleSelection(this._activeOption));return;default:return}t.preventDefault()}_handleClosedKeydown(t){const e=t.keyCode;if(e===Et&&t.preventDefault(),(e===Et||e===ht&&t.altKey||e===ht&&this.multiple)&&this.open(),this.multiple)switch(e){case ht:this.open();break;case ut:this.open();break;default:return}else switch(e){case ht:this._setNextOptionActive(),this._handleSelection(this._activeOption);break;case ut:this._setPreviousOptionActive(),this._handleSelection(this._activeOption);break;case Ti:this._setFirstOptionActive(),this._handleSelection(this._activeOption);break;case Ei:this._setLastOptionActive(),this._handleSelection(this._activeOption);break;default:return}t.preventDefault()}_scrollToOption(t){if(!t)return;let e;const i=this.options.filter(h=>!h.hidden);this.hasSelectAll?e=i.indexOf(t)+1:e=i.indexOf(t);const n=this._getNumberOfGroupsBeforeOption(e),o=e+n,r=this.optionsWrapper,a=r.offsetHeight,l=this._config.selectOptionHeight,c=r.scrollTop;if(e>-1){const h=o*l,d=h+l>c+a;h!r.hidden),i=this._optionsToRender.filter(r=>!r.hidden),n=this.hasSelectAll?t-1:t;let o=0;for(let r=0;r<=n;r++)e[r].groupId&&i[o]&&i[o].id&&e[r].groupId===i[o].id&&o++;return o}_setNextOptionActive(){let t=this._activeOptionIndex+1;const e=this._getNavigationOptions();if(e[t]){for(;e[t].disabled;)if(t+=1,!e[t])return;this._updateActiveOption(e[t],t)}}_setPreviousOptionActive(){let t=this._activeOptionIndex-1;const e=this._getNavigationOptions();if(e[t]){for(;e[t].disabled;)if(t-=1,!e[t])return;this._updateActiveOption(e[t],t)}}_setFirstOptionActive(){const e=this._getNavigationOptions();this._updateActiveOption(e[0],0)}_setLastOptionActive(){const t=this._getNavigationOptions(),e=t.length-1;this._updateActiveOption(t[e],e)}_updateActiveOption(t,e){const i=this._activeOption;i&&i.removeActiveStyles(),t.setActiveStyles(),this._activeOptionIndex=e,this._activeOption=t}_listenToWrapperClick(){_.on(this._wrapper,"click",()=>{this.toggle()})}_listenToClearBtnClick(){_.on(this.clearButton,"click",t=>{t.preventDefault(),t.stopPropagation(),this._handleClear()})}_listenToClearBtnKeydown(){_.on(this.clearButton,"keydown",t=>{t.keyCode===Et&&(this._handleClear(),t.preventDefault(),t.stopPropagation())})}_handleClear(){if(this.multiple)this._selectionModel.clear(),this._deselectAllOptions(this.options),this.hasSelectAll&&this._updateSelectAllState();else{const t=this._selectionModel.selection;this._selectionModel.clear(),t.deselect()}this._fakeValue.textContent="",this._updateInputValue(),this._updateFakeLabelPosition(),this._updateLabelPosition(),this._updateClearButtonVisibility(),this._emitValueChangeEvent(null),this._emitNativeChangeEvent()}_listenToOptionsClick(){_.on(this.optionsWrapper,"click",t=>{if(t.target.hasAttribute(qE))return;const i=t.target.nodeName==="DIV"?t.target:m.closest(t.target,ix);if(i.hasAttribute(ZE)){this._handleSelectAll();return}const o=i.dataset.teId,r=this.options.find(a=>a.id===o);r&&!r.disabled&&this._handleSelection(r)})}_handleSelectAll(){this._selectAllOption.selected?(this._deselectAllOptions(this.options),this._selectAllOption.deselect()):(this._selectAllOptions(this.options),this._selectAllOption.select()),this._updateInputValue(),this._updateFakeLabelPosition(),this._updateLabelPosition(),this._updateClearButtonVisibility(),this._emitValueChangeEvent(this.value),this._emitNativeChangeEvent()}_selectAllOptions(t){t.forEach(e=>{!e.selected&&!e.disabled&&(this._selectionModel.select(e),e.select())})}_deselectAllOptions(t){t.forEach(e=>{e.selected&&!e.disabled&&(this._selectionModel.deselect(e),e.deselect())})}_handleSelection(t){this.multiple?(this._handleMultiSelection(t),this.hasSelectAll&&this._updateSelectAllState()):this._handleSingleSelection(t),this._updateInputValue(),this._updateFakeLabelPosition(),this._updateLabelPosition(),this._updateClearButtonVisibility()}_handleAutoSelection(t){this._singleOptionSelect(t),this._updateInputValue(),this._updateFakeLabelPosition(),this._updateLabelPosition(),this._updateClearButtonVisibility()}_handleSingleSelection(t){this._singleOptionSelect(t),this.close(),this._input.focus()}_singleOptionSelect(t){const e=this._selectionModel.selections[0];e&&e!==t&&(this._selectionModel.deselect(e),e.deselect(),e.node.setAttribute(nn,!1),_.trigger(this._element,ep,{value:e.value})),(!e||e&&t!==e)&&(this._selectionModel.select(t),t.select(),t.node.setAttribute(nn,!0),_.trigger(this._element,tp,{value:t.value}),this._emitValueChangeEvent(this.value),this._emitNativeChangeEvent())}_handleMultiSelection(t){t.selected?(this._selectionModel.deselect(t),t.deselect(),t.node.setAttribute(nn,!1),_.trigger(this._element,ep,{value:t.value})):(this._selectionModel.select(t),t.select(),t.node.setAttribute(nn,!0),_.trigger(this._element,tp,{value:t.value})),this._emitValueChangeEvent(this.value),this._emitNativeChangeEvent()}_emitValueChangeEvent(t){_.trigger(this._element,XE,{value:t})}_emitNativeChangeEvent(){_.trigger(this._element,GE)}_updateInputValue(){const t=this.multiple?this._selectionModel.labels:this._selectionModel.label;let e;this.multiple&&this._config.selectDisplayedLabels!==-1&&this._selectionModel.selections.length>this._config.selectDisplayedLabels?e=`${this._selectionModel.selections.length} ${this._config.selectOptionsSelectedLabel}`:e=t,!this.multiple&&!this._isSelectionValid(this._selectionModel.selection)?this._input.value="":this._isLabelEmpty(this._selectionModel.selection)?this._input.value=" ":e?this._input.value=e:this.multiple||!this._optionsToRender[0]?this._input.value="":this._input.value=this._optionsToRender[0].label}_isSelectionValid(t){return!(t&&(t.disabled||t.value===""))}_isLabelEmpty(t){return!!(t&&t.label==="")}_appendFakeValue(){if(!this._selectionModel.selection||this._selectionModel._multiple)return;const t=this._selectionModel.selection.label;this._fakeValue=YE(t,this._classes),m.findOne(ap,this._wrapper).appendChild(this._fakeValue)}_updateLabelPosition(){const t=this._element.hasAttribute(ip),e=this._input.value!=="";this._label&&(t&&(e||this._isOpen||this._isFakeValueActive)?(this._label.setAttribute(wt,""),this._notch.setAttribute(wt,"")):(this._label.removeAttribute(wt),this._notch.removeAttribute(wt,"")))}_updateLabelPositionWhileClosing(){this._label&&(this._input.value!==""||this._isFakeValueActive?(this._label.setAttribute(wt,""),this._notch.setAttribute(wt,"")):(this._label.removeAttribute(wt),this._notch.removeAttribute(wt)))}_updateFakeLabelPosition(){this._fakeValue&&(this._input.value===""&&this._fakeValue.innerHTML!==""&&!this._config.selectPlaceholder?(this._isFakeValueActive=!0,this._fakeValue.setAttribute(wt,"")):(this._isFakeValueActive=!1,this._fakeValue.removeAttribute(wt)))}_updateClearButtonVisibility(){if(!this.clearButton)return;this._selectionModel.selection||this._selectionModel.selections.length>0?g.addStyle(this.clearButton,{display:"block"}):g.addStyle(this.clearButton,{display:"none"})}_updateSelectAllState(){const t=this._selectAllOption.selected,e=Rl(this.options);!e&&t?this._selectAllOption.deselect():e&&!t&&this._selectAllOption.select()}toggle(){this._isOpen?this.close():this.open()}open(){const t=this._config.disabled,e=_.trigger(this._element,UE);this._isOpen||t||e.defaultPrevented||(this._openDropdown(),this._updateDropdownWidth(),this._setFirstActiveOption(),this._scrollToOption(this._activeOption),this._config.selectFilter&&(setTimeout(()=>{this.filterInput.focus()},0),this._listenToSelectSearch(),this._listenToDropdownKeydown()),this._listenToOptionsClick(),this._listenToOutsideClick(),this._listenToWindowResize(),this._isOpen=!0,this._updateLabelPosition(),this._setInputActiveStyles())}_openDropdown(){this._popper=Fe(this._input,this._dropdownContainer,{placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,1]}}]}),this._container.appendChild(this._dropdownContainer),setTimeout(()=>{this.dropdown.setAttribute(np,"")},0)}_updateDropdownWidth(){const t=this._input.offsetWidth;g.addStyle(this._dropdownContainer,{width:`${t}px`})}_setFirstActiveOption(){const t=this._getNavigationOptions(),e=this._activeOption;e&&e.removeActiveStyles();const i=this.multiple?this._selectionModel.selections[0]:this._selectionModel.selection;i?(this._activeOption=i,i.setActiveStyles(),this._activeOptionIndex=t.findIndex(n=>n===i)):(this._activeOption=null,this._activeOptionIndex=-1)}_setInputActiveStyles(){this._input.setAttribute(qe,""),m.findOne(Bl,this._wrapper).setAttribute(qe,"")}_listenToWindowResize(){_.on(window,"resize",this._handleWindowResize.bind(this))}_handleWindowResize(){this._dropdownContainer&&this._updateDropdownWidth()}_listenToSelectSearch(){this.filterInput.addEventListener("input",t=>{const e=t.target.value,i=this._config.selectFilterDebounce;this._debounceFilter(e,i)})}_debounceFilter(t,e){this._debounceTimeoutId&&clearTimeout(this._debounceTimeoutId),this._debounceTimeoutId=setTimeout(()=>{this._filterOptions(t)},e)}_filterOptions(t){const e=[];this._optionsToRender.forEach(o=>{const r=Object.prototype.hasOwnProperty.call(o,"options"),a=!r&&o.label.toLowerCase().includes(t.toLowerCase()),l={};r&&(l.label=o.label,l.options=this._filter(t,o.options),l.options.length>0&&e.push(l)),a&&e.push(o)});const i=this._config.selectNoResultText!=="",n=e.length!==0;if(n)this._updateOptionsListTemplate(e),this._popper.forceUpdate(),this._filteredOptionsList=this._getPlainOptions(e),this.hasSelectAll&&this._updateSelectAllState(),this._setFirstActiveOption();else if(!n&&i){const o=this._getNoResultTemplate();this.optionsWrapper.innerHTML=o}}_updateOptionsListTemplate(t){const e=m.findOne(rp,this._dropdownContainer)||m.findOne(ox,this._dropdownContainer),i=qu(t,this._selectAllOption,this._config,this._classes);this.optionsWrapper.removeChild(e),this.optionsWrapper.appendChild(i)}_getNoResultTemplate(){return`
    ${this._config.selectNoResultText}
    `}_filter(t,e){const i=t.toLowerCase();return e.filter(n=>n.label.toLowerCase().includes(i))}_listenToDropdownKeydown(){_.on(this.dropdown,"keydown",this._handleOpenKeydown.bind(this))}_listenToOutsideClick(){this._outsideClick=this._handleOutSideClick.bind(this),_.on(document,"click",this._outsideClick)}_listenToFocusChange(t=!0){if(t===!1){_.off(this._input,"focus",()=>this._notch.setAttribute(qe,"")),_.off(this._input,"blur",()=>this._notch.removeAttribute(qe));return}_.on(this._input,"focus",()=>this._notch.setAttribute(qe,"")),_.on(this._input,"blur",()=>this._notch.removeAttribute(qe))}_handleOutSideClick(t){const e=this._wrapper&&this._wrapper.contains(t.target),i=t.target===this._dropdownContainer,n=this._dropdownContainer&&this._dropdownContainer.contains(t.target);let o;this._toggleButton||(this._elementToggle=m.find(rx)),this._elementToggle&&this._elementToggle.forEach(r=>{const a=g.getDataAttribute(r,"select-toggle");(a===this._element.id||this._element.classList.contains(a))&&(this._toggleButton=r,o=this._toggleButton.contains(t.target))}),!e&&!i&&!n&&!o&&this.close()}close(){const t=_.trigger(this._element,KE),e=oo(this._dropdownContainer.children[0]);!this._isOpen||t.defaultPrevented||(this._config.selectFilter&&this.hasSelectAll&&(this._resetFilterState(),this._updateOptionsListTemplate(this._optionsToRender),this._config.multiple&&this._updateSelectAllState()),this._removeDropdownEvents(),this.dropdown.removeAttribute(np),setTimeout(()=>{this._input.removeAttribute(qe),this._input.blur(),m.findOne(Bl,this._wrapper).removeAttribute(qe),this._label&&!this.hasSelection&&(this._label.removeAttribute(wt),this._notch.setAttribute(wt,""),this._input.removeAttribute(wt),this._notch.removeAttribute(wt)),this._updateLabelPositionWhileClosing()},0),setTimeout(()=>{this._container&&this._dropdownContainer.parentNode===this._container&&this._container.removeChild(this._dropdownContainer),this._popper.destroy(),this._isOpen=!1,_.off(this.dropdown,"transitionend")},e))}_resetFilterState(){this.filterInput.value="",this._filteredOptionsList=null}_removeDropdownEvents(){_.off(document,"click",this._outsideClick),this._config.selectFilter&&_.off(this.dropdown,"keydown"),_.off(this.optionsWrapper,"click")}_addMutationObserver(){this._mutationObserver=new MutationObserver(()=>{this._wrapper&&(this._updateSelections(),this._updateDisabledState())}),this._observeMutationObserver()}_updateSelections(){this._optionsToRender=this._getOptionsToRender(this._element),this._plainOptions=this._getPlainOptions(this._optionsToRender),this._selectionModel.clear(),this._setDefaultSelections(),this._updateInputValue(),this._updateFakeLabelPosition(),this._updateLabelPosition(),this._updateClearButtonVisibility(),this.hasSelectAll&&this._updateSelectAllState();const t=this._config.filter&&this.filterInput&&this.filterInput.value;this._isOpen&&!t?(this._updateOptionsListTemplate(this._optionsToRender),this._setFirstActiveOption()):this._isOpen&&t?(this._filterOptions(this.filterInput.value),this._setFirstActiveOption()):this._dropdownContainer=Gu(this._dropdownContainerId,this._config,this._input.offsetWidth,this._dropdownHeight,this._selectAllOption,this._optionsToRender,this._customContent,this._classes)}_updateDisabledState(){const t=m.findOne(op,this._wrapper);this._element.hasAttribute("disabled")?(this._config.disabled=!0,t.setAttribute("disabled",""),t.setAttribute(Nl,"")):(this._config.disabled=!1,t.removeAttribute("disabled"),t.removeAttribute(Nl))}_observeMutationObserver(){this._mutationObserver&&this._mutationObserver.observe(this._element,{attributes:!0,childList:!0,characterData:!0,subtree:!0})}_disconnectMutationObserver(){this.mutationObserver&&(this._mutationObserver.disconnect(),this._mutationObserver=null)}_createSelectAllOption(){const t=this._selectAllId,e=null,i=!0,n="select-all",o=this._config.selectAllLabel,r=Rl(this.options),a=!1,l=!1,c=null,h=null,d=null;return new Ku(t,e,i,n,o,r,a,l,c,h,d)}dispose(){this._removeComponentEvents(),this._destroyMaterialSelect(),this._listenToFocusChange(!1),O.removeData(this._element,en)}_removeComponentEvents(){_.off(this.input,"click"),_.off(this.wrapper,this._handleKeydown.bind(this)),_.off(this.clearButton,"click"),_.off(this.clearButton,"keydown"),_.off(window,"resize",this._handleWindowResize.bind(this))}_destroyMaterialSelect(){this._isOpen&&this.close(),this._destroyMaterialTemplate()}_destroyMaterialTemplate(){const t=this._wrapper.parentNode,e=m.find("label",this._wrapper);t.appendChild(this._element),e.forEach(i=>{t.appendChild(i)}),e.forEach(i=>{i.removeAttribute(wt)}),g.removeClass(this._element,this._classes.initialized),this._element.removeAttribute(ip),t.removeChild(this._wrapper)}setValue(t){this.options.filter(i=>i.selected).forEach(i=>i.nativeOption.selected=!1),Array.isArray(t)?t.forEach(i=>{this._selectByValue(i)}):this._selectByValue(t),this._updateSelections(),this._emitValueChangeEvent(this.value)}_selectByValue(t){const e=this.options.find(i=>i.value===t);return e?(e.nativeOption.selected=!0,!0):!1}static jQueryInterface(t,e){return this.each(function(){let i=O.getData(this,en);const n=typeof t=="object"&&t;if(!(!i&&/dispose/.test(t))&&(i||(i=new on(this,n)),typeof t=="string")){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}static getInstance(t){return O.getData(t,en)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const dx=({inputID:s,labelText:t},e)=>`
    + + +
    +
    `,ux=({text:s,iconSVG:t},e)=>`
    + ${s} + + ${t} + +
    `,rr="chip",px=`te.${rr}`,lp="data-te-chip-close",Hl=`[${lp}]`,fx="delete.te.chips",_x="select.te.chip",gx=' ',mx={text:"string",closeIcon:"boolean",img:"object",iconSVG:"string"},bx={text:"",closeIcon:!1,img:{path:"",alt:""},iconSVG:gx},vx={icon:"float-right pl-[8px] text-[16px] opacity-[.53] cursor-pointer fill-[#afafaf] hover:text-[#8b8b8b] transition-all duration-200 ease-in-out",chipElement:"flex justify-between items-center h-[32px] leading-loose py-[5px] px-[12px] mr-4 my-[5px] text-[13px] font-normal text-[#4f4f4f] cursor-pointer bg-[#eceff1] dark:text-white dark:bg-neutral-600 rounded-[16px] transition-[opacity] duration-300 ease-linear [word-wrap: break-word] shadow-none normal-case hover:!shadow-none active:bg-[#cacfd1] inline-block font-medium leading-normal text-[#4f4f4f] text-center no-underline align-middle cursor-pointer select-none border-[.125rem] border-solid border-transparent py-1.5 px-3 text-xs rounded",chipCloseIcon:"w-4 float-right pl-[8px] text-[16px] opacity-[.53] cursor-pointer fill-[#afafaf] hover:fill-[#8b8b8b] dark:fill-gray-400 dark:hover:fill-gray-100 transition-all duration-200 ease-in-out"},yx={icon:"string",chipElement:"string",chipCloseIcon:"string"};class ki{constructor(t,e={},i){this._element=t,this._options=this._getConfig(e),this._classes=this._getClasses(i)}static get NAME(){return rr}init(){this._appendCloseIcon(),this._handleDelete(),this._handleTextChip(),this._handleClickOnChip()}dispose(){this._element=null,this._options=null,_.off(this._element,"click")}appendChip(){const{text:t,closeIcon:e,iconSVG:i}=this._options;return ux({text:t,closeIcon:e,iconSVG:i},this._classes)}_appendCloseIcon(t=this._element){if(!(m.find(Hl,this._element).length>0)&&this._options.closeIcon){const e=$("span");e.classList=this._classes.icon,e.setAttribute(lp),e.innerHTML=this._options.iconSVG,t.insertAdjacentElement("beforeend",e)}}_handleClickOnChip(){_.on(this._element,"click",t=>{const{textContent:e}=t.target,i={};i.tag=e.trim(),_.trigger(_x,{event:t,obj:i})})}_handleDelete(){m.find(Hl,this._element).length!==0&&_.on(this._element,"click",Hl,()=>{_.trigger(this._element,fx),this._element.remove()})}_handleTextChip(){this._element.innerText===""&&(this._element.innerText=this._options.text)}_getConfig(t){const e={...bx,...g.getDataAttributes(this._element),...t};return L(rr,e,mx),e}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...vx,...e,...t},L(rr,t,yx),t}static getInstance(t){return O.getData(t,px)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const rn="chips",an=`data-te-${rn}`,cp=`te.${rn}`,Tx=`${an}-input-init`,Wt=`${an}-active`,hp=`${an}-initial`,dp=`${an}-placeholder`,Ex=`${an}-input-wrapper`,Vl="data-te-chip-init",up="data-te-chip-close",pp="data-te-chip-text",xx=`[${Wt}]`,Fl=`[${Vl}]`,Cx=`${Fl}${xx}`,Wl=`[${up}]`,Ax=`[${Ex}]`,wx=`[${pp}]`,kx=`[${dp}]`,Sx="data-te-input-notch-leading-ref",Ox="data-te-input-notch-middle-ref",Ix=`[${Sx}]`,Dx=`[${Ox}]`,us="data-te-input-state-active",zl="[data-te-input-notch-ref]",Mx="add.te.chips",Lx="arrowDown.te.chips",$x="arrowLeft.te.chips",Rx="arrowRight.te.chips",Px="arrowUp.te.chips",fp="delete.te.chips",_p="select.te.chips",Nx={inputID:"string",parentSelector:"string",initialValues:"array",editable:"boolean",labelText:"string",inputClasses:"object",inputOptions:"object"},Bx={inputID:bt("chips-input-"),parentSelector:"",initialValues:[{tag:"init1"},{tag:"init2"}],editable:!1,labelText:"Example label",inputClasses:{},inputOptions:{}},Hx={opacity:"opacity-0",inputWrapperPadding:"p-[5px]",transition:"transition-all duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)]",contentEditable:"outline-none !border-[3px] !border-solid !border-[#b2b3b4]",chipsInputWrapper:"relative flex items-center flex-wrap transition-all duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)]",chipsInput:"peer block min-h-[auto] w-[150px] rounded border-0 bg-transparent py-[0.32rem] px-3 leading-[1.6] outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 data-[te-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:text-gray-200 dark:placeholder:text-gray-200 [&:not([data-te-input-placeholder-active])]:placeholder:opacity-0",chipsLabel:"pointer-events-none absolute top-0 left-3 mb-0 max-w-[90%] origin-[0_0] truncate pt-[0.37rem] leading-[1.6] text-gray-500 transition-all duration-200 ease-out peer-focus:-translate-y-[0.9rem] peer-focus:scale-[0.8] peer-focus:text-primary peer-data-[te-input-state-active]:-translate-y-[0.9rem] peer-data-[te-input-state-active]:scale-[0.8] motion-reduce:transition-none dark:text-gray-200 dark:peer-focus:text-gray-200"},Vx={opacity:"string",inputWrapperPadding:"string",transition:"string",contentEditable:"string",chipsInputWrapper:"string",chipsInput:"string",chipsLabel:"string"};class gp extends ki{constructor(e,i={},n){super(e,i);ke(this,"_handleBlurInput",({target:e})=>{e.value.length>0&&this._handleCreateChip(e,e.value),this.allChips.length>0?(e.setAttribute(Wt,""),this.input.setAttribute(us,""),m.findOne(zl,this.input.parentNode).setAttribute(us,""),this.chipsInputWrapper.classList.add(...this._classes.inputWrapperPadding.split(" "))):(e.removeAttribute(Wt),this.input.removeAttribute(us),m.findOne(zl,this.input.parentNode).removeAttribute(us),this.chipsInputWrapper.classList.remove(...this._classes.inputWrapperPadding.split(" "))),this.allChips.forEach(i=>i.removeAttribute(Wt))});this._element=e,this._inputInstance=null,this._element&&O.setData(e,cp,this),this._options=this._getConfig(i),this._classes=this._getClasses(n),this.numberClicks=0,this.init()}static get NAME(){return rn}get activeChip(){return m.findOne(Cx,this._element)}get input(){return m.findOne("input",this._element)}get allChips(){return m.find(Fl,this._element)}get chipsInputWrapper(){return m.findOne(Ax,this._element)}init(){this._setChipsClass(),this._appendInputToElement(dp),this._handleInitialValue(),this._handleInputText(),this._handleKeyboard(),this._handleChipsOnSelect(),this._handleEditable(),this._handleChipsFocus(),this._handleClicksOnChips(),this._inputInstance._getLabelWidth(),this._inputInstance._applyNotch()}dispose(){this._element=null,this._options=null}_getNotchData(){this._notchMiddle=m.findOne(Dx,this._element),this._notchLeading=m.findOne(Ix,this._element)}_setChipsClass(){this._element.setAttribute(Tx,"")}_handleDeleteEvents(e){const[i]=this.allChips.slice(-1);if(this.activeChip===null)i.remove(),this._handleEvents(e,fp);else{const n=this.allChips.findIndex(a=>a===this.activeChip),o=this._handleActiveChipAfterRemove(n),r=[];if(this.activeChip===null)return;this.activeChip.remove(),this._handleEvents(e,fp),this.numberClicks=n,o.setAttribute(Wt,""),this.allChips.forEach(a=>{a.hasAttribute(Wt)&&(r.push(a),r.length>1&&this.allChips.forEach(l=>l.remove()))})}}_handleUpEvents(e){this.numberClicks+=1,this.numberClicks===this.allChips.length+1&&(this.numberClicks=0),this._handleRightKeyboardArrow(this.numberClicks),this._handleEvents(e,Rx),this._handleEvents(e,Px)}_handleDownEvents(e){this.numberClicks-=1,this.numberClicks<=0&&(this.numberClicks=this.allChips.length),this._handleLeftKeyboardArrow(this.numberClicks),this._handleEvents(e,$x),this._handleEvents(e,Lx)}_keyboardEvents(e){const{target:i,keyCode:n,ctrlKey:o}=e;i.value.length>0||this.allChips.length===0||(n===zy||n===jy?this._handleDeleteEvents(e):n===hs||n===ut?this._handleUpEvents(e):n===cs||n===ht?this._handleDownEvents(e):n===65&&o&&this._handleAddActiveClass())}_handleKeyboard(){_.on(this.input,"keydown",e=>this._keyboardEvents(e))}_handleEditable(){const{editable:e}=this._options;e&&this.allChips.forEach(i=>{_.on(i,"dblclick",n=>{const o=m.findOne(Wl,i);i.classList.add(...this._classes.contentEditable.split(" ")),i.contentEditable=!0,i.focus(),setTimeout(()=>{g.addStyle(o,{display:"none"})},200),o.classList.add(...this._classes.opacity.split(" ")),n.target.textContent,_.trigger(i,_p,{event:n,allChips:this.allChips})}),_.on(document,"click",({target:n})=>{const o=m.findOne(Wl,i),r=m.findOne(wx,i),a=n===i,l=i&&i.contains(n);!a&&!l&&(i.contentEditable=!1,i.classList.remove(...this._classes.contentEditable.split(" ")),r.textContent!==""&&setTimeout(()=>{g.addStyle(o,{display:"block"}),o.classList.remove(...this._classes.opacity.split(" "))},160)),r.textContent===""&&(setTimeout(()=>{i.classList.add(...this._classes.opacity.split(" "))},200),setTimeout(()=>{i.remove()},300))})})}_handleRemoveActiveClass(){this.allChips.forEach(e=>e.removeAttribute(Wt))}_handleAddActiveClass(){this.allChips.forEach(e=>e.setAttribute(Wt,""))}_handleRightKeyboardArrow(e){this._handleRemoveActiveClass(),e===0&&(e=1),this._handleAddActiveClassWithKebyboard(e)}_handleLeftKeyboardArrow(e){this._handleRemoveActiveClass(),this._handleAddActiveClassWithKebyboard(e)}_handleActiveChipAfterRemove(e){const i=e===0?1:e-1;return this.allChips[i]}_handleClicksOnChips(){_.on(this._element,"click",()=>{this.allChips.length===0&&(this.chipsInputWrapper.classList.remove(...this._classes.inputWrapperPadding.split(" ")),this.input.removeAttribute(Wt))})}_handleTextContent(){const e=[];return this.allChips.forEach(i=>e.push({tag:i.textContent.trim()})),e}_handleEvents(e,i){const n=this._handleTextContent(),o=this.allChips.filter(r=>r.hasAttribute(Wt)&&r);_.trigger(this._element,i,{event:e,allChips:this.allChips,arrOfObjects:n,active:o,activeObj:{tag:o.length<=0?"":o[0].textContent.trim()}})}_handleChipsFocus(){_.on(this._element,"click",({target:{attributes:e}})=>{const i=[...e].map(n=>n.name);i.includes(Vl)||i.includes(up)||i.includes(pp)||this.input.focus()})}_handleInitialValue(){if(this._appendInputToElement(hp),this._element.hasAttribute(hp)){const{initialValues:e}=this._options;e.forEach(({tag:i})=>this._handleCreateChip(this.input,i)),m.findOne(zl,this.input.parentNode).setAttribute(us,""),this.input.setAttribute(Wt,""),this.input.setAttribute(us,"")}this.allChips.length>0&&(this.chipsInputWrapper.classList.add(...this._classes.inputWrapperPadding.split(" ")),this.chipsInputWrapper.classList.add(...this._classes.transition.split(" ")))}_handleKeysInputToElement(e){const{keyCode:i,target:n}=e;if(n.hasAttribute(Vl)){const o=m.findOne(Wl,n);i===Et&&(n.contentEditable=!1,n.classList.remove(...this._classes.contentEditable.split(" ")),n.textContent!==""?setTimeout(()=>{g.addStyle(o,{display:"block"}),o.classList.remove(...this._classes.opacity.split(" "))},160):n.textContent===""&&(setTimeout(()=>{n.classList.add(...this._classes.opacity.split(" "))},200),setTimeout(()=>{n.remove()},300)));return}if(i===Et){if(n.value==="")return;this._handleCreateChip(n,n.value),this._handleRemoveActiveClass(),this.numberClicks=this.allChips.length+1,this._handleEvents(e,Mx)}this.allChips.length>0?(this.chipsInputWrapper.classList.add(...this._classes.inputWrapperPadding.split(" ")),this.chipsInputWrapper.classList.add(...this._classes.transition.split(" "))):this.chipsInputWrapper.classList.remove(...this._classes.inputWrapperPadding.split(" "))}_handleInputText(){const e=m.findOne(kx,this._element);_.on(this._element,"keyup",e,i=>this._handleKeysInputToElement(i)),_.on(this.input,"blur",i=>this._handleBlurInput(i))}_appendInputToElement(e){if(!this._element.hasAttribute(e))return;const i=dx(this._options,this._classes);this._element.insertAdjacentHTML("beforeend",i);const n=m.findOne("[data-te-chips-input-wrapper]",this._element);this._inputInstance=new Z(n,this._options.inputOptions,this._options.inputClasses)}_handleCreateChip(e,i){const n=$("div"),o=ki.getInstance(n),r=new ki(o,{text:i},this._classes);this._options.parentSelector!==""?document.querySelector(this._options.parentSelector).insertAdjacentHTML("beforeend",r.appendChip()):e.insertAdjacentHTML("beforebegin",r.appendChip()),e.value="",m.find(Fl).forEach(a=>{let l=ki.getInstance(a);return l||(l=new ki(a,{},this._classes)),l.init()}),this._handleEditable()}_handleChipsOnSelect(){this.allChips.forEach(e=>{_.on(this._element,"click",i=>{_.trigger(e,_p,{event:i,allChips:this.allChips})})})}_handleAddActiveClassWithKebyboard(e){let i;this.allChips[e-1]===void 0?i=this.allChips[e-2]:i=this.allChips[e-1],i.setAttribute(Wt)}_getConfig(e){const i={...Bx,...g.getDataAttributes(this._element),...e};return L(rn,i,Nx),i}_getClasses(e){const i=g.getDataClassAttributes(this._element);return e={...Hx,...i,...e},L(rn,e,Vx),e}static getInstance(e){return O.getData(e,cp)}static getOrCreateInstance(e,i={}){return this.getInstance(e)||new this(e,typeof i=="object"?i:null)}}const Ze={plugins:{legend:{labels:{color:"rgb(102,102,102)"}}}},ln={line:{options:{...Ze,elements:{line:{backgroundColor:"rgba(59, 112, 202, 0.0)",borderColor:"rgb(59, 112, 202)",borderWidth:2,tension:0},point:{borderColor:"rgb(59, 112, 202)",backgroundColor:"rgb(59, 112, 202)"}},responsive:!0,legend:{display:!0},tooltips:{intersect:!1,mode:"index"},datasets:{borderColor:"red"},scales:{x:{stacked:!0,grid:{display:!1},ticks:{fontColor:"rgba(0,0,0, 0.5)"}},y:{stacked:!1,grid:{borderDash:[2],drawBorder:!1,zeroLineColor:"rgba(0,0,0,0)",zeroLineBorderDash:[2],zeroLineBorderDashOffset:[2]},ticks:{fontColor:"rgba(0,0,0, 0.5)"}}}}},bar:{options:{...Ze,backgroundColor:"rgb(59, 112, 202)",borderWidth:0,responsive:!0,legend:{display:!0},tooltips:{intersect:!1,mode:"index"},scales:{x:{stacked:!0,grid:{display:!1},ticks:{fontColor:"rgba(0,0,0, 0.5)"}},y:{stacked:!0,grid:{borderDash:[2],drawBorder:!1,zeroLineColor:"rgba(0,0,0,0)",zeroLineBorderDash:[2],zeroLineBorderDashOffset:[2]},ticks:{fontColor:"rgba(0,0,0, 0.5)"}}}}},pie:{options:{...Ze,elements:{arc:{backgroundColor:"rgb(59, 112, 202)"}},responsive:!0,legend:{display:!0}}},doughnut:{options:{...Ze,elements:{arc:{backgroundColor:"rgb(59, 112, 202)"}},responsive:!0,legend:{display:!0}}},polarArea:{options:{...Ze,elements:{arc:{backgroundColor:"rgba(59, 112, 202, 0.5)"}},responsive:!0,legend:{display:!0}}},radar:{options:{...Ze,elements:{line:{backgroundColor:"rgba(59, 112, 202, 0.5)",borderColor:"rgb(59, 112, 202)",borderWidth:2},point:{borderColor:"rgb(59, 112, 202)",backgroundColor:"rgb(59, 112, 202)"}},responsive:!0,legend:{display:!0}}},scatter:{options:{...Ze,elements:{line:{backgroundColor:"rgba(59, 112, 202, 0.5)",borderColor:"rgb(59, 112, 202)",borderWidth:2,tension:0},point:{borderColor:"rgb(59, 112, 202)",backgroundColor:"rgba(59, 112, 202, 0.5)"}},responsive:!0,legend:{display:!0},tooltips:{intersect:!1,mode:"index"},datasets:{borderColor:"red"},scales:{x:{stacked:!0,grid:{display:!1},ticks:{fontColor:"rgba(0,0,0, 0.5)"}},y:{stacked:!1,grid:{borderDash:[2],drawBorder:!1,zeroLineColor:"rgba(0,0,0,0)",zeroLineBorderDash:[2],zeroLineBorderDashOffset:[2]},ticks:{fontColor:"rgba(0,0,0, 0.5)"}}}}},bubble:{options:{...Ze,elements:{point:{borderColor:"rgb(59, 112, 202)",backgroundColor:"rgba(59, 112, 202, 0.5)"}},responsive:!0,legend:{display:!0},scales:{x:{grid:{display:!1},ticks:{fontColor:"rgba(0,0,0, 0.5)"}},y:{grid:{borderDash:[2],drawBorder:!1,zeroLineColor:"rgba(0,0,0,0)",zeroLineBorderDash:[2],zeroLineBorderDashOffset:[2]},ticks:{fontColor:"rgba(0,0,0, 0.5)"}}}}}};var Fx=function(t){return Wx(t)&&!zx(t)};function Wx(s){return!!s&&typeof s=="object"}function zx(s){var t=Object.prototype.toString.call(s);return t==="[object RegExp]"||t==="[object Date]"||Kx(s)}var jx=typeof Symbol=="function"&&Symbol.for,Yx=jx?Symbol.for("react.element"):60103;function Kx(s){return s.$$typeof===Yx}function Ux(s){return Array.isArray(s)?[]:{}}function cn(s,t){return t.clone!==!1&&t.isMergeableObject(s)?ps(Ux(s),s,t):s}function Xx(s,t,e){return s.concat(t).map(function(i){return cn(i,e)})}function Gx(s,t){if(!t.customMerge)return ps;var e=t.customMerge(s);return typeof e=="function"?e:ps}function qx(s){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(s).filter(function(t){return Object.propertyIsEnumerable.call(s,t)}):[]}function mp(s){return Object.keys(s).concat(qx(s))}function bp(s,t){try{return t in s}catch{return!1}}function Zx(s,t){return bp(s,t)&&!(Object.hasOwnProperty.call(s,t)&&Object.propertyIsEnumerable.call(s,t))}function Qx(s,t,e){var i={};return e.isMergeableObject(s)&&mp(s).forEach(function(n){i[n]=cn(s[n],e)}),mp(t).forEach(function(n){Zx(s,n)||(bp(s,n)&&e.isMergeableObject(t[n])?i[n]=Gx(n,e)(s[n],t[n],e):i[n]=cn(t[n],e))}),i}function ps(s,t,e){e=e||{},e.arrayMerge=e.arrayMerge||Xx,e.isMergeableObject=e.isMergeableObject||Fx,e.cloneUnlessOtherwiseSpecified=cn;var i=Array.isArray(t),n=Array.isArray(s),o=i===n;return o?i?e.arrayMerge(s,t,e):Qx(s,t,e):cn(t,e)}ps.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(i,n){return ps(i,n,e)},{})};var Jx=ps,jl=Jx;const vp="chart",ar="te.chart",tC="chart",Yl=(s,t,e)=>{const i=(n,o,r)=>{const a=n.slice();return o.forEach((l,c)=>{typeof a[c]>"u"?a[c]=r.cloneUnlessOtherwiseSpecified(l,r):r.isMergeableObject(l)?a[c]=jl(n[c],l,r):n.indexOf(l)===-1&&a.push(l)}),a};return jl(e[t],s,{arrayMerge:i})},eC={darkTicksColor:"#fff",darkLabelColor:"#fff",darkGridLinesColor:"#555",darkmodeOff:"undefined",darkMode:null,darkBgColor:"#262626",darkBgColorLight:"#fff",options:null},iC={darkTicksColor:"string",darkLabelColor:"string",darkGridLinesColor:"string",darkmodeOff:"(string|null)",darkMode:"(string|null)",darkBgColor:"string",darkBgColorLight:"string",options:"(object|null)"};let yp=class am{constructor(t,e,i={},n={}){this._waitForCharts(t,e,i,n)}async _getChartjs(){const{Chart:t,ArcElement:e,LineElement:i,BarElement:n,PointElement:o,BarController:r,BubbleController:a,DoughnutController:l,LineController:c,PieController:h,PolarAreaController:d,RadarController:u,ScatterController:p,CategoryScale:f,LinearScale:b,LogarithmicScale:v,RadialLinearScale:y,TimeScale:T,TimeSeriesScale:x,Decimation:E,Filler:C,Legend:A,Title:w,Tooltip:S,SubTitle:k}=await Promise.resolve().then(()=>UM);return t.register(e,i,n,o,r,a,l,c,h,d,u,p,f,b,v,y,T,x,E,C,A,w,S,k),t}async _getChartDataLabels(){return await Promise.resolve().then(()=>gL)}async _waitForCharts(t,e,i={},n={}){if(this._Chartjs=await this._getChartjs(),this._ChartDataLabels=await this._getChartDataLabels(),this._element=t,this._data=e,this._options=i,this._type=e.type,this._canvas=null,this._chart=null,this._darkOptions=this._getDarkConfig(n),this._darkModeClassContainer=document.querySelector("html"),this._prevConfig=null,this._observer=null,this._element&&(O.setData(t,ar,this),g.addClass(this._element,tC),this._chartConstructor()),this._darkOptions.darkmodeOff!==null){const o=this._darkOptions.darkMode==="dark"?"dark":this._darkOptions.darkMode==="light"?"light":this.systemColorMode;this._handleMode(o),this._observer=new MutationObserver(this._observerCallback.bind(this)),this._observer.observe(this._darkModeClassContainer,{attributes:!0})}}static get NAME(){return vp}get systemColorMode(){return localStorage.theme||(this._darkModeClassContainer.classList.contains("dark")?"dark":"light")}dispose(){this._observer.disconnect(),O.removeData(this._element,ar),this._element=null}update(t,e){t&&(this._data={...this._data,...t},this._chart.data=this._data);const i=Object.prototype.hasOwnProperty.call(e,"options")?e:{options:{...e}};this._options=jl(this._options,i),this._chart.options=Yl(this._options,this._type,ln).options,this._chart.update()}setTheme(t){t!=="dark"&&t!=="light"||!this._data||this._handleMode(t)}_getDarkConfig(t){let e={};const i=g.getDataAttributes(this._element);Object.keys(i).forEach(c=>c.startsWith("dark")&&(e[c]=i[c])),e={...eC,...e};const n={y:{ticks:{color:e.darkTicksColor},grid:{color:e.darkGridLinesColor}},x:{ticks:{color:e.darkTicksColor},grid:{color:e.darkGridLinesColor}}},o={r:{ticks:{color:e.darkTicksColor,backdropColor:e.darkBgColor},grid:{color:e.darkGridLinesColor},pointLabels:{color:e.darkTicksColor}}},l={scales:["pie","doughnut","polarArea","radar"].includes(this._type)?["polarArea","radar"].includes(this._type)?o:{}:n,plugins:{legend:{labels:{color:e.darkLabelColor}}}};return t={...e,options:{...l},...t},L(vp,t,iC),t}_chartConstructor(){if(this._data){this._createCanvas();const t=Yl(this._options,this._type,ln),e=[];t.dataLabelsPlugin&&e.push(this._ChartDataLabels.default),this._prevConfig=t,this._chart=new this._Chartjs(this._canvas,{...this._data,...t,plugins:e})}}_createCanvas(){this._canvas||(this._element.nodeName==="CANVAS"?this._canvas=this._element:(this._canvas=$("canvas"),this._element.appendChild(this._canvas)))}_handleMode(t){t==="dark"?(this._changeDatasetBorderColor(),this.update(null,this._darkOptions.options)):(this._changeDatasetBorderColor(!1),this._prevConfig&&this.update(null,this._prevConfig))}_observerCallback(t){for(const e of t)e.type==="attributes"&&this._handleMode(this.systemColorMode)}_changeDatasetBorderColor(t=!0){[...this._data.data.datasets].forEach(e=>["pie","doughnut","polarArea"].includes(this._type)&&(e.borderColor=t?this._darkOptions.darkBgColor:this._darkOptions.darkBgColorLight))}static jQueryInterface(t,e,i){return this.each(function(){let n=O.getData(this,ar);if(!(!n&&/dispose/.test(t))){if(!n){const o=e?Yl(e,i,ln):ln[i];n=new am(this,{...t,...o})}if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t](e,i)}}})}static getInstance(t){return O.getData(t,ar)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}};/*! + * perfect-scrollbar v1.5.3 + * Copyright 2021 Hyunje Jun, MDBootstrap and Contributors + * Licensed under MIT + */function me(s){return getComputedStyle(s)}function Ot(s,t){for(var e in t){var i=t[e];typeof i=="number"&&(i=i+"px"),s.style[e]=i}return s}function lr(s){var t=document.createElement("div");return t.className=s,t}var Tp=typeof Element<"u"&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function Qe(s,t){if(!Tp)throw new Error("No element matching method supported");return Tp.call(s,t)}function fs(s){s.remove?s.remove():s.parentNode&&s.parentNode.removeChild(s)}function Ep(s,t){return Array.prototype.filter.call(s.children,function(e){return Qe(e,t)})}var at={main:"ps",rtl:"ps__rtl",element:{thumb:function(s){return"ps__thumb-"+s},rail:function(s){return"ps__rail-"+s},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(s){return"ps--active-"+s},scrolling:function(s){return"ps--scrolling-"+s}}},xp={x:null,y:null};function Cp(s,t){var e=s.element.classList,i=at.state.scrolling(t);e.contains(i)?clearTimeout(xp[t]):e.add(i)}function Ap(s,t){xp[t]=setTimeout(function(){return s.isAlive&&s.element.classList.remove(at.state.scrolling(t))},s.settings.scrollingThreshold)}function sC(s,t){Cp(s,t),Ap(s,t)}var hn=function(t){this.element=t,this.handlers={}},wp={isEmpty:{configurable:!0}};hn.prototype.bind=function(t,e){typeof this.handlers[t]>"u"&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},hn.prototype.unbind=function(t,e){var i=this;this.handlers[t]=this.handlers[t].filter(function(n){return e&&n!==e?!0:(i.element.removeEventListener(t,n,!1),!1)})},hn.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},wp.isEmpty.get=function(){var s=this;return Object.keys(this.handlers).every(function(t){return s.handlers[t].length===0})},Object.defineProperties(hn.prototype,wp);var _s=function(){this.eventElements=[]};_s.prototype.eventElement=function(t){var e=this.eventElements.filter(function(i){return i.element===t})[0];return e||(e=new hn(t),this.eventElements.push(e)),e},_s.prototype.bind=function(t,e,i){this.eventElement(t).bind(e,i)},_s.prototype.unbind=function(t,e,i){var n=this.eventElement(t);n.unbind(e,i),n.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(n),1)},_s.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},_s.prototype.once=function(t,e,i){var n=this.eventElement(t),o=function(r){n.unbind(e,o),i(r)};n.bind(e,o)};function cr(s){if(typeof window.CustomEvent=="function")return new CustomEvent(s);var t=document.createEvent("CustomEvent");return t.initCustomEvent(s,!1,!1,void 0),t}function hr(s,t,e,i,n){i===void 0&&(i=!0),n===void 0&&(n=!1);var o;if(t==="top")o=["contentHeight","containerHeight","scrollTop","y","up","down"];else if(t==="left")o=["contentWidth","containerWidth","scrollLeft","x","left","right"];else throw new Error("A proper axis should be provided");nC(s,e,o,i,n)}function nC(s,t,e,i,n){var o=e[0],r=e[1],a=e[2],l=e[3],c=e[4],h=e[5];i===void 0&&(i=!0),n===void 0&&(n=!1);var d=s.element;s.reach[l]=null,d[a]<1&&(s.reach[l]="start"),d[a]>s[o]-s[r]-1&&(s.reach[l]="end"),t&&(d.dispatchEvent(cr("ps-scroll-"+l)),t<0?d.dispatchEvent(cr("ps-scroll-"+c)):t>0&&d.dispatchEvent(cr("ps-scroll-"+h)),i&&sC(s,l)),s.reach[l]&&(t||n)&&d.dispatchEvent(cr("ps-"+l+"-reach-"+s.reach[l]))}function st(s){return parseInt(s,10)||0}function oC(s){return Qe(s,"input,[contenteditable]")||Qe(s,"select,[contenteditable]")||Qe(s,"textarea,[contenteditable]")||Qe(s,"button,[contenteditable]")}function rC(s){var t=me(s);return st(t.width)+st(t.paddingLeft)+st(t.paddingRight)+st(t.borderLeftWidth)+st(t.borderRightWidth)}var gs={isWebKit:typeof document<"u"&&"WebkitAppearance"in document.documentElement.style,supportsTouch:typeof window<"u"&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:typeof navigator<"u"&&navigator.msMaxTouchPoints,isChrome:typeof navigator<"u"&&/Chrome/i.test(navigator&&navigator.userAgent)};function Se(s){var t=s.element,e=Math.floor(t.scrollTop),i=t.getBoundingClientRect();s.containerWidth=Math.round(i.width),s.containerHeight=Math.round(i.height),s.contentWidth=t.scrollWidth,s.contentHeight=t.scrollHeight,t.contains(s.scrollbarXRail)||(Ep(t,at.element.rail("x")).forEach(function(n){return fs(n)}),t.appendChild(s.scrollbarXRail)),t.contains(s.scrollbarYRail)||(Ep(t,at.element.rail("y")).forEach(function(n){return fs(n)}),t.appendChild(s.scrollbarYRail)),!s.settings.suppressScrollX&&s.containerWidth+s.settings.scrollXMarginOffset=s.railXWidth-s.scrollbarXWidth&&(s.scrollbarXLeft=s.railXWidth-s.scrollbarXWidth),s.scrollbarYTop>=s.railYHeight-s.scrollbarYHeight&&(s.scrollbarYTop=s.railYHeight-s.scrollbarYHeight),aC(t,s),s.scrollbarXActive?t.classList.add(at.state.active("x")):(t.classList.remove(at.state.active("x")),s.scrollbarXWidth=0,s.scrollbarXLeft=0,t.scrollLeft=s.isRtl===!0?s.contentWidth:0),s.scrollbarYActive?t.classList.add(at.state.active("y")):(t.classList.remove(at.state.active("y")),s.scrollbarYHeight=0,s.scrollbarYTop=0,t.scrollTop=0)}function kp(s,t){return s.settings.minScrollbarLength&&(t=Math.max(t,s.settings.minScrollbarLength)),s.settings.maxScrollbarLength&&(t=Math.min(t,s.settings.maxScrollbarLength)),t}function aC(s,t){var e={width:t.railXWidth},i=Math.floor(s.scrollTop);t.isRtl?e.left=t.negativeScrollAdjustment+s.scrollLeft+t.containerWidth-t.contentWidth:e.left=s.scrollLeft,t.isScrollbarXUsingBottom?e.bottom=t.scrollbarXBottom-i:e.top=t.scrollbarXTop+i,Ot(t.scrollbarXRail,e);var n={top:i,height:t.railYHeight};t.isScrollbarYUsingRight?t.isRtl?n.right=t.contentWidth-(t.negativeScrollAdjustment+s.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth-9:n.right=t.scrollbarYRight-s.scrollLeft:t.isRtl?n.left=t.negativeScrollAdjustment+s.scrollLeft+t.containerWidth*2-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:n.left=t.scrollbarYLeft+s.scrollLeft,Ot(t.scrollbarYRail,n),Ot(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),Ot(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}function lC(s){s.element,s.event.bind(s.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),s.event.bind(s.scrollbarYRail,"mousedown",function(t){var e=t.pageY-window.pageYOffset-s.scrollbarYRail.getBoundingClientRect().top,i=e>s.scrollbarYTop?1:-1;s.element.scrollTop+=i*s.containerHeight,Se(s),t.stopPropagation()}),s.event.bind(s.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),s.event.bind(s.scrollbarXRail,"mousedown",function(t){var e=t.pageX-window.pageXOffset-s.scrollbarXRail.getBoundingClientRect().left,i=e>s.scrollbarXLeft?1:-1;s.element.scrollLeft+=i*s.containerWidth,Se(s),t.stopPropagation()})}function cC(s){Sp(s,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),Sp(s,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])}function Sp(s,t){var e=t[0],i=t[1],n=t[2],o=t[3],r=t[4],a=t[5],l=t[6],c=t[7],h=t[8],d=s.element,u=null,p=null,f=null;function b(T){T.touches&&T.touches[0]&&(T[n]=T.touches[0].pageY),d[l]=u+f*(T[n]-p),Cp(s,c),Se(s),T.stopPropagation(),T.type.startsWith("touch")&&T.changedTouches.length>1&&T.preventDefault()}function v(){Ap(s,c),s[h].classList.remove(at.state.clicking),s.event.unbind(s.ownerDocument,"mousemove",b)}function y(T,x){u=d[l],x&&T.touches&&(T[n]=T.touches[0].pageY),p=T[n],f=(s[i]-s[e])/(s[o]-s[a]),x?s.event.bind(s.ownerDocument,"touchmove",b):(s.event.bind(s.ownerDocument,"mousemove",b),s.event.once(s.ownerDocument,"mouseup",v),T.preventDefault()),s[h].classList.add(at.state.clicking),T.stopPropagation()}s.event.bind(s[r],"mousedown",function(T){y(T)}),s.event.bind(s[r],"touchstart",function(T){y(T,!0)})}function hC(s){var t=s.element,e=function(){return Qe(t,":hover")},i=function(){return Qe(s.scrollbarX,":focus")||Qe(s.scrollbarY,":focus")};function n(o,r){var a=Math.floor(t.scrollTop);if(o===0){if(!s.scrollbarYActive)return!1;if(a===0&&r>0||a>=s.contentHeight-s.containerHeight&&r<0)return!s.settings.wheelPropagation}var l=t.scrollLeft;if(r===0){if(!s.scrollbarXActive)return!1;if(l===0&&o<0||l>=s.contentWidth-s.containerWidth&&o>0)return!s.settings.wheelPropagation}return!0}s.event.bind(s.ownerDocument,"keydown",function(o){if(!(o.isDefaultPrevented&&o.isDefaultPrevented()||o.defaultPrevented)&&!(!e()&&!i())){var r=document.activeElement?document.activeElement:s.ownerDocument.activeElement;if(r){if(r.tagName==="IFRAME")r=r.contentDocument.activeElement;else for(;r.shadowRoot;)r=r.shadowRoot.activeElement;if(oC(r))return}var a=0,l=0;switch(o.which){case 37:o.metaKey?a=-s.contentWidth:o.altKey?a=-s.containerWidth:a=-30;break;case 38:o.metaKey?l=s.contentHeight:o.altKey?l=s.containerHeight:l=30;break;case 39:o.metaKey?a=s.contentWidth:o.altKey?a=s.containerWidth:a=30;break;case 40:o.metaKey?l=-s.contentHeight:o.altKey?l=-s.containerHeight:l=-30;break;case 32:o.shiftKey?l=s.containerHeight:l=-s.containerHeight;break;case 33:l=s.containerHeight;break;case 34:l=-s.containerHeight;break;case 36:l=s.contentHeight;break;case 35:l=-s.contentHeight;break;default:return}s.settings.suppressScrollX&&a!==0||s.settings.suppressScrollY&&l!==0||(t.scrollTop-=l,t.scrollLeft+=a,Se(s),n(a,l)&&o.preventDefault())}})}function dC(s){var t=s.element;function e(r,a){var l=Math.floor(t.scrollTop),c=t.scrollTop===0,h=l+t.offsetHeight===t.scrollHeight,d=t.scrollLeft===0,u=t.scrollLeft+t.offsetWidth===t.scrollWidth,p;return Math.abs(a)>Math.abs(r)?p=c||h:p=d||u,p?!s.settings.wheelPropagation:!0}function i(r){var a=r.deltaX,l=-1*r.deltaY;return(typeof a>"u"||typeof l>"u")&&(a=-1*r.wheelDeltaX/6,l=r.wheelDeltaY/6),r.deltaMode&&r.deltaMode===1&&(a*=10,l*=10),a!==a&&l!==l&&(a=0,l=r.wheelDelta),r.shiftKey?[-l,-a]:[a,l]}function n(r,a,l){if(!gs.isWebKit&&t.querySelector("select:focus"))return!0;if(!t.contains(r))return!1;for(var c=r;c&&c!==t;){if(c.classList.contains(at.element.consuming))return!0;var h=me(c);if(l&&h.overflowY.match(/(scroll|auto)/)){var d=c.scrollHeight-c.clientHeight;if(d>0&&(c.scrollTop>0&&l<0||c.scrollTop0))return!0}if(a&&h.overflowX.match(/(scroll|auto)/)){var u=c.scrollWidth-c.clientWidth;if(u>0&&(c.scrollLeft>0&&a<0||c.scrollLeft0))return!0}c=c.parentNode}return!1}function o(r){var a=i(r),l=a[0],c=a[1];if(!n(r.target,l,c)){var h=!1;s.settings.useBothWheelAxes?s.scrollbarYActive&&!s.scrollbarXActive?(c?t.scrollTop-=c*s.settings.wheelSpeed:t.scrollTop+=l*s.settings.wheelSpeed,h=!0):s.scrollbarXActive&&!s.scrollbarYActive&&(l?t.scrollLeft+=l*s.settings.wheelSpeed:t.scrollLeft-=c*s.settings.wheelSpeed,h=!0):(t.scrollTop-=c*s.settings.wheelSpeed,t.scrollLeft+=l*s.settings.wheelSpeed),Se(s),h=h||e(l,c),h&&!r.ctrlKey&&(r.stopPropagation(),r.preventDefault())}}typeof window.onwheel<"u"?s.event.bind(t,"wheel",o):typeof window.onmousewheel<"u"&&s.event.bind(t,"mousewheel",o)}function uC(s){if(!gs.supportsTouch&&!gs.supportsIePointer)return;var t=s.element;function e(f,b){var v=Math.floor(t.scrollTop),y=t.scrollLeft,T=Math.abs(f),x=Math.abs(b);if(x>T){if(b<0&&v===s.contentHeight-s.containerHeight||b>0&&v===0)return window.scrollY===0&&b>0&&gs.isChrome}else if(T>x&&(f<0&&y===s.contentWidth-s.containerWidth||f>0&&y===0))return!0;return!0}function i(f,b){t.scrollTop-=b,t.scrollLeft-=f,Se(s)}var n={},o=0,r={},a=null;function l(f){return f.targetTouches?f.targetTouches[0]:f}function c(f){return f.pointerType&&f.pointerType==="pen"&&f.buttons===0?!1:!!(f.targetTouches&&f.targetTouches.length===1||f.pointerType&&f.pointerType!=="mouse"&&f.pointerType!==f.MSPOINTER_TYPE_MOUSE)}function h(f){if(c(f)){var b=l(f);n.pageX=b.pageX,n.pageY=b.pageY,o=new Date().getTime(),a!==null&&clearInterval(a)}}function d(f,b,v){if(!t.contains(f))return!1;for(var y=f;y&&y!==t;){if(y.classList.contains(at.element.consuming))return!0;var T=me(y);if(v&&T.overflowY.match(/(scroll|auto)/)){var x=y.scrollHeight-y.clientHeight;if(x>0&&(y.scrollTop>0&&v<0||y.scrollTop0))return!0}if(b&&T.overflowX.match(/(scroll|auto)/)){var E=y.scrollWidth-y.clientWidth;if(E>0&&(y.scrollLeft>0&&b<0||y.scrollLeft0))return!0}y=y.parentNode}return!1}function u(f){if(c(f)){var b=l(f),v={pageX:b.pageX,pageY:b.pageY},y=v.pageX-n.pageX,T=v.pageY-n.pageY;if(d(f.target,y,T))return;i(y,T),n=v;var x=new Date().getTime(),E=x-o;E>0&&(r.x=y/E,r.y=T/E,o=x),e(y,T)&&f.preventDefault()}}function p(){s.settings.swipeEasing&&(clearInterval(a),a=setInterval(function(){if(s.isInitialized){clearInterval(a);return}if(!r.x&&!r.y){clearInterval(a);return}if(Math.abs(r.x)<.01&&Math.abs(r.y)<.01){clearInterval(a);return}if(!s.element){clearInterval(a);return}i(r.x*30,r.y*30),r.x*=.8,r.y*=.8},10))}gs.supportsTouch?(s.event.bind(t,"touchstart",h),s.event.bind(t,"touchmove",u),s.event.bind(t,"touchend",p)):gs.supportsIePointer&&(window.PointerEvent?(s.event.bind(t,"pointerdown",h),s.event.bind(t,"pointermove",u),s.event.bind(t,"pointerup",p)):window.MSPointerEvent&&(s.event.bind(t,"MSPointerDown",h),s.event.bind(t,"MSPointerMove",u),s.event.bind(t,"MSPointerUp",p)))}var pC=function(){return{handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1}},fC={"click-rail":lC,"drag-thumb":cC,keyboard:hC,wheel:dC,touch:uC},dn=function(t,e){var i=this;if(e===void 0&&(e={}),typeof t=="string"&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");this.element=t,t.classList.add(at.main),this.settings=pC();for(var n in e)this.settings[n]=e[n];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var o=function(){return t.classList.add(at.state.focus)},r=function(){return t.classList.remove(at.state.focus)};this.isRtl=me(t).direction==="rtl",this.isRtl===!0&&t.classList.add(at.rtl),this.isNegativeScroll=function(){var c=t.scrollLeft,h=null;return t.scrollLeft=-1,h=t.scrollLeft<0,t.scrollLeft=c,h}(),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new _s,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=lr(at.element.rail("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=lr(at.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",o),this.event.bind(this.scrollbarX,"blur",r),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var a=me(this.scrollbarXRail);this.scrollbarXBottom=parseInt(a.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=st(a.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=st(a.borderLeftWidth)+st(a.borderRightWidth),Ot(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=st(a.marginLeft)+st(a.marginRight),Ot(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=lr(at.element.rail("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=lr(at.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",o),this.event.bind(this.scrollbarY,"blur",r),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var l=me(this.scrollbarYRail);this.scrollbarYRight=parseInt(l.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=st(l.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?rC(this.scrollbarY):null,this.railBorderYWidth=st(l.borderTopWidth)+st(l.borderBottomWidth),Ot(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=st(l.marginTop)+st(l.marginBottom),Ot(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(c){return fC[c](i)}),this.lastScrollTop=Math.floor(t.scrollTop),this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",function(c){return i.onScroll(c)}),Se(this)};dn.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,Ot(this.scrollbarXRail,{display:"block"}),Ot(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=st(me(this.scrollbarXRail).marginLeft)+st(me(this.scrollbarXRail).marginRight),this.railYMarginHeight=st(me(this.scrollbarYRail).marginTop)+st(me(this.scrollbarYRail).marginBottom),Ot(this.scrollbarXRail,{display:"none"}),Ot(this.scrollbarYRail,{display:"none"}),Se(this),hr(this,"top",0,!1,!0),hr(this,"left",0,!1,!0),Ot(this.scrollbarXRail,{display:""}),Ot(this.scrollbarYRail,{display:""}))},dn.prototype.onScroll=function(t){this.isAlive&&(Se(this),hr(this,"top",this.element.scrollTop-this.lastScrollTop),hr(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},dn.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),fs(this.scrollbarX),fs(this.scrollbarY),fs(this.scrollbarXRail),fs(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},dn.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")};const Kl="perfectScrollbar",_C="perfect-scrollbar",dr="te.perfectScrollbar",be="te",ve="ps",Ul=[{te:`scrollX.${be}.${ve}`,ps:"ps-scroll-x"},{te:`scrollY.${be}.${ve}`,ps:"ps-scroll-y"},{te:`scrollUp.${be}.${ve}`,ps:"ps-scroll-up"},{te:`scrollDown.${be}.${ve}`,ps:"ps-scroll-down"},{te:`scrollLeft.${be}.${ve}`,ps:"ps-scroll-left"},{te:`scrollRight.${be}.${ve}`,ps:"ps-scroll-right"},{te:`scrollXEnd.${be}.${ve}`,ps:"ps-x-reach-end"},{te:`scrollYEnd.${be}.${ve}`,ps:"ps-y-reach-end"},{te:`scrollXStart.${be}.${ve}`,ps:"ps-x-reach-start"},{te:`scrollYStart.${be}.${ve}`,ps:"ps-y-reach-start"}],gC={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],wheelSpeed:1,wheelPropagation:!0,swipeEasing:!0,minScrollbarLength:null,maxScrollbarLength:null,scrollingThreshold:1e3,useBothWheelAxes:!1,suppressScrollX:!1,suppressScrollY:!1,scrollXMarginOffset:0,scrollYMarginOffset:0,positionRight:!0},mC={handlers:"(string|array)",wheelSpeed:"number",wheelPropagation:"boolean",swipeEasing:"boolean",minScrollbarLength:"(number|null)",maxScrollbarLength:"(number|null)",scrollingThreshold:"number",useBothWheelAxes:"boolean",suppressScrollX:"boolean",suppressScrollY:"boolean",scrollXMarginOffset:"number",scrollYMarginOffset:"number",positionRight:"boolean"},bC={ps:"group/ps overflow-hidden [overflow-anchor:none] touch-none",railX:"group/x absolute bottom-0 h-[0.9375rem] hidden opacity-0 transition-[background-color,_opacity] duration-200 ease-linear motion-reduce:transition-none z-[1035] group-[&.ps--active-x]/ps:block group-hover/ps:opacity-60 group-focus/ps:opacity-60 group-[&.ps--scrolling-x]/ps:opacity-60 hover:!opacity-90 focus:!opacity-90 [&.ps--clicking]:!opacity-90 outline-none",railXColors:"group-[&.ps--active-x]/ps:bg-transparent hover:!bg-[#eee] focus:!bg-[#eee] [&.ps--clicking]:!bg-[#eee] dark:hover:!bg-[#555] dark:focus:!bg-[#555] dark:[&.ps--clicking]:!bg-[#555]",railXThumb:"absolute bottom-0.5 rounded-md h-1.5 group-focus/ps:opacity-100 group-active/ps:opacity-100 [transition:background-color_.2s_linear,_height_.2s_ease-in-out] group-hover/x:h-[11px] group-focus/x:h-[0.6875rem] group-[&.ps--clicking]/x:bg-[#999] group-[&.ps--clicking]/x:h-[11px] outline-none",railXThumbColors:"bg-[#aaa] group-hover/x:bg-[#999] group-focus/x:bg-[#999]",railY:"group/y absolute right-0 w-[0.9375rem] hidden opacity-0 transition-[background-color,_opacity] duration-200 ease-linear motion-reduce:transition-none z-[1035] group-[&.ps--active-y]/ps:block group-hover/ps:opacity-60 group-focus/ps:opacity-60 group-[&.ps--scrolling-y]/ps:opacity-60 hover:!opacity-90 focus:!opacity-90 [&.ps--clicking]:!opacity-90 outline-none",railYColors:"group-[&.ps--active-y]/ps:bg-transparent hover:!bg-[#eee] focus:!bg-[#eee] [&.ps--clicking]:!bg-[#eee] dark:hover:!bg-[#555] dark:focus:!bg-[#555] dark:[&.ps--clicking]:!bg-[#555]",railYThumb:"absolute right-0.5 rounded-md w-1.5 group-focus/ps:opacity-100 group-active/ps:opacity-100 [transition:background-color_.2s_linear,_width_.2s_ease-in-out,_opacity] group-hover/y:w-[11px] group-focus/y:w-[0.6875rem] group-[&.ps--clicking]/y:w-[11px] outline-none",railYThumbColors:"bg-[#aaa] group-hover/y:bg-[#999] group-focus/y:bg-[#999] group-[&.ps--clicking]/y:bg-[#999]"},vC={ps:"string",railX:"string",railXColors:"string",railXThumb:"string",railXThumbColors:"string",railY:"string",railYColors:"string",railYThumb:"string",railYThumbColors:"string"};class ms{constructor(t,e={},i={}){this._element=t,this._options=this._getConfig(e),this._classes=this._getClasses(i),this.perfectScrollbar=null,this._observer=null,this._psClasses=[{ps:"ps__rail-x",te:this._classes.railX,teColor:this._classes.railXColors},{ps:"ps__rail-y",te:this._classes.railY,teColor:this._classes.railYColors},{ps:"ps__thumb-x",te:this._classes.railXThumb,teColor:this._classes.railXThumbColors},{ps:"ps__thumb-y",te:this._classes.railYThumb,teColor:this._classes.railYThumbColors}],this._element&&(O.setData(t,dr,this),g.addClass(this._element,_C)),this.init()}static get NAME(){return Kl}get railX(){return m.findOne(".ps__rail-x",this._element)}get railY(){return m.findOne(".ps__rail-y",this._element)}_getConfig(t){const e=g.getDataAttributes(this._element);return e.handlers!==void 0&&(e.handlers=e.handlers.split(" ")),t={...gC,...e,...t},L(Kl,t,mC),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...bC,...e,...t},L(Kl,t,vC),t}dispose(){this._options.positionRight&&this._observer.disconnect(),O.removeData(this._element,dr),this._element=null,this._dataAttrOptions=null,this._options=null,this.perfectScrollbar.destroy(),this.removeEvent(Ul),this.perfectScrollbar=null}init(){if(this.perfectScrollbar=new dn(this._element,this._options),this._addPerfectScrollbarStyles(),this._updateScrollPosition(),this.perfectScrollbar.update(),this._initEvents(Ul),this._options.positionRight){this._observer=new ResizeObserver(()=>{setTimeout(()=>{this._updateScrollPosition()},100)});const t={attributes:!0,attributeFilter:["class","className"]};this._observer.observe(this._element,t)}}_updateScrollPosition(){const t=getComputedStyle(this._element).getPropertyValue("height"),e=getComputedStyle(this._element).getPropertyValue("width");this.railX&&(this.railX.style.transform=`translateY(calc(-100% + ${this._canTransform(t)?t:"0px"}))`),this.railY&&(this.railY.style.transform=`translateX(calc(-100% + ${this._canTransform(e)?e:"0px"}))`)}_canTransform(t){return t&&t.includes("px")}update(){return this.perfectScrollbar.update()}_initEvents(t=[]){t.forEach(({ps:e,te:i})=>_.on(this._element,e,n=>_.trigger(this._element,i,{e:n})))}_addPerfectScrollbarStyles(){this._psClasses.forEach(t=>{const e=m.findOne(`.${t.ps}`,this._element);g.addClass(e,t.te),g.addClass(e,t.teColor)}),g.addClass(this._element,this._classes.ps),g.removeClass(this._element,"ps")}removeEvent(t){let e=[];typeof t=="string"&&(e=Ul.filter(({te:i})=>i===t)),e.forEach(({ps:i,te:n})=>{_.off(this._element,i),_.off(this._element,n)})}static jQueryInterface(t){return this.each(function(){let e=O.getData(this,dr);const i=typeof t=="object"&&t;if(!(!e&&/dispose|hide/.test(t))&&(e||(e=new ms(this,i)),typeof t=="string")){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}static getInstance(t){return O.getData(t,dr)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const yC="data-te-datatable-select-ref",TC="data-te-datatable-pagination-nav-ref",EC="data-te-datatable-pagination-right-ref",xC="data-te-datatable-pagination-left-ref",CC="data-te-datatable-pagination-start-ref",AC="data-te-datatable-pagination-end-ref",wC=({text:s,entries:t,entriesOptions:e,fullPagination:i,rowsText:n,allText:o,paginationStartIconTemplate:r,paginationLeftIconTemplate:a,paginationRightIconTemplate:l,paginationEndIconTemplate:c,classes:h},d,u)=>{const p=e.map(f=>f==="All"?``:``).join(` +`);return` +
    +
    +

    ${n}

    +
    + +
    +
    +
    + ${s} +
    +
    + ${i?``:""} + + + ${i?``:""} +
    +
    +`},kC="data-te-datatable-sort-icon-ref",SC="data-te-datatable-header-checkbox-ref",OC=(s,t,e,i,n,o,r,a)=>{const l=e?` + +
    + +
    + + `:'',c=s.map((h,d)=>{const u=h.fixed?s.filter((p,f)=>p.fixed===h.fixed&&fp+f.width,0):null;return`${h.sort?`
    ${r}`:""} ${h.label}
    `});return[t?l:"",...c].join(` +`)},IC="data-te-datatable-row-ref",DC="data-te-datatable-row-checkbox-ref",MC="data-te-datatable-cell-ref",LC=({rows:s,columns:t,noFoundMessage:e,edit:i,selectable:n,loading:o,bordered:r,borderless:a,striped:l,hover:c,sm:h,classes:d})=>{const u=s.map(p=>{const f=` + +
    + +
    + `,b=t.map((v,y)=>{const T={};if(v.width&&(T["min-width"]=`${v.width-1}px`,T["max-width"]=`${v.width}px`,T.width=`${v.width}px`),v.fixed){const E=t.filter((C,A)=>C.fixed===v.fixed&&AC+A.width,0);T[v.fixed==="right"?"right":"left"]=`${E}px`}return`${p[v.field]}`}).join("");return`${n?f:""}${b}`});return s.length>0||o?u.join(` +`):`${e}`},$C="data-te-datatable-inner-ref",RC="data-te-datatable-header-ref",Op=({columns:s,rows:t,noFoundMessage:e,edit:i,multi:n,selectable:o,loading:r,loadingMessage:a,pagination:l,bordered:c,borderless:h,striped:d,hover:u,fixedHeader:p,sm:f,sortIconTemplate:b,classes:v})=>{const y=LC({rows:t,columns:s,noFoundMessage:e,edit:i,loading:r,selectable:o,bordered:c,borderless:h,striped:d,hover:u,sm:f,classes:v}),T=OC(s,o,n,c,f,r,b,v);return{table:` +
    + + + + ${T} + + + + ${r?"":y} + +
    +
    +${r?` +
    +
    +
    +
    +
    +

    ${a}

    +`:""} +${l.enable?wC(l,r,c):""} + `,rows:y,column:T}},PC=({rows:s,field:t,order:e})=>s.sort((n,o)=>{let r=n[t],a=o[t];return typeof r=="string"&&(r=r.toLowerCase()),typeof a=="string"&&(a=a.toLowerCase()),ra?e==="desc"?-1:1:0}),NC=(s,t,e)=>{if(!t)return s;const i=n=>{const o=document.createElement("div");return o.innerHTML=n,n=o.textContent||o.innerText||"",n.toString().toLowerCase().match(t.toLowerCase())};return s.filter(n=>{if(e&&typeof e=="string")return i(n[e]);let o=Object.values(n);return e&&Array.isArray(e)&&(o=Object.keys(n).filter(r=>e.includes(r)).map(r=>n[r])),o.filter(r=>i(r)).length>0})},Ip=({rows:s,entries:t,activePage:e})=>{const i=e*t;return s.slice(i,i+Number(t))},un="datatable",Ht=`data-te-${un}`,pn=`te.${un}`,ur=`.${pn}`,BC=`[${Ht}-inner-ref]`,Xl=`[${Ht}-cell-ref]`,HC=`[${Ht}-header-ref]`,VC=`[${Ht}-header-checkbox-ref]`,FC=`[${Ht}-pagination-right-ref]`,WC=`[${Ht}-pagination-left-ref]`,zC=`[${Ht}-pagination-start-ref]`,jC=`[${Ht}-pagination-end-ref]`,YC=`[${Ht}-pagination-nav-ref]`,KC=`[${Ht}-select-ref]`,Gl=`[${Ht}-sort-icon-ref]`,fn=`[${Ht}-row-ref]`,ql=`[${Ht}-row-checkbox-ref]`,UC=`selectRows${ur}`,Dp=`render${ur}`,XC=`rowClick${ur}`,GC=`update${ur}`,qC=` + +`,ZC=` + +`,QC=` + +`,JC=` + +`,tA=` + +`,eA="border-neutral-200 dark:border-neutral-500",iA="border-none",sA="relative float-left -ml-[1.5rem] mr-[6px] mt-[0.15rem] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:-mt-px checked:after:ml-[0.25rem] checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-l-0 checked:after:border-t-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:-mt-px checked:focus:after:ml-[0.25rem] checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-l-0 checked:focus:after:border-t-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent dark:border-neutral-600 dark:checked:border-primary dark:checked:bg-primary dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:border-neutral-400",nA="mb-[0.125rem] min-h-[1.5rem] pl-[1.5rem] ml-3 flex items-center",oA="relative float-left -ml-[1.5rem] mr-[6px] mt-[0.15rem] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:-mt-px checked:after:ml-[0.25rem] checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-l-0 checked:after:border-t-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:-mt-px checked:focus:after:ml-[0.25rem] checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-l-0 checked:focus:after:border-t-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent dark:border-neutral-600 dark:checked:border-primary dark:checked:bg-primary dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:border-neutral-400",rA="mb-[0.125rem] min-h-[1.5rem] pl-[1.5rem] ml-3 flex items-center",aA="bg-white dark:bg-neutral-800",lA="py-4 pl-1 text-clip overflow-hidden text-[#212529] dark:text-white",cA="focus:outline-none",hA="sticky top-0 z-30",dA="sticky z-10 bg-inherit",uA="hover:bg-neutral-100 dark:hover:bg-neutral-700",pA="pointer-events-none cursor-none text-neutral-400 dark:text-neutral-300",fA="h-[2px] relative w-full overflow-hidden",_A="text-center text-neutral-500 font-ligh text-sm my-4 dark:text-neutral-400",gA="text-neutral-500 dark:text-neutral-300",mA="text-neutral-500 dark:text-neutral-300",bA="pointer-events-none cursor-none",vA="h-full w-[45%] bg-primary-400 dark:bg-primary-600",yA="h-full animate-[progress_3s_ease-in-out_infinite]",TA="pl-2 py-3 font-light text-sm dark:text-neutral-300",EA="border-b",xA="flex md:flex-row justify-end items-center py-2 space-x-4 text-sm flex-col leading-[1.6]",CA="border border-t-0",AA="order-1 my-3 md:order-none md:my-0 md:pr-1",wA="inline-block rounded p-2.5 text-xs font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600",kA="inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600",SA="font-normal order-2 mb-3 md:order-none md:mb-0",OA="inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600",IA="font-light",DA="inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600",MA="border-b",LA="transition ease-in-out duration-300 motion-reduce:transition-none",$A="whitespace-nowrap text-clip overflow-auto px-[1.4rem] py-4",RA="relative",PA="!bg-neutral-100 dark:!bg-neutral-600",NA="flex items-center space-x-4 order-3 md:order-none",BA="w-[70px]",HA="!py-2",VA="w-[15px] h-[10px] origin-bottom font-black mr-1 opacity-0 text-neutral-500 group-hover:opacity-100 transition hover:ease-in-out transform ease-linear duration-300 motion-reduce:transition-none dark:text-neutral-400",FA="flex flex-row group",WA="[&:nth-child(odd)]:bg-neutral-50 [&:nth-child(odd)]:dark:bg-neutral-700",zA="border",jA="border-b font-normal px-[1.4rem]",YA="text-left text-sm font-light w-full leading-[1.6]",KA={bordered:"boolean",borderless:"boolean",clickableRows:"boolean",defaultValue:"string",edit:"boolean",entries:"(number|string)",entriesOptions:"array",fullPagination:"boolean",hover:"boolean",loading:"boolean",loadingMessage:"string",maxWidth:"(null|number|string)",maxHeight:"(null|number|string)",multi:"boolean",noFoundMessage:"string",pagination:"boolean",selectable:"boolean",sm:"boolean",sortField:"(null|string)",sortOrder:"string",fixedHeader:"boolean",striped:"boolean",rowsText:"string",ofText:"string",allText:"string",forceSort:"boolean",sortIconTemplate:"string",paginationStartIconTemplate:"string",paginationEndIconTemplate:"string",paginationLeftIconTemplate:"string",paginationRightIconTemplate:"string"},UA={bordered:!1,borderless:!1,clickableRows:!1,defaultValue:"-",edit:!1,entries:10,entriesOptions:[10,25,50,200],fixedHeader:!1,fullPagination:!1,hover:!1,loading:!1,loadingMessage:"Loading results...",maxWidth:null,maxHeight:null,multi:!1,noFoundMessage:"No matching results found",pagination:!0,selectable:!1,sm:!1,sortField:null,sortOrder:"asc",striped:!1,rowsText:"Rows per page:",ofText:"of",allText:"All",forceSort:!1,sortIconTemplate:qC,paginationStartIconTemplate:ZC,paginationEndIconTemplate:tA,paginationLeftIconTemplate:QC,paginationRightIconTemplate:JC},XA={label:"string",field:"string",fixed:"(boolean|string)",format:"(function|null)",width:"(number|null)",sort:"boolean",columnIndex:"number"},GA={label:"",field:"",fixed:!1,format:null,width:null,sort:!0,columnIndex:0},qA={table:YA,tableHeader:jA,column:lA,pagination:xA,selectWrapper:BA,scroll:RA,tableBordered:zA,paginationBordered:CA,borderless:iA,checkboxRowWrapper:rA,checkboxRow:oA,checkboxHeaderWrapper:nA,checkboxHeader:sA,row:MA,rowItem:$A,striped:WA,sortIconWrapper:FA,sortIcon:VA,paginationRowsText:IA,paginationNav:SA,paginationButtonsWrapper:AA,hoverRow:uA,borderColor:eA,color:aA,fixedHeader:hA,fixedHeaderBody:dA,selectableRow:PA,rowAnimation:LA,sm:HA,edit:cA,selectItemsWrapper:NA,paginationStartButton:DA,paginationLeftButton:kA,paginationRightButton:OA,paginationEndButton:wA,loadingItemsWrapper:fA,loadingProgressBarWrapper:yA,loadingProgressBar:vA,loadingMessage:_A,loadingPaginationRowsText:mA,loadingPaginationSelectWrapper:bA,loadingPaginationNav:gA,loadingColumn:pA,noFoundMessageWrapper:EA,noFoundMessage:TA},ZA={table:"string",tableHeader:"string",column:"string",pagination:"string",selectWrapper:"string",scroll:"string",tableBordered:"string",paginationBordered:"string",borderless:"string",checkboxRowWrapper:"string",checkboxRow:"string",checkboxHeaderWrapper:"string",checkboxHeader:"string",row:"string",rowItem:"string",striped:"string",sortIconWrapper:"string",sortIcon:"string",paginationRowsText:"string",paginationNav:"string",paginationButtonsWrapper:"string",hoverRow:"string",borderColor:"string",color:"string",fixedHeader:"string",fixedHeaderBody:"string",selectableRow:"string",rowAnimation:"string",sm:"string",edit:"string",selectItemsWrapper:"string",paginationStartButton:"string",paginationLeftButton:"string",paginationRightButton:"string",paginationEndButton:"string",loadingItemsWrapper:"string",loadingProgressBarWrapper:"string",loadingProgressBar:"string",loadingMessage:"string",loadingPaginationRowsText:"string",loadingPaginationSelectWrapper:"string",loadingPaginationNav:"string",loadingColumn:"string",noFoundMessageWrapper:"string",noFoundMessage:"string"};class pr{constructor(t,e={},i={},n={}){this._element=t,this._options=this._getOptions(i),this._classes=this._getClasses(n),this._sortReverse=!1,this._activePage=0,this._search="",this._searchColumn=null,this._paginationLeft=null,this._paginationRight=null,this._paginationStart=null,this._paginationEnd=null,this._select=null,this._selectInstance=null,this._selected=[],this._checkboxes=null,this._headerCheckbox=null,this._rows=this._getRows(e.rows),this._columns=this._getColumns(e.columns),this._element&&(O.setData(t,pn,this),this._perfectScrollbar=null,this._setup())}static get NAME(){return un}get columns(){return this._columns.map((t,e)=>{let i={...GA,field:`field_${e}`,columnIndex:e};return typeof t=="string"?i.label=t:typeof t=="object"&&(i={...i,...t}),L("column",i,XA),i})}get rows(){return this._rows.map((t,e)=>{const i={rowIndex:e};return Array.isArray(t)?this.columns.forEach((n,o)=>{t[o]===0?i[n.field]=t[o]:i[n.field]=t[o]||this._options.defaultValue}):typeof t=="object"&&this.columns.forEach(n=>{t[n.field]===0?i[n.field]=t[n.field]:i[n.field]=t[n.field]||this._options.defaultValue}),i})}get searchResult(){return NC(this.rows,this._search,this._searchColumn)}get computedRows(){let t=[...this.searchResult];return this._options.sortOrder&&(t=PC({rows:t,field:this._options.sortField,order:this._options.sortOrder})),this._options.pagination&&(this._options.entries==="All"?t=Ip({rows:t,entries:t.length,activePage:this._activePage}):t=Ip({rows:t,entries:this._options.entries,activePage:this._activePage})),t}get pages(){return this._options.entries==="All"?1:Math.ceil(this.searchResult.length/this._options.entries)}get navigationText(){const t=this._activePage*this._options.entries;return this.searchResult.length===0?`0 ${this._options.ofText} 0`:this._options.entries==="All"?`1 - ${this.searchResult.length} ${this._options.ofText} ${this.searchResult.length}`:`${t+1} - ${this.computedRows.length+t} ${this._options.ofText} ${this.searchResult.length}`}get tableOptions(){return{classes:this._classes,columns:this.columns,rows:this.computedRows,noFoundMessage:this._options.noFoundMessage,edit:this._options.edit,loading:this._options.loading,loaderClass:this._options.loaderClass,loadingMessage:this._options.loadingMessage,selectable:this._options.selectable,multi:this._options.multi,bordered:this._options.bordered,borderless:this._options.borderless,striped:this._options.striped,hover:this._options.hover,fixedHeader:this._options.fixedHeader,sm:this._options.sm,sortIconTemplate:this._options.sortIconTemplate,pagination:{enable:this._options.pagination,text:this.navigationText,entries:this._options.entries,entriesOptions:this._options.entriesOptions,fullPagination:this._options.fullPagination,rowsText:this._options.rowsText,ofText:this._options.ofText,allText:this._options.allText,paginationStartIconTemplate:this._options.paginationStartIconTemplate,paginationLeftIconTemplate:this._options.paginationLeftIconTemplate,paginationRightIconTemplate:this._options.paginationRightIconTemplate,paginationEndIconTemplate:this._options.paginationEndIconTemplate,classes:this._classes},forceSort:this._options.forceSort}}update(t,e={}){t&&t.rows&&(this._rows=t.rows),t&&t.columns&&(this._columns=t.columns),this._clearClassList(e),this._options=this._getOptions({...this._options,...e}),this._setup(),this._performSort()}dispose(){this._selectInstance&&this._selectInstance.dispose(),O.removeData(this._element,pn),this._removeEventListeners(),this._perfectScrollbar.destroy(),this._element=null}search(t,e){this._search=t,this._searchColumn=e,this._activePage=0,this._options.pagination&&this._toggleDisableState(),this._renderRows(),this._options.maxHeight&&(this._perfectScrollbar.element.scrollTop=0,this._perfectScrollbar.update())}sort(t,e="asc"){this._options.sortOrder=e,typeof t=="string"?this._options.sortField=this.columns.find(n=>n.label===t).field:this._options.sortField=t.field;const i=m.findOne(`[data-te-sort="${this._options.sortField}"]`,this._element);this._activePage=0,this._toggleDisableState(),this._renderRows(),this._setActiveSortIcon(i)}setActivePage(t){t{this._options[e]&&!t[e]&&g.removeDataAttribute(`data-te-${e}`)})}_emitSelectEvent(){_.trigger(this._element,UC,{selectedRows:this.rows.filter(t=>this._selected.indexOf(t.rowIndex)!==-1),selectedIndexes:this._selected,allSelected:this._selected.length===this.rows.length})}_getRows(t=[]){const e=m.findOne("tbody",this._element);return e?[...m.find("tr",e).map(n=>m.find("td",n).map(o=>o.innerHTML)),...t]:t}_getColumns(t=[]){const e=m.findOne("thead",this._element);if(!e)return t;const i=m.findOne("tr",e);return[...m.find("th",i).map(o=>({label:o.innerHTML,...g.getDataAttributes(o)})),...t]}_getCSSValue(t){return typeof t=="string"?t:`${t}px`}_getOptions(t){const e={...UA,...g.getDataAttributes(this._element),...t};return L(un,e,KA),e}_setActiveRows(){m.find(fn,this._element).forEach(t=>{this._selected.includes(g.getDataAttribute(t,"index"))?g.addClass(t,`active ${this._classes.selectableRow}`):g.removeClass(t,`active ${this._classes.selectableRow}`)})}_setEntries(t){this._options=this._getOptions({...this._options,entries:t.target.value}),this._activePage>this.pages-1&&(this._activePage=this.pages-1),this._toggleDisableState(),this._renderRows()}_setSelected(){m.find(ql,this._element).forEach(t=>{const e=g.getDataAttribute(t,"rowIndex");t.checked=this._selected.includes(e)}),this._setActiveRows()}_setActiveSortIcon(t){m.find(Gl,this._element).forEach(e=>{const i=this._options.sortOrder==="desc"&&e===t?180:0;g.style(e,{transform:`rotate(${i}deg)`}),e===t&&this._options.sortOrder?g.addClass(e,"opacity-100"):g.removeClass(e,"opacity-100")})}_setup(){this._renderTable(),this._options.pagination&&this._setupPagination(),this._options.edit&&this._setupEditable(),this._options.clickableRows&&this._setupClickableRows(),this._options.selectable&&this._setupSelectable(),this._setupScroll(),this._setupSort()}_setupClickableRows(){m.find(fn,this._element).forEach(t=>{const e=g.getDataAttribute(t,"index");g.addClass(t,"cursor-pointer"),_.on(t,"click",i=>{m.matches(i.target,ql)||_.trigger(this._element,XC,{index:e,row:this.rows[e]})})})}_setupEditable(){m.find(fn,this._element).forEach(t=>{const e=g.getDataAttribute(t,"index");m.find(Xl,t).forEach(i=>{_.on(i,"input",n=>this._updateRow(n,e))})})}_setupScroll(){const t=m.findOne(BC,this._element),e={};if(this._options.maxHeight&&(e.maxHeight=this._getCSSValue(this._options.maxHeight)),this._options.maxWidth){const i=this._getCSSValue(this._options.maxWidth);e.maxWidth=i,g.style(this._element,{maxWidth:i})}if(g.style(t,e),g.addClass(t,`${this._classes.scroll}`),this._options.fixedHeader){let i=m.find(HC,this._element);this._options.selectable&&(i=i.filter((n,o)=>(g.addClass(n,`${this._classes.fixedHeader} ${this._classes.color}`),o!==0))),i.forEach((n,o)=>{g.addClass(n,`${this._classes.fixedHeader} ${this._classes.color}`),this.columns[o].fixed&&g.addClass(n,"!z-40")})}this._perfectScrollbar=new ms(t)}_setupSort(){m.find(Gl,this._element).forEach(t=>{const e=g.getDataAttribute(t,"sort"),[i]=m.parents(t,"th");if(this.columns.sort)g.addClass(i,"cursor-pointer");else return;e===this._options.sortField&&this._setActiveSortIcon(t),_.on(i,"click",()=>{this._options.sortField===e&&this._options.sortOrder==="asc"?this._options.sortOrder="desc":this._options.sortField===e&&this._options.sortOrder==="desc"?this._options.sortOrder=this._options.forceSort?"asc":null:this._options.sortOrder="asc",this._options.sortField=e,this._activePage=0,this._performSort(),this._setActiveSortIcon(t)})})}_performSort(){this._toggleDisableState(),this._renderRows()}_setupSelectable(){this._checkboxes=m.find(ql,this._element),this._headerCheckbox=m.findOne(VC,this._element),_.on(this._headerCheckbox,"input",t=>this._toggleSelectAll(t)),this._checkboxes.forEach(t=>{const e=g.getDataAttribute(t,"rowIndex");_.on(t,"input",i=>this._toggleSelectRow(i,e))})}_setupPagination(){this._paginationRight=m.findOne(FC,this._element),this._paginationLeft=m.findOne(WC,this._element),_.on(this._paginationRight,"click",()=>this._changeActivePage(this._activePage+1)),_.on(this._paginationLeft,"click",()=>this._changeActivePage(this._activePage-1)),this._options.fullPagination&&(this._paginationStart=m.findOne(zC,this._element),this._paginationEnd=m.findOne(jC,this._element),_.on(this._paginationStart,"click",()=>this._changeActivePage(0)),_.on(this._paginationEnd,"click",()=>this._changeActivePage(this.pages-1))),this._toggleDisableState(),this._setupPaginationSelect()}_setupPaginationSelect(){this._select=m.findOne(KC,this._element),this._selectInstance=new on(this._select),_.on(this._select,"valueChange.te.select",t=>this._setEntries(t))}_removeEventListeners(){this._options.pagination&&(_.off(this._paginationRight,"click"),_.off(this._paginationLeft,"click"),_.off(this._select,"valueChange.te.select"),this._options.fullPagination&&(_.off(this._paginationStart,"click"),_.off(this._paginationEnd,"click"))),this._options.edit&&m.find(Xl,this._element).forEach(t=>{_.off(t,"input")}),this._options.clickableRows&&m.find(fn,this._element).forEach(t=>{_.off(t,"click")}),m.find(Gl,this._element).forEach(t=>{const[e]=m.parents(t,"th");_.off(e,"click")}),this._options.selectable&&(_.off(this._headerCheckbox,"input"),this._checkboxes.forEach(t=>{_.off(t,"input")}))}_renderTable(){this._element.innerHTML=Op(this.tableOptions).table,this._formatCells(),_.trigger(this._element,Dp)}_renderRows(){const t=m.findOne("tbody",this._element);if(this._options.pagination){const e=m.findOne(YC,this._element);e.innerText=this.navigationText}t.innerHTML=Op(this.tableOptions).rows,this._formatCells(),this._options.edit&&this._setupEditable(),this._options.selectable&&(this._setupSelectable(),this._setSelected()),this._options.clickableRows&&this._setupClickableRows(),_.trigger(this._element,Dp)}_formatCells(){m.find(fn,this._element).forEach(e=>{const i=g.getDataAttribute(e,"index");m.find(Xl,e).forEach(o=>{const r=g.getDataAttribute(o,"field"),a=this.columns.find(l=>l.field===r);a&&a.format!==null&&a.format(o,this.rows[i][r])})})}_toggleDisableState(){this._options.pagination!==!1&&(this._activePage===0||this._options.loading?(this._paginationLeft.setAttribute("disabled",""),this._options.fullPagination&&this._paginationStart.setAttribute("disabled","")):(this._paginationLeft.removeAttribute("disabled"),this._options.fullPagination&&this._paginationStart.removeAttribute("disabled")),this._activePage===this.pages-1||this._options.loading||this.pages===0?(this._paginationRight.setAttribute("disabled",""),this._options.fullPagination&&this._paginationEnd.setAttribute("disabled","")):(this._paginationRight.removeAttribute("disabled"),this._options.fullPagination&&this._paginationEnd.removeAttribute("disabled")))}_toggleSelectAll(t){t.target.checked?this._selected=this.rows.map(e=>e.rowIndex):this._selected=[],this._setSelected(),this._emitSelectEvent()}_toggleSelectRow(t,e){t.target.checked?this._options.multi&&!this._selected.includes(e)?this._selected=[...this._selected,e]:(this._selected=[e],this._checkboxes.forEach(i=>{i!==t.target&&(i.checked=!1)})):this._selected=this._selected.filter(i=>i!==e),this._options.multi&&!t.target.checked&&(this._headerCheckbox.checked=!1),this._setActiveRows(),this._emitSelectEvent()}_updateRow(t,e){const i=g.getDataAttribute(t.target,"field"),n=t.target.textContent,o=this._rows[e];if(Array.isArray(o)){const a=this.columns.find(l=>l.field===i).columnIndex;o[a]=n}else o[i]=n;_.trigger(this._element,GC,{rows:this._rows,columns:this._columns})}static jQueryInterface(t,e,i){return this.each(function(){let n=O.getData(this,pn);const o=typeof t=="object"&&t;if(!(!n&&/dispose/.test(t))&&(n||(n=new pr(this,o,e)),typeof t=="string")){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t](e,i)}})}static getInstance(t){return O.getData(t,pn)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const Mp="rating",fr="te.rating",QA="data-te-rating-init",JA="[data-te-rating-icon-ref]",bs=`.${fr}`,tw="ArrowLeft",ew="ArrowRight",iw={tooltip:"string",value:"(string|number)",readonly:"boolean",after:"string",before:"string",dynamic:"boolean",active:"string"},sw={tooltip:"top",value:"",readonly:!1,after:"",before:"",dynamic:!1,active:"fill-current"},Lp=`onSelect${bs}`,nw=`onHover${bs}`,$p=`keyup${bs}`,Rp=`focusout${bs}`,Pp=`keydown${bs}`,Np=`mousedown${bs}`;class Bp{constructor(t,e){this._element=t,this._icons=m.find(JA,this._element),this._options=this._getConfig(e),this._index=-1,this._savedIndex=null,this._originalClassList=[],this._originalIcons=[],this._fn={},this._tooltips=[],this._element&&(O.setData(t,fr,this),this._init())}static get NAME(){return Mp}dispose(){O.removeData(this._element,fr),this._options.readonly||(_.off(this._element,$p),_.off(this._element,Rp),_.off(this._element,Pp),this._element.removeEventListener("mouseleave",this._fn.mouseleave),this._icons.forEach((t,e)=>{_.off(t,Np),t.removeEventListener("mouseenter",this._fn.mouseenter[e]),g.removeClass(t,"cursor-pointer")}),this._tooltips.forEach(t=>{t._element.removeAttribute(QA),t.dispose()}),this._icons.forEach(t=>t.removeAttribute("tabIndex"))),this._element=null}_init(){this._options.readonly||(this._bindMouseEnter(),this._bindMouseLeave(),this._bindMouseDown(),this._bindKeyDown(),this._bindKeyUp(),this._bindFocusLost(),this._icons.forEach(t=>{g.addClass(t,"cursor-pointer")})),this._options.dynamic&&(this._saveOriginalClassList(),this._saveOriginalIcons()),this._setCustomText(),this._setToolTips(),this._options.value&&(this._index=this._options.value-1,this._updateRating(this._index))}_getConfig(t){const e=g.getDataAttributes(this._element);return t={...sw,...e,...t},L(Mp,t,iw),t}_bindMouseEnter(){this._fn.mouseenter=[],this._icons.forEach((t,e)=>{t.addEventListener("mouseenter",this._fn.mouseenter[e]=i=>{this._index=this._icons.indexOf(i.target),this._updateRating(this._index),this._triggerEvents(t,nw)})})}_bindMouseLeave(){this._element.addEventListener("mouseleave",this._fn.mouseleave=()=>{this._savedIndex!==null?(this._updateRating(this._savedIndex),this._index=this._savedIndex):this._options.value?(this._updateRating(this._options.value-1),this._index=this._options.value-1):(this._index=-1,this._clearRating())})}_bindMouseDown(){this._icons.forEach(t=>{_.on(t,Np,()=>{this._setElementOutline("none"),this._savedIndex=this._index,this._triggerEvents(t,Lp)})})}_bindKeyDown(){this._element.tabIndex=0,_.on(this._element,Pp,t=>this._updateAfterKeyDown(t))}_bindKeyUp(){_.on(this._element,$p,()=>this._setElementOutline("auto"))}_bindFocusLost(){_.on(this._element,Rp,()=>this._setElementOutline("none"))}_setElementOutline(t){this._element.style.outline=t}_triggerEvents(t,e){_.trigger(t,e,{value:this._index+1})}_updateAfterKeyDown(t){const e=this._icons.length-1,i=this._index;t.key===ew&&this._index-1&&(this._index-=1),i!==this._index&&(this._savedIndex=this._index,this._updateRating(this._savedIndex),this._triggerEvents(this._icons[this._savedIndex],Lp))}_updateRating(t){this._clearRating(),this._options.dynamic&&this._restoreOriginalIcon(t),this._icons.forEach((e,i)=>{i<=t&&g.addClass(e.querySelector("svg"),this._options.active)})}_clearRating(){this._icons.forEach((t,e)=>{const i=t.querySelector("svg");this._options.dynamic&&(t.classList=this._originalClassList[e],i.innerHTML=this._originalIcons[e]),g.removeClass(i,this._options.active)})}_setToolTips(){this._icons.forEach((t,e)=>{const i=g.getDataAttribute(t,"toggle");t.title&&!i&&(g.setDataAttribute(t,"toggle","tooltip"),this._tooltips[e]=new is(t,{placement:this._options.tooltip}))})}_setCustomText(){this._icons.forEach(t=>{const e=g.getDataAttribute(t,"after"),i=g.getDataAttribute(t,"before");e&&t.insertAdjacentHTML("afterEnd",e),i&&t.insertAdjacentHTML("beforeBegin",i)})}_saveOriginalClassList(){this._icons.forEach(t=>{const e=t.classList.value;this._originalClassList.push(e)})}_saveOriginalIcons(){this._icons.forEach(t=>{const e=t.querySelector("svg").innerHTML;this._originalIcons.push(e)})}_restoreOriginalIcon(t){const e=this._originalClassList[t],i=this._originalIcons[t];this._icons.forEach((n,o)=>{if(o<=t){const r=n.querySelector("svg");r.innerHTML=i,n.classList=e}})}static getInstance(t){return O.getData(t,fr)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const Zl="popconfirm",_n="te.popconfirm",Hp=`.${_n}`,ow=`cancel${Hp}`,rw=`confirm${Hp}`,aw="[data-te-popconfirm-body]",Ql="data-te-popconfirm-popover",lw="data-te-popconfirm-modal",Vp="data-te-popconfirm-backdrop",cw={popconfirmMode:"string",message:"string",cancelText:"(null|string)",okText:"(null|string)",popconfirmIconTemplate:"string",cancelLabel:"(null|string)",confirmLabel:"(null|string)",position:"(null|string)"},hw={popconfirmMode:"inline",message:"Are you sure?",cancelText:"Cancel",okText:"OK",popconfirmIconTemplate:"",cancelLabel:"Cancel",confirmLabel:"Confirm",position:"bottom"},dw={backdrop:"string",body:"string",btnCancel:"string",btnConfirm:"string",btnsContainer:"string",fade:"string",icon:"string",message:"string",messageText:"string",modal:"string",popover:"string"},uw={backdrop:"h-full w-full z-[1070] fixed top-0 left-0 bg-[#00000066] flex justify-center items-center",body:"p-[1rem] bg-white rounded-[0.5rem] opacity-0 dark:bg-neutral-700",btnCancel:"inline-block rounded bg-primary-100 px-4 pb-[5px] pt-[6px] text-xs font-medium uppercase leading-normal text-primary-700 transition duration-150 ease-in-out hover:bg-primary-accent-100 focus:bg-primary-accent-100 focus:outline-none focus:ring-0 active:bg-primary-accent-200",btnConfirm:"inline-block rounded bg-primary px-4 pb-[5px] pt-[6px] text-xs font-medium uppercase leading-normal text-white shadow-[0_4px_9px_-4px_#3b71ca] transition duration-150 ease-in-out hover:bg-primary-600 hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:bg-primary-600 focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:outline-none focus:ring-0 active:bg-primary-700 active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] dark:shadow-[0_4px_9px_-4px_rgba(59,113,202,0.5)] dark:hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)]",btnsContainer:"flex justify-end space-x-2",fade:"transition-opacity duration-[150ms] ease-linear",icon:"pr-2",message:"flex mb-3",messageText:"text-neutral-600 dark:text-white",modal:"absolute w-[300px] z-[1080] shadow-sm rounded-[0.5rem]",popover:"w-[300px] border-0 rounded-[0.5rem] z-[1080] shadow-sm"};class _r{constructor(t,e,i){this._element=t,this._options=this._getConfig(e),this._classes=this._getClasses(i),this._popper=null,this._cancelButton="",this._confirmButton="",this._isOpen=!1,this._uid=this._element.id?`popconfirm-${this._element.id}`:bt("popconfirm-"),t&&O.setData(t,_n,this),this._clickHandler=this.open.bind(this),_.on(this._element,"click",this._clickHandler)}static get NAME(){return Zl}get container(){return m.findOne(`#${this._uid}`)}get popconfirmBody(){return m.findOne(aw,this.container)}dispose(){(this._isOpen||this.container!==null)&&this.close(),O.removeData(this._element,_n),_.off(this._element,"click",this._clickHandler),this._element=null}open(){this._isOpen||(this._options.popconfirmMode==="inline"?this._openPopover(this._getPopoverTemplate()):this._openModal(this._getModalTemplate()),this._handleCancelButtonClick(),this._handleConfirmButtonClick(),this._listenToEscapeKey(),this._listenToOutsideClick())}close(){if(this._isOpen){if(this._popper!==null||m.findOne(`[${Ql}]`)!==null)_.on(this.popconfirmBody,"transitionend",this._handlePopconfirmTransitionEnd.bind(this)),g.removeClass(this.popconfirmBody,"opacity-100");else{const t=m.findOne(`[${Vp}]`);g.removeClass(this.popconfirmBody,"opacity-100"),document.body.removeChild(t),this._isOpen=!1}_.off(document,"click",this._handleOutsideClick.bind(this)),_.off(document,"keydown",this._handleEscapeKey.bind(this))}}_handlePopconfirmTransitionEnd(t){if(t.target!==this.popconfirmBody)return;const e=m.findOne(`[${Ql}]`);_.off(this.popconfirmBody,"transitionend"),this._isOpen&&t&&t.propertyName==="opacity"&&(this._popper.destroy(),e&&document.body.removeChild(e),this._isOpen=!1)}_getPopoverTemplate(){const t=$("div"),e=this._getPopconfirmTemplate();return t.setAttribute(Ql,""),g.addClass(t,this._classes.popover),t.id=this._uid,t.innerHTML=e,t}_getModalTemplate(){const t=$("div"),e=this._getPopconfirmTemplate();return t.setAttribute(lw,""),g.addClass(t,`${this._classes.modal}`),t.id=this._uid,t.innerHTML=e,t}_getPopconfirmTemplate(){return`
    +

    + ${this._options.popconfirmIconTemplate?`${this._options.popconfirmIconTemplate}`:""} + ${this._options.message} +

    +
    + ${this._options.cancelText?``:""} + +
    +
    `}_getConfig(t){return t={...hw,...g.getDataAttributes(this._element),...t},L(Zl,t,cw),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...uw,...e,...t},L(Zl,t,dw),t}_openPopover(t){this._popper=Fe(this._element,t,{placement:this._translatePositionValue(),modifiers:[{name:"offset",options:{offset:[0,5]}}]}),document.body.appendChild(t),setTimeout(()=>{g.addClass(this.popconfirmBody,`${this._classes.fade} opacity-100`),this._isOpen=!0},0)}_openModal(t){const e=$("div");e.setAttribute(Vp,""),g.addClass(e,this._classes.backdrop),document.body.appendChild(e),e.appendChild(t),g.addClass(this.popconfirmBody,"opacity-100"),this._isOpen=!0}_handleCancelButtonClick(){const t=this.container;this._cancelButton=m.findOne("#popconfirm-button-cancel",t),Ye.getOrCreateInstance(this._cancelButton,{rippleColor:"light"}),this._cancelButton!==null&&_.on(this._cancelButton,"click",()=>{this.close(),_.trigger(this._element,ow)})}_handleConfirmButtonClick(){const t=this.container;this._confirmButton=m.findOne("#popconfirm-button-confirm",t),Ye.getOrCreateInstance(this._confirmButton,{rippleColor:"light"}),_.on(this._confirmButton,"click",()=>{this.close(),_.trigger(this._element,rw)})}_listenToEscapeKey(){_.on(document,"keydown",this._handleEscapeKey.bind(this))}_handleEscapeKey(t){t.keyCode===xi&&this.close()}_listenToOutsideClick(){_.on(document,"click",this._handleOutsideClick.bind(this))}_handleOutsideClick(t){const e=this.container,i=t.target===e,n=e&&e.contains(t.target),o=t.target===this._element,r=this._element&&this._element.contains(t.target);!i&&!n&&!o&&!r&&this.close()}_translatePositionValue(){switch(this._options.position){case"top left":return"top-end";case"top":return"top";case"top right":return"top-start";case"bottom left":return"bottom-end";case"bottom":return"bottom";case"bottom right":return"bottom-start";case"left":return"left";case"left top":return"left-end";case"left bottom":return"left-start";case"right":return"right";case"right top":return"right-end";case"right bottom":return"right-start";case void 0:return"bottom";default:return"bottom"}}static jQueryInterface(t,e){return this.each(function(){const i=O.getData(this,_n),n=typeof t=="object"&&t;if(!(!i&&/dispose/.test(t))){if(!i)return new _r(this,n);if(typeof t=="string"){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}}})}static getInstance(t){return O.getData(t,_n)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const Jl="lightbox",gn="te.lightbox",vs=`click${`.${gn}`}.data-api`,Fp="[data-te-lightbox-init]",pw=`${Fp} img:not([data-te-lightbox-disabled])`,Wp="data-te-lightbox-caption",fw="data-te-lightbox-disabled",ye="data-te-lightbox-active",_w=` + + +`,gw=` + + +`,mw=` + + +`,bw=` + + +`,vw=` + + +`,yw=` + + +`,Tw=` + + +`,Ew={container:"string",zoomLevel:"(number|string)",prevIconTemplate:"string",nextIconTemplate:"string",showFullscreenIconTemplate:"string",hideFullscreenIconTemplate:"string",zoomInIconTemplate:"string",closeIconTemplate:"string",zoomOutIconTemplate:"string",spinnerContent:"string"},xw={container:"body",zoomLevel:1,prevIconTemplate:_w,nextIconTemplate:gw,showFullscreenIconTemplate:mw,hideFullscreenIconTemplate:bw,zoomInIconTemplate:vw,zoomOutIconTemplate:yw,closeIconTemplate:Tw,spinnerContent:"Loading..."},Cw={caption:"text-white text-ellipsis overflow-hidden whitespace-nowrap mx-[10px] text-center",captionWrapper:"fixed left-0 bottom-0 w-full h-[50px] flex justify-center items-center",closeBtn:"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none",fullscreenBtn:"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none",gallery:"invisible fixed left-0 top-0 w-full h-full z-[1100] pointer-events-none opacity-0 bg-[#000000e6] transition-all duration-[400ms] motion-reduce:transition-none",galleryContent:"fixed top-[50px] left-[50px] w-[calc(100%-100px)] h-[calc(100%-100px)]",galleryCounter:"flex justify-center items-center px-[10px] mb-0 h-full text-[#b3b3b3]",img:"absolute left-0 top-0 w-full max-h-full h-auto cursor-pointer pointer-events-auto",imgWrapper:"absolute top-0 left-0 w-full h-full opacity-0 transform scale-[0.25] transition-all duration-[400ms] ease-out pointer-events-none motion-reduce:transition-none motion-reduce:transform-none",leftTools:"float-left h-full",loader:"fixed left-0 top-0 z-[2] w-full h-full text-neutral-50 opacity-1 flex justify-center items-center pointer-events-none transition-opacity duration-[1000ms] motion-reduce:transition-none",nextBtn:"border-none bg-transparent w-full h-[50px] flex justify-center items-center text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none",nextBtnWrapper:"fixed right-0 top-0 w-[50px] h-full flex justify-center items-center transition-opacity duration-[400ms] motion-reduce:transition-none",prevBtn:"border-none bg-transparent w-full h-[50px] flex justify-center items-center text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none",prevBtnWrapper:"fixed left-0 top-0 w-[50px] h-full flex justify-center items-center transition-opacity duration-[400ms] motion-reduce:transition-none",rightTools:"float-right",spinner:"inline-block h-8 w-8 animate-[spinner-grow_0.75s_linear_infinite] rounded-full bg-current align-[-0.125em] motion-reduce:animate-[spinner-grow_1.5s_linear_infinite]",spinnerContent:"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]",toolbar:"absolute top-0 left-0 w-full h-[50px] z-20 transition-opacity duration-[400ms] motion-reduce:transition-none",vertical:"h-full max-h-full w-auto",zoomBtn:"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none"},Aw={caption:"string",captionWrapper:"string",closeBtn:"string",fullscreenBtn:"string",gallery:"string",galleryContent:"string",galleryCounter:"string",img:"string",imgWrapper:"string",leftTools:"string",loader:"string",nextBtn:"string",nextBtnWrapper:"string",prevBtn:"string",prevBtnWrapper:"string",rightTools:"string",spinner:"string",spinnerContent:"string",toolbar:"string",vertical:"string",zoomBtn:"string"};class ys{constructor(t,e={},i){this._element=t,this._options=e,this._classes=this._getClasses(i),this._getContainer(),this._id=`lightbox-${Math.random().toString(36).substr(2,9)}`,this._activeImg=0,this._images=[],this._zoom=1,this._gallery=null,this._galleryToolbar=null,this._galleryContent=null,this._loader=null,this._imgCounter=null,this._animating=!1,this._fullscreen=!1,this._zoomBtn=null,this._fullscreenBtn=null,this._toolsToggleTimer=0,this._mousedown=!1,this._mousedownPositionX=0,this._mousedownPositionY=0,this._originalPositionX=0,this._originalPositionY=0,this._positionX=0,this._positionY=0,this._zoomTimer=0,this._tapCounter=0,this._tapTime=0,this._rightArrow=null,this._leftArrowWrapper=null,this._rightArrowWrapper=null,this._initiated=!1,this._multitouch=!1,this._touchZoomPosition=[],this._element&&(O.setData(t,gn,this),this.init())}static get NAME(){return Jl}get activeImg(){return this._activeImg}get currentImg(){return m.findOne(`[${ye}]`,this._galleryContent)}get options(){const t={...xw,...g.getDataAttributes(this._element),...this._options};return L(Jl,t,Ew),t}init(){this._initiated||(this._appendTemplate(),this._initiated=!0)}open(t=0){this._getImages(),this._setActiveImg(t),this._sortImages(),this._triggerEvents("open","opened"),this._loadImages().then(e=>{this._resizeImages(e),this._toggleTemplate(),this._addEvents(),this._focusFullscreenBtn()})}close(){this.reset(),this._removeEvents(),this._toggleTemplate(),this._triggerEvents("close","closed")}slide(t="right"){this._animating===!0||this._images.length<=1||(this._triggerEvents("slide","slided"),this._beforeSlideEvents(),t==="right"&&this._slideHorizontally(t),t==="left"&&this._slideHorizontally(t),t==="first"&&this._slideToTarget(t),t==="last"&&this._slideToTarget(t),this._afterSlideEvents())}zoomIn(){this._zoom>=3||(this._triggerEvents("zoomIn","zoomedIn"),this._zoom+=parseFloat(this.options.zoomLevel),g.style(this.currentImg.parentNode,{transform:`scale(${this._zoom})`}),this._updateZoomBtn())}zoomOut(){this._zoom<=1||(this._triggerEvents("zoomOut","zoomedOut"),this._zoom-=parseFloat(this.options.zoomLevel),g.style(this.currentImg.parentNode,{transform:`scale(${this._zoom})`}),this._updateZoomBtn(),this._updateImgPosition())}toggleFullscreen(){this._fullscreen===!1?(this._fullscreenBtn.setAttribute(ye,""),this._fullscreenBtn.innerHTML=this.options.hideFullscreenIconTemplate,this._gallery.requestFullscreen&&this._gallery.requestFullscreen(),this._fullscreen=!0):(this._fullscreenBtn.removeAttribute(ye),document.exitFullscreen&&document.exitFullscreen(),this._fullscreen=!1)}reset(){this._restoreDefaultFullscreen(),this._restoreDefaultPosition(),this._restoreDefaultZoom(),clearTimeout(this._toolsToggleTimer),clearTimeout(this._doubleTapTimer)}dispose(){_.off(document,vs,pw,this.toggle),this._galleryContent&&this._removeEvents(),this._gallery&&this._gallery.remove(),O.removeData(this._element,gn),this._element=null}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...Cw,...e,...t},L(Jl,t,Aw),t}_getImages(){const e=m.find("img",this._element).filter(i=>!i.hasAttribute(fw));this._images=e}_getContainer(){this._container=m.findOne(this.options.container)}_setActiveImg(t){this._activeImg=typeof t=="number"?t:this._images.indexOf(t.target)}_appendTemplate(){this._gallery=$("div"),g.addClass(this._gallery,`${this._classes.gallery}`),this._element.dataset.id=this._id,this._gallery.id=this._id,this._appendLoader(),this._appendToolbar(),this._appendContent(),this._appendArrows(),this._appendCaption(),this._container.append(this._gallery)}_appendToolbar(){this._galleryToolbar=$("div"),this._imgCounter=$("p"),this._fullscreenBtn=$("button"),this._zoomBtn=$("button");const t=$("button"),e=$("div"),i=$("div");g.addClass(this._galleryToolbar,`${this._classes.toolbar}`),g.addClass(this._imgCounter,`${this._classes.galleryCounter}`),g.addClass(this._fullscreenBtn,`${this._classes.fullscreenBtn}`),g.addClass(this._zoomBtn,`${this._classes.zoomInBtn}`),g.addClass(this._zoomBtn,this._classes.zoomBtn),g.addClass(e,`${this._classes.leftTools}`),g.addClass(i,`${this._classes.rightTools}`),g.addClass(t,`${this._classes.closeBtn}`),this._fullscreenBtn.innerHTML=this.options.showFullscreenIconTemplate,t.innerHTML=this.options.closeIconTemplate,this._zoomBtn.innerHTML=this.options.zoomInIconTemplate,this._fullscreenBtn.setAttribute("aria-label","Toggle fullscreen"),this._zoomBtn.setAttribute("aria-label","Zoom in"),t.setAttribute("aria-label","Close"),_.on(this._fullscreenBtn,vs,()=>this.toggleFullscreen()),_.on(this._zoomBtn,vs,()=>this._toggleZoom()),_.on(t,vs,()=>this.close()),e.append(this._imgCounter),i.append(this._fullscreenBtn),i.append(this._zoomBtn),i.append(t),this._galleryToolbar.append(e),this._galleryToolbar.append(i),this._gallery.append(this._galleryToolbar)}_appendContent(){this._galleryContent=$("div"),g.addClass(this._galleryContent,`${this._classes.galleryContent}`),this._gallery.append(this._galleryContent)}_appendLoader(){this._loader=$("div");const t=$("div"),e=$("span");g.addClass(this._loader,`${this._classes.loader}`),g.addClass(t,`${this._classes.spinner}`),g.addClass(e,`${this._classes.spinnerContent}`),t.setAttribute("role","status"),e.innerHTML=this.options.spinnerContent,t.append(e),this._loader.append(t),this._gallery.append(this._loader)}_appendArrows(){this._leftArrowWrapper=$("div"),g.addClass(this._leftArrowWrapper,`${this._classes.prevBtnWrapper}`);const t=$("button");t.setAttribute("aria-label","Previous"),g.addClass(t,`${this._classes.prevBtn}`),_.on(t,vs,()=>this.slide("left")),this._leftArrowWrapper.append(t),this._rightArrowWrapper=$("div"),g.addClass(this._rightArrowWrapper,`${this._classes.nextBtnWrapper}`),this._rightArrow=$("button"),this._rightArrow.setAttribute("aria-label","Next"),g.addClass(this._rightArrow,`${this._classes.nextBtn}`),_.on(this._rightArrow,vs,()=>this.slide()),this._rightArrowWrapper.append(this._rightArrow),this._rightArrow.innerHTML=this.options.nextIconTemplate,t.innerHTML=this.options.prevIconTemplate,this._getImages(),!(this._images.length<=1)&&(this._gallery.append(this._leftArrowWrapper),this._gallery.append(this._rightArrowWrapper))}_appendCaption(){const t=$("div"),e=$("p");e.setAttribute(Wp,""),g.addClass(t,`${this._classes.captionWrapper}`),g.addClass(e,`${this._classes.caption}`),t.append(e),this._gallery.append(t)}_sortImages(){for(let t=0;t{t.push(new Promise(r=>{const a=new Image,l=$("div");g.addClass(l,`${this._classes.imgWrapper}`),g.addClass(a,`${this._classes.img}`),this._addImgStyles(a,l,i,o,n),l.append(a),this._galleryContent.append(l),a.onload=r,a.src=n.dataset.teImg||n.src,e.push(a),i+=100}))}),await Promise.all(t),e}_addImgStyles(t,e,i,n,o){t.alt=o.alt,t.draggable=!1,g.style(e,{position:"absolute",left:`${i}%`,top:0}),(o.dataset.teCaption||o.dataset.teCaption==="")&&(t.dataset.caption=o.dataset.teCaption),i===0?(o.width1&&g.style(e,{left:"-100%"})}_resizeImages(t){t.forEach(e=>{this._calculateImgSize(e)})}_calculateImgSize(t){t.width>=t.height?(t.style.width="100%",t.style.maxWidth="100%",t.style.height="auto",t.style.top=`${(t.parentNode.offsetHeight-t.height)/2}px`,t.style.left=0):(t.style.height="100%",t.style.maxHeight="100%",t.style.width="auto",t.style.left=`${(t.parentNode.offsetWidth-t.width)/2}px`,t.style.top=0),t.width>=t.parentNode.offsetWidth&&(t.style.width=`${t.parentNode.offsetWidth}px`,t.style.height="auto",t.style.left=0,t.style.top=`${(t.parentNode.offsetHeight-t.height)/2}px`),t.height>=t.parentNode.offsetHeight&&(t.style.height=`${t.parentNode.offsetHeight}px`,t.style.width="auto",t.style.top=0,t.style.left=`${(t.parentNode.offsetWidth-t.width)/2}px`),this._positionX=parseFloat(t.style.left)||0,this._positionY=parseFloat(t.style.top)||0}_onResize(){this._images=m.find("img",this._galleryContent),this._images.forEach(t=>{this._calculateImgSize(t)})}_onFullscreenChange(){(document.webkitIsFullScreen||document.mozFullScreen||document.msFullscreenElement)===void 0&&(this._fullscreen=!1,this._fullscreenBtn.innerHTML=this.options.showFullscreenIconTemplate,this._fullscreenBtn.removeAttribute(ye))}_beforeSlideEvents(){this._animationStart(),this._restoreDefaultZoom(),this._restoreDefaultPosition(),this._resetDoubleTap()}_slideHorizontally(t){this._images=m.find("img",this._galleryContent),this._images.forEach(e=>{let i;t==="right"?(i=parseInt(e.parentNode.style.left,10)-100,i<-100&&(i=(this._images.length-2)*100)):(i=parseInt(e.parentNode.style.left,10)+100,i===(this._images.length-1)*100&&(i=-100)),this._slideImg(e,i)}),this._updateActiveImg(t)}_slideImg(t,e){e===0?(t.setAttribute(ye,""),g.style(t.parentNode,{opacity:1,transform:"scale(1)"})):(t.removeAttribute(ye),g.style(t.parentNode,{opacity:0,transform:"scale(0.25)"})),t.parentNode.style.left=`${e}%`}_slideToTarget(t){t==="first"&&this._activeImg===0||t==="last"&&this._activeImg===this._images.length-1||(this.reset(),this._removeEvents(),this._showLoader(),this._getImages(),this._activeImg=t==="first"?0:this._images.length-1,this._sortImages(),g.style(this.currentImg.parentNode,{transform:"scale(0.25)",opacity:0}),setTimeout(()=>{this._loadImages().then(e=>{this._resizeImages(e),this._addEvents(),this._updateCaption(),this._hideLoader(),setTimeout(()=>{g.style(this.currentImg.parentNode,{transform:"scale(1)",opacity:1})},10)})},400))}_updateActiveImg(t){t==="right"&&(this._activeImg===this._images.length-1?this._activeImg=0:this._activeImg++),t==="left"&&(this._activeImg===0?this._activeImg=this._images.length-1:this._activeImg--)}_afterSlideEvents(){this._updateCounter(),this._updateCaption()}_updateCounter(){this._images.length<=1||setTimeout(()=>{this._imgCounter.innerHTML=`${this._activeImg+1} / ${this._images.length}`},200)}_updateCaption(){setTimeout(()=>{let t=this.currentImg.alt;(this.currentImg.dataset.caption||this.currentImg.dataset.caption==="")&&(t=this.currentImg.dataset.caption),m.findOne(`[${Wp}]`,this._gallery).innerHTML=t},200)}_toggleTemplate(){this._gallery.style.visibility==="visible"?(g.style(this.currentImg.parentNode,{transform:"scale(0.25)"}),setTimeout(()=>{this._hideGallery(),this._enableScroll(),this._showLoader()},100)):(this._showGallery(),this._disableScroll(),this._updateCounter(),this._updateCaption(),this._setToolsToggleTimout(),this._hideLoader())}_showLoader(){g.style(this._loader,{opacity:1})}_hideLoader(){g.style(this._loader,{opacity:0})}_hideGallery(){g.style(this._gallery,{opacity:0,pointerEvents:"none",visibility:"hidden"})}_showGallery(){g.style(this._gallery,{opacity:1,pointerEvents:"initial",visibility:"visible"}),setTimeout(()=>{g.style(this.currentImg.parentNode,{transform:"scale(1)"})},50)}_toggleZoom(){this._zoom!==1?this.zoomOut():this.zoomIn()}_updateZoomBtn(){this._zoom>1?(this._zoomBtn.setAttribute(ye,""),this._zoomBtn.setAttribute("aria-label","Zoom out"),this._zoomBtn.innerHTML=this.options.zoomOutIconTemplate):(this._zoomBtn.removeAttribute(ye),this._zoomBtn.setAttribute("aria-label","Zoom in"),this._zoomBtn.innerHTML=this.options.zoomInIconTemplate)}_updateImgPosition(){this._zoom===1&&this._restoreDefaultPosition()}_addEvents(){const t=m.find("img",this._galleryContent);this._onWindowTouchmove=this._onWindowTouchmove.bind(this),this._onWindowTouchstart=this._onWindowTouchstart.bind(this),this._onImgMousedown=this._onMousedown.bind(this),this._onImgMousemove=this._onMousemove.bind(this),this._onImgWheel=this._onZoom.bind(this),this._onImgMouseup=this._onMouseup.bind(this),this._onImgTouchend=this._onTouchend.bind(this),this._onImgDoubleClick=this._onDoubleClick.bind(this),this._onWindowResize=this._onResize.bind(this),this._onWindowFullscreenChange=this._onFullscreenChange.bind(this),this._onAnyImgAction=this._resetToolsToggler.bind(this),this._onGalleryClick=this._onBackdropClick.bind(this),this._onKeyupEvent=this._onKeyup.bind(this),this._onRightArrowKeydownEvent=this._onRightArrowKeydown.bind(this),this._onFullscreenBtnKeydownEvent=this._onFullscreenBtnKeydown.bind(this),t.forEach(e=>{_.on(e,"mousedown",this._onImgMousedown,{passive:!0}),_.on(e,"touchstart",this._onImgMousedown,{passive:!0}),_.on(e,"mousemove",this._onImgMousemove,{passive:!0}),_.on(e,"touchmove",this._onImgMousemove,{passive:!0}),_.on(e,"wheel",this._onImgWheel,{passive:!0}),_.on(e,"dblclick",this._onImgDoubleClick,{passive:!0})}),document.addEventListener("touchmove",this._onWindowTouchmove,{passive:!1}),_.on(window,"touchstart",this._onWindowTouchstart),_.on(window,"mouseup",this._onImgMouseup),_.on(window,"touchend",this._onImgTouchend),_.on(window,"resize",this._onWindowResize),_.on(window,"orientationchange",this._onWindowResize),_.on(window,"keyup",this._onKeyupEvent),_.on(window,"fullscreenchange",this._onWindowFullscreenChange),_.on(this._gallery,"mousemove",this._onAnyImgAction),_.on(this._gallery,"click",this._onGalleryClick),_.on(this._rightArrow,"keydown",this._onRightArrowKeydownEvent),_.on(this._fullscreenBtn,"keydown",this._onFullscreenBtnKeydownEvent)}_removeEvents(){m.find("img",this._galleryContent).forEach(e=>{_.off(e,"mousedown",this._onImgMousedown),_.off(e,"touchstart",this._onImgMousedown),_.off(e,"mousemove",this._onImgMousemove),_.off(e,"touchmove",this._onImgMousemove),_.off(e,"wheel",this._onImgWheel),_.off(e,"dblclick",this._onImgDoubleClick)}),document.removeEventListener("touchmove",this._onWindowTouchmove,{passive:!1}),_.off(window,"touchstart",this._onWindowTouchstart),_.off(window,"mouseup",this._onImgMouseup),_.off(window,"touchend",this._onImgTouchend),_.off(window,"resize",this._onWindowResize),_.off(window,"orientationchange",this._onWindowResize),_.off(window,"keyup",this._onKeyupEvent),_.off(window,"fullscreenchange",this._onWindowFullscreenChange),_.off(this._gallery,"mousemove",this._onAnyImgAction),_.off(this._gallery,"click",this._onGalleryClick),_.off(this._rightArrow,"keydown",this._onRightArrowKeydownEvent),_.off(this._fullscreenBtn,"keydown",this._onFullscreenBtnKeydownEvent)}_onMousedown(t){const e=t.touches,i=e?e[0].clientX:t.clientX,n=e?e[0].clientY:t.clientY;this._originalPositionX=parseFloat(this.currentImg.style.left)||0,this._originalPositionY=parseFloat(this.currentImg.style.top)||0,this._positionX=this._originalPositionX,this._positionY=this._originalPositionY,this._mousedownPositionX=i*(1/this._zoom)-this._positionX,this._mousedownPositionY=n*(1/this._zoom)-this._positionY,this._mousedown=!0,t.type==="touchstart"&&t.touches.length>1&&(this._multitouch=!0,this._touchZoomPosition=t.touches)}_onMousemove(t){if(!this._mousedown)return;const e=t.touches,i=e?e[0].clientX:t.clientX,n=e?e[0].clientY:t.clientY;if(e&&this._resetToolsToggler(),!this._multitouch)if(this._zoom!==1)this._positionX=i*(1/this._zoom)-this._mousedownPositionX,this._positionY=n*(1/this._zoom)-this._mousedownPositionY,g.style(this.currentImg,{left:`${this._positionX}px`,top:`${this._positionY}px`});else{if(this._images.length<=1)return;this._positionX=i*(1/this._zoom)-this._mousedownPositionX,g.style(this.currentImg,{left:`${this._positionX}px`})}}_onMouseup(t){this._mousedown=!1,this._moveImg(t.target)}_onTouchend(t){this._mousedown=!1,this._multitouch?t.targetTouches.length===0&&(this._multitouch=!1,this._touchZoomPosition=[]):this._multitouch||(this._checkDoubleTap(t),this._moveImg(t.target))}_calculateTouchZoom(t){const e=Math.hypot(this._touchZoomPosition[1].pageX-this._touchZoomPosition[0].pageX,this._touchZoomPosition[1].pageY-this._touchZoomPosition[0].pageY),i=Math.hypot(t.touches[1].pageX-t.touches[0].pageX,t.touches[1].pageY-t.touches[0].pageY),n=Math.abs(e-i),o=t.view.screen.width;n>o*.03&&(e<=i?this.zoomIn():this.zoomOut(),this._touchZoomPosition=t.touches)}_onWindowTouchstart(t){t.touches.length>1&&(this._multitouch=!0,this._touchZoomPosition=t.touches)}_onWindowTouchmove(t){t.preventDefault(),t.type==="touchmove"&&t.targetTouches.length>1&&this._calculateTouchZoom(t)}_onRightArrowKeydown(t){switch(t.keyCode){case 9:if(t.shiftKey)break;t.preventDefault(),this._focusFullscreenBtn();break}}_onFullscreenBtnKeydown(t){switch(t.keyCode){case 9:if(!t.shiftKey)break;t.preventDefault(),this._focusRightArrow();break}}_onKeyup(t){switch(this._resetToolsToggler(),t.keyCode){case 39:this.slide();break;case 37:this.slide("left");break;case 27:this.close();break;case 36:this.slide("first");break;case 35:this.slide("last");break;case 38:this.zoomIn();break;case 40:this.zoomOut();break}}_focusFullscreenBtn(){setTimeout(()=>{this._fullscreenBtn.focus()},100)}_focusRightArrow(){this._rightArrow.focus()}_moveImg(t){if(this._multitouch||this._zoom!==1||t!==this.currentImg||this._images.length<=1)return;const e=this._positionX-this._originalPositionX;e>0?this.slide("left"):e<0&&this.slide()}_checkDoubleTap(t){clearTimeout(this._doubleTapTimer);const i=new Date().getTime()-this._tapTime;this._tapCounter>0&&i<500?(this._onDoubleClick(t),this._doubleTapTimer=setTimeout(()=>{this._tapTime=new Date().getTime(),this._tapCounter=0},300)):(this._tapCounter++,this._tapTime=new Date().getTime())}_resetDoubleTap(){this._tapTime=0,this._tapCounter=0,clearTimeout(this._doubleTapTimer)}_onDoubleClick(t){this._multitouch||(t.touches||this._setNewPositionOnZoomIn(t),this._zoom!==1?this._restoreDefaultZoom():this.zoomIn())}_onZoom(t){if(t.deltaY>0)this.zoomOut();else{if(this._zoom>=3)return;this._setNewPositionOnZoomIn(t),this.zoomIn()}}_onBackdropClick(t){this._resetToolsToggler(),t.target.tagName==="DIV"&&this.close()}_setNewPositionOnZoomIn(t){clearTimeout(this._zoomTimer),this._positionX=window.innerWidth/2-t.offsetX-50,this._positionY=window.innerHeight/2-t.offsetY-50,this.currentImg.style.transition="all 0.5s ease-out",this.currentImg.style.left=`${this._positionX}px`,this.currentImg.style.top=`${this._positionY}px`,this._zoomTimer=setTimeout(()=>{this.currentImg.style.transition="none"},500)}_resetToolsToggler(){this._showTools(),clearTimeout(this._toolsToggleTimer),this._setToolsToggleTimout()}_setToolsToggleTimout(){this._toolsToggleTimer=setTimeout(()=>{this._hideTools(),clearTimeout(this._toolsToggleTimer)},4e3)}_hideTools(){g.style(this._galleryToolbar,{opacity:0}),g.style(this._leftArrowWrapper,{opacity:0}),g.style(this._rightArrowWrapper,{opacity:0})}_showTools(){g.style(this._galleryToolbar,{opacity:1}),g.style(this._leftArrowWrapper,{opacity:1}),g.style(this._rightArrowWrapper,{opacity:1})}_disableScroll(){g.addClass(document.body,"overflow-y-hidden relative"),document.documentElement.scrollHeight>document.documentElement.clientHeight&&g.addClass(document.body,"md:pr-[17px]")}_enableScroll(){setTimeout(()=>{g.removeClass(document.body,"overflow-y-hidden relative"),g.removeClass(document.body,"md:pr-[17px]")},300)}_animationStart(){this._animating=!0,setTimeout(()=>{this._animating=!1},400)}_restoreDefaultZoom(){this._zoom!==1&&(this._zoom=1,g.style(this.currentImg.parentNode,{transform:`scale(${this._zoom})`}),this._updateZoomBtn(),this._updateImgPosition())}_restoreDefaultFullscreen(){this._fullscreen&&this.toggleFullscreen()}_restoreDefaultPosition(){clearTimeout(this._zoomTimer);const t=this.currentImg;g.style(this.currentImg.parentNode,{left:0,top:0}),g.style(this.currentImg,{transition:"all 0.5s ease-out",left:0,top:0}),this._calculateImgSize(t),setTimeout(()=>{g.style(this.currentImg,{transition:"none"})},500)}async _triggerEvents(t,e){_.trigger(this._element,`${t}.te.lightbox`),e&&await setTimeout(()=>{_.trigger(this._element,`${e}.te.lightbox`)},505)}static getInstance(t){return O.getData(t,gn)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static toggle(){return function(t){const e=m.closest(t.target,`${Fp}`);(ys.getInstance(e)||new ys(e)).open(t)}}static jQueryInterface(t,e){return this.each(function(){let i=O.getData(this,gn);const n=typeof t=="object"&&t;if(!(!i&&/dispose/.test(t))&&(i||(i=new ys(this,n)),typeof t=="string")){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}}const ww={isRequired:"This is required",isEmail:"Please enter a valid email address",isLongerThan:"This field must be longer than {length} characters",isShorterThan:"This field must be shorter than {length} characters",isChecked:"This is required",isPhone:"Please enter a valid phone number",isNumber:"Expected value with type Number",isString:"Expected value with type String",isBoolean:"Expected value with type Boolean",isDate:"Please enter a valid date",is12hFormat:"Please enter a valid time in 12h format",is24hFormat:"Please enter a valid time in 24h format"},kw={isRequired:(s,t)=>(s==null?void 0:s.trim())?!0:t,isEmail:(s,t)=>/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(s)?!0:t,isLongerThan:(s,t,e)=>s.length>e?!0:t.replace("{length}",e),isShorterThan:(s,t,e)=>s.lengths?!0:"This is required",isPhone:(s,t)=>s.length===9?!0:t,isNumber:(s,t)=>s&&!isNaN(Number(s))?!0:t,isString:(s,t)=>typeof s=="string"?!0:t,isBoolean:(s,t)=>typeof s=="boolean"?!0:t,isDate:(s,t)=>{const e=/^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$/;return s.match(e)?!0:t},is12hFormat:(s,t)=>{const e=/^(0?[1-9]|1[0-2]):[0-5][0-9] [APap][mM]$/;return s.match(e)?!0:t},is24hFormat:(s,t)=>{const e=/^(?:[01]\d|2[0-3]):[0-5][0-9]$/;return s.match(e)?!0:t}},tc="validation",ec="te.validation",gr=`.${ec}`,zp="data-te-validate",mr="data-te-validated",br="data-te-validation-state",vr="data-te-validation-feedback",ic="data-te-valid-feedback",yr="data-te-invalid-feedback",jp="data-te-validation-ruleset",Sw="data-te-submit-btn-ref",Ow=`[${zp}]`,Iw="[data-te-input-notch-ref] div",Dw=`[${Sw}]`,Mw=`validated${gr}`,Lw=`valid${gr}`,$w=`invalid${gr}`,Rw=`changed${gr}`,Pw={validFeedback:"string",invalidFeedback:"string",disableFeedback:"boolean",customRules:"object",customErrorMessages:"object",activeValidation:"boolean",submitCallback:"(function|null)"},Yp={validFeedback:"Looks good!",invalidFeedback:"Something is wrong!",disableFeedback:!1,customRules:{},customErrorMessages:{},activeValidation:!1,submitCallback:null},Nw={notchLeadingValid:"border-[#14a44d] dark:border-[#14a44d] group-data-[te-input-focused]:shadow-[-1px_0_0_#14a44d,_0_1px_0_0_#14a44d,_0_-1px_0_0_#14a44d] group-data-[te-input-focused]:border-[#14a44d]",notchMiddleValid:"border-[#14a44d] dark:border-[#14a44d] group-data-[te-input-focused]:shadow-[0_1px_0_0_#14a44d] group-data-[te-input-focused]:border-[#14a44d]",notchTrailingValid:"border-[#14a44d] dark:border-[#14a44d] group-data-[te-input-focused]:shadow-[1px_0_0_#14a44d,_0_-1px_0_0_#14a44d,_0_1px_0_0_#14a44d] group-data-[te-input-focused]:border-[#14a44d]",notchLeadingInvalid:"border-[#dc4c64] dark:border-[#dc4c64] group-data-[te-input-focused]:shadow-[-1px_0_0_#dc4c64,_0_1px_0_0_#dc4c64,_0_-1px_0_0_#dc4c64] group-data-[te-input-focused]:border-[#dc4c64]",notchMiddleInvalid:"border-[#dc4c64] dark:border-[#dc4c64] group-data-[te-input-focused]:shadow-[0_1px_0_0_#dc4c64] group-data-[te-input-focused]:border-[#dc4c64]",notchTrailingInvalid:"border-[#dc4c64] dark:border-[#dc4c64] group-data-[te-input-focused]:shadow-[1px_0_0_#dc4c64,_0_-1px_0_0_#dc4c64,_0_1px_0_0_#dc4c64] group-data-[te-input-focused]:border-[#dc4c64]",basicInputValid:"!border-[#14a44d] focus:!border-[#14a44d] focus:!shadow-[inset_0_0_0_1px_#14a44d]",basicInputInvalid:"!border-[#dc4c64] focus:!border-[#dc4c64] focus:!shadow-[inset_0_0_0_1px_#dc4c64]",checkboxValid:"checked:!border-[#14a44d] checked:!bg-[#14a44d] checked:after:!bg-[#14a44d]",checkboxInvalid:"checked:!border-[#dc4c64] checked:!bg-[#dc4c64] checked:after:!bg-[#dc4c64]",radioValid:"checked:!border-[#14a44d] checked:after:!bg-[#14a44d]",radioInvalid:"checked:!border-[#dc4c64] checked:after:!bg-[#dc4c64]",labelValid:"!text-[#14a44d]",labelInvalid:"!text-[#dc4c64]",validFeedback:"absolute top-full left-0 m-1 w-auto text-sm text-[#14a44d] animate-[fade-in_0.3s_both]",invalidFeedback:"absolute top-full left-0 m-1 w-auto text-sm text-[#dc4c64] animate-[fade-in_0.3s_both]",elementValidated:"mb-8"},Bw={notchLeadingValid:"string",notchMiddleValid:"string",notchTrailingValid:"string",notchLeadingInvalid:"string",notchMiddleInvalid:"string",notchTrailingInvalid:"string",basicInputValid:"string",basicInputInvalid:"string",checkboxValid:"string",checkboxInvalid:"string",radioValid:"string",radioInvalid:"string",labelValid:"string",labelInvalid:"string",validFeedback:"string",invalidFeedback:"string",elementValidated:"string"};class Tr extends Mt{constructor(t,e,i){super(t),this._element=t,this._element&&O.setData(t,ec,this),this._config=this._getConfig(e),this._classes=this._getClasses(i),this._isValid=!0,this._shouldApplyInputEvents=!0,this._submitCallback=null,this._errorMessages={...ww,...this._config.customErrorMessages},this._validationElements=this._getValidationElements(),this._validationElements.forEach(({element:n,input:o})=>{this._createFeedbackWrapper(n,o)}),this._validationObserver=this._watchForValidationChanges(),this._validationObserver.observe(this._element,{attributes:!0}),this._submitButton=null,this._handleSubmitButton(),this._validationResult=[]}static get DefaultType(){return Pw}static get Default(){return Yp}static get NAME(){return tc}dispose(){var t;(t=this._validationObserver)==null||t.disconnect(),this._validationObserver=null,this._submitCallback=null,this._element.removeAttribute(mr),this._removeInputEvents(),this._removeValidationTraces(),this._validationResult=[],this._submitButton&&_.off(this._submitButton,"click"),this._config.activeValidation&&(this._validationElements.forEach(e=>{const{input:i}=e;_.off(i,"input")}),this._shouldApplyInputEvents=!0)}_removeValidationTraces(){this._removeFeedbackWrapper(),this._validationElements.forEach(({element:t,classes:e,initialHTML:i})=>{t.className=e,t.innerHTML=i,t.removeAttribute(br),t.removeAttribute(yr),t.removeAttribute(ic)}),this._validationElements=[]}_getValidationElements(){return m.find(Ow,this._element).map(e=>{const i=m.findOne("input",e)||m.findOne("textarea",e),n=m.findOne("select",e);return{id:i.name||i.id||(n==null?void 0:n.name)||bt("validation-"),element:e,type:e.getAttribute(zp),input:i,validFeedback:e.getAttribute(ic),invalidFeedback:e.getAttribute(yr),classes:e.className,initialHTML:e.innerHTML,ruleset:e.getAttribute(jp)}})}_createFeedbackWrapper(t,e){if(t.querySelectorAll(`[${vr}]`).length>0)return;const i=document.createElement("span");i.setAttribute(vr,""),e.parentNode.appendChild(i)}_removeFeedbackWrapper(){m.find(`[${vr}]`,this._element).forEach(e=>{e.remove()})}_watchForValidationChanges(){return new MutationObserver(e=>{e.forEach(i=>{const{attributeName:n}=i;n===mr&&(this._handleValidation(),this._config.activeValidation&&this._shouldApplyInputEvents&&this._applyInputEvents())})})}_handleValidation(){this._element.getAttribute(mr)&&(this._validationResult=[],this._isValid=!0,this._validationElements.forEach(t=>this._validateSingleElement(t)),this._emitEvents(this._isValid),this._submitCallback&&this._submitCallback(this._isValid))}_validateSingleElement(t){var c;const{element:e,type:i,input:n,ruleset:o,id:r}=t;o&&this._validateByRuleset(t);const a=e.getAttribute(br);if(a!=="valid"&&a!=="invalid")return;const l=a.replace(a.charAt(0),a.charAt(0).toUpperCase());i==="input"&&this._restyleNotches(e,l),i==="basic"&&this._restyleBasicInputs(n,l),(i==="checkbox"||i==="radio")&&this._restyleCheckboxes(n,l,i),this._restyleLabels(e,l),a==="invalid"&&(this._isValid=!1),this._config.disableFeedback||this._applyFeedback(e,a),_.trigger(this._element,Rw,{value:{name:r,result:a,validation:(c=this._validationResult[r])==null?void 0:c.validation}})}_validateByRuleset({element:t,type:e,invalidFeedback:i,input:n,id:o}){const r=this._getRuleset(t);if(!r.length)return;const a=e==="checkbox"||e==="radio"?n.checked:n.value;let l="",c=[];for(const h of r){const d=h.callback(a,this._errorMessages[h.name]||this._config.invalidFeedback,h.parameter);c.push({result:d===!0,name:h.name,fullName:h.fullName}),typeof d=="string"&&!l&&(l=d)}if(this._validationResult[o]={element:t,validation:c},!l){t.setAttribute(br,"valid");return}t.setAttribute(br,"invalid"),i||t.setAttribute(yr,l)}_handleInputChange(t){this._validateSingleElement(t)}_getRuleset(t){const i=t.getAttribute(jp).split("|");let n=[];const o={...kw,...this._config.customRules};return i.forEach(r=>{const a=this._getRuleData(r,o);a.callback?n.push(a):console.warn(`Rule ${r} does not exist`)}),n}_getRuleData(t,e){const i=t.split("(");return{callback:e[i[0]],parameter:i[1]?i[1].split(")")[0]:null,name:i[0],fullName:t}}_applyFeedback(t,e){const i=m.findOne(`[${vr}]`,t),n=t.getAttribute(ic)||this._config.validFeedback,o=t.getAttribute(yr)||this._config.invalidFeedback;g.addClass(t,this._classes.elementValidated),i.textContent=e==="valid"?n:o,i.className=this._classes[e==="valid"?"validFeedback":"invalidFeedback"]}_restyleCheckboxes(t,e,i){g.removeClass(t,this._classes.checkboxValid),g.removeClass(t,this._classes.checkboxInvalid),g.addClass(t,this._classes[`${i}${e}`])}_restyleBasicInputs(t,e){g.removeClass(t,this._classes.basicInputValid),g.removeClass(t,this._classes.basicInputInvalid),g.addClass(t,this._classes[`basicInput${e}`])}_restyleNotches(t,e){m.find(Iw,t).forEach((n,o)=>{let r=o===0?"notchLeading":o===1?"notchMiddle":"notchTrailing";n.className="",g.addClass(n,nu[r]),r+=e,g.addClass(n,this._classes[r])})}_restyleLabels(t,e){const i=m.find("label",t);i.length&&i.forEach(n=>{g.removeClass(n,this._classes.labelValid),g.removeClass(n,this._classes.labelInvalid),g.addClass(n,this._classes[`label${e}`])})}_emitEvents(t){if(_.trigger(this._element,Mw),t){_.trigger(this._element,Lw,{value:this._validationResult});return}_.trigger(this._element,$w,{value:this._validationResult})}_applyInputEvents(){this._validationElements.forEach(t=>{const{input:e,element:i}=t;_.on(e,"input",()=>this._handleInputChange(t)),_.on(i,"valueChange.te.select",()=>this._delayedInputChange(t)),_.on(i,"itemSelect.te.autocomplete",()=>this._delayedInputChange(t))}),this._shouldApplyInputEvents=!1}_removeInputEvents(){this._validationElements.forEach(t=>{const{input:e,element:i}=t;_.off(e,"input",()=>this._handleInputChange(t)),_.off(i,"valueChange.te.select",()=>this._delayedInputChange(t)),_.off(i,"itemSelect.te.autocomplete",()=>this._delayedInputChange(t))})}_delayedInputChange(t){setTimeout(()=>{this._handleInputChange(t)},10)}_handleSubmitButton(){this._submitButton=m.findOne(Dw,this._element),this._submitButton&&_.on(this._submitButton,"click",t=>this._handleSubmitButtonClick(t))}_handleSubmitButtonClick(t){if(this._element.setAttribute(mr,!0),this._config.submitCallback){this._submitCallback=e=>this._config.submitCallback(t,e);return}}_getConfig(t){return t={...Yp,...g.getDataAttributes(this._element),...typeof t=="object"&&t?t:{}},L(tc,t,this.constructor.DefaultType),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...Nw,...e,...t},L(tc,t,Bw),t}static getInstance(t){return O.getData(t,ec)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static jQueryInterface(t){return this.each(function(){const e=Tr.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}class mn{_getCoordinates(t){const[e]=t.touches;return{x:e.clientX,y:e.clientY}}_getDirection({x:t,y:e}){return{x:{direction:t<0?"left":"right",value:Math.abs(t)},y:{direction:e<0?"up":"down",value:Math.abs(e)}}}_getOrigin({x:t,y:e},{x:i,y:n}){return{x:t-i,y:e-n}}_getDistanceBetweenTwoPoints(t,e,i,n){return Math.hypot(e-t,n-i)}_getMidPoint({x1:t,x2:e,y1:i,y2:n}){return{x:(t+e)/2,y:(i+n)/2}}_getVectorLength({x1:t,x2:e,y1:i,y2:n}){return Math.sqrt((e-t)**2+(n-i)**2)}_getRightMostTouch(t){let e=null;const i=Number.MIN_VALUE;return t.forEach(n=>{n.clientX>i&&(e=n)}),e}_getAngle(t,e,i,n){return Math.atan2(n-e,i-t)}_getAngularDistance(t,e){return e-t}_getCenterXY({x1:t,x2:e,y1:i,y2:n}){return{x:t+(e-t)/2,y:i+(n-i)/2}}_getPinchTouchOrigin(t){const[e,i]=t,n={x1:e.clientX,x2:i.clientX,y1:e.clientY,y2:i.clientY};return[this._getVectorLength(n),this._getCenterXY(n)]}_getPosition({x1:t,x2:e,y1:i,y2:n}){return{x1:t,x2:e,y1:i,y2:n}}}const sc="press",Hw="pressup",Vw={time:"number",pointers:"number"},Fw={time:250,pointers:1};class Ww extends mn{constructor(t,e={}){super(),this._element=t,this._options=this._getConfig(e),this._timer=null}static get NAME(){return sc}handleTouchStart(t){const{time:e,pointers:i}=this._options;t.touches.length===i&&(this._timer=setTimeout(()=>{_.trigger(this._element,sc,{touch:t,time:e}),_.trigger(this._element,Hw,{touch:t})},e))}handleTouchEnd(){clearTimeout(this._timer)}_getConfig(t){const e={...Fw,...g.getDataAttributes(this._element),...t};return L(sc,e,Vw),e}}const zw="swipe",jw={threshold:"number",direction:"string"},Yw={threshold:10,direction:"all"};class Kw{constructor(t,e){this._element=t,this._startPosition=null,this._options=this._getConfig(e)}handleTouchStart(t){this._startPosition=this._getCoordinates(t)}handleTouchMove(t){if(!this._startPosition)return;const e=this._getCoordinates(t),i={x:e.x-this._startPosition.x,y:e.y-this._startPosition.y},n=this._getDirection(i);if(this._options.direction==="all"){if(n.y.valuen.x.value?n.y.direction:n.x.direction;_.trigger(this._element,`swipe${r}`,{touch:t}),_.trigger(this._element,"swipe",{touch:t,direction:r}),this._startPosition=null;return}const o=this._options.direction==="left"||this._options==="right"?"x":"y";n[o].direction===this._options.direction&&n[o].value>this._options.threshold&&(_.trigger(this._element,`swipe${n[o].direction}`,{touch:t}),this._startPosition=null)}handleTouchEnd(){this._startPosition=null}_getCoordinates(t){const[e]=t.touches;return{x:e.clientX,y:e.clientY}}_getDirection(t){return{x:{direction:t.x<0?"left":"right",value:Math.abs(t.x)},y:{direction:t.y<0?"up":"down",value:Math.abs(t.y)}}}_getConfig(t){const e={...Yw,...g.getDataAttributes(this._element),...t};return L(zw,e,jw),e}}const Je="pan",Uw=`${Je}start`,Xw=`${Je}end`,Gw=`${Je}move`,qw="left",Zw="right",Qw={threshold:"number",direction:"string",pointers:"number"},Jw={threshold:20,direction:"all",pointers:1};class tk extends mn{constructor(t,e={}){super(),this._element=t,this._options=this._getConfig(e),this._startTouch=null}static get NAME(){return Je}handleTouchStart(t){this._startTouch=this._getCoordinates(t),this._movedTouch=t,_.trigger(this._element,Uw,{touch:t})}handleTouchMove(t){t.type==="touchmove"&&t.preventDefault();const{threshold:e,direction:i}=this._options,n=this._getCoordinates(t),o=this._getCoordinates(this._movedTouch),r=this._getOrigin(n,this._startTouch),a=this._getOrigin(n,o),l=this._getDirection(r),c=this._getDirection(a),{x:h,y:d}=l;if(i==="all"&&(d.value>e||h.value>e)){const p=d.value>h.value?d.direction:h.direction;_.trigger(this._element,`${Je}${p}`,{touch:t}),_.trigger(this._element,Je,{...a,touch:t})}const u=i===qw||i===Zw?"x":"y";c[u].direction===i&&l[u].value>e&&_.trigger(this._element,`${Je}${i}`,{touch:t,[u]:n[u]-o[u]}),this._movedTouch=t,_.trigger(this._element,Gw,{touch:t})}handleTouchEnd(t){t.type==="touchend"&&t.preventDefault(),this._movedTouch=null,this._startTouch=null,_.trigger(this._element,Xw,{touch:t})}_getConfig(t){const e={...Jw,...g.getDataAttributes(this._element),...t};return L(Je,e,Qw),e}}const Ts="pinch",ek=`${Ts}end`,ik=`${Ts}start`,sk=`${Ts}move`,nk={threshold:"number",pointers:"number"},ok={threshold:10,pointers:2};class rk extends mn{constructor(t,e={}){super(),this._element=t,this._options=this._getConfig(e),this._startTouch=null,this._origin=null,this._touch=null,this._math=null,this._ratio=null}static get NAME(){return Ts}get isNumber(){return typeof this._startTouch=="number"&&typeof this._touch=="number"&&!isNaN(this._startTouch)&&!isNaN(this._touch)}handleTouchStart(t){if(t.touches.length!==this._options.pointers)return;t.type==="touchstart"&&t.preventDefault();const[e,i]=this._getPinchTouchOrigin(t.touches);this._touch=e,this._origin=i,this._startTouch=this._touch,_.trigger(this._element,ik,{touch:t,ratio:this._ratio,origin:this._origin})}handleTouchMove(t){const{threshold:e,pointers:i}=this._options;t.touches.length===i&&(t.type==="touchmove"&&t.preventDefault(),this._touch=this._getPinchTouchOrigin(t.touches)[0],this._ratio=this._touch/this._startTouch,this.isNumber&&(this._origin.x>e||this._origin.y>e)&&(this._startTouch=this._touch,_.trigger(this._element,Ts,{touch:t,ratio:this._ratio,origin:this._origin}),_.trigger(this._element,sk,{touch:t,ratio:this._ratio,origin:this._origin})))}handleTouchEnd(t){this.isNumber&&(this._startTouch=null,_.trigger(this._element,ek,{touch:t,ratio:this._ratio,origin:this._origin}))}_getConfig(t){const e={...ok,...g.getDataAttributes(this._element),...t};return L(Ts,e,nk),e}}const nc="tap",ak={interval:"number",time:"number",taps:"number",pointers:"number"},lk={interval:500,time:250,taps:1,pointers:1};class ck extends mn{constructor(t,e){super(),this._element=t,this._options=this._getConfig(e),this._timer=null,this._tapCount=0}static get NAME(){return nc}handleTouchStart(t){const{x:e,y:i}=this._getCoordinates(t),{interval:n,taps:o,pointers:r}=this._options;return t.touches.length===r&&(this._tapCount+=1,this._tapCount===1&&(this._timer=setTimeout(()=>{this._tapCount=0},n)),this._tapCount===o&&(clearTimeout(this._timer),this._tapCount=0,_.trigger(this._element,nc,{touch:t,origin:{x:e,y:i}}))),t}handleTouchEnd(){}handleTouchMove(){}_getConfig(t){const e={...lk,...g.getDataAttributes(this._element),...t};return L(nc,e,ak),e}}const bn="rotate",hk=`${bn}end`,dk=`${bn}start`,uk={angle:"number",pointers:"number"},pk={angle:0,pointers:2};class fk extends mn{constructor(t,e){super(),this._element=t,this._options=this._getConfig(e),this._origin={}}static get NAME(){return bn}handleTouchStart(t){t.type==="touchstart"&&t.preventDefault(),!(t.touches.length<2)&&(this._startTouch=t,this._origin={},_.trigger(this._element,dk,{touch:t}))}handleTouchMove(t){t.type==="touchmove"&&t.preventDefault();let e,i;const n=t.touches;if(n.length===1&&this._options.pointers===1){const{left:o,top:r,width:a,height:l}=this._element.getBoundingClientRect();e={x:o+a/2,y:r+l/2},i=n[0]}else if(t.touches.length===2&&this._options.pointers===2){const[o,r]=t.touches,a={x1:r.clientX,x2:o.clientX,y1:r.clientY,y2:o.clientY};e=this._getMidPoint(a),i=this._getRightMostTouch(t.touches)}else return;this.currentAngle=this._getAngle(e.x,e.y,i.clientX,i.clientY),this._origin.initialAngle?(this._origin.change=this._getAngularDistance(this._origin.previousAngle,this.currentAngle),this._origin.distance+=this._origin.change):(this._origin.initialAngle=this._origin.previousAngle=this.currentAngle,this._origin.distance=this._origin.change=0),this._origin.previousAngle=this.currentAngle,this.rotate={currentAngle:this.currentAngle,distance:this._origin.distance,change:this._origin.change},_.trigger(this._element,bn,{...this.rotate,touch:t})}handleTouchEnd(t){t.type==="touchend"&&t.preventDefault(),this._origin={},_.trigger(this._element,hk,{touch:t})}_getConfig(t){const e={...pk,...g.getDataAttributes(this._element),...t};return L(bn,e,uk),e}}const oc="touch",rc=`te.${oc}`,_k={event:"string"},gk={event:"swipe"};class Er{constructor(t,e={}){this._element=t,this._options=this._getConfig(e),this._event=this._options.event,this.swipe=this._event==="swipe"?new Kw(t,e):null,this.press=this._event==="press"?new Ww(t,e):null,this.pan=this._event==="pan"?new tk(t,e):null,this.pinch=this._event==="pinch"?new rk(t,e):null,this.tap=this._event==="tap"?new ck(t,e):null,this.rotate=this._event==="rotate"?new fk(t,e):null,this._touchStartHandler=i=>this._handleTouchStart(i),this._touchMoveHandler=i=>this._handleTouchMove(i),this._touchEndHandler=i=>this._handleTouchEnd(i),_.on(this._element,"touchstart",this._touchStartHandler),_.on(this._element,"touchmove",this._touchMoveHandler),_.on(this._element,"touchend",this._touchEndHandler),this._element&&O.setData(t,rc,this)}static get NAME(){return oc}dispose(){_.off(this._element,"touchstart",this._touchStartHandler),_.off(this._element,"touchmove",this._touchMoveHandler),_.off(this._element,"touchend",this._touchEndHandler),this.swipe=null,this.press=null,this.pan=null,this.pinch=null,this.tap=null,this.rotate=null}_getConfig(t){const e={...gk,...g.getDataAttributes(this._element),...t};return L(oc,e,_k),e}_handleTouchStart(t){this[this._event].handleTouchStart(t)}_handleTouchMove(t){this[this._event].handleTouchMove&&this[this._event].handleTouchMove(t)}_handleTouchEnd(t){this[this._event].handleTouchEnd(t)}static jQueryInterface(t){return this.each(function(){let e=O.getData(this,rc);const i=typeof t=="object"&&t;if(!(!e&&/dispose/.test(t))&&(e||(e=new Er(this,i)),typeof t=="string")){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);return e[t]}})}static getInstance(t){return O.getData(t,rc)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const ac="smoothScroll",vn=`te.${ac}`,lc=`.${vn}`,mk={container:"string",offset:"number",easing:"string",duration:"number"},bk={container:"body",offset:0,easing:"linear",duration:500},vk=`scrollStart${lc}`,yk=`scrollEnd${lc}`,Tk=`scrollCancel${lc}`;class xr{constructor(t,e={}){this._element=t,this._options=this._getConfig(e),this._href=this._element.getAttribute("href"),this.isCancel=!1,this._element&&(O.setData(t,vn,this),this._setup())}static get NAME(){return ac}get isWindow(){return this._options.container==="body"}get containerToScroll(){return this.isWindow?document.documentElement:m.findOne(this._options.container,document.documentElement)}get elFromHrefExist(){return!!m.findOne(this._href,this.containerToScroll)}get offsetFromEl(){const t=this.containerToScroll.scrollTop,e=m.findOne(this._href,this.containerToScroll);if(this.isWindow)return g.offset(e).top-this._options.offset+t;const i=e.getBoundingClientRect().y,n=this.containerToScroll.getBoundingClientRect().y;return i-n-this._options.offset+t}get easingFunction(){const t=this._options.easing,e=`_motion${t[0].toUpperCase()}${t.slice(1)}`;return this[e]?this[e]:this._motionLinear}dispose(){_.off(this._element,"click",this._handleClick),O.removeData(this._element,vn),this._element=null}cancelScroll(){this.isCancel=!0}_getConfig(t){const e={...bk,...g.getDataAttributes(this._element),...t};return L(ac,e,mk),e}_inViewport(){if(this.isWindow)return!0;const t=this.containerToScroll.getBoundingClientRect();return t.top>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)}_setup(){const t=typeof this._href<"u",e=this._href.includes("#");t&&e&&this.elFromHrefExist&&(this._scrollOnClickEvent(),this._preventNativeScroll())}_scrollOnClickEvent(){_.on(this._element,"click",t=>{this._handleClick(t)})}_handleClick(t){t.preventDefault(),this.isCancel=!1,_.trigger(this._element,vk);const e=this.containerToScroll,i=this.containerToScroll.scrollTop,n=this.offsetFromEl,o=0,r=1/this._options.duration,a=4.25,l=this.easingFunction;this._inViewport()?this._scrollOnNextTick(e,i,n,o,r,a,l):(this._scrollOnNextTick(document.documentElement,document.documentElement.scrollTop,this.containerToScroll.offsetTop,o,r,a,l),setTimeout(()=>{this._scrollOnNextTick(e,i,n,o,r,a,l),this.isCancel=!1},this._options.duration))}_scrollOnNextTick(t,e,i,n,o,r,a){const l=n<0,c=n>1,h=o<=0;if(l||c||h||this.isCancel){if(this.isCancel){this.isInViewport&&(this.isCancel=!1),_.trigger(this._element,Tk);return}_.trigger(this._element,yk),t.scrollTop=i;return}t.scrollTo({top:e-(e-i)*a(n)}),n+=o*r,setTimeout(()=>{this._scrollOnNextTick(t,e,i,n,o,r,a)})}_preventDefault(t){t.preventDefault()}_preventNativeScroll(){let t=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>t=!0}))}catch(n){this._scrollError=n}const e=t?{passive:!1}:!1,i="onwheel"in $("div")?"wheel":"mousewheel";this.isWindow&&(this._deleteScrollOnStart(e,i),this._addScrollOnEnd(e,i),this._addScrollOnCancel(e,i))}_deleteScrollOnStart(t,e){_.on(this._element,"scrollStart.te.smoothScroll",()=>{window.addEventListener(e,this._preventDefault,t),window.addEventListener("touchmove",this._preventDefault,t)})}_addScrollOnEnd(t,e){_.on(this._element,"scrollEnd.te.smoothScroll",()=>{window.removeEventListener(e,this._preventDefault,t),window.removeEventListener("touchmove",this._preventDefault,t)})}_addScrollOnCancel(t,e){_.on(this._element,"scrollCancel.te.smoothScroll",()=>{window.removeEventListener(e,this._preventDefault,t),window.removeEventListener("touchmove",this._preventDefault,t)})}_motionLinear(t){return t}_motionEaseInQuad(t){return t*t}_motionEaseInCubic(t){return t*t*t}_motionEaseInQuart(t){return t*t*t*t}_motionEaseInQuint(t){return t*t*t*t*t}_motionEaseInOutQuad(t){return t<.5?2*t*t:-1+(4-2*t)*t}_motionEaseInOutCubic(t){return t/=.5,t<1?t*t*t/2:(t-=2,(t*t*t+2)/2)}_motionEaseInOutQuart(t){return t/=.5,t<1?.5*t*t*t*t:(t-=2,-(t*t*t*t-2)/2)}_motionEaseInOutQuint(t){return t/=.5,t<1?t*t*t*t*t/2:(t-=2,(t*t*t*t*t+2)/2)}_motionEaseOutQuad(t){return-t*(t-2)}_motionEaseOutCubic(t){return t--,t*t*t+1}_motionEaseOutQuart(t){return t--,-(t*t*t*t-1)}_motionEaseOutQuint(t){return t--,t*t*t*t*t+1}static getInstance(t){return O.getData(t,vn)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static jQueryInterface(t){return this.each(function(){let e=O.getData(this,vn);const i=typeof t=="object"&&t;if(e||(e=new xr(this,i)),typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}const Kp="lazyLoad",Cr="te.lazyLoad",Ek="[data-te-lazy-load-init]",Up="data-te-lazy-load",xk="onLoad.te.lazy",Ck="onError.te.lazy",Xp=["img","video"],Ak={lazySrc:"(string|null)",lazyDelay:"number",lazyAnimation:"string",lazyOffset:"number",lazyPlaceholder:"(string|undefined)",lazyError:"(string|undefined)"},wk={lazySrc:null,lazyDelay:500,lazyAnimation:"[fade-in_1s_ease-in-out]",lazyOffset:0};class yn{constructor(t,e){this._element=t,this._element&&O.setData(t,Cr,this),this._options=this._getConfig(e),this.scrollHandler=this._scrollHandler.bind(this),this.errorHandler=this._setElementError.bind(this),this._childrenInstances=null,this._init()}static get NAME(){return Kp}get offsetValues(){return this._element.getBoundingClientRect()}get inViewport(){if(this.parent){const t=this.parent.getBoundingClientRect();return t.y>0&&t.y=t.y&&this.offsetValues.y<=t.y+t.height&&this.offsetValues.y<=window.innerHeight}return this.offsetValues.top+this._options.lazyOffset<=window.innerHeight&&this.offsetValues.bottom>=0}get parent(){const[t]=m.parents(this._element,Ek);return t}get node(){return this._element.nodeName}get isContainer(){return!m.matches(this._element,Xp)}dispose(){O.removeData(this._element,Cr),this._animation&&(this._animation.dispose(),this._animation=null),this._element=null,this._childrenInstances&&this._childrenInstances.forEach(t=>t.dispose())}_init(){if(this._element.setAttribute(Up,""),this.isContainer){this._setupContainer();return}this._setupElement()}_setupElement(){_.one(this._element,"error",this.errorHandler),this._options.lazyPlaceholder&&this._setPlaceholder(),this._animation=new Gs(this._element,{animation:`${this._options.lazyAnimation}`,animationStart:"onLoad"}),_.one(this._element,"load",()=>this._scrollHandler()),this.parent&&_.on(this.parent,"scroll",this.scrollHandler),_.on(window,"scroll",this.scrollHandler)}_scrollHandler(){this.inViewport&&(this._timeout=setTimeout(()=>{this._setSrc(),this._element.removeAttribute(Up),this._removeAttrs(),this._animation.init()},this._options.lazyDelay),this.parent&&_.off(this.parent,"scroll",this.scrollHandler),_.off(window,"scroll",this.scrollHandler))}_setElementError(){!this._options.lazyError||this._element.src===this._options.lazyError?this._element.alt="404 not found":this._element.setAttribute("src",this._options.lazyError),_.trigger(this._element,Ck)}_setSrc(){this._element.setAttribute("src",this._options.lazySrc),_.trigger(this._element,xk)}_setPlaceholder(){this.node==="IMG"?this._element.setAttribute("src",this._options.lazyPlaceholder):this.node==="VIDEO"&&this._element.setAttribute("poster",this._options.lazyPlaceholder)}_removeAttrs(){["src","delay","animation","placeholder","offset","error"].forEach(t=>{g.removeDataAttribute(this._element,`lazy-${t}`)})}_setupContainer(){this._childrenInstances=m.children(this._element,Xp).map(t=>new yn(t,this._options))}_getConfig(t){const e={...wk,...t,...g.getDataAttributes(this._element)};return L(Kp,e,Ak),e}static getInstance(t){return O.getData(t,Cr)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static jQueryInterface(t){return this.each(function(){let e=O.getData(this,Cr);const i=typeof t=="object"&&t;if(e||(e=new yn(this,i)),typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}const Gp="clipboard",Tn="te.clipboard",kk=`.${Tn}`,Sk={clipboardTarget:null},Ok={clipboardTarget:"null|string"},Ik=`copy${kk}`;class Ar{constructor(t,e={}){this._element=t,this._options=e,this._element&&(O.setData(t,Tn,this),this._initCopy=this._initCopy.bind(this),this._setup())}static get NAME(){return Gp}get options(){const t={...Sk,...g.getDataAttributes(this._element),...this._options};return L(Gp,t,Ok),t}get clipboardTarget(){return m.findOne(this.options.clipboardTarget)}get copyText(){const t=this.clipboardTarget.hasAttribute("data-te-clipboard-text"),e=this.clipboardTarget.value,i=this.clipboardTarget.textContent;return t?this.clipboardTarget.getAttribute("data-te-clipboard-text"):e||i}dispose(){_.off(this._element,"click",this._initCopy),O.removeData(this._element,Tn),this._element=null}_setup(){_.on(this._element,"click",this._initCopy)}_initCopy(){const t=this._createNewInput();document.body.appendChild(t),this._selectInput(t),_.trigger(this._element,Ik,{copyText:this.copyText}),t.remove()}_createNewInput(){const t=this.clipboardTarget.tagName==="TEXTAREA"?"textarea":"input",e=$(t);return e.value=this.copyText,g.addClass(e,"-left-[9999px] absolute"),e}_selectInput(t){t.select(),t.focus(),t.setSelectionRange(0,99999),document.execCommand("copy")}static jQueryInterface(t){return this.each(function(){let e=O.getData(this,Tn);const i=typeof t=="object"&&t;if(e||(e=new Ar(this,i)),typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}static getInstance(t){return O.getData(t,Tn)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const cc="infiniteScroll",wr=`te.${cc}`,Dk={infiniteDirection:"y"},Mk={infiniteDirection:"string"};class kr{constructor(t,e){this._element=t,this._element&&O.setData(t,wr,this),this._options=this._getConfig(e),this.scrollHandler=this._scrollHandler.bind(this),this._init()}static get NAME(){return cc}get rect(){return this._element.getBoundingClientRect()}get condition(){return this._element===window?Math.abs(window.scrollY+window.innerHeight-document.documentElement.scrollHeight)<1:this._options.infiniteDirection==="x"?this.rect.width+this._element.scrollLeft+10>=this._element.scrollWidth:Math.ceil(this.rect.height+this._element.scrollTop)>=this._element.scrollHeight}dispose(){_.off(this._element,"scroll",this.scrollHandler),O.removeData(this._element,wr),this._element=null}_init(){_.on(this._element,"scroll",()=>this._scrollHandler())}_scrollHandler(){this.condition&&_.trigger(this._element,"complete.te.infiniteScroll"),_.off(this._element,"scroll",this.scrollHandler)}_getConfig(t){const e={...Dk,...this._element!==window?g.getDataAttributes(this._element):{},...t};return L(cc,e,Mk),e}static getInstance(t){return O.getData(t,wr)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static jQueryInterface(t){return this.each(function(){let e=O.getData(this,wr);const i=typeof t=="object"&&t;if(e||(e=new kr(this,i)),typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}function Lk({backdropID:s},t){const e=$("div");return g.addClass(e,`${t.backdrop} ${t.backdropColor}`),e.id=s,e}const En="loadingManagement",Sr=`te.${En}`,$k="[data-te-loading-icon-ref]",Rk="[data-te-loading-text-ref]",Pk=`show.te.${En}`,Nk={backdrop:"(null|boolean)",backdropID:"(null|string|number)",delay:"(null|number)",loader:"(null|string|number)",parentSelector:"(null|string)",loadingIcon:"boolean",loadingText:"boolean",scroll:"boolean"},Bk={backdrop:!0,backdropID:null,delay:0,loader:"",parentSelector:null,scroll:!0,loadingText:!0,loadingIcon:!0},Hk={loadingSpinner:"absolute top-[50%] left-[50%] -translate-x-[50%] -translate-y-[50%] flex flex-col justify-center items-center z-40",spinnerColor:"text-primary dark:text-primary-400",backdrop:"w-full h-full fixed top-0 left-0 bottom-0 right-0 z-30",backdropColor:"bg-[rgba(0,0,0,0.4)]"},Vk={loadingSpinner:"string",spinnerColor:"string",backdrop:"string",backdropColor:"string"};class Or{constructor(t,e={},i){this._element=t,this._options=this._getConfig(e),this._classes=this._getClasses(i),this._element&&O.setData(t,Sr,this),this._backdropElement=null,this._parentElement=m.findOne(this._options.parentSelector),this._loadingIcon=m.findOne($k,this._element),this._loadingText=m.findOne(Rk,this._element),this.init()}static get NAME(){return En}init(){const t=this._loadingIcon.cloneNode(!0),e=this._loadingText.cloneNode(!0);this._removeElementsOnStart(),setTimeout(()=>{g.addClass(this._element,`${this._classes.loadingSpinner} ${this._classes.spinnerColor}`),this._setBackdrop(),this._setLoadingIcon(t),this._setLoadingText(e),this._setScrollOption(),_.trigger(this._element,Pk)},this._options.delay)}dispose(){O.removeData(this._element,Sr),g.removeClass(this._element,`${this._classes.loadingSpinner} ${this._classes.spinnerColor}`);const t=this._options.delay;setTimeout(()=>{this._removeBackdrop(),this._backdropElement=null,this._element=null,this._options=null},t)}_setBackdrop(){const{backdrop:t}=this._options;t&&(this._backdropElement=Lk(this._options,this._classes),this._parentElement!==null?(g.addClass(this._element,"absolute"),g.addClass(this._parentElement,"relative"),g.addClass(this._backdropElement,"absolute"),this._parentElement.appendChild(this._backdropElement)):(g.addClass(this._element,"!fixed"),document.body.appendChild(this._backdropElement),document.body.appendChild(this._element)))}_removeBackdrop(){const{backdrop:t}=this._options;t&&(this._parentElement!==null?(g.removeClass(this._element,"absolute"),g.removeClass(this._parentElement,"relative"),this._backdropElement.remove()):(this._backdropElement.remove(),this._element.remove()))}_setLoadingIcon(t){if(!this._options.loadingIcon){t.remove();return}this._element.appendChild(t),t.id=this._options.loader}_setLoadingText(t){if(!this._options.loadingText){t.remove();return}this._element.appendChild(t)}_removeElementsOnStart(){this._element!==null&&(this._loadingIcon.remove(),this._loadingText.remove())}_setScrollOption(){if(this._options.scroll){if(this._parentElement===null){g.addClass(document.body,"overflow-auto");return}g.addClass(this._parentElement,"overflow-auto")}else{if(this._parentElement===null){g.addClass(document.body,"overflow-hidden");return}g.addClass(this._parentElement,"overflow-hidden")}}_getConfig(t){const e={...Bk,...g.getDataAttributes(this._element),...t};return L(En,e,Nk),e}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...Hk,...e,...t},L(En,t,Vk),t}static getInstance(t){return O.getData(t,Sr)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static jQueryInterface(t){return this.each(function(){let e=O.getData(this,Sr);const i=typeof t=="object"&&t;if(e||(e=new Or(this,i)),typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}const Fk=s=>{const t=/^(0?[1-9]|1[012])(:[0-5]\d) [APap][mM]$/,e=/^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$/;return s.match(t)||s.match(e)},Wk=s=>s&&Object.prototype.toString.call(s)==="[object Date]"&&!isNaN(s),zk=s=>s.getMonth(),jk=s=>s.getFullYear(),Yk=s=>s.match(/[^(dmy)]{1,}/g),Kk=(s,t,e,i)=>{let n;e[0]!==e[1]?n=e[0]+e[1]:n=e[0];const o=new RegExp(`[${n}]`),r=s.split(o),a=t.split(o),l=t.indexOf("mmm")!==-1,c=[];for(let b=0;bt.findIndex(e=>e===s),Xk=(s,t,e)=>` + + +`,Gk=(s,t)=>` + +`,Ir="datetimepicker",xn=`te.${Ir}`,hc=`.${xn}`,qp="data-te-datepicker-init",Zp="data-te-timepicker-init",qk="data-te-datepicker-header",Zk="data-te-datepicker-cancel-button-ref",Qk="data-te-datepicker-ok-button-ref",dc="data-te-timepicker-wrapper",Qp="data-te-timepicker-cancel",Jk="data-te-timepicker-submit",tS="data-te-timepicker-clear",Jp="data-te-buttons-timepicker",eS="data-te-date-timepicker-toggle-ref",iS="data-te-datepicker-toggle-button-ref",sS="data-te-timepicker-toggle-button-ref",nS=`[${Zp}]`,oS=`[${qp}]`,rS=`[${eS}]`,aS=`[${sS}]`,lS="[data-te-input-notch-ref]",cS="[data-te-date-timepicker-toggle-ref]",hS="[data-te-timepicker-elements-wrapper]",dS="[data-te-timepicker-clock-wrapper]",uS=`open${hc}`,pS=`close${hc}`,fS=`datetimeChange${hc}`,tf="close.te.datepicker",ef="input.te.timepicker",Es=$("div"),sf={inline:!1,toggleButton:!0,container:"body",disabled:!1,disablePast:!1,disableFuture:!1,defaultTime:"",defaultDate:"",timepicker:{},datepicker:{},showFormat:!1,dateTimepickerToggleIconTemplate:` + + `,datepickerToggleIconTemplate:` + + `,timepickerToggleIconTemplate:` + + `},_S={inline:"boolean",toggleButton:"boolean",container:"string",disabled:"boolean",disablePast:"boolean",disableFuture:"boolean",defaultTime:"(string|date|number)",defaultDate:"(string|date|number)",timepicker:"object",datepicker:"object",showFormat:"boolean",dateTimepickerToggleIconTemplate:"string",datepickerToggleIconTemplate:"string",timepickerToggleIconTemplate:"string"},gS={toggleButton:"flex items-center justify-content-center [&>svg]:w-5 [&>svg]:h-5 absolute outline-none border-none bg-transparent right-0.5 top-1/2 -translate-x-1/2 -translate-y-1/2 hover:text-primary focus:text-primary dark:hover:text-primary-400 dark:focus:text-primary-400 dark:text-neutral-200",pickerIcon:"[&>svg]:w-6 [&>svg]:h-6 [&>svg]:mx-auto [&>svg]:pointer-events-none w-1/2 px-1.5 py-[1px] rounded-[10px] min-h-[40px] cursor-pointer outline-none border-none text-white hover:bg-primary-600 dark:hover:bg-neutral-600",buttonsContainer:"flex justify-evenly items-end bg-primary dark:bg-zinc-800 dark:data-[te-buttons-timepicker]:bg-zinc-700",timepicker:{},datepicker:{}},mS={toggleButton:"string",pickerIcon:"string",buttonsContainer:"string",timepicker:"object",datepicker:"object"};class Dr{constructor(t,e,i){this._element=t,this._input=m.findOne("input",this._element),this._options=this._getConfig(e),this._classes=this._getClasses(i),this._timepicker=null,this._datepicker=null,this._dateValue=this._options.defaultDate?this._options.defaultDate:"",this._timeValue=this._options.defaultTime?this._options.defaultTime:"",this._isInvalidTimeFormat=!1,this._format=this._options.datepicker.format?this._options.datepicker.format:"dd/mm/yyyy",this._cancel=!1,this._scrollBar=new Qi,this._element&&O.setData(t,xn,this),this._init()}static get NAME(){return Ir}get toggleButton(){return m.findOne(rS,this._element)}get notch(){return m.findOne(lS,this._element)}dispose(){_.off(this._element,"click",this._openDatePicker),_.off(this._input,"input",this._handleInput),_.off(this._element,"click"),O.removeData(this._element,xn),this._removeTimePicker(),this._removeDatepicker(),this.toggleButton.remove(),this._options=sf,this._timepicker=null,this._datepicker=null,this._dateValue=null,this._timeValue=null,this._isInvalidTimeFormat=null}update(t={}){const e=this._getConfig({...this._options,...t});this.dispose(),this._options=e,this._init()}_init(){this._addDatepicker(),this._addTimePicker(),this._appendToggleButton(),this._listenToToggleClick(),this._listenToUserInput(),this._disableInput(),this._setInitialDefaultInput(),this._applyFormatPlaceholder(),this._options.disablePast&&this._handleTimepickerDisablePast(),this._options.disableFuture&&this._handleTimepickerDisableFuture()}_removeDatepicker(){const t=this._element.querySelector(oS);t&&t.remove()}_addDatepicker(){const t=$("div");t.id=this._element.id?`datepicker-${this._element.id}`:bt("datepicker-");const e='';t.innerHTML=e,t.setAttribute(qp,""),this._element.appendChild(t),g.addClass(t,"hidden");let i={...this._options.datepicker,container:this._options.container,disablePast:this._options.disablePast,disableFuture:this._options.disableFuture};(this._options.inline||this._options.datepicker.inline)&&(i={...i,inline:!0}),this._datepicker=new xl(t,i,{...this._classes.datepicker}),this._datepicker._input.value=this._dateValue}_removeTimePicker(){const t=this._element.querySelector(nS);t&&(t.remove(),this._scrollBar.reset())}_addTimePicker(){const t=$("div");t.id=this._element.id?`timepicker-${this._element.id}`:bt("timepicker-");const e='';t.innerHTML=e,t.setAttribute(Zp,""),this._element.appendChild(t),g.addClass(t,"hidden");let i={...this._options.timepicker,container:this._options.container};(this._options.inline||this._options.timepicker.inline)&&(i={...i,inline:!0}),this._timepicker=new Ll(t,i,{...this._classes.timepicker}),this._timepicker.input.value=this._timeValue}_addIconButtons(){if(g.addClass(Es,this._classes.buttonsContainer),Es.innerHTML=Xk(this._options.datepickerToggleIconTemplate,this._options.timepickerToggleIconTemplate,this._classes),Es.removeAttribute(Jp),!(this._options.inline||this._options.datepicker.inline)){if(this._scrollBar.hide(),this._datepicker._isOpen)m.findOne(`[${qk}]`,document.body).appendChild(Es);else if(this._timepicker._modal&&!this._options.timepicker.inline){const t=m.findOne(hS,document.body),e=m.findOne(dS,document.body);Es.setAttribute(Jp,""),t.insertBefore(Es,e)}}}_enableOrDisableToggleButton(){this._options.disabled?(this.toggleButton.disabled=!0,g.addClass(this.toggleButton,"pointer-events-none")):(this.toggleButton.disabled=!1,g.removeClass(this.toggleButton,"pointer-events-none"))}_appendToggleButton(){this._options.toggleButton&&(this._element.insertAdjacentHTML("beforeend",Gk(this._options.dateTimepickerToggleIconTemplate,this._classes)),this._enableOrDisableToggleButton())}_applyFormatPlaceholder(){this._options.showFormat&&(this._input.placeholder=this._format)}_listenToCancelClick(){const t=m.findOne(`[${Zk}]`,document.body);_.one(t,"mousedown",()=>{this._cancel=!0,this._scrollBar.reset(),_.off(t,"mousedown")})}_listenToToggleClick(){_.on(this._element,"click",cS,t=>{t.preventDefault(),this._openDatePicker()})}_listenToUserInput(){_.on(this._input,"input",t=>{this._handleInput(t.target.value)})}_disableInput(){this._options.disabled&&(this._input.disabled="true")}_getConfig(t){const e=g.getDataAttributes(this._element);return t={...sf,...e,...t},L(Ir,t,_S),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...gS,...e,...t},L(Ir,t,mS),t}_handleInput(t){const e=t.split(", "),i=Yk(this._format),n=e[0],o=e[1]||"",r=Kk(n,this._format,i,this._datepicker._options);e.length===2&&(Wk(r)&&Fk(o)?(this._dateValue=n,this._timeValue=o,this._datepicker._input.value=this._dateValue,this._datepicker._activeDate=this._dateValue,this._datepicker._selectedYear=jk(r),this._datepicker._selectedMonth=zk(r),this._datepicker._headerDate=r,this._timepicker.input.value=this._timeValue,this._timepicker._isInvalidTimeFormat=!1):(this._datepicker._activeDate=new Date,this._datepicker._selectedDate=null,this._datepicker._selectedMonth=null,this._datepicker._selectedYear=null,this._datepicker._headerDate=null,this._datepicker._headerMonth=null,this._datepicker._headerYear=null,this._timepicker._isInvalidTimeFormat=!0))}_openDatePicker(){if(_.trigger(this._element,uS).defaultPrevented)return;this._datepicker.open(),this._options.inline||this._scrollBar.hide(),(this._options.inline||this._options.datepicker.inline)&&this._openDropdownDate(),this._addIconButtons(),this._listenToCancelClick(),this._options.inline&&this._datepicker._isOpen&&g.addClass(this.toggleButton,"pointer-events-none"),_.one(this._datepicker._element,tf,()=>{if(this._dateValue=this._datepicker._input.value,this._updateInputValue(),this._cancel){this._cancel=!1;return}let i=!1;_.on(this._datepicker.container,"click",n=>{!this._datepicker._selectedDate&&n.target.hasAttribute(Qk)||i||(this._openTimePicker(),i=!0,setTimeout(()=>{i=!1},500))}),setTimeout(()=>{m.findOne(`[${dc}]`,document.body)||this._scrollBar.reset()},10),this._options.inline&&g.removeClass(this.toggleButton,"pointer-events-none")});const e=m.findOne(aS,document.body);_.on(e,"click",()=>{this._datepicker.close(),this._scrollBar.hide(),_.trigger(this._datepicker._element,tf)})}_handleTimepickerDisablePast(){const t=new Date;t.setHours(0,0,0,0),_.on(this._datepicker._element,"dateChange.te.datepicker",()=>{this._datepicker._selectedDate.getTime()===t.getTime()?this._timepicker.update({disablePast:!0}):this._timepicker.update({disablePast:!1})})}_handleTimepickerDisableFuture(){const t=new Date;t.setHours(0,0,0,0),_.on(this._datepicker._element,"dateChange.te.datepicker",()=>{this._datepicker._selectedDate.getTime()===t.getTime()?this._timepicker.update({disableFuture:!0}):this._timepicker.update({disableFuture:!1})})}_handleEscapeKey(){_.one(document.body,"keyup",()=>{setTimeout(()=>{m.findOne(`[${dc}]`,document.body)||this._scrollBar.reset()},250)})}_handleCancelButton(){const t=m.findOne(`[${Qp}]`,document.body);_.one(t,"mousedown",()=>{this._scrollBar.reset()})}_openDropdownDate(){const t=this._datepicker._popper;t.state.elements.reference=this._input,this._scrollBar.reset()}_openTimePicker(){_.trigger(this._timepicker.elementToggle,"click"),setTimeout(()=>{if(this._addIconButtons(),(this._options.inline||this._options.timepicker.inline)&&this._openDropdownTime(),this._timepicker._modal){const t=m.findOne(`[${Qp}]`,document.body);this._handleEscapeKey(),this._handleCancelButton(),_.on(this._timepicker._modal,"click",e=>{(e.target.hasAttribute(dc)||e.target.hasAttribute(Jk))&&setTimeout(()=>{this._scrollBar.reset()},200),e.target.hasAttribute(tS)&&_.trigger(this._timepicker._element,ef),e.target.hasAttribute(iS)&&(_.trigger(t,"click"),setTimeout(()=>{this._openDatePicker(),this._scrollBar.hide()},200))})}}),_.one(this._timepicker._element,ef,()=>{this._timeValue=this._timepicker.input.value,this._updateInputValue(),_.trigger(this._element,pS)})}_openDropdownTime(){const t=this._timepicker._popper;t.state.elements.reference=this._input,t.update(),this._scrollBar.reset()}_setInitialDefaultInput(){(this._options.defaultDate||this._options.defaultTime)&&this._updateInputValue()}_updateInputValue(){this._timeValue&&this._dateValue&&(this._input.value=`${this._dateValue}, ${this._timeValue}`,_.trigger(this._element,fS,{value:this._input.value}).defaultPrevented)||(_.trigger(this._input,"focus"),this.notch&&this.notch.removeAttribute("data-te-input-focused"))}static jQueryInterface(t,e){return this.each(function(){let i=O.getData(this,xn);const n=typeof t=="object"&&t;if(!(!i&&/dispose/.test(t))&&(i||(i=new Dr(this,n)),typeof t=="string")){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}static getInstance(t){return O.getData(t,xn)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const Mr="sticky",Cn=`te.${Mr}`,nf=`.${Cn}`,bS=`active${nf}`,vS=`inactive${nf}`,yS={stickyAnimationSticky:"",stickyAnimationUnsticky:"",stickyBoundary:!1,stickyDelay:0,stickyDirection:"down",stickyMedia:0,stickyOffset:0,stickyPosition:"top",stickyZIndex:100},TS={stickyAnimationSticky:"string",stickyAnimationUnsticky:"string",stickyBoundary:"(boolean|string)",stickyDelay:"number",stickyDirection:"string",stickyMedia:"number",stickyOffset:"number",stickyPosition:"string",stickyZIndex:"(string|number)"},ES={stickyActive:""},xS={stickyActive:"string"};class Lr{constructor(t,e,i){this._element=t,this._hiddenElement=null,this._elementPositionStyles={},this._scrollDirection="",this._isSticked=!1,this._elementOffsetTop=null,this._scrollTop=0,this._pushPoint="",this._manuallyDeactivated=!1,this._element&&(this._options=this._getConfig(e),this._classes=this._getClasses(i),O.setData(t,Cn,this),this._init())}static get NAME(){return Mr}dispose(){const{stickyAnimationUnsticky:t}=this._options;let{animationDuration:e}=getComputedStyle(this._element);e=t!==""?parseFloat(e)*1e3:0,this._disableSticky(),setTimeout(()=>{O.removeData(this._element,Cn),this._element=null,this._options=null,this._hiddenElement=null,this._elementPositionStyles=null,this._scrollDirection=null,this._isSticked=null,this._elementOffsetTop=null,this._scrollTop=null,this._pushPoint=null,this._manuallyDeactivated=null},e)}active(){this._isSticked||(this._createHiddenElement(),this._enableSticky(),this._changeBoundaryPosition(),this._isSticked=!0,this._manuallyDeactivated=!1)}inactive(){this._isSticked&&(this._disableSticky(),this._isSticked=!1,this._manuallyDeactivated=!0)}_init(){this._userActivityListener()}_userActivityListener(){_.on(window,"resize",()=>{this._updateElementPosition(),this._updateElementOffset()}),_.on(window,"scroll",()=>{if(!this._element||window.innerWidth<=this._options.stickyMedia||this._manuallyDeactivated)return;const t=document.documentElement,{stickyDirection:e}=this._options,i=window.pageYOffset||t.scrollTop;this._updateElementOffset(),this._updatePushPoint(),this._updateScrollDirection(i),this._clearInProgressAnimations();const n=[this._scrollDirection,"both"].includes(e),o=this._pushPoint<=i,r=o&&!this._isSticked&&n,a=(!o||!n)&&this._isSticked;r&&(this._createHiddenElement(),this._enableSticky(),this._changeBoundaryPosition(),this._isSticked=!0),a&&(this._disableSticky(),this._isSticked=!1),this._isSticked&&(this._updatePosition({styles:this._elementPositionStyles}),this._changeBoundaryPosition()),this._scrollTop=i<=0?0:i})}_updatePushPoint(){this._options.stickyPosition==="top"?this._pushPoint=this._elementOffsetTop-this._options.stickyDelay:this._pushPoint=this._elementOffsetTop+this._element.height-document.body.scrollHeight+this._options.stickyDelay}_updateElementOffset(){this._hiddenElement?this._elementOffsetTop=this._hiddenElement.offsetTop:this._elementOffsetTop=this._element.offsetTop,this._options.stickyAnimationUnsticky&&(this._elementOffsetTop+=this._element.height||0)}_updateElementPosition(){if(this._hiddenElement){const{left:t}=this._hiddenElement.getBoundingClientRect();this._elementPositionStyles={left:`${t}px`}}else this._elementPositionStyles={};this._setStyle(this._element,this._elementPositionStyles)}_updateScrollDirection(t){t>this._scrollTop?this._scrollDirection="down":this._scrollDirection="up"}_clearInProgressAnimations(){const t=this._scrollDirection==="up",e=this._element.classList.contains(this._options.stickyAnimationUnsticky),i=window.scrollY<=this._elementOffsetTop-this._element.height;t&&e&&i&&(this._removeUnstickyAnimation(),this._resetStyles(),this._removeHiddenElement())}_enableSticky(){const{stickyAnimationSticky:t,stickyAnimationUnsticky:e,stickyOffset:i,stickyPosition:n,stickyZIndex:o}=this._options,{height:r,left:a,width:l}=this._element.getBoundingClientRect();t!==""&&this._toggleClass(t,e,this._element),this._toggleClass(this._classes.stickyActive,"",this._element),this._setStyle(this._element,{top:n==="top"&&`${0+i}px`,bottom:n==="bottom"&&`${0+i}px`,height:`${r}px`,width:`${l}px`,left:`${a}px`,zIndex:`${o}`,position:"fixed"}),this._hiddenElement.hidden=!1,_.trigger(this._element,bS)}_changeBoundaryPosition(){const{stickyPosition:t,stickyBoundary:e,stickyOffset:i}=this._options,{height:n}=this._element.getBoundingClientRect(),o={height:this._element.parentElement.getBoundingClientRect().height,...this._getOffset(this._element.parentElement)};let r;const a=m.findOne(e);a?r=this._getOffset(a).top-n-i:r=o.height+o[t]-n-i;const l=t==="top",c=t==="bottom",h=e,d=r<0,u=r>o.height-n;let p;l&&(d&&h?p={top:`${i+r}px`}:p={top:`${i+0}px`}),c&&(d&&h?p={bottom:`${i+r}px`}:u&&h?p={bottom:`${i+o.bottom}px`}:p={bottom:`${i+0}px`}),this._setStyle(this._element,p)}_disableSticky(){const{stickyAnimationUnsticky:t,stickyAnimationSticky:e}=this._options;let{animationDuration:i}=getComputedStyle(this._element);i=t!==""?parseFloat(i)*1e3:0,this._options.stickyAnimationUnsticky!==""&&this._toggleClass(t,e,this._element),setTimeout(()=>{this._element.classList.contains(e)||(this._removeUnstickyAnimation(),this._resetStyles(),this._removeHiddenElement(),this._toggleClass("",this._classes.stickyActive,this._element),_.trigger(this._element,vS))},i)}_createHiddenElement(){this._hiddenElement||(this._hiddenElement=this._copyElement(this._element))}_removeHiddenElement(){this._hiddenElement&&(this._hiddenElement.remove(),this._hiddenElement=null)}_removeUnstickyAnimation(){this._toggleClass("",this._options.stickyAnimationUnsticky,this._element)}_resetStyles(){this._setStyle(this._element,{top:null,bottom:null,position:null,left:null,zIndex:null,width:null,height:null})}_updatePosition({styles:t}){this._setStyle(this._element,t)}_toggleClass(t,e,i){t&&g.addClass(i,t),e&&g.removeClass(i,e)}_getOffset(t){const e=g.offset(t),i=t.getBoundingClientRect(),n=e.left===0&&e.top===0?0:window.innerHeight-i.bottom;return{...e,bottom:n}}_copyElement(t){const{height:e,width:i}=t.getBoundingClientRect(),n=t.cloneNode(!1);return n.hidden=!0,this._setStyle(n,{height:`${e}px`,width:`${i}px`,opacity:"0"}),t.parentElement.insertBefore(n,t),n}_getConfig(t={}){const e=g.getDataAttributes(this._element);return t={...yS,...e,...t},L(Mr,t,TS),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...ES,...e,...t},L(Mr,t,xS),t}_setStyle(t,e){Object.keys(e).forEach(i=>{t.style[i]=e[i]})}static jQueryInterface(t,e){return this.each(function(){let i=O.getData(this,Cn);const n=typeof t=="object"&&t;if(!(!i&&/dispose|hide/.test(t))&&(i||(i=new Lr(this,n)),typeof t=="string")){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}static getInstance(t){return O.getData(t,Cn)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const CS="data-te-autocomplete-dropdown-ref",AS="data-te-autocomplete-items-list-ref",wS="data-te-autocomplete-item-ref",kS="data-te-autocomplete-loader-ref";function SS(s,t){const{id:e,items:i,width:n,options:o}=s,r=$("div");g.addClass(r,t.dropdownContainer),g.addStyle(r,{width:`${n}px`}),r.setAttribute("id",e);const a=$("div");a.setAttribute(CS,""),g.addClass(a,t.dropdown);const l=$("ul"),c=o.listHeight;l.setAttribute(AS,""),g.addClass(l,t.autocompleteList),g.addClass(l,t.scrollbar),g.addStyle(l,{maxHeight:`${c}px`}),l.setAttribute("role","listbox");const h=of(i,o);return l.innerHTML=h,a.appendChild(l),r.appendChild(a),r}function of(s=[],t,e){const i=t.displayValue,n=t.itemContent;return` + ${s.map((o,r)=>{const a=typeof n=="function"?To(n(o),Pd,null):i(o);return`
  • ${a}
  • `}).join("")} + `}function OS(s){const t=$("div");t.setAttribute(kS,""),g.addClass(t,s.autocompleteLoader),g.addClass(t,s.spinnerIcon),t.setAttribute("role","status");const e='Loading...';return t.innerHTML=e,t}function IS(s,t){return`
  • ${s}
  • `}const uc="autocomplete",An="te.autocomplete",xs="data-te-input-state-active",pc="data-te-autocomplete-item-active",rf="data-te-input-focused",af="data-te-autocomplete-state-open",DS="data-te-autocomplete-custom-content-ref",MS="[data-te-autocomplete-dropdown-ref]",$r="[data-te-autocomplete-items-list-ref]",lf="[data-te-autocomplete-item-ref]",LS="[data-te-autocomplete-loader-ref]",$S=`[${DS}]`,RS="[data-te-input-notch-ref]",Rr=`.${An}`,PS=`close${Rr}`,NS=`open${Rr}`,cf=`itemSelect${Rr}`,BS=`update${Rr}`,HS={autoSelect:!1,container:"body",customContent:"",debounce:300,displayValue:s=>s,filter:null,itemContent:null,listHeight:190,loaderCloseDelay:300,noResults:"No results found",threshold:0},VS={autoSelect:"boolean",container:"string",customContent:"string",debounce:"number",displayValue:"function",filter:"(null|function)",itemContent:"(null|function)",listHeight:"number",loaderCloseDelay:"number",noResults:"string",threshold:"number"},FS={autocompleteItem:"flex flex-row items-center justify-between w-full px-4 py-[0.4375rem] truncate text-gray-700 bg-transparent select-none cursor-pointer hover:[&:not([data-te-autocomplete-option-disabled])]:bg-black/5 data-[te-autocomplete-item-active]:bg-black/5 data-[data-te-autocomplete-option-disabled]:text-gray-400 data-[data-te-autocomplete-option-disabled]:cursor-default dark:text-gray-200 dark:hover:[&:not([data-te-autocomplete-option-disabled])]:bg-white/30 dark:data-[te-autocomplete-item-active]:bg-white/30",autocompleteList:"list-none m-0 p-0 overflow-y-auto",autocompleteLoader:"absolute right-1 top-2 w-[1.4rem] h-[1.4rem] border-[0.15em]",dropdown:"relative outline-none min-w-[100px] m-0 scale-y-[0.8] opacity-0 bg-white shadow-[0_2px_5px_0_rgba(0,0,0,0.16),_0_2px_10px_0_rgba(0,0,0,0.12)] transition duration-200 motion-reduce:transition-none data-[te-autocomplete-state-open]:scale-y-100 data-[te-autocomplete-state-open]:opacity-100 dark:bg-zinc-700",dropdownContainer:"z-[1070]",scrollbar:"[&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar]:h-1 [&::-webkit-scrollbar-button]:block [&::-webkit-scrollbar-button]:h-0 [&::-webkit-scrollbar-button]:bg-transparent [&::-webkit-scrollbar-track-piece]:bg-transparent [&::-webkit-scrollbar-track-piece]:rounded-none [&::-webkit-scrollbar-track-piece]: [&::-webkit-scrollbar-track-piece]:rounded-l [&::-webkit-scrollbar-thumb]:h-[50px] [&::-webkit-scrollbar-thumb]:bg-[#999] [&::-webkit-scrollbar-thumb]:rounded",spinnerIcon:"inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]"},WS={autocompleteItem:"string",autocompleteList:"string",autocompleteLoader:"string",dropdown:"string",dropdownContainer:"string",scrollbar:"string",spinnerIcon:"string"};class Pr{constructor(t,e,i){this._element=t,this._options=this._getConfig(e),this._classes=this._getClasses(i),this._getContainer(),this._input=m.findOne("input",t),this._notch=m.findOne(RS,t),this._customContent=m.findOne($S,t),this._loader=OS(this._classes),this._popper=null,this._debounceTimeoutId=null,this._loaderTimeout=null,this._activeItemIndex=-1,this._activeItem=null,this._filteredResults=null,this._lastQueryValue=null,this._canOpenOnFocus=!0,this._isOpen=!1,this._outsideClickHandler=this._handleOutsideClick.bind(this),this._inputFocusHandler=this._handleInputFocus.bind(this),this._userInputHandler=this._handleUserInput.bind(this),this._keydownHandler=this._handleKeydown.bind(this),t&&O.setData(t,An,this),this._init()}static get NAME(){return uc}get filter(){return this._options.filter}get dropdown(){return m.findOne(MS,this._dropdownContainer)}get items(){return m.find(lf,this._dropdownContainer)}get itemsList(){return m.findOne($r,this._dropdownContainer)}initSearch(t){this._filterResults(t)}_getContainer(){this._container=m.findOne(this._options.container)}_getConfig(t){const e=g.getDataAttributes(this._element);return t={...HS,...e,...t},L(uc,t,VS),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...FS,...e,...t},L(uc,t,WS),t}_init(){this._initDropdown(),this._updateInputState(),this._setInputAriaAttributes(),this._listenToInputFocus(),this._listenToUserInput(),this._listenToKeydown()}_initDropdown(){this._dropdownContainerId=this._element.id?`autocomplete-dropdown-${this._element.id}`:bt("autocomplete-dropdown-");const t={id:this._dropdownContainerId,items:[],width:this._input.offsetWidth,options:this._options};if(this._dropdownContainer=SS(t,this._classes),this._options.customContent!==""){const e=this._options.customContent,i=To(e,Pd,null);this.dropdown.insertAdjacentHTML("beforeend",i)}}_setInputAriaAttributes(){this._input.setAttribute("role","combobox"),this._input.setAttribute("aria-expanded",!1),this._input.setAttribute("aria-owns",this._dropdownContainerId),this._input.setAttribute("aria-haspopup",!0),this._input.setAttribute("autocomplete","off")}_updateInputState(){var t,e;this._input.value!==""||this._isOpen?(this._input.setAttribute(xs,""),(t=this._notch)==null||t.setAttribute(xs,"")):(this._input.removeAttribute(xs),(e=this._notch)==null||e.removeAttribute(xs))}_listenToInputFocus(){_.on(this._input,"focus",this._inputFocusHandler)}_handleInputFocus(t){const{value:e}=t.target,i=this._options.threshold;if(!this._canOpenOnFocus){this._canOpenOnFocus=!0;return}e.length{this._filterResults(t)},e)}_filterResults(t){this._lastQueryValue=t;const e=this.filter(t);this._isPromise(e)?this._asyncUpdateResults(e):this._updateResults(e)}_isPromise(t){return!!t&&typeof t.then=="function"}_asyncUpdateResults(t){this._resetActiveItem(),this._showLoader(),t.then(e=>{this._updateResults(e),this._loaderTimeout=setTimeout(()=>{this._hideLoader(),this._loaderTimeout=null},this._options.loaderCloseDelay)})}_resetActiveItem(){const t=this._activeItem;t&&(t.removeAttribute(pc),this._activeItem=null,this._activeItemIndex=-1)}_showLoader(){this._element.appendChild(this._loader)}_hideLoader(){m.findOne(LS,this._element)&&this._element.removeChild(this._loader)}_updateResults(t){this._resetActiveItem(),this._filteredResults=t,_.trigger(this._element,BS,{results:t});const e=m.findOne($r,this._dropdownContainer),i=of(t,this._options,this._classes.autocompleteItem),n=IS(this._options.noResults,this._classes);t.length===0&&this._options.noResults!==""?e.innerHTML=n:e.innerHTML=i,this._isOpen||this.open(),this._popper&&this._popper.forceUpdate()}_listenToKeydown(){_.on(this._element,"keydown",this._keydownHandler)}_handleKeydown(t){this._isOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t)}_handleOpenKeydown(t){const e=t.keyCode;if(e===Ci&&this._options.autoSelect&&this._selectActiveItem(),e===xi||e===ut&&t.altKey){this.close(),this._input.focus();return}if(e===xi||e===ut&&t.altKey||e===Ci){this.close(),this._input.focus();return}switch(e){case ht:this._setActiveItem(this._activeItemIndex+1),this._scrollToItem(this._activeItem);break;case ut:this._setActiveItem(this._activeItemIndex-1),this._scrollToItem(this._activeItem);break;case Ti:this._activeItemIndex>-1?(this._setActiveItem(0),this._scrollToItem(this._activeItem)):this._input.setSelectionRange(0,0);break;case Ei:if(this._activeItemIndex>-1)this._setActiveItem(this.items.length-1),this._scrollToItem(this._activeItem);else{const n=this._input.value.length;this._input.setSelectionRange(n,n)}break;case Et:if(t.preventDefault(),this._activeItemIndex>-1){const n=this._filteredResults[this._activeItemIndex];this._handleSelection(n)}return;default:return}t.preventDefault()}_setActiveItem(t){const e=this.items;e[t]&&this._updateActiveItem(e[t],t)}_updateActiveItem(t,e){const i=this._activeItem;i&&i.removeAttribute(pc),t.setAttribute(pc,""),this._activeItemIndex=e,this._activeItem=t}_scrollToItem(t){if(!t)return;const e=this.itemsList,i=e.offsetHeight,n=this.items.indexOf(t),o=t.offsetHeight,r=e.scrollTop;if(n>-1){const a=n*o,l=a+o>r+i;a{this.dropdown.setAttribute(af,""),this._isOpen=!0,this._setInputActiveStyles(),this._updateInputState()},0))}_listenToOutsideClick(){_.on(document,"click",this._outsideClickHandler)}_handleOutsideClick(t){const e=this._input===t.target,i=t.target===this._dropdownContainer,n=this._dropdownContainer&&this._dropdownContainer.contains(t.target);!e&&!i&&!n&&this.close()}_listenToItemsClick(){const t=m.findOne($r,this._dropdownContainer);_.on(t,"click",this._handleItemsClick.bind(this))}_handleItemsClick(t){const e=m.closest(t.target,lf),i=g.getDataAttribute(e,"index"),n=this._filteredResults[i];this._handleSelection(n)}_selectActiveItem(){const t=this._filteredResults[this._activeItemIndex];if(!t)return;const e=this._options.displayValue(t);_.trigger(this._element,cf,{value:t}).defaultPrevented||setTimeout(()=>{this._canOpenOnFocus=!1,this._updateInputValue(e),this._updateInputState()},0)}_handleSelection(t){const e=this._options.displayValue(t),i=_.trigger(this._element,cf,{value:t});t!==void 0&&(i.defaultPrevented||setTimeout(()=>{this._canOpenOnFocus=!1,this._updateInputValue(e),this._updateInputState(),this._input.focus(),this.close()},0))}_updateInputValue(t){this._input.value=t}_setInputActiveStyles(){this._input.setAttribute(rf,"")}close(){var e;const t=_.trigger(this._element,PS);!this._isOpen||t.defaultPrevented||(this._resetActiveItem(),this._removeDropdownEvents(),this.dropdown.removeAttribute(af),_.on(this.dropdown,"transitionend",this._handleDropdownTransitionEnd.bind(this)),this._input.removeAttribute(rf),this._input.value||(this._input.removeAttribute(xs),(e=this._notch)==null||e.removeAttribute(xs)))}_removeDropdownEvents(){const t=m.findOne($r,this._dropdownContainer);_.off(t,"click"),_.off(document,"click",this._outsideClickHandler),_.off(window,"resize",this._handleWindowResize.bind(this))}_handleDropdownTransitionEnd(t){this._isOpen&&t&&t.propertyName==="opacity"&&(this._popper.destroy(),this._dropdownContainer&&this._container.removeChild(this._dropdownContainer),this._isOpen=!1,_.off(this.dropdown,"transitionend"),this._canOpenOnFocus=!0)}dispose(){this._isOpen&&this.close(),this._removeInputAndElementEvents(),this._dropdownContainer.remove(),O.removeData(this._element,An)}_removeInputAndElementEvents(){_.off(this._input,"focus",this._inputFocusHandler),_.off(this._input,"input",this._userInputHandler),_.off(this._element,"keydown",this._keydownHandler)}static jQueryInterface(t,e){return this.each(function(){let i=O.getData(this,An);const n=typeof t=="object"&&t;if(!(!i&&/dispose/.test(t))&&(i||(i=new Pr(this,n)),typeof t=="string")){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}static getInstance(t){return O.getData(t,An)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const zS=(s,t)=>`
    +
    +
    `,jS=(s,t)=>`
    + +
    `,YS=(s,t)=>` + + + + `,Si=s=>s.type==="touchmove"?s.touches[0].clientX:s.clientX,Nr="multiRangeSlider",Br=`te.${Nr}`,hf=`valueChanged${`.${Br}`}`,Oi="data-te-active",df="data-te-multi-range-slider-hand-ref",uf="data-te-multi-range-slider-connect-ref",pf="data-te-multi-range-slider-tooltip-ref",KS={max:"number",min:"number",numberOfRanges:"number",startValues:"(array|string)",step:"(string|null|number)",tooltip:"boolean"},US={max:100,min:0,numberOfRanges:2,startValues:[0,100],step:null,tooltip:!1},XS={connect:"z-10 h-full w-full bg-[#eee] will-change-transform dark:bg-[#4f4f4f]",connectContainer:"relative border-[1px] border-[#eee] z-0 h-full w-full overflow-hidden dark:border-[#4f4f4f]",container:"apperance-none relative m-auto w-full cursor-pointer h-1 border-0 bg-transparent p-0 focus:outline-none dark:border-[#4f4f4f]",hand:"apperance-none absolute top-[50%] border-0 -mt-1 h-4 w-4 cursor-pointer rounded-[50%] border-0 bg-primary transition-colors ease-in-out will-change-transform active:bg-[#c4d4ef] active:z-60",tooltip:"absolute -top-[18px] origin-[50%_50%] -translate-x-[6px] -rotate-45 scale-0 rounded-bl-none rounded-br-2xl rounded-tl-2xl rounded-tr-2xl bg-primary text-white transition-all duration-[200ms] data-[te-active]:-top-[38px] data-[te-active]:scale-100",tooltipValue:"block h-[30px] w-[30px] -translate-x-[6px] translate-y-[6px] rotate-45 text-center text-[10px]"},GS={container:"string",connectContainer:"string",connect:"string",hand:"string",tooltip:"string",tooltipValue:"string"};class Hr extends Mt{constructor(t,e,i){super(t),this._options=this._getConfig(e),this._mousemove=!1,this._classes=this._getClasses(i),this._maxTranslation=null,this._minTranslation=null,this._currentStepValue=null,this._canChangeStep=!1,this.init()}static get NAME(){return Nr}get hands(){return m.find(`[${df}]`,this._element)}get connect(){return m.findOne(`[${uf}]`,this._element)}get leftConnectRect(){return this.connect.getBoundingClientRect().left}get handActive(){return m.findOne(`[${Oi}]`)}get activeTooltipValue(){return m.find(`[${pf}]`).filter(n=>n.hasAttribute(Oi))[0].children[0]}init(){this._setContainerClasses(),this._setRangeConnectsElement(),this._setRangeHandleElements(),this._setMaxAndMinTranslation(),this._setTransofrmationOnStart(),this._handleClickEventOnHand(),this._handleEndMoveEventDocument(),this._handleClickOnRange(),this._setTooltipToHand()}dispose(){O.removeData(this._element,Br),this._options=null,this._mousemove=null,this._maxTranslation=null,this._minTranslation=null,this._currentStepValue=null,this._canChangeStep=null,this.hands.forEach(t=>{ct.off(t,"mousedown touchstart"),ct.off(t,"mouseup touchend")}),ct.off(document,"mousemove touchmove"),ct.off(document,"mouseup touchend"),ct.off(this.connect,"mousedown touchstart")}_setMaxAndMinTranslation(){this._maxTranslation=this.connect.offsetWidth-this.hands[0].offsetWidth/2,this._minTranslation=this.connect.offsetLeft-this.hands[0].offsetWidth/2}_setTransofrmationOnStart(){const{max:t,min:e}=this._options;let{startValues:i}=this._options;typeof i=="string"&&(i=JSON.parse(i.replace(/'/g,'"'))),i.length===0?this.hands.forEach(n=>{g.setDataAttribute(n,"translation",Math.round(this._minTranslation)),g.addStyle(n,{transform:`translate(${this._minTranslation}px,-25%)`})}):this.hands.forEach((n,o)=>{if(i[o]>t||i[o]{ct.on(n,"mousedown touchstart",o=>{if(this._mousemove=!0,n.setAttribute(Oi,""),this._options.tooltip&&n.children[1].setAttribute(Oi,""),this._handleMoveEvent(n),this._handleEndMoveEvent(n,o),!this._canChangeStep&&i!==null)return;const r=Si(o)-this.leftConnectRect-n.offsetWidth/2,a=(Si(o)-this.leftConnectRect)/(this.connect.offsetWidth/(t-e))%(t-e);r>=this._maxTranslation?this._handleOutOfMaxRangeValue(n,t):r<=this._minTranslation?this._handleOutOfMinRangeValue(n,e):this._handleNormalMove(n,r,a)})})}_setContainerClasses(){g.addClass(this._element,this._classes.container)}_setRangeConnectsElement(){this._element.insertAdjacentHTML("afterbegin",zS({connectContainer:this._classes.connectContainer,connect:this._classes.connect},uf))}_setRangeHandleElements(){for(let t=0;t{t.setAttribute("aria-orientation","horizontal"),t.setAttribute("role","slider"),g.setDataAttribute(t,"handle",e)})}_setTooltipToHand(){this._options.tooltip&&this.hands.forEach(t=>t.insertAdjacentHTML("beforeend",YS({tooltip:this._classes.tooltip,tooltipValue:this._classes.tooltipValue},pf)))}_handleMoveEvent(t){const{tooltip:e,step:i}=this._options;ct.on(document,"mousemove touchmove",n=>{n.type==="mousemove"&&n.preventDefault();const{max:o,min:r,numberOfRanges:a}=this._options;if(t.hasAttribute(Oi)){const l=(Si(n)-this.leftConnectRect)/this.connect.offsetWidth*o;let c=(Si(n)-this.leftConnectRect)/(this.connect.offsetWidth/(o-r))%(o-r)+r;if((this._currentStepValue===Math.round(c)||Math.round(c)%i!==0)&&i!==null){this._canChangeStep=!1;return}this._canChangeStep=!0;let h=Si(n)-this.leftConnectRect-t.offsetWidth/2;const d=g.getDataAttribute(this.handActive,"handle"),u=g.getDataAttribute(this.handActive,"translation");if(c=o)return;const p=this.hands.map(f=>g.getDataAttribute(f,"translation"));if(a<2)Math.round(c)%i===0&&i!==null?(this._currentStepValue=Math.round(c),g.addStyle(t,{transform:`translate(${h}px,-25%)`}),e&&(this.activeTooltipValue.innerText=Math.round(c))):i===null&&(g.addStyle(t,{transform:`translate(${h}px,-25%)`}),e&&(this.activeTooltipValue.innerText=Math.round(c))),g.setDataAttribute(t,"translation",h);else{const f=d>0&&d=y?(b=y,v=h<=b):d===a-1&&u<=T?(b=T,v=h>=b):f&&(u>=y||u<=T)&&(b=u>=y?y:T,v=b===y?h<=b:h>=b),Math.round(c)%i===0&&i!==null?(this._currentStepValue=Math.round(c),g.addStyle(t,{transform:`translate(${b}px,-25%)`}),e&&b===h&&this.activeTooltipValue!==null&&(this.activeTooltipValue.innerText=Math.round(c))):i===null&&(g.addStyle(t,{transform:`translate(${b}px,-25%)`}),e&&b===h&&this.activeTooltipValue!==null&&(this.activeTooltipValue.innerText=Math.round(c))),g.setDataAttribute(t,"translation",v?h:b)}this._canChangeStep&&this._handleEventChangeValuesOnRange()}})}_handleEventChangeValuesOnRange(){const{max:t,min:e,numberOfRanges:i}=this._options,n=r=>{const a=r.getBoundingClientRect().left-this.leftConnectRect+r.offsetWidth/2;let l=a/(this.connect.offsetWidth/(t-e))%(t-e);return a===this.connect.offsetWidth?l=t:l+=e,g.setDataAttribute(r,"value",Math.round(l*10)/10),{value:l}};if(i<2){const{value:r}=n(this.hands[0]);_.trigger(this._element,hf,{values:{value:r+e,rounded:Math.round(r+e)}});return}const o=this.hands.map(r=>n(r));_.trigger(this._element,hf,{values:{value:o.map(({value:r})=>r+e),rounded:o.map(({value:r})=>Math.round(r+e))}})}_resetHandState(t,e){_.off(t,e),t.removeAttribute(Oi),this._options.tooltip&&t.children[1].removeAttribute(Oi)}_handleEndMoveEventDocument(){ct.on(document,"mouseup touchend",()=>{this._mousemove&&(this.hands.forEach(t=>{this._resetHandState(t,"mousemove")}),ct.off(document,"mousemove touchmove"),this._mousemove=!1)})}_handleEndMoveEvent(t){ct.on(t,"mouseup touchend",()=>{this._resetHandState(t,"mousemove"),ct.off(document,"mousemove touchmove"),this._mousemove=!1})}_handleClickOnRange(){this._options.step===null&&ct.on(this.connect,"mousedown touchstart",t=>{const e=[];let i=0;if(this.hands.forEach(n=>{this._mousemove=!0;const o=Si(t),r=n.offsetWidth,a=g.getDataAttribute(n,"translation"),l=o-this.leftConnectRect-r/2;this._options.numberOfRanges<2?this._updateHand(n,l):(e.push(Math.abs(l-a)),e.forEach((c,h)=>{c=2){const n=Si(t)-this.leftConnectRect-this.hands[i].offsetWidth/2;this._updateAdjacentHands(i,n)}this._handleEventChangeValuesOnRange()})}_updateHand(t,e){g.addStyle(t,{transform:`translate(${e}px,-25%)`}),g.setDataAttribute(t,"translation",e)}_updateAdjacentHands(t,e){const i=this.hands[t+1],n=this.hands[t-1],o=i?g.getDataAttribute(i,"translation"):void 0,r=n?g.getDataAttribute(n,"translation"):void 0;i&&e>o?this._updateHand(i,e):n&&e"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}static getInstance(t){return O.getData(t,Br)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const qS=s=>{ph(()=>{const t=uh();if(t){const e=s.NAME,i=t.fn[e];t.fn[e]=s.jQueryInterface,t.fn[e].Constructor=s,t.fn[e].noConflict=()=>(t.fn[e]=i,s.jQueryInterface)}})},ZS=(s,t)=>{_.on(document,`click.te.${s.NAME}`,t,function(e){e.preventDefault(),s.getOrCreateInstance(this).toggle()})},QS=(s,t)=>{_.on(document,`click.te.${s.NAME}.data-api`,t,function(e){if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),ci(this))return;s.getOrCreateInstance(this).show()})},JS=(s,t)=>{_.on(document,`click.te.${s.NAME}.data-api`,t,function(e){const i=Ne(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),ci(this))return;_.one(i,s.EVENT_HIDDEN,()=>{ae(this)&&this.focus()});const n=m.findOne(s.OPEN_SELECTOR);n&&n!==i&&s.getInstance(n).hide(),s.getOrCreateInstance(i).toggle(this)})},tO=(s,t)=>{_.on(document,`click.te.${s.NAME}`,t,e=>{e.preventDefault();const i=e.target.closest(t);s.getOrCreateInstance(i).toggle()})},eO=(s,t)=>{_.on(document,`click.te.${s.NAME}`,t,function(e){const i=Ne(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),_.one(i,s.EVENT_SHOW,r=>{r.defaultPrevented||_.one(i,s.EVENT_HIDDEN,()=>{ae(this)&&this.focus()})});const n=m.findOne(`[${s.OPEN_SELECTOR}="true"]`);n&&s.getInstance(n).hide(),s.getOrCreateInstance(i).toggle(this)})},iO=(s,t)=>{_.one(document,"mousedown",t,s.autoInitial(new s))},sO=(s,t)=>{_.on(document,`click.te.${s.NAME}.data-api`,t,function(e){(e.target.tagName==="A"||e.delegateTarget&&e.delegateTarget.tagName==="A")&&e.preventDefault();const i=Ca(this);m.find(i).forEach(o=>{s.getOrCreateInstance(o,{toggle:!1}).toggle()})})},nO=(s,t)=>{[].slice.call(document.querySelectorAll(t)).map(function(i){return new s(i)})},oO=(s,t)=>{[].slice.call(document.querySelectorAll(t)).map(function(i){return new s(i)})},rO=(s,t)=>{m.find(t).forEach(e=>{new s(e)}),_.on(document,`click.te.${s.NAME}.data-api`,`${t} img:not([data-te-lightbox-disabled])`,s.toggle())},aO=(s,t)=>{const e=o=>o[0]==="{"&&o[o.length-1]==="}"||o[0]==="["&&o[o.length-1]==="]",i=o=>typeof o!="string"?o:e(o)?JSON.parse(o.replace(/'/g,'"')):o,n=o=>{const r={};return Object.keys(o).forEach(a=>{if(a.match(/dataset.*/)){const l=a.slice(7,8).toLowerCase().concat(a.slice(8));r[l]=i(o[a])}}),r};m.find(t).forEach(o=>{if(g.getDataAttribute(o,"chart")!=="bubble"&&g.getDataAttribute(o,"chart")!=="scatter"){const r=g.getDataAttributes(o),a={data:{datasets:[n(r)]}};return r.chart&&(a.type=r.chart),r.labels&&(a.data.labels=JSON.parse(r.labels.replace(/'/g,'"'))),new s(o,{...a,...ln[a.type]})}return null})};class lO{constructor(){this.inits=[]}get initialized(){return this.inits}isInited(t){return this.inits.includes(t)}add(t){this.isInited(t)||this.inits.push(t)}}const fc=new lO,wn={alert:{name:"Alert",selector:"[data-te-alert-init]",isToggler:!1},animation:{name:"Animate",selector:"[data-te-animation-init]",isToggler:!1},carousel:{name:"Carousel",selector:"[data-te-carousel-init]",isToggler:!1},chips:{name:"ChipsInput",selector:"[data-te-chips-input-init]",isToggler:!1},chip:{name:"Chip",selector:"[data-te-chip-init]",isToggler:!1,onInit:"init"},datepicker:{name:"Datepicker",selector:"[data-te-datepicker-init]",isToggler:!1},datetimepicker:{name:"Datetimepicker",selector:"[data-te-date-timepicker-init]",isToggler:!1},input:{name:"Input",selector:"[data-te-input-wrapper-init]",isToggler:!1},perfectScrollbar:{name:"PerfectScrollbar",selector:"[data-te-perfect-scrollbar-init]",isToggler:!1},rating:{name:"Rating",selector:"[data-te-rating-init]",isToggler:!1},scrollspy:{name:"ScrollSpy",selector:"[data-te-spy='scroll']",isToggler:!1},select:{name:"Select",selector:"[data-te-select-init]",isToggler:!1},sidenav:{name:"Sidenav",selector:"[data-te-sidenav-init]",isToggler:!1},stepper:{name:"Stepper",selector:"[data-te-stepper-init]",isToggler:!1},timepicker:{name:"Timepicker",selector:"[data-te-timepicker-init]",isToggler:!1},toast:{name:"Toast",selector:"[data-te-toast-init]",isToggler:!1},datatable:{name:"Datatable",selector:"[data-te-datatable-init]"},popconfirm:{name:"Popconfirm",selector:"[data-te-toggle='popconfirm']"},validation:{name:"Validation",selector:"[data-te-validation-init]"},smoothScroll:{name:"SmoothScroll",selector:"a[data-te-smooth-scroll-init]"},lazyLoad:{name:"LazyLoad",selector:"[data-te-lazy-load-init]"},clipboard:{name:"Clipboard",selector:"[data-te-clipboard-init]"},infiniteScroll:{name:"InfiniteScroll",selector:"[data-te-infinite-scroll-init]"},loadingManagement:{name:"LoadingManagement",selector:"[data-te-loading-management-init]"},sticky:{name:"Sticky",selector:"[data-te-sticky-init]"},multiRangeSlider:{name:"MultiRangeSlider",selector:"[data-te-multi-range-slider-init]"},chart:{name:"Chart",selector:"[data-te-chart]",isToggler:!1,advanced:aO},button:{name:"Button",selector:"[data-te-toggle='button']",isToggler:!0,callback:tO},collapse:{name:"Collapse",selector:"[data-te-collapse-init]",isToggler:!0,callback:sO},dropdown:{name:"Dropdown",selector:"[data-te-dropdown-toggle-ref]",isToggler:!0,callback:ZS},modal:{name:"Modal",selector:"[data-te-toggle='modal']",isToggler:!0,callback:eO},ripple:{name:"Ripple",selector:"[data-te-ripple-init]",isToggler:!0,callback:iO},offcanvas:{name:"Offcanvas",selector:"[data-te-offcanvas-toggle]",isToggler:!0,callback:JS},tab:{name:"Tab",selector:"[data-te-toggle='tab'], [data-te-toggle='pill'], [data-te-toggle='list']",isToggler:!0,callback:QS},tooltip:{name:"Tooltip",selector:"[data-te-toggle='tooltip']",isToggler:!1,callback:nO},popover:{name:"Popover",selector:"[data-te-toggle='popover']",isToggler:!0,callback:oO},lightbox:{name:"Lightbox",selector:"[data-te-lightbox-init]",isToggler:!0,callback:rO},touch:{name:"Touch",selector:"[data-te-touch-init]"}},cO=s=>wn[s.NAME]||null,hO=(s,t)=>{if(!s||!t.allowReinits&&fc.isInited(s.NAME))return;fc.add(s.NAME);const e=cO(s),i=(e==null?void 0:e.isToggler)||!1;if(qS(s),e!=null&&e.advanced){e==null||e.advanced(s,e==null?void 0:e.selector);return}if(i){e==null||e.callback(s,e==null?void 0:e.selector);return}m.find(e==null?void 0:e.selector).forEach(n=>{let o=s.getInstance(n);o||(o=new s(n),e!=null&&e.onInit&&o[e.onInit]())})},dO=(s,t)=>{s.forEach(e=>hO(e,t))},uO={allowReinits:!1,checkOtherImports:!1},ff=(s,t={})=>{t={...uO,...t};const e=Object.keys(wn).map(i=>{if(!!document.querySelector(wn[i].selector)){const o=s[wn[i].name];return!o&&!fc.isInited(i)&&t.checkOtherImports&&console.warn(`Please import ${wn[i].name} from "tw-elements" package and add it to a object parameter inside "initTE" function`),o}});dO(e,t)},_f="sidenav",Vr="te.sidenav",pO="data-te-sidenav-rotate-icon-ref",_c="[data-te-sidenav-toggle-ref]",fO="[data-te-collapse-init]",_O='[data-te-sidenav-slim="true"]',gO='[data-te-sidenav-slim="false"]',mO="[data-te-sidenav-menu-ref]",Cs="[data-te-sidenav-collapse-ref]",kn="[data-te-sidenav-link-ref]",bO=et()?100:-100,vO=et()?-100:100,yO={sidenavAccordion:"(boolean)",sidenavBackdrop:"(boolean)",sidenavBackdropClass:"(null|string)",sidenavCloseOnEsc:"(boolean)",sidenavColor:"(string)",sidenavContent:"(null|string)",sidenavExpandable:"(boolean)",sidenavExpandOnHover:"(boolean)",sidenavFocusTrap:"(boolean)",sidenavHidden:"(boolean)",sidenavMode:"(string)",sidenavModeBreakpointOver:"(null|string|number)",sidenavModeBreakpointSide:"(null|string|number)",sidenavModeBreakpointPush:"(null|string|number)",sidenavBreakpointSm:"(number)",sidenavBreakpointMd:"(number)",sidenavBreakpointLg:"(number)",sidenavBreakpointXl:"(number)",sidenavBreakpoint2xl:"(number)",sidenavScrollContainer:"(null|string)",sidenavSlim:"(boolean)",sidenavSlimCollapsed:"(boolean)",sidenavSlimWidth:"(number)",sidenavPosition:"(string)",sidenavRight:"(boolean)",sidenavTransitionDuration:"(number)",sidenavWidth:"(number)"},TO={sidenavAccordion:!1,sidenavBackdrop:!0,sidenavBackdropClass:null,sidenavCloseOnEsc:!0,sidenavColor:"primary",sidenavContent:null,sidenavExpandable:!0,sidenavExpandOnHover:!1,sidenavFocusTrap:!0,sidenavHidden:!0,sidenavMode:"over",sidenavModeBreakpointOver:null,sidenavModeBreakpointSide:null,sidenavModeBreakpointPush:null,sidenavBreakpointSm:640,sidenavBreakpointMd:768,sidenavBreakpointLg:1024,sidenavBreakpointXl:1280,sidenavBreakpoint2xl:1536,sidenavScrollContainer:null,sidenavSlim:!1,sidenavSlimCollapsed:!1,sidenavSlimWidth:77,sidenavPosition:"fixed",sidenavRight:!1,sidenavTransitionDuration:300,sidenavWidth:240};class Ii{constructor(t,e={}){ke(this,"_addBackdropOnInit",()=>{this._options.sidenavHidden||(this._backdrop.show(),_.off(this._element,"transitionend",this._addBackdropOnInit))});this._element=t,this._options=e,this._ID=bt(""),this._content=null,this._initialContentStyle=null,this._slimCollapsed=!1,this._activeNode=null,this._tempSlim=!1,this._backdrop=this._initializeBackDrop(),this._focusTrap=null,this._perfectScrollbar=null,this._touch=null,this._setModeFromBreakpoints(),this.escHandler=i=>{i.keyCode===xi&&this.toggler&&ae(this.toggler)&&(this._update(!1),_.off(window,"keydown",this.escHandler))},this.hashHandler=()=>{this._setActiveElements()},t&&(O.setData(t,Vr,this),this._setup()),this.options.sidenavBackdrop&&!this.options.sidenavHidden&&this.options.sidenavMode==="over"&&_.on(this._element,"transitionend",this._addBackdropOnInit),this._didInit=!1,this._init()}static get NAME(){return _f}get container(){if(this.options.sidenavPosition==="fixed")return m.findOne("body");const t=e=>!e.parentNode||e.parentNode===document?e:e.parentNode.style.position==="relative"||e.parentNode.classList.contains("relative")?e.parentNode:t(e.parentNode);return t(this._element)}get isVisible(){let t=0,e=window.innerWidth;if(this.options.sidenavPosition!=="fixed"){const n=this.container.getBoundingClientRect();t=n.x,e=n.x+n.width}const{x:i}=this._element.getBoundingClientRect();if(this.options.sidenavRight&&!et()||!this.options.sidenavRight&&et()){let n=0;if(this.container.scrollHeight>this.container.clientHeight&&(n=this.container.offsetWidth-this.container.clientWidth),this.container.tagName==="BODY"){const o=document.documentElement.clientWidth;n=Math.abs(window.innerWidth-o)}return Math.abs(i+n-e)>10}return Math.abs(i-t)<10}get links(){return m.find(kn,this._element)}get navigation(){return m.find(mO,this._element)}get options(){const t={...TO,...g.getDataAttributes(this._element),...this._options};return L(_f,t,yO),t}get sidenavStyle(){return{width:`${this.width}px`,height:this.options.sidenavPosition==="fixed"?"100vh":"100%",position:this.options.sidenavPosition,transition:`all ${this.transitionDuration} linear`}}get toggler(){return m.find(_c).find(e=>{const i=g.getDataAttribute(e,"target");return m.findOne(i)===this._element})}get transitionDuration(){return`${this.options.sidenavTransitionDuration/1e3}s`}get translation(){return this.options.sidenavRight?vO:bO}get width(){return this._slimCollapsed?this.options.sidenavSlimWidth:this.options.sidenavWidth}get isBackdropVisible(){return!!this._backdrop._element}changeMode(t){this._setMode(t)}dispose(){_.off(window,"keydown",this.escHandler),this.options.sidenavBackdrop&&this._backdrop.dispose(),_.off(window,"hashchange",this.hashHandler),this._touch.dispose(),O.removeData(this._element,Vr),this._element=null}hide(){this._emitEvents(!1),this._update(!1),this._options.sidenavBackdrop&&this.isBackdropVisible&&this._backdrop.hide()}show(){this._emitEvents(!0),this._update(!0),this._options.sidenavBackdrop&&this._options.sidenavMode==="over"&&this._backdrop.show()}toggle(){this._emitEvents(!this.isVisible),this._update(!this.isVisible)}toggleSlim(){this._setSlim(!this._slimCollapsed)}update(t){this._options=t,this._setup()}getBreakpoint(t){return this._transformBreakpointValuesToObject()[t]}_init(){this._didInit||(_.on(document,"click",_c,Ii.toggleSidenav()),this._didInit=!0)}_transformBreakpointValuesToObject(){return{sm:this.options.sidenavBreakpointSm,md:this.options.sidenavBreakpointMd,lg:this.options.sidenavBreakpointLg,xl:this.options.sidenavBreakpointXl,"2xl":this.options.sidenavBreakpoint2xl}}_setModeFromBreakpoints(){const t=window.innerWidth,e=this._transformBreakpointValuesToObject();if(t===void 0||!e)return;const i=typeof this.options.sidenavModeBreakpointOver=="number"?t-this.options.sidenavModeBreakpointOver:t-e[this.options.sidenavModeBreakpointOver],n=typeof this.options.sidenavModeBreakpointSide=="number"?t-this.options.sidenavModeBreakpointSide:t-e[this.options.sidenavModeBreakpointSide],o=typeof this.options.sidenavModeBreakpointPush=="number"?t-this.options.sidenavModeBreakpointPush:t-e[this.options.sidenavModeBreakpointPush],r=(l,c)=>l-c<0?-1:c-l<0?1:0,a=[i,n,o].filter(l=>l!=null&&l>=0).sort(r)[0];i>0&&i===a?(this._options.sidenavMode="over",this._options.sidenavHidden=!0):n>0&&n===a?this._options.sidenavMode="side":o>0&&o===a&&(this._options.sidenavMode="push")}_collapseItems(){this.navigation.forEach(t=>{m.find(Cs,t).forEach(i=>{ce.getInstance(i).hide()})})}_getOffsetValue(t,{index:e,property:i,offsets:n}){const o=this._getPxValue(this._initialContentStyle[e][n[i].property]),r=t?n[i].value:0;return o+r}_getProperty(...t){return t.map((e,i)=>i===0?e:e[0].toUpperCase().concat(e.slice(1))).join("")}_getPxValue(t){return t?parseFloat(t):0}_handleSwipe(t,e){e&&this._slimCollapsed&&this.options.sidenavSlim&&this.options.sidenavExpandable?this.toggleSlim():e||(this._slimCollapsed||!this.options.sidenavSlim||!this.options.sidenavExpandable?this.toggler&&ae(this.toggler)&&this.toggle():this.toggleSlim())}_isActive(t,e){return e?e===t:t.attributes.href?new URL(t,window.location.href).href===window.location.href:!1}_isAllToBeCollapsed(){return m.find(fO,this._element).filter(i=>i.getAttribute("aria-expanded")==="true").length===0}_isAllCollapsed(){return m.find(Cs,this._element).filter(t=>ae(t)).length===0}_initializeBackDrop(){if(!this.options.sidenavBackdrop)return;const t=this.options.sidenavBackdropClass?this.options.sidenavBackdropClass.split(" "):this.options.sidenavPosition?["opacity-50","transition-all","duration-300","ease-in-out",this.options.sidenavPosition,"top-0","left-0","z-50","bg-black/10","dark:bg-black-60","w-full","h-full",this._element.id]:null;return new Qa({isVisible:this.options.sidenavBackdrop,isAnimated:!0,rootElement:this._element.parentNode,backdropClasses:t,clickCallback:()=>this.hide()})}_updateBackdrop(t){if(this.options.sidenavMode==="over"){t?this._backdrop.show():this.isBackdropVisible&&this._backdrop.hide();return}this.isBackdropVisible&&this._backdrop.hide()}_setup(){this._setupTouch(),this.options.sidenavFocusTrap&&this._setupFocusTrap(),this._setupCollapse(),this.options.sidenavSlim&&this._setupSlim(),this._setupInitialStyling(),this._setupScrolling(),this.options.sidenavContent&&this._setupContent(),this._setupActiveState(),this._setupRippleEffect(),this.options.sidenavHidden||this._updateOffsets(!0,!0),this.options.sidenavMode==="over"&&this._setTabindex(!0)}_setupActiveState(){this._setActiveElements(),this.links.forEach(t=>{_.on(t,"click",()=>this._setActiveElements(t)),_.on(t,"keydown",e=>{e.keyCode===Et&&this._setActiveElements(t)})}),_.on(window,"hashchange",this.hashHandler)}_setupCollapse(){this.navigation.forEach((t,e)=>{m.find(Cs,t).forEach((n,o)=>this._setupCollapseList({list:n,index:o,menu:t,menuIndex:e}))})}_generateCollpaseID(t,e){return`sidenav-collapse-${this._ID}-${e}-${t}`}_setupCollapseList({list:t,index:e,menu:i,menuIndex:n}){const o=this._generateCollpaseID(e,n);t.setAttribute("id",o),t.setAttribute("data-te-collapse-item","");const[r]=m.prev(t,kn);g.setDataAttribute(r,"collapse-init",""),r.setAttribute("href",`#${o}`),r.setAttribute("role","button");const a=ce.getInstance(t)||new ce(t,{toggle:!1,parent:this.options.sidenavAccordion?i:t});(t.dataset.teSidenavStateShow===""||t.dataset.teCollapseShow==="")&&this._rotateArrow(r,!1),_.on(r,"click",l=>{this._toggleCategory(l,a,t),this._tempSlim&&this._isAllToBeCollapsed()&&(this._setSlim(!0),this._tempSlim=!1),this.options.sidenavMode==="over"&&this._focusTrap&&this._focusTrap.update()}),_.on(t,"show.te.collapse",()=>this._rotateArrow(r,!1)),_.on(t,"hide.te.collapse",()=>this._rotateArrow(r,!0)),_.on(t,"shown.te.collapse",()=>{this.options.sidenavMode==="over"&&this._focusTrap&&this._focusTrap.update()}),_.on(t,"hidden.te.collapse",()=>{this._tempSlim&&this._isAllCollapsed()&&(this._setSlim(!0),this._tempSlim=!1),this.options.sidenavMode==="over"&&this._focusTrap&&this._focusTrap.update()})}_setupContent(){this._content=m.find(this.options.sidenavContent),this._content.forEach(t=>{const e=["!p","!m","!px","!pl","!pr","!mx","!ml","!mr","!-p","!-m","!-px","!-pl","!-pr","!-mx","!-ml","!-mr"];[...t.classList].filter(n=>e.findIndex(o=>n.includes(o))>=0).forEach(n=>t.classList.remove(n))}),this._initialContentStyle=this._content.map(t=>{const{paddingLeft:e,paddingRight:i,marginLeft:n,marginRight:o,transition:r}=window.getComputedStyle(t);return{paddingLeft:e,paddingRight:i,marginLeft:n,marginRight:o,transition:r}})}_setupFocusTrap(){this._focusTrap=new Vs(this._element,{event:"keydown",condition:t=>t.keyCode===Ci,onlyVisible:!0},this.toggler)}_setupInitialStyling(){this._setColor(),g.style(this._element,this.sidenavStyle)}_setupScrolling(){let t=this._element;if(this.options.sidenavScrollContainer){t=m.findOne(this.options.sidenavScrollContainer,this._element);const i=dm(t.parentNode.children).filter(n=>n!==t).reduce((n,o)=>n+o.clientHeight,0);g.style(t,{maxHeight:`calc(100% - ${i}px)`,position:"relative"})}this._perfectScrollbar=new ms(t,{suppressScrollX:!0,handlers:["click-rail","drag-thumb","wheel","touch"]})}_setupSlim(){this._slimCollapsed=this.options.sidenavSlimCollapsed,this._toggleSlimDisplay(this._slimCollapsed),this.options.sidenavExpandOnHover&&(this._element.addEventListener("mouseenter",()=>{this._slimCollapsed&&this._setSlim(!1)}),this._element.addEventListener("mouseleave",()=>{this._slimCollapsed||this._setSlim(!0)}))}_setupRippleEffect(){this.links.forEach(t=>{let e=Ye.getInstance(t),i=this.options.sidenavColor;if(e&&e._options.sidenavColor!==this.options.sidenavColor)e.dispose();else if(e)return;(localStorage.theme==="dark"||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches)&&(i="white"),e=new Ye(t,{rippleColor:i})})}_setupTouch(){this._touch=new pE(this._element,"swipe",{threshold:20}),this._touch.init(),_.on(this._element,"swipeleft",t=>this._handleSwipe(t,this.options.sidenavRight)),_.on(this._element,"swiperight",t=>this._handleSwipe(t,!this.options.sidenavRight))}_setActive(t,e){t.setAttribute("data-te-sidebar-state-active",""),this._activeNode&&t.removeAttribute("data-te-sidebar-state-active"),this._activeNode=t;const[i]=m.parents(this._activeNode,Cs);if(!i){this._setActiveCategory();return}const[n]=m.prev(i,kn);this._setActiveCategory(n),!e&&!this._slimCollapsed&&ce.getInstance(i).show()}_setActiveCategory(t){this.navigation.forEach(e=>{m.find(Cs,e).forEach(n=>{const[o]=m.prev(n,kn);o!==t?o.removeAttribute("data-te-sidenav-state-active"):o.setAttribute("data-te-sidenav-state-active","")})})}_setActiveElements(t){this.navigation.forEach(e=>{m.find(kn,e).filter(n=>m.next(n,Cs).length===0).forEach(n=>{this._isActive(n,t)&&n!==this._activeNode&&this._setActive(n,t)})}),t&&this._updateFocus(this.isVisible)}_setColor(){const t=["primary","secondary","success","info","warning","danger","light","dark"],{sidenavColor:e}=this.options,i=t.includes(e)?e:"primary";t.forEach(n=>{this._element.classList.remove(`sidenav-${n}`)}),g.addClass(this._element,`sidenav-${i}`)}_setContentOffsets(t,e,i){this._content.forEach((n,o)=>{const r=this._getOffsetValue(t,{index:o,property:"padding",offsets:e}),a=this._getOffsetValue(t,{index:o,property:"margin",offsets:e}),l={};if(i||(l.transition=`all ${this.transitionDuration} linear`),l[e.padding.property]=`${r}px`,l[e.margin.property]=`${a}px`,g.style(n,l),!!t){if(i){g.style(n,{transition:this._initialContentStyle[o].transition});return}_.on(n,"transitionend",()=>{g.style(n,{transition:this._initialContentStyle[o].transition})})}})}_setMode(t){this.options.sidenavMode!==t&&(this._options.sidenavMode=t,this._update(this.isVisible))}_setSlim(t){const e=t?["collapse","collapsed"]:["expand","expanded"];this._triggerEvents(...e),t&&this._collapseItems(),this._slimCollapsed=t,this._toggleSlimDisplay(t),g.style(this._element,{width:`${this.width}px`}),this._updateOffsets(this.isVisible)}_setTabindex(t){this.links.forEach(e=>{e.tabIndex=t?0:-1})}_emitEvents(t){const e=t?["show","shown"]:["hide","hidden"];this._triggerEvents(...e)}_rotateArrow(t,e){const[i]=m.children(t,`[${pO}]`);i&&(e?g.removeClass(i,"rotate-180"):g.addClass(i,"rotate-180"))}_toggleCategory(t,e){t.preventDefault(),e.toggle(),this._slimCollapsed&&this.options.sidenavExpandable&&(this._tempSlim=!0,this._setSlim(!1))}_toggleSlimDisplay(t){const e=m.find(_O,this._element),i=m.find(gO,this._element),n=()=>{e.forEach(o=>{g.style(o,{display:this._slimCollapsed?"unset":"none"})}),i.forEach(o=>{g.style(o,{display:this._slimCollapsed?"none":"unset"})})};t?setTimeout(()=>n(),this.options.sidenavTransitionDuration):n()}async _triggerEvents(t,e){_.trigger(this._element,`${t}.te.sidenav`),e&&await setTimeout(()=>{_.trigger(this._element,`${e}.te.sidenav`)},this.options.sidenavTransitionDuration+5)}_isiPhone(){return/iPhone|iPod/i.test(navigator.userAgent)}_update(t){t&&this._isiPhone()&&g.addClass(this._element,"ps--scrolling-y"),this.toggler&&this._updateTogglerAria(t),this._updateDisplay(t),this.options.sidenavBackdrop&&this._updateBackdrop(t),this._updateOffsets(t),t&&this.options.sidenavCloseOnEsc&&this.options.sidenavMode!=="side"&&_.on(window,"keydown",this.escHandler),this.options.sidenavFocusTrap&&this._updateFocus(t)}_updateDisplay(t){const e=t?0:this.translation;g.style(this._element,{transform:`translateX(${e}%)`})}_updateFocus(t){if(this._setTabindex(t),this.options.sidenavMode==="over"&&this.options.sidenavFocusTrap){if(t){this._focusTrap.trap();return}this._focusTrap.disable()}this._focusTrap.disable()}_updateOffsets(t,e=!1){const[i,n]=this.options.sidenavRight?["right","left"]:["left","right"],o={property:this._getProperty("padding",i),value:this.options.sidenavMode==="over"?0:this.width},r={property:this._getProperty("margin",n),value:this.options.sidenavMode==="push"?-1*this.width:0};_.trigger(this._element,"update.te.sidenav",{margin:r,padding:o}),this._content&&(this._content.className="",this._setContentOffsets(t,{padding:o,margin:r},e))}_updateTogglerAria(t){this.toggler.setAttribute("aria-expanded",t)}static toggleSidenav(){return function(t){const e=m.closest(t.target,_c),i=g.getDataAttributes(e).target;m.find(i).forEach(n=>{(Ii.getInstance(n)||new Ii(n)).toggle()})}}static jQueryInterface(t,e){return this.each(function(){let i=O.getData(this,Vr);const n=typeof t=="object"&&t;if(!(!i&&/dispose/.test(t))&&(i||(i=new Ii(this,n)),typeof t=="string")){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}static getInstance(t){return O.getData(t,Vr)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}ff({Animate:Gs,Alert:Ws,Button:ao,ChipsInput:gp,Chip:ki,Dropdown:Ft,Carousel:he,Collapse:ce,Offcanvas:ts,Modal:Ys,Popover:Eo,ScrollSpy:xo,Select:on,Tab:wo,Toast:Xs,Tooltip:is,Ripple:Ye,Datepicker:xl,Timepicker:Ll,Sidenav:Ii,Stepper:Wu,Input:Z,PerfectScrollbar:ms,Rating:Bp,Chart:yp,Datatable:pr,Popconfirm:_r,SmoothScroll:xr,Lightbox:ys,Validation:Tr,Touch:Er,LazyLoad:yn,Datetimepicker:Dr,Clipboard:Ar,InfiniteScroll:kr,LoadingManagement:Or,Autocomplete:Pr,Sticky:Lr,MultiRangeSlider:Hr});/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */function Oe(){}const EO=function(){let s=0;return function(){return s++}}();function H(s){return s===null||typeof s>"u"}function Q(s){if(Array.isArray&&Array.isArray(s))return!0;const t=Object.prototype.toString.call(s);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function V(s){return s!==null&&Object.prototype.toString.call(s)==="[object Object]"}const rt=s=>(typeof s=="number"||s instanceof Number)&&isFinite(+s);function zt(s,t){return rt(s)?s:t}function B(s,t){return typeof s>"u"?t:s}const xO=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100:s/t,gf=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100*t:+s;function G(s,t,e){if(s&&typeof s.call=="function")return s.apply(e,t)}function U(s,t,e,i){let n,o,r;if(Q(s))if(o=s.length,i)for(n=o-1;n>=0;n--)t.call(e,s[n],n);else for(n=0;ns,x:s=>s.x,y:s=>s.y};function ti(s,t){return(bf[t]||(bf[t]=wO(t)))(s)}function wO(s){const t=kO(s);return e=>{for(const i of t){if(i==="")break;e=e&&e[i]}return e}}function kO(s){const t=s.split("."),e=[];let i="";for(const n of t)i+=n,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function gc(s){return s.charAt(0).toUpperCase()+s.slice(1)}const jt=s=>typeof s<"u",ei=s=>typeof s=="function",vf=(s,t)=>{if(s.size!==t.size)return!1;for(const e of s)if(!t.has(e))return!1;return!0};function SO(s){return s.type==="mouseup"||s.type==="click"||s.type==="contextmenu"}const it=Math.PI,q=2*it,OO=q+it,zr=Number.POSITIVE_INFINITY,IO=it/180,nt=it/2,On=it/4,yf=it*2/3,Yt=Math.log10,Ee=Math.sign;function Tf(s){const t=Math.round(s);s=In(s,t,s/1e3)?t:s;const e=Math.pow(10,Math.floor(Yt(s))),i=s/e;return(i<=1?1:i<=2?2:i<=5?5:10)*e}function DO(s){const t=[],e=Math.sqrt(s);let i;for(i=1;in-o).pop(),t}function As(s){return!isNaN(parseFloat(s))&&isFinite(s)}function In(s,t,e){return Math.abs(s-t)=s}function Ef(s,t,e){let i,n,o;for(i=0,n=s.length;il&&c=Math.min(t,e)-i&&s<=Math.max(t,e)+i}function vc(s,t,e){e=e||(r=>s[r]1;)o=n+i>>1,e(o)?n=o:i=o;return{lo:n,hi:i}}const De=(s,t,e,i)=>vc(s,e,i?n=>s[n][t]<=e:n=>s[n][t]vc(s,e,i=>s[i][t]>=e);function PO(s,t,e){let i=0,n=s.length;for(;ii&&s[n-1]>e;)n--;return i>0||n{const i="_onData"+gc(e),n=s[e];Object.defineProperty(s,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return s._chartjs.listeners.forEach(a=>{typeof a[i]=="function"&&a[i](...o)}),r}})})}function wf(s,t){const e=s._chartjs;if(!e)return;const i=e.listeners,n=i.indexOf(t);n!==-1&&i.splice(n,1),!(i.length>0)&&(Af.forEach(o=>{delete s[o]}),delete s._chartjs)}function kf(s){const t=new Set;let e,i;for(e=0,i=s.length;e"u"?function(s){return s()}:window.requestAnimationFrame}();function Of(s,t,e){const i=e||(r=>Array.prototype.slice.call(r));let n=!1,o=[];return function(...r){o=i(r),n||(n=!0,Sf.call(window,()=>{n=!1,s.apply(t,o)}))}}function BO(s,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(s,t,i)):s.apply(this,i),t}}const yc=s=>s==="start"?"left":s==="end"?"right":"center",gt=(s,t,e)=>s==="start"?t:s==="end"?e:(t+e)/2,HO=(s,t,e,i)=>s===(i?"left":"right")?e:s==="center"?(t+e)/2:t;function If(s,t,e){const i=t.length;let n=0,o=i;if(s._sorted){const{iScale:r,_parsed:a}=s,l=r.axis,{min:c,max:h,minDefined:d,maxDefined:u}=r.getUserBounds();d&&(n=dt(Math.min(De(a,r.axis,c).lo,e?i:De(t,l,r.getPixelForValue(c)).lo),0,i-1)),u?o=dt(Math.max(De(a,r.axis,h,!0).hi+1,e?0:De(t,l,r.getPixelForValue(h),!0).hi+1),n,i)-n:o=i-n}return{start:n,count:o}}function Df(s){const{xScale:t,yScale:e,_scaleRanges:i}=s,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return s._scaleRanges=n,!0;const o=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,n),o}const jr=s=>s===0||s===1,Mf=(s,t,e)=>-(Math.pow(2,10*(s-=1))*Math.sin((s-t)*q/e)),Lf=(s,t,e)=>Math.pow(2,-10*s)*Math.sin((s-t)*q/e)+1,Mn={linear:s=>s,easeInQuad:s=>s*s,easeOutQuad:s=>-s*(s-2),easeInOutQuad:s=>(s/=.5)<1?.5*s*s:-.5*(--s*(s-2)-1),easeInCubic:s=>s*s*s,easeOutCubic:s=>(s-=1)*s*s+1,easeInOutCubic:s=>(s/=.5)<1?.5*s*s*s:.5*((s-=2)*s*s+2),easeInQuart:s=>s*s*s*s,easeOutQuart:s=>-((s-=1)*s*s*s-1),easeInOutQuart:s=>(s/=.5)<1?.5*s*s*s*s:-.5*((s-=2)*s*s*s-2),easeInQuint:s=>s*s*s*s*s,easeOutQuint:s=>(s-=1)*s*s*s*s+1,easeInOutQuint:s=>(s/=.5)<1?.5*s*s*s*s*s:.5*((s-=2)*s*s*s*s+2),easeInSine:s=>-Math.cos(s*nt)+1,easeOutSine:s=>Math.sin(s*nt),easeInOutSine:s=>-.5*(Math.cos(it*s)-1),easeInExpo:s=>s===0?0:Math.pow(2,10*(s-1)),easeOutExpo:s=>s===1?1:-Math.pow(2,-10*s)+1,easeInOutExpo:s=>jr(s)?s:s<.5?.5*Math.pow(2,10*(s*2-1)):.5*(-Math.pow(2,-10*(s*2-1))+2),easeInCirc:s=>s>=1?s:-(Math.sqrt(1-s*s)-1),easeOutCirc:s=>Math.sqrt(1-(s-=1)*s),easeInOutCirc:s=>(s/=.5)<1?-.5*(Math.sqrt(1-s*s)-1):.5*(Math.sqrt(1-(s-=2)*s)+1),easeInElastic:s=>jr(s)?s:Mf(s,.075,.3),easeOutElastic:s=>jr(s)?s:Lf(s,.075,.3),easeInOutElastic(s){return jr(s)?s:s<.5?.5*Mf(s*2,.1125,.45):.5+.5*Lf(s*2-1,.1125,.45)},easeInBack(s){return s*s*((1.70158+1)*s-1.70158)},easeOutBack(s){return(s-=1)*s*((1.70158+1)*s+1.70158)+1},easeInOutBack(s){let t=1.70158;return(s/=.5)<1?.5*(s*s*(((t*=1.525)+1)*s-t)):.5*((s-=2)*s*(((t*=1.525)+1)*s+t)+2)},easeInBounce:s=>1-Mn.easeOutBounce(1-s),easeOutBounce(s){return s<1/2.75?7.5625*s*s:s<2/2.75?7.5625*(s-=1.5/2.75)*s+.75:s<2.5/2.75?7.5625*(s-=2.25/2.75)*s+.9375:7.5625*(s-=2.625/2.75)*s+.984375},easeInOutBounce:s=>s<.5?Mn.easeInBounce(s*2)*.5:Mn.easeOutBounce(s*2-1)*.5+.5};/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */function Ln(s){return s+.5|0}const ii=(s,t,e)=>Math.max(Math.min(s,e),t);function $n(s){return ii(Ln(s*2.55),0,255)}function si(s){return ii(Ln(s*255),0,255)}function Me(s){return ii(Ln(s/2.55)/100,0,1)}function $f(s){return ii(Ln(s*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Tc=[..."0123456789ABCDEF"],VO=s=>Tc[s&15],FO=s=>Tc[(s&240)>>4]+Tc[s&15],Yr=s=>(s&240)>>4===(s&15),WO=s=>Yr(s.r)&&Yr(s.g)&&Yr(s.b)&&Yr(s.a);function zO(s){var t=s.length,e;return s[0]==="#"&&(t===4||t===5?e={r:255&Kt[s[1]]*17,g:255&Kt[s[2]]*17,b:255&Kt[s[3]]*17,a:t===5?Kt[s[4]]*17:255}:(t===7||t===9)&&(e={r:Kt[s[1]]<<4|Kt[s[2]],g:Kt[s[3]]<<4|Kt[s[4]],b:Kt[s[5]]<<4|Kt[s[6]],a:t===9?Kt[s[7]]<<4|Kt[s[8]]:255})),e}const jO=(s,t)=>s<255?t(s):"";function YO(s){var t=WO(s)?VO:FO;return s?"#"+t(s.r)+t(s.g)+t(s.b)+jO(s.a,t):void 0}const KO=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Rf(s,t,e){const i=t*Math.min(e,1-e),n=(o,r=(o+s/30)%12)=>e-i*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function UO(s,t,e){const i=(n,o=(n+s/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function XO(s,t,e){const i=Rf(s,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)i[n]*=1-t-e,i[n]+=t;return i}function GO(s,t,e,i,n){return s===n?(t-e)/i+(t.5?h/(2-o-r):h/(o+r),l=GO(e,i,n,h,o),l=l*60+.5),[l|0,c||0,a]}function xc(s,t,e,i){return(Array.isArray(t)?s(t[0],t[1],t[2]):s(t,e,i)).map(si)}function Cc(s,t,e){return xc(Rf,s,t,e)}function qO(s,t,e){return xc(XO,s,t,e)}function ZO(s,t,e){return xc(UO,s,t,e)}function Pf(s){return(s%360+360)%360}function QO(s){const t=KO.exec(s);let e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?$n(+t[5]):si(+t[5]));const n=Pf(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?i=qO(n,o,r):t[1]==="hsv"?i=ZO(n,o,r):i=Cc(n,o,r),{r:i[0],g:i[1],b:i[2],a:e}}function JO(s,t){var e=Ec(s);e[0]=Pf(e[0]+t),e=Cc(e),s.r=e[0],s.g=e[1],s.b=e[2]}function tI(s){if(!s)return;const t=Ec(s),e=t[0],i=$f(t[1]),n=$f(t[2]);return s.a<255?`hsla(${e}, ${i}%, ${n}%, ${Me(s.a)})`:`hsl(${e}, ${i}%, ${n}%)`}const Nf={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Bf={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function eI(){const s={},t=Object.keys(Bf),e=Object.keys(Nf);let i,n,o,r,a;for(i=0;i>16&255,o>>8&255,o&255]}return s}let Kr;function iI(s){Kr||(Kr=eI(),Kr.transparent=[0,0,0,0]);const t=Kr[s.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const sI=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function nI(s){const t=sI.exec(s);let e=255,i,n,o;if(t){if(t[7]!==i){const r=+t[7];e=t[8]?$n(r):ii(r*255,0,255)}return i=+t[1],n=+t[3],o=+t[5],i=255&(t[2]?$n(i):ii(i,0,255)),n=255&(t[4]?$n(n):ii(n,0,255)),o=255&(t[6]?$n(o):ii(o,0,255)),{r:i,g:n,b:o,a:e}}}function oI(s){return s&&(s.a<255?`rgba(${s.r}, ${s.g}, ${s.b}, ${Me(s.a)})`:`rgb(${s.r}, ${s.g}, ${s.b})`)}const Ac=s=>s<=.0031308?s*12.92:Math.pow(s,1/2.4)*1.055-.055,ws=s=>s<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4);function rI(s,t,e){const i=ws(Me(s.r)),n=ws(Me(s.g)),o=ws(Me(s.b));return{r:si(Ac(i+e*(ws(Me(t.r))-i))),g:si(Ac(n+e*(ws(Me(t.g))-n))),b:si(Ac(o+e*(ws(Me(t.b))-o))),a:s.a+e*(t.a-s.a)}}function Ur(s,t,e){if(s){let i=Ec(s);i[t]=Math.max(0,Math.min(i[t]+i[t]*e,t===0?360:1)),i=Cc(i),s.r=i[0],s.g=i[1],s.b=i[2]}}function Hf(s,t){return s&&Object.assign(t||{},s)}function Vf(s){var t={r:0,g:0,b:0,a:255};return Array.isArray(s)?s.length>=3&&(t={r:s[0],g:s[1],b:s[2],a:255},s.length>3&&(t.a=si(s[3]))):(t=Hf(s,{r:0,g:0,b:0,a:1}),t.a=si(t.a)),t}function aI(s){return s.charAt(0)==="r"?nI(s):QO(s)}class Xr{constructor(t){if(t instanceof Xr)return t;const e=typeof t;let i;e==="object"?i=Vf(t):e==="string"&&(i=zO(t)||iI(t)||aI(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Hf(this._rgb);return t&&(t.a=Me(t.a)),t}set rgb(t){this._rgb=Vf(t)}rgbString(){return this._valid?oI(this._rgb):void 0}hexString(){return this._valid?YO(this._rgb):void 0}hslString(){return this._valid?tI(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,n=t.rgb;let o;const r=e===o?.5:e,a=2*r-1,l=i.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,i.r=255&c*i.r+o*n.r+.5,i.g=255&c*i.g+o*n.g+.5,i.b=255&c*i.b+o*n.b+.5,i.a=r*i.a+(1-r)*n.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=rI(this._rgb,t._rgb,e)),this}clone(){return new Xr(this.rgb)}alpha(t){return this._rgb.a=si(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=Ln(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ur(this._rgb,2,t),this}darken(t){return Ur(this._rgb,2,-t),this}saturate(t){return Ur(this._rgb,1,t),this}desaturate(t){return Ur(this._rgb,1,-t),this}rotate(t){return JO(this._rgb,t),this}}function Ff(s){return new Xr(s)}function Wf(s){if(s&&typeof s=="object"){const t=s.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function zf(s){return Wf(s)?s:Ff(s)}function wc(s){return Wf(s)?s:Ff(s).saturate(.5).darken(.1).hexString()}const Di=Object.create(null),kc=Object.create(null);function Rn(s,t){if(!t)return s;const e=t.split(".");for(let i=0,n=e.length;ie.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,i)=>wc(i.backgroundColor),this.hoverBorderColor=(e,i)=>wc(i.borderColor),this.hoverColor=(e,i)=>wc(i.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return Sc(this,t,e)}get(t){return Rn(this,t)}describe(t,e){return Sc(kc,t,e)}override(t,e){return Sc(Di,t,e)}route(t,e,i,n){const o=Rn(this,t),r=Rn(this,i),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[a],c=r[n];return V(l)?Object.assign({},c,l):B(l,c)},set(l){this[a]=l}}})}}var F=new lI({_scriptable:s=>!s.startsWith("on"),_indexable:s=>s!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function cI(s){return!s||H(s.size)||H(s.family)?null:(s.style?s.style+" ":"")+(s.weight?s.weight+" ":"")+s.size+"px "+s.family}function Gr(s,t,e,i,n){let o=t[n];return o||(o=t[n]=s.measureText(n).width,e.push(n)),o>i&&(i=o),i}function hI(s,t,e,i){i=i||{};let n=i.data=i.data||{},o=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(n=i.data={},o=i.garbageCollect=[],i.font=t),s.save(),s.font=t;let r=0;const a=e.length;let l,c,h,d,u;for(l=0;le.length){for(l=0;l0&&s.stroke()}}function Pn(s,t,e){return e=e||.5,!t||s&&s.x>t.left-e&&s.xt.top-e&&s.y0&&o.strokeColor!=="";let l,c;for(s.save(),s.font=n.string,pI(s,o),l=0;l+s||0;function Ic(s,t){const e={},i=V(t),n=i?Object.keys(t):t,o=V(s)?i?r=>B(s[r],s[t[r]]):r=>s[r]:()=>s;for(const r of n)e[r]=bI(o(r));return e}function Kf(s){return Ic(s,{top:"y",right:"x",bottom:"y",left:"x"})}function $i(s){return Ic(s,["topLeft","topRight","bottomLeft","bottomRight"])}function pt(s){const t=Kf(s);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function lt(s,t){s=s||{},t=t||F.font;let e=B(s.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=B(s.style,t.style);i&&!(""+i).match(gI)&&(console.warn('Invalid font style specified: "'+i+'"'),i="");const n={family:B(s.family,t.family),lineHeight:mI(B(s.lineHeight,t.lineHeight),e),size:e,style:i,weight:B(s.weight,t.weight),string:""};return n.string=cI(n),n}function tt(s,t,e,i){let n=!0,o,r,a;for(o=0,r=s.length;oe&&a===0?0:a+l;return{min:r(i,-Math.abs(o)),max:r(n,o)}}function ni(s,t){return Object.assign(Object.create(s),t)}function Dc(s,t=[""],e=s,i,n=()=>s[0]){jt(i)||(i=Zf("_fallback",s));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:s,_rootScopes:e,_fallback:i,_getTarget:n,override:r=>Dc([r,...s],t,e,i)};return new Proxy(o,{deleteProperty(r,a){return delete r[a],delete r._keys,delete s[0][a],!0},get(r,a){return Xf(r,a,()=>kI(a,t,s,r))},getOwnPropertyDescriptor(r,a){return Reflect.getOwnPropertyDescriptor(r._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(s[0])},has(r,a){return Qf(r).includes(a)},ownKeys(r){return Qf(r)},set(r,a,l){const c=r._storage||(r._storage=n());return r[a]=c[a]=l,delete r._keys,!0}})}function ks(s,t,e,i){const n={_cacheable:!1,_proxy:s,_context:t,_subProxy:e,_stack:new Set,_descriptors:Uf(s,i),setContext:o=>ks(s,o,e,i),override:o=>ks(s.override(o),t,e,i)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete s[r],!0},get(o,r,a){return Xf(o,r,()=>TI(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(s,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(s,r)},getPrototypeOf(){return Reflect.getPrototypeOf(s)},has(o,r){return Reflect.has(s,r)},ownKeys(){return Reflect.ownKeys(s)},set(o,r,a){return s[r]=a,delete o[r],!0}})}function Uf(s,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:n=t.allKeys}=s;return{allKeys:n,scriptable:e,indexable:i,isScriptable:ei(e)?e:()=>e,isIndexable:ei(i)?i:()=>i}}const yI=(s,t)=>s?s+gc(t):t,Mc=(s,t)=>V(t)&&s!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Xf(s,t,e){if(Object.prototype.hasOwnProperty.call(s,t))return s[t];const i=e();return s[t]=i,i}function TI(s,t,e){const{_proxy:i,_context:n,_subProxy:o,_descriptors:r}=s;let a=i[t];return ei(a)&&r.isScriptable(t)&&(a=EI(t,a,s,e)),Q(a)&&a.length&&(a=xI(t,a,s,r.isIndexable)),Mc(t,a)&&(a=ks(a,n,o&&o[t],r)),a}function EI(s,t,e,i){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(s))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+s);return a.add(s),t=t(o,r||i),a.delete(s),Mc(s,t)&&(t=Lc(n._scopes,n,s,t)),t}function xI(s,t,e,i){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(jt(o.index)&&i(s))t=t[o.index%t.length];else if(V(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=Lc(c,n,s,h);t.push(ks(d,o,r&&r[s],a))}}return t}function Gf(s,t,e){return ei(s)?s(t,e):s}const CI=(s,t)=>s===!0?t:typeof s=="string"?ti(t,s):void 0;function AI(s,t,e,i,n){for(const o of t){const r=CI(e,o);if(r){s.add(r);const a=Gf(r._fallback,e,n);if(jt(a)&&a!==e&&a!==i)return a}else if(r===!1&&jt(i)&&e!==i)return null}return!1}function Lc(s,t,e,i){const n=t._rootScopes,o=Gf(t._fallback,e,i),r=[...s,...n],a=new Set;a.add(i);let l=qf(a,r,e,o||e,i);return l===null||jt(o)&&o!==e&&(l=qf(a,r,o,l,i),l===null)?!1:Dc(Array.from(a),[""],n,o,()=>wI(t,e,i))}function qf(s,t,e,i,n){for(;e;)e=AI(s,t,e,i,n);return e}function wI(s,t,e){const i=s._getTarget();t in i||(i[t]={});const n=i[t];return Q(n)&&V(e)?e:n}function kI(s,t,e,i){let n;for(const o of t)if(n=Zf(yI(o,s),e),jt(n))return Mc(s,n)?Lc(e,i,s,n):n}function Zf(s,t){for(const e of t){if(!e)continue;const i=e[s];if(jt(i))return i}}function Qf(s){let t=s._keys;return t||(t=s._keys=SI(s._scopes)),t}function SI(s){const t=new Set;for(const e of s)for(const i of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(i);return Array.from(t)}function Jf(s,t,e,i){const{iScale:n}=s,{key:o="r"}=this._parsing,r=new Array(i);let a,l,c,h;for(a=0,l=i;ats==="x"?"y":"x";function II(s,t,e,i){const n=s.skip?t:s,o=t,r=e.skip?t:e,a=bc(o,n),l=bc(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=i*c,u=i*h;return{previous:{x:o.x-d*(r.x-n.x),y:o.y-d*(r.y-n.y)},next:{x:o.x+u*(r.x-n.x),y:o.y+u*(r.y-n.y)}}}function DI(s,t,e){const i=s.length;let n,o,r,a,l,c=Ss(s,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")LI(s,n);else{let c=i?s[s.length-1]:s[0];for(o=0,r=s.length;owindow.getComputedStyle(s,null);function PI(s,t){return ta(s).getPropertyValue(t)}const NI=["top","right","bottom","left"];function Ri(s,t,e){const i={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=NI[n];i[o]=parseFloat(s[t+"-"+o+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const BI=(s,t,e)=>(s>0||t>0)&&(!e||!e.shadowRoot);function HI(s,t){const e=s.touches,i=e&&e.length?e[0]:s,{offsetX:n,offsetY:o}=i;let r=!1,a,l;if(BI(n,o,s.target))a=n,l=o;else{const c=t.getBoundingClientRect();a=i.clientX-c.left,l=i.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function Pi(s,t){if("native"in s)return s;const{canvas:e,currentDevicePixelRatio:i}=t,n=ta(e),o=n.boxSizing==="border-box",r=Ri(n,"padding"),a=Ri(n,"border","width"),{x:l,y:c,box:h}=HI(s,e),d=r.left+(h&&a.left),u=r.top+(h&&a.top);let{width:p,height:f}=t;return o&&(p-=r.width+a.width,f-=r.height+a.height),{x:Math.round((l-d)/p*e.width/i),y:Math.round((c-u)/f*e.height/i)}}function VI(s,t,e){let i,n;if(t===void 0||e===void 0){const o=$c(s);if(!o)t=s.clientWidth,e=s.clientHeight;else{const r=o.getBoundingClientRect(),a=ta(o),l=Ri(a,"border","width"),c=Ri(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,i=Jr(a.maxWidth,o,"clientWidth"),n=Jr(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:i||zr,maxHeight:n||zr}}const Rc=s=>Math.round(s*10)/10;function FI(s,t,e,i){const n=ta(s),o=Ri(n,"margin"),r=Jr(n.maxWidth,s,"clientWidth")||zr,a=Jr(n.maxHeight,s,"clientHeight")||zr,l=VI(s,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const d=Ri(n,"border","width"),u=Ri(n,"padding");c-=u.width+d.width,h-=u.height+d.height}return c=Math.max(0,c-o.width),h=Math.max(0,i?Math.floor(c/i):h-o.height),c=Rc(Math.min(c,r,l.maxWidth)),h=Rc(Math.min(h,a,l.maxHeight)),c&&!h&&(h=Rc(c/2)),{width:c,height:h}}function i_(s,t,e){const i=t||1,n=Math.floor(s.height*i),o=Math.floor(s.width*i);s.height=n/i,s.width=o/i;const r=s.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${s.height}px`,r.style.width=`${s.width}px`),s.currentDevicePixelRatio!==i||r.height!==n||r.width!==o?(s.currentDevicePixelRatio=i,r.height=n,r.width=o,s.ctx.setTransform(i,0,0,i,0,0),!0):!1}const WI=function(){let s=!1;try{const t={get passive(){return s=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return s}();function s_(s,t){const e=PI(s,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function Ni(s,t,e,i){return{x:s.x+e*(t.x-s.x),y:s.y+e*(t.y-s.y)}}function zI(s,t,e,i){return{x:s.x+e*(t.x-s.x),y:i==="middle"?e<.5?s.y:t.y:i==="after"?e<1?s.y:t.y:e>0?t.y:s.y}}function jI(s,t,e,i){const n={x:s.cp2x,y:s.cp2y},o={x:t.cp1x,y:t.cp1y},r=Ni(s,n,e),a=Ni(n,o,e),l=Ni(o,t,e),c=Ni(r,a,e),h=Ni(a,l,e);return Ni(c,h,e)}const n_=new Map;function YI(s,t){t=t||{};const e=s+JSON.stringify(t);let i=n_.get(e);return i||(i=new Intl.NumberFormat(s,t),n_.set(e,i)),i}function Bn(s,t,e){return YI(t,e).format(s)}const KI=function(s,t){return{x(e){return s+s+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},UI=function(){return{x(s){return s},setWidth(s){},textAlign(s){return s},xPlus(s,t){return s+t},leftForLtr(s,t){return s}}};function Os(s,t,e){return s?KI(t,e):UI()}function o_(s,t){let e,i;(t==="ltr"||t==="rtl")&&(e=s.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),s.prevTextDirection=i)}function r_(s,t){t!==void 0&&(delete s.prevTextDirection,s.canvas.style.setProperty("direction",t[0],t[1]))}function a_(s){return s==="angle"?{between:Dn,compare:LO,normalize:Vt}:{between:Ie,compare:(t,e)=>t-e,normalize:t=>t}}function l_({start:s,end:t,count:e,loop:i,style:n}){return{start:s%e,end:t%e,loop:i&&(t-s+1)%e===0,style:n}}function XI(s,t,e){const{property:i,start:n,end:o}=e,{between:r,normalize:a}=a_(i),l=t.length;let{start:c,end:h,loop:d}=s,u,p;if(d){for(c+=l,h+=l,u=0,p=l;ul(n,x,y)&&a(n,x)!==0,C=()=>a(o,y)===0||l(o,x,y),A=()=>b||E(),w=()=>!b||C();for(let S=h,k=h;S<=d;++S)T=t[S%r],!T.skip&&(y=c(T[i]),y!==x&&(b=l(y,n,o),v===null&&A()&&(v=a(y,n)===0?S:k),v!==null&&w()&&(f.push(l_({start:v,end:S,loop:u,count:r,style:p})),v=null),k=S,x=y));return v!==null&&f.push(l_({start:v,end:d,loop:u,count:r,style:p})),f}function h_(s,t){const e=[],i=s.segments;for(let n=0;nn&&s[o%t].skip;)o--;return o%=t,{start:n,end:o}}function qI(s,t,e,i){const n=s.length,o=[];let r=t,a=s[t],l;for(l=t+1;l<=e;++l){const c=s[l%n];c.skip||c.stop?a.skip||(i=!1,o.push({start:t%n,end:(l-1)%n,loop:i}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:i}),o}function ZI(s,t){const e=s.points,i=s.options.spanGaps,n=e.length;if(!n)return[];const o=!!s._loop,{start:r,end:a}=GI(e,n,o,i);if(i===!0)return d_(s,[{start:r,end:a,loop:o}],e,t);const l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(i-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=Sf.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,n)=>{if(!i.running||!i.items.length)return;const o=i.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,i,t,"progress")),o.length||(i.running=!1,this._notify(n,i,t,"complete"),i.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,n)=>Math.max(i,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let n=i.length-1;for(;n>=0;--n)i[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var xe=new tD;const p_="transparent",eD={boolean(s,t,e){return e>.5?t:s},color(s,t,e){const i=zf(s||p_),n=i.valid&&zf(t||p_);return n&&n.valid?n.mix(i,e).hexString():t},number(s,t,e){return s+(t-s)*e}};class f_{constructor(t,e,i,n){const o=e[i];n=tt([t.to,n,o,t.from]);const r=tt([t.from,o,n]);this._active=!0,this._fn=t.fn||eD[t.type||typeof r],this._easing=Mn[t.easing]||Mn.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const n=this._target[this._prop],o=i-this._start,r=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=tt([t.to,e,n,t.from]),this._from=tt([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let n=0;ns!=="onProgress"&&s!=="onComplete"&&s!=="fn"}),F.set("animations",{colors:{type:"color",properties:sD},numbers:{type:"number",properties:iD}}),F.describe("animations",{_fallback:"animation"}),F.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:s=>s|0}}}});class Pc{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!V(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach(i=>{const n=t[i];if(!V(n))return;const o={};for(const r of nD)o[r]=n[r];(Q(n.properties)&&n.properties||[i]).forEach(r=>{(r===i||!e.has(r))&&e.set(r,o)})})}_animateOptions(t,e){const i=e.options,n=rD(t,i);if(!n)return[];const o=this._createAnimations(n,i);return i.$shared&&oD(t.options.$animations,i).then(()=>{t.options=i},()=>{}),o}_createAnimations(t,e){const i=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const u=i.get(c);if(d)if(u&&d.active()){d.update(u,h,a);continue}else d.cancel();if(!u||!u.duration){t[c]=h;continue}o[c]=d=new f_(u,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return xe.add(this._chart,i),!0}}function oD(s,t){const e=[],i=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function y_(s,t){const{chart:e,_cachedMeta:i}=s,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=i,l=o.axis,c=r.axis,h=hD(o,r,i),d=t.length;let u;for(let p=0;pe[i].axis===t).shift()}function pD(s,t){return ni(s,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function fD(s,t,e){return ni(s,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Hn(s,t){const e=s.controller.index,i=s.vScale&&s.vScale.axis;if(i){t=t||s._parsed;for(const n of t){const o=n._stacks;if(!o||o[i]===void 0||o[i][e]===void 0)return;delete o[i][e]}}}const Bc=s=>s==="reset"||s==="none",T_=(s,t)=>t?s:Object.assign({},s),_D=(s,t,e)=>s&&!t.hidden&&t._stacked&&{keys:g_(e,!0),values:null};class Ut{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=b_(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Hn(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),n=(d,u,p,f)=>d==="x"?u:d==="r"?f:p,o=e.xAxisID=B(i.xAxisID,Nc(t,"x")),r=e.yAxisID=B(i.yAxisID,Nc(t,"y")),a=e.rAxisID=B(i.rAxisID,Nc(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&wf(this._data,this),t._stacked&&Hn(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(V(e))this._data=cD(e);else if(i!==e){if(i){wf(i,this);const n=this._cachedMeta;Hn(n),n._parsed=[]}e&&Object.isExtensible(e)&&NO(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=b_(e.vScale,e),e.stack!==i.stack&&(n=!0,Hn(e),e.stack=i.stack),this._resyncElements(t),(n||o!==e._stacked)&&y_(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:n}=this,{iScale:o,_stacked:r}=i,a=o.axis;let l=t===0&&e===n.length?!0:i._sorted,c=t>0&&i._parsed[t-1],h,d,u;if(this._parsing===!1)i._parsed=n,i._sorted=!0,u=n;else{Q(n[t])?u=this.parseArrayData(i,n,t,e):V(n[t])?u=this.parseObjectData(i,n,t,e):u=this.parsePrimitiveData(i,n,t,e);const p=()=>d[a]===null||c&&d[a]b||d=0;--u)if(!f()){this.updateRangeFromParsed(c,t,p,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(i,n),b=c.resolveNamedOptions(u,p,f,d);return b.$shared&&(b.$shared=l,o[r]=Object.freeze(T_(b,l))),b}_resolveAnimations(t,e,i){const n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),u=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(u,this.getContext(t,i,e))}const c=new Pc(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Bc(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(i),r=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,i),{sharedOptions:o,includeOptions:r}}updateElement(t,e,i,n){Bc(n)?Object.assign(t,i):this._resolveAnimations(e,n).update(t,i)}updateSharedOptions(t,e,i){t&&!Bc(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,i,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const n=i.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;an-o))}return s._cache.$bar}function mD(s){const t=s.iScale,e=gD(t,s.type);let i=t._length,n,o,r,a;const l=()=>{r===32767||r===-32768||(jt(a)&&(i=Math.min(i,Math.abs(r-a)||i)),a=r)};for(n=0,o=e.length;n0?n[s-1]:null,a=sMath.abs(a)&&(l=a,c=r),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:r,max:a}}function E_(s,t,e,i){return Q(s)?yD(s,t,e,i):t[e.axis]=e.parse(s,i),t}function x_(s,t,e,i){const n=s.iScale,o=s.vScale,r=n.getLabels(),a=n===o,l=[];let c,h,d,u;for(c=e,h=e+i;c=e?1:-1)}function ED(s){let t,e,i,n,o;return s.horizontal?(t=s.base>s.x,e="left",i="right"):(t=s.basel.controller.options.grouped),o=i.options.stacked,r=[],a=l=>{const c=l.controller.getParsed(e),h=c&&c[l.vScale.axis];if(H(h)||isNaN(h))return!0};for(const l of n)if(!(e!==void 0&&a(l))&&((o===!1||r.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&r.push(l.stack),l.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const n=this._getStacks(t,i),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,n=[];let o,r;for(o=0,r=e.data.length;o=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:i,yScale:n}=e,o=this.getParsed(t),r=i.getLabelForValue(o.x),a=n.getLabelForValue(o.y),l=o._custom;return{label:e.label,value:"("+r+", "+a+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,n){const o=n==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(e,n),h=r.axis,d=a.axis;for(let u=e;uDn(x,a,l,!0)?1:Math.max(E,E*e,C,C*e),f=(x,E,C)=>Dn(x,a,l,!0)?-1:Math.min(E,E*e,C,C*e),b=p(0,c,d),v=p(nt,h,u),y=f(it,c,d),T=f(it+nt,h,u);i=(b-y)/2,n=(v-T)/2,o=-(b+y)/2,r=-(v+T)/2}return{ratioX:i,ratioY:n,offsetX:o,offsetY:r}}class Bi extends Ut{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=i;else{let o=l=>+i[l];if(V(i[t])){const{key:l="value"}=this._parsing;o=c=>+ti(i[c],l)}let r,a;for(r=t,a=t+e;r0&&!isNaN(t)?q*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,n=i.data.labels||[],o=Bn(e._parsed[t],i.options.locale);return{label:n[t]||"",value:o}}getMaxBorderWidth(t){let e=0;const i=this.chart;let n,o,r,a,l;if(!t){for(n=0,o=i.data.datasets.length;ns!=="spacing",_indexable:s=>s!=="spacing"},Bi.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){const t=s.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:e}}=s.legend.options;return t.labels.map((i,n)=>{const r=s.getDatasetMeta(0).controller.getStyle(n);return{text:i,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,lineWidth:r.borderWidth,pointStyle:e,hidden:!s.getDataVisibility(n),index:n}})}return[]}},onClick(s,t,e){e.chart.toggleDataVisibility(t.index),e.chart.update()}},tooltip:{callbacks:{title(){return""},label(s){let t=s.label;const e=": "+s.formattedValue;return Q(t)?(t=t.slice(),t[0]+=e):t+=e,t}}}}};class Wn extends Ut{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:n=[],_dataset:o}=e,r=this.chart._animationsDisabled;let{start:a,count:l}=If(e,n,r);this._drawStart=a,this._drawCount=l,Df(e)&&(a=0,l=n.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!o._decimated,i.points=n;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(i,void 0,{animated:!r,options:c},t),this.updateElements(n,a,l,t)}updateElements(t,e,i,n){const o=n==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:d}=this._getSharedOptions(e,n),u=r.axis,p=a.axis,{spanGaps:f,segment:b}=this.options,v=As(f)?f:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||o||n==="none";let T=e>0&&this.getParsed(e-1);for(let x=e;x0&&Math.abs(C[u]-T[u])>v,b&&(A.parsed=C,A.raw=c.data[x]),d&&(A.options=h||this.resolveDataElementOptions(x,E.active?"active":n)),y||this.updateElement(E,x,A,n),T=C}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return i;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}Wn.id="line",Wn.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},Wn.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class zn extends Ut{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,n=i.data.labels||[],o=Bn(e._parsed[t].r,i.options.locale);return{label:n[t]||"",value:o}}parseObjectData(t,e,i,n){return Jf.bind(this)(t,e,i,n)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,n)=>{const o=this.getParsed(n).r;!isNaN(o)&&this.chart.getDataVisibility(n)&&(oe.max&&(e.max=o))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(n/2,0),r=Math.max(i.cutoutPercentage?o/100*i.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,e,i,n){const o=n==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,h=c.xCenter,d=c.yCenter,u=c.getIndexAngle(0)-.5*it;let p=u,f;const b=360/this.countVisibleElements();for(f=0;f{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?se(this.resolveDataElementOptions(t,e).angle||i):0}}zn.id="polarArea",zn.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},zn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){const t=s.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:e}}=s.legend.options;return t.labels.map((i,n)=>{const r=s.getDatasetMeta(0).controller.getStyle(n);return{text:i,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,lineWidth:r.borderWidth,pointStyle:e,hidden:!s.getDataVisibility(n),index:n}})}return[]}},onClick(s,t,e){e.chart.toggleDataVisibility(t.index),e.chart.update()}},tooltip:{callbacks:{title(){return""},label(s){return s.chart.data.labels[s.dataIndex]+": "+s.formattedValue}}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class ea extends Bi{}ea.id="pie",ea.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class jn extends Ut{getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,n){return Jf.bind(this)(t,e,i,n)}update(t){const e=this._cachedMeta,i=e.dataset,n=e.data||[],o=e.iScale.getLabels();if(i.points=n,t!=="resize"){const r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);const a={_loop:!0,_fullLoop:o.length===n.length,options:r};this.updateElement(i,void 0,a,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,i,n){const o=this._cachedMeta.rScale,r=n==="reset";for(let a=e;a{n[o]=i[o]&&i[o].active()?i[o]._to:this[o]}),n}};Xt.defaults={},Xt.defaultRoutes=void 0;const w_={values(s){return Q(s)?s:""+s},numeric(s,t,e){if(s===0)return"0";const i=this.chart.options.locale;let n,o=s;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=kD(s,e)}const r=Yt(Math.abs(o)),a=Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Bn(s,i,l)},logarithmic(s,t,e){if(s===0)return"0";const i=s/Math.pow(10,Math.floor(Yt(s)));return i===1||i===2||i===5?w_.numeric.call(this,s,t,e):""}};function kD(s,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&s!==Math.floor(s)&&(e=s-Math.floor(s)),e}var Yn={formatters:w_};F.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(s,t)=>t.lineWidth,tickColor:(s,t)=>t.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Yn.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),F.route("scale.ticks","color","","color"),F.route("scale.grid","color","","borderColor"),F.route("scale.grid","borderColor","","borderColor"),F.route("scale.title","color","","color"),F.describe("scale",{_fallback:!1,_scriptable:s=>!s.startsWith("before")&&!s.startsWith("after")&&s!=="callback"&&s!=="parser",_indexable:s=>s!=="borderDash"&&s!=="tickBorderDash"}),F.describe("scales",{_fallback:"scale"}),F.describe("scale.ticks",{_scriptable:s=>s!=="backdropPadding"&&s!=="callback",_indexable:s=>s!=="backdropPadding"});function SD(s,t){const e=s.options.ticks,i=e.maxTicksLimit||OD(s),n=e.major.enabled?DD(t):[],o=n.length,r=n[0],a=n[o-1],l=[];if(o>i)return MD(t,l,n,o/i),l;const c=ID(n,t,i);if(o>0){let h,d;const u=o>1?Math.round((a-r)/(o-1)):null;for(ia(t,l,c,H(u)?0:r-u,r),h=0,d=o-1;hn)return l}return Math.max(n,1)}function DD(s){const t=[];let e,i;for(e=0,i=s.length;es==="left"?"right":s==="right"?"left":s,k_=(s,t,e)=>t==="top"||t==="left"?s[t]+e:s[t]-e;function S_(s,t){const e=[],i=s.length/t,n=s.length;let o=0;for(;or+a)))return l}function PD(s,t){U(s,e=>{const i=e.gc,n=i.length/2;let o;if(n>t){for(o=0;oi?i:e,i=n&&e>i?e:i,{min:zt(e,zt(i,e)),max:zt(i,zt(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){G(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=vI(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||i<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),d=h.widest.width,u=h.highest.height,p=dt(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/i:p/(i-1),d+6>a&&(a=p/(i-(t.offset?.5:1)),l=this.maxHeight-Kn(t.grid)-e.padding-O_(t.title,this.chart.options.font),c=Math.sqrt(d*d+u*u),r=mc(Math.min(Math.asin(dt((h.highest.height+6)/a,-1,1)),Math.asin(dt(l/c,-1,1))-Math.asin(dt(u/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){G(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){G(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=O_(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=Kn(o)+l):(t.height=this.maxHeight,t.width=Kn(o)+l),i.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:u}=this._getLabelSizes(),p=i.padding*2,f=se(this.labelRotation),b=Math.cos(f),v=Math.sin(f);if(a){const y=i.mirror?0:v*d.width+b*u.height;t.height=Math.min(this.maxHeight,t.height+y+p)}else{const y=i.mirror?0:b*d.width+v*u.height;t.width=Math.min(this.maxWidth,t.width+y+p)}this._calculatePadding(c,h,v,b)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,n){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let u=0,p=0;l?c?(u=n*t.width,p=i*e.height):(u=i*t.height,p=n*e.width):o==="start"?p=e.width:o==="end"?u=t.width:o!=="inner"&&(u=t.width/2,p=e.width/2),this.paddingLeft=Math.max((u-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((p-d+r)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){G(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e({width:o[w]||0,height:r[w]||0});return{first:A(0),last:A(e-1),widest:A(E),highest:A(C),widths:o,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return $O(this._alignToPixels?Mi(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*n?a/i:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,i=this.chart,n=this.options,{grid:o,position:r}=n,a=o.offset,l=this.isHorizontal(),h=this.ticks.length+(a?1:0),d=Kn(o),u=[],p=o.setContext(this.getContext()),f=p.drawBorder?p.borderWidth:0,b=f/2,v=function(R){return Mi(i,R,f)};let y,T,x,E,C,A,w,S,k,D,I,M;if(r==="top")y=v(this.bottom),A=this.bottom-d,S=y-b,D=v(t.top)+b,M=t.bottom;else if(r==="bottom")y=v(this.top),D=t.top,M=v(t.bottom)-b,A=y+b,S=this.top+d;else if(r==="left")y=v(this.right),C=this.right-d,w=y-b,k=v(t.left)+b,I=t.right;else if(r==="right")y=v(this.left),k=t.left,I=v(t.right)-b,C=y+b,w=this.left+d;else if(e==="x"){if(r==="center")y=v((t.top+t.bottom)/2+.5);else if(V(r)){const R=Object.keys(r)[0],z=r[R];y=v(this.chart.scales[R].getPixelForValue(z))}D=t.top,M=t.bottom,A=y+b,S=A+d}else if(e==="y"){if(r==="center")y=v((t.left+t.right)/2);else if(V(r)){const R=Object.keys(r)[0],z=r[R];y=v(this.chart.scales[R].getPixelForValue(z))}C=y-b,w=C-d,k=t.left,I=t.right}const P=B(n.ticks.maxTicksLimit,h),X=Math.max(1,Math.ceil(h/P));for(T=0;To.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,i=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(i.save(),i.lineWidth=h.width,i.strokeStyle=h.color,i.setLineDash(h.borderDash||[]),i.lineDashOffset=h.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(n)}}]:[{z:i,draw:n=>{this.drawBackground(),this.drawGrid(n),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:e,draw:n=>{this.drawLabels(n)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",n=[];let o,r;for(o=0,r=e.length;o{const i=e.split("."),n=i.pop(),o=[s].concat(i).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");F.route(o,n,l,a)})}function zD(s){return"id"in s&&"defaults"in s}class jD{constructor(){this.controllers=new sa(Ut,"datasets",!0),this.elements=new sa(Xt,"elements"),this.plugins=new sa(Object,"plugins"),this.scales=new sa(oi,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(n=>{const o=i||this._getRegistryForType(n);i||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):U(n,r=>{const a=i||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,i){const n=gc(t);G(i["before"+n],[],i),e[t](i),G(i["after"+n],[],i)}_getRegistryForType(t){for(let e=0;e0&&this.getParsed(e-1);for(let E=e;E0&&Math.abs(A[p]-x[p])>y,v&&(w.parsed=A,w.raw=c.data[E]),u&&(w.options=d||this.resolveDataElementOptions(E,C.active?"active":n)),T||this.updateElement(C,E,w,n),x=A}this.updateSharedOptions(d,n,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let a=0;for(let l=e.length-1;l>=0;--l)a=Math.max(a,e[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const i=t.dataset,n=i.options&&i.options.borderWidth||0;if(!e.length)return n;const o=e[0].size(this.resolveDataElementOptions(0)),r=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,r)/2}}Un.id="scatter",Un.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},Un.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title(){return""},label(s){return"("+s.label+", "+s.formattedValue+")"}}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var I_=Object.freeze({__proto__:null,BarController:Vn,BubbleController:Fn,DoughnutController:Bi,LineController:Wn,PolarAreaController:zn,PieController:ea,RadarController:jn,ScatterController:Un});function Hi(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Vc{constructor(t){this.options=t||{}}init(t){}formats(){return Hi()}parse(t,e){return Hi()}format(t,e){return Hi()}add(t,e,i){return Hi()}diff(t,e,i){return Hi()}startOf(t,e,i){return Hi()}endOf(t,e){return Hi()}}Vc.override=function(s){Object.assign(Vc.prototype,s)};var D_={_date:Vc};function YD(s,t,e,i){const{controller:n,data:o,_sorted:r}=s,a=n._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?RO:De;if(i){if(n._sharedOptions){const c=o[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){const d=l(o,t,e-h),u=l(o,t,e+h);return{lo:d.lo,hi:u.hi}}}}else return l(o,t,e)}return{lo:0,hi:o.length-1}}function Xn(s,t,e,i,n){const o=s.getSortedVisibleDatasetMetas(),r=e[t];for(let a=0,l=o.length;a{l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),i&&!a?[]:o}var L_={evaluateInteractionItems:Xn,modes:{index(s,t,e,i){const n=Pi(t,s),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?Fc(s,n,o,i,r):Wc(s,n,o,!1,i,r),l=[];return a.length?(s.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(s,t,e,i){const n=Pi(t,s),o=e.axis||"xy",r=e.includeInvisible||!1;let a=e.intersect?Fc(s,n,o,i,r):Wc(s,n,o,!1,i,r);if(a.length>0){const l=a[0].datasetIndex,c=s.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function R_(s,t){return s.filter(e=>$_.indexOf(e.pos)===-1&&e.box.axis===t)}function qn(s,t){return s.sort((e,i)=>{const n=t?i:e,o=t?e:i;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function GD(s){const t=[];let e,i,n,o,r,a;for(e=0,i=(s||[]).length;ec.box.fullSize),!0),i=qn(Gn(t,"left"),!0),n=qn(Gn(t,"right")),o=qn(Gn(t,"top"),!0),r=qn(Gn(t,"bottom")),a=R_(t,"x"),l=R_(t,"y");return{fullSize:e,leftAndTop:i.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:Gn(t,"chartArea"),vertical:i.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function P_(s,t,e,i){return Math.max(s[e],t[e])+Math.max(s[i],t[i])}function N_(s,t){s.top=Math.max(s.top,t.top),s.left=Math.max(s.left,t.left),s.bottom=Math.max(s.bottom,t.bottom),s.right=Math.max(s.right,t.right)}function JD(s,t,e,i){const{pos:n,box:o}=e,r=s.maxPadding;if(!V(n)){e.size&&(s[n]-=e.size);const d=i[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,s[n]+=e.size}o.getPadding&&N_(r,o.getPadding());const a=Math.max(0,t.outerWidth-P_(r,s,"left","right")),l=Math.max(0,t.outerHeight-P_(r,s,"top","bottom")),c=a!==s.w,h=l!==s.h;return s.w=a,s.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function t1(s){const t=s.maxPadding;function e(i){const n=Math.max(t[i]-s[i],0);return s[i]+=n,n}s.y+=e("top"),s.x+=e("left"),e("right"),e("bottom")}function e1(s,t){const e=t.maxPadding;function i(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(r=>{o[r]=Math.max(t[r],e[r])}),o}return i(s?["left","right"]:["top","bottom"])}function Zn(s,t,e,i){const n=[];let o,r,a,l,c,h;for(o=0,r=s.length,c=0;o{typeof b.beforeLayout=="function"&&b.beforeLayout()});const h=l.reduce((b,v)=>v.box.options&&v.box.options.display===!1?b:b+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),u=Object.assign({},n);N_(u,pt(i));const p=Object.assign({maxPadding:u,w:o,h:r,x:n.left,y:n.top},n),f=ZD(l.concat(c),d);Zn(a.fullSize,p,d,f),Zn(l,p,d,f),Zn(c,p,d,f)&&Zn(l,p,d,f),t1(p),B_(a.leftAndTop,p,d,f),p.x+=p.w,p.y+=p.h,B_(a.rightAndBottom,p,d,f),s.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},U(a.chartArea,b=>{const v=b.box;Object.assign(v,s.chartArea),v.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class zc{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,n){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):i)}}isAttached(t){return!0}updateConfig(t){}}class H_ extends zc{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const oa="$chartjs",i1={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},V_=s=>s===null||s==="";function s1(s,t){const e=s.style,i=s.getAttribute("height"),n=s.getAttribute("width");if(s[oa]={initial:{height:i,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",V_(n)){const o=s_(s,"width");o!==void 0&&(s.width=o)}if(V_(i))if(s.style.height==="")s.height=s.width/(t||2);else{const o=s_(s,"height");o!==void 0&&(s.height=o)}return s}const F_=WI?{passive:!0}:!1;function n1(s,t,e){s.addEventListener(t,e,F_)}function o1(s,t,e){s.canvas.removeEventListener(t,e,F_)}function r1(s,t){const e=i1[s.type]||s.type,{x:i,y:n}=Pi(s,t);return{type:e,chart:t,native:s,x:i!==void 0?i:null,y:n!==void 0?n:null}}function ra(s,t){for(const e of s)if(e===t||e.contains(t))return!0}function a1(s,t,e){const i=s.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||ra(a.addedNodes,i),r=r&&!ra(a.removedNodes,i);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function l1(s,t,e){const i=s.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||ra(a.removedNodes,i),r=r&&!ra(a.addedNodes,i);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const Qn=new Map;let W_=0;function z_(){const s=window.devicePixelRatio;s!==W_&&(W_=s,Qn.forEach((t,e)=>{e.currentDevicePixelRatio!==s&&t()}))}function c1(s,t){Qn.size||window.addEventListener("resize",z_),Qn.set(s,t)}function h1(s){Qn.delete(s),Qn.size||window.removeEventListener("resize",z_)}function d1(s,t,e){const i=s.canvas,n=i&&$c(i);if(!n)return;const o=Of((a,l)=>{const c=n.clientWidth;e(a,l),c{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),c1(s,o),r}function jc(s,t,e){e&&e.disconnect(),t==="resize"&&h1(s)}function u1(s,t,e){const i=s.canvas,n=Of(o=>{s.ctx!==null&&e(r1(o,s))},s,o=>{const r=o[0];return[r,r.offsetX,r.offsetY]});return n1(i,t,n),n}class j_ extends zc{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(s1(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[oa])return!1;const i=e[oa].initial;["height","width"].forEach(o=>{const r=i[o];H(r)?e.removeAttribute(o):e.setAttribute(o,r)});const n=i.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[oa],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),r={attach:a1,detach:l1,resize:d1}[e]||u1;n[e]=r(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),n=i[e];if(!n)return;({attach:jc,detach:jc,resize:jc}[e]||o1)(t,e,n),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,n){return FI(t,e,i,n)}isAttached(t){const e=$c(t);return!!(e&&e.isConnected)}}function Y_(s){return!e_()||typeof OffscreenCanvas<"u"&&s instanceof OffscreenCanvas?H_:j_}class p1{constructor(){this._init=[]}notify(t,e,i,n){e==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const o=n?this._descriptors(t).filter(n):this._descriptors(t),r=this._notify(o,t,e,i);return e==="afterDestroy"&&(this._notify(o,t,"stop"),this._notify(this._init,t,"uninstall")),r}_notify(t,e,i,n){n=n||{};for(const o of t){const r=o.plugin,a=r[i],l=[e,n,o.options];if(G(a,l,r)===!1&&n.cancelable)return!1}return!0}invalidate(){H(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,n=B(i.options&&i.options.plugins,{}),o=f1(i);return n===!1&&!e?[]:g1(t,o,n,e)}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,n=(o,r)=>o.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,i),t,"stop"),this._notify(n(i,e),t,"start")}}function f1(s){const t={},e=[],i=Object.keys(ne.plugins.items);for(let o=0;o{const l=i[a];if(!V(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const c=Kc(a,l),h=v1(c,n),d=e.scales||{};o[c]=o[c]||a,r[a]=Sn(Object.create(null),[{axis:c},l,d[c],d[h]])}),s.data.datasets.forEach(a=>{const l=a.type||s.type,c=a.indexAxis||Yc(l,t),d=(Di[l]||{}).scales||{};Object.keys(d).forEach(u=>{const p=b1(u,c),f=a[p+"AxisID"]||o[p]||p;r[f]=r[f]||Object.create(null),Sn(r[f],[{axis:p},i[f],d[u]])})}),Object.keys(r).forEach(a=>{const l=r[a];Sn(l,[F.scales[l.type],F.scale])}),r}function K_(s){const t=s.options||(s.options={});t.plugins=B(t.plugins,{}),t.scales=T1(s,t)}function U_(s){return s=s||{},s.datasets=s.datasets||[],s.labels=s.labels||[],s}function E1(s){return s=s||{},s.data=U_(s.data),K_(s),s}const X_=new Map,G_=new Set;function aa(s,t){let e=X_.get(s);return e||(e=t(),X_.set(s,e),G_.add(e)),e}const Jn=(s,t,e)=>{const i=ti(t,e);i!==void 0&&s.add(i)};class x1{constructor(t){this._config=E1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=U_(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),K_(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return aa(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return aa(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return aa(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,i=this.type;return aa(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const i=this._scopeCache;let n=i.get(t);return(!n||e)&&(n=new Map,i.set(t,n)),n}getOptionScopes(t,e,i){const{options:n,type:o}=this,r=this._cachedScopes(t,i),a=r.get(e);if(a)return a;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Jn(l,t,d))),h.forEach(d=>Jn(l,n,d)),h.forEach(d=>Jn(l,Di[o]||{},d)),h.forEach(d=>Jn(l,F,d)),h.forEach(d=>Jn(l,kc,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),G_.has(e)&&r.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,Di[e]||{},F.datasets[e]||{},{type:e},F,kc]}resolveNamedOptions(t,e,i,n=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=q_(this._resolverCache,t,n);let l=r;if(A1(r,e)){o.$shared=!1,i=ei(i)?i():i;const c=this.createResolver(t,i,a);l=ks(r,i,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,i=[""],n){const{resolver:o}=q_(this._resolverCache,t,i);return V(e)?ks(o,e,void 0,n):o}}function q_(s,t,e){let i=s.get(t);i||(i=new Map,s.set(t,i));const n=e.join();let o=i.get(n);return o||(o={resolver:Dc(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},i.set(n,o)),o}const C1=s=>V(s)&&Object.getOwnPropertyNames(s).reduce((t,e)=>t||ei(s[e]),!1);function A1(s,t){const{isScriptable:e,isIndexable:i}=Uf(s);for(const n of t){const o=e(n),r=i(n),a=(r||o)&&s[n];if(o&&(ei(a)||C1(a))||r&&Q(a))return!0}return!1}var w1="3.9.1";const k1=["top","bottom","left","right","chartArea"];function Z_(s,t){return s==="top"||s==="bottom"||k1.indexOf(s)===-1&&t==="x"}function Q_(s,t){return function(e,i){return e[s]===i[s]?e[t]-i[t]:e[s]-i[s]}}function J_(s){const t=s.chart,e=t.options.animation;t.notifyPlugins("afterRender"),G(e&&e.onComplete,[s],t)}function S1(s){const t=s.chart,e=t.options.animation;G(e&&e.onProgress,[s],t)}function tg(s){return e_()&&typeof s=="string"?s=document.getElementById(s):s&&s.length&&(s=s[0]),s&&s.canvas&&(s=s.canvas),s}const la={},eg=s=>{const t=tg(s);return Object.values(la).filter(e=>e.canvas===t).pop()};function O1(s,t,e){const i=Object.keys(s);for(const n of i){const o=+n;if(o>=t){const r=s[n];delete s[n],(e>0||o>t)&&(s[o+e]=r)}}}function I1(s,t,e,i){return!e||s.type==="mouseout"?null:i?t:s}class Uc{constructor(t,e){const i=this.config=new x1(e),n=tg(t),o=eg(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Y_(n)),this.platform.updateConfig(i);const a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=EO(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new p1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=BO(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],la[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}xe.listen(this,"complete",J_),xe.listen(this,"progress",S1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return H(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():i_(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return jf(this.canvas,this.ctx),this}stop(){return xe.stop(this),this}resize(t,e){xe.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,n=this.canvas,o=i.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,i_(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),G(i.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};U(e,(i,n)=>{i.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,n=Object.keys(i).reduce((r,a)=>(r[a]=!1,r),{});let o=[];e&&(o=o.concat(Object.keys(e).map(r=>{const a=e[r],l=Kc(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),U(o,r=>{const a=r.options,l=a.id,c=Kc(l,a),h=B(a.type,r.dtype);(a.position===void 0||Z_(a.position,c)!==Z_(r.dposition))&&(a.position=r.dposition),n[l]=!0;let d=null;if(l in i&&i[l].type===h)d=i[l];else{const u=ne.getScale(h);d=new u({id:l,type:h,ctx:this.ctx,chart:this}),i[d.id]=d}d.init(a,t)}),U(n,(r,a)=>{r||delete i[a]}),U(i,r=>{ft.configure(this,r,r.options),ft.addBox(this,r)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((n,o)=>n.index-o.index),i>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((i,n)=>{e.filter(o=>o===i._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,n;for(this._removeUnreferencedMetasets(),i=0,n=e.length;i{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Q_("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){U(this.scales,t=>{ft.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!vf(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:n,count:o}of e){const r=i==="_removeElements"?-o:o;O1(t,n,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=i(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;ft.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],U(this.boxes,n=>{i&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,n=!i.disabled,o=this.chartArea,r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(n&&qr(e,{left:i.left===!1?0:o.left-i.left,right:i.right===!1?this.width:o.right+i.right,top:i.top===!1?0:o.top-i.top,bottom:i.bottom===!1?this.height:o.bottom+i.bottom}),t.controller.draw(),n&&Zr(e),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Pn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,n){const o=L_.modes[e];return typeof o=="function"?o(this,t,i,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let n=i.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(n)),n}getContext(){return this.$context||(this.$context=ni(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){const i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const n=i?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,n);jt(e)?(o.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),r.update(o,{visible:i}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),xe.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};U(this.options.events,o=>i(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{n("attach",a),this.attached=!0,this.resize(),i("resize",o),i("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){U(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},U(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const n=i?"set":"remove";let o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Fr(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}_updateHoverStyles(t,e,i){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),r=o(e,t),a=i?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,n)===!1)return;const o=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,n),(o||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,i,r),l=SO(t),c=I1(t,this._lastEvent,i,l);i&&(this._lastEvent=null,G(o.onHover,[t,a,this],this),l&&G(o.onClick,[t,a,this],this));const h=!Fr(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,i,n){if(t.type==="mouseout")return[];if(!i)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}}const ig=()=>U(Uc.instances,s=>s._plugins.invalidate()),ri=!0;Object.defineProperties(Uc,{defaults:{enumerable:ri,value:F},instances:{enumerable:ri,value:la},overrides:{enumerable:ri,value:Di},registry:{enumerable:ri,value:ne},version:{enumerable:ri,value:w1},getChart:{enumerable:ri,value:eg},register:{enumerable:ri,value:(...s)=>{ne.add(...s),ig()}},unregister:{enumerable:ri,value:(...s)=>{ne.remove(...s),ig()}}});function sg(s,t,e){const{startAngle:i,pixelMargin:n,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=n/a;s.beginPath(),s.arc(o,r,a,i-c,e+c),l>n?(c=n/l,s.arc(o,r,l,e+c,i-c,!0)):s.arc(o,r,n,e+nt,i-nt),s.closePath(),s.clip()}function D1(s){return Ic(s,["outerStart","outerEnd","innerStart","innerEnd"])}function M1(s,t,e,i){const n=D1(s.options.borderRadius),o=(e-t)/2,r=Math.min(o,i*t/2),a=l=>{const c=(e-Math.min(o,l))*i/2;return dt(l,0,Math.min(o,c))};return{outerStart:a(n.outerStart),outerEnd:a(n.outerEnd),innerStart:dt(n.innerStart,0,r),innerEnd:dt(n.innerEnd,0,r)}}function Is(s,t,e,i){return{x:e+s*Math.cos(t),y:i+s*Math.sin(t)}}function Xc(s,t,e,i,n,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:h}=t,d=Math.max(t.outerRadius+i+e-c,0),u=h>0?h+i+e+c:0;let p=0;const f=n-l;if(i){const R=h>0?h-i:0,z=d>0?d-i:0,Y=(R+z)/2,Gt=Y!==0?f*Y/(Y+i):f;p=(f-Gt)/2}const b=Math.max(.001,f*d-e/it)/d,v=(f-b)/2,y=l+v+p,T=n-v-p,{outerStart:x,outerEnd:E,innerStart:C,innerEnd:A}=M1(t,u,d,T-y),w=d-x,S=d-E,k=y+x/w,D=T-E/S,I=u+C,M=u+A,P=y+C/I,X=T-A/M;if(s.beginPath(),o){if(s.arc(r,a,d,k,D),E>0){const Y=Is(S,D,r,a);s.arc(Y.x,Y.y,E,D,T+nt)}const R=Is(M,T,r,a);if(s.lineTo(R.x,R.y),A>0){const Y=Is(M,X,r,a);s.arc(Y.x,Y.y,A,T+nt,X+Math.PI)}if(s.arc(r,a,u,T-A/u,y+C/u,!0),C>0){const Y=Is(I,P,r,a);s.arc(Y.x,Y.y,C,P+Math.PI,y-nt)}const z=Is(w,y,r,a);if(s.lineTo(z.x,z.y),x>0){const Y=Is(w,k,r,a);s.arc(Y.x,Y.y,x,y-nt,k)}}else{s.moveTo(r,a);const R=Math.cos(k)*d+r,z=Math.sin(k)*d+a;s.lineTo(R,z);const Y=Math.cos(D)*d+r,Gt=Math.sin(D)*d+a;s.lineTo(Y,Gt)}s.closePath()}function L1(s,t,e,i,n){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){Xc(s,t,e,i,r+q,n);for(let c=0;c=q||Dn(o,a,l),b=Ie(r,c+u,h+u);return f&&b}getCenterPoint(t){const{x:e,y:i,startAngle:n,endAngle:o,innerRadius:r,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:l,spacing:c}=this.options,h=(n+o)/2,d=(r+a+c+l)/2;return{x:e+Math.cos(h)*d,y:i+Math.sin(h)*d}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,n=(e.offset||0)/2,o=(e.spacing||0)/2,r=e.circular;if(this.pixelMargin=e.borderAlign==="inner"?.33:0,this.fullCircles=i>q?Math.floor(i/q):0,i===0||this.innerRadius<0||this.outerRadius<0)return;t.save();let a=0;if(n){a=n/2;const c=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(c)*a,Math.sin(c)*a),this.circumference>=it&&(a=n)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const l=L1(t,this,a,o,r);R1(t,this,a,o,l,r),t.restore()}}Ds.id="arc",Ds.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},Ds.defaultRoutes={backgroundColor:"backgroundColor"};function ng(s,t,e=t){s.lineCap=B(e.borderCapStyle,t.borderCapStyle),s.setLineDash(B(e.borderDash,t.borderDash)),s.lineDashOffset=B(e.borderDashOffset,t.borderDashOffset),s.lineJoin=B(e.borderJoinStyle,t.borderJoinStyle),s.lineWidth=B(e.borderWidth,t.borderWidth),s.strokeStyle=B(e.borderColor,t.borderColor)}function P1(s,t,e){s.lineTo(e.x,e.y)}function N1(s){return s.stepped?dI:s.tension||s.cubicInterpolationMode==="monotone"?uI:P1}function og(s,t,e={}){const i=s.length,{start:n=0,end:o=i-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:i,start:l,loop:t.loop,ilen:c(r+(c?a-E:E))%o,x=()=>{b!==v&&(s.lineTo(h,v),s.lineTo(h,b),s.lineTo(h,y))};for(l&&(p=n[T(0)],s.moveTo(p.x,p.y)),u=0;u<=a;++u){if(p=n[T(u)],p.skip)continue;const E=p.x,C=p.y,A=E|0;A===f?(Cv&&(v=C),h=(d*h+E)/++d):(x(),s.lineTo(E,C),f=A,d=0,b=v=C),y=C}x()}function Gc(s){const t=s.options,e=t.borderDash&&t.borderDash.length;return!s._decimated&&!s._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?H1:B1}function V1(s){return s.stepped?zI:s.tension||s.cubicInterpolationMode==="monotone"?jI:Ni}function F1(s,t,e,i){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,i)&&n.closePath()),ng(s,t.options),s.stroke(n)}function W1(s,t,e,i){const{segments:n,options:o}=t,r=Gc(t);for(const a of n)ng(s,o,a.style),s.beginPath(),r(s,t,a,{start:e,end:e+i-1})&&s.closePath(),s.stroke()}const z1=typeof Path2D=="function";function j1(s,t,e,i){z1&&!t.options.segment?F1(s,t,e,i):W1(s,t,e,i)}class Le extends Xt{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const n=i.spanGaps?this._loop:this._fullLoop;RI(this._points,i,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=ZI(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,n=t[e],o=this.points,r=h_(this,{property:e,start:n,end:n});if(!r.length)return;const a=[],l=V1(i);let c,h;for(c=0,h=r.length;cs!=="borderDash"&&s!=="fill"};function rg(s,t,e,i){const n=s.options,{[e]:o}=s.getProps([e],i);return Math.abs(t-o)=e)return s.slice(t,t+e);const r=[],a=(e-2)/(o-2);let l=0;const c=t+e-1;let h=t,d,u,p,f,b;for(r[l++]=s[h],d=0;dp&&(p=f,u=s[T],b=T);r[l++]=u,h=b}return r[l++]=s[c],r}function Z1(s,t,e,i){let n=0,o=0,r,a,l,c,h,d,u,p,f,b;const v=[],y=t+e-1,T=s[t].x,E=s[y].x-T;for(r=t;rb&&(b=c,u=r),n=(o*n+a.x)/++o;else{const A=r-1;if(!H(d)&&!H(u)){const w=Math.min(d,u),S=Math.max(d,u);w!==p&&w!==A&&v.push({...s[w],x:n}),S!==p&&S!==A&&v.push({...s[S],x:n})}r>0&&A!==p&&v.push(s[A]),v.push(a),h=C,o=0,f=b=c,d=u=p=r}}return v}function cg(s){if(s._decimated){const t=s._data;delete s._decimated,delete s._data,Object.defineProperty(s,"data",{value:t})}}function hg(s){s.data.datasets.forEach(t=>{cg(t)})}function Q1(s,t){const e=t.length;let i=0,n;const{iScale:o}=s,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(i=dt(De(t,o.axis,r).lo,0,e-1)),c?n=dt(De(t,o.axis,a).hi+1,i,e)-i:n=e-i,{start:i,count:n}}var dg={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(s,t,e)=>{if(!e.enabled){hg(s);return}const i=s.width;s.data.datasets.forEach((n,o)=>{const{_data:r,indexAxis:a}=n,l=s.getDatasetMeta(o),c=r||n.data;if(tt([a,s.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const h=s.scales[l.xAxisID];if(h.type!=="linear"&&h.type!=="time"||s.options.parsing)return;let{start:d,count:u}=Q1(l,c);const p=e.threshold||4*i;if(u<=p){cg(n);return}H(r)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(b){this._data=b}}));let f;switch(e.algorithm){case"lttb":f=q1(c,d,u,i,e);break;case"min-max":f=Z1(c,d,u,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=f})},destroy(s){hg(s)}};function J1(s,t,e){const i=s.segments,n=s.points,o=t.points,r=[];for(const a of i){let{start:l,end:c}=a;c=Jc(l,c,n);const h=Qc(e,n[l],n[c],a.loop);if(!t.segments){r.push({source:a,target:h,start:n[l],end:n[c]});continue}const d=h_(t,h);for(const u of d){const p=Qc(e,o[u.start],o[u.end],u.loop),f=c_(a,n,p);for(const b of f)r.push({source:b,target:u,start:{[e]:ug(h,p,"start",Math.max)},end:{[e]:ug(h,p,"end",Math.min)}})}}return r}function Qc(s,t,e,i){if(i)return;let n=t[s],o=e[s];return s==="angle"&&(n=Vt(n),o=Vt(o)),{property:s,start:n,end:o}}function tM(s,t){const{x:e=null,y:i=null}=s||{},n=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=Jc(r,a,n);const l=n[r],c=n[a];i!==null?(o.push({x:l.x,y:i}),o.push({x:c.x,y:i})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Jc(s,t,e){for(;t>s;t--){const i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function ug(s,t,e,i){return s&&t?i(s[e],t[e]):s?s[e]:t?t[e]:0}function pg(s,t){let e=[],i=!1;return Q(s)?(i=!0,e=s):e=tM(s,t),e.length?new Le({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function fg(s){return s&&s.fill!==!1}function eM(s,t,e){let n=s[t].fill;const o=[t];let r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!rt(n))return n;if(r=s[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function iM(s,t,e){const i=rM(s);if(V(i))return isNaN(i.value)?!1:i;let n=parseFloat(i);return rt(n)&&Math.floor(n)===n?sM(i[0],t,n,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function sM(s,t,e,i){return(s==="-"||s==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function nM(s,t){let e=null;return s==="start"?e=t.bottom:s==="end"?e=t.top:V(s)?e=t.getPixelForValue(s.value):t.getBasePixel&&(e=t.getBasePixel()),e}function oM(s,t,e){let i;return s==="start"?i=e:s==="end"?i=t.options.reverse?t.min:t.max:V(s)?i=s.value:i=t.getBaseValue(),i}function rM(s){const t=s.options,e=t.fill;let i=B(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function aM(s){const{scale:t,index:e,line:i}=s,n=[],o=i.segments,r=i.points,a=lM(t,e);a.push(pg({x:null,y:t.bottom},i));for(let l=0;l=0;--r){const a=n[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),i&&a.fill&&th(s.ctx,a,o))}},beforeDatasetsDraw(s,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const i=s.getSortedVisibleDatasetMetas();for(let n=i.length-1;n>=0;--n){const o=i[n].$filler;fg(o)&&th(s.ctx,o,s.chartArea)}},beforeDatasetDraw(s,t,e){const i=t.meta.$filler;!fg(i)||e.drawTime!=="beforeDatasetDraw"||th(s.ctx,i,s.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const yg=(s,t)=>{let{boxHeight:e=t,boxWidth:i=t}=s;return s.usePointStyle&&(e=Math.min(e,t),i=s.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},bM=(s,t)=>s!==null&&t!==null&&s.datasetIndex===t.datasetIndex&&s.index===t.index;class Tg extends Xt{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=G(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,n)=>t.sort(i,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,n=lt(i.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=yg(i,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,o,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,n){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a;let d=t;o.textAlign="left",o.textBaseline="middle";let u=-1,p=-h;return this.legendItems.forEach((f,b)=>{const v=i+e/2+o.measureText(f.text).width;(b===0||c[c.length-1]+v+2*a>r)&&(d+=h,c[c.length-(b>0?0:1)]=0,p+=h,u++),l[b]={left:0,top:p,row:u,width:v,height:n},c[c.length-1]+=v+a}),d}_fitCols(t,e,i,n){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let d=a,u=0,p=0,f=0,b=0;return this.legendItems.forEach((v,y)=>{const T=i+e/2+o.measureText(v.text).width;y>0&&p+n+2*a>h&&(d+=u+a,c.push({width:u,height:p}),f+=u+a,b++,u=p=0),l[y]={left:f,top:p,col:b,width:T,height:n},u=Math.max(u,T),p+=n+a}),d+=u,c.push({width:u,height:p}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:n},rtl:o}}=this,r=Os(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=gt(i,this.left+n,this.right-this.lineWidths[a]);for(const c of e)a!==c.row&&(a=c.row,l=gt(i,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=gt(i,this.top+t+n,this.bottom-this.columnSizes[a].height);for(const c of e)c.col!==a&&(a=c.col,l=gt(i,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;qr(t,this),this._draw(),Zr(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:n}=this,{align:o,labels:r}=t,a=F.color,l=Os(t.rtl,this.left,this.width),c=lt(r.font),{color:h,padding:d}=r,u=c.size,p=u/2;let f;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:b,boxHeight:v,itemHeight:y}=yg(r,u),T=function(w,S,k){if(isNaN(b)||b<=0||isNaN(v)||v<0)return;n.save();const D=B(k.lineWidth,1);if(n.fillStyle=B(k.fillStyle,a),n.lineCap=B(k.lineCap,"butt"),n.lineDashOffset=B(k.lineDashOffset,0),n.lineJoin=B(k.lineJoin,"miter"),n.lineWidth=D,n.strokeStyle=B(k.strokeStyle,a),n.setLineDash(B(k.lineDash,[])),r.usePointStyle){const I={radius:v*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:D},M=l.xPlus(w,b/2),P=S+p;Yf(n,I,M,P,r.pointStyleWidth&&b)}else{const I=S+Math.max((u-v)/2,0),M=l.leftForLtr(w,b),P=$i(k.borderRadius);n.beginPath(),Object.values(P).some(X=>X!==0)?Nn(n,{x:M,y:I,w:b,h:v,radius:P}):n.rect(M,I,b,v),n.fill(),D!==0&&n.stroke()}n.restore()},x=function(w,S,k){Li(n,k.text,w,S+y/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})},E=this.isHorizontal(),C=this._computeTitleHeight();E?f={x:gt(o,this.left+d,this.right-i[0]),y:this.top+d+C,line:0}:f={x:this.left+d,y:gt(o,this.top+C+d,this.bottom-e[0].height),line:0},o_(this.ctx,t.textDirection);const A=y+d;this.legendItems.forEach((w,S)=>{n.strokeStyle=w.fontColor||h,n.fillStyle=w.fontColor||h;const k=n.measureText(w.text).width,D=l.textAlign(w.textAlign||(w.textAlign=r.textAlign)),I=b+p+k;let M=f.x,P=f.y;l.setWidth(this.width),E?S>0&&M+I+d>this.right&&(P=f.y+=A,f.line++,M=f.x=gt(o,this.left+d,this.right-i[f.line])):S>0&&P+A>this.bottom&&(M=f.x=M+e[f.line].width+d,f.line++,P=f.y=gt(o,this.top+C+d,this.bottom-e[f.line].height));const X=l.x(M);T(X,P,w),M=HO(D,M+b+p,E?M+I:this.right,t.rtl),x(l.x(M),P,w),E?f.x+=I+d:f.y+=A}),r_(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=lt(e.font),n=pt(e.padding);if(!e.display)return;const o=Os(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=i.size/2,c=n.top+l;let h,d=this.left,u=this.width;if(this.isHorizontal())u=Math.max(...this.lineWidths),h=this.top+c,d=gt(t.align,d,this.right-u);else{const f=this.columnSizes.reduce((b,v)=>Math.max(b,v.height),0);h=c+gt(t.align,this.top,this.bottom-f-t.labels.padding-this._computeTitleHeight())}const p=gt(a,d,d+u);r.textAlign=o.textAlign(yc(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=i.string,Li(r,e.text,p,h,i)}_computeTitleHeight(){const t=this.options.title,e=lt(t.font),i=pt(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,n,o;if(Ie(t,this.left,this.right)&&Ie(e,this.top,this.bottom)){for(o=this.legendHitBoxes,i=0;is.chart.options.color,boxWidth:40,padding:10,generateLabels(s){const t=s.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:n,color:o}}=s.legend.options;return s._getSortedDatasetMetas().map(r=>{const a=r.controller.getStyle(e?0:void 0),l=pt(a.borderWidth);return{text:t[r.index].label,fillStyle:a.backgroundColor,fontColor:o,hidden:!r.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:a.borderColor,pointStyle:i||a.pointStyle,rotation:a.rotation,textAlign:n||a.textAlign,borderRadius:0,datasetIndex:r.index}},this)}},title:{color:s=>s.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:s=>!s.startsWith("on"),labels:{_scriptable:s=>!["generateLabels","filter","sort"].includes(s)}}};class eh extends Xt{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const n=Q(i.text)?i.text.length:1;this._padding=pt(i.padding);const o=n*lt(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:i,bottom:n,right:o,options:r}=this,a=r.align;let l=0,c,h,d;return this.isHorizontal()?(h=gt(a,i,o),d=e+t,c=o-i):(r.position==="left"?(h=i+t,d=gt(a,n,e),l=it*-.5):(h=o-t,d=gt(a,e,n),l=it*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=lt(e.font),o=i.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);Li(t,e.text,0,0,i,{color:e.color,maxWidth:l,rotation:c,textAlign:yc(e.align),textBaseline:"middle",translation:[r,a]})}}function yM(s,t){const e=new eh({ctx:s.ctx,options:t,chart:s});ft.configure(s,e,t),ft.addBox(s,e),s.titleBlock=e}var xg={id:"title",_element:eh,start(s,t,e){yM(s,e)},stop(s){const t=s.titleBlock;ft.removeBox(s,t),delete s.titleBlock},beforeUpdate(s,t,e){const i=s.titleBlock;ft.configure(s,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ca=new WeakMap;var Cg={id:"subtitle",start(s,t,e){const i=new eh({ctx:s.ctx,options:e,chart:s});ft.configure(s,i,e),ft.addBox(s,i),ca.set(s,i)},stop(s){ft.removeBox(s,ca.get(s)),ca.delete(s)},beforeUpdate(s,t,e){const i=ca.get(s);ft.configure(s,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const to={average(s){if(!s.length)return!1;let t,e,i=0,n=0,o=0;for(t=0,e=s.length;t-1?s.split(` +`):s}function TM(s,t){const{element:e,datasetIndex:i,index:n}=t,o=s.getDatasetMeta(i).controller,{label:r,value:a}=o.getLabelAndValue(n);return{chart:s,label:r,parsed:o.getParsed(n),raw:s.data.datasets[i].data[n],formattedValue:a,dataset:o.getDataset(),dataIndex:n,datasetIndex:i,element:e}}function Ag(s,t){const e=s.chart.ctx,{body:i,footer:n,title:o}=s,{boxWidth:r,boxHeight:a}=t,l=lt(t.bodyFont),c=lt(t.titleFont),h=lt(t.footerFont),d=o.length,u=n.length,p=i.length,f=pt(t.padding);let b=f.height,v=0,y=i.reduce((E,C)=>E+C.before.length+C.lines.length+C.after.length,0);if(y+=s.beforeBody.length+s.afterBody.length,d&&(b+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),y){const E=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;b+=p*E+(y-p)*l.lineHeight+(y-1)*t.bodySpacing}u&&(b+=t.footerMarginTop+u*h.lineHeight+(u-1)*t.footerSpacing);let T=0;const x=function(E){v=Math.max(v,e.measureText(E).width+T)};return e.save(),e.font=c.string,U(s.title,x),e.font=l.string,U(s.beforeBody.concat(s.afterBody),x),T=t.displayColors?r+2+t.boxPadding:0,U(i,E=>{U(E.before,x),U(E.lines,x),U(E.after,x)}),T=0,e.font=h.string,U(s.footer,x),e.restore(),v+=f.width,{width:v,height:b}}function EM(s,t){const{y:e,height:i}=t;return es.height-i/2?"bottom":"center"}function xM(s,t,e,i){const{x:n,width:o}=i,r=e.caretSize+e.caretPadding;if(s==="left"&&n+o+r>t.width||s==="right"&&n-o-r<0)return!0}function CM(s,t,e,i){const{x:n,width:o}=e,{width:r,chartArea:{left:a,right:l}}=s;let c="center";return i==="center"?c=n<=(a+l)/2?"left":"right":n<=o/2?c="left":n>=r-o/2&&(c="right"),xM(c,s,t,e)&&(c="center"),c}function wg(s,t,e){const i=e.yAlign||t.yAlign||EM(s,e);return{xAlign:e.xAlign||t.xAlign||CM(s,t,e,i),yAlign:i}}function AM(s,t){let{x:e,width:i}=s;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function wM(s,t,e){let{y:i,height:n}=s;return t==="top"?i+=e:t==="bottom"?i-=n+e:i-=n/2,i}function kg(s,t,e,i){const{caretSize:n,caretPadding:o,cornerRadius:r}=s,{xAlign:a,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:u,bottomRight:p}=$i(r);let f=AM(t,a);const b=wM(t,l,c);return l==="center"?a==="left"?f+=c:a==="right"&&(f-=c):a==="left"?f-=Math.max(h,u)+n:a==="right"&&(f+=Math.max(d,p)+n),{x:dt(f,0,i.width-t.width),y:dt(b,0,i.height-t.height)}}function ha(s,t,e){const i=pt(e.padding);return t==="center"?s.x+s.width/2:t==="right"?s.x+s.width-i.right:s.x+i.left}function Sg(s){return Ce([],$e(s))}function kM(s,t,e){return ni(s,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Og(s,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?s.override(e):s}class ih extends Xt{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),n=i.enabled&&e.options.animation&&i.animations,o=new Pc(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=kM(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:i}=e,n=i.beforeTitle.apply(this,[t]),o=i.title.apply(this,[t]),r=i.afterTitle.apply(this,[t]);let a=[];return a=Ce(a,$e(n)),a=Ce(a,$e(o)),a=Ce(a,$e(r)),a}getBeforeBody(t,e){return Sg(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:i}=e,n=[];return U(t,o=>{const r={before:[],lines:[],after:[]},a=Og(i,o);Ce(r.before,$e(a.beforeLabel.call(this,o))),Ce(r.lines,a.label.call(this,o)),Ce(r.after,$e(a.afterLabel.call(this,o))),n.push(r)}),n}getAfterBody(t,e){return Sg(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:i}=e,n=i.beforeFooter.apply(this,[t]),o=i.footer.apply(this,[t]),r=i.afterFooter.apply(this,[t]);let a=[];return a=Ce(a,$e(n)),a=Ce(a,$e(o)),a=Ce(a,$e(r)),a}_createItems(t){const e=this._active,i=this.chart.data,n=[],o=[],r=[];let a=[],l,c;for(l=0,c=e.length;lt.filter(h,d,u,i))),t.itemSort&&(a=a.sort((h,d)=>t.itemSort(h,d,i))),U(a,h=>{const d=Og(t.callbacks,h);n.push(d.labelColor.call(this,h)),o.push(d.labelPointStyle.call(this,h)),r.push(d.labelTextColor.call(this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,e){const i=this.options.setContext(this.getContext()),n=this._active;let o,r=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{const a=to[i.position].call(this,n,this._eventPosition);r=this._createItems(i),this.title=this.getTitle(r,i),this.beforeBody=this.getBeforeBody(r,i),this.body=this.getBody(r,i),this.afterBody=this.getAfterBody(r,i),this.footer=this.getFooter(r,i);const l=this._size=Ag(this,i),c=Object.assign({},a,l),h=wg(this.chart,i,c),d=kg(i,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,n){const o=this.getCaretPosition(t,i,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,i){const{xAlign:n,yAlign:o}=this,{caretSize:r,cornerRadius:a}=i,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=$i(a),{x:u,y:p}=t,{width:f,height:b}=e;let v,y,T,x,E,C;return o==="center"?(E=p+b/2,n==="left"?(v=u,y=v-r,x=E+r,C=E-r):(v=u+f,y=v+r,x=E-r,C=E+r),T=v):(n==="left"?y=u+Math.max(l,h)+r:n==="right"?y=u+f-Math.max(c,d)-r:y=this.caretX,o==="top"?(x=p,E=x-r,v=y-r,T=y+r):(x=p+b,E=x+r,v=y+r,T=y-r),C=x),{x1:v,x2:y,x3:T,y1:x,y2:E,y3:C}}drawTitle(t,e,i){const n=this.title,o=n.length;let r,a,l;if(o){const c=Os(i.rtl,this.x,this.width);for(t.x=ha(this,i.titleAlign,i),e.textAlign=c.textAlign(i.titleAlign),e.textBaseline="middle",r=lt(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=r.string,l=0;lx!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Nn(t,{x:v,y:b,w:c,h:l,radius:T}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Nn(t,{x:y,y:b+1,w:c-2,h:l-2,radius:T}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(v,b,c,l),t.strokeRect(v,b,c,l),t.fillStyle=r.backgroundColor,t.fillRect(y,b+1,c-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:n}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=i,d=lt(i.bodyFont);let u=d.lineHeight,p=0;const f=Os(i.rtl,this.x,this.width),b=function(S){e.fillText(S,f.x(t.x+p),t.y+u/2),t.y+=u+o},v=f.textAlign(r);let y,T,x,E,C,A,w;for(e.textAlign=r,e.textBaseline="middle",e.font=d.string,t.x=ha(this,v,i),e.fillStyle=i.bodyColor,U(this.beforeBody,b),p=a&&v!=="right"?r==="center"?c/2+h:c+2+h:0,E=0,A=n.length;E0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,n=i&&i.x,o=i&&i.y;if(n||o){const r=to[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Ag(this,t),l=Object.assign({},r,this._size),c=wg(e,t,l),h=kg(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const n={width:this.width,height:this.height},o={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const r=pt(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(o,t,n,e),o_(t,e.textDirection),o.y+=r.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),r_(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,n=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Fr(i,n),r=this._positionChanged(n,e);(o||r)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const n=this.options,o=this._active||[],r=this._getActiveElements(t,o,e,i),a=this._positionChanged(r,t),l=e||!Fr(r,o)||a;return l&&(this._active=r,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,i,n){const o=this.options;if(t.type==="mouseout")return[];if(!n)return e;const r=this.chart.getElementsAtEventForMode(t,o.mode,o,i);return o.reverse&&r.reverse(),r}_positionChanged(t,e){const{caretX:i,caretY:n,options:o}=this,r=to[o.position].call(this,t,e);return r!==!1&&(i!==r.x||n!==r.y)}}ih.positioners=to;var Ig={id:"tooltip",_element:ih,positioners:to,afterInit(s,t,e){e&&(s.tooltip=new ih({chart:s,options:e}))},beforeUpdate(s,t,e){s.tooltip&&s.tooltip.initialize(e)},reset(s,t,e){s.tooltip&&s.tooltip.initialize(e)},afterDraw(s){const t=s.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(s.notifyPlugins("beforeTooltipDraw",e)===!1)return;t.draw(s.ctx),s.notifyPlugins("afterTooltipDraw",e)}},afterEvent(s,t){if(s.tooltip){const e=t.replay;s.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(s,t)=>t.bodyFont.size,boxWidth:(s,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:Oe,title(s){if(s.length>0){const t=s[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndexs!=="filter"&&s!=="itemSort"&&s!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},Dg=Object.freeze({__proto__:null,Decimation:dg,Filler:vg,Legend:Eg,SubTitle:Cg,Title:xg,Tooltip:Ig});const SM=(s,t,e,i)=>(typeof t=="string"?(e=s.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function OM(s,t,e,i){const n=s.indexOf(t);if(n===-1)return SM(s,t,e,i);const o=s.lastIndexOf(t);return n!==o?e:n}const IM=(s,t)=>s===null?null:dt(Math.round(s),0,t);class eo extends oi{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const i=this.getLabels();for(const{index:n,label:o}of e)i[n]===o&&i.splice(n,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(H(t))return null;const i=this.getLabels();return e=isFinite(e)&&i[e]===t?e:OM(i,t,B(e,t),this._addedLabels),IM(e,i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:n}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(i=0),e||(n=this.getLabels().length-1)),this.min=i,this.max=n}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,n=[];let o=this.getLabels();o=t===0&&e===o.length-1?o:o.slice(t,e+1),this._valueRange=Math.max(o.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let r=t;r<=e;r++)n.push({value:r});return n}getLabelForValue(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}eo.id="category",eo.defaults={ticks:{callback:eo.prototype.getLabelForValue}};function DM(s,t){const e=[],{bounds:n,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:u}=s,p=o||1,f=h-1,{min:b,max:v}=t,y=!H(r),T=!H(a),x=!H(c),E=(v-b)/(d+1);let C=Tf((v-b)/f/p)*p,A,w,S,k;if(C<1e-14&&!y&&!T)return[{value:b},{value:v}];k=Math.ceil(v/C)-Math.floor(b/C),k>f&&(C=Tf(k*C/f/p)*p),H(l)||(A=Math.pow(10,l),C=Math.ceil(C*A)/A),n==="ticks"?(w=Math.floor(b/C)*C,S=Math.ceil(v/C)*C):(w=b,S=v),y&&T&&o&&MO((a-r)/o,C/1e3)?(k=Math.round(Math.min((a-r)/C,h)),C=(a-r)/k,w=r,S=a):x?(w=y?r:w,S=T?a:S,k=c-1,C=(S-w)/k):(k=(S-w)/C,In(k,Math.round(k),C/1e3)?k=Math.round(k):k=Math.ceil(k));const D=Math.max(xf(C),xf(w));A=Math.pow(10,H(l)?D:l),w=Math.round(w*A)/A,S=Math.round(S*A)/A;let I=0;for(y&&(u&&w!==r?(e.push({value:r}),wn=e?n:l,a=l=>o=i?o:l;if(t){const l=Ee(n),c=Ee(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(n===o){let l=1;(o>=Number.MAX_SAFE_INTEGER||n<=Number.MIN_SAFE_INTEGER)&&(l=Math.abs(o*.05)),a(o+l),t||r(n-l)}this.min=n,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:i}=t,n;return i?(n=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,r=DM(n,o);return t.bounds==="ticks"&&Ef(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const n=(i-e)/Math.max(t.length-1,1)/2;e-=n,i+=n}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Bn(t,this.chart.options.locale,this.options.ticks.format)}}class ua extends da{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=rt(t)?t:0,this.max=rt(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=se(this.options.ticks.minRotation),n=(t?Math.sin(i):Math.cos(i))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}ua.id="linear",ua.defaults={ticks:{callback:Yn.formatters.numeric}};function Lg(s){return s/Math.pow(10,Math.floor(Yt(s)))===1}function MM(s,t){const e=Math.floor(Yt(t.max)),i=Math.ceil(t.max/Math.pow(10,e)),n=[];let o=zt(s.min,Math.pow(10,Math.floor(Yt(t.min)))),r=Math.floor(Yt(o)),a=Math.floor(o/Math.pow(10,r)),l=r<0?Math.pow(10,Math.abs(r)):1;do n.push({value:o,major:Lg(o)}),++a,a===10&&(a=1,++r,l=r>=0?1:l),o=Math.round(a*Math.pow(10,r)*l)/l;while(r0?i:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=rt(t)?Math.max(0,t):null,this.max=rt(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,n=this.max;const o=l=>i=t?i:l,r=l=>n=e?n:l,a=(l,c)=>Math.pow(10,Math.floor(Yt(l))+c);i===n&&(i<=0?(o(1),r(10)):(o(a(i,-1)),r(a(n,1)))),i<=0&&o(a(n,-1)),n<=0&&r(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&o(a(i,-1)),this.min=i,this.max=n}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},i=MM(e,this);return t.bounds==="ticks"&&Ef(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":Bn(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Yt(t),this._valueRange=Yt(this.max)-Yt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Yt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}pa.id="logarithmic",pa.defaults={ticks:{callback:Yn.formatters.logarithmic,major:{enabled:!0}}};function sh(s){const t=s.ticks;if(t.display&&s.display){const e=pt(t.backdropPadding);return B(t.font&&t.font.size,F.font.size)+e.height}return 0}function LM(s,t,e){return e=Q(e)?e:[e],{w:hI(s,t.string,e),h:e.length*t.lineHeight}}function $g(s,t,e,i,n){return s===i||s===n?{start:t-e/2,end:t+e/2}:sn?{start:t-e,end:t}:{start:t,end:t+e}}function $M(s){const t={l:s.left+s._padding.left,r:s.right-s._padding.right,t:s.top+s._padding.top,b:s.bottom-s._padding.bottom},e=Object.assign({},t),i=[],n=[],o=s._pointLabels.length,r=s.options.pointLabels,a=r.centerPointLabels?it/o:0;for(let l=0;lt.r&&(a=(i.end-t.r)/o,s.r=Math.max(s.r,t.r+a)),n.startt.b&&(l=(n.end-t.b)/r,s.b=Math.max(s.b,t.b+l))}function PM(s,t,e){const i=[],n=s._pointLabels.length,o=s.options,r=sh(o)/2,a=s.drawingArea,l=o.pointLabels.centerPointLabels?it/n:0;for(let c=0;c270||e<90)&&(s-=t),s}function VM(s,t){const{ctx:e,options:{pointLabels:i}}=s;for(let n=t-1;n>=0;n--){const o=i.setContext(s.getPointLabelContext(n)),r=lt(o.font),{x:a,y:l,textAlign:c,left:h,top:d,right:u,bottom:p}=s._pointLabelItems[n],{backdropColor:f}=o;if(!H(f)){const b=$i(o.borderRadius),v=pt(o.backdropPadding);e.fillStyle=f;const y=h-v.left,T=d-v.top,x=u-h+v.width,E=p-d+v.height;Object.values(b).some(C=>C!==0)?(e.beginPath(),Nn(e,{x:y,y:T,w:x,h:E,radius:b}),e.fill()):e.fillRect(y,T,x,E)}Li(e,s._pointLabels[n],a,l+r.lineHeight/2,r,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Rg(s,t,e,i){const{ctx:n}=s;if(e)n.arc(s.xCenter,s.yCenter,t,0,q);else{let o=s.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let r=1;r{const n=G(this.options.pointLabels.callback,[e,i],this);return n||n===0?n:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?$M(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,n))}getIndexAngle(t){const e=q/(this._pointLabels.length||1),i=this.options.startAngle||0;return Vt(t*e+se(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(H(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(h!==0){a=this.getDistanceFromCenterForValue(c.value);const d=n.setContext(this.getContext(h-1));FM(this,d,a,o)}}),i.display){for(t.save(),r=o-1;r>=0;r--){const c=i.setContext(this.getPointLabelContext(r)),{color:h,lineWidth:d}=c;!d||!h||(t.lineWidth=d,t.strokeStyle=h,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(r,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const n=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!e.reverse)return;const c=i.setContext(this.getContext(l)),h=lt(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const d=pt(c.backdropPadding);t.fillRect(-r/2-d.left,-o-h.size/2-d.top,r+d.width,h.size+d.height)}Li(t,a.label,0,-o,h,{color:c.color})}),t.restore()}drawTitle(){}}$s.id="radialLinear",$s.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Yn.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(s){return s},padding:5,centerPointLabels:!1}},$s.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},$s.descriptors={angleLines:{_fallback:"grid"}};const fa={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},It=Object.keys(fa);function zM(s,t){return s-t}function Pg(s,t){if(H(t))return null;const e=s._adapter,{parser:i,round:n,isoWeekday:o}=s._parseOpts;let r=t;return typeof i=="function"&&(r=i(r)),rt(r)||(r=typeof i=="string"?e.parse(r,i):e.parse(r)),r===null?null:(n&&(r=n==="week"&&(As(o)||o===!0)?e.startOf(r,"isoWeek",o):e.startOf(r,n)),+r)}function Ng(s,t,e,i){const n=It.length;for(let o=It.indexOf(s);o=It.indexOf(e);o--){const r=It[o];if(fa[r].common&&s._adapter.diff(n,i,r)>=t-1)return r}return It[e?It.indexOf(e):0]}function YM(s){for(let t=It.indexOf(s)+1,e=It.length;t=t?e[i]:e[n];s[o]=!0}}function KM(s,t,e,i){const n=s._adapter,o=+n.startOf(t[0].value,i),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+n.add(a,1,i))l=e[a],l>=0&&(t[l].major=!0);return t}function Hg(s,t,e){const i=[],n={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t){let e=0,i=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?i=o:i=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;e=dt(e,0,r),i=dt(i,0,r),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){const t=this._adapter,e=this.min,i=this.max,n=this.options,o=n.time,r=o.unit||Ng(o.minUnit,e,i,this._getLabelCapacity(e)),a=B(o.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=As(l)||l===!0,h={};let d=e,u,p;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(i,e,r)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+r);const f=n.ticks.source==="data"&&this.getDataTimestamps();for(u=d,p=0;ub-v).map(b=>+b)}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}_tickFormatFunction(t,e,i,n){const o=this.options,r=o.time.displayFormats,a=this._unit,l=this._majorUnit,c=a&&r[a],h=l&&r[l],d=i[e],u=l&&h&&d&&d.major,p=this._adapter.format(t,n||(u?h:c)),f=o.ticks.callback;return f?G(f,[p,e,i],this):p}generateTickLabels(t){let e,i,n;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;const n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,i=n.length;e=s[i].pos&&t<=s[n].pos&&({lo:i,hi:n}=De(s,"pos",t)),{pos:o,time:a}=s[i],{pos:r,time:l}=s[n]):(t>=s[i].time&&t<=s[n].time&&({lo:i,hi:n}=De(s,"time",t)),{time:o,pos:a}=s[i],{time:r,pos:l}=s[n]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class ga extends Rs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=_a(e,this.min),this._tableRange=_a(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,n=[],o=[];let r,a,l,c,h;for(r=0,a=t.length;r=e&&c<=i&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(r=0,a=n.length;re.right&&(i|=zg),te.bottom&&(i|=jg),i}function qM(s,t){for(var e=s.x0,i=s.y0,n=s.x1,o=s.y1,r=ma(e,i,t),a=ma(n,o,t),l,c,h;!(!(r|a)||r&a);)l=r||a,l&Yg?(c=e+(n-e)*(t.top-i)/(o-i),h=t.top):l&jg?(c=e+(n-e)*(t.bottom-i)/(o-i),h=t.bottom):l&zg?(h=i+(o-i)*(t.right-e)/(n-e),c=t.right):l&Wg&&(h=i+(o-i)*(t.left-e)/(n-e),c=t.left),l===r?(e=c,i=h,r=ma(e,i,t)):(n=c,o=h,a=ma(n,o,t));return{x0:e,x1:n,y0:i,y1:o}}function ba(s,t){var e=t.anchor,i=s,n,o;return t.clamp&&(i=qM(i,t.area)),e==="start"?(n=i.x0,o=i.y0):e==="end"?(n=i.x1,o=i.y1):(n=(i.x0+i.x1)/2,o=(i.y0+i.y1)/2),XM(n,o,s.vx,s.vy,t.align)}var va={arc:function(s,t){var e=(s.startAngle+s.endAngle)/2,i=Math.cos(e),n=Math.sin(e),o=s.innerRadius,r=s.outerRadius;return ba({x0:s.x+i*o,y0:s.y+n*o,x1:s.x+i*r,y1:s.y+n*r,vx:i,vy:n},t)},point:function(s,t){var e=nh(s,t.origin),i=e.x*s.options.radius,n=e.y*s.options.radius;return ba({x0:s.x-i,y0:s.y-n,x1:s.x+i,y1:s.y+n,vx:e.x,vy:e.y},t)},bar:function(s,t){var e=nh(s,t.origin),i=s.x,n=s.y,o=0,r=0;return s.horizontal?(i=Math.min(s.x,s.base),o=Math.abs(s.base-s.x)):(n=Math.min(s.y,s.base),r=Math.abs(s.base-s.y)),ba({x0:i,y0:n+r,x1:i+o,y1:n,vx:e.x,vy:e.y},t)},fallback:function(s,t){var e=nh(s,t.origin);return ba({x0:s.x,y0:s.y,x1:s.x+(s.width||0),y1:s.y+(s.height||0),vx:e.x,vy:e.y},t)}},Re=io.rasterize;function ZM(s){var t=s.borderWidth||0,e=s.padding,i=s.size.height,n=s.size.width,o=-n/2,r=-i/2;return{frame:{x:o-e.left-t,y:r-e.top-t,w:n+e.width+t*2,h:i+e.height+t*2},text:{x:o,y:r,w:n,h:i}}}function QM(s,t){var e=t.chart.getDatasetMeta(t.datasetIndex).vScale;if(!e)return null;if(e.xCenter!==void 0&&e.yCenter!==void 0)return{x:e.xCenter,y:e.yCenter};var i=e.getBasePixel();return s.horizontal?{x:i,y:null}:{x:null,y:i}}function JM(s){return s instanceof Ds?va.arc:s instanceof Ms?va.point:s instanceof Ls?va.bar:va.fallback}function tL(s,t,e,i,n,o){var r=Math.PI/2;if(o){var a=Math.min(o,n/2,i/2),l=t+a,c=e+a,h=t+i-a,d=e+n-a;s.moveTo(t,c),li.x+i.w+e*2||s.y>i.y+i.h+e*2)},intersects:function(s){var t=this._points(),e=s._points(),i=[ya(t[0],t[1]),ya(t[0],t[3])],n,o,r;for(this._rotation!==s._rotation&&i.push(ya(e[0],e[1]),ya(e[0],e[3])),n=0;n=0;--e)for(n=s[e].$layout,i=e-1;i>=0&&n._visible;--i)o=s[i].$layout,o._visible&&n._box.intersects(o._box)&&t(n,o);return s}function lL(s){var t,e,i,n,o,r,a;for(t=0,e=s.length;tl.getProps([c],!0)[c]}),o=i.geometry(),r=Gg(a,i.model(),o),n._box.update(r,o,i.rotation()));return aL(s,function(l,c){var h=l._hidable,d=c._hidable;h&&d||d?c._visible=!1:h&&(l._visible=!1)})}var no={prepare:function(s){var t=[],e,i,n,o,r;for(e=0,n=s.length;e=0;--e)if(i=s[e].$layout,i&&i._visible&&i._box.contains(t))return s[e];return null},draw:function(s,t){var e,i,n,o,r,a;for(e=0,i=t.length;eArray.isArray(e),t=t=>e(t)?t:[t];const s="data-typeit-id",i="ti-cursor",r={started:!1,completed:!1,frozen:!1,destroyed:!1},n={breakLines:!0,cursor:{autoPause:!0,autoPauseDelay:500,animation:{frames:[0,0,1].map((e=>({opacity:e}))),options:{iterations:1/0,easing:"steps(2, start)",fill:"forwards"}}},cursorChar:"|",cursorSpeed:1e3,deleteSpeed:null,html:!0,lifeLike:!0,loop:!1,loopDelay:750,nextStringDelay:750,speed:100,startDelay:250,startDelete:!1,strings:[],waitUntilVisible:!1,beforeString:()=>{},afterString:()=>{},beforeStep:()=>{},afterStep:()=>{},afterComplete:()=>{}},o=`[${s}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`,a=e=>document.createElement(e),u=e=>document.createTextNode(e),l=(e,t="")=>{let s=a("style");s.id=t,s.appendChild(u(e)),document.head.appendChild(s)},h=t=>(e(t)||(t=[t/2,t/2]),t),d=(e,t)=>Math.abs(Math.random()*(e+t-(e-t))+(e-t));let p=e=>e/2;const c=e=>Array.from(e);let m=e=>([...e.childNodes].forEach((e=>{if(e.nodeValue)return[...e.nodeValue].forEach((t=>{e.parentNode.insertBefore(u(t),e)})),void e.remove();m(e)})),e);const f=e=>{let t=document.implementation.createHTMLDocument();return t.body.innerHTML=e,m(t.body)};function y(e,t=!1,s=!1){let r,n=e.querySelector(`.${i}`),o=document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:e=>{if(n&&s){if(e.classList?.contains(i))return NodeFilter.FILTER_ACCEPT;if(n.contains(e))return NodeFilter.FILTER_REJECT}return e.classList?.contains(i)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),a=[];for(;r=o.nextNode();)r.originalParent||(r.originalParent=r.parentNode),a.push(r);return t?a.reverse():a}function g(e,t=!0){return t?y(f(e)):c(e).map(u)}const b=e=>Number.isInteger(e),P=({queueItems:e,selector:t,cursorPosition:s,to:i})=>{if(b(t))return-1*t;let r=new RegExp("END","i").test(i),n=t?[...e].reverse().findIndex((({char:e})=>{let s=e.parentElement,i=s.matches(t);return!(!r||!i)||i&&s.firstChild.isSameNode(e)})):-1;return n<0&&(n=r?0:e.length-1),n-s+(r?0:1)},C=(e,t)=>new Array(t).fill(e);let v=e=>new Promise((t=>{requestAnimationFrame((async()=>{t(await e())}))})),T=e=>e?.getAnimations().find((t=>t.id===e.dataset.tiAnimationId)),w=({cursor:e,frames:t,options:s})=>{let i=e.animate(t,s);return i.pause(),i.id=e.dataset.tiAnimationId,v((()=>{v((()=>{i.play()}))})),i},I=e=>e.func?.call(null),q=async({index:e,queueItems:t,wait:s,cursor:i,cursorOptions:r})=>{let n=t[e][1],o=[],a=e,u=n,l=()=>u&&!u.delay,h=n.shouldPauseCursor()&&r.autoPause;for(;l();)o.push(u),l()&&a++,u=t[a]?t[a][1]:null;if(o.length)return await v((async()=>{for(let e of o)await I(e)})),a-1;let d,p=T(i);return p&&(d={...p.effect.getComputedTiming(),delay:h?r.autoPauseDelay:0}),await s((async()=>{p&&h&&p.cancel(),await v((()=>{I(n)}))}),n.delay),await(({cursor:e,options:t,cursorOptions:s})=>{if(!e||!s)return;let i,r=T(e);r&&(t.delay=r.effect.getComputedTiming().delay,i=r.currentTime,r.cancel());let n=w({cursor:e,frames:s.animation.frames,options:t});return i&&(n.currentTime=i),n})({cursor:i,options:d,cursorOptions:r}),e};const S=e=>"value"in e;let N=e=>"function"==typeof e?e():e,A=(e,t=document,s=!1)=>t["querySelector"+(s?"All":"")](e);const E=(e,t)=>Object.assign({},e,t);let L={"font-family":"","font-weight":"","font-size":"","font-style":"","line-height":"",color:"",transform:"translateX(-.125em)"};return class{element;timeouts;cursorPosition;predictedCursorPosition;statuses={started:!1,completed:!1,frozen:!1,destroyed:!1};opts;id;queue;cursor;unfreeze=()=>{};constructor(e,s={}){var i;this.opts=E(n,s),this.element="string"==typeof(i=e)?A(i):i,this.timeouts=[],this.cursorPosition=0,this.unfreeze=()=>{},this.predictedCursorPosition=null,this.statuses=E({},r),this.id=Math.random().toString().substring(2,9),this.queue=function(e){let s=function(e){return t(e).forEach((e=>n.set(Symbol(e.char?.innerText),i({...e})))),this},i=e=>(e.shouldPauseCursor=function(){return Boolean(this.typeable||this.cursorable||this.deletable)},e),r=()=>Array.from(n.values()),n=new Map;return s(e),{add:s,set:function(e,t){let s=[...n.keys()];n.set(s[e],i(t))},wipe:function(){n=new Map,s(e)},done:(e,t=!1)=>t?n.delete(e):n.get(e).done=!0,reset:function(){n.forEach((e=>delete e.done))},destroy:e=>n.delete(e),getItems:(e=!1)=>e?r():r().filter((e=>!e.done)),getQueue:()=>n,getTypeable:()=>r().filter((e=>e.typeable))}}([{delay:this.opts.startDelay}]),this.#e(s),this.cursor=this.#t(),this.element.dataset.typeitId=this.id,l(o),this.opts.strings.length&&this.#s()}go(){return this.statuses.started?this:(this.#i(),this.opts.waitUntilVisible?(e=this.element,t=this.#r.bind(this),new IntersectionObserver(((s,i)=>{s.forEach((s=>{s.isIntersecting&&(t(),i.unobserve(e))}))}),{threshold:1}).observe(e),this):(this.#r(),this));var e,t}destroy(e=!0){this.timeouts=(this.timeouts.forEach(clearTimeout),[]),N(e)&&this.cursor&&this.#n(this.cursor),this.statuses.destroyed=!0}reset(e){!this.is("destroyed")&&this.destroy(),e?(this.queue.wipe(),e(this)):this.queue.reset(),this.cursorPosition=0;for(let t in this.statuses)this.statuses[t]=!1;return this.element[this.#o()?"value":"innerHTML"]="",this}is=function(e){return this.statuses[e]};type(e,t={}){e=N(e);let{instant:s}=t,i=this.#a(t),r=g(e,this.opts.html).map((e=>{return{func:()=>this.#u(e),char:e,delay:s||(t=e,/<(.+)>(.*?)<\/(.+)>/.test(t.outerHTML))?0:this.#l(),typeable:e.nodeType===Node.TEXT_NODE};var t})),n=[i[0],{func:async()=>await this.opts.beforeString(e,this)},...r,{func:async()=>await this.opts.afterString(e,this)},i[1]];return this.#h(n,t)}break(e={}){return this.#h({func:()=>this.#u(a("BR")),typeable:!0},e)}move(e,t={}){e=N(e);let s=this.#a(t),{instant:i,to:r}=t,n=P({queueItems:this.queue.getTypeable(),selector:null===e?"":e,to:r,cursorPosition:this.#d}),o=n<0?-1:1;return this.predictedCursorPosition=this.#d+n,this.#h([s[0],...C({func:()=>this.#p(o),delay:i?0:this.#l(),cursorable:!0},Math.abs(n)),s[1]],t)}exec(e,t={}){let s=this.#a(t);return this.#h([s[0],{func:()=>e(this)},s[1]],t)}options(e,t={}){return e=N(e),this.#c(e),this.#h({},t)}pause(e,t={}){return this.#h({delay:N(e)},t)}delete(e=null,t={}){e=N(e);let s=this.#a(t),i=e,{instant:r,to:n}=t,o=this.queue.getTypeable(),a=(()=>null===i?o.length:b(i)?i:P({queueItems:o,selector:i,cursorPosition:this.#d,to:n}))();return this.#h([s[0],...C({func:this.#m.bind(this),delay:r?0:this.#l(1),deletable:!0},a),s[1]],t)}freeze(){this.statuses.frozen=!0}flush(e=(()=>{})){return this.#i(),this.#r(!1).then(e),this}getQueue(){return this.queue}getOptions(){return this.opts}updateOptions(e){return this.#c(e)}getElement(){return this.element}empty(e={}){return this.#h({func:this.#f.bind(this)},e)}async#f(){this.#o()?this.element.value="":this.#y.forEach(this.#n.bind(this))}async#r(e=!0){this.statuses.started=!0;let t=t=>{this.queue.done(t,!e)};try{let s=[...this.queue.getQueue()];for(let e=0;ee+t)).forEach((e=>{let[i]=s[e];t(i)})),e=i}t(i)}}if(!e)return this;if(this.statuses.completed=!0,await this.opts.afterComplete(this),!this.opts.loop)throw"";let i=this.opts.loopDelay;this.#b((async()=>{await this.#P(i[0]),this.#r()}),i[1])}catch(s){}return this}async#p(e){var t,s,r;this.cursorPosition=(t=e,s=this.cursorPosition,r=this.#y,Math.min(Math.max(s+t,0),r.length)),((e,t,s)=>{let r=t[s-1],n=A(`.${i}`,e);(e=r?.parentNode||e).insertBefore(n,r||null)})(this.element,this.#y,this.cursorPosition)}async#P(e){let t=this.#d;t&&await this.#p({value:t});let s=this.#y.map((e=>[Symbol(),{func:this.#m.bind(this),delay:this.#l(1),deletable:!0,shouldPauseCursor:()=>!0}]));for(let i=0;i{this.unfreeze=()=>{this.statuses.frozen=!1,e()}})),s||await this.opts.beforeStep(this),await((e,t,s)=>new Promise((i=>{s.push(setTimeout((async()=>{await e(),i()}),t||0))})))(e,t,this.timeouts),s||await this.opts.afterStep(this)}async#i(){if(!this.#o()&&this.cursor&&this.element.appendChild(this.cursor),this.#C){((e,t)=>{let r=`[${s}='${e}'] .${i}`,n=getComputedStyle(t),o=Object.entries(L).reduce(((e,[t,s])=>`${e} ${t}: var(--ti-cursor-${t}, ${s||n[t]});`),"");l(`${r} { display: inline-block; width: 0; ${o} }`,e)})(this.id,this.element),this.cursor.dataset.tiAnimationId=this.id;let{animation:e}=this.opts.cursor,{frames:t,options:r}=e;w({frames:t,cursor:this.cursor,options:{duration:this.opts.cursorSpeed,...r}})}}#o(){return S(this.element)}#h(e,t){return this.queue.add(e),this.#v(t),this}#v(e={}){let t=e.delay;t&&this.queue.add({delay:t})}#a(e={}){return[{func:()=>this.#c(e)},{func:()=>this.#c(this.opts)}]}async#c(e){this.opts=E(this.opts,e)}#s(){let e=this.opts.strings.filter((e=>!!e));e.forEach(((t,s)=>{if(this.type(t),s+1===e.length)return;let i=this.opts.breakLines?[{func:()=>this.#u(a("BR")),typeable:!0}]:C({func:this.#m.bind(this),delay:this.#l(1)},this.queue.getTypeable().length);this.#T(i)}))}#e=e=>{e.cursor=(e=>{if("object"==typeof e){let t={},{frames:s,options:i}=n.cursor.animation;return t.animation=e.animation||{},t.animation.frames=e.animation?.frames||s,t.animation.options=E(i,e.animation?.options||{}),t.autoPause=e.autoPause??n.cursor.autoPause,t.autoPauseDelay=e.autoPauseDelay||n.cursor.autoPauseDelay,t}return!0===e?n.cursor:e})(e.cursor??n.cursor),this.opts.strings=this.#w(t(this.opts.strings)),this.opts=E(this.opts,{html:!this.#I&&this.opts.html,nextStringDelay:h(this.opts.nextStringDelay),loopDelay:h(this.opts.loopDelay)})};#w(e){let t=this.element.innerHTML;return t?(this.element.innerHTML="",this.opts.startDelete?(this.element.innerHTML=t,m(this.element),this.#T(C({func:this.#m.bind(this),delay:this.#l(1),deletable:!0},this.#y.length)),e):(s=t,s.replace(//g,"").trim().split(//)).concat(e)):e;var s}#t(){if(this.#I)return null;let e=a("span");return e.className=i,this.#C?(e.innerHTML=f(this.opts.cursorChar).innerHTML,e):(e.style.visibility="hidden",e)}#T(e){let t=this.opts.nextStringDelay;this.queue.add([{delay:t[0]},...e,{delay:t[1]}])}#u(e){((e,t)=>{if(S(e))return void(e.value=`${e.value}${t.textContent}`);t.innerHTML="";let s=(r=t.originalParent,/body/i.test(r?.tagName)?e:t.originalParent||e);var r;s.insertBefore(t,A("."+i,s)||null)})(this.element,e)}#m(){this.#y.length&&(this.#I?this.element.value=this.element.value.slice(0,-1):this.#n(this.#y[this.cursorPosition]))}#n(e){((e,t)=>{if(!e)return;let s=e.parentNode;(s.childNodes.length>1||s.isSameNode(t)?e:s).remove()})(e,this.element)}#l(e=0){return function(e){let{speed:t,deleteSpeed:s,lifeLike:i}=e;return s=null!==s?s:t/3,i?[d(t,p(t)),d(s,p(s))]:[t,s]}(this.opts)[e]}get#d(){return this.predictedCursorPosition??this.cursorPosition}get#I(){return S(this.element)}get#C(){return!!this.opts.cursor&&!this.#I}get#y(){return e=this.element,S(e)?c(e.value):y(e,!0).filter((e=>!(e.childNodes.length>0)));var e}}})); diff --git a/themes/blowfish/blowfish_logo.png b/themes/blowfish/blowfish_logo.png new file mode 100644 index 0000000..667a56c Binary files /dev/null and b/themes/blowfish/blowfish_logo.png differ diff --git a/themes/blowfish/config.toml b/themes/blowfish/config.toml new file mode 100644 index 0000000..3f8c96b --- /dev/null +++ b/themes/blowfish/config.toml @@ -0,0 +1,5 @@ +[module] + [module.hugoVersion] + extended = true + min = "0.87.0" + max = "0.121.1" \ No newline at end of file diff --git a/themes/blowfish/config/_default/config.toml b/themes/blowfish/config/_default/config.toml new file mode 100644 index 0000000..632d765 --- /dev/null +++ b/themes/blowfish/config/_default/config.toml @@ -0,0 +1,65 @@ +# -- Site Configuration -- +# Refer to the theme docs for more details about each of these parameters. +# https://blowfish.page/docs/getting-started/ + +# theme = "blowfish" +# baseURL = "https://your_domain.com/" +defaultContentLanguage = "en" + +# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles + +enableRobotsTXT = true +paginate = 10 +summaryLength = 0 + +buildDrafts = false +buildFuture = false + +# googleAnalytics = "G-XXXXXXXXX" + +[imaging] + anchor = 'Center' + +[taxonomies] + tag = "tags" + category = "categories" + author = "authors" + series = "series" + +[sitemap] + changefreq = 'daily' + filename = 'sitemap.xml' + priority = 0.5 + +[outputs] + home = ["HTML", "RSS", "JSON"] + +[related] + threshold = 0 + toLower = false + + [[related.indices]] + name = "tags" + weight = 100 + + [[related.indices]] + name = "categories" + weight = 100 + + [[related.indices]] + name = "series" + weight = 50 + + [[related.indices]] + name = "authors" + weight = 20 + + [[related.indices]] + name = "date" + weight = 10 + + [[related.indices]] + applyFilter = false + name = 'fragmentrefs' + type = 'fragments' + weight = 10 diff --git a/themes/blowfish/config/_default/languages.en.toml b/themes/blowfish/config/_default/languages.en.toml new file mode 100644 index 0000000..c50fd6e --- /dev/null +++ b/themes/blowfish/config/_default/languages.en.toml @@ -0,0 +1,65 @@ +languageCode = "en" +languageName = "English" +weight = 1 +title = "Blowfish" + +[params] + displayName = "EN" + isoCode = "en" + rtl = false + dateFormat = "2 January 2006" + # logo = "img/logo.png" + # secondaryLogo = "img/secondary-logo.png" + # description = "My awesome website" + # copyright = "Copy, _right?_ :thinking_face:" + +# [author] +# name = "Your name here" +# image = "img/blowfish_logo.png" +# headline = "I'm only human" +# bio = "A little bit about you" +# links = [ +# { email = "mailto:hello@your_domain.com" }, +# { link = "https://link-to-some-website.com/" }, +# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" }, +# { apple = "https://www.apple.com" }, +# { blogger = "https://username.blogspot.com/" }, +# { codepen = "https://codepen.io/username" }, +# { dev = "https://dev.to/username" }, +# { discord = "https://discord.gg/invitecode" }, +# { dribbble = "https://dribbble.com/username" }, +# { facebook = "https://facebook.com/username" }, +# { flickr = "https://www.flickr.com/photos/username/" }, +# { foursquare = "https://foursquare.com/username" }, +# { github = "https://github.com/username" }, +# { gitlab = "https://gitlab.com/username" }, +# { google = "https://www.google.com/" }, +# { hashnode = "https://username.hashnode.dev" }, +# { instagram = "https://instagram.com/username" }, +# { keybase = "https://keybase.io/username" }, +# { kickstarter = "https://www.kickstarter.com/profile/username" }, +# { lastfm = "https://lastfm.com/user/username" }, +# { linkedin = "https://linkedin.com/in/username" }, +# { mastodon = "https://mastodon.instance/@username" }, +# { medium = "https://medium.com/username" }, +# { microsoft = "https://www.microsoft.com/" }, +# { orcid = "https://orcid.org/userid" }, +# { patreon = "https://www.patreon.com/username" }, +# { pinterest = "https://pinterest.com/username" }, +# { reddit = "https://reddit.com/user/username" }, +# { researchgate = "https://www.researchgate.net/profile/username" }, +# { slack = "https://workspace.url/team/userid" }, +# { snapchat = "https://snapchat.com/add/username" }, +# { soundcloud = "https://soundcloud.com/username" }, +# { stack-overflow = "https://stackoverflow.com/users/userid/username" }, +# { steam = "https://steamcommunity.com/profiles/userid" }, +# { telegram = "https://t.me/username" }, +# { tiktok = "https://tiktok.com/@username" }, +# { tumblr = "https://username.tumblr.com" }, +# { twitch = "https://twitch.tv/username" }, +# { twitter = "https://twitter.com/username" }, +# { x-twitter = "https://twitter.com/username" }, +# { whatsapp = "https://wa.me/phone-number" }, +# { youtube = "https://youtube.com/username" }, +# { ko-fi = "https://ko-fi.com/username" }, +# ] diff --git a/themes/blowfish/config/_default/markup.toml b/themes/blowfish/config/_default/markup.toml new file mode 100644 index 0000000..c5449fc --- /dev/null +++ b/themes/blowfish/config/_default/markup.toml @@ -0,0 +1,13 @@ +# -- Markup -- +# These settings are required for the theme to function. + +[goldmark] +[goldmark.renderer] + unsafe = true + +[highlight] + noClasses = false + +[tableOfContents] + startLevel = 2 + endLevel = 4 diff --git a/themes/blowfish/config/_default/menus.en.toml b/themes/blowfish/config/_default/menus.en.toml new file mode 100644 index 0000000..579cedd --- /dev/null +++ b/themes/blowfish/config/_default/menus.en.toml @@ -0,0 +1,69 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +#[[main]] +# name = "Blog" +# pageRef = "posts" +# weight = 10 + +#[[main]] +# name = "Parent" +# weight = 20 + +#[[main]] +# name = "example sub-menu 1" +# parent = "Parent" +# pageRef = "posts" +# weight = 20 + +#[[main]] +# name = "example sub-menu 2" +# parent = "Parent" +# pageRef = "posts" +# weight = 20 + +#[[subnavigation]] +# name = "An interesting topic" +# pageRef = "tags/interesting-topic" +# weight = 10 + +#[[subnavigation]] +# name = "My Awesome Category" +# pre = "github" +# pageRef = "categories/awesome" +# weight = 20 + +#[[main]] +# name = "Categories" +# pageRef = "categories" +# weight = 20 + +#[[main]] +# name = "Tags" +# pageRef = "tags" +# weight = 30 + + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + + +# [[footer]] +# name = "Tags" +# pageRef = "tags" +# weight = 10 + +# [[footer]] +# name = "Categories" +# pageRef = "categories" +# weight = 20 diff --git a/themes/blowfish/config/_default/module.toml b/themes/blowfish/config/_default/module.toml new file mode 100644 index 0000000..74f7727 --- /dev/null +++ b/themes/blowfish/config/_default/module.toml @@ -0,0 +1,3 @@ +[hugoVersion] + extended = false + min = "0.87.0" diff --git a/themes/blowfish/config/_default/params.toml b/themes/blowfish/config/_default/params.toml new file mode 100644 index 0000000..4ec4494 --- /dev/null +++ b/themes/blowfish/config/_default/params.toml @@ -0,0 +1,142 @@ +# -- Theme Options -- +# These options control how the theme functions and allow you to +# customise the display of your website. +# +# Refer to the theme docs for more details about each of these parameters. +# https://blowfish.page/docs/configuration/#theme-parameters + +colorScheme = "blowfish" +defaultAppearance = "light" # valid options: light or dark +autoSwitchAppearance = true + +enableSearch = true +enableCodeCopy = false + +# mainSections = ["section1", "section2"] +# robots = "" + +disableImageOptimization = false +disableTextInHeader = false + +# defaultBackgroundImage = "IMAGE.jpg" # used as default for background images +# defaultFeaturedImage = "IMAGE.jpg" # used as default for featured images in all articles + +# highlightCurrentMenuArea = true +# smartTOC = true +# smartTOCHideUnfocusedChildren = true + +[header] + layout = "basic" # valid options: basic, fixed, fixed-fill, fixed-fill-blur + +[footer] + showMenu = true + showCopyright = true + showThemeAttribution = true + showAppearanceSwitcher = true + showScrollToTop = true + +[homepage] + layout = "profile" # valid options: page, profile, hero, card, background, custom + #homepageImage = "IMAGE.jpg" # used in: hero, and card + showRecent = false + showRecentItems = 5 + showMoreLink = false + showMoreLinkDest = "/posts" + cardView = false + cardViewScreenWidth = false + layoutBackgroundBlur = false # only used when layout equals background + +[article] + showDate = true + showViews = false + showLikes = false + showDateUpdated = false + showAuthor = true + showHero = false + # heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground + layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground + layoutBackgroundHeaderSpace = true # only used when heroStyle equals background + showBreadcrumbs = false + showDraftLabel = true + showEdit = false + # editURL = "https://github.com/username/repo/" + editAppendPath = true + seriesOpened = false + showHeadingAnchors = true + showPagination = true + invertPagination = false + showReadingTime = true + showTableOfContents = false + # showRelatedContent = false + # relatedContentLimit = 3 + showTaxonomies = false + showAuthorsBadges = false + showWordCount = true + # sharingLinks = [ "linkedin", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram"] + showZenMode = false + +[list] + showHero = false + # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground + layoutBackgroundHeaderSpace = true # only used when heroStyle equals background + showBreadcrumbs = false + showSummary = false + showViews = false + showLikes = false + showTableOfContents = false + showCards = false + groupByYear = true + cardView = false + cardViewScreenWidth = false + constrainItemsWidth = false + +[sitemap] + excludedKinds = ["taxonomy", "term"] + +[taxonomy] + showTermCount = true + showHero = false + # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + showBreadcrumbs = false + showViews = false + showLikes = false + showTableOfContents = false + cardView = false + +[term] + showHero = false + # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + showBreadcrumbs = false + showViews = false + showLikes = false + showTableOfContents = true + groupByYear = false + cardView = false + cardViewScreenWidth = false + +[firebase] + # apiKey = "XXXXXX" + # authDomain = "XXXXXX" + # projectId = "XXXXXX" + # storageBucket = "XXXXXX" + # messagingSenderId = "XXXXXX" + # appId = "XXXXXX" + # measurementId = "XXXXXX" + +[fathomAnalytics] + # site = "ABC12345" + # domain = "llama.yoursite.com" + +[buymeacoffee] + # identifier = "" + # globalWidget = true + # globalWidgetMessage = "Hello" + # globalWidgetColor = "#FFDD00" + # globalWidgetPosition = "Right" + +[verification] + # google = "" + # bing = "" + # pinterest = "" + # yandex = "" diff --git a/themes/blowfish/data/githubColors.json b/themes/blowfish/data/githubColors.json new file mode 100644 index 0000000..7f272e7 --- /dev/null +++ b/themes/blowfish/data/githubColors.json @@ -0,0 +1,533 @@ +{ + "1C Enterprise": "#814CCC", + "4D": "#004289", + "ABAP": "#E8274B", + "ABAP CDS": "#555e25", + "ActionScript": "#882B0F", + "Ada": "#02f88c", + "Adobe Font Metrics": "#fa0f00", + "Agda": "#315665", + "AGS Script": "#B9D9FF", + "AIDL": "#34EB6B", + "AL": "#3AA2B5", + "Alloy": "#64C800", + "Alpine Abuild": "#0D597F", + "Altium Designer": "#A89663", + "AMPL": "#E6EFBB", + "AngelScript": "#C7D7DC", + "Ant Build System": "#A9157E", + "ANTLR": "#9DC3FF", + "ApacheConf": "#d12127", + "Apex": "#1797c0", + "API Blueprint": "#2ACCA8", + "APL": "#5A8164", + "Apollo Guidance Computer": "#0B3D91", + "AppleScript": "#101F1F", + "Arc": "#aa2afe", + "AsciiDoc": "#73a0c5", + "ASL": null, + "ASP.NET": "#9400ff", + "AspectJ": "#a957b0", + "Assembly": "#6E4C13", + "Astro": "#ff5a03", + "Asymptote": "#ff0000", + "ATS": "#1ac620", + "Augeas": "#9CC134", + "AutoHotkey": "#6594b9", + "AutoIt": "#1C3552", + "Avro IDL": "#0040FF", + "Awk": "#c30e9b", + "Ballerina": "#FF5000", + "BASIC": "#ff0000", + "Batchfile": "#C1F12E", + "Beef": "#a52f4e", + "Befunge": null, + "BibTeX": "#778899", + "Bicep": "#519aba", + "Bison": "#6A463F", + "BitBake": "#00bce4", + "Blade": "#f7523f", + "BlitzBasic": "#00FFAE", + "BlitzMax": "#cd6400", + "Bluespec": "#12223c", + "Boo": "#d4bec1", + "Boogie": "#c80fa0", + "Brainfuck": "#2F2530", + "Brightscript": "#662D91", + "Browserslist": "#ffd539", + "C": "#555555", + "C#": "#178600", + "C++": "#f34b7d", + "C2hs Haskell": null, + "Cabal Config": "#483465", + "Cap'n Proto": "#c42727", + "CartoCSS": null, + "Ceylon": "#dfa535", + "Chapel": "#8dc63f", + "Charity": null, + "ChucK": "#3f8000", + "Cirru": "#ccccff", + "Clarion": "#db901e", + "Classic ASP": "#6a40fd", + "Clean": "#3F85AF", + "Click": "#E4E6F3", + "CLIPS": "#00A300", + "Clojure": "#db5855", + "Closure Templates": "#0d948f", + "Cloud Firestore Security Rules": "#FFA000", + "CMake": "#DA3434", + "COBOL": null, + "CodeQL": "#140f46", + "CoffeeScript": "#244776", + "ColdFusion": "#ed2cd6", + "ColdFusion CFC": "#ed2cd6", + "COLLADA": "#F1A42B", + "Common Lisp": "#3fb68b", + "Common Workflow Language": "#B5314C", + "Component Pascal": "#B0CE4E", + "Cool": null, + "Coq": "#d0b68c", + "Crystal": "#000100", + "CSON": "#244776", + "Csound": "#1a1a1a", + "Csound Document": "#1a1a1a", + "Csound Score": "#1a1a1a", + "CSS": "#563d7c", + "CSV": "#237346", + "Cuda": "#3A4E3A", + "CUE": "#5886E1", + "CWeb": "#00007a", + "Cycript": null, + "Cython": "#fedf5b", + "D": "#ba595e", + "Dafny": "#FFEC25", + "Darcs Patch": "#8eff23", + "Dart": "#00B4AB", + "DataWeave": "#003a52", + "Dhall": "#dfafff", + "DIGITAL Command Language": null, + "DirectX 3D File": "#aace60", + "DM": "#447265", + "Dockerfile": "#384d54", + "Dogescript": "#cca760", + "DTrace": null, + "Dylan": "#6c616e", + "E": "#ccce35", + "Easybuild": "#069406", + "eC": "#913960", + "Ecere Projects": "#913960", + "ECL": "#8a1267", + "ECLiPSe": "#001d9d", + "EditorConfig": "#fff1f2", + "Eiffel": "#4d6977", + "EJS": "#a91e50", + "Elixir": "#6e4a7e", + "Elm": "#60B5CC", + "Emacs Lisp": "#c065db", + "EmberScript": "#FFF4F3", + "EQ": "#a78649", + "Erlang": "#B83998", + "F#": "#b845fc", + "F*": "#572e30", + "Factor": "#636746", + "Fancy": "#7b9db4", + "Fantom": "#14253c", + "Faust": "#c37240", + "Fennel": "#fff3d7", + "FIGlet Font": "#FFDDBB", + "Filebench WML": "#F6B900", + "Filterscript": null, + "fish": "#4aae47", + "Fluent": "#ffcc33", + "FLUX": "#88ccff", + "Forth": "#341708", + "Fortran": "#4d41b1", + "Fortran Free Form": "#4d41b1", + "FreeBasic": "#867db1", + "FreeMarker": "#0050b2", + "Frege": "#00cafe", + "Futhark": "#5f021f", + "G-code": "#D08CF2", + "Game Maker Language": "#71b417", + "GAML": "#FFC766", + "GAMS": "#f49a22", + "GAP": "#0000cc", + "GCC Machine Description": "#FFCFAB", + "GDB": null, + "GDScript": "#355570", + "GEDCOM": "#003058", + "Gemfile.lock": "#701516", + "Genie": "#fb855d", + "Genshi": "#951531", + "Gentoo Ebuild": "#9400ff", + "Gentoo Eclass": "#9400ff", + "Gerber Image": "#d20b00", + "Gherkin": "#5B2063", + "Git Attributes": "#F44D27", + "Git Config": "#F44D27", + "GLSL": "#5686a5", + "Glyph": "#c1ac7f", + "Gnuplot": "#f0a9f0", + "Go": "#00ADD8", + "Go Checksums": "#00ADD8", + "Go Module": "#00ADD8", + "Golo": "#88562A", + "Gosu": "#82937f", + "Grace": "#615f8b", + "Gradle": "#02303a", + "Grammatical Framework": "#ff0000", + "GraphQL": "#e10098", + "Graphviz (DOT)": "#2596be", + "Groovy": "#4298b8", + "Groovy Server Pages": "#4298b8", + "Hack": "#878787", + "Haml": "#ece2a9", + "Handlebars": "#f7931e", + "HAProxy": "#106da9", + "Harbour": "#0e60e3", + "Haskell": "#5e5086", + "Haxe": "#df7900", + "HCL": null, + "HiveQL": "#dce200", + "HLSL": "#aace60", + "HolyC": "#ffefaf", + "HTML": "#e34c26", + "HTML+ECR": "#2e1052", + "HTML+EEX": "#6e4a7e", + "HTML+ERB": "#701516", + "HTML+PHP": "#4f5d95", + "HTML+Razor": "#512be4", + "HTTP": "#005C9C", + "HXML": "#f68712", + "Hy": "#7790B2", + "HyPhy": null, + "IDL": "#a3522f", + "Idris": "#b30000", + "Ignore List": "#000000", + "IGOR Pro": "#0000cc", + "ImageJ Macro": "#99AAFF", + "Inform 7": null, + "INI": "#d1dbe0", + "Inno Setup": "#264b99", + "Io": "#a9188d", + "Ioke": "#078193", + "Isabelle": "#FEFE00", + "Isabelle ROOT": "#FEFE00", + "J": "#9EEDFF", + "JAR Manifest": "#b07219", + "Jasmin": "#d03600", + "Java": "#b07219", + "Java Properties": "#2A6277", + "Java Server Pages": "#2A6277", + "JavaScript": "#f1e05a", + "JavaScript+ERB": "#f1e05a", + "Jest Snapshot": "#15c213", + "JFlex": "#DBCA00", + "Jinja": "#a52a22", + "Jison": "#56b3cb", + "Jison Lex": "#56b3cb", + "Jolie": "#843179", + "jq": "#c7254e", + "JSON": "#292929", + "JSON with Comments": "#292929", + "JSON5": "#267CB9", + "JSONiq": "#40d47e", + "JSONLD": "#0c479c", + "Jsonnet": "#0064bd", + "Julia": "#a270ba", + "Jupyter Notebook": "#DA5B0B", + "Kaitai Struct": "#773b37", + "KakouneScript": "#6f8042", + "KiCad Layout": "#2f4aab", + "KiCad Legacy Layout": "#2f4aab", + "KiCad Schematic": "#2f4aab", + "Kotlin": "#A97BFF", + "KRL": "#28430A", + "LabVIEW": "#fede06", + "Lark": "#2980B9", + "Lasso": "#999999", + "Latte": "#f2a542", + "Lean": null, + "Less": "#1d365d", + "Lex": "#DBCA00", + "LFE": "#4C3023", + "LilyPond": "#9ccc7c", + "Limbo": null, + "Liquid": "#67b8de", + "Literate Agda": "#315665", + "Literate CoffeeScript": "#244776", + "Literate Haskell": "#5e5086", + "LiveScript": "#499886", + "LLVM": "#185619", + "Logos": null, + "Logtalk": "#295b9a", + "LOLCODE": "#cc9900", + "LookML": "#652B81", + "LoomScript": null, + "LSL": "#3d9970", + "Lua": "#000080", + "M": null, + "M4": null, + "M4Sugar": null, + "Macaulay2": "#d8ffff", + "Makefile": "#427819", + "Mako": "#7e858d", + "Markdown": "#083fa1", + "Marko": "#42bff2", + "Mask": "#f97732", + "Mathematica": "#dd1100", + "MATLAB": "#e16737", + "Max": "#c4a79c", + "MAXScript": "#00a6a6", + "mcfunction": "#E22837", + "Mercury": "#ff2b2b", + "Meson": "#007800", + "Metal": "#8f14e9", + "MiniD": null, + "Mirah": "#c7a938", + "mIRC Script": "#3d57c3", + "MLIR": "#5EC8DB", + "Modelica": "#de1d31", + "Modula-2": "#10253f", + "Modula-3": "#223388", + "Module Management System": null, + "Monkey": null, + "Moocode": null, + "MoonScript": "#ff4585", + "Motorola 68K Assembly": "#005daa", + "MQL4": "#62A8D6", + "MQL5": "#4A76B8", + "MTML": "#b7e1f4", + "MUF": null, + "mupad": "#244963", + "Mustache": "#724b3b", + "Myghty": null, + "nanorc": "#2d004d", + "NASL": null, + "NCL": "#28431f", + "Nearley": "#990000", + "Nemerle": "#3d3c6e", + "nesC": "#94B0C7", + "NetLinx": "#0aa0ff", + "NetLinx+ERB": "#747faa", + "NetLogo": "#ff6375", + "NewLisp": "#87AED7", + "Nextflow": "#3ac486", + "Nginx": "#009639", + "Nim": "#ffc200", + "Nit": "#009917", + "Nix": "#7e7eff", + "NPM Config": "#cb3837", + "NSIS": null, + "Nu": "#c9df40", + "NumPy": "#9C8AF9", + "Nunjucks": "#3d8137", + "NWScript": "#111522", + "Objective-C": "#438eff", + "Objective-C++": "#6866fb", + "Objective-J": "#ff0c5a", + "ObjectScript": "#424893", + "OCaml": "#3be133", + "Odin": "#60AFFE", + "Omgrofl": "#cabbff", + "ooc": "#b0b77e", + "Opa": null, + "Opal": "#f7ede0", + "Open Policy Agent": "#7d9199", + "OpenCL": "#ed2e2d", + "OpenEdge ABL": "#5ce600", + "OpenQASM": "#AA70FF", + "OpenRC runscript": null, + "OpenSCAD": "#e5cd45", + "Org": "#77aa99", + "Ox": null, + "Oxygene": "#cdd0e3", + "Oz": "#fab738", + "P4": "#7055b5", + "Pan": "#cc0000", + "Papyrus": "#6600cc", + "Parrot": "#f3ca0a", + "Parrot Assembly": null, + "Parrot Internal Representation": null, + "Pascal": "#E3F171", + "Pawn": "#dbb284", + "PEG.js": "#234d6b", + "Pep8": "#C76F5B", + "Perl": "#0298c3", + "PHP": "#4F5D95", + "PicoLisp": "#6067af", + "PigLatin": "#fcd7de", + "Pike": "#005390", + "PLpgSQL": "#336790", + "PLSQL": "#dad8d8", + "PogoScript": "#d80074", + "Pony": null, + "PostCSS": "#dc3a0c", + "PostScript": "#da291c", + "POV-Ray SDL": "#6bac65", + "PowerBuilder": "#8f0f8d", + "PowerShell": "#012456", + "Prisma": "#0c344b", + "Processing": "#0096D8", + "Prolog": "#74283c", + "Propeller Spin": "#7fa2a7", + "Pug": "#a86454", + "Puppet": "#302B6D", + "PureBasic": "#5a6986", + "PureScript": "#1D222D", + "Python": "#3572A5", + "Python console": "#3572A5", + "Python traceback": "#3572A5", + "q": "#0040cd", + "Q#": "#fed659", + "QMake": null, + "QML": "#44a51c", + "Qt Script": "#00b841", + "Quake": "#882233", + "R": "#198CE7", + "Racket": "#3c5caa", + "Ragel": "#9d5200", + "Raku": "#0000fb", + "RAML": "#77d9fb", + "Rascal": "#fffaa0", + "RDoc": "#701516", + "REALbasic": null, + "Reason": "#ff5847", + "Rebol": "#358a5b", + "Record Jar": "#0673ba", + "Red": "#f50000", + "Redcode": null, + "Regular Expression": "#009a00", + "Ren'Py": "#ff7f7f", + "RenderScript": null, + "ReScript": "#ed5051", + "reStructuredText": "#141414", + "REXX": "#d90e09", + "Ring": "#2D54CB", + "Riot": "#A71E49", + "RMarkdown": "#198ce7", + "RobotFramework": "#00c0b5", + "Roff": "#ecdebe", + "Roff Manpage": "#ecdebe", + "Rouge": "#cc0088", + "RPC": null, + "Ruby": "#701516", + "RUNOFF": "#665a4e", + "Rust": "#dea584", + "Sage": null, + "SaltStack": "#646464", + "SAS": "#B34936", + "Sass": "#a53b70", + "Scala": "#c22d40", + "Scaml": "#bd181a", + "Scheme": "#1e4aec", + "Scilab": "#ca0f21", + "SCSS": "#c6538c", + "sed": "#64b970", + "Self": "#0579aa", + "ShaderLab": "#222c37", + "Shell": "#89e051", + "ShellSession": null, + "Shen": "#120F14", + "Sieve": null, + "Singularity": "#64E6AD", + "Slash": "#007eff", + "Slice": "#003fa2", + "Slim": "#2b2b2b", + "Smali": null, + "Smalltalk": "#596706", + "Smarty": "#f0c040", + "SmPL": "#c94949", + "SMT": null, + "Solidity": "#AA6746", + "SourcePawn": "#f69e1d", + "SPARQL": "#0C4597", + "SQF": "#3F3F3F", + "SQL": "#e38c00", + "SQLPL": "#e38c00", + "Squirrel": "#800000", + "SRecode Template": "#348a34", + "Stan": "#b2011d", + "Standard ML": "#dc566d", + "Starlark": "#76d275", + "Stata": "#1a5f91", + "StringTemplate": "#3fb34f", + "Stylus": "#ff6347", + "SubRip Text": "#9e0101", + "SugarSS": "#2fcc9f", + "SuperCollider": "#46390b", + "Svelte": "#ff3e00", + "SVG": "#ff9900", + "Swift": "#F05138", + "SWIG": null, + "SystemVerilog": "#DAE1C2", + "Tcl": "#e4cc98", + "Tcsh": null, + "Terra": "#00004c", + "TeX": "#3D6117", + "Textile": "#ffe7ac", + "TextMate Properties": "#df66e4", + "Thrift": "#D12127", + "TI Program": "#A0AA87", + "TLA": "#4b0079", + "TOML": "#9c4221", + "TSQL": "#e38c00", + "TSV": "#237346", + "TSX": "#2b7489", + "Turing": "#cf142b", + "Twig": "#c1d026", + "TXL": "#0178b8", + "TypeScript": "#2b7489", + "Unified Parallel C": "#4e3617", + "Unity3D Asset": "#222c37", + "Unix Assembly": null, + "Uno": "#9933cc", + "UnrealScript": "#a54c4d", + "UrWeb": "#ccccee", + "V": "#4f87c4", + "Vala": "#fbe5cd", + "Valve Data Format": "#f26025", + "VBA": "#867db1", + "VBScript": "#15dcdc", + "VCL": "#148AA8", + "Verilog": "#b2b7f8", + "VHDL": "#adb2cb", + "Vim Help File": "#199f4b", + "Vim Script": "#199f4b", + "Vim Snippet": "#199f4b", + "Visual Basic .NET": "#945db7", + "Volt": "#1F1F1F", + "Vue": "#41b883", + "wdl": "#42f1f4", + "Web Ontology Language": "#5b70bd", + "WebAssembly": "#04133b", + "WebIDL": null, + "Wikitext": "#fc5757", + "Windows Registry Entries": "#52d5ff", + "wisp": "#7582D1", + "Wollok": "#a23738", + "World of Warcraft Addon Data": "#f7e43f", + "X10": "#4B6BEF", + "xBase": "#403a40", + "XC": "#99DA07", + "XML": "#0060ac", + "XML Property List": "#0060ac", + "Xojo": "#81bd41", + "Xonsh": "#285EEF", + "XProc": null, + "XQuery": "#5232e7", + "XS": null, + "XSLT": "#EB8CEB", + "Xtend": "#24255d", + "Yacc": "#4B6C4B", + "YAML": "#cb171e", + "YARA": "#220000", + "YASnippet": "#32AB90", + "ZAP": "#0d665e", + "Zeek": null, + "ZenScript": "#00BCD1", + "Zephir": "#118f9e", + "Zig": "#ec915c", + "ZIL": "#dc75e5", + "Zimpl": "#d67711" +} \ No newline at end of file diff --git a/themes/blowfish/data/sharing.json b/themes/blowfish/data/sharing.json new file mode 100644 index 0000000..a0669ff --- /dev/null +++ b/themes/blowfish/data/sharing.json @@ -0,0 +1,42 @@ +{ + "email": { + "icon": "email", + "title": "sharing.email", + "url": "mailto:?body=%s&subject=%s" + }, + "facebook": { + "icon": "facebook", + "title": "sharing.facebook", + "url": "https://www.facebook.com/sharer/sharer.php?u=%s"e=%s" + }, + "linkedin": { + "icon": "linkedin", + "title": "sharing.linkedin", + "url": "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s" + }, + "pinterest": { + "icon": "pinterest", + "title": "sharing.pinterest", + "url": "https://pinterest.com/pin/create/bookmarklet/?url=%s&description=%s" + }, + "reddit": { + "icon": "reddit", + "title": "sharing.reddit", + "url": "https://reddit.com/submit/?url=%s&resubmit=true&title=%s" + }, + "twitter": { + "icon": "x-twitter", + "title": "sharing.twitter", + "url": "https://twitter.com/intent/tweet/?url=%s&text=%s" + }, + "whatsapp": { + "icon": "whatsapp", + "title": "sharing.whatsapp", + "url": "https://api.whatsapp.com/send?text=%s&resubmit=true&title=%s" + }, + "telegram": { + "icon": "telegram", + "title": "sharing.telegram", + "url": "https://t.me/share/url?url=%s&resubmit=true&title=%s" + } +} \ No newline at end of file diff --git a/themes/blowfish/exampleSite/archetypes/default.md b/themes/blowfish/exampleSite/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/themes/blowfish/exampleSite/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/themes/blowfish/exampleSite/assets/img/author2.png b/themes/blowfish/exampleSite/assets/img/author2.png new file mode 100644 index 0000000..c1a3c06 Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/author2.png differ diff --git a/themes/blowfish/exampleSite/assets/img/bg.jpg b/themes/blowfish/exampleSite/assets/img/bg.jpg new file mode 100644 index 0000000..3a7617d Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/bg.jpg differ diff --git a/themes/blowfish/exampleSite/assets/img/blowfish.jpg b/themes/blowfish/exampleSite/assets/img/blowfish.jpg new file mode 100644 index 0000000..ad842ea Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/blowfish.jpg differ diff --git a/themes/blowfish/exampleSite/assets/img/iceland.jpg b/themes/blowfish/exampleSite/assets/img/iceland.jpg new file mode 100644 index 0000000..6352a78 Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/iceland.jpg differ diff --git a/themes/blowfish/exampleSite/assets/img/nuno_avatar.jpg b/themes/blowfish/exampleSite/assets/img/nuno_avatar.jpg new file mode 100644 index 0000000..c350016 Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/nuno_avatar.jpg differ diff --git a/themes/blowfish/exampleSite/assets/img/ocean.jpg b/themes/blowfish/exampleSite/assets/img/ocean.jpg new file mode 100644 index 0000000..9f1220a Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/ocean.jpg differ diff --git a/themes/blowfish/exampleSite/assets/img/paint.png b/themes/blowfish/exampleSite/assets/img/paint.png new file mode 100644 index 0000000..6f6659a Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/paint.png differ diff --git a/themes/blowfish/exampleSite/assets/js/home.js b/themes/blowfish/exampleSite/assets/js/home.js new file mode 100644 index 0000000..fc8e558 --- /dev/null +++ b/themes/blowfish/exampleSite/assets/js/home.js @@ -0,0 +1,76 @@ +var layouts = [ + "background", + "hero", + "profile", + "page", + "card" +] + +var currentLayout = 0 + +function switchHomeLayout() { + + var old = currentLayout + currentLayout = currentLayout == layouts.length - 1 ? 0 : currentLayout + 1 + + var oldDiv = document.getElementById(layouts[old]) + var currentDiv = document.getElementById(layouts[currentLayout]) + const layoutCode = document.querySelectorAll("code[id=layout]"); + + currentDiv.style.display = "block"; + oldDiv.style.display = "none"; + layoutCode.forEach(function (el) { + el.innerText = layouts[currentLayout]; + }); + +} + +window.addEventListener("DOMContentLoaded", (event) => { + document.querySelectorAll("#switch-layout-button").forEach((button) => + button.addEventListener("click", function (e) { + e.preventDefault(); + switchHomeLayout(); + }) + ); +}); + +var list_config = [ + "CardViewProse", + "CardViewScreenWidth", + "NormalView" +] + +var titles = { + "CardViewProse" : "card view with constrained width", + "CardViewScreenWidth" : "card view with full width", + "NormalView" : "standard list view" +} + +var currentConfig = 0 + +function switchList() { + + var old = currentConfig + currentConfig = currentConfig == list_config.length - 1 ? 0 : currentConfig + 1 + + var oldDiv = document.getElementById(list_config[old]) + var currentDiv = document.getElementById(list_config[currentConfig]) + const configCode = document.querySelectorAll("code[id=config]"); + + currentDiv.style.display = "block"; + oldDiv.style.display = "none"; + + configCode.forEach(function (el) { + el.innerText = titles[list_config[currentConfig]]; + }); + +} + +window.addEventListener("DOMContentLoaded", (event) => { + document.querySelectorAll("#switch-config-button").forEach((button) => + button.addEventListener("click", function (e) { + e.preventDefault(); + switchList(); + }) + ); +}); diff --git a/themes/blowfish/exampleSite/config/_default/config.toml b/themes/blowfish/exampleSite/config/_default/config.toml new file mode 100644 index 0000000..a02c2f9 --- /dev/null +++ b/themes/blowfish/exampleSite/config/_default/config.toml @@ -0,0 +1,65 @@ +# -- Site Configuration -- +# Refer to the theme docs for more details about each of these parameters. +# https://blowfish.page/docs/getting-started/ + +theme = "blowfish" +baseURL = "https://nunocoracao.github.io/blowfish" +defaultContentLanguage = "en" + +# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles + +enableRobotsTXT = true +paginate = 100 +summaryLength = 30 + +buildDrafts = false +buildFuture = false + +googleAnalytics = "G-PEDMYR1V0K" + +[imaging] + anchor = 'Center' + +[taxonomies] + tag = "tags" + category = "categories" + author = "authors" + series = "series" + +[sitemap] + changefreq = 'always' + filename = 'sitemap.xml' + priority = 0.5 + +[outputs] + home = ["HTML", "RSS", "JSON"] + +[related] + threshold = 0 + toLower = false + + [[related.indices]] + name = "tags" + weight = 100 + + [[related.indices]] + name = "categories" + weight = 100 + + [[related.indices]] + name = "series" + weight = 50 + + [[related.indices]] + name = "authors" + weight = 20 + + [[related.indices]] + name = "date" + weight = 10 + + [[related.indices]] + applyFilter = false + name = 'fragmentrefs' + type = 'fragments' + weight = 10 diff --git a/themes/blowfish/exampleSite/config/_default/languages.en.toml b/themes/blowfish/exampleSite/config/_default/languages.en.toml new file mode 100644 index 0000000..1baad36 --- /dev/null +++ b/themes/blowfish/exampleSite/config/_default/languages.en.toml @@ -0,0 +1,27 @@ +languageCode = "en" +languageName = "English" +weight = 1 +title = "Blowfish" + +[params] + displayName = "EN" + isoCode = "en" + rtl = false + dateFormat = "2 January 2006" + logo = "img/blowfish_logo_transparent.png" + # secondaryLogo = "PATH" + description = "A powerful, lightweight theme for Hugo built with Tailwind CSS." + # copyright = "Copy, _right?_ :thinking_face:" + +[author] + name = "Blowfish" + image = "img/blowfish_logo.png" + headline = "A powerful, lightweight theme for Hugo built with Tailwind CSS." + bio = "A powerful, lightweight theme for Hugo built with Tailwind CSS." + links = [ + { x-twitter = "https://twitter.com/burufugu" }, + { mastodon = "https://masto.ai/@blowfish" }, + { github = "https://github.com/nunocoracao/blowfish" }, + ] + + \ No newline at end of file diff --git a/themes/blowfish/exampleSite/config/_default/markup.toml b/themes/blowfish/exampleSite/config/_default/markup.toml new file mode 100644 index 0000000..c5449fc --- /dev/null +++ b/themes/blowfish/exampleSite/config/_default/markup.toml @@ -0,0 +1,13 @@ +# -- Markup -- +# These settings are required for the theme to function. + +[goldmark] +[goldmark.renderer] + unsafe = true + +[highlight] + noClasses = false + +[tableOfContents] + startLevel = 2 + endLevel = 4 diff --git a/themes/blowfish/exampleSite/config/_default/menus.en.toml b/themes/blowfish/exampleSite/config/_default/menus.en.toml new file mode 100644 index 0000000..b38af0e --- /dev/null +++ b/themes/blowfish/exampleSite/config/_default/menus.en.toml @@ -0,0 +1,90 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "Docs" + pageRef = "docs" + weight = 10 + +[[main]] + name = "Shortcodes" + pageRef = "docs/shortcodes" + weight = 15 + +[[main]] + name = "Samples" + pageRef = "samples" + weight = 16 + +[[main]] + name = "Examples" + weight = 20 + +[[main]] + name = "Showcase" + parent = "Examples" + pageRef = "examples" + weight = 30 + +[[main]] + name = "Recipes" + parent = "Examples" + pageRef = "guides" + weight = 40 + +[[main]] + name = "Users" + pageRef = "users" + weight = 90 + +#[[main]] +# name = "Merch" +# url = "http://tee.pub/lic/qwSlWVBL5zc" +# weight = 100 + +#[[main]] +# name = "Test" +# pageRef = "pagTest" +# weight = 1000 + +[[main]] + identifier = "twitter" + pre = "x-twitter" + url = "https://twitter.com/burufugu" + weight = 200 + +[[main]] + identifier = "mastodon" + pre = "mastodon" + url = "https://masto.ai/@blowfish" + weight = 300 + +[[main]] + identifier = "github" + pre = "github" + url = "https://github.com/nunocoracao/blowfish" + weight = 400 + + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + + [[footer]] + name = "Tags" + pageRef = "tags" + weight = 10 + + [[footer]] + name = "Authors" + pageRef = "authors" + weight = 20 diff --git a/themes/blowfish/exampleSite/config/_default/params.toml b/themes/blowfish/exampleSite/config/_default/params.toml new file mode 100644 index 0000000..11319d6 --- /dev/null +++ b/themes/blowfish/exampleSite/config/_default/params.toml @@ -0,0 +1,141 @@ +# -- Theme Options -- +# These options control how the theme functions and allow you to +# customise the display of your website. +# +# Refer to the theme docs for more details about each of these parameters. +# https://blowfish.page/docs/configuration/#theme-parameters + +colorScheme = "blowfish" +defaultAppearance = "dark" # valid options: light or dark +autoSwitchAppearance = true + +enableSearch = true +enableCodeCopy = true + +mainSections = ["docs"] +# robots = "" + +disableImageOptimization = false +disableTextInHeader = false + +defaultBackgroundImage = "/img/ocean.jpg" +defaultFeaturedImage = "/img/ocean.jpg" + +highlightCurrentMenuArea = true +smartTOC = true +smartTOCHideUnfocusedChildren = false + +[header] + layout = "fixed" # valid options: basic, fixed, fixed-fill, fixed-fill-blur + +[footer] + showMenu = true + showCopyright = true + showThemeAttribution = true + showAppearanceSwitcher = true + showScrollToTop = true + +[homepage] + layout = "custom" # valid options: page, profile, hero, card, background, custom + # homepageImage = "/img/iceland.jpg" # used in: hero, and card + showRecent = false + showRecentItems = 12 + showMoreLink = true + showMoreLinkDest = "docs" + cardView = false + cardViewScreenWidth = false + layoutBackgroundBlur = true # only used when layout equals background + +[article] + showDate = false + showViews = true + showLikes = true + showDateUpdated = false + showAuthor = true + showHero = true + heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + layoutBackgroundBlur = true # only used when heroStyle equals background + showBreadcrumbs = true + showDraftLabel = true + showEdit = true + editURL = "https://github.com/nunocoracao/blowfish/tree/main/exampleSite/content" + editAppendPath = true + seriesOpened = false + showHeadingAnchors = true + showPagination = true + invertPagination = false + showReadingTime = true + showTableOfContents = true + showRelatedContent = true + relatedContentLimit = 6 + showTaxonomies = true + showAuthorsBadges = true + showWordCount = false + sharingLinks = [ "linkedin", "twitter", "reddit", "whatsapp", "telegram", "pinterest", "facebook", "email"] + showZenMode = true + +[list] + showHero = true + heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + layoutBackgroundBlur = true # only used when heroStyle equals background + layoutBackgroundHeaderSpace = false + showBreadcrumbs = false + showSummary = false + showViews = true + showLikes = true + showTableOfContents = true + showCards = true + groupByYear = false + cardView = true + cardViewScreenWidth = false + constrainItemsWidth = false + +[sitemap] + excludedKinds = [] + +[taxonomy] + showTermCount = true + showHero = true + heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + showBreadcrumbs = false + showViews = true + showLikes = true + showTableOfContents = true + cardView = false + +[term] + showHero = true + heroStyle = "background" # valid options: basic, big, background, thumbAndBackground + showBreadcrumbs = false + showViews = true + showLikes = true + showTableOfContents = true + groupByYear = false + cardView = true + cardViewScreenWidth = false + +[firebase] + apiKey = "AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY" + authDomain = "blowfish-21fff.firebaseapp.com" + projectId = "blowfish-21fff" + storageBucket = "blowfish-21fff.appspot.com" + messagingSenderId = "60108104191" + appId = "1:60108104191:web:039842ebe1370698b487ca" + measurementId = "G-PEDMYR1V0K" + +[fathomAnalytics] + # site = "ABC12345" + # domain = "llama.yoursite.com" + +[buymeacoffee] + identifier = "nunocoracao" + globalWidget = true + globalWidgetMessage = "" + globalWidgetColor = "#FFDD00" + globalWidgetPosition = "Right" + +[verification] + # google = "" + # bing = "" + # pinterest = "" + # yandex = "" diff --git a/themes/blowfish/exampleSite/content/_index.md b/themes/blowfish/exampleSite/content/_index.md new file mode 100755 index 0000000..312cf24 --- /dev/null +++ b/themes/blowfish/exampleSite/content/_index.md @@ -0,0 +1,23 @@ +--- +title: "Welcome to Blowfish! :tada:" +description: "This is a demo of the Blowfish theme for Hugo." +--- + +This is a demo site built entirely using Blowfish. It also contains a complete set of [theme documentation]({{< ref "docs" >}}). Blowfish is flexible and is great for both static page-based content (like this demo) or a traditional blog with a feed of recent posts. + +
    + + {{< icon "triangle-exclamation" >}} + + + This is a demo of the background layout. + + +
    + +Explore the [sample pages]({{< ref "samples" >}}) to get a feel for what Blowfish can do. If you like what you see, check out the project on Github or read the [Installation guide]({{< ref "docs/installation" >}}) to get started. diff --git a/themes/blowfish/exampleSite/content/authors/_index.md b/themes/blowfish/exampleSite/content/authors/_index.md new file mode 100644 index 0000000..31fbacd --- /dev/null +++ b/themes/blowfish/exampleSite/content/authors/_index.md @@ -0,0 +1,5 @@ +--- +title: "Authors Taxonomy Listing Example" +--- + +A quick example of how to start using author taxonomies in your articles. diff --git a/themes/blowfish/exampleSite/content/authors/nunocoracao/_index.md b/themes/blowfish/exampleSite/content/authors/nunocoracao/_index.md new file mode 100644 index 0000000..caf7055 --- /dev/null +++ b/themes/blowfish/exampleSite/content/authors/nunocoracao/_index.md @@ -0,0 +1,5 @@ +--- +title: "Nuno Coração" +--- + +Nuno's awesome dummy bio. diff --git a/themes/blowfish/exampleSite/content/authors/secondauthor/_index.md b/themes/blowfish/exampleSite/content/authors/secondauthor/_index.md new file mode 100644 index 0000000..039f902 --- /dev/null +++ b/themes/blowfish/exampleSite/content/authors/secondauthor/_index.md @@ -0,0 +1,5 @@ +--- +title: "Dummy Second Author" +--- + +Dummy Second Author's awesome dummy bio. diff --git a/themes/blowfish/exampleSite/content/docs/_index.md b/themes/blowfish/exampleSite/content/docs/_index.md new file mode 100755 index 0000000..26cdfff --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/_index.md @@ -0,0 +1,17 @@ +--- +title: "Documentation" +description: "Learn how to use Blowfish and its features." + +cascade: + showDate: false + showAuthor: false + invertPagination: true +--- + +{{< lead >}} +Simple, yet powerful. Learn how to use Blowfish and its features. +{{< /lead >}} + +This section contains everything you need to know about Blowfish. If you're new, check out the [Installation]({{< ref "docs/installation" >}}) guide to begin or visit the [Samples]({{< ref "samples" >}}) section to see what Blowfish can do. + +--- diff --git a/themes/blowfish/exampleSite/content/docs/advanced-customisation/featured.png b/themes/blowfish/exampleSite/content/docs/advanced-customisation/featured.png new file mode 100644 index 0000000..0f370c5 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/advanced-customisation/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/advanced-customisation/index.md b/themes/blowfish/exampleSite/content/docs/advanced-customisation/index.md new file mode 100644 index 0000000..09cdecb --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/advanced-customisation/index.md @@ -0,0 +1,235 @@ +--- +title: "Advanced Customisation" +date: 2020-08-08 +draft: false +description: "Learn how to build Blowfish manually." +slug: "advanced-customisation" +tags: ["advanced", "css", "docs"] +series: ["Documentation"] +series_order: 13 +--- + +There are many ways you can make advanced changes to Blowfish. Read below to learn more about what can be customised and the best way of achieving your desired result. + +If you need further advice, post your questions on [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions). + +## Hugo project structure + +Before leaping into it, first a quick note about [Hugo project structure](https://gohugo.io/getting-started/directory-structure/) and best practices for managing your content and theme customisations. + +{{< alert >}} +**In summary:** Never directly edit the theme files. Only make customisations in your Hugo project's sub-directories, not in the themes directory itself. +{{< /alert >}} + +Blowfish is built to take advantage of all the standard Hugo practices. It is designed to allow all aspects of the theme to be customised and overriden without changing any of the core theme files. This allows for a seamless upgrade experience while giving you total control over the look and feel of your website. + +In order to achieve this, you should never manually adjust any of the theme files directly. Whether you install using Hugo modules, as a git submodule or manually include the theme in your `themes/` directory, you should always leave these files intact. + +The correct way to adjust any theme behaviour is by overriding files using Hugo's powerful [file lookup order](https://gohugo.io/templates/lookup-order/). In summary, the lookup order ensures any files you include in your project directory will automatically take precedence over any theme files. + +For example, if you wanted to override the main article template in Blowfish, you can simply create your own `layouts/_default/single.html` file and place it in the root of your project. This file will then override the `single.html` from the theme without ever changing the theme itself. This works for any theme files - HTML templates, partials, shortcodes, config files, data, assets, etc. + +As long as you follow this simple practice, you will always be able to update the theme (or test different theme versions) without worrying that you will lose any of your custom changes. + +## Change image optimization settings + +Hugo has various builtin methods to resize, crop and optimize images. + +As an example - in `layouts/partials/article-link/card.html`, you have the following code: + +```go +{{ with .Resize "600x" }} +
    +{{ end }} +``` + +The default behavior of Hugo here is to resize the image to 600px keeping the ratio. + +It is worth noting here that default image configurations such as [anchor point](https://gohugo.io/content-management/image-processing/#anchor) can also be set in your [site configuration](https://gohugo.io/content-management/image-processing/#processing-options) as well as in the template itself. + +See the [Hugo docs on image processing](https://gohugo.io/content-management/image-processing/#image-processing-methods) for more info. + +## Colour schemes + +Blowfish ships with a number of colour schemes out of the box. To change the basic colour scheme, you can set the `colorScheme` theme parameter. Refer to the [Getting Started]({{< ref "getting-started#colour-schemes" >}}) section to learn more about the built-in schemes. + +In addition to the default schemes, you can also create your own and re-style the entire website to your liking. Schemes are created by by placing a `.css` file in the `assets/css/schemes/` folder. Once the file is created, simply refer to it by name in the theme configuration. + +{{< alert "github">}} +**Note:** generating these files manually can be hard, I've built a `nodejs` terminal tool to help with that, [Fugu](https://github.com/nunocoracao/fugu). In a nutshell, you pass the main three `hex` values of your color pallette and the program will output a css file that can be imported directly into Blowfish. +{{< /alert >}} + + +Blowfish defines a three-colour palette that is used throughout the theme. The three colours are defined as `neutral`, `primary` and `secondary` variants, each containing ten shades of colour. + +Due to the way Tailwind CSS 3.0 calculates colour values with opacity, the colours specified in the scheme need to [conform to a particular format](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo) by providing the red, green and blue colour values. + +```css +:root { + --color-primary-500: 139, 92, 246; +} +``` + +This example defines a CSS variable for the `primary-500` colour with a red value of `139`, green value of `92` and blue value of `246`. + +Use one of the existing theme stylesheets as a template. You are free to define your own colours, but for some inspiration, check out the official [Tailwind colour palette reference](https://tailwindcss.com/docs/customizing-colors#color-palette-reference). + +## Overriding the stylesheet + +Sometimes you need to add a custom style to style your own HTML elements. Blowfish provides for this scenario by allowing you to override the default styles in your own CSS stylesheet. Simply create a `custom.css` file in your project's `assets/css/` folder. + +The `custom.css` file will be minified by Hugo and loaded automatically after all the other theme styles which means anything in your custom file will take precedence over the defaults. + +### Using additional fonts + +Blowfish allows you to easily change the font for your site. After creating a `custom.css` file in your project's `assets/css/` folder, place you font file inside a `fonts` folder withing the `static` root folder. + +```shell +. +├── assets +│ └── css +│ └── custom.css +... +└─── static + └── fonts + └─── font.ttf + +``` + +This makes the font available to the website. Now, the font can just import it in your `custom.css` and replaced wherever you see fit. The example below shows what replacing the font for the entire `html` would look like. + +```css +@font-face { + font-family: font; + src: url('/fonts/font.ttf'); +} + +html { + font-family: font; +} +``` + +### Adjusting the font size + +Changing the font size of your website is one example of overriding the default stylesheet. Blowfish makes this simple as it uses scaled font sizes throughout the theme which are derived from the base HTML font size. By default, Tailwind sets the default size to `12pt`, but it can be changed to whatever value you prefer. + +Create a `custom.css` file using the [instructions above]({{< ref "#overriding-the-stylesheet" >}}) and add the following CSS declaration: + +```css +/* Increase the default font size */ +html { + font-size: 13pt; +} +``` + +Simply by changing this one value, all the font sizes on your website will be adjusted to match this new size. Therefore, to increase the overall font sizes used, make the value greater than `12pt`. Similarly, to decrease the font sizes, make the value less than `12pt`. + +## Building the theme CSS from source + +If you'd like to make a major change, you can take advantage of Tailwind CSS's JIT compiler and rebuild the entire theme CSS from scratch. This is useful if you want to adjust the Tailwind configuration or add extra Tailwind classes to the main stylesheet. + +{{< alert >}} +**Note:** Building the theme manually is intended for advanced users. +{{< /alert >}} + +Let's step through how building the Tailwind CSS works. + +### Tailwind configuration + +In order to generate a CSS file that only contains the Tailwind classes that are actually being used the JIT compiler needs to scan through all the HTML templates and Markdown content files to check which styles are present in the markup. The compiler does this by looking at the `tailwind.config.js` file which is included in the root of the theme directory: + +```js +// themes/blowfish/tailwind.config.js + +module.exports = { + content: [ + "./layouts/**/*.html", + "./content/**/*.{html,md}", + "./themes/blowfish/layouts/**/*.html", + "./themes/blowfish/content/**/*.{html,md}", + ], + + // and more... +}; +``` + +This default configuration has been included with these content paths so that you can easily generate your own CSS file without needing to modify it, provided you follow a particular project structure. Namely, **you have to include Blowfish in your project as a subdirectory at `themes/blowfish/`**. This means you cannot easily use Hugo Modules to install the theme and you must go down either the git submodule (recommended) or manual install routes. The [Installation docs]({{< ref "installation" >}}) explain how to install the theme using either of these methods. + +### Project structure + +In order to take advantage of the default configuration, your project should look something like this... + +```shell +. +├── assets +│ └── css +│ └── compiled +│ └── main.css # this is the file we will generate +├── config # site config +│ └── _default +├── content # site content +│ ├── _index.md +│ ├── projects +│ │ └── _index.md +│ └── blog +│ └── _index.md +├── layouts # custom layouts for your site +│ ├── partials +│ │ └── extend-article-link/simple.html +│ ├── projects +│ │ └── list.html +│ └── shortcodes +│ └── disclaimer.html +└── themes + └── blowfish # git submodule or manual theme install +``` + +This example structure adds a new `projects` content type with its own custom layout along with a custom shortcode and extended partial. Provided the project follows this structure, all that's required is to recompile the `main.css` file. + +### Install dependencies + +In order for this to work you'll need to change into the `themes/blowfish/` directory and install the project dependencies. You'll need [npm](https://docs.npmjs.com/cli/v7/configuring-npm/install) on your local machine for this step. + +```shell +cd themes/blowfish +npm install +``` + +### Run the Tailwind compiler + +With the dependencies installed all that's left is to use [Tailwind CLI](https://v2.tailwindcss.com/docs/installation#using-tailwind-cli) to invoke the JIT compiler. Navigate back to the root of your Hugo project and issue the following command: + +```shell +cd ../.. +./themes/blowfish/node_modules/tailwindcss/lib/cli.js -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit +``` + +It's a bit of an ugly command due to the paths involved but essentially you're calling Tailwind CLI and passing it the location of the Tailwind config file (the one we looked at above), where to find the theme's `main.css` file and then where you want the compiled CSS file to be placed (it's going into the `assets/css/compiled/` folder of your Hugo project). + +The config file will automatically inspect all the content and layouts in your project as well as all those in the theme and build a new CSS file that contains all the CSS required for your website. Due to the way Hugo handles file hierarchy, this file in your project will now automatically override the one that comes with the theme. + +Each time you make a change to your layouts and need new Tailwind CSS styles, you can simply re-run the command and generate the new CSS file. You can also add `-w` to the end of the command to run the JIT compiler in watch mode. + +### Make a build script + +To fully complete this solution, you can simplify this whole process by adding aliases for these commands, or do what I do and add a `package.json` to the root of your project which contains the necessary scripts... + +```js +// package.json + +{ + "name": "my-website", + "version": "1.0.0", + "description": "", + "scripts": { + "server": "hugo server -b http://localhost -p 8000", + "dev": "NODE_ENV=development ./themes/blowfish/node_modules/tailwindcss/lib/cli.js -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w", + "build": "NODE_ENV=production ./themes/blowfish/node_modules/tailwindcss/lib/cli.js -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit" + }, + // and more... +} +``` + +Now when you want to work on designing your site, you can invoke `npm run dev` and the compiler will run in watch mode. When you're ready to deploy, run `npm run build` and you'll get a clean Tailwind CSS build. + +🙋‍♀️ If you need help, feel free to ask a question on [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions). diff --git a/themes/blowfish/exampleSite/content/docs/configuration/featured.png b/themes/blowfish/exampleSite/content/docs/configuration/featured.png new file mode 100644 index 0000000..0282f36 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/configuration/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/configuration/index.md b/themes/blowfish/exampleSite/content/docs/configuration/index.md new file mode 100644 index 0000000..003974c --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/configuration/index.md @@ -0,0 +1,330 @@ +--- +title: "Configuration" +date: 2020-08-14 +draft: false +description: "All the configuration variables available in Blowfish." +slug: "configuration" +tags: ["config", "docs"] +series: ["Documentation"] +series_order: 4 +--- + +Blowfish is a highly customisable theme and uses some of the latest Hugo features to simplify how it is configured. + +The theme ships with a default configuration that gets you up and running with a basic blog or static website. + +> Configuration files bundled with the theme are provided in TOML format as this is the default Hugo syntax. Feel free to convert your config to YAML or JSON if you wish. + +The default theme configuration is documented in each file so you can freely adjust the settings to meet your needs. + +{{< alert >}} +As outlined in the [installation instructions]({{< ref "/docs/installation#set-up-theme-configuration-files" >}}), you should adjust your theme configuration by modifying the files in the `config/_default/` folder of your Hugo project and delete the `config.toml` file in your project root. +{{< /alert >}} + +## Site configuration + +Standard Hugo configuration variables are respected throughout the theme, however there are some specific things that should be configured for the best experience. + +The site configuration is managed through the `config/_default/config.toml` file. The table below outlines all the settings that the Blowfish takes advantage of. + +Note that the variable names provided in this table use dot notation to simplify the TOML data structure (ie. `outputs.home` refers to `[outputs] home`). + + +| Name | Default | Description | +| ------------------------ | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `theme` | `"blowfish"` | When using Hugo Modules this config value should be removed. For all other installation types, this must be set to `blowfish` for the theme to function. | +| `baseURL` | _Not set_ | The URL to the root of the website. | +| `defaultContentLanguage` | `"en"` | This value determines the default language of theme components and content. Refer to the [language and i18n](#language-and-i18n) section below for supported language codes. | +| `enableRobotsTXT` | `true` | When enabled, a `robots.txt` file will be created in the site root that allows search engines to crawl the entire site. If you prefer to provide your own pre-made `robots.txt`, set to `false` and place your file in the `static` directory. For complete control, you may provide a [custom layout]({{< ref "content-examples#custom-layouts" >}}) to generate this file. | +| `paginate` | `10` | The number of articles listed on each page of the article listing. | +| `summaryLength` | `0` | The number of words that are used to generate the article summary when one is not provided in the [front matter]({{< ref "front-matter" >}}). A value of `0` will use the first sentence. This value has no effect when summaries are hidden. | +| `outputs.home` | `["HTML", "RSS", "JSON"]` | The output formats that are generated for the site. Blowfish requires HTML, RSS and JSON for all theme components to work correctly. | +| `permalinks` | _Not set_ | Refer to the [Hugo docs](https://gohugo.io/content-management/urls/#permalinks) for permalink configuration. | +| `taxonomies` | _Not set_ | Refer to the [Organising content]({{< ref "getting-started#organising-content" >}}) section for taxonomy configuration. | + + +## Thumbnails + +Blowfish was built so it would be easy to add visual support to your articles. If your familiar with Hugo article strucutre, you just need to place an image file (almost all formats are supported but we recommend `.png` or `.jpg`) that starts with `feature*` inside your article folder. And that's it, Blowfish will then able to both use the image as a thumbnail within your website as well as for oEmbed cards across social platforms. + +[Here]({{< ref "thumbnails" >}}) is also a guide with more info and a [sample]({{< ref "thumbnail_sample" >}}) if you want to see how you can do it. + +## Language and i18n + +Blowfish is optimised for full multilingual websites and theme assets are translated into several languages out of the box. The language configuration allows you to generate multiple versions of your content to provide a customised experience to your visitors in their native language. + +The theme currently supports the following languages by default: + +| Language | Code | +| ------------------------------ | ------- | +| 🇦🇪 Arabic | `ar` | +| 🇧🇬 Bulgarian | `bg` | +| 🇧🇩 Bengali | `bn` | +| 🇨🇿 Czech | `cs` | +| 🇩🇪 German | `de` | +| 🇬🇧 English | `en` | +| 🇪🇸 Spanish (Spain) | `es` | +| 🇫🇮 Finnish | `fi` | +| 🇫🇷 French | `fr` | +| 🇮🇱 Hebrew | `he` | +| 🇭🇷 Croatian | `hr` | +| 🇭🇺 Hungarian | `hu` | +| 🇮🇩 Indonesian | `id` | +| 🇮🇹 Italian | `it` | +| 🇯🇵 Japanese | `ja` | +| 🇰🇷 Korean | `ko` | +| 🇵🇱 Polish | `pl` | +| 🇧🇷 Portuguese (Brazil) | `pt-br` | +| 🇵🇹 Portuguese (Portugal) | `pt-pt` | +| 🇷🇴 Romanian | `ro` | +| 🇷🇺 Russian | `ru` | +| 🇹🇷 Turkish | `tr` | +| 🇻🇳 Vietnamese | `vi` | +| 🇨🇳 Simplified Chinese (China) | `zh-cn` | +| 🇹🇼 Traditional Chinese (Taiwan) | `zh-tw` | + + + +The default translations can be overridden by creating a custom file in `i18n/[code].yaml` that contains the translation strings. You can also use this method to add new languages. If you'd like to share a new translation with the community, please [open a pull request](https://github.com/nunocoracao/blowfish/pulls). + +### Configuration + +In order to be as flexible as possible, a language configuration file needs to be created for each language on the website. By default Blowfish includes an English language configuration at `config/_default/languages.en.toml`. + +The default file can be used as a template to create additional languages, or renamed if you wish to author your website in a language other than English. Simply name the file using the format `languages.[language-code].toml`. + +{{< alert >}} +**Note:** Ensure the `defaultContentLanguage` parameter in the [site configuration](#site-configuration) matches the language code in your language config filename. +{{< /alert >}} + + +#### Global + + +| Name | Default | Description | +| -------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `languageCode` | `"en"` | The Hugo language code for this file. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-au`) and should match the language code in the filename. Hugo expects this value to always be in lowercase. For proper HTML compliance, set the `isoCode` parameter which is case-sensitive. | +| `languageName` | `"English"` | The name of the language. | +| `weight` | `1` | The weight determines the order of languages when building multilingual sites. | +| `title` | `"Blowfish"` | The title of the website. This will be displayed in the site header and footer. | + + +#### Params + + +| Name | Default | Description | +| ---------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `params.displayName` | `"EN"` | The name used when the language appears on the website. | +| `params.isoCode` | `"en"` | The ISO language code for HTML metadata purposes. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-AU`). | +| `params.rtl` | `false` | Whether or not this is a RTL language. Set to `true` to reflow content from right-to-left. Blowfish fully supports using RTL and LTR languages at the same time and will dynamically adjust to both. | +| `params.dateFormat` | `"2 January 2006"` | How dates are formatted in this language. Refer to the [Hugo docs](https://gohugo.io/functions/format/#gos-layout-string) for acceptable formats. | +| `params.logo` | _Not set_ | The relative path to the site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. | +| `params.secondaryLogo` | _Not set_ | The relative path to the secondary site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. This should have an inverted/contrasting colour scheme to `logo`. If set, this logo will be shown when users toggle from the `defaultAppearance` mode. | +| `params.description` | _Not set_ | The website description. This will be used in the site metadata. | +| `params.copyright` | _Not set_ | A Markdown string for the site footer copyright message can include the placeholder { year } to dynamically insert the current year. If none is provided, Blowfish will automatically generate a copyright string using the site `title`. | + + + + +#### Author +| Name | Default | Description | +| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `author.name` | _Not set_ | The author's name. This will be displayed in article footers, and on the homepage when the profile layout is used. | +| `author.image` | _Not set_ | Path to the image file of the author. The image should be a 1:1 aspect ratio and placed in the site's `assets/` folder. | +| `author.headline` | _Not set_ | A Markdown string containing the author's headline. It will be displayed on the profile homepage under the author's name. | +| `author.bio` | _Not set_ | A Markdown string containing the author's bio. It will be displayed in article footers. | +| `author.links` | _Not set_ | The links to display alongside the author's details. The config file contains example links which can simply be uncommented to enable. The order that the links are displayed is determined by the order they appear in the array. Custom links can be added by providing corresponding SVG icon assets in `assets/icons/`. | + + +### Menus + +Blowfish also supports language-specific menu configurations. Menu config files follow the same naming format as the languages file. Simply provide the language code in the file name to tell Hugo which language the file relates to. + +Menu config files are named with the format `menus.[language-code].toml`. Always ensure that the language code used in the menus configuration matches the languages configuration. + +The [Getting Started]({{< ref "getting-started#menus" >}}) section explains more about the structure of this file. You can also refer to the [Hugo menu docs](https://gohugo.io/content-management/menus/) for more configuration examples. + +## Theme parameters + +Blowfish provides a large number of configuration parameters that control how the theme functions. The table below outlines every available parameter in the `config/_default/params.toml` file. + +Many of the article defaults here can be overridden on a per article basis by specifying it in the front matter. Refer to the [Front Matter]({{< ref "front-matter" >}}) section for further details. + + + +### Global + +| Name | Default | Description | +| ------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `colorScheme` | `"blowfish"` | The theme colour scheme to use. Valid values are `blowfish` (default), `avocado`, `ocean`, `fire` and `slate`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details. | +| `defaultAppearance` | `"light"` | The default theme appearance, either `light` or `dark`. | +| `autoSwitchAppearance` | `true` | Whether the theme appearance automatically switches based upon the visitor's operating system preference. Set to `false` to force the site to always use the `defaultAppearance`. | +| `enableSearch` | `false` | Whether site search is enabled. Set to `true` to enable search functionality. Note that the search feature depends on the `outputs.home` setting in the [site configuration](#site-configuration) being set correctly. | +| `enableCodeCopy` | `false` | Whether copy-to-clipboard buttons are enabled for `` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below. | +| `mainSections` | _Not set_ | The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used. | +| `showViews` | _Not set_ | Whether or not articles and list views are displayed. This requires firebase integrations to be enabled, look below. | +| `showLikes` | _Not set_ | Whether or not articles and list likes are displayed. This requires firebase integrations to be enabled, look below. | +| `robots` | _Not set_ | String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values. | +| `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. | +| `disableImageOptimization` | `false` | Disables image resize and optimization features across all the images in the site. | +| `disableTextInHeader` | `false` | Disables text in header, useful for logo based headers. | +| `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style | +| `defaultFeaturedImage` | _Not set_ | Default background image for all `featured` images across articles, will be overriden by a local `featured` image. | +| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main manu when selected | +| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. | +| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. | + +### Header + +| Name | Default | Description | +| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------- | +| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic`, `fixed`, `fixed-fill`, and `fixed-fill-blur`. | +### Footer + +| Name | Default | Description | +| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `footer.showMenu` | `true` | Show/hide the footer menu, which can be configured in the `[[footer]]` section of the `config/_default/menus.en.toml` file. | +| `footer.showCopyright` | `true` | Whether or not to show the copyright string in the site footer. Note that the string itself can be customised using the `copyright` parameter in the [languages configuration](#language-and-i18n). | +| `footer.showThemeAttribution` | `true` | Whether or not to show the "powered by" theme attribution in the site footer. If you choose to disable this message, please consider attributing the theme somewhere else on your site (for example, on your about page). | +| `footer.showAppearanceSwitcher` | `false` | Whether or not to show the appearance switcher in the site footer. The browser's local storage is used to persist the visitor's preference. | +| `footer.showScrollToTop` | `true` | When set to `true` the scroll to top arrow is displayed. | +### Homepage + +| Name | Default | Description | +| ------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. | +| `homepage.homepageImage` | _Not set_ | Image to be used in `hero` and `card` layouts. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. | +| `homepage.showRecent` | `false` | Whether or not to display the recent articles list on the homepage. | +| `homepage.showRecentItems` | 5 | How many articles to display if showRecent is true. If variable is set to 0 or if it isn't defined the system will default to 5 articles. | +| `homepage.showMoreLink` | `false` | Wether or not to display a show more link at the end of your posts that takes the user to a predefined place. | +| `homepage.showMoreLinkDest` | `/posts` | The destination of the show more button. | +| `homepage.cardView` | `false` | Display recent articles as a gallery of cards. | +| `homepage.cardViewScreenWidth` | `false` | Enhance the width of the recent articles card gallery to take the full width available. | +| `homepage.layoutBackgroundBlur` | `false` | Makes the background image in the homepage layout blur with the scroll | +### Article + +| Name | Default | Description | +| ------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `article.showDate` | `true` | Whether or not article dates are displayed. | +| `article.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. | +| `article.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. | +| `article.showDateUpdated` | `false` | Whether or not the dates articles were updated are displayed. | +| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. | +| `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. | +| `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. | +| `article.layoutBackgroundBlur` | `true` | Makes the background image in the background article heroStyle blur with the scroll | +| `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. | +| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. | +| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. | +| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. | +| `article.editURL` | _Not set_ | When `article.showEdit` is active, the URL for the edit link. | +| `article.editAppendPath` | `true` | When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`. | +| `article.seriesOpened` | `false` | Whether or not the series module will be displayed open by default or not. | +| `article.showHeadingAnchors` | `true` | Whether or not heading anchor links are displayed alongside headings within articles. | +| `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. | +| `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. | +| `article.showReadingTime` | `true` | Whether or not article reading times are displayed. | +| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. | +| `article.showRelatedContent` | `false` | Display related content for each post. Might required additional configuration to your `config.toml`. Please check the theme `config.toml` if you want to enable this feature and copy all the relevant *related* entries. Also check [Hugo's docs](https://gohugo.io/content-management/related/) on related content. | +| `article.relatedContentLimit` | `3` | Limit of related articles to display if ` showRelatedContent` is turned on. | +| `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. | +| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. | +| `article.showWordCount` | `false` | Whether or not article word counts are displayed. | +| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. | +| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. Available values are: "linkedin", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", and "telegram" | +| `article.showZenMode` | `false` | Flag to activate Zen Mode reading feature for articles. | + +### List + +| Name | Default | Description | +| ---------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `list.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each list page. | +| `list.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. | +| `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. | +| `list.layoutBackgroundBlur` | `true` | Makes the background image in the background list heroStyle blur with the scroll | +| `list.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. | +| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. | +| `list.showSummary` | `false` | Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#site-configuration). | +| `list.showViews` | `false` | Whether or not list views are displayed. This requires firebase integrations to be enabled, look below. | +| `list.showLikes` | `false` | Whether or not list likes are displayed. This requires firebase integrations to be enabled, look below. | +| `list.showCards` | `false` | Whether or not each article is displayed as a card or as simple inline text. | +| `list.groupByYear` | `true` | Whether or not articles are grouped by year on list pages. | +| `list.cardView` | `false` | Display lists as a gallery of cards. | +| `list.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. | +| `list.constrainItemsWidth` | `false` | Limit item width to `prose` to increase readability. Useful when no feature images are available. | +| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. | + +### Sitemap + +| Name | Default | Description | +| ----------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sitemap.excludedKinds` | `["taxonomy", "term"]` | Kinds of content that should be excluded from the generated `/sitemap.xml` file. Refer to the [Hugo docs](https://gohugo.io/templates/section-templates/#page-kinds) for acceptable values. | + +### Taxonomy + +| Name | Default | Description | +| ------------------------------ | --------- | ---------------------------------------------------------------------------------------------------------- | +| `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. | +| `taxonomy.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each taxonomy page. | +| `taxonomy.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. | +| `taxonomy.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the taxonomy header. | +| `taxonomy.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. | +| `taxonomy.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. | +| `taxonomy.showTableOfContents` | `false` | Whether or not the table of contents is displayed on taxonomies. | +| `taxonomy.cardView` | `false` | Display lists as a gallery of cards. | +### Term + +| Name | Default | Description | +| -------------------------- | --------- | ---------------------------------------------------------------------------------------------------------- | +| `term.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each term page. | +| `term.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. | +| `term.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the term header. | +| `term.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. | +| `term.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. | +| `term.showTableOfContents` | `false` | Whether or not the table of contents is displayed on terms. | +| `term.groupByYear` | `false` | Whether or not articles are grouped by year on term pages. | +| `term.cardView` | `false` | Display lists as a gallery of cards. | +| `term.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. | +### Firebase + +| Name | Default | Description | +| ---------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `firebase.apiKey` | _Not set_ | Firebase apiKey, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. | +| `firebase.authDomain` | _Not set_ | Firebase authDomain, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. | +| `firebase.projectId` | _Not set_ | Firebase projectId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. | +| `firebase.storageBucket` | _Not set_ | Firebase storageBucket, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. | +| `firebase.messagingSenderId` | _Not set_ | Firebase messagingSenderId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. | +| `firebase.appId` | _Not set_ | Firebase appId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. | +| `firebase.measurementId` | _Not set_ | Firebase measurementId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. | + +### Fathom Analytics + +| Name | Default | Description | +| ------------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `fathomAnalytics.site` | _Not set_ | The site code generated by Fathom Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. | +| `fathomAnalytics.domain` | _Not set_ | If using a custom domain with Fathom Analytics, provide it here to serve `script.js` from the custom domain. | + +### BuyMeACoffee + +| Name | Default | Description | +| ----------------------------------- | --------- | --------------------------------------------------------------------------- | +| `buymeacoffee.identifier` | _Not set_ | The identifier to the target buymeacoffee account. | +| `buymeacoffee.globalWidget` | _Not set_ | Activate the global buymeacoffee widget. | +| `buymeacoffee.globalWidgetMessage` | _Not set_ | Message what will be displayed the first time a new user lands on the site. | +| `buymeacoffee.globalWidgetColor` | _Not set_ | Widget color in hex format. | +| `buymeacoffee.globalWidgetPosition` | _Not set_ | Position of the widget, i.e. "Left" or "Right" | +### Verifications + +| Name | Default | Description | +| ------------------------ | --------- | --------------------------------------------------------------------------------------- | +| `verification.google` | _Not set_ | The site verification string provided by Google to be included in the site metadata. | +| `verification.bing` | _Not set_ | The site verification string provided by Bing to be included in the site metadata. | +| `verification.pinterest` | _Not set_ | The site verification string provided by Pinterest to be included in the site metadata. | +| `verification.yandex` | _Not set_ | The site verification string provided by Yandex to be included in the site metadata. | + + +## Other configuration files + +The theme also includes a `markup.toml` configuration file. This file contains some important parameters that ensure that Hugo is correctly configured to generate sites built with Blowfish. + +Always ensure this file is present in the config directory and that the required values are set. Failure to do so may cause certain features to function incorrectly and could result in unintended behaviour. diff --git a/themes/blowfish/exampleSite/content/docs/content-examples/featured.png b/themes/blowfish/exampleSite/content/docs/content-examples/featured.png new file mode 100644 index 0000000..864e7be Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/content-examples/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/content-examples/index.md b/themes/blowfish/exampleSite/content/docs/content-examples/index.md new file mode 100644 index 0000000..98902af --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/content-examples/index.md @@ -0,0 +1,318 @@ +--- +title: "Content Examples" +date: 2020-08-09 +draft: false +description: "All the partials available in Blowfish." +slug: "content-examples" +tags: ["content", "example"] +series: ["Documentation"] +series_order: 12 +--- + +If you've been reading the documentation in order, you should now know about all the features and configurations available in Blowfish. This page is designed to pull everything together and offer some worked examples that you might like to use in your Hugo project. + +{{< alert >}} +**Tip:** If you're new to Hugo, be sure to check out the [official docs](https://gohugo.io/content-management/page-bundles/) to learn more about the concept of page bundles and resources. +{{< /alert >}} + +The examples on this page can all be adapted to different scenarios but hopefully give you some ideas about how to approach formatting a particular content item for your individual project. + +## Branch pages + +Branch page bundles in Hugo cover items like the homepage, section listings, and taxonomy pages. The important thing to remember about branch bundles is that the filename for this content type is **`_index.md`**. + +Blowfish will honour the front matter parameters specified in branch pages and these will override the default settings for that particular page. For example, setting the `title` parameter in a branch page will allow overriding the page title. + +### Homepage + +| | | +| ------------ | -------------------- | +| **Layout:** | `layouts/index.html` | +| **Content:** | `content/_index.md` | + +The homepage in Blowfish is special in that it's overarching design is controlled by the homepage layout config parameter. You can learn more about this in the [Homepage Layout]({{< ref "homepage-layout" >}}) section. + +If you want to add custom content to this page, you simply need to create a `content/_index.md` file. Anything in this file will then be included in your homepage. + +**Example:** + +```yaml +--- +title: "Welcome to Blowfish!" +description: "This is a demo of adding content to the homepage." +--- +Welcome to my website! I'm really happy you stopped by. +``` + +_This example sets a custom title and adds some additional text to the body of the page. Any Markdown formatted text is acceptable, including shortcodes, images and links._ + +### List pages + +| | | +| ------------ | ---------------------------- | +| **Layout:** | `layouts/_default/list.html` | +| **Content:** | `content/../_index.md` | + +List pages group all the pages within into a section and provide a way for visitors to reach each page. A blog or portfolio are examples of a list page as they group together posts or projects. + +Creating a list page is as simple as making a sub-directory in the content folder. For example, to create a "Projects" section, you would create `content/projects/`. Then create a Markdown file for each of your projects. + +A list page will be generated by default, however to customise the content, you should also create an `_index.md` page in this new directory. + +```shell +. +└── content + └── projects + ├── _index.md # /projects + ├── first-project.md # /projects/first-project + └── another-project + ├── index.md # /projects/another-project + └── project.jpg +``` + +Hugo will generate URLs for the pages in your projects folder accordingly. + +Just like the homepage, content in the `_index.md` file will be output into the generated list index. Blowfish will then list any pages in this section below the content. + +**Example:** + +```yaml +--- +title: "Projects" +description: "Learn about some of my projects." +cascade: + showReadingTime: false +--- +This section contains all my current projects. +``` + +_In this example, the special `cascade` parameter is being used to hide the reading time on any sub-pages within this section. By doing this, any project pages will not have their reading time showing. This is a great way to override default theme parameters for an entire section without having to include them in every individual page._ + +The [samples section]({{< ref "samples" >}}) of this site is an example of a list page. + +### Taxonomy pages + +| | | +| ---------------- | -------------------------------- | +| **List layout:** | `layouts/_default/taxonomy.html` | +| **Term layout:** | `layouts/_default/term.html` | +| **Content:** | `content/../_index.md` | + +Taxonomy pages come in two forms - taxonomy lists and taxonomy terms. Lists display a listing of each of the terms within a given taxonomy, while terms display a list of pages that are related to a given term. + +The terminology can get a little confusing so let's explore an example using a taxonomy named `animals`. + +Firstly, to use taxonomies in Hugo, they have to be configured. This is done by creating a config file at `config/_default/taxonomies.toml` and defining the taxonomy name. + +```toml +# config/_default/taxonomies.toml + +animal = "animals" +``` + +Hugo expects taxonomies to be listed using their singular and plural forms, so we add the singular `animal` equals the plural `animals` to create our example taxonomy. + +Now that our `animals` taxonomy exists, it needs to be added to individual content items. It's as simple as inserting it into the front matter: + +```yaml +--- +title: "Into the Lion's Den" +description: "This week we're learning about lions." +animals: ["lion", "cat"] +--- +``` + +This has now created two _terms_ within our `animals` taxonomy - `lion` and `cat`. + +Although it's not obvious at this point, Hugo will now be generating list and term pages for this new taxonomy. By default the listing can be accessed at `/animals/` and the term pages can be found at `/animals/lion/` and `/animals/cat/`. + +The list page will list all the terms contained within the taxonomy. In this example, navigating to `/animals/` will show a page that has links for "lion" and "cat" which take visitors to the individual term pages. + +The term pages will list all the pages contained within that term. These term lists are essentially the same as normal [list pages](#list-pages) and behave in much the same way. + +In order to add custom content to taxonomy pages, simply create `_index.md` files in the content folder using the taxonomy name as the sub-directory name. + +```shell +. +└── content + └── animals + ├── _index.md # /animals + └── lion + └── _index.md # /animals/lion +``` + +Anything in these content files will now be placed onto the generated taxonomy pages. As with other content, the front matter variables can be used to override defaults. In this way you could have a tag named `lion` but override the `title` to be "Lion". + +To see how this looks in reality, check out the [tags taxonomy listing]({{< ref "tags" >}}) on this site. + +## Leaf pages + +| | | +| ------------------------- | ------------------------------- | +| **Layout:** | `layouts/_default/single.html` | +| **Content (standalone):** | `content/../page-name.md` | +| **Content (bundled):** | `content/../page-name/index.md` | + +Leaf pages in Hugo are basically standard content pages. They are defined as pages that don't contain any sub-pages. These could be things like an about page, or an individual blog post that lives in the blog section of the website. + +The most important thing to remember about leaf pages is that unlike branch pages, leaf pages should be named `index.md` _without_ an underscore. Leaf pages are also special in that they can be grouped together at the top level of the section and named with a unique name. + +```shell +. +└── content + └── blog + ├── first-post.md # /blog/first-post + ├── second-post.md # /blog/second-post + └── third-post + ├── index.md # /blog/third-post + └── image.jpg +``` + +When including assets in a page, like an image, a page bundle should be used. Page bundles are created using a sub-directory with an `index.md` file. Grouping the assets with the content in its own directory is important as many of the shortcodes and other theme logic assumes that resources are bundled alongside pages. + +**Example:** + +```yaml +--- +title: "My First Blog Post" +date: 2022-01-25 +description: "Welcome to my blog!" +summary: "Learn more about me and why I am starting this blog." +tags: ["welcome", "new", "about", "first"] +--- +_This_ is the content of my blog post. +``` + +Leaf pages have a wide variety of [front matter]({{< ref "front-matter" >}}) parameters that can be used to customise how they are displayed. + +### External links + +Blowfish has a special feature that allows links to external pages to appear alongside articles in the article listings. This is useful if you have content on third party websites like Medium, or research papers that you'd like to link to, without replicating the content in your Hugo site. + +In order to create an external link article, some special front matter needs to be set: + +```yaml +--- +title: "My Medium post" +date: 2022-01-25 +externalUrl: "https://medium.com/" +summary: "I wrote a post on Medium." +showReadingTime: false +_build: + render: "false" + list: "local" +--- +``` + +Along with the normal front matter parameters like `title` and `summary`, the `externalUrl` parameter is used to tell Blowfish that this is not an ordinary article. The URL provided here will be where visitors are directed when they select this article. + +Additionally, we use a special Hugo front matter parameter `_build` to prevent a normal page for this content being generated - there's no point generating a page since we're linking to an external URL! + +The theme includes an archetype to make generating these external link articles simple. Just specify `-k external` when making new content. + +```shell +hugo new -k external posts/my-post.md +``` + +### Simple pages + +| | | +| ----------------- | ------------------------------ | +| **Layout:** | `layouts/_default/simple.html` | +| **Front Matter:** | `layout: "simple"` | + +Blowfish also includes a special layout for simple pages. The simple layout is a full-width template that just places Markdown content into the page without any special theme features. + +The only features available in the simple layout are breadcrumbs and sharing links. However, the behaviour of these can still be controlled using the normal page [front matter]({{< ref "front-matter" >}}) variables. + +To enable the simple layout on a particular page, add the `layout` front matter variable with a value of `"simple"`: + +```yaml +--- +title: "My landing page" +date: 2022-03-08 +layout: "simple" +--- +This page content is now full-width. +``` + +## Custom layouts + +One of the benefits of Hugo is that it makes it easy to create custom layouts for the whole site, individual sections or pages. + +Layouts follow all the normal Hugo templating rules and more information is available in the [official Hugo docs](https://gohugo.io/templates/introduction/). + +### Overriding default layouts + +Each of the content types discussed above lists the layout file that is used to generate each type of page. If this file is created in your local project it will override the theme template and thus can be used to customise the default style of the website. + +For example, creating a `layouts/_default/single.html` file will allow the layout of leaf pages to be completely customised. + +### Custom section layouts + +It is also simple to create custom layouts for individual content sections. This is useful when you want to make a section that lists a certain type of content using a particular style. + +Let's step through an example that creates a custom "Projects" page that lists projects using a special layout. + +In order to do this, structure your content using the normal Hugo content rules and create a section for your projects. Additionally, create a new layout for the projects section by using the same directory name as the content and adding a `list.html` file. + +```shell +. +└── content +│ └── projects +│ ├── _index.md +│ ├── first-project.md +│ └── second-project.md +└── layouts + └── projects + └── list.html +``` + +This `list.html` file will now override the default list template, but only for the `projects` section. Before we look at this file, lets first look at the individual project files. + +```yaml +--- +title: "Blowfish" +date: 2021-08-11 +icon: "github" +description: "A theme for Hugo built with Tailwind CSS." +topics: ["Hugo", "Web", "Tailwind"] +externalUrl: "https://github.com/nunocoracao/blowfish/" +--- +``` + +_In this example we are assigning some metadata for each project that we can then use in our list template. There's no page content, but there's nothing stopping you from including it. It's your own custom template after all!_ + +With the projects defined, now we can create a list template that outputs the details of each project. + +```go +{{ define "main" }} +
    + {{ range .Pages }} + + {{ end }} +
    +{{ end }} +``` + +Although this is quite a straightforward example, you can see that it steps through each of the pages in this section (ie. each project), and then outputs HTML links to each project alongside an icon. The metadata in the front matter for each project is used to determine which information is displayed. + +Keep in mind that you'll need to ensure the relevant styles and classes are available, which may require the Tailwind CSS to be recompiled. This is discussed in more detail in the [Advanced Customisation]({{< ref "advanced-customisation" >}}) section. + +When making custom templates like this one, it's always easiest to take a look at how the default Blowfish template works and then use that as a guide. Remember, the [Hugo docs](https://gohugo.io/templates/introduction/) are a great resource to learn more about creating templates too. diff --git a/themes/blowfish/exampleSite/content/docs/firebase-views/featured.png b/themes/blowfish/exampleSite/content/docs/firebase-views/featured.png new file mode 100644 index 0000000..a4028c0 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/firebase-views/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/firebase-views/index.md b/themes/blowfish/exampleSite/content/docs/firebase-views/index.md new file mode 100644 index 0000000..8782a08 --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/firebase-views/index.md @@ -0,0 +1,55 @@ +--- +title: "Firebase: Views & Likes" +date: 2020-08-03 +draft: false +description: "Learn how to integrate Firebase and get dynamic data for views and likes." +slug: "firebase-views" +tags: ["firebase", "views", likes] +series: ["Documentation"] +series_order: 15 +--- + +In order to be able to support dynamic data across your website we've added the support to integrate Firebase. This will allow you to use the views feature across lists and posts. + +1. Go to Firebase website and create an account for free +2. Create a new project +3. Select analytics location +4. Setup firebase in Blowfish by getting the variables for your project and setting them inside `params.toml` file. More details can be found in }}">this page. You can find an example of the file Firebase will provide below, notice the parameters within the FirebaseConfig object. + +``` +// Import the functions you need from the SDKs you need +import { initializeApp } from "firebase/app"; +import { getAnalytics } from "firebase/analytics"; +// TODO: Add SDKs for Firebase products that you want to use +// https://firebase.google.com/docs/web/setup#available-libraries + +// Your web app's Firebase configuration +// For Firebase JS SDK v7.20.0 and later, measurementId is optional +const firebaseConfig = { + apiKey: "AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY", + authDomain: "blowfish-21fff.firebaseapp.com", + projectId: "blowfish-21fff", + storageBucket: "blowfish-21fff.appspot.com", + messagingSenderId: "60108104191", + appId: "1:60108104191:web:039842ebe1370698b487ca", + measurementId: "G-PEDMYR1V0K" +}; + +// Initialize Firebase +const app = initializeApp(firebaseConfig); +const analytics = getAnalytics(app); +``` + +5. Setup Firestore - Select Build and open Firestore. Create a new database and choose to start in production mode. Select server location and wait. Once that is started you need to configure the rules. Just copy and paste the file below and press publish. +``` +rules_version = '2'; +service cloud.firestore { + match /databases/{database}/documents { + match /{document=**} { + allow read, write: if request.auth != null; + } + } +} +``` +6. Enable anonymous authorization - Select Build and open Authentication. Select get started, click Anonymous and turn it on, save. +7. Enjoy - you can now activate views and likes on Blowfish for all (or specific) articles. diff --git a/themes/blowfish/exampleSite/content/docs/front-matter/featured.png b/themes/blowfish/exampleSite/content/docs/front-matter/featured.png new file mode 100644 index 0000000..42f1a4a Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/front-matter/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/front-matter/index.md b/themes/blowfish/exampleSite/content/docs/front-matter/index.md new file mode 100644 index 0000000..4450361 --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/front-matter/index.md @@ -0,0 +1,55 @@ +--- +title: "Front Matter" +date: 2020-08-12 +draft: false +description: "All the front matter variables available in Blowfish." +slug: "front-matter" +tags: ["front matter", "config", "docs"] +series: ["Documentation"] +series_order: 7 +--- + +In addition to the [default Hugo front matter parameters](https://gohugo.io/content-management/front-matter/#front-matter-variables), Blowfish adds a number of additional options to customise the presentation of individual articles. All the available theme front matter parameters are listed below. + +Front matter parameter default values are inherited from the theme's [base configuration]({{< ref "configuration" >}}), so you only need to specify these parameters in your front matter when you want to override the default. + + +| Name | Default | Description | +| ----------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `title` | _Not set_ | The name of the article. | +| `description` | _Not set_ | The text description for the article. It is used in the HTML metadata. | +| `externalUrl` | _Not set_ | If this article is published on a third-party website, the URL to this article. Providing a URL will prevent a content page being generated and any references to this article will link directly to the third-party website. | +| `editURL` | `article.editURL` | When `showEdit` is active, the URL for the edit link. | +| `editAppendPath` | `article.editAppendPath` | When `showEdit` is active, whether or not the path to the current article should be appended to the URL set at `editURL`. | +| `groupByYear` | `list.groupByYear` | Whether or not articles are grouped by year on list pages. | +| `menu` | _Not set_ | When a value is provided, a link to this article will appear in the named menus. Valid values are `main` or `footer`. | +| `robots` | _Not set_ | String that indicates how robots should handle this article. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values. | +| `sharingLinks` | `article.sharingLinks` | Which sharing links to display at the end of this article. When not provided, or set to `false` no links will be displayed. | +| `showAuthor` | `article.showAuthor` | Whether or not the author box for the deafult author is displayed in the article footer. | +| `authors` | _Not set_ | Array of values for authors, if set it overrides `showAuthor` settings for page or site. Used on the multiple authors feature, check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. | +| `showAuthorsBadges` | `article.showAuthorsBadges` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. | +| `showHero` | `article.showHero` | Whether the thumbnail image will be shown as a hero image within the article page. | +| `heroStyle` | `article.heroStyle` | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. | +| `showBreadcrumbs` | `article.showBreadcrumbs` or `list.showBreadcrumbs` | Whether the breadcrumbs are displayed in the article or list header. | +| `showDate` | `article.showDate` | Whether or not the article date is displayed. The date is set using the `date` parameter. | +| `showDateUpdated` | `article.showDateUpdated` | Whether or not the date the article was updated is displayed. The date is set using the `lastmod` parameter. | +| `showEdit` | `article.showEdit` | Whether or not the link to edit the article content should be displayed. | +| `showHeadingAnchors` | `article.showHeadingAnchors` | Whether or not heading anchor links are displayed alongside headings within this article. | +| `showPagination` | `article.showPagination` | Whether or not the next/previous article links are displayed in the article footer. | +| `invertPagination` | `article.invertPagination` | Whether or not to flip the direction of the next/previous article links. | +| `showReadingTime` | `article.showReadingTime` | Whether or not the article reading time is displayed. | +| `showTaxonomies` | `article.showTaxonomies` | Whether or not the taxonomies that relate to this article are displayed. | +| `showTableOfContents` | `article.showTableOfContents` | Whether or not the table of contents is displayed on this article. | +| `showWordCount` | `article.showWordCount` | Whether or not the article word count is displayed. | +| `showComments` | `article.showComments` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. | +| `showSummary` | `list.showSummary` | Whether or not the article summary should be displayed on list pages. | +| `showViews` | `article.showViews` | Whether or not the article views should be displayed in lists and detailed view. This requires a firebase integration. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish | +| `showLikes` | `article.showLikes` | Whether or not the article likes should be displayed in lists and detailed view. This requires a firebase integration. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish | +| `seriesOpened` | `article.seriesOpened` | Whether or not the series module will be displayed open by default or not. | +| `series` | _Not set_ | Array of series the article belongs to, we recommend using only one series per article. | +| `series_order` | _Not set_ | Number of the article within the series. | +| `summary` | Auto generated using `summaryLength` (see [site configuration]({{< ref "configuration#site-configuration" >}})) | When `showSummary` is enabled, this is the Markdown string to be used as the summary for this article. | +| `xml` | `true` unless excluded by `sitemap.excludedKinds` | Whether or not this article is included in the generated `/sitemap.xml` file. | +| `layoutBackgroundBlur` | `true` | Makes the background image in the background heroStyle blur with the scroll | +| `layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. | + diff --git a/themes/blowfish/exampleSite/content/docs/getting-started/featured.png b/themes/blowfish/exampleSite/content/docs/getting-started/featured.png new file mode 100644 index 0000000..b41fc3e Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/getting-started/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/getting-started/index.md b/themes/blowfish/exampleSite/content/docs/getting-started/index.md new file mode 100644 index 0000000..c5937e2 --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/getting-started/index.md @@ -0,0 +1,260 @@ +--- +title: "Getting Started" +date: 2020-08-15 +draft: false +description: "All the front matter variables available in Blowfish." +slug: "getting-started" +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 3 +--- + +{{< alert >}} +This section assumes you have already [installed the Blowfish theme]({{< ref "docs/installation" >}}). +{{< /alert >}} + +The config files that ship with Blowfish contain all of the possible settings that the theme recognises. By default, many of these are commented out but you can simply uncomment them to activate or change a specific feature. + +## Basic configuration + +Before creating any content, there are a few things you should set for a new installation. Starting in the `config.toml` file, set the `baseURL` and `languageCode` parameters. The `languageCode` should be set to the main language that you will be using to author your content. + +```toml +# config/_default/config.toml + +baseURL = "https://your_domain.com/" +languageCode = "en" +``` + +The next step is to configure the language settings. Although Blowfish supports multilingual setups, for now, just configure the main language. + +Locate the `languages.en.toml` file in the config folder. If your main language is English you can use this file as is. Otherwise, rename it so that it includes the correct language code in the filename. For example, for French, rename the file to `languages.fr.toml`. + +{{< alert >}} +Note that the language code in the language config filename should match the `languageCode` setting in `config.toml`. +{{< /alert >}} + +```toml +# config/_default/languages.en.toml + +title = "My awesome website" + +[author] +name = "My name" +image = "img/author.jpg" +headline = "A generally awesome human" +bio = "A little bit about me" +links = [ + { twitter = "https://twitter.com/username" } +] +``` + +The `[author]` configuration determines how the author information is displayed on the website. The image should be placed in the site's `assets/` folder. Links will be displayed in the order they are listed. + +If you need extra detail, further information about each of these configuration options, is covered in the [Configuration]({{< ref "configuration" >}}) section. + +## Colour schemes + +Blowfish ships with a number of colour schemes out of the box. To change the scheme, simply set the `colorScheme` theme parameter. Valid options are `blowfish` (default), `avocado`, `fire`, `ocean` and `slate`. + +```toml +# config/_default/params.toml + +colorScheme = "blowfish" +``` + +Blowfish defines a three-colour palette that is used throughout the theme. Each main colour contains ten shades which are based upon the colours that are included in [Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference). + +#### Blowfish (default) +{{< swatches "#64748b" "#3b82f6" "#06b6d4" >}} + +#### Avocado +{{< swatches "#78716c" "#84cc16" "#10b981" >}} + +#### Fire +{{< swatches "#78716c" "#f97316" "#f43f5e" >}} + +#### Forest +{{< swatches "#658c86" "#3bf5df" "#06d45c" >}} + +#### Princess +{{< swatches "#8c658c" "#f53bf2" "#7706d4" >}} + +#### Neon +{{< swatches "#8338ec" "#ff006e" "#3a86ff" >}} + +#### Bloody +{{< swatches "#d90429" "#8d99ae" "#457b9d" >}} + +#### Terminal +{{< swatches "#004b23" "#38b000" "#1a759f" >}} + +#### Marvel +{{< swatches "#2541b2" "#d81159" "#ffbc42" >}} + +#### Noir +{{< swatches "#5c6b73" "#9db4c0" "#00a5cf" >}} + +#### Autumn +{{< swatches "#0a9396" "#ee9b00" "#bb3e03" >}} + +#### Congo +{{< swatches "#71717a" "#8b5cf6" "#d946ef" >}} + +#### Slate +{{< swatches "#6B7280" "#64748b" "#6B7280" >}} + + +Although these are the default schemes, you can also create your own. Refer to the [Advanced Customisation]({{< ref "advanced-customisation#colour-schemes" >}}) section for details. + +## Organising content + +By default, Blowfish doesn't force you to use a particular content type. In doing so you are free to define your content as you wish. You might prefer _pages_ for a static site, _posts_ for a blog, or _projects_ for a portfolio. + +Here's a quick overview of a basic Blowfish project. All content is placed within the `content` folder: + +```shell +. +├── assets +│ └── img +│ └── author.jpg +├── config +│ └── _default +├── content +│ ├── _index.md +│ ├── about.md +│ └── posts +│ ├── _index.md +│ ├── first-post.md +│ └── another-post +│ ├── aardvark.jpg +│ └── index.md +└── themes + └── blowfish +``` + +It's important to have a firm grasp of how Hugo expects content to be organised as the theme is designed to take full advantage of Hugo page bundles. Be sure to read the [official Hugo docs](https://gohugo.io/content-management/organization/) for more information. + +Blowfish is also flexible when it comes to taxonomies. Some people prefer to use _tags_ and _categories_ to group their content, others prefer to use _topics_. + +Hugo defaults to using posts, tags and categories out of the box and this will work fine if that's what you want. If you wish to customise this, however, you can do so by creating a `taxonomies.toml` configuration file: + +```toml +# config/_default/taxonomies.toml + +topic = "topics" +``` + +This will replace the default _tags_ and _categories_ with _topics_. Refer to the [Hugo Taxonomy docs](https://gohugo.io/content-management/taxonomies/) for more information on naming taxonomies. + +When you create a new taxonomy, you will need to adjust the navigation links on the website to point to the correct sections, which is covered below. + +## Menus + +Blowfish has two menus that can be customised to suit the content and layout of your site. The `main` menu appears in the site header and the `footer` menu appears at the bottom of the page just above the copyright notice. + +Both menus are configured in the `menus.en.toml` file. Similarly to the languages config file, if you wish to use another language, rename this file and replace `en` with the language code you wish to use. + +```toml +# config/_default/menus.toml + +[[main]] + name = "Blog" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Topics" + pageRef = "topics" + weight = 20 + +[[main]] + pre = "github" + name = "GitHub" + url = "https://github.com/nunocoracao/blowfish" + weight = 30 + +[[main]] + identifier = "github2" + pre = "github" + url = "https://github.com/nunocoracao/blowfish" + weight = 40 + +[[footer]] + name = "Privacy" + url = "https://external-link" +``` + +The `name` parameter specifies the text that is used in the menu link. You can also optionally provide a `title` which fills the HTML title attribute for the link. + +The `pageRef` parameter allows you to easily reference Hugo content pages and taxonomies. It is the quickest way to configure the menu as you can simply refer to any Hugo content item and it will automatically build the correct link. To link to external URLs, the `url` parameter can be used. + +The `pre` parameter allows you to place an icon from [Blowfish's icon set]({{< ref "samples/icons" >}}) on the menu entry. This parameter can be used with `name` parameter or by itself. If you want to use multiple menu entries with just icons please set the `identifier`parameter otherwise Hugo will default to the naming tag as the id and probably not display all the menu entries. + +Menu links will be sorted from lowest to highest `weight`, and then alphabetically by `name`. + +Both menus are completely optional and can be commented out if not required. Use the template provided in the file as a guide. + +### Nested menus + +The theme also supports nested menus. In order to use them you just need to define a parent entry in `menu.toml` and its sub-menus using the `parent` parameter to reference the parent. All properties can be used for sub-menus. `pageRef` and `url` can also be used in the parent entry. Nested menus are only available in the main menu not for the footer. + +```toml +# config/_default/menus.toml + +[[main]] + name = "Parent" + weight = 20 + +[[main]] + name = "sub-menu 1" + parent = "Parent" + pageRef = "samples" + weight = 20 + +[[main]] + name = "sub-menu 2" + parent = "Parent" + pageRef = "samples" + weight = 20 + +[[main]] + name = "sub-menu 3" + parent = "Parent" + pre = "github" + pageRef = "samples" + weight = 20 +``` + +### Sub-Navigation menu + +Additionally, you can also configure a sub-navigation menu. Just define new menu entries as `subnavigation` in `menus.toml`. +This will render a second line with sub-categories below the main header menu. + +```toml +# config/_default/menus.toml + +[[subnavigation]] + name = "An interesting topic" + pageRef = "tags/interesting-topic" + weight = 10 + +[[subnavigation]] + name = "My Awesome Category" + pageRef = "categories/awesome" + weight = 20 +``` + +The default `name` is the `pageRef` title cased. + +## Thumbnails & Backgrounds + +Blowfish was built so it would be easy to add visual support to your articles. If your familiar with Hugo article strucutre, you just need to place an image file (almost all formats are supported but we recommend `.png` or `.jpg`) that starts with `feature*` inside your article folder. And that's it, Blowfish will then able to both use the image as a thumbnail within your website as well as for oEmbed cards across social platforms. + +[Here]({{< ref "thumbnails" >}}) is also a guide with more info and a [sample]({{< ref "thumbnail_sample" >}}) if you want to see how you can do it. + +Additionally, Blowfish also supports background hero images in articles and lists. In order to use a different image than the featured one, add an image file in which the name starts with `background*`. + +## Detailed configuration + +The steps above are the bare minimum configuration. If you now run `hugo server` you will be presented with a blank Blowfish website. Detailed configuration is covered in the [Configuration]({{< ref "configuration" >}}) section. diff --git a/themes/blowfish/exampleSite/content/docs/homepage-layout/featured.png b/themes/blowfish/exampleSite/content/docs/homepage-layout/featured.png new file mode 100644 index 0000000..99ba13f Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/homepage-layout/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-background.png b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-background.png new file mode 100644 index 0000000..751fb80 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-background.png differ diff --git a/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-card.png b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-card.png new file mode 100644 index 0000000..f69c006 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-card.png differ diff --git a/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-hero.png b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-hero.png new file mode 100644 index 0000000..a47f4ee Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-hero.png differ diff --git a/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-list.png b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-list.png new file mode 100644 index 0000000..a379d33 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-list.png differ diff --git a/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-page.png b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-page.png new file mode 100644 index 0000000..b2924f6 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-page.png differ diff --git a/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-profile.png b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-profile.png new file mode 100644 index 0000000..b0725f6 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/homepage-layout/img/home-profile.png differ diff --git a/themes/blowfish/exampleSite/content/docs/homepage-layout/index.md b/themes/blowfish/exampleSite/content/docs/homepage-layout/index.md new file mode 100644 index 0000000..d3a3b10 --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/homepage-layout/index.md @@ -0,0 +1,89 @@ +--- +title: "Homepage Layout" +date: 2020-08-13 +draft: false +description: "Configuring the homepage layout in the Blowfish theme." +slug: "homepage-layout" +tags: ["homepage", "layouts", "docs"] +series: ["Documentation"] +series_order: 5 +--- + +Blowfish provides a fully flexible homepage layout. There are two main templates to choose from with additional settings to adjust the design. Alternatively, you can also provide your own template and have complete control over the homepage content. + +The layout of the homepage is controlled by the `homepage.layout` setting in the `params.toml` configuration file. Additionally, all layouts have the option to include a listing of [recent articles](#recent-articles). + +## Profile layout + +The default layout is the profile layout, which is great for personal websites and blogs. It puts the author's details front and centre by providing an image and links to social profiles. + + + +The author information is provided in the languages configuration file. Refer to the [Getting Started]({{< ref "getting-started" >}}) and [Language Configuration]({{< ref "configuration##language-and-i18n" >}}) sections for parameter details. + +Additionally, any Markdown content that is provided in the homepage content will be placed below the author profile. This allows extra flexibility for displaying a bio or other custom content using shortcodes. + +To enable the Profile layout, set `homepage.layout = "profile"` in the `params.toml` configuration file. + +## Page layout + +The page layout is simply a normal content page that displays your Markdown content. It's great for static websites and provides a lot of flexibility. + + + +To enable the Page layout, set `homepage.layout = "page"` in the `params.toml` configuration file. + +## Hero layout + +The hero layout brings together ideas from the profile and card layouts. This one not only displays information on the author of the site but it also loads your markdown beneath it. + + + +To enable the Hero layout, set `homepage.layout = "hero"` and `homepage.homepageImage` in the `params.toml` configuration file. + +## Background layout + +The background layout is a more smooth version of the hero layout. As in the Hero layout, this one also displays both information on the author of the site and loads your markdown beneath it. + + + +To enable the Background layout, set `homepage.layout = "background"` and `homepage.homepageImage` in the `params.toml` configuration file. + +## Card layout + +The card layout is an extension of the page layout. It provides the same level of flexibility by also displaying your markdown content and adds a card image to display visual content. + + + +To enable the Card layout, set `homepage.layout = "card"` and `homepage.homepageImage` in the `params.toml` configuration file. + + +## Custom layout + +If the built-in homepage layouts aren't sufficient for your needs, you have the option to provide your own custom layout. This allows you to have total control over the page content and essentially gives you a blank slate to work with. + +To enable the Custom layout, set `homepage.layout = "custom"` in the `params.toml` configuration file. + +With the configuration value set, create a new `custom.html` file and place it in `layouts/partials/home/custom.html`. Now whatever is in the `custom.html` file will be placed in the content area of the site homepage. You may use whatever HTML, Tailwind, or Hugo templating functions you wish to define your layout. + +To include [recent articles](#recent-articles) on the custom layout, use the `recent-articles/main.html` partial. + +As an example, the [homepage]({{< ref "/" >}}) on this site uses the custom layout to allow toggling between the profile and page layouts. Visit the [GitHub repo](https://github.com/nunocoracao/blowfish/blob/main/exampleSite/layouts/partials/home/custom.html) to see how it works. + +## Recent articles + +All homepage layouts have the option of displaying recent articles below the main page content. To enable this, simply set the `homepage.showRecent` setting to `true` in the `params.toml` configuration file. + + + +The articles listed in this section are derived from the `mainSections` setting which allows for whatever content types you are using on your website. For instance, if you had content sections for _posts_ and _projects_ you could set this setting to `["posts", "projects"]` and all the articles in these two sections would be used to populate the recent list. The theme expects this setting to be an array so if you only use one section for all your content, you should set this accordingly: `["blog"]`. + +## Thumbnails + +Blowfish was built so it would be easy to add visual support to your articles. If your familiar with Hugo article strucutre, you just need to place an image file (almost all formats are supported bue we recommend `.png` or `.jpg`) that starts with `feature*` inside your article folder. And that's it, Blowfish will then able to both use the image as a thumbnail within your website as well as for oEmbed cards across social platforms. + +[Here]({{< ref "thumbnails" >}}) is a guide with more info and a [sample]({{< ref "thumbnail_sample" >}}) if you want to see an example. + +## Card Gallery + +Blowfish also supports displaying the standard lists of articles as card galleries. You can config this both for the recent section in the homepage and for lists of articles across your website. For homepage you can use `homepage.cardView` and `homepage.cardViewScreenWidth`; and for lists use `list.cardView` and `list.cardViewScreenWidth`. Check the [Configuration docs]({{< ref "configuration" >}}) for more details, and the homepage for a live demo. diff --git a/themes/blowfish/exampleSite/content/docs/hosting-deployment/featured.png b/themes/blowfish/exampleSite/content/docs/hosting-deployment/featured.png new file mode 100644 index 0000000..e21c31f Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/hosting-deployment/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/hosting-deployment/github-pages-source.jpg b/themes/blowfish/exampleSite/content/docs/hosting-deployment/github-pages-source.jpg new file mode 100644 index 0000000..5f24cf8 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/hosting-deployment/github-pages-source.jpg differ diff --git a/themes/blowfish/exampleSite/content/docs/hosting-deployment/index.md b/themes/blowfish/exampleSite/content/docs/hosting-deployment/index.md new file mode 100644 index 0000000..8caa2e2 --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/hosting-deployment/index.md @@ -0,0 +1,148 @@ +--- +title: "Hosting & Deployment" +date: 2020-08-07 +draft: false +description: "Learn how to deploy a Blowfish site." +slug: "hosting-deployment" +tags: ["docs", "hosting", "deployment", "github", "netlify", "render"] +series: ["Documentation"] +series_order: 14 +--- + +There are many ways to deploy your Hugo website built with Blowfish. The theme is designed to be flexible in almost any deployment scenario. + +Blowfish is built using relative URLs throughout the theme. This enables sites to easily be deployed to sub-folders and hosts like GitHub Pages. There's usually no special configuration required for this to work as long as the `baseURL` parameter has been configured in the `config.toml` file. + +The official Hugo [Hosting and Deployment](https://gohugo.io/hosting-and-deployment/) docs are the best place to learn how to deploy your site. The sections below contain some specific theme configuration details that can help you deploy smoothly with certain providers. + +**Choose your provider:** + +- [GitHub Pages](#github-pages) +- [Netlify](#netlify) +- [Render](#render) +- [Cloudflare Pages](#cloudflare-pages) +- [Shared hosting, VPS or private web server](#shared-hosting-vps-or-private-web-server) + +--- + +## GitHub Pages + +GitHub allows hosting on [GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages) using Actions. To enable this functionality, enable Pages on your repo and create a new Actions workflow to build and deploy your site. + +The file needs to be in YAML format, placed within the `.github/workflows/` directory of your GitHub repository and named with a `.yml` extension. + +{{< alert >}} +**Important:** Ensure you set the correct branch name under `branches` and in the deploy step `if` parameter to the source branch used in your project. +{{< /alert >}} + +```yaml +# .github/workflows/gh-pages.yml + +name: GitHub Pages + +on: + push: + branches: + - main + +jobs: + build-deploy: + runs-on: ubuntu-20.04 + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + fetch-depth: 0 + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: "latest" + + - name: Build + run: hugo --minify + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.ref == 'refs/heads/main' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_branch: gh-pages + publish_dir: ./public +``` + +Push the config file to GitHub and the action should automatically run. It may fail the first time and you'll need to visit the **Settings > Pages** section of your GitHub repo to check the source is correct. It should be set to use the `gh-pages` branch. + +{{< screenshot src="github-pages-source.jpg" alt="Screen capture of GitHub Pages source" >}} + +Once the settings are configured, re-run the action and the site should build and deploy correctly. You can consult the actions log to check everything deployed successfully. + +## Netlify + +To deploy to [Netlify](https://www.netlify.com), create a new continuous deployment site and link it to your source code. The build settings can be left blank in the Netlify UI. You will only need to configure the domain you'll be using. + +{{< screenshot src="netlify-build-settings.jpg" alt="Screen capture of Netlify build settings" >}} + +Then in the root of your site repository, create a `netlify.toml` file: + +```toml +# netlify.toml + +[build] + command = "hugo mod get -u && hugo --gc --minify -b $URL" + publish = "public" + +[build.environment] + NODE_ENV = "production" + GO_VERSION = "1.16" + TZ = "UTC" # Set to preferred timezone + +[context.production.environment] + HUGO_VERSION = "0.104.1" + HUGO_ENV = "production" + +[context.deploy-preview.environment] + HUGO_VERSION = "0.104.1" +``` + +This configuration assumes you are deploying Blowfish as a Hugo module. If you have installed the theme using another method, change the build command to simply `hugo --gc --minify -b $URL`. + +When you push the config file to your repo, Netlify should automatically deploy your site. You can check the deploy logs in the Netlify UI to check for any errors. + +## Render + +Deploying to [Render](https://render.com) is very straightforward and all configuration is via the Render UI. + +Create a new **Static Site** and link it to your project's code repository. Then simply configure the build command to be `hugo --gc --minify` and publish directory to be `public`. + +{{< screenshot src="render-settings.jpg" alt="Screen capture of Render settings" >}} + +The site will automatically build and deploy whenever you push a change to your repo. + +## Cloudflare Pages + +Cloudflare offers the [Pages](https://pages.cloudflare.com/) service that can host Hugo blogs. It builds the site from a git repository and then hosts it on Cloudflare's CDN. Follow their [Hugo deployment guide](https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site) to get started. + +The Rocket Loader™ feature offered by Cloudflare tries to speed up rendering of web pages with JavaScript, but it breaks the appearance switcher in the theme. It can also cause an annoying light/dark screen flash when browsing your site due to scripts loading in the wrong order. + +This problem can be fixed by disabling it: + +- Go to the [Cloudflare dashboard](https://dash.cloudflare.com) +- Click on your domain name in the list +- Click _Optimization_ in the _Speed_ section +- Scroll down to _Rocket Loader™_ and disable it + +Hugo sites built with Blowfish still load very quickly, even with this feature disabled. + +## Shared hosting, VPS or private web server + +Using traditional web hosting, or deploying to your own web server, is as simple as building your Hugo site and transferring the files to your host. + +Make sure that the `baseURL` parameter in `config.toml` is set to the full URL to the root of your website (including any sub domains or sub-folders). + +Then build your site using `hugo` and copy the contents of the output directory to the root of your web server and you will be ready to go. By default, the output directory is named `public`. + +_If you need a hosting provider, check out [Vultr](https://www.vultr.com/?ref=8957394-8H) or [DigitalOcean](https://m.do.co/c/36841235e565). Signing up using these affiliate links will give you up to $100 in free credit so you can try the service._ diff --git a/themes/blowfish/exampleSite/content/docs/hosting-deployment/netlify-build-settings.jpg b/themes/blowfish/exampleSite/content/docs/hosting-deployment/netlify-build-settings.jpg new file mode 100644 index 0000000..3805af1 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/hosting-deployment/netlify-build-settings.jpg differ diff --git a/themes/blowfish/exampleSite/content/docs/hosting-deployment/render-settings.jpg b/themes/blowfish/exampleSite/content/docs/hosting-deployment/render-settings.jpg new file mode 100644 index 0000000..cc78184 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/hosting-deployment/render-settings.jpg differ diff --git a/themes/blowfish/exampleSite/content/docs/installation/featured.png b/themes/blowfish/exampleSite/content/docs/installation/featured.png new file mode 100644 index 0000000..63642ff Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/installation/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/installation/index.md b/themes/blowfish/exampleSite/content/docs/installation/index.md new file mode 100644 index 0000000..bf8cf1e --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/installation/index.md @@ -0,0 +1,180 @@ +--- +title: "Installation" +date: 2020-08-16 +draft: false +description: "How to install the Blowfish theme." +slug: "installation" +tags: ["installation", "docs"] +series: ["Documentation"] +series_order: 2 +--- + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed installation instructions can be found below. Instructions for [updating the theme](#installing-updates) are also available. + +## Installation + +These instructions will get you up and running using Hugo and Blowfish from a completely blank state. Most of the dependencies mentioned in this guide can be installed using the package manager of choice for your platform. + +### Install Hugo + +If you haven't used Hugo before, you will need to [install it onto your local machine](https://gohugo.io/getting-started/installing). You can check if it's already installed by running the command `hugo version`. + +{{< alert >}} +Make sure you are using **Hugo version 0.87.0** or later as the theme takes advantage of some of the latest Hugo features. +{{< /alert >}} + +You can find detailed installation instructions for your platform in the [Hugo docs](https://gohugo.io/getting-started/installing). + +### Create a new site + +Run the command `hugo new site mywebsite` to create a new Hugo site in a directory named `mywebsite`. + +Note that you can name the project directory whatever you choose, but the instructions below will assume it's named `mywebsite`. If you use a different name, be sure to substitute it accordingly. + +### Download the Blowfish theme + +There several different ways to install the Blowfish theme into your Hugo website. From easiest to most difficult to install and maintain, they are: + +- [Git submodule](#install-using-git) (recommended) +- [Hugo module](#install-using-hugo) +- [Manual file copy](#install-manually) + +If you're unsure, choose the Git submodule method. + +#### Install using git + +This method is the quickest and easiest for keeping the theme up-to-date. Besides **Hugo** and **Go**, you'll also need to ensure you have **Git** installed on your local machine. + +Change into the directory for your Hugo website (that you created above), initialise a new `git` repository and add Blowfish as a submodule. + +```bash +cd mywebsite +git init +git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish +``` + +Then continue to [set up the theme configuration files](#set-up-theme-configuration-files). + +#### Install using Hugo + +For this method you'll use Hugo to manage your themes. Hugo uses **Go** to initialise and manage modules so you need to ensure you have `go` installed before proceeding. + +1. [Download](https://golang.org/dl/) and install Go. You can check if it's already installed by using the command `go version`. + + {{< alert >}} + Make sure you are using **Go version 1.12** or later as Hugo requires this for modules to work correctly. + {{< /alert >}} + +2. From your Hugo project directory (that you created above), initialise modules for your website: + + ```shell + # If you're managing your project on GitHub + hugo mod init github.com// + + # If you're managing your project locally + hugo mod init my-project + ``` + +3. Add the theme to your configuration by creating a new file `config/_default/module.toml` and adding the following: + + ```toml + [[imports]] + path = "github.com/nunocoracao/blowfish/v2" + ``` + +4. Start your server using `hugo server` and the theme will be downloaded automatically. +5. Continue to [set up the theme configuration files](#set-up-theme-configuration-files). + +#### Install manually + +1. Download the latest release of the theme source code. + + {{< button href="https://github.com/nunocoracao/blowfish/releases/latest" target="_blank" >}}Download from Github{{< /button >}} + +2. Extract the archive, rename the folder to `blowfish` and move it to the `themes/` directory inside your Hugo project's root folder. +3. Continue to [set up the theme configuration files](#set-up-theme-configuration-files). + +### Set up theme configuration files + +In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder. This will ensure you have all the correct theme settings and will enable you to easily customise the theme to your needs. + +{{< alert >}} +**Note:** You should not overwrite the `module.toml` file if one already exists in your project! +{{< /alert >}} + +Depending on how you installed the theme you will find the theme config files in different places: + +- **Hugo Modules:** In the Hugo cache directory, or [download a copy](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/nunocoracao/blowfish/tree/main/config/_default) from GitHub +- **Git submodule or Manual install:** `themes/blowfish/config/_default` + +Once you've copied the files, your config folder should look like this: + +```shell +config/_default/ +├─ config.toml +├─ languages.en.toml +├─ markup.toml +├─ menus.en.toml +├─ module.toml # if you installed using Hugo Modules +└─ params.toml +``` + +{{< alert >}} +**Important:** If you didn't use Hugo Modules to install Blowfish, you must add the line `theme = "blowfish"` to the top of your `config.toml` file. +{{< /alert >}} + +### Next steps + +The basic Blowfish installation is now complete. Continue to the [Getting Started]({{< ref "getting-started" >}}) section to learn more about configuring the theme. + +--- + +## Installing updates + +From time to time there will be [new releases](https://github.com/nunocoracao/blowfish/releases) posted that apply fixes and add new functionality to the theme. In order to take advantage of these changes, you will need to update the theme files on your website. + +How you go about this will depend on the installation method you chose when the theme was originally installed. Instructions for each method can be found below. + +- [Git submodule](#update-using-git) +- [Hugo module](#update-using-hugo) +- [Manual file copy](#update-manually) + +### Update using git + +Git submodules can be updated using the `git` command. Simply execute the following command and the latest version of the theme will be downloaded into your local repository: + +```shell +git submodule update --remote --merge +``` + +Once the submodule has been updated, rebuild your site and check everything works as expected. + +### Update using Hugo + +Hugo makes updating modules super easy. Simply change into your project directory and execute the following command: + +```shell +hugo mod get -u +``` + +Hugo will automatically update any modules that are required for your project. It does this by inspecting your `module.toml` and `go.mod` files. If you have any issues with the update, check to ensure these files are still configured correctly. + +Then simply rebuild your site and check everything works as expected. + +### Update manually + +Updating Blowfish manually requires you to download the latest copy of the theme and replace the old version in your project. + +{{< alert >}} +Note that any local customisations you have made to the theme files will be lost during this process. +{{< /alert >}} + +1. Download the latest release of the theme source code. + + {{< button href="https://github.com/nunocoracao/blowfish/releases/latest" target="_blank" >}}Download from Github{{< /button >}} + +2. Extract the archive, rename the folder to `blowfish` and move it to the `themes/` directory inside your Hugo project's root folder. You will need to overwrite the existing directory to replace all the theme files. + +3. Rebuild your site and check everything works as expected. diff --git a/themes/blowfish/exampleSite/content/docs/multi-author/featured.png b/themes/blowfish/exampleSite/content/docs/multi-author/featured.png new file mode 100644 index 0000000..a5c8545 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/multi-author/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/multi-author/index.md b/themes/blowfish/exampleSite/content/docs/multi-author/index.md new file mode 100644 index 0000000..c1f433f --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/multi-author/index.md @@ -0,0 +1,102 @@ +--- +title: "Multiple Authors" +date: 2020-08-10 +draft: false +description: "Configure multiple authors for your articles." +slug: "multi-author" +tags: ["authors", "config", "docs"] +series: ["Documentation"] +series_order: 10 +showAuthor: true +authors: + - "nunocoracao" +showAuthorsBadges : false +--- + + +Some websites have more than one author contributing with content and therefore require more than a single default author across the entire website. For those use-cases, Blowfish allows users to extend the list of authors using the multiple authors feature. + +To keep everything backwards compatible, this feature only allows the definition of extra authors and does not change in any way the previous author functionality which is used via config files. + + +## Create Authors + +The first step to create new authors is to set up a new folder in `./data/authors`. Then you can simply add new `json` files inside, one for each new author. The name of the file will be the `key` for that author when referencing it in your articles. + +As an example, let’s create a file called `nunocoracao.json` within `./data/authors`. The contents of the file should be similar to the ones below. `name`, `image`, `bio`, and `social` are the 4 parameters supported right for authors. They mimic the configurations available for the default author in the config files. + +_Note: the key in the social object will be used to fetch one of the theme’s icons, feel free to use any of the icons available in your setup._ + +```json +{ + "name": "Nuno Coração", + "image" : "img/nuno_avatar.jpg", + "bio": "Theme Creator", + "social": [ + { "linkedin": "https://linkedin.com/in/nunocoracao" }, + { "twitter": "https://twitter.com/nunocoracao" }, + { "instagram": "https://instagram.com/nunocoracao" }, + { "medium": "https://medium.com/@nunocoracao" }, + { "github": "https://github.com/nunocoracao" }, + { "goodreads": "http://goodreads.com/nunocoracao" }, + { "keybase": "https://keybase.io/nunocoracao" }, + { "reddit": "https://reddit.com/user/nunoheart" } + ] +} +``` + + +## Reference Authors in Articles + +Now that you created one author, the next step is to reference it in one or more articles. In the example below, we reference the author created in the previous step using its `key`. + +This will render an extra author using the data provided in the `json` file. This feature does not change in any way the default author configured for the overall site, and therefore, you can control both separately. Using the `showAuthor` parameter, you can configure whether to show the default author, that is the normal use-case for a single author blog. The new `authors` front-matter parameter allows you to define authors specifically to an article, and they will be rendered independently of the configurations for the default site author. + +```md +--- +title: "Multiple Authors" +date: 2020-08-10 +draft: false +description: "Configure multiple authors for your articles." +slug: "multi-author" +tags: ["authors", "config", "docs"] +showAuthor: true +authors: + - "nunocoracao" +showAuthorsBadges : false +--- +``` + +In the example, which matches the markdown of the current page, both the default author and the new one will be displayed. You can scroll now to see the outcome. + +## Create the Authors Taxonomy + +To get lists of articles for each of your authors you can configure the `authors` taxonomy, which opens up some more configurations that might be interesting. This is an optional step in the process that is not required to display the authors in your articles. + +First step is to configure the `authors` taxonomy in your `config.toml` file, like in the example below. Even though `tag` and `category` are defined by default with Hugo, once you add a specific taxonomies section you need to add them again otherwise the site will not process them. + +```toml +[taxonomies] + tag = "tags" + category = "categories" + author = "authors" +``` + +And that’s just about it. Now you will have pages that reference your authors and, for each, show the respective list of articles where they participate. You can also use the `article.showAuthorsBadges` on the config file, or `showAuthorsBadges` on each article to chose whether to display the `authors` taxonomy as badges in each post item. As an example, this doc is configured to not display authors but if you look at the sample referenced below you will see the authors displayed as badges. + +Lastly, you can add more detail to each author page so that it displays a little bio, links, or whatever information fits your use-case. To achieve that, create a folder with the `key` to each author inside `./content/authors` and inside each folder place a `_index.md` file. For the example above, we would end up with a `.content/authors/nunocoracao/_index.md` file. Inside, you can configure the actual name of the author and the contents of their page. Authors in this documentation website are configured like this, so you can have a look by playing around with the site. + +```md +--- +title: "Nuno Coração" +--- + +Nuno's awesome dummy bio. + +``` + +## Sample + +This sample sample below shows an example where the default site author is turned off and the article has multiple authors. + +{{< article link="/samples/multiple-authors/" >}} \ No newline at end of file diff --git a/themes/blowfish/exampleSite/content/docs/partials/featured.png b/themes/blowfish/exampleSite/content/docs/partials/featured.png new file mode 100644 index 0000000..1991dc5 Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/partials/featured.png differ diff --git a/themes/blowfish/exampleSite/content/docs/partials/index.md b/themes/blowfish/exampleSite/content/docs/partials/index.md new file mode 100644 index 0000000..4af2a53 --- /dev/null +++ b/themes/blowfish/exampleSite/content/docs/partials/index.md @@ -0,0 +1,102 @@ +--- +title: "Partials" +date: 2020-08-10 +draft: false +description: "All the partials available in Blowfish." +slug: "partials" +tags: ["partials", "analytics", "privacy", "comments", "favicons", "icon", "docs"] +series: ["Documentation"] +series_order: 9 +--- + +## Analytics + +Blowfish provides built-in support for Fathom Analytics and Google Analytics. Fathom is a paid alternative to Google Analytics that respects user privacy. + +### Fathom Analytics + +To enable Fathom Analytics support, simply provide your Fathom site code in the `config/_default/params.toml` file. If you also use the custom domain feature of Fathom and would like to serve their script from your domain, you can also additionally provide the `domain` configuration value. If you don't provide a `domain` value, the script will load directly from Fathom DNS. + +```toml +# config/_default/params.toml + +[fathomAnalytics] + site = "ABC12345" + domain = "llama.yoursite.com" +``` + +### Google Analytics + +Google Analytics support is provided through the internal Hugo partial. Simply provide the `googleAnalytics` key in the `config/_default/config.toml` file and the script will be added automatically. + +Both version 3 (analytics.js) and version 4 (gtag.js) are supported, based on the configuration value provided: + +```toml +# config/_default/config.toml + +# version 3 +googleAnalytics = "UA-PROPERTY_ID" +# version 4 +googleAnalytics = "G-MEASUREMENT_ID" +``` + +### Custom analytics providers + +If you wish to use a different analytics provider on your website you can also override the analytics partial and provide your own script. Simply create the file `layouts/partials/extend-head.html` in your project and it will automatically include it in the `` of the website. + +## Comments + +To add comments to your articles, Blowfish includes support for a comments partial that is included at the base of each article page. Simply provide a `layouts/partials/comments.html` which contains the code required to display your chosen comments. + +You can use either the built-in Hugo Disqus template, or provide your own custom code. Refer to the [Hugo docs](https://gohugo.io/content-management/comments/) for further information. + +Once the partial has been provided, finer control over where comments are displayed is then managed using the `showComments` parameter. This value can be set at the theme level in the `params.toml` [config file]({{< ref "configuration#theme-parameters" >}}), or on a per-article basis by including it in the [front matter]({{< ref "front-matter" >}}). The parameter defaults to `false` so it must be set to `true` in one of these locations in order for comments to be displayed. + +## Favicons + +Blowfish provides a default set of blank favicons to get started but you can provide your own assets to override them. The easiest way to obtain new favicon assets is to generate them using a third-party provider like [favicon.io](https://favicon.io). + +Icon assets should be placed directly in the `static/` folder of your website and named as per the listing below. If you use [favicon.io](https://favicon.io), these will be the filenames that are automatically generated for you, but you can provide your own assets if you wish. + +```shell +static/ +├─ android-chrome-192x192.png +├─ android-chrome-512x512.png +├─ apple-touch-icon.png +├─ favicon-16x16.png +├─ favicon-32x32.png +├─ favicon.ico +└─ site.webmanifest +``` + +Alternatively, you can also completely override the default favicon behaviour and provide your own favicon HTML tags and assets. Simply provide a `layouts/partials/favicons.html` file in your project and this will be injected into the site `` in place of the default assets. + +## Icon + +Similar to the [icon shortcode]({{< ref "shortcodes#icon" >}}), you can include icons in your own templates and partials by using Blowfish's `icon.html` partial. The partial takes one parameter which is the name of the icon to be included. + +**Example:** + +```go + {{ partial "icon.html" "github" }} +``` + +Icons are populated using Hugo pipelines which makes them very flexible. Blowfish includes a number of built-in icons for social, links and other purposes. Check the [icon samples]({{< ref "samples/icons" >}}) page for a full list of supported icons. + +Custom icons can be added by providing your own icon assets in the `assets/icons/` directory of your project. The icon can then be referenced in the partial by using the SVG filename without the `.svg` extension. + +Icons can also be used in article content by calling the [icon shortcode]({{< ref "shortcodes#icon" >}}). + +## Extensions + +Blowfish also provides for a number of extension partials that allow for expanding upon base functionality. + +### Article link + +If you wish to insert additional code after article links, create a `layouts/partials/extend-article-link.html` file. This is especially powerful when combined with the [`badge`]({{< ref "shortcodes#badge" >}}) shortcode which can be used to highlight metadata for certain articles. + +### Head and Footer + +The theme allows for inserting additional code directly into the `` and `